{
    "name": "@goauthentik/web",
    "version": "2026.5.0-rc1",
    "license": "MIT",
    "private": true,
    "scripts": {
        "build": "wireit",
        "build:sfe": "npm run build -w @goauthentik/web-sfe",
        "build-locales": "node scripts/build-locales.mjs",
        "build-proxy": "wireit",
        "bundler:watch": "node scripts/build-web.mjs --watch",
        "extract-locales": "lit-localize extract",
        "format": "wireit",
        "lint": "eslint --fix .",
        "lint:imports": "knip --config scripts/knip.config.ts",
        "lint:lockfile": "wireit",
        "lint:types": "wireit",
        "lint-check": "eslint --max-warnings 0 .",
        "lit-analyse": "wireit",
        "precommit": "wireit",
        "prettier": "prettier --cache --write -u .",
        "prettier-check": "prettier --cache --check -u .",
        "pseudolocalize": "node ./scripts/pseudolocalize.mjs",
        "storybook": "storybook dev -p 6006",
        "storybook:build": "wireit",
        "test": "vitest",
        "test:e2e": "playwright test",
        "tsc": "wireit",
        "watch": "run-s build-locales bundler:watch"
    },
    "type": "module",
    "exports": {
        "./package.json": "./package.json",
        "./styles/*": "./src/styles/*",
        "./elements/*": "./src/elements/*",
        "./common/*": "./src/common/*",
        "./components/*": "./src/components/*",
        "./flow/*": "./src/flow/*",
        "./locales/*": "./src/locales/*",
        "./user/*": "./src/user/*",
        "./admin/*": "./src/admin/*",
        "./*/browser": {
            "types": "./out/*/browser.d.ts",
            "import": "./*/browser.js"
        },
        "./*/node": {
            "types": "./out/*/node.d.ts",
            "import": "./*/node.js"
        },
        "./*": {
            "types": "./out/*/index.d.ts",
            "import": "./*/index.js"
        }
    },
    "imports": {
        "#fonts/*.css": "./fonts/*.css",
        "#styles/*.css": "./src/styles/*.css",
        "#styles/*": "./src/styles/*.js",
        "#common/*": "./src/common/*.js",
        "#elements/*.css": "./src/elements/*.css",
        "#elements/*": "./src/elements/*.js",
        "#components/*.css": "./src/components/*.css",
        "#components/*": "./src/components/*.js",
        "#user/*.css": "./src/user/*.css",
        "#user/*": "./src/user/*.js",
        "#admin/*.css": "./src/admin/*.css",
        "#admin/*": "./src/admin/*.js",
        "#flow/*.css": "./src/flow/*.css",
        "#flow/*": "./src/flow/*.js",
        "#locales/*": "./src/locales/*.js",
        "#stories/*": "./src/stories/*.js",
        "#tests/*": "./tests/*.js",
        "#e2e": "./e2e/index.ts",
        "#e2e/*": "./e2e/*.ts",
        "#types/*": "./types/*/index.d.ts",
        "#*/browser": {
            "types": "./out/*/browser.d.ts",
            "import": "./*/browser.js"
        },
        "#*/node": {
            "types": "./out/*/node.d.ts",
            "import": "./*/node.js"
        },
        "#*": {
            "types": "./out/*/index.d.ts",
            "import": "./*/index.js"
        }
    },
    "dependencies": {
        "@codemirror/lang-css": "^6.3.1",
        "@codemirror/lang-html": "^6.4.11",
        "@codemirror/lang-javascript": "^6.2.5",
        "@codemirror/lang-python": "^6.2.1",
        "@codemirror/lang-xml": "^6.1.0",
        "@codemirror/legacy-modes": "^6.5.2",
        "@codemirror/theme-one-dark": "^6.1.3",
        "@eslint/js": "^9.39.3",
        "@floating-ui/dom": "^1.7.6",
        "@formatjs/intl-listformat": "^8.3.1",
        "@fortawesome/fontawesome-free": "^7.2.0",
        "@goauthentik/api": "^2026.2.0-rc1-1770744803",
        "@goauthentik/core": "^1.0.0",
        "@goauthentik/esbuild-plugin-live-reload": "^1.6.1",
        "@goauthentik/eslint-config": "^1.3.0",
        "@goauthentik/prettier-config": "^3.4.3",
        "@goauthentik/tsconfig": "^1.0.7",
        "@hcaptcha/types": "^1.1.0",
        "@lit/context": "^1.1.6",
        "@lit/localize": "^0.12.2",
        "@lit/localize-tools": "^0.8.1",
        "@lit/reactive-element": "^2.1.2",
        "@lit/task": "^1.0.3",
        "@mdx-js/mdx": "^3.1.1",
        "@mrmarble/djangoql-completion": "^0.8.3",
        "@open-wc/lit-helpers": "^0.7.0",
        "@openlayers-elements/core": "^0.4.0",
        "@openlayers-elements/maps": "^0.4.0",
        "@patternfly/elements": "^4.3.1",
        "@patternfly/patternfly": "^4.224.2",
        "@playwright/test": "^1.58.2",
        "@sentry/browser": "^10.44.0",
        "@storybook/addon-docs": "^10.3.0",
        "@storybook/addon-links": "^10.3.0",
        "@storybook/web-components": "^10.3.0",
        "@storybook/web-components-vite": "^10.3.0",
        "@types/codemirror": "^5.60.17",
        "@types/grecaptcha": "^3.0.9",
        "@types/guacamole-common-js": "^1.5.5",
        "@types/node": "^25.5.0",
        "@types/react": "^19.2.14",
        "@types/react-dom": "^19.2.3",
        "@typescript-eslint/eslint-plugin": "^8.56.1",
        "@typescript-eslint/parser": "^8.56.1",
        "@vitest/browser": "^4.1.0",
        "@vitest/browser-playwright": "^4.0.15",
        "@webcomponents/webcomponentsjs": "^2.8.0",
        "base64-js": "^1.5.1",
        "change-case": "^5.4.4",
        "chart.js": "^4.5.1",
        "chartjs-adapter-date-fns": "^3.0.0",
        "codemirror": "^6.0.2",
        "core-js": "^3.49.0",
        "country-flag-icons": "^1.6.15",
        "date-fns": "^4.1.0",
        "deepmerge-ts": "^7.1.5",
        "dompurify": "^3.3.3",
        "esbuild": "^0.27.4",
        "eslint": "^9.39.3",
        "eslint-plugin-lit": "^2.2.1",
        "eslint-plugin-wc": "^3.1.0",
        "fuse.js": "^7.1.0",
        "globals": "^17.4.0",
        "guacamole-common-js": "^1.5.0",
        "hastscript": "^9.0.1",
        "knip": "^5.88.0",
        "lex": "^2025.11.0",
        "lit": "^3.3.2",
        "lit-analyzer": "^2.0.3",
        "lit-element": "^4.2.2",
        "lit-html": "^3.3.2",
        "md-front-matter": "^1.0.4",
        "mermaid": "^11.13.0",
        "node-domexception": "^2025.11.0",
        "npm-run-all": "^4.1.5",
        "pino": "^10.3.1",
        "pino-pretty": "^13.1.2",
        "playwright": "^1.58.2",
        "prettier": "^3.8.1",
        "prettier-plugin-packagejson": "^3.0.2",
        "pseudolocale": "^2.2.0",
        "rapidoc": "^9.3.8",
        "react": "^19.2.4",
        "react-dom": "^19.2.4",
        "rehype-highlight": "^7.0.2",
        "rehype-mermaid": "^3.0.0",
        "rehype-parse": "^9.0.1",
        "rehype-stringify": "^10.0.1",
        "remark-directive": "^4.0.0",
        "remark-frontmatter": "^5.0.0",
        "remark-gfm": "^4.0.1",
        "remark-mdx-frontmatter": "^5.2.0",
        "storybook": "^10.2.1",
        "style-mod": "^4.1.3",
        "trusted-types": "^2.0.0",
        "ts-pattern": "^5.9.0",
        "turnstile-types": "^1.2.3",
        "type-fest": "^5.4.4",
        "typescript": "^5.9.3",
        "typescript-eslint": "^8.56.1",
        "unist-util-visit": "^5.1.0",
        "vite": "^7.3.1",
        "vitest": "^4.0.15",
        "webcomponent-qr-code": "^1.3.0",
        "wireit": "^0.14.12",
        "yaml": "^2.8.2"
    },
    "optionalDependencies": {
        "@esbuild/darwin-arm64": "^0.27.3",
        "@esbuild/linux-arm64": "^0.27.3",
        "@esbuild/linux-x64": "^0.27.3",
        "@rollup/rollup-darwin-arm64": "^4.57.1",
        "@rollup/rollup-linux-arm64-gnu": "^4.57.1",
        "@rollup/rollup-linux-x64-gnu": "^4.57.1",
        "chromedriver": "^146.0.4"
    },
    "workspaces": [
        "./packages/*"
    ],
    "wireit": {
        "build": {
            "#comment": [
                "`npm run build` and `npm run watch` are the most common ",
                "commands you should be using when working on the front end",
                "The files and output spec here expect you to use `npm run build --watch` ",
                "instead of `npm run watch`. The former is more comprehensive, but ",
                "the latter is faster."
            ],
            "command": "${NODE_RUNNER} scripts/build-web.mjs",
            "files": [
                "src/**/*.{css,jpg,png,ts,js,json}",
                "!src/**/*.stories.ts",
                "!src/**/*.tests.ts",
                "!src/locales/*.ts",
                "!src/locale-codes.ts",
                "icons/**/*"
            ],
            "output": [
                "./dist/admin/**",
                "./dist/user/**",
                "./dist/flow/**",
                "./dist/standalone/api-browser/**",
                "./dist/standalone/loading/**",
                "./dist/enterprise/**",
                "./dist/poly-*.js",
                "./dist/poly-*.js.map",
                "./dist/styles/**"
            ],
            "dependencies": [
                "build-locales"
            ],
            "env": {
                "NODE_RUNNER": {
                    "external": true,
                    "default": "node"
                }
            }
        },
        "build-proxy": {
            "command": "node scripts/build-web.mjs --proxy",
            "dependencies": [
                "build-locales"
            ]
        },
        "locales:repair": {
            "command": "prettier --write ./src/locale-codes.ts"
        },
        "lint:components": {
            "command": "lit-analyzer src"
        },
        "lint:types": {
            "command": "tsc -p .",
            "env": {
                "NODE_OPTIONS": "--max_old_space_size=8192"
            },
            "dependencies": [
                "build-locales"
            ]
        },
        "lint:lockfile": {
            "__comment": "The lockfile-lint package does not have an option to ensure resolved hashes are set everywhere",
            "shell": true,
            "command": "sh ./scripts/lint-lockfile.sh package-lock.json"
        },
        "lit-analyse": {
            "command": "lit-analyzer src"
        },
        "precommit": {
            "command": "prettier --write .",
            "dependencies": [
                "lint",
                "lint:types",
                "lint:components",
                "lint:lockfile"
            ]
        },
        "storybook:build": {
            "command": "storybook build",
            "env": {
                "NODE_OPTIONS": "--max_old_space_size=8192"
            }
        },
        "tsc": {
            "command": "tsc -p .",
            "env": {
                "NODE_OPTIONS": "--max_old_space_size=8192"
            },
            "dependencies": [
                "build-locales"
            ]
        }
    },
    "engines": {
        "node": ">=24",
        "npm": ">=11.6.2"
    },
    "devEngines": {
        "runtime": {
            "name": "node",
            "onFail": "warn",
            "version": ">=24"
        },
        "packageManager": {
            "name": "npm",
            "version": "11.10.1",
            "onFail": "warn"
        }
    },
    "prettier": "@goauthentik/prettier-config",
    "overrides": {
        "@goauthentik/esbuild-plugin-live-reload": {
            "esbuild": "$esbuild"
        },
        "@goauthentik/prettier-config": {
            "prettier": "$prettier",
            "prettier-plugin-packagejson": "$prettier-plugin-packagejson"
        },
        "@mrmarble/djangoql-completion": {
            "lex": "$lex"
        },
        "format-imports": {
            "eslint": "$eslint"
        },
        "node-fetch-commonjs": {
            "node-domexception": "$node-domexception"
        },
        "rapidoc": {
            "@apitools/openapi-parser": "0.0.37"
        }
    }
}
