website/docs: Update deps. (#14397)
* website/docs: Update deps. * website/docs: Port partial monorepo fixes. Fix build warnings. * website/docs: Update Prettier. * website/docs: Format. Update deps. * website/docs: Remove empty entry.
This commit is contained in:
2
website/.gitignore
vendored
2
website/.gitignore
vendored
@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
# Production
|
# Production
|
||||||
/build
|
/build
|
||||||
|
/out
|
||||||
/help
|
/help
|
||||||
|
|
||||||
# Generated files
|
# Generated files
|
||||||
@ -25,4 +26,5 @@ yarn-error.log*
|
|||||||
|
|
||||||
static/docker-compose.yml
|
static/docker-compose.yml
|
||||||
static/schema.yml
|
static/schema.yml
|
||||||
|
static/releases.gen.json
|
||||||
docs/developer-docs/api/reference/**
|
docs/developer-docs/api/reference/**
|
||||||
|
|||||||
@ -1,7 +1,11 @@
|
|||||||
# Ignore artifacts:
|
# Ignore artifacts:
|
||||||
build
|
build
|
||||||
|
out
|
||||||
coverage
|
coverage
|
||||||
.docusaurus
|
.docusaurus
|
||||||
node_modules
|
node_modules
|
||||||
help
|
help
|
||||||
static
|
static
|
||||||
|
# TODO: Enable after monorepo formatting is cleaned up.
|
||||||
|
**/*.md
|
||||||
|
**/*.mdx
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
{}
|
|
||||||
@ -0,0 +1,82 @@
|
|||||||
|
import styles from "./styles.module.css";
|
||||||
|
|
||||||
|
const RADIUSProtocols = [
|
||||||
|
"PAP",
|
||||||
|
"CHAP",
|
||||||
|
"Digest",
|
||||||
|
"MS-CHAP",
|
||||||
|
"PEAP",
|
||||||
|
"MS-CHAPv2",
|
||||||
|
"Cisco LEAP",
|
||||||
|
"EAP-GTC",
|
||||||
|
"EAP-MD5",
|
||||||
|
"EAP-PWD",
|
||||||
|
] as const satisfies string[];
|
||||||
|
|
||||||
|
type RADIUSProtocol = (typeof RADIUSProtocols)[number];
|
||||||
|
|
||||||
|
const HashKinds = [
|
||||||
|
"Cleartext",
|
||||||
|
"NT",
|
||||||
|
"MD5",
|
||||||
|
"Salted MD5",
|
||||||
|
"SHA1",
|
||||||
|
"Salted SHA1",
|
||||||
|
"Unix Crypt",
|
||||||
|
] as const satisfies string[];
|
||||||
|
|
||||||
|
type HashKind = (typeof HashKinds)[number];
|
||||||
|
|
||||||
|
const supportMatrix: Record<HashKind, RADIUSProtocol[]> = {
|
||||||
|
"Cleartext": [
|
||||||
|
"PAP",
|
||||||
|
"CHAP",
|
||||||
|
"Digest",
|
||||||
|
"MS-CHAP",
|
||||||
|
"PEAP",
|
||||||
|
"MS-CHAPv2",
|
||||||
|
"Cisco LEAP",
|
||||||
|
"EAP-GTC",
|
||||||
|
"EAP-MD5",
|
||||||
|
"EAP-PWD",
|
||||||
|
],
|
||||||
|
"NT": ["PAP", "MS-CHAP", "PEAP", "MS-CHAPv2", "Cisco LEAP", "EAP-GTC"],
|
||||||
|
"MD5": ["PAP", "EAP-GTC"],
|
||||||
|
"Salted MD5": ["PAP", "EAP-GTC"],
|
||||||
|
"SHA1": ["PAP", "EAP-GTC"],
|
||||||
|
"Salted SHA1": ["PAP", "EAP-GTC", "EAP-PWD"],
|
||||||
|
"Unix Crypt": ["PAP", "EAP-GTC", "EAP-PWD"],
|
||||||
|
};
|
||||||
|
|
||||||
|
export const HashSupport: React.FC = () => {
|
||||||
|
return (
|
||||||
|
<table className={styles.table}>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
{HashKinds.map((hashKind, i) => (
|
||||||
|
<th key={i}>{hashKind}</th>
|
||||||
|
))}
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
|
||||||
|
<tbody>
|
||||||
|
{RADIUSProtocols.map((radiusProtocol, i) => (
|
||||||
|
<tr key={i}>
|
||||||
|
<td>{radiusProtocol}</td>
|
||||||
|
{HashKinds.map((hashKind) => {
|
||||||
|
const protocols = supportMatrix[hashKind];
|
||||||
|
const supported = protocols.includes(radiusProtocol);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<td data-supported={supported} key={hashKind}>
|
||||||
|
{supported ? "✓" : "✗"}
|
||||||
|
</td>
|
||||||
|
);
|
||||||
|
})}
|
||||||
|
</tr>
|
||||||
|
))}
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
);
|
||||||
|
};
|
||||||
@ -2,7 +2,7 @@
|
|||||||
title: RADIUS Provider
|
title: RADIUS Provider
|
||||||
---
|
---
|
||||||
|
|
||||||
import { Check, X, AlertTriangle } from "react-feather";
|
import { HashSupport } from "./HashSupport";
|
||||||
|
|
||||||
You can configure a Radius provider for applications that don't support any other protocols or that require Radius.
|
You can configure a Radius provider for applications that don't support any other protocols or that require Radius.
|
||||||
|
|
||||||
@ -56,15 +56,4 @@ After creation, make sure to select the RADIUS property mapping in the RADIUS pr
|
|||||||
|
|
||||||
The RADIUS provider only supports the [PAP](https://en.wikipedia.org/wiki/Password_Authentication_Protocol) (Password Authentication Protocol) protocol:
|
The RADIUS provider only supports the [PAP](https://en.wikipedia.org/wiki/Password_Authentication_Protocol) (Password Authentication Protocol) protocol:
|
||||||
|
|
||||||
| | Clear-text | NT hash | MD5 hash | Salted MD5 hash | SHA1 hash | Salted SHA1 hash | Unix Crypt |
|
<HashSupport />
|
||||||
| ------------ | --------------- | --------------- | --------------- | --------------- | --------------- | ---------------- | --------------- |
|
|
||||||
| PAP | <Check></Check> | <Check></Check> | <Check></Check> | <Check></Check> | <Check></Check> | <Check></Check> | <Check></Check> |
|
|
||||||
| CHAP | <Check></Check> | <X></X> | <X></X> | <X></X> | <X></X> | <X></X> | <X></X> |
|
|
||||||
| Digest | <Check></Check> | <X></X> | <X></X> | <X></X> | <X></X> | <X></X> | <X></X> |
|
|
||||||
| MS-CHAP | <Check></Check> | <Check></Check> | <X></X> | <X></X> | <X></X> | <X></X> | <X></X> |
|
|
||||||
| PEAP | <Check></Check> | <Check></Check> | <X></X> | <X></X> | <X></X> | <X></X> | <X></X> |
|
|
||||||
| EAP-MSCHAPv2 | <Check></Check> | <Check></Check> | <X></X> | <X></X> | <X></X> | <X></X> | <X></X> |
|
|
||||||
| Cisco LEAP | <Check></Check> | <Check></Check> | <X></X> | <X></X> | <X></X> | <X></X> | <X></X> |
|
|
||||||
| EAP-GTC | <Check></Check> | <Check></Check> | <Check></Check> | <Check></Check> | <Check></Check> | <Check></Check> | <Check></Check> |
|
|
||||||
| EAP-MD5 | <Check></Check> | <X></X> | <X></X> | <X></X> | <X></X> | <X></X> | <X></X> |
|
|
||||||
| EAP-PWD | <Check></Check> | <X></X> | <X></X> | <X></X> | <X></X> | <Check></Check> | <Check></Check> |
|
|
||||||
|
|||||||
@ -0,0 +1,20 @@
|
|||||||
|
.table td {
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
|
||||||
|
&:first-child {
|
||||||
|
text-align: right;
|
||||||
|
width: 13ch;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:not(:first-child) {
|
||||||
|
width: 10ch;
|
||||||
|
}
|
||||||
|
|
||||||
|
&[data-supported="true"] {
|
||||||
|
color: var(--ifm-color-success-dark);
|
||||||
|
}
|
||||||
|
&[data-supported="false"] {
|
||||||
|
color: var(--ifm-color-danger-dark);
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -148,7 +148,6 @@ We'll be publishing a security Issue (CVE-2022-xxxxx) and accompanying fix on _d
|
|||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Mailing list template</summary>
|
<summary>Mailing list template</summary>
|
||||||
<p>
|
|
||||||
|
|
||||||
Subject: `Release of authentik Security releases 2022.10.3 and 2022.11.3`
|
Subject: `Release of authentik Security releases 2022.10.3 and 2022.11.3`
|
||||||
|
|
||||||
@ -158,12 +157,10 @@ The security advisory for CVE-2022-xxxxx has been published: https://github.com/
|
|||||||
Releases 2022.10.3 and 2022.11.3 with fixes included are available here: https://github.com/goauthentik/authentik/releases
|
Releases 2022.10.3 and 2022.11.3 with fixes included are available here: https://github.com/goauthentik/authentik/releases
|
||||||
```
|
```
|
||||||
|
|
||||||
</p>
|
|
||||||
</details>
|
</details>
|
||||||
|
|
||||||
<details>
|
<details>
|
||||||
<summary>Discord template</summary>
|
<summary>Discord template</summary>
|
||||||
<p>
|
|
||||||
|
|
||||||
```markdown
|
```markdown
|
||||||
[...existing announcement...]
|
[...existing announcement...]
|
||||||
@ -175,5 +172,4 @@ Advisory for for CVE-2022-xxxxx has been published here https://github.com/goaut
|
|||||||
The fixed versions 2022.10.3 and 2022.11.3 are available here: https://github.com/goauthentik/authentik/releases
|
The fixed versions 2022.10.3 and 2022.11.3 are available here: https://github.com/goauthentik/authentik/releases
|
||||||
```
|
```
|
||||||
|
|
||||||
</p>
|
|
||||||
</details>
|
</details>
|
||||||
|
|||||||
@ -1,13 +1,14 @@
|
|||||||
import type { Config } from "@docusaurus/types";
|
|
||||||
import type * as Preset from "@docusaurus/preset-classic";
|
import type * as Preset from "@docusaurus/preset-classic";
|
||||||
import { themes as prismThemes } from "prism-react-renderer";
|
import type { Config } from "@docusaurus/types";
|
||||||
import type * as OpenApiPlugin from "docusaurus-plugin-openapi-docs";
|
import type * as OpenApiPlugin from "docusaurus-plugin-openapi-docs";
|
||||||
|
import { themes as prismThemes } from "prism-react-renderer";
|
||||||
|
import remarkDirective from "remark-directive";
|
||||||
import remarkGithub, { BuildUrlValues } from "remark-github";
|
import remarkGithub, { BuildUrlValues } from "remark-github";
|
||||||
import { defaultBuildUrl } from "remark-github";
|
import { defaultBuildUrl } from "remark-github";
|
||||||
import remarkDirective from "remark-directive";
|
|
||||||
import remarkVersionDirective from "./remark/version-directive.js";
|
|
||||||
import remarkPreviewDirective from "./remark/preview-directive.js";
|
import remarkPreviewDirective from "./remark/preview-directive.js";
|
||||||
import remarkSupportDirective from "./remark/support-directive.js";
|
import remarkSupportDirective from "./remark/support-directive.js";
|
||||||
|
import remarkVersionDirective from "./remark/version-directive.js";
|
||||||
|
|
||||||
const createConfig = (): Config => {
|
const createConfig = (): Config => {
|
||||||
return {
|
return {
|
||||||
@ -59,16 +60,16 @@ const createConfig = (): Config => {
|
|||||||
target: "_self",
|
target: "_self",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
href: "https://github.com/goauthentik/authentik",
|
"href": "https://github.com/goauthentik/authentik",
|
||||||
"data-icon": "github",
|
"data-icon": "github",
|
||||||
"aria-label": "GitHub",
|
"aria-label": "GitHub",
|
||||||
position: "right",
|
"position": "right",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
href: "https://goauthentik.io/discord",
|
"href": "https://goauthentik.io/discord",
|
||||||
"data-icon": "discord",
|
"data-icon": "discord",
|
||||||
"aria-label": "Discord",
|
"aria-label": "Discord",
|
||||||
position: "right",
|
"position": "right",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -111,8 +112,7 @@ const createConfig = (): Config => {
|
|||||||
id: "docs",
|
id: "docs",
|
||||||
sidebarPath: "./sidebars.js",
|
sidebarPath: "./sidebars.js",
|
||||||
showLastUpdateTime: false,
|
showLastUpdateTime: false,
|
||||||
editUrl:
|
editUrl: "https://github.com/goauthentik/authentik/edit/main/website/",
|
||||||
"https://github.com/goauthentik/authentik/edit/main/website/",
|
|
||||||
docItemComponent: "@theme/ApiItem",
|
docItemComponent: "@theme/ApiItem",
|
||||||
|
|
||||||
beforeDefaultRemarkPlugins: [
|
beforeDefaultRemarkPlugins: [
|
||||||
@ -128,8 +128,7 @@ const createConfig = (): Config => {
|
|||||||
repository: "goauthentik/authentik",
|
repository: "goauthentik/authentik",
|
||||||
// Only replace issues and PR links
|
// Only replace issues and PR links
|
||||||
buildUrl: (values: BuildUrlValues) => {
|
buildUrl: (values: BuildUrlValues) => {
|
||||||
return values.type === "issue" ||
|
return values.type === "issue" || values.type === "mention"
|
||||||
values.type === "mention"
|
|
||||||
? defaultBuildUrl(values)
|
? defaultBuildUrl(values)
|
||||||
: false;
|
: false;
|
||||||
},
|
},
|
||||||
@ -138,9 +137,7 @@ const createConfig = (): Config => {
|
|||||||
],
|
],
|
||||||
},
|
},
|
||||||
theme: {
|
theme: {
|
||||||
customCss: require.resolve(
|
customCss: require.resolve("@goauthentik/docusaurus-config/css/index.css"),
|
||||||
"@goauthentik/docusaurus-config/css/index.css",
|
|
||||||
),
|
|
||||||
},
|
},
|
||||||
} satisfies Preset.Options,
|
} satisfies Preset.Options,
|
||||||
],
|
],
|
||||||
@ -153,8 +150,7 @@ const createConfig = (): Config => {
|
|||||||
path: "integrations",
|
path: "integrations",
|
||||||
routeBasePath: "integrations",
|
routeBasePath: "integrations",
|
||||||
sidebarPath: "./sidebarsIntegrations.js",
|
sidebarPath: "./sidebarsIntegrations.js",
|
||||||
editUrl:
|
editUrl: "https://github.com/goauthentik/authentik/edit/main/website/",
|
||||||
"https://github.com/goauthentik/authentik/edit/main/website/",
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
|
|||||||
2877
website/package-lock.json
generated
2877
website/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -1,20 +1,25 @@
|
|||||||
{
|
{
|
||||||
"name": "@goauthentik/website-docs",
|
"name": "@goauthentik/docs",
|
||||||
"version": "0.0.0",
|
"version": "0.0.0",
|
||||||
"private": true,
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": "cp ../docker-compose.yml static/docker-compose.yml && cp ../schema.yml static/schema.yml && docusaurus gen-api-docs all && cross-env NODE_OPTIONS='--max_old_space_size=65536' docusaurus build",
|
"build": "run-s build:docker build:schema build:api build:docusaurus",
|
||||||
"build-bundled": "cp ../schema.yml static/schema.yml && docusaurus gen-api-docs all && cross-env NODE_OPTIONS='--max_old_space_size=65536' docusaurus build",
|
"build-bundled": "run-s build:schema build:api build:docusaurus",
|
||||||
|
"build:api": "docusaurus gen-api-docs all",
|
||||||
|
"build:docker": "cp ../docker-compose.yml ./static/docker-compose.yml",
|
||||||
|
"build:docusaurus": "cross-env NODE_OPTIONS='--max_old_space_size=65536' docusaurus build",
|
||||||
|
"build:schema": "cp -f ../schema.yml ./static/schema.yml",
|
||||||
"deploy": "docusaurus deploy",
|
"deploy": "docusaurus deploy",
|
||||||
"docusaurus": "docusaurus",
|
"docusaurus": "docusaurus",
|
||||||
"lint:lockfile": "wireit",
|
"lint:lockfile": "echo 'Skipping lockfile linting'",
|
||||||
"prettier": "prettier --write .",
|
"prettier": "prettier --write .",
|
||||||
"prettier-check": "prettier --check .",
|
"prettier-check": "prettier --check .",
|
||||||
"serve": "docusaurus serve",
|
"serve": "docusaurus serve",
|
||||||
|
"start": "docusaurus start",
|
||||||
"swizzle": "docusaurus swizzle",
|
"swizzle": "docusaurus swizzle",
|
||||||
"test": "node --test",
|
"test": "node --test",
|
||||||
"watch": "cp -f ../schema.yml ./static/schema.yml && docusaurus gen-api-docs all && docusaurus start"
|
"watch": "run-s build:schema build:api start"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@docusaurus/core": "^3.7.0",
|
"@docusaurus/core": "^3.7.0",
|
||||||
@ -24,45 +29,35 @@
|
|||||||
"@docusaurus/preset-classic": "^3.7.0",
|
"@docusaurus/preset-classic": "^3.7.0",
|
||||||
"@docusaurus/theme-common": "^3.7.0",
|
"@docusaurus/theme-common": "^3.7.0",
|
||||||
"@docusaurus/theme-mermaid": "^3.7.0",
|
"@docusaurus/theme-mermaid": "^3.7.0",
|
||||||
"@goauthentik/docusaurus-config": "^1.0.4",
|
"@goauthentik/docusaurus-config": "^1.0.6",
|
||||||
|
"@goauthentik/tsconfig": "^1.0.4",
|
||||||
"@mdx-js/react": "^3.1.0",
|
"@mdx-js/react": "^3.1.0",
|
||||||
"clsx": "^2.1.1",
|
"clsx": "^2.1.1",
|
||||||
"disqus-react": "^1.1.6",
|
"docusaurus-plugin-openapi-docs": "^4.4.0",
|
||||||
"docusaurus-plugin-openapi-docs": "4.3.4",
|
"docusaurus-theme-openapi-docs": "^4.4.0",
|
||||||
"docusaurus-theme-openapi-docs": "4.3.4",
|
|
||||||
"postcss": "^8.5.3",
|
"postcss": "^8.5.3",
|
||||||
"prism-react-renderer": "^2.4.1",
|
"prism-react-renderer": "^2.4.1",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-before-after-slider-component": "^1.1.8",
|
"react-before-after-slider-component": "^1.1.8",
|
||||||
"react-dom": "^18.3.1",
|
"react-dom": "^18.3.1",
|
||||||
"react-feather": "^2.0.10",
|
|
||||||
"react-toggle": "^4.1.3",
|
|
||||||
"remark-directive": "^4.0.0",
|
"remark-directive": "^4.0.0",
|
||||||
"remark-github": "^12.0.0",
|
"remark-github": "^12.0.0",
|
||||||
"semver": "^7.7.1"
|
"semver": "^7.7.1"
|
||||||
},
|
},
|
||||||
"browserslist": {
|
|
||||||
"production": [
|
|
||||||
">0.2%",
|
|
||||||
"not dead",
|
|
||||||
"not op_mini all"
|
|
||||||
],
|
|
||||||
"development": [
|
|
||||||
"last 1 chrome version",
|
|
||||||
"last 1 firefox version",
|
|
||||||
"last 1 safari version"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@docusaurus/module-type-aliases": "^3.3.2",
|
"@docusaurus/module-type-aliases": "^3.7.0",
|
||||||
"@docusaurus/tsconfig": "^3.7.0",
|
"@docusaurus/tsconfig": "^3.7.0",
|
||||||
"@docusaurus/types": "^3.3.2",
|
"@docusaurus/types": "^3.7.0",
|
||||||
|
"@goauthentik/prettier-config": "^1.0.4",
|
||||||
|
"@types/lodash": "^4.17.16",
|
||||||
|
"@types/postman-collection": "^3.5.10",
|
||||||
"@types/react": "^18.3.13",
|
"@types/react": "^18.3.13",
|
||||||
"@types/semver": "^7.7.0",
|
"@types/semver": "^7.7.0",
|
||||||
"cross-env": "^7.0.3",
|
"cross-env": "^7.0.3",
|
||||||
"prettier": "3.5.3",
|
"fast-glob": "^3.3.3",
|
||||||
"typescript": "~5.8.3",
|
"npm-run-all": "^4.1.5",
|
||||||
"wireit": "^0.14.12"
|
"prettier": "^3.5.3",
|
||||||
|
"typescript": "~5.8.2"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@rspack/binding-darwin-arm64": "1.3.8",
|
"@rspack/binding-darwin-arm64": "1.3.8",
|
||||||
@ -78,14 +73,31 @@
|
|||||||
"lightningcss-linux-arm64-gnu": "1.29.3",
|
"lightningcss-linux-arm64-gnu": "1.29.3",
|
||||||
"lightningcss-linux-x64-gnu": "1.29.3"
|
"lightningcss-linux-x64-gnu": "1.29.3"
|
||||||
},
|
},
|
||||||
"wireit": {
|
|
||||||
"lint:lockfile": {
|
|
||||||
"__comment": "The lockfile-lint package does not have an option to ensure resolved hashes are set everywhere",
|
|
||||||
"shell": true,
|
|
||||||
"command": "[ -z \"$(jq -r '.packages | to_entries[] | select((.key | contains(\"node_modules\")) and (.value | has(\"resolved\") | not)) | .key' < package-lock.json)\" ]"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=20"
|
"node": ">=22.14.0"
|
||||||
|
},
|
||||||
|
"browserslist": {
|
||||||
|
"production": [
|
||||||
|
">0.2%",
|
||||||
|
"not dead",
|
||||||
|
"not op_mini all"
|
||||||
|
],
|
||||||
|
"development": [
|
||||||
|
"last 1 chrome version",
|
||||||
|
"last 1 firefox version",
|
||||||
|
"last 1 safari version"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"prettier": "@goauthentik/prettier-config",
|
||||||
|
"overrides": {
|
||||||
|
"fork-ts-checker-webpack-plugin": {
|
||||||
|
"glob": "^11.0.1"
|
||||||
|
},
|
||||||
|
"postman-collection": {
|
||||||
|
"@faker-js/faker": "^6.3.1"
|
||||||
|
},
|
||||||
|
"webpack-dev-server": {
|
||||||
|
"rimraf": "6.0.1"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,9 +1,8 @@
|
|||||||
import "mdast-util-to-hast";
|
|
||||||
import "mdast-util-directive";
|
|
||||||
|
|
||||||
import { h } from "hastscript";
|
import { h } from "hastscript";
|
||||||
import { Root } from "mdast";
|
import { Root } from "mdast";
|
||||||
import { visit, SKIP } from "unist-util-visit";
|
import "mdast-util-directive";
|
||||||
|
import "mdast-util-to-hast";
|
||||||
|
import { SKIP, visit } from "unist-util-visit";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MDAST plugin to transform `ak-preview` directives into preview badges.
|
* MDAST plugin to transform `ak-preview` directives into preview badges.
|
||||||
@ -17,10 +16,10 @@ function remarkPreviewDirective() {
|
|||||||
|
|
||||||
const hast = h("span", {
|
const hast = h("span", {
|
||||||
...node.attributes,
|
...node.attributes,
|
||||||
className: "badge badge--preview",
|
"className": "badge badge--preview",
|
||||||
title: `This feature is in preview and may change in the future.`,
|
"title": `This feature is in preview and may change in the future.`,
|
||||||
"aria-description": "Preview badge",
|
"aria-description": "Preview badge",
|
||||||
role: "img",
|
"role": "img",
|
||||||
});
|
});
|
||||||
|
|
||||||
data.hName = hast.tagName;
|
data.hName = hast.tagName;
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
import "mdast-util-to-hast";
|
|
||||||
import "mdast-util-directive";
|
|
||||||
|
|
||||||
import { h } from "hastscript";
|
import { h } from "hastscript";
|
||||||
import { Root } from "mdast";
|
import { Root } from "mdast";
|
||||||
import { visit, SKIP } from "unist-util-visit";
|
import "mdast-util-directive";
|
||||||
|
import "mdast-util-to-hast";
|
||||||
import { coerce } from "semver";
|
import { coerce } from "semver";
|
||||||
|
import { SKIP, visit } from "unist-util-visit";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Support levels for authentik.
|
* Support levels for authentik.
|
||||||
@ -52,10 +51,10 @@ function remarkSupportDirective() {
|
|||||||
|
|
||||||
const hast = h("span", {
|
const hast = h("span", {
|
||||||
...node.attributes,
|
...node.attributes,
|
||||||
className: `badge badge--support-${level}`,
|
"className": `badge badge--support-${level}`,
|
||||||
title: `This feature is supported at the ${label} level.`,
|
"title": `This feature is supported at the ${label} level.`,
|
||||||
"aria-description": "Support level badge",
|
"aria-description": "Support level badge",
|
||||||
role: "img",
|
"role": "img",
|
||||||
});
|
});
|
||||||
|
|
||||||
data.hName = hast.tagName;
|
data.hName = hast.tagName;
|
||||||
|
|||||||
@ -1,10 +1,9 @@
|
|||||||
import "mdast-util-to-hast";
|
|
||||||
import "mdast-util-directive";
|
|
||||||
|
|
||||||
import { h } from "hastscript";
|
import { h } from "hastscript";
|
||||||
import { Root } from "mdast";
|
import { Root } from "mdast";
|
||||||
import { visit, SKIP } from "unist-util-visit";
|
import "mdast-util-directive";
|
||||||
|
import "mdast-util-to-hast";
|
||||||
import { coerce } from "semver";
|
import { coerce } from "semver";
|
||||||
|
import { SKIP, visit } from "unist-util-visit";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* MDAST plugin to transform `ak-version` directives into version badges.
|
* MDAST plugin to transform `ak-version` directives into version badges.
|
||||||
@ -40,19 +39,17 @@ function remarkVersionDirective() {
|
|||||||
const yearCutoff = new Date().getFullYear() - 2;
|
const yearCutoff = new Date().getFullYear() - 2;
|
||||||
|
|
||||||
if (parsed.major <= yearCutoff) {
|
if (parsed.major <= yearCutoff) {
|
||||||
throw new Error(
|
throw new Error(`Semver version <= ${yearCutoff} is not supported: ${semver}`);
|
||||||
`Semver version <= ${yearCutoff} is not supported: ${semver}`,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const data = node.data || (node.data = {});
|
const data = node.data || (node.data = {});
|
||||||
|
|
||||||
const hast = h("span", {
|
const hast = h("span", {
|
||||||
...node.attributes,
|
...node.attributes,
|
||||||
className: "badge badge--version",
|
"className": "badge badge--version",
|
||||||
title: `Available in authentik ${parsed.format()} and later`,
|
"title": `Available in authentik ${parsed.format()} and later`,
|
||||||
"aria-description": "Version badge",
|
"aria-description": "Version badge",
|
||||||
role: "img",
|
"role": "img",
|
||||||
});
|
});
|
||||||
|
|
||||||
data.hName = hast.tagName;
|
data.hName = hast.tagName;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import { generateVersionDropdown } from "./src/utils.js";
|
|
||||||
import apiReference from "./docs/developer-docs/api/reference/sidebar";
|
import apiReference from "./docs/developer-docs/api/reference/sidebar";
|
||||||
|
import { generateVersionDropdown } from "./src/utils.js";
|
||||||
|
|
||||||
const releases = [
|
const releases = [
|
||||||
"releases/2025/v2025.4",
|
"releases/2025/v2025.4",
|
||||||
@ -148,10 +148,7 @@ export default {
|
|||||||
type: "doc",
|
type: "doc",
|
||||||
id: "add-secure-apps/providers/property-mappings/index",
|
id: "add-secure-apps/providers/property-mappings/index",
|
||||||
},
|
},
|
||||||
items: [
|
items: ["add-secure-apps/providers/property-mappings/expression"],
|
||||||
"add-secure-apps/providers/property-mappings/expression",
|
|
||||||
,
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
@ -172,9 +169,7 @@ export default {
|
|||||||
type: "doc",
|
type: "doc",
|
||||||
id: "add-secure-apps/providers/ldap/index",
|
id: "add-secure-apps/providers/ldap/index",
|
||||||
},
|
},
|
||||||
items: [
|
items: ["add-secure-apps/providers/ldap/generic_setup"],
|
||||||
"add-secure-apps/providers/ldap/generic_setup",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
@ -248,9 +243,7 @@ export default {
|
|||||||
type: "doc",
|
type: "doc",
|
||||||
id: "add-secure-apps/providers/ssf/index",
|
id: "add-secure-apps/providers/ssf/index",
|
||||||
},
|
},
|
||||||
items: [
|
items: ["add-secure-apps/providers/ssf/create-ssf-provider"],
|
||||||
"add-secure-apps/providers/ssf/create-ssf-provider",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -328,9 +321,7 @@ export default {
|
|||||||
type: "doc",
|
type: "doc",
|
||||||
id: "add-secure-apps/flows-stages/bindings/index",
|
id: "add-secure-apps/flows-stages/bindings/index",
|
||||||
},
|
},
|
||||||
items: [
|
items: ["add-secure-apps/flows-stages/bindings/work_with_bindings"],
|
||||||
"add-secure-apps/flows-stages/bindings/work_with_bindings",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
@ -473,10 +464,7 @@ export default {
|
|||||||
type: "doc",
|
type: "doc",
|
||||||
id: "users-sources/groups/index",
|
id: "users-sources/groups/index",
|
||||||
},
|
},
|
||||||
items: [
|
items: ["users-sources/groups/manage_groups", "users-sources/groups/group_ref"],
|
||||||
"users-sources/groups/manage_groups",
|
|
||||||
"users-sources/groups/group_ref",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
@ -521,9 +509,7 @@ export default {
|
|||||||
type: "doc",
|
type: "doc",
|
||||||
id: "users-sources/sources/protocols/kerberos/index",
|
id: "users-sources/sources/protocols/kerberos/index",
|
||||||
},
|
},
|
||||||
items: [
|
items: ["users-sources/sources/protocols/kerberos/browser"],
|
||||||
"users-sources/sources/protocols/kerberos/browser",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
"users-sources/sources/protocols/ldap/index",
|
"users-sources/sources/protocols/ldap/index",
|
||||||
"users-sources/sources/protocols/oauth/index",
|
"users-sources/sources/protocols/oauth/index",
|
||||||
@ -538,9 +524,7 @@ export default {
|
|||||||
type: "doc",
|
type: "doc",
|
||||||
id: "users-sources/sources/property-mappings/index",
|
id: "users-sources/sources/property-mappings/index",
|
||||||
},
|
},
|
||||||
items: [
|
items: ["users-sources/sources/property-mappings/expressions"],
|
||||||
"users-sources/sources/property-mappings/expressions",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
type: "category",
|
type: "category",
|
||||||
@ -610,10 +594,7 @@ export default {
|
|||||||
type: "doc",
|
type: "doc",
|
||||||
id: "sys-mgmt/events/index",
|
id: "sys-mgmt/events/index",
|
||||||
},
|
},
|
||||||
items: [
|
items: ["sys-mgmt/events/notifications", "sys-mgmt/events/transports"],
|
||||||
"sys-mgmt/events/notifications",
|
|
||||||
"sys-mgmt/events/transports",
|
|
||||||
],
|
|
||||||
},
|
},
|
||||||
"sys-mgmt/certificates",
|
"sys-mgmt/certificates",
|
||||||
"sys-mgmt/settings",
|
"sys-mgmt/settings",
|
||||||
|
|||||||
@ -1,8 +1,5 @@
|
|||||||
|
import { SupportLevelToLabel, isSupportLevel } from "@site/remark/support-directive";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
import {
|
|
||||||
isSupportLevel,
|
|
||||||
SupportLevelToLabel,
|
|
||||||
} from "@site/remark/support-directive";
|
|
||||||
|
|
||||||
export interface SupportBadgeProps {
|
export interface SupportBadgeProps {
|
||||||
level: string;
|
level: string;
|
||||||
|
|||||||
@ -18,9 +18,7 @@ export const VersionBadge: React.FC<AuthentikVersionProps> = ({ semver }) => {
|
|||||||
const yearCutoff = new Date().getFullYear() - 2;
|
const yearCutoff = new Date().getFullYear() - 2;
|
||||||
|
|
||||||
if (parsed.major <= yearCutoff) {
|
if (parsed.major <= yearCutoff) {
|
||||||
throw new Error(
|
throw new Error(`Semver version <= ${yearCutoff} is not supported: ${semver}`);
|
||||||
`Semver version <= ${yearCutoff} is not supported: ${semver}`,
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
|||||||
@ -14,8 +14,7 @@ import { useDoc } from "@docusaurus/plugin-content-docs/client";
|
|||||||
*/
|
*/
|
||||||
export function useSyntheticTitle(): string | null {
|
export function useSyntheticTitle(): string | null {
|
||||||
const { metadata, frontMatter, contentTitle } = useDoc();
|
const { metadata, frontMatter, contentTitle } = useDoc();
|
||||||
const shouldRender =
|
const shouldRender = !frontMatter.hide_title && typeof contentTitle === "undefined";
|
||||||
!frontMatter.hide_title && typeof contentTitle === "undefined";
|
|
||||||
if (!shouldRender) {
|
if (!shouldRender) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
import React from "react";
|
|
||||||
import { Redirect } from "@docusaurus/router";
|
import { Redirect } from "@docusaurus/router";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
function Home() {
|
function Home() {
|
||||||
return <Redirect to="/docs" />;
|
return <Redirect to="/docs" />;
|
||||||
|
|||||||
@ -7,21 +7,17 @@
|
|||||||
* the content of a documentation page. However, it also adds support for
|
* the content of a documentation page. However, it also adds support for
|
||||||
* support badges, and Authentik version badges.
|
* support badges, and Authentik version badges.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React from "react";
|
|
||||||
import clsx from "clsx";
|
|
||||||
import { ThemeClassNames } from "@docusaurus/theme-common";
|
|
||||||
import {
|
|
||||||
DocContextValue,
|
|
||||||
useDoc,
|
|
||||||
} from "@docusaurus/plugin-content-docs/client";
|
|
||||||
import Heading from "@theme/Heading";
|
|
||||||
import MDXContent from "@theme/MDXContent";
|
|
||||||
import type { Props } from "@theme/DocItem/Content";
|
|
||||||
import { DocFrontMatter } from "@docusaurus/plugin-content-docs";
|
import { DocFrontMatter } from "@docusaurus/plugin-content-docs";
|
||||||
import { useSyntheticTitle } from "@site/src/hooks/title";
|
import { DocContextValue, useDoc } from "@docusaurus/plugin-content-docs/client";
|
||||||
|
import { ThemeClassNames } from "@docusaurus/theme-common";
|
||||||
import { SupportBadge } from "@site/src/components/SupportBadge";
|
import { SupportBadge } from "@site/src/components/SupportBadge";
|
||||||
import { VersionBadge } from "@site/src/components/VersionBadge";
|
import { VersionBadge } from "@site/src/components/VersionBadge";
|
||||||
|
import { useSyntheticTitle } from "@site/src/hooks/title";
|
||||||
|
import type { Props } from "@theme/DocItem/Content";
|
||||||
|
import Heading from "@theme/Heading";
|
||||||
|
import MDXContent from "@theme/MDXContent";
|
||||||
|
import clsx from "clsx";
|
||||||
|
import React from "react";
|
||||||
|
|
||||||
interface SwizzledDocFrontMatter extends DocFrontMatter {
|
interface SwizzledDocFrontMatter extends DocFrontMatter {
|
||||||
support_level?: string;
|
support_level?: string;
|
||||||
@ -37,12 +33,8 @@ interface SwizzledDocContextValue extends DocContextValue {
|
|||||||
const DocItemContent: React.FC<Props> = ({ children }) => {
|
const DocItemContent: React.FC<Props> = ({ children }) => {
|
||||||
const syntheticTitle = useSyntheticTitle();
|
const syntheticTitle = useSyntheticTitle();
|
||||||
const { frontMatter } = useDoc() as SwizzledDocContextValue;
|
const { frontMatter } = useDoc() as SwizzledDocContextValue;
|
||||||
const {
|
const { support_level, authentik_version, authentik_enterprise, authentik_preview } =
|
||||||
support_level,
|
frontMatter;
|
||||||
authentik_version,
|
|
||||||
authentik_enterprise,
|
|
||||||
authentik_preview,
|
|
||||||
} = frontMatter;
|
|
||||||
|
|
||||||
const badges: JSX.Element[] = [];
|
const badges: JSX.Element[] = [];
|
||||||
|
|
||||||
@ -71,9 +63,7 @@ const DocItemContent: React.FC<Props> = ({ children }) => {
|
|||||||
{badges.length ? (
|
{badges.length ? (
|
||||||
<p className="badge-group">
|
<p className="badge-group">
|
||||||
{badges.map((badge, index) => (
|
{badges.map((badge, index) => (
|
||||||
<React.Fragment key={index}>
|
<React.Fragment key={index}>{badge}</React.Fragment>
|
||||||
{badge}
|
|
||||||
</React.Fragment>
|
|
||||||
))}
|
))}
|
||||||
</p>
|
</p>
|
||||||
) : null}
|
) : null}
|
||||||
|
|||||||
@ -1,13 +1,13 @@
|
|||||||
import React, { type ReactNode } from "react";
|
|
||||||
import clsx from "clsx";
|
|
||||||
import EditThisPage from "@theme/EditThisPage";
|
|
||||||
import type { Props } from "@theme/EditMetaRow";
|
|
||||||
|
|
||||||
import LastUpdated from "@theme/LastUpdated";
|
|
||||||
import Admonition from "@theme/Admonition";
|
|
||||||
import styles from "./styles.module.css";
|
|
||||||
import Translate from "@docusaurus/Translate";
|
import Translate from "@docusaurus/Translate";
|
||||||
|
import Admonition from "@theme/Admonition";
|
||||||
import IconNote from "@theme/Admonition/Icon/Note";
|
import IconNote from "@theme/Admonition/Icon/Note";
|
||||||
|
import type { Props } from "@theme/EditMetaRow";
|
||||||
|
import EditThisPage from "@theme/EditThisPage";
|
||||||
|
import LastUpdated from "@theme/LastUpdated";
|
||||||
|
import clsx from "clsx";
|
||||||
|
import React, { type ReactNode } from "react";
|
||||||
|
|
||||||
|
import styles from "./styles.module.css";
|
||||||
|
|
||||||
const EditMetaRow: React.FC<Props> = ({
|
const EditMetaRow: React.FC<Props> = ({
|
||||||
className,
|
className,
|
||||||
@ -40,11 +40,9 @@ const EditMetaRow: React.FC<Props> = ({
|
|||||||
id="theme.common.contributor.footerDescription1"
|
id="theme.common.contributor.footerDescription1"
|
||||||
description="The description for the contribution footer"
|
description="The description for the contribution footer"
|
||||||
>
|
>
|
||||||
We welcome your knowledge and expertise. If you see
|
We welcome your knowledge and expertise. If you see areas of the
|
||||||
areas of the documentation that you can improve (fix a
|
documentation that you can improve (fix a typo, correct a technical detail,
|
||||||
typo, correct a technical detail, add additional
|
add additional context, etc.) we would really appreciate your contribution.
|
||||||
context, etc.) we would really appreciate your
|
|
||||||
contribution.
|
|
||||||
</Translate>
|
</Translate>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
@ -109,10 +107,7 @@ const EditMetaRow: React.FC<Props> = ({
|
|||||||
<div className="row">
|
<div className="row">
|
||||||
<div className={clsx("col", styles.lastUpdated)}>
|
<div className={clsx("col", styles.lastUpdated)}>
|
||||||
{(lastUpdatedAt || lastUpdatedBy) && (
|
{(lastUpdatedAt || lastUpdatedBy) && (
|
||||||
<LastUpdated
|
<LastUpdated lastUpdatedAt={lastUpdatedAt} lastUpdatedBy={lastUpdatedBy} />
|
||||||
lastUpdatedAt={lastUpdatedAt}
|
|
||||||
lastUpdatedBy={lastUpdatedBy}
|
|
||||||
/>
|
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -52,8 +52,7 @@ html[data-theme="dark"] {
|
|||||||
display: flex;
|
display: flex;
|
||||||
gap: var(--ifm-spacing-horizontal);
|
gap: var(--ifm-spacing-horizontal);
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin: calc(var(--ifm-spacing-horizontal) * 2) 0
|
margin: calc(var(--ifm-spacing-horizontal) * 2) 0 var(--ifm-spacing-horizontal);
|
||||||
var(--ifm-spacing-horizontal);
|
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1,8 +1,8 @@
|
|||||||
import React, { type ReactNode } from "react";
|
import Link from "@docusaurus/Link";
|
||||||
import Translate from "@docusaurus/Translate";
|
import Translate from "@docusaurus/Translate";
|
||||||
import { ThemeClassNames } from "@docusaurus/theme-common";
|
import { ThemeClassNames } from "@docusaurus/theme-common";
|
||||||
import Link from "@docusaurus/Link";
|
|
||||||
import type { Props } from "@theme/EditThisPage";
|
import type { Props } from "@theme/EditThisPage";
|
||||||
|
import React, { type ReactNode } from "react";
|
||||||
|
|
||||||
export default function EditThisPage({ editUrl }: Props): ReactNode {
|
export default function EditThisPage({ editUrl }: Props): ReactNode {
|
||||||
return (
|
return (
|
||||||
|
|||||||
@ -1,7 +1,5 @@
|
|||||||
export function generateVersionDropdown(allReleases) {
|
export function generateVersionDropdown(allReleases) {
|
||||||
const releases = allReleases.filter(
|
const releases = allReleases.filter((release) => typeof release === "string");
|
||||||
(release) => typeof release === "string",
|
|
||||||
);
|
|
||||||
const latest = releases[0].replace(/releases\/\d+\/v/, "");
|
const latest = releases[0].replace(/releases\/\d+\/v/, "");
|
||||||
return `<div class="navbar__item dropdown dropdown--hoverable dropdown--right">
|
return `<div class="navbar__item dropdown dropdown--hoverable dropdown--right">
|
||||||
<div aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link menu__link">
|
<div aria-haspopup="true" aria-expanded="false" role="button" class="navbar__link menu__link">
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
import test from "node:test";
|
import FastGlob from "fast-glob";
|
||||||
import assert from "node:assert";
|
import assert from "node:assert";
|
||||||
|
import test from "node:test";
|
||||||
|
|
||||||
import sidebar from "../sidebarsIntegrations.js";
|
import sidebar from "../sidebarsIntegrations.js";
|
||||||
import glob from "glob";
|
|
||||||
|
|
||||||
const getSidebarItems = () => {
|
const getSidebarItems = () => {
|
||||||
const allItems = [];
|
const allItems = [];
|
||||||
@ -27,8 +28,7 @@ test("ensure all services have a sidebar entry", (t) => {
|
|||||||
.filter((entry) => entry.startsWith("services/"))
|
.filter((entry) => entry.startsWith("services/"))
|
||||||
.map((entry) => entry.replace("/index", ""))
|
.map((entry) => entry.replace("/index", ""))
|
||||||
.map((entry) => entry.replace("services/", ""));
|
.map((entry) => entry.replace("services/", ""));
|
||||||
const servicesFiles = glob
|
const servicesFiles = FastGlob.sync("integrations/**/*.+(md|mdx)")
|
||||||
.sync("integrations/**/*.+(md|mdx)")
|
|
||||||
.filter((entry) => entry.startsWith("integrations/services/"))
|
.filter((entry) => entry.startsWith("integrations/services/"))
|
||||||
.map((entry) => entry.replace("integrations/services/", ""))
|
.map((entry) => entry.replace("integrations/services/", ""))
|
||||||
.map((entry) => entry.replace(/\/index\.mdx?/, ""))
|
.map((entry) => entry.replace(/\/index\.mdx?/, ""))
|
||||||
@ -45,8 +45,7 @@ test("ensure all sources have a sidebar entry", (t) => {
|
|||||||
.filter((entry) => entry.startsWith("sources/"))
|
.filter((entry) => entry.startsWith("sources/"))
|
||||||
.map((entry) => entry.replace("/index", ""))
|
.map((entry) => entry.replace("/index", ""))
|
||||||
.map((entry) => entry.replace("sources/", ""));
|
.map((entry) => entry.replace("sources/", ""));
|
||||||
const sourceFiles = glob
|
const sourceFiles = FastGlob.sync("integrations/**/*.+(md|mdx)")
|
||||||
.sync("integrations/**/*.+(md|mdx)")
|
|
||||||
.filter((entry) => entry.startsWith("integrations/sources/"))
|
.filter((entry) => entry.startsWith("integrations/sources/"))
|
||||||
.map((entry) => entry.replace("integrations/sources/", ""))
|
.map((entry) => entry.replace("integrations/sources/", ""))
|
||||||
.map((entry) => entry.replace(/\/index\.mdx?/, ""))
|
.map((entry) => entry.replace(/\/index\.mdx?/, ""))
|
||||||
|
|||||||
@ -1,8 +1,32 @@
|
|||||||
|
// @file TSConfig used by the docs package during development.
|
||||||
|
//
|
||||||
|
// @remarks
|
||||||
|
// While this configuration will influence the IDE experience,
|
||||||
|
// Docusaurus will instead use an internal configuration to build the site.
|
||||||
|
//
|
||||||
|
// @see https://docusaurus.io/docs/typescript-support
|
||||||
{
|
{
|
||||||
// This file is not used in compilation. It is here just for a nice editor experience.
|
"extends": "@goauthentik/tsconfig",
|
||||||
"extends": "@docusaurus/tsconfig",
|
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"baseUrl": "."
|
"noEmit": true,
|
||||||
|
"checkJs": true,
|
||||||
|
"allowJs": true,
|
||||||
|
"composite": false,
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"moduleResolution": "bundler",
|
||||||
|
"module": "esnext",
|
||||||
|
"jsx": "preserve",
|
||||||
|
"lib": ["DOM", "DOM.Iterable", "ESNext"],
|
||||||
|
"baseUrl": ".",
|
||||||
|
"paths": {
|
||||||
|
"@site/*": ["./*"]
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"exclude": [".docusaurus", "build", "node_modules"]
|
"exclude": [
|
||||||
|
// ---
|
||||||
|
"./out/**/*",
|
||||||
|
"./dist/**/*",
|
||||||
|
".docusaurus",
|
||||||
|
"build"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user