Files
authentik/website/package.json
Teffen Ellis 2c3d11a4c3 core: harden npm install against supply-chain attacks (#22245)
* core: add .npmrc baseline to block dependency lifecycle scripts

Set ignore-scripts=true at the repo root, plus engine-strict, save-exact,
audit, and prefer-offline. This neutralizes the dominant npm supply-chain
attack vector — postinstall scripts in transitive dependencies — at the
cost of requiring an explicit rebuild for the handful of packages that
legitimately need install scripts (esbuild, chromedriver, tree-sitter,
tree-sitter-json). The next commit wires that rebuild into the Makefile.

Co-Authored-By: Playpen Agent <279763771+playpen-agent@users.noreply.github.com>

* core: route node installs through make to retire website preinstall hook

Make docs-install depend on a new root-node-install so the root deps
are guaranteed before the website install runs, removing the need for
the website/preinstall lifecycle script. Rebuild the small audited list
of trusted packages (esbuild, chromedriver, tree-sitter, tree-sitter-json)
after the web install so ignore-scripts=true remains the only path that
needs maintenance. web/README documents the new workflow.

Co-Authored-By: Playpen Agent <279763771+playpen-agent@users.noreply.github.com>

* Clean up install scripts.

* Track .npmrc in CODEOWNERS

---------

Co-authored-by: Playpen Agent <279763771+playpen-agent@users.noreply.github.com>
2026-05-13 12:20:36 +00:00

121 lines
4.2 KiB
JSON

{
"name": "@goauthentik/docs",
"version": "0.0.0",
"license": "MIT",
"private": true,
"scripts": {
"build": "npm run build -w docs",
"build:api": "npm run build -w api",
"build:integrations": "npm run build -w integrations",
"check-types": "tsc -b",
"docusaurus": "docusaurus",
"lint": "eslint --fix .",
"lint:lockfile": "echo 'Skipping lockfile linting'",
"lint-check": "eslint --max-warnings 0 .",
"prettier": "prettier --write .",
"prettier-check": "npm run prettier-prepare && prettier --check .",
"prettier-prepare": "npm ci --prefix ../packages/prettier-config",
"start": "npm start -w docs",
"test": "node --test"
},
"dependencies": {
"@eslint/js": "^9.39.3",
"@goauthentik/eslint-config": "../packages/eslint-config",
"@goauthentik/prettier-config": "../packages/prettier-config",
"@goauthentik/tsconfig": "../packages/tsconfig",
"@types/node": "^25.5.0",
"escape-string-regexp": "^5.0.0",
"eslint": "^9.39.3",
"netlify-plugin-cache": "^1.0.3",
"netlify-redirect-parser": "^14.4.0",
"npm-run-all": "^4.1.5",
"postman-code-generators": "2.1.0",
"prettier": "^3.8.1",
"prettier-plugin-packagejson": "^3.0.2",
"typescript": "^6.0.2",
"typescript-eslint": "^8.57.2"
},
"optionalDependencies": {
"@rspack/binding-darwin-arm64": "2.0.0",
"@rspack/binding-linux-arm64-gnu": "2.0.0",
"@rspack/binding-linux-x64-gnu": "2.0.0",
"@swc/core-darwin-arm64": "1.15.33",
"@swc/core-linux-arm64-gnu": "1.15.33",
"@swc/core-linux-x64-gnu": "1.15.33",
"@swc/html-darwin-arm64": "1.15.33",
"@swc/html-linux-arm64-gnu": "1.15.33",
"@swc/html-linux-x64-gnu": "1.15.33",
"lightningcss-darwin-arm64": "1.32.0",
"lightningcss-linux-arm64-gnu": "1.32.0",
"lightningcss-linux-x64-gnu": "1.32.0"
},
"workspaces": [
"vendored/*",
"docusaurus-theme",
"api",
"integrations",
"docs"
],
"engines": {
"node": ">=24",
"npm": ">=11.10.1"
},
"devEngines": {
"runtime": {
"name": "node",
"onFail": "error",
"version": ">=24"
},
"packageManager": {
"name": "npm",
"version": ">=11.6.2",
"onFail": "warn"
}
},
"packageManager": "npm@11.11.0+sha512.f36811c4aae1fde639527368ae44c571d050006a608d67a191f195a801a52637a312d259186254aa3a3799b05335b7390539cf28656d18f0591a1125ba35f973",
"prettier": "@goauthentik/prettier-config",
"overrides": {
"@goauthentik/api-docs": {
"openapi-to-postmanv2": "^5.0.0",
"postman-collection": "^5.0.2",
"postman-code-generators": {
"detect-package-manager": "file:./vendored/detect-package-manager",
"shelljs": "0.10.0"
},
"docusaurus-theme-openapi-docs": {
"postman-code-generators": {
".": "^2.1.0",
"detect-package-manager": "file:./vendored/detect-package-manager"
}
}
},
"@goauthentik/prettier-config": {
"prettier": "$prettier",
"prettier-plugin-packagejson": "$prettier-plugin-packagejson"
},
"@typescript-eslint/eslint-plugin": {
"typescript": "$typescript"
},
"@typescript-eslint/parser": {
"typescript": "$typescript"
},
"docusaurus-theme-openapi-docs": {
"postman-code-generators": {
".": "^1.10.1",
"detect-package-manager": "file:./vendored/detect-package-manager",
"shelljs": "0.10.0"
}
},
"format-imports": {
"eslint": "$eslint"
},
"postman-code-generators": {
"detect-package-manager": "file:./vendored/detect-package-manager",
"shelljs": "0.10.0"
},
"typescript-eslint": {
"typescript": "$typescript"
}
}
}