core: bump library/node from 22 to 24 (#14410)
* core: bump library/node from 22 to 24 Bumps library/node from 22 to 24. --- updated-dependencies: - dependency-name: library/node dependency-version: '24' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * update docs Signed-off-by: Jens Langhammer <jens@goauthentik.io> * fix linux esbuild Signed-off-by: Jens Langhammer <jens@goauthentik.io> * remove lockfile-lint package as SFE doesnt have a package lock and we have a script for the main lock Signed-off-by: Jens Langhammer <jens@goauthentik.io> * update dependabot Signed-off-by: Jens Langhammer <jens@goauthentik.io> * format Signed-off-by: Jens Langhammer <jens@goauthentik.io> * bump fido Signed-off-by: Jens Langhammer <jens@goauthentik.io> --------- Signed-off-by: dependabot[bot] <support@github.com> Signed-off-by: Jens Langhammer <jens@goauthentik.io> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
		
							
								
								
									
										8
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										8
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							@ -23,7 +23,13 @@ updates:
 | 
			
		||||
  - package-ecosystem: npm
 | 
			
		||||
    directories:
 | 
			
		||||
      - "/web"
 | 
			
		||||
      - "/web/sfe"
 | 
			
		||||
      - "/web/packages/sfe"
 | 
			
		||||
      - "/web/packages/core"
 | 
			
		||||
      - "/web/packages/esbuild-plugin-live-reload"
 | 
			
		||||
      - "/packages/prettier-config"
 | 
			
		||||
      - "/packages/tsconfig"
 | 
			
		||||
      - "/packages/docusaurus-config"
 | 
			
		||||
      - "/packages/eslint-config"
 | 
			
		||||
    schedule:
 | 
			
		||||
      interval: daily
 | 
			
		||||
      time: "04:00"
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
# syntax=docker/dockerfile:1
 | 
			
		||||
 | 
			
		||||
# Stage 1: Build website
 | 
			
		||||
FROM --platform=${BUILDPLATFORM} docker.io/library/node:22 AS website-builder
 | 
			
		||||
FROM --platform=${BUILDPLATFORM} docker.io/library/node:24 AS website-builder
 | 
			
		||||
 | 
			
		||||
ENV NODE_ENV=production
 | 
			
		||||
 | 
			
		||||
@ -20,7 +20,7 @@ COPY ./SECURITY.md /work/
 | 
			
		||||
RUN npm run build-bundled
 | 
			
		||||
 | 
			
		||||
# Stage 2: Build webui
 | 
			
		||||
FROM --platform=${BUILDPLATFORM} docker.io/library/node:22 AS web-builder
 | 
			
		||||
FROM --platform=${BUILDPLATFORM} docker.io/library/node:24 AS web-builder
 | 
			
		||||
 | 
			
		||||
ARG GIT_BUILD_HASH
 | 
			
		||||
ENV GIT_BUILD_HASH=$GIT_BUILD_HASH
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										4
									
								
								package-lock.json
									
									
									
										generated
									
									
									
								
							@ -1,12 +1,12 @@
 | 
			
		||||
{
 | 
			
		||||
    "name": "@goauthentik/authentik",
 | 
			
		||||
    "version": "2025.4.0",
 | 
			
		||||
    "version": "2025.4.1",
 | 
			
		||||
    "lockfileVersion": 3,
 | 
			
		||||
    "requires": true,
 | 
			
		||||
    "packages": {
 | 
			
		||||
        "": {
 | 
			
		||||
            "name": "@goauthentik/authentik",
 | 
			
		||||
            "version": "2025.4.0",
 | 
			
		||||
            "version": "2025.4.1",
 | 
			
		||||
            "devDependencies": {
 | 
			
		||||
                "@trivago/prettier-plugin-sort-imports": "^5.2.2",
 | 
			
		||||
                "prettier": "^3.3.3",
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
# syntax=docker/dockerfile:1
 | 
			
		||||
 | 
			
		||||
# Stage 1: Build web
 | 
			
		||||
FROM --platform=${BUILDPLATFORM} docker.io/library/node:22 AS web-builder
 | 
			
		||||
FROM --platform=${BUILDPLATFORM} docker.io/library/node:24 AS web-builder
 | 
			
		||||
 | 
			
		||||
ENV NODE_ENV=production
 | 
			
		||||
WORKDIR /static
 | 
			
		||||
 | 
			
		||||
@ -31,7 +31,7 @@ dependencies = [
 | 
			
		||||
    "drf-spectacular==0.28.0",
 | 
			
		||||
    "dumb-init==1.2.5.post1",
 | 
			
		||||
    "duo-client==5.5.0",
 | 
			
		||||
    "fido2==1.2.0",
 | 
			
		||||
    "fido2==2.0.0",
 | 
			
		||||
    "flower==2.0.1",
 | 
			
		||||
    "geoip2==5.1.0",
 | 
			
		||||
    "geopy==2.4.1",
 | 
			
		||||
@ -115,7 +115,7 @@ no-binary-package = [
 | 
			
		||||
 | 
			
		||||
[tool.uv.sources]
 | 
			
		||||
django-tenants = { git = "https://github.com/rissson/django-tenants.git", branch = "authentik-fixes" }
 | 
			
		||||
opencontainers = { git = "https://github.com/BeryJu/oci-python", rev = "c791b19056769cd67957322806809ab70f5bead8" }
 | 
			
		||||
opencontainers = { git = "https://github.com/vsoch/oci-python", rev = "ceb4fcc090851717a3069d78e85ceb1e86c2740c" }
 | 
			
		||||
djangorestframework = { git = "https://github.com/authentik-community/django-rest-framework", rev = "896722bab969fabc74a08b827da59409cf9f1a4e" }
 | 
			
		||||
 | 
			
		||||
[project.scripts]
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										12
									
								
								uv.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										12
									
								
								uv.lock
									
									
									
										generated
									
									
									
								
							@ -291,7 +291,7 @@ requires-dist = [
 | 
			
		||||
    { name = "drf-spectacular", specifier = "==0.28.0" },
 | 
			
		||||
    { name = "dumb-init", specifier = "==1.2.5.post1" },
 | 
			
		||||
    { name = "duo-client", specifier = "==5.5.0" },
 | 
			
		||||
    { name = "fido2", specifier = "==1.2.0" },
 | 
			
		||||
    { name = "fido2", specifier = "==2.0.0" },
 | 
			
		||||
    { name = "flower", specifier = "==2.0.1" },
 | 
			
		||||
    { name = "geoip2", specifier = "==5.1.0" },
 | 
			
		||||
    { name = "geopy", specifier = "==2.4.1" },
 | 
			
		||||
@ -304,7 +304,7 @@ requires-dist = [
 | 
			
		||||
    { name = "ldap3", specifier = "==2.9.1" },
 | 
			
		||||
    { name = "lxml", specifier = "==5.4.0" },
 | 
			
		||||
    { name = "msgraph-sdk", specifier = "==1.30.0" },
 | 
			
		||||
    { name = "opencontainers", git = "https://github.com/BeryJu/oci-python?rev=c791b19056769cd67957322806809ab70f5bead8" },
 | 
			
		||||
    { name = "opencontainers", git = "https://github.com/vsoch/oci-python?rev=ceb4fcc090851717a3069d78e85ceb1e86c2740c" },
 | 
			
		||||
    { name = "packaging", specifier = "==25.0" },
 | 
			
		||||
    { name = "paramiko", specifier = "==3.5.1" },
 | 
			
		||||
    { name = "psycopg", extras = ["c", "pool"], specifier = "==3.2.9" },
 | 
			
		||||
@ -1262,14 +1262,14 @@ wheels = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "fido2"
 | 
			
		||||
version = "1.2.0"
 | 
			
		||||
version = "2.0.0"
 | 
			
		||||
source = { registry = "https://pypi.org/simple" }
 | 
			
		||||
dependencies = [
 | 
			
		||||
    { name = "cryptography" },
 | 
			
		||||
]
 | 
			
		||||
sdist = { url = "https://files.pythonhosted.org/packages/eb/cc/4529123364d41f342145f2fd775307eaed817cd22810895dea10e15a4d06/fido2-1.2.0.tar.gz", hash = "sha256:e39f95920122d64283fda5e5581d95a206e704fa42846bfa4662f86aa0d3333b", size = 266369, upload-time = "2024-11-27T09:08:21.071Z" }
 | 
			
		||||
sdist = { url = "https://files.pythonhosted.org/packages/8d/b9/6ec8d8ec5715efc6ae39e8694bd48d57c189906f0628558f56688d0447b2/fido2-2.0.0.tar.gz", hash = "sha256:3061cd05e73b3a0ef6afc3b803d57c826aa2d6a9732d16abd7277361f58e7964", size = 274942, upload-time = "2025-05-20T09:45:00.974Z" }
 | 
			
		||||
wheels = [
 | 
			
		||||
    { url = "https://files.pythonhosted.org/packages/4c/48/e9b99d66f27d3416a619324568739fd6603e093b2f79138d6f47ccf727b6/fido2-1.2.0-py3-none-any.whl", hash = "sha256:f7c8ee62e359aa980a45773f9493965bb29ede1b237a9218169dbfe60c80e130", size = 219418, upload-time = "2024-11-27T09:08:18.932Z" },
 | 
			
		||||
    { url = "https://files.pythonhosted.org/packages/4c/7d/a1dba174d7ec4b6b8d6360eed0ac3a4a4e2aa45f234e903592d3184c6c3f/fido2-2.0.0-py3-none-any.whl", hash = "sha256:685f54a50a57e019c6156e2dd699802a603e3abf70bab334f26affdd4fb8d4f7", size = 224761, upload-time = "2025-05-20T09:44:59.029Z" },
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@ -2153,7 +2153,7 @@ wheels = [
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "opencontainers"
 | 
			
		||||
version = "0.0.14"
 | 
			
		||||
source = { git = "https://github.com/BeryJu/oci-python?rev=c791b19056769cd67957322806809ab70f5bead8#c791b19056769cd67957322806809ab70f5bead8" }
 | 
			
		||||
source = { git = "https://github.com/vsoch/oci-python?rev=ceb4fcc090851717a3069d78e85ceb1e86c2740c#ceb4fcc090851717a3069d78e85ceb1e86c2740c" }
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "opentelemetry-api"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										175
									
								
								web/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										175
									
								
								web/package-lock.json
									
									
									
										generated
									
									
									
								
							@ -132,8 +132,8 @@
 | 
			
		||||
            },
 | 
			
		||||
            "optionalDependencies": {
 | 
			
		||||
                "@esbuild/darwin-arm64": "^0.24.0",
 | 
			
		||||
                "@esbuild/linux-amd64": "^0.18.11",
 | 
			
		||||
                "@esbuild/linux-arm64": "^0.24.0",
 | 
			
		||||
                "@esbuild/linux-x64": "^0.24.0",
 | 
			
		||||
                "@rollup/rollup-darwin-arm64": "4.23.0",
 | 
			
		||||
                "@rollup/rollup-linux-arm64-gnu": "4.23.0",
 | 
			
		||||
                "@rollup/rollup-linux-x64-gnu": "4.23.0"
 | 
			
		||||
@ -1232,13 +1232,12 @@
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@esbuild/linux-x64": {
 | 
			
		||||
            "version": "0.25.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz",
 | 
			
		||||
            "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==",
 | 
			
		||||
            "version": "0.24.2",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz",
 | 
			
		||||
            "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==",
 | 
			
		||||
            "cpu": [
 | 
			
		||||
                "x64"
 | 
			
		||||
            ],
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "MIT",
 | 
			
		||||
            "optional": true,
 | 
			
		||||
            "os": [
 | 
			
		||||
@ -7783,47 +7782,6 @@
 | 
			
		||||
                "node": ">=10.0.0"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@yarnpkg/parsers": {
 | 
			
		||||
            "version": "3.0.2",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.2.tgz",
 | 
			
		||||
            "integrity": "sha512-/HcYgtUSiJiot/XWGLOlGxPYUG65+/31V8oqk17vZLW1xlCoR4PampyePljOxY2n8/3jz9+tIFzICsyGujJZoA==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "js-yaml": "^3.10.0",
 | 
			
		||||
                "tslib": "^2.4.0"
 | 
			
		||||
            },
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=18.12.0"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@yarnpkg/parsers/node_modules/argparse": {
 | 
			
		||||
            "version": "1.0.10",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
 | 
			
		||||
            "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "sprintf-js": "~1.0.2"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@yarnpkg/parsers/node_modules/js-yaml": {
 | 
			
		||||
            "version": "3.14.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
 | 
			
		||||
            "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "argparse": "^1.0.7",
 | 
			
		||||
                "esprima": "^4.0.0"
 | 
			
		||||
            },
 | 
			
		||||
            "bin": {
 | 
			
		||||
                "js-yaml": "bin/js-yaml.js"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@yarnpkg/parsers/node_modules/sprintf-js": {
 | 
			
		||||
            "version": "1.0.3",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
 | 
			
		||||
            "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
 | 
			
		||||
            "dev": true
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/@zip.js/zip.js": {
 | 
			
		||||
            "version": "2.7.52",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.52.tgz",
 | 
			
		||||
@ -9714,32 +9672,6 @@
 | 
			
		||||
                "layout-base": "^1.0.0"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/cosmiconfig": {
 | 
			
		||||
            "version": "9.0.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz",
 | 
			
		||||
            "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "env-paths": "^2.2.1",
 | 
			
		||||
                "import-fresh": "^3.3.0",
 | 
			
		||||
                "js-yaml": "^4.1.0",
 | 
			
		||||
                "parse-json": "^5.2.0"
 | 
			
		||||
            },
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=14"
 | 
			
		||||
            },
 | 
			
		||||
            "funding": {
 | 
			
		||||
                "url": "https://github.com/sponsors/d-fischer"
 | 
			
		||||
            },
 | 
			
		||||
            "peerDependencies": {
 | 
			
		||||
                "typescript": ">=4.9.5"
 | 
			
		||||
            },
 | 
			
		||||
            "peerDependenciesMeta": {
 | 
			
		||||
                "typescript": {
 | 
			
		||||
                    "optional": true
 | 
			
		||||
                }
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/country-flag-icons": {
 | 
			
		||||
            "version": "1.5.13",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/country-flag-icons/-/country-flag-icons-1.5.13.tgz",
 | 
			
		||||
@ -11053,15 +10985,6 @@
 | 
			
		||||
                "url": "https://github.com/fb55/entities?sponsor=1"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/env-paths": {
 | 
			
		||||
            "version": "2.2.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
 | 
			
		||||
            "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=6"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/error-ex": {
 | 
			
		||||
            "version": "1.3.2",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
 | 
			
		||||
@ -11888,6 +11811,23 @@
 | 
			
		||||
                "node": ">=18"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/esbuild/node_modules/@esbuild/linux-x64": {
 | 
			
		||||
            "version": "0.25.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz",
 | 
			
		||||
            "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==",
 | 
			
		||||
            "cpu": [
 | 
			
		||||
                "x64"
 | 
			
		||||
            ],
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "license": "MIT",
 | 
			
		||||
            "optional": true,
 | 
			
		||||
            "os": [
 | 
			
		||||
                "linux"
 | 
			
		||||
            ],
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=18"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/escalade": {
 | 
			
		||||
            "version": "3.2.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
 | 
			
		||||
@ -15332,12 +15272,6 @@
 | 
			
		||||
            "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==",
 | 
			
		||||
            "dev": true
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/json-parse-even-better-errors": {
 | 
			
		||||
            "version": "2.3.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
 | 
			
		||||
            "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
 | 
			
		||||
            "dev": true
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/json-schema-traverse": {
 | 
			
		||||
            "version": "0.4.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
 | 
			
		||||
@ -15682,12 +15616,6 @@
 | 
			
		||||
                "immediate": "~3.0.5"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/lines-and-columns": {
 | 
			
		||||
            "version": "1.2.4",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
 | 
			
		||||
            "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
 | 
			
		||||
            "dev": true
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/lit": {
 | 
			
		||||
            "version": "3.3.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/lit/-/lit-3.3.0.tgz",
 | 
			
		||||
@ -15836,39 +15764,6 @@
 | 
			
		||||
                "url": "https://github.com/sponsors/sindresorhus"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/lockfile-lint": {
 | 
			
		||||
            "version": "4.14.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/lockfile-lint/-/lockfile-lint-4.14.0.tgz",
 | 
			
		||||
            "integrity": "sha512-uyXZ8X4J6EsicG87p0y4SHorJBwABLcaXOpI/j3h8SO/OX4fKTJ6Cqqi+U3zjgU0fo+u/4KbB7fl8ZzTewd0Ow==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "cosmiconfig": "^9.0.0",
 | 
			
		||||
                "debug": "^4.3.4",
 | 
			
		||||
                "fast-glob": "^3.3.2",
 | 
			
		||||
                "lockfile-lint-api": "^5.9.1",
 | 
			
		||||
                "yargs": "^17.7.2"
 | 
			
		||||
            },
 | 
			
		||||
            "bin": {
 | 
			
		||||
                "lockfile-lint": "bin/lockfile-lint.js"
 | 
			
		||||
            },
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=16.0.0"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/lockfile-lint-api": {
 | 
			
		||||
            "version": "5.9.1",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/lockfile-lint-api/-/lockfile-lint-api-5.9.1.tgz",
 | 
			
		||||
            "integrity": "sha512-us5IT1bGA6KXbq1WrhrSzk9mtPgHKz5nhvv3S4hwcYnhcVOKW2uK0W8+PN9oIgv4pI49WsD5wBdTQFTpNChF/Q==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "@yarnpkg/parsers": "^3.0.0-rc.48.1",
 | 
			
		||||
                "debug": "^4.3.4",
 | 
			
		||||
                "object-hash": "^3.0.0"
 | 
			
		||||
            },
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=16.0.0"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/lodash": {
 | 
			
		||||
            "version": "4.17.21",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
 | 
			
		||||
@ -18460,15 +18355,6 @@
 | 
			
		||||
                "node": ">=0.10.0"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/object-hash": {
 | 
			
		||||
            "version": "3.0.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
 | 
			
		||||
            "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">= 6"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/object-inspect": {
 | 
			
		||||
            "version": "1.13.2",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
 | 
			
		||||
@ -18777,24 +18663,6 @@
 | 
			
		||||
            "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==",
 | 
			
		||||
            "license": "MIT"
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/parse-json": {
 | 
			
		||||
            "version": "5.2.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
 | 
			
		||||
            "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
 | 
			
		||||
            "dev": true,
 | 
			
		||||
            "dependencies": {
 | 
			
		||||
                "@babel/code-frame": "^7.0.0",
 | 
			
		||||
                "error-ex": "^1.3.1",
 | 
			
		||||
                "json-parse-even-better-errors": "^2.3.0",
 | 
			
		||||
                "lines-and-columns": "^1.1.6"
 | 
			
		||||
            },
 | 
			
		||||
            "engines": {
 | 
			
		||||
                "node": ">=8"
 | 
			
		||||
            },
 | 
			
		||||
            "funding": {
 | 
			
		||||
                "url": "https://github.com/sponsors/sindresorhus"
 | 
			
		||||
            }
 | 
			
		||||
        },
 | 
			
		||||
        "node_modules/parse-ms": {
 | 
			
		||||
            "version": "4.0.0",
 | 
			
		||||
            "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz",
 | 
			
		||||
@ -24989,7 +24857,6 @@
 | 
			
		||||
                "@swc/core": "^1.7.28",
 | 
			
		||||
                "@trivago/prettier-plugin-sort-imports": "^4.3.0",
 | 
			
		||||
                "@types/jquery": "^3.5.31",
 | 
			
		||||
                "lockfile-lint": "^4.14.0",
 | 
			
		||||
                "prettier": "^3.3.2",
 | 
			
		||||
                "rollup": "^4.23.0",
 | 
			
		||||
                "rollup-plugin-copy": "^3.5.0",
 | 
			
		||||
 | 
			
		||||
@ -200,8 +200,8 @@
 | 
			
		||||
    },
 | 
			
		||||
    "optionalDependencies": {
 | 
			
		||||
        "@esbuild/darwin-arm64": "^0.24.0",
 | 
			
		||||
        "@esbuild/linux-amd64": "^0.18.11",
 | 
			
		||||
        "@esbuild/linux-arm64": "^0.24.0",
 | 
			
		||||
        "@esbuild/linux-x64": "^0.24.0",
 | 
			
		||||
        "@rollup/rollup-darwin-arm64": "4.23.0",
 | 
			
		||||
        "@rollup/rollup-linux-arm64-gnu": "4.23.0",
 | 
			
		||||
        "@rollup/rollup-linux-x64-gnu": "4.23.0"
 | 
			
		||||
 | 
			
		||||
@ -17,7 +17,6 @@
 | 
			
		||||
        "@swc/core": "^1.7.28",
 | 
			
		||||
        "@trivago/prettier-plugin-sort-imports": "^4.3.0",
 | 
			
		||||
        "@types/jquery": "^3.5.31",
 | 
			
		||||
        "lockfile-lint": "^4.14.0",
 | 
			
		||||
        "prettier": "^3.3.2",
 | 
			
		||||
        "rollup": "^4.23.0",
 | 
			
		||||
        "rollup-plugin-copy": "^3.5.0",
 | 
			
		||||
@ -40,7 +39,6 @@
 | 
			
		||||
    "private": true,
 | 
			
		||||
    "scripts": {
 | 
			
		||||
        "build": "wireit",
 | 
			
		||||
        "lint:lockfile": "wireit",
 | 
			
		||||
        "prettier": "prettier --write ./src ./tsconfig.json ./rollup.config.js ./package.json",
 | 
			
		||||
        "watch": "rollup -w -c rollup.config.js --bundleConfigAsCjs"
 | 
			
		||||
    },
 | 
			
		||||
@ -60,9 +58,6 @@
 | 
			
		||||
            "dependencies": [
 | 
			
		||||
                "build:sfe"
 | 
			
		||||
            ]
 | 
			
		||||
        },
 | 
			
		||||
        "lint:lockfile": {
 | 
			
		||||
            "command": "lockfile-lint --path package.json --type npm --allowed-hosts npm --validate-https"
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -22,7 +22,7 @@ Adhering to the following guidelines will help us get your PRs merged much easie
 | 
			
		||||
 | 
			
		||||
Requirements:
 | 
			
		||||
 | 
			
		||||
- Node.js 20 (or greater, we use Node.js 22)
 | 
			
		||||
- Node.js 20 (or greater, we use Node.js 24)
 | 
			
		||||
 | 
			
		||||
The docs and the code are in the same Github repo, at https://github.com/goauthentik/authentik, so if you have cloned the repo, you already have the docs.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -12,14 +12,14 @@ If you're focusing solely on frontend development, you can create a minimal deve
 | 
			
		||||
 | 
			
		||||
### Prerequisites
 | 
			
		||||
 | 
			
		||||
- [Node.js](https://nodejs.org/en) (22 or later)
 | 
			
		||||
- [Node.js](https://nodejs.org/en) (24 or later)
 | 
			
		||||
- [Docker](https://www.docker.com/) (Latest Community Edition or Docker Desktop)
 | 
			
		||||
- [Docker Compose](https://docs.docker.com/compose/) (Compose v2)
 | 
			
		||||
- [Make](https://www.gnu.org/software/make/) (3 or later)
 | 
			
		||||
 | 
			
		||||
:::info
 | 
			
		||||
 | 
			
		||||
Depending on platform, some native dependencies might be required. On macOS, run `brew install node@22`, and for Docker `brew install --cask docker`
 | 
			
		||||
Depending on platform, some native dependencies might be required. On macOS, run `brew install node@24`, and for Docker `brew install --cask docker`
 | 
			
		||||
 | 
			
		||||
:::
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -18,7 +18,7 @@ import Tabs from "@theme/Tabs";
 | 
			
		||||
- [Python](https://www.python.org/) (3.13 or later)
 | 
			
		||||
- [uv](https://docs.astral.sh/uv/getting-started/installation/), (Latest stable release)
 | 
			
		||||
- [Go](https://go.dev/) (1.24 or later)
 | 
			
		||||
- [Node.js](https://nodejs.org/en) (22 or later)
 | 
			
		||||
- [Node.js](https://nodejs.org/en) (24 or later)
 | 
			
		||||
- [PostgreSQL](https://www.postgresql.org/) (16 or later)
 | 
			
		||||
- [Redis](https://redis.io/) (7 or later)
 | 
			
		||||
- [Docker](https://www.docker.com/) (Latest Community Edition or Docker Desktop)
 | 
			
		||||
@ -55,7 +55,7 @@ values={[
 | 
			
		||||
 | 
			
		||||
    ```sh
 | 
			
		||||
    $ brew install libxmlsec1 libpq krb5 pkg-config  # Required development libraries,
 | 
			
		||||
    $ brew install uv postgresql redis node@22 golangci-lint   # Required CLI tools
 | 
			
		||||
    $ brew install uv postgresql redis node@24 golangci-lint   # Required CLI tools
 | 
			
		||||
    ```
 | 
			
		||||
 | 
			
		||||
</TabItem>
 | 
			
		||||
 | 
			
		||||
@ -12,11 +12,11 @@ If you want to only make changes to the website, you only need node.
 | 
			
		||||
 | 
			
		||||
### Prerequisites
 | 
			
		||||
 | 
			
		||||
- Node.js (any recent version should work; we use 22.x to build)
 | 
			
		||||
- Node.js (any recent version should work; we use 24.x to build)
 | 
			
		||||
- Make (again, any recent version should work)
 | 
			
		||||
 | 
			
		||||
:::info
 | 
			
		||||
Depending on platform, some native dependencies might be required. On macOS, run `brew install node@22`
 | 
			
		||||
Depending on platform, some native dependencies might be required. On macOS, run `brew install node@24`
 | 
			
		||||
:::
 | 
			
		||||
 | 
			
		||||
### Instructions
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user