ci: add NPM packages publish (#13974)

Co-authored-by: Teffen Ellis <teffen@nirri.us>
This commit is contained in:
Marc 'risson' Schmitt
2025-04-14 16:14:17 +02:00
committed by GitHub
parent 895cd23b57
commit bf0235c113
36 changed files with 26659 additions and 20 deletions

1
packages/docusaurus-config/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
node_modules

View File

@ -0,0 +1,56 @@
.anchor > .badge {
font-size: 0.75rem;
vertical-align: middle;
}
.anchor > .badge {
margin-left: 0.5rem;
}
.badge {
--ifm-font-weight-bold: 900;
}
.badge--support-vendor {
--ifm-badge-background-color: var(--ifm-color-warning-contrast-background);
--ifm-badge-color: var(--ifm-color-warning-contrast-foreground);
--ifm-badge-border-color: var(--ifm-color-warning-contrast-foreground);
}
.badge--support-community {
--ifm-badge-background-color: var(
--ifm-color-secondary-contrast-foreground
);
--ifm-badge-border-color: var(--ifm-color-secondary-dark);
--ifm-badge-color: var(--ifm-color-secondary-contrast-background);
}
.badge--support-deprecated {
--ifm-badge-background-color: var(--ifm-color-danger);
--ifm-badge-border-color: var(--ifm-color-danger-contrast-background);
--ifm-badge-color: var(--ifm-color-danger-contrast-foreground);
}
.badge--support-authentik {
--ifm-badge-background-color: var(--ifm-color-primary);
--ifm-badge-border-color: var(--ifm-color-secondary);
--ifm-badge-color: var(--ifm-color-secondary);
}
.badge--version {
--ifm-badge-background-color: var(--ifm-color-primary-contrast-background);
--ifm-badge-border-color: var(--ifm-color-primary-contrast-foreground);
--ifm-badge-color: var(--ifm-color-primary-contrast-foreground);
}
.badge--preview {
--ifm-badge-background-color: rgb(115, 188, 247);
--ifm-badge-border-color: var(--ifm-badge-background-color);
--ifm-badge-color: var(--ifm-color-primary-contrast-foreground);
}
.badge-group {
display: flex;
flex-wrap: wrap;
gap: 1rem;
}

View File

@ -0,0 +1,21 @@
:root {
--ifm-button-color: var(--white);
}
.button-row {
gap: var(--ifm-global-spacing);
display: flex;
align-items: center;
justify-content: center;
align-items: center;
flex-wrap: wrap;
}
.button--outline {
--ifm-button-color: var(--white);
--ifm-button-border-color: var(--white);
&:hover {
--ifm-button-color: var(--ifm-color-primary);
}
}

View File

@ -0,0 +1,12 @@
:root {
--docusaurus-highlighted-code-line-bg: #efefef;
}
html[data-theme="dark"] {
/* Color which works with dark mode syntax highlighting theme */
--docusaurus-highlighted-code-line-bg: #3f3f3f;
}
.theme-code-block pre code {
font-weight: 500;
}

View File

@ -0,0 +1,93 @@
:root {
--ifm-font-family-base:
RedHatVF, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell,
Noto Sans, sans-serif, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial,
sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
--ifm-font-family-monospace:
RedHatMonoVF, SFMono-Regular, Menlo, Monaco, Consolas,
"Liberation Mono", "Courier New", monospace;
--ifm-heading-font-family: RedHatDisplayVF, var(--ifm-font-family-base);
--ifm-h5-font-size: 0.88rem;
--ifm-code-font-size: 100%;
}
@font-face {
font-family: "RedHatDisplayVF";
font-style: normal;
font-weight: 300 900;
font-display: fallback;
src:
local("Red Hat Display"),
url("/fonts/RedHatFont-updated/modified/RedHatDisplayVFModified-updated.woff2")
format("woff2-variations"),
url("https://goauthentik.io/fonts/RedHatFont-updated/modified/RedHatDisplayVFModified-updated.woff2")
format("woff2-variations");
}
@font-face {
font-family: "RedHatDisplayVF";
font-style: italic;
font-weight: 300 900;
font-display: fallback;
src:
local("Red Hat Display"),
url("/fonts/RedHatFont-updated/modified/RedHatDisplayVF-updated-ItalicModified.woff2")
format("woff2-variations"),
url("https://goauthentik.io/fonts/RedHatFont-updated/modified/RedHatDisplayVF-updated-ItalicModified.woff2")
format("woff2-variations");
}
@font-face {
font-family: "RedHatTextVF";
font-style: normal;
font-weight: 400 500;
font-display: fallback;
src:
local("Red Hat Display"),
url("/fonts/RedHatFont-updated/modified/RedHatTextVFModified-updated.woff2")
format("woff2-variations"),
url("https://goauthentik.io/fonts/RedHatFont-updated/modified/RedHatTextVFModified-updated.woff2")
format("woff2-variations");
}
@font-face {
font-family: "RedHatTextVF";
font-style: italic;
font-weight: 400 500;
font-display: fallback;
src:
local("Red Hat Display"),
url("/fonts/RedHatFont-updated/modified/RedHatTextVF-updated-ItalicModified.woff2")
format("woff2-variations")
url("https://goauthentik.io/fonts/RedHatFont-updated/modified/RedHatTextVF-updated-ItalicModified.woff2")
format("woff2-variations");
}
@font-face {
font-family: "RedHatMonoVF";
font-style: normal;
font-weight: 300 700;
font-display: fallback;
src:
local("Red Hat Mono"),
url("/fonts/RedHatFont-updated/RedHatMono/RedHatMonoVF-updated.woff2")
format("woff2-variations"),
url("https://goauthentik.io/fonts/RedHatFont-updated/RedHatMono/RedHatMonoVF-updated.woff2")
format("woff2-variations");
}
@font-face {
font-family: "RedHatMonoVF";
font-style: italic;
font-weight: 300 700;
font-display: fallback;
src:
local("Red Hat Mono"),
url("/fonts/RedHatFont-updated/RedHatMono/RedHatMonoVF-updated-Italic.woff2")
format("woff2-variations"),
url("https://goauthentik.io/fonts/RedHatFont-updated/RedHatMono/RedHatMonoVF-updated-Italic.woff2")
format("woff2-variations");
}

View File

@ -0,0 +1,44 @@
a[data-icon] {
display: flex;
gap: 0.5em;
align-items: center;
border-radius: var(--ifm-badge-border-radius);
&:hover {
background-color: var(--ifm-hover-overlay);
}
}
a[data-icon]::before {
display: block;
content: "";
width: 1.5rem;
height: 1.5rem;
background-repeat: no-repeat;
background-position: center;
}
a[data-icon]::after {
display: block;
content: attr(aria-label);
}
@media (max-width: 1300px) {
.navbar--fixed-top .navbar__items a[data-icon]::after {
display: none;
}
}
@media (max-width: 998px) {
.navbar--fixed-top .navbar__items a[data-icon] {
display: none;
}
}
a[data-icon="github"]::before {
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12'/%3E%3C/svg%3E");
}
a[data-icon="discord"]::before {
background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20127.14%2096.36%22%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill%3A%23fff%3B%7D%3C%2Fstyle%3E%3C%2Fdefs%3E%3Cg%20id%3D%22%E5%9B%BE%E5%B1%82_2%22%20data-name%3D%22%E5%9B%BE%E5%B1%82%202%22%3E%3Cg%20id%3D%22Discord_Logos%22%20data-name%3D%22Discord%20Logos%22%3E%3Cg%20id%3D%22Discord_Logo_-_Large_-_White%22%20data-name%3D%22Discord%20Logo%20-%20Large%20-%20White%22%3E%3Cpath%20class%3D%22cls-1%22%20d%3D%22M107.7%2C8.07A105.15%2C105.15%2C0%2C0%2C0%2C81.47%2C0a72.06%2C72.06%2C0%2C0%2C0-3.36%2C6.83A97.68%2C97.68%2C0%2C0%2C0%2C49%2C6.83%2C72.37%2C72.37%2C0%2C0%2C0%2C45.64%2C0%2C105.89%2C105.89%2C0%2C0%2C0%2C19.39%2C8.09C2.79%2C32.65-1.71%2C56.6.54%2C80.21h0A105.73%2C105.73%2C0%2C0%2C0%2C32.71%2C96.36%2C77.7%2C77.7%2C0%2C0%2C0%2C39.6%2C85.25a68.42%2C68.42%2C0%2C0%2C1-10.85-5.18c.91-.66%2C1.8-1.34%2C2.66-2a75.57%2C75.57%2C0%2C0%2C0%2C64.32%2C0c.87.71%2C1.76%2C1.39%2C2.66%2C2a68.68%2C68.68%2C0%2C0%2C1-10.87%2C5.19%2C77%2C77%2C0%2C0%2C0%2C6.89%2C11.1A105.25%2C105.25%2C0%2C0%2C0%2C126.6%2C80.22h0C129.24%2C52.84%2C122.09%2C29.11%2C107.7%2C8.07ZM42.45%2C65.69C36.18%2C65.69%2C31%2C60%2C31%2C53s5-12.74%2C11.43-12.74S54%2C46%2C53.89%2C53%2C48.84%2C65.69%2C42.45%2C65.69Zm42.24%2C0C78.41%2C65.69%2C73.25%2C60%2C73.25%2C53s5-12.74%2C11.44-12.74S96.23%2C46%2C96.12%2C53%2C91.08%2C65.69%2C84.69%2C65.69Z%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
}

View File

@ -0,0 +1,40 @@
/* TODO: Determine just how global these styles are. */
/* The parent div centers, but the inner paragraph needs its own centering while its size changes. */
.homepage_hero__subtitle {
display: flex;
justify-content: center;
}
.homepage_hero__subtitle p {
font-size: clamp(
1.125rem,
0.9946rem + 0.6522vi,
1.5rem
); /* Adjust font as page scales */
max-width: 28ch; /* Apply a maximum to keep everything in the box */
text-wrap: balance; /* Prevent widows, orphans, and runts. Doesn't work in Safari */
}
.hero--primary {
background: radial-gradient(
at right bottom,
rgba(47, 6, 75, 1) 0%,
var(--ifm-color-primary) 50%
);
padding-bottom: 5.3rem !important;
/* fix aliasing at the edge */
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
-webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 3vw));
clip-path: polygon(0 0, 100% 0, 100% 100%, 0 calc(100% - 3vw));
}
.hero-banner {
padding: 4rem 0;
text-align: center;
position: relative;
overflow: hidden;
overflow-wrap: normal;
color: var(--white);
}

View File

@ -0,0 +1,11 @@
@import "../css/root.css";
@import "../css/fonts.css";
@import "../css/code.css";
@import "../css/navbar.css";
@import "../css/header.css";
@import "../css/sidebar.css";
@import "../css/markdown.css";
@import "../css/badges.css";
@import "../css/menu.css";
@import "../css/buttons.css";
@import "../css/homepage.css";

View File

@ -0,0 +1,27 @@
.docusaurus-mermaid-container {
/* Improve contrast. */
& .messageText {
stroke: var(--ifm-background-color) !important;
stroke-width: 4;
fill: var(--ifm-color-content) !important;
paint-order: stroke;
}
}
.markdown {
/* Remove empty table headers. */
& table > thead:has(> tr > th:empty):not(:has(> tr > th:not(:empty))) {
display: none;
}
}
.contains-task-list {
input[type="checkbox"] {
appearance: none;
}
input[type="checkbox"]::after {
content: "✓";
color: var(--ifm-color-success-dark);
display: inline-block;
}
}

View File

@ -0,0 +1,22 @@
:root {
--ifm-menu-link-padding-vertical: 1em;
}
.menu__list-item {
font-family: var(--ifm-heading-font-family);
font-weight: 400;
}
.navbar-sidebar__items:not(.navbar-sidebar__items--show-secondary) {
--ifm-menu-color: var(--white);
--ifm-menu-color-active: var(--white);
.menu__list-item {
font-size: var(--ifm-h3-font-size);
filter: drop-shadow(0px -1px var(--ifm-color-primary-darker));
}
}
.breadcrumbs__link {
font-weight: 400;
}

View File

@ -0,0 +1,191 @@
:root {
--ifm-navbar-item-padding-horizontal: 0.5rem;
--ifm-navbar-link-color: var(--white);
--ifm-navbar-link-hover-color: var(--white);
--ifm-navbar-link-color: var(--white);
--ifm-navbar-link-hover-color: var(--white);
}
.navbar--fixed-top {
background-color: var(--ifm-color-primary);
box-shadow: none;
}
.navbar .navbar__inner {
margin: 0 auto;
max-width: 1600px;
}
/* Nav header background color on mobile */
.navbar-sidebar__brand,
.navbar-sidebar__items {
background-color: var(--ifm-color-primary);
}
.navbar__toggle,
.navbar-sidebar__brand .clean-btn,
.navbar__items--right .clean-btn {
color: var(--white);
&:hover {
background-color: var(--ifm-hover-overlay);
}
}
.navbar-sidebar__brand .navbar-sidebar__close {
--ifm-color-emphasis-600: var(--white);
}
.navbar__item.navbar__link {
user-select: none;
}
.navbar__items:not(.navbar__items--right) {
.navbar__item.navbar__link {
margin-block-start: 0.1em;
border-radius: var(--ifm-badge-border-radius);
}
.navbar__item.navbar__link.navbar__link--active {
background: #fff;
color: var(--ifm-color-primary);
}
.navbar__item.navbar__link:not(.navbar__link--active):hover {
background: var(--ifm-hover-overlay);
color: #fff;
}
.navbar__item.navbar__link + .navbar__item.navbar__link {
margin-inline-start: calc(var(--ifm-navbar-padding-horizontal) / 2);
}
}
.navbar__item.navbar__link {
font-weight: 600;
}
.navbar--fixed-top .navbar__inner .navbar__item {
filter: drop-shadow(0px -1px var(--ifm-color-primary-darker));
}
@media (min-width: 1120px) {
.navbar--fixed-top .navbar__items:not(.navbar__items--right) {
--ifm-navbar-item-padding-horizontal: 1rem;
}
.docs-wrapper .navbar {
margin: 0;
padding-inline-start: 0;
}
.navbar__brand {
justify-content: center;
}
.docs-wrapper .navbar__brand {
width: var(--doc-sidebar-width);
margin: 0;
}
.navbar__item.navbar__link {
font-size: 1.1rem;
}
}
.navbar__logo {
margin: 0 0.75rem 0.2rem 0;
}
.navbar__items--right {
display: grid;
--ifm-hover-overlay: hsl(0deg 0% 100% / 25%);
--ifm-navbar-item-padding-horizontal: 0.75rem;
.navbar__item.navbar__link {
grid-row: 1;
&:first-child {
grid-column: 1 / span 1;
}
&:nth-child(2) {
grid-column: 2 / span 1;
}
}
div:has(.DocSearch) {
grid-column: 5 / span 1;
grid-row: 1;
@media (min-width: 999px) {
border-inline-start: 1px solid var(--ifm-hover-overlay);
margin-inline-start: calc(
var(--ifm-navbar-item-padding-horizontal) / 2
);
padding-inline-start: calc(
var(--ifm-navbar-item-padding-horizontal) / 2
);
}
}
div:has(.clean-btn) {
grid-column: 6 / span 1;
grid-row: 1;
}
}
.DocSearch-Button {
--docsearch-primary-color: var(--ifm-color-primary-darkest);
--docsearch-text-color: var(--ifm-navbar-link-color);
--docsearch-searchbox-shadow: unset;
--docsearch-searchbox-background: transparent;
--docsearch-searchbox-focus-background: var(--ifm-hover-overlay);
--docsearch-muted-color: hsl(0 0% 85% / 1);
--docsearch-key-gradient: linear-gradient(
-26.5deg,
hsl(236.47deg 43.59% 77.06%),
hsl(236.84deg 34.55% 10.78%)
);
--docsearch-key-shadow:
inset 0 -2px 0 0 hsl(233.33deg 36% 24.51%),
inset 0 0 1px 1px hsl(232.11deg 34.86% 57.25%),
0 2px 2px 0 rgba(3, 4, 9, 0.3);
--docsearch-key-pressed-shadow:
inset 0 -2px 0 0 #282d55,
inset 0 0 1px 1px hsl(231.82deg 21.36% 40.39%),
0 1px 1px 0 hsl(230deg 50% 2.35% / 30.2%);
padding: var(--ifm-navbar-item-padding-vertical)
var(--ifm-navbar-item-padding-horizontal) !important;
padding-inline-end: calc(
var(--ifm-navbar-item-padding-horizontal) * 1.25
) !important;
.DocSearch-Button-Placeholder {
font-family: var(--ifm-heading-font-family);
color: var(--ifm-navbar-link-color);
font-weight: 600;
font-size: 1.1rem;
padding: 0;
}
.DocSearch-Button-Container {
gap: 0.5em;
}
.DocSearch-Search-Icon {
stroke-width: 1.75;
}
.DocSearch-Button-Keys {
display: none;
}
}
.DocSearch-Button-Key {
font-weight: 500;
}

View File

@ -0,0 +1,19 @@
:root {
--white: hsl(0deg 0% 95%);
--ifm-color-primary: #fd4b2d;
--ifm-color-primary-dark: #fd320f;
--ifm-color-primary-darker: #fb2602;
--ifm-color-primary-darkest: #cf1f02;
--ifm-color-primary-light: #fd644b;
--ifm-color-primary-lighter: #fd7159;
--ifm-color-primary-lightest: #fe9786;
--ifm-hover-overlay: hsl(0deg 0% 100% / 25%);
--ifm-color-content: hsl(216 35% 3%);
}
body {
overscroll-behavior-x: none;
}

View File

@ -0,0 +1,20 @@
.theme-doc-sidebar-menu .dropdown {
display: block;
padding: 0;
}
.theme-doc-sidebar-menu .navbar__link {
color: var(--ifm-menu-color);
}
.theme-doc-sidebar-menu .dropdown__menu {
left: 0;
}
.theme-doc-sidebar-menu hr {
margin-top: calc(var(--ifm-hr-margin-vertical) / 2);
margin-right: -0.5rem;
}
.clean-list {
font-weight: 500;
}

View File

@ -0,0 +1,6 @@
/**
* @file Docusaurus configuration for the authentik website.
*/
export * from "./lib/theme.js";
export * from "./lib/common.js";

View File

@ -0,0 +1,70 @@
/**
* @file Common Docusaurus configuration utilities.
*
* @import { Config as DocusaurusConfig } from "@docusaurus/types"
* @import { UserThemeConfig } from "./theme.js"
*/
import { deepmerge } from "deepmerge-ts";
import { createThemeConfig } from "./theme.js";
//#region Types
/**
* @typedef {Omit<DocusaurusConfig, 'themeConfig'>} DocusaurusConfigBase
*
* Represents the base configuration for Docusaurus, excluding the theme configuration.
*/
/**
* @typedef DocusaurusConfigBaseTheme
* @property {UserThemeConfig} themeConfig The theme configuration.
*
* Represents a configuration object, only including the theme configuration.
*/
/**
* @typedef {Partial<DocusaurusConfigBase & DocusaurusConfigBaseTheme>} DocusaurusConfigInit
*
* The initial configuration for Docusaurus.
*
* @remarks
* This type is the result of Docusaurs's less than ideal type definitions.
* Much of the configuration is not strictly typed, however, this type
* is a good starting point.
*/
//#endregion
//#region Functions
/**
* Create a Docusaurus configuration.
*
* @param {DocusaurusConfigInit} [overrides] The options to override.
* @returns {DocusaurusConfig}
*/
export function createDocusaurusConfig({ themeConfig, ...overrides } = {}) {
/**
* @type {DocusaurusConfig}
*/
const config = {
title: "authentik",
tagline: "Bring all of your authentication into a unified platform.",
url: "https://docs.goauthentik.io",
baseUrl: "/",
onBrokenLinks: "throw",
onBrokenAnchors: "throw",
favicon: "img/icon.png",
organizationName: "Authentik Security Inc.",
projectName: "authentik",
markdown: {
mermaid: true,
},
themeConfig: createThemeConfig(themeConfig),
};
return deepmerge(config, overrides);
}
//#endregion

View File

@ -0,0 +1,85 @@
/**
* @file Docusaurus theme configuration for the authentik website.
*
* @import { UserThemeConfig as UserThemeConfigCommon } from "@docusaurus/theme-common";
* @import { UserThemeConfig as UserThemeConfigAlgolia } from "@docusaurus/theme-search-algolia";
*/
import { deepmerge } from "deepmerge-ts";
import { themes as prismThemes } from "prism-react-renderer";
//#region Types
/**
* Combined theme configuration for Docusaurus and Algolia.
*
* @typedef {UserThemeConfigCommon & UserThemeConfigAlgolia} UserThemeConfig
*/
//#endregion
//#region Functions
/**
* @returns {string} The copyright string.
*/
export function formatCopyright() {
return `Copyright © ${new Date().getFullYear()} Authentik Security Inc. Built with Docusaurus.`;
}
/**
* Creates a Prisma configuration for Docusaurus.
*
* @param {Partial<UserThemeConfigCommon['prism']>} overrides - Overrides for the default Prisma configuration.
* @returns {UserThemeConfigCommon['prism']}
*/
export function createPrismConfig(overrides = {}) {
/**
* @type {UserThemeConfigCommon['prism']}
*/
const prismConfig = {
theme: prismThemes.oneLight,
darkTheme: prismThemes.oneDark,
additionalLanguages: [
// ---
"apacheconf",
"diff",
"http",
"json",
"nginx",
"python",
"bash",
],
};
return deepmerge(prismConfig, overrides);
}
/**
* Creates a theme configuration for Docusaurus.
*
* @param {Partial<UserThemeConfig>} overrides - Overrides for the default theme configuration.
* @returns {UserThemeConfig}
*/
export function createThemeConfig({ prism, ...overrides } = {}) {
/**
* @type {UserThemeConfig}
*/
const themeConfig = {
image: "img/social.png",
tableOfContents: {
minHeadingLevel: 2,
maxHeadingLevel: 3,
},
colorMode: {
respectPrefersColorScheme: true,
},
algolia: {
appId: "36ROD0O0FV",
apiKey: "727db511300ca9aec5425645bbbddfb5",
},
prism: createPrismConfig(prism),
};
return deepmerge(themeConfig, overrides);
}

20973
packages/docusaurus-config/package-lock.json generated Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,55 @@
{
"name": "@goauthentik/docusaurus-config",
"version": "1.0.4",
"description": "authentik's Docusaurus config",
"license": "MIT",
"scripts": {
"build": "tsc -p ."
},
"type": "module",
"exports": {
"./package.json": "./package.json",
".": {
"import": "./index.js",
"types": "./out/index.d.ts"
},
"./css/*.css": "./css/*.css"
},
"dependencies": {
"deepmerge-ts": "^7.1.5",
"prism-react-renderer": "^2.4.1"
},
"devDependencies": {
"@docusaurus/core": "^3.7.0",
"@docusaurus/preset-classic": "^3.7.0",
"@docusaurus/theme-common": "^3.7.0",
"@docusaurus/theme-mermaid": "^3.7.0",
"@goauthentik/prettier-config": "^1.0.1",
"@goauthentik/tsconfig": "^1.0.1",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"typescript": "^5.8.2"
},
"peerDependencies": {
"@docusaurus/core": "^3.7.0",
"@docusaurus/preset-classic": "^3.7.0",
"@docusaurus/theme-common": "^3.7.0",
"@docusaurus/theme-mermaid": "^3.7.0",
"react": "^18.0.0",
"react-dom": "^18.0.0"
},
"engines": {
"node": ">=20.11"
},
"types": "./out/index.d.ts",
"files": [
"./index.js",
"lib/**/*",
"css/**/*",
"out/**/*"
],
"prettier": "@goauthentik/prettier-config",
"publishConfig": {
"access": "public"
}
}

View File

@ -0,0 +1,8 @@
{
"extends": "@goauthentik/tsconfig",
"compilerOptions": {
"baseUrl": ".",
"checkJs": true,
"emitDeclarationOnly": true
}
}