mirror of
https://github.com/goauthentik/authentik
synced 2026-04-25 17:15:26 +02:00
website: Docusaurus 3.9.2 (#18506)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
FROM --platform=${BUILDPLATFORM} docker.io/library/node:24-trixie-slim@sha256:45babd1b4ce0349fb12c4e24bf017b90b96d52806db32e001e3013f341bef0fe AS docs-builder
|
||||
FROM --platform=${BUILDPLATFORM} docker.io/library/node:25.2.1-trixie@sha256:7942b337b20b67cd846828242f4e033cc29a83dde0f179b373636f3cbf072ae5 AS docs-builder
|
||||
|
||||
ENV NODE_ENV=production
|
||||
|
||||
@@ -6,6 +6,7 @@ WORKDIR /work/website
|
||||
|
||||
RUN --mount=type=bind,target=/work/website/package.json,src=./website/package.json \
|
||||
--mount=type=bind,target=/work/website/package-lock.json,src=./website/package-lock.json \
|
||||
--mount=type=bind,target=/work/website/vendored/detect-package-manager,src=./website/vendored/detect-package-manager \
|
||||
--mount=type=bind,target=/work/website/docusaurus-theme/package.json,src=./website/docusaurus-theme/package.json \
|
||||
--mount=type=bind,target=/work/website/api/package.json,src=./website/api/package.json \
|
||||
--mount=type=bind,target=/work/website/integrations/package.json,src=./website/integrations/package.json \
|
||||
|
||||
14
website/api/eslint.config.mjs
Normal file
14
website/api/eslint.config.mjs
Normal file
@@ -0,0 +1,14 @@
|
||||
import { createESLintPackageConfig, DefaultIgnorePatterns } from "@goauthentik/eslint-config";
|
||||
|
||||
export default createESLintPackageConfig({
|
||||
parserOptions: {
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
ignorePatterns: [
|
||||
// ---
|
||||
...DefaultIgnorePatterns,
|
||||
"**/.docusaurus/",
|
||||
"**/build",
|
||||
"**/reference",
|
||||
],
|
||||
});
|
||||
@@ -20,15 +20,15 @@
|
||||
"#reference/sidebar": "./reference/sidebar.ts"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^3.8.1",
|
||||
"@docusaurus/faster": "^3.8.1",
|
||||
"@docusaurus/module-type-aliases": "^3.8.1",
|
||||
"@docusaurus/plugin-client-redirects": "^3.8.1",
|
||||
"@docusaurus/plugin-content-docs": "^3.8.1",
|
||||
"@docusaurus/preset-classic": "^3.8.1",
|
||||
"@docusaurus/theme-common": "^3.8.1",
|
||||
"@docusaurus/tsconfig": "^3.8.1",
|
||||
"@docusaurus/types": "^3.8.1",
|
||||
"@docusaurus/core": "^3.9.2",
|
||||
"@docusaurus/faster": "^3.9.2",
|
||||
"@docusaurus/module-type-aliases": "^3.9.2",
|
||||
"@docusaurus/plugin-client-redirects": "^3.9.2",
|
||||
"@docusaurus/plugin-content-docs": "^3.9.2",
|
||||
"@docusaurus/preset-classic": "^3.9.2",
|
||||
"@docusaurus/theme-common": "^3.9.2",
|
||||
"@docusaurus/tsconfig": "^3.9.2",
|
||||
"@docusaurus/types": "^3.9.2",
|
||||
"@goauthentik/docusaurus-config": "^2.2.2",
|
||||
"@goauthentik/docusaurus-theme": "*",
|
||||
"@goauthentik/tsconfig": "^1.0.5",
|
||||
@@ -39,15 +39,18 @@
|
||||
"docusaurus-plugin-openapi-docs": "^4.5.1",
|
||||
"docusaurus-theme-openapi-docs": "^4.5.1",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"openapi-to-postmanv2": "^5.0.0",
|
||||
"postman-code-generators": "^2.1.0",
|
||||
"postman-collection": "^5.0.2",
|
||||
"prism-react-renderer": "^2.4.1",
|
||||
"react": "^19.1.1",
|
||||
"react": "^19.2.0",
|
||||
"react-dom": "^19.2.0",
|
||||
"typescript": "^5.9.3"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rspack/binding-darwin-arm64": "1.6.5",
|
||||
"@rspack/binding-linux-arm64-gnu": "1.6.5",
|
||||
"@rspack/binding-linux-x64-gnu": "1.6.5",
|
||||
"@rspack/binding-darwin-arm64": "1.6.6",
|
||||
"@rspack/binding-linux-arm64-gnu": "1.6.6",
|
||||
"@rspack/binding-linux-x64-gnu": "1.6.6",
|
||||
"@swc/core-darwin-arm64": "1.15.3",
|
||||
"@swc/core-linux-arm64-gnu": "1.15.3",
|
||||
"@swc/core-linux-x64-gnu": "1.15.3",
|
||||
@@ -69,10 +72,5 @@
|
||||
"last 1 firefox version",
|
||||
"last 1 safari version"
|
||||
]
|
||||
},
|
||||
"overrides": {
|
||||
"format-imports": {
|
||||
"eslint": "^9.30.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ The Remote Access Control (RAC) provider is a highly flexible feature for access
|
||||
|
||||
For overview information, see the [RAC provider](./index.md) documentation. You can also view our video on YouTube for setting up RAC.
|
||||
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/9wahIBRV6Ts;start=22" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
|
||||
<iframe width="560" height="315" src="https://www.youtube.com/embed/9wahIBRV6Ts;start=22" title="YouTube video player" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowFullScreen></iframe>
|
||||
|
||||
## Overview workflow to create an RAC provider
|
||||
|
||||
|
||||
13
website/docs/eslint.config.mjs
Normal file
13
website/docs/eslint.config.mjs
Normal file
@@ -0,0 +1,13 @@
|
||||
import { createESLintPackageConfig, DefaultIgnorePatterns } from "@goauthentik/eslint-config";
|
||||
|
||||
export default createESLintPackageConfig({
|
||||
parserOptions: {
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
ignorePatterns: [
|
||||
// ---
|
||||
...DefaultIgnorePatterns,
|
||||
"**/.docusaurus/",
|
||||
"**/build",
|
||||
],
|
||||
});
|
||||
@@ -14,21 +14,22 @@
|
||||
"start": "docusaurus start"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^3.8.1",
|
||||
"@docusaurus/module-type-aliases": "^3.8.1",
|
||||
"@docusaurus/preset-classic": "^3.8.1",
|
||||
"@docusaurus/theme-mermaid": "^3.8.1",
|
||||
"@docusaurus/tsconfig": "^3.8.1",
|
||||
"@docusaurus/types": "^3.8.1",
|
||||
"@docusaurus/core": "^3.9.2",
|
||||
"@docusaurus/module-type-aliases": "^3.9.2",
|
||||
"@docusaurus/preset-classic": "^3.9.2",
|
||||
"@docusaurus/theme-mermaid": "^3.9.2",
|
||||
"@docusaurus/tsconfig": "^3.9.2",
|
||||
"@docusaurus/types": "^3.9.2",
|
||||
"@goauthentik/docusaurus-config": "^2.2.2",
|
||||
"@goauthentik/docusaurus-theme": "*",
|
||||
"@mdx-js/react": "^3.1.1",
|
||||
"@types/react": "^19.2.7",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"prism-react-renderer": "^2.3.0",
|
||||
"react": "^19.1.1",
|
||||
"prism-react-renderer": "^2.4.1",
|
||||
"react": "^19.2.0",
|
||||
"react-before-after-slider-component": "^1.1.8",
|
||||
"react-dom": "^19.2.0",
|
||||
"typescript": "^5.9.3",
|
||||
"unist-util-visit": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
|
||||
12
website/docusaurus-theme/eslint.config.mjs
Normal file
12
website/docusaurus-theme/eslint.config.mjs
Normal file
@@ -0,0 +1,12 @@
|
||||
import { createESLintPackageConfig, DefaultIgnorePatterns } from "@goauthentik/eslint-config";
|
||||
|
||||
export default createESLintPackageConfig({
|
||||
parserOptions: {
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
ignorePatterns: [
|
||||
// ---
|
||||
...DefaultIgnorePatterns,
|
||||
"**/.docusaurus/",
|
||||
],
|
||||
});
|
||||
@@ -26,7 +26,7 @@
|
||||
"#theme/*": "./theme/*"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/preset-classic": "^3.8.1",
|
||||
"@docusaurus/preset-classic": "^3.9.2",
|
||||
"@goauthentik/docusaurus-config": "^2.2.2",
|
||||
"@types/semver": "^7.7.1",
|
||||
"clsx": "^2.1.1",
|
||||
|
||||
@@ -49,8 +49,6 @@ async function akReleasesPlugin(loadContext, options) {
|
||||
env: environment,
|
||||
};
|
||||
|
||||
content.publicPath;
|
||||
|
||||
return content;
|
||||
},
|
||||
|
||||
|
||||
@@ -49,12 +49,12 @@ const RedirectFound: React.FC<RedirectFoundProps> = ({ nextURL, className }) =>
|
||||
const usingRouter = nextURL.startsWith("/");
|
||||
|
||||
useEffect(() => {
|
||||
console.log("Redirecting...", { nextURL, usingRouter });
|
||||
console.debug("Redirecting...", { nextURL, usingRouter });
|
||||
|
||||
if (usingRouter) return;
|
||||
|
||||
window.location.assign(nextURL);
|
||||
}, []);
|
||||
}, [nextURL, usingRouter]);
|
||||
|
||||
return (
|
||||
<main
|
||||
@@ -112,15 +112,16 @@ const NotFoundContentRouter: React.FC<Props> = (props) => {
|
||||
|
||||
// Is there somewhere to redirect to that isn't the current pathname?
|
||||
if (!destination || destination === pathname) {
|
||||
console.log("No redirect found", { pathname, suffix, destination });
|
||||
console.debug("No redirect found", { pathname, suffix, destination });
|
||||
|
||||
return <NotFound {...props} />;
|
||||
}
|
||||
|
||||
const nextURL = destination + suffix;
|
||||
|
||||
console.log("Redirect found", { pathname, suffix, destination, nextURL });
|
||||
console.debug("Redirect found", { pathname, suffix, destination, nextURL });
|
||||
|
||||
// eslint-disable-next-line react-hooks/immutability
|
||||
document.documentElement.dataset.redirect = "pending";
|
||||
|
||||
return <RedirectFound nextURL={nextURL} {...props} />;
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
import { createESLintPackageConfig, DefaultIgnorePatterns } from "@goauthentik/eslint-config";
|
||||
|
||||
export default createESLintPackageConfig({
|
||||
parserOptions: {
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
ignorePatterns: [
|
||||
// ---
|
||||
...DefaultIgnorePatterns,
|
||||
|
||||
13
website/integrations/eslint.config.mjs
Normal file
13
website/integrations/eslint.config.mjs
Normal file
@@ -0,0 +1,13 @@
|
||||
import { createESLintPackageConfig, DefaultIgnorePatterns } from "@goauthentik/eslint-config";
|
||||
|
||||
export default createESLintPackageConfig({
|
||||
parserOptions: {
|
||||
tsconfigRootDir: import.meta.dirname,
|
||||
},
|
||||
ignorePatterns: [
|
||||
// ---
|
||||
...DefaultIgnorePatterns,
|
||||
"**/.docusaurus/",
|
||||
"**/build",
|
||||
],
|
||||
});
|
||||
@@ -12,21 +12,22 @@
|
||||
"start": "docusaurus start"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docusaurus/core": "^3.8.1",
|
||||
"@docusaurus/module-type-aliases": "^3.8.1",
|
||||
"@docusaurus/plugin-client-redirects": "^3.8.1",
|
||||
"@docusaurus/preset-classic": "^3.8.1",
|
||||
"@docusaurus/theme-mermaid": "^3.8.1",
|
||||
"@docusaurus/tsconfig": "^3.8.1",
|
||||
"@docusaurus/types": "^3.8.1",
|
||||
"@docusaurus/core": "^3.9.2",
|
||||
"@docusaurus/module-type-aliases": "^3.9.2",
|
||||
"@docusaurus/plugin-client-redirects": "^3.9.2",
|
||||
"@docusaurus/preset-classic": "^3.9.2",
|
||||
"@docusaurus/theme-mermaid": "^3.9.2",
|
||||
"@docusaurus/tsconfig": "^3.9.2",
|
||||
"@docusaurus/types": "^3.9.2",
|
||||
"@goauthentik/docusaurus-config": "^2.2.2",
|
||||
"@goauthentik/docusaurus-theme": "*",
|
||||
"@mdx-js/react": "^3.1.1",
|
||||
"@types/react": "^19.2.7",
|
||||
"@types/react-dom": "^19.2.3",
|
||||
"prism-react-renderer": "^2.3.0",
|
||||
"react": "^19.1.1",
|
||||
"react-dom": "^19.2.0"
|
||||
"prism-react-renderer": "^2.4.1",
|
||||
"react": "^19.2.0",
|
||||
"react-dom": "^19.2.0",
|
||||
"typescript": "^5.9.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=24",
|
||||
|
||||
2432
website/package-lock.json
generated
2432
website/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -30,14 +30,15 @@
|
||||
"netlify-plugin-cache": "^1.0.3",
|
||||
"netlify-redirect-parser": "^14.4.0",
|
||||
"npm-run-all": "^4.1.5",
|
||||
"prettier": "^3.6.2",
|
||||
"postman-code-generators": "2.1.0",
|
||||
"prettier": "^3.7.3",
|
||||
"prettier-plugin-packagejson": "^2.5.20",
|
||||
"typescript-eslint": "^8.48.0"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@rspack/binding-darwin-arm64": "1.6.5",
|
||||
"@rspack/binding-linux-arm64-gnu": "1.6.5",
|
||||
"@rspack/binding-linux-x64-gnu": "1.6.5",
|
||||
"@rspack/binding-darwin-arm64": "1.6.6",
|
||||
"@rspack/binding-linux-arm64-gnu": "1.6.6",
|
||||
"@rspack/binding-linux-x64-gnu": "1.6.6",
|
||||
"@swc/core-darwin-arm64": "1.15.3",
|
||||
"@swc/core-linux-arm64-gnu": "1.15.3",
|
||||
"@swc/core-linux-x64-gnu": "1.15.3",
|
||||
@@ -53,6 +54,7 @@
|
||||
"npm": ">=11.6.2"
|
||||
},
|
||||
"workspaces": [
|
||||
"vendored/*",
|
||||
"docusaurus-theme",
|
||||
"api",
|
||||
"integrations",
|
||||
@@ -60,8 +62,45 @@
|
||||
],
|
||||
"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"
|
||||
}
|
||||
}
|
||||
},
|
||||
"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": "^9.31.0"
|
||||
"eslint": "$eslint"
|
||||
},
|
||||
"postman-code-generators": {
|
||||
"detect-package-manager": "file:./vendored/detect-package-manager",
|
||||
"shelljs": "0.10.0"
|
||||
}
|
||||
},
|
||||
"devEngines": {
|
||||
"runtime": {
|
||||
"name": "node",
|
||||
"onFail": "error",
|
||||
"version": ">=24"
|
||||
},
|
||||
"packageManager": {
|
||||
"name": "npm",
|
||||
"onFail": "error",
|
||||
"version": ">=11.6.2"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
27
website/vendored/detect-package-manager/index.mjs
Normal file
27
website/vendored/detect-package-manager/index.mjs
Normal file
@@ -0,0 +1,27 @@
|
||||
/**
|
||||
* @file Vendored detect-package-manager
|
||||
*/
|
||||
|
||||
import { exec } from "node:child_process";
|
||||
import { promisify } from "node:util";
|
||||
|
||||
const execPromise = promisify(exec);
|
||||
|
||||
/**
|
||||
* @returns {Promise<string>} The detected npm version.
|
||||
*/
|
||||
export async function getNpmVersion() {
|
||||
try {
|
||||
const { stdout } = await execPromise("npm --version");
|
||||
return stdout.trim();
|
||||
} catch (error) {
|
||||
throw new Error("Failed to get npm version", { cause: error });
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @returns {string} The detected package manager.
|
||||
*/
|
||||
export function detect() {
|
||||
return Promise.resolve("npm");
|
||||
}
|
||||
9
website/vendored/detect-package-manager/package.json
Normal file
9
website/vendored/detect-package-manager/package.json
Normal file
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"name": "detect-package-manager",
|
||||
"version": "2025.12.0",
|
||||
"description": "Vendored package to detect package manager",
|
||||
"license": "MIT",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"exports": "./index.mjs"
|
||||
}
|
||||
Reference in New Issue
Block a user