Compare commits
38 Commits
api/nested
...
web/parts/
Author | SHA1 | Date | |
---|---|---|---|
c3f8c7bd8a | |||
06d8ea81e5 | |||
c04eebdb2f | |||
781249681e | |||
19f25d5aa7 | |||
ffbe8fb598 | |||
2279768e6f | |||
675e60b816 | |||
e338bef104 | |||
457b61c5b4 | |||
25eefb7d55 | |||
50d2f69332 | |||
7d972ec711 | |||
854427e463 | |||
be349e2e14 | |||
bd0e81b8ad | |||
f6afb59515 | |||
dddde09be5 | |||
6d7fc94698 | |||
1dcf9108ad | |||
7bb6a3dfe6 | |||
9cc440eee1 | |||
fe9e4526ac | |||
20b66f850c | |||
67b327414b | |||
5b8d86b5a9 | |||
67aed3e318 | |||
9809b94030 | |||
e7527c551b | |||
36b10b434a | |||
831797b871 | |||
5cc2c0f45f | |||
32442766f4 | |||
75790909a8 | |||
e0d5df89ca | |||
f25a9c624e | |||
914993a788 | |||
89dad07a66 |
@ -52,7 +52,7 @@ const assetsFileMappings = [
|
|||||||
["node_modules/@patternfly/patternfly/patternfly.min.css", "."],
|
["node_modules/@patternfly/patternfly/patternfly.min.css", "."],
|
||||||
["node_modules/@patternfly/patternfly/assets/**", ".", "node_modules/@patternfly/patternfly/"],
|
["node_modules/@patternfly/patternfly/assets/**", ".", "node_modules/@patternfly/patternfly/"],
|
||||||
["src/custom.css", "."],
|
["src/custom.css", "."],
|
||||||
["src/common/styles/**", "."],
|
["packages/common/dist/styles/**", "."],
|
||||||
["src/assets/images/**", "./assets/images"],
|
["src/assets/images/**", "./assets/images"],
|
||||||
["./icons/*", "./assets/icons"],
|
["./icons/*", "./assets/icons"],
|
||||||
];
|
];
|
||||||
|
1337
web/package-lock.json
generated
1337
web/package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -177,6 +177,7 @@
|
|||||||
],
|
],
|
||||||
"dependencies": [
|
"dependencies": [
|
||||||
"build-locales",
|
"build-locales",
|
||||||
|
"./packages/common:build",
|
||||||
"./packages/sfe:build"
|
"./packages/sfe:build"
|
||||||
],
|
],
|
||||||
"env": {
|
"env": {
|
||||||
|
16
web/packages/common/.prettierignore
Normal file
16
web/packages/common/.prettierignore
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
# don't ever lint node_modules
|
||||||
|
node_modules
|
||||||
|
# don't lint build output (make sure it's set to your correct build folder name)
|
||||||
|
dist
|
||||||
|
# don't lint nyc coverage output
|
||||||
|
coverage
|
||||||
|
# Import order matters
|
||||||
|
poly.ts
|
||||||
|
src/locale-codes.ts
|
||||||
|
src/locales/
|
||||||
|
storybook-static/
|
||||||
|
# Prettier breaks the tsconfig file
|
||||||
|
tsconfig.json
|
||||||
|
.storybook/css-import-maps*
|
||||||
|
package.json
|
||||||
|
packages/**/package.json
|
23
web/packages/common/.prettierrc.json
Normal file
23
web/packages/common/.prettierrc.json
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
{
|
||||||
|
"arrowParens": "always",
|
||||||
|
"bracketSpacing": true,
|
||||||
|
"embeddedLanguageFormatting": "auto",
|
||||||
|
"htmlWhitespaceSensitivity": "css",
|
||||||
|
"insertPragma": false,
|
||||||
|
"jsxSingleQuote": false,
|
||||||
|
"printWidth": 100,
|
||||||
|
"proseWrap": "preserve",
|
||||||
|
"quoteProps": "consistent",
|
||||||
|
"requirePragma": false,
|
||||||
|
"semi": true,
|
||||||
|
"singleQuote": false,
|
||||||
|
"tabWidth": 4,
|
||||||
|
"trailingComma": "all",
|
||||||
|
"useTabs": false,
|
||||||
|
"vueIndentScriptAndStyle": false,
|
||||||
|
"plugins": ["@trivago/prettier-plugin-sort-imports"],
|
||||||
|
"importOrder": ["^(@?)lit(.*)$", "\\.css$", "^@goauthentik/api$", "^[./]"],
|
||||||
|
"importOrderSeparation": true,
|
||||||
|
"importOrderSortSpecifiers": true,
|
||||||
|
"importOrderParserPlugins": ["typescript", "classProperties", "decorators-legacy"]
|
||||||
|
}
|
93
web/packages/common/README.md
Normal file
93
web/packages/common/README.md
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
# @goauthentik/common
|
||||||
|
|
||||||
|
The `common` package is a bit of a grab-bag of tools, utilities, and configuration details used
|
||||||
|
throughout the Authentik front-end suite. Here, we'll try (emphasis on the _try_) to document what
|
||||||
|
each part does.
|
||||||
|
|
||||||
|
- `./api`
|
||||||
|
|
||||||
|
The `./api` folder contains helpers and plug-ins for communicating with the Authentik API. Its
|
||||||
|
primary purpose is to provide the default configuration details for establishing a channel to the
|
||||||
|
API, as well as figuring out the default locale, branding information, and even the favicon. (See
|
||||||
|
what I said about it being a grab-bag?) It has its own list of todos.
|
||||||
|
|
||||||
|
- `/helpers/plex`
|
||||||
|
|
||||||
|
Contains configuration tools and access for the Plex TV client. Used by all three primary
|
||||||
|
interfaces, but again, not exactly a foundational tool.
|
||||||
|
|
||||||
|
- `/helpers/webauthn`
|
||||||
|
|
||||||
|
Used entirely by the WebAuthn tools in the Flow interface.
|
||||||
|
|
||||||
|
- `/styles`:
|
||||||
|
|
||||||
|
authentik's overrides for patternfly and dark mode.
|
||||||
|
|
||||||
|
TODO: Move this into its own package.
|
||||||
|
|
||||||
|
- `/ui`:
|
||||||
|
|
||||||
|
Describes the schema of the UIConfig Attributes Object, which dictates certain details about UI
|
||||||
|
behavior, such as the preliminary state of drawers, editors, and layouts. It also has an API call
|
||||||
|
to fetch that UIConfig object from the server.
|
||||||
|
|
||||||
|
- `/constants.ts`
|
||||||
|
|
||||||
|
Another grab-bag of configuration details: event names, default classnames for setting some visual
|
||||||
|
details, web socket message type tokens, and the localstorage key.
|
||||||
|
|
||||||
|
- `/enums.ts`
|
||||||
|
|
||||||
|
Contains one thing: a mapping of generic UI sizing terms to specific classnames in the CSS.
|
||||||
|
|
||||||
|
- `./errors.ts`
|
||||||
|
|
||||||
|
An error handling toolkit related to the `./api` above.
|
||||||
|
|
||||||
|
- `./events.ts`
|
||||||
|
|
||||||
|
An extension of the API's "Event" types to assist in reporting server-side events to the user. Has
|
||||||
|
nothing to do with the browser's internal Event type. Used entirely within `./admin`, may be
|
||||||
|
suitable to being moved there.
|
||||||
|
|
||||||
|
- `./global.ts`
|
||||||
|
|
||||||
|
A single function that retrieves any global information for the UI from the `index.html` file in
|
||||||
|
which it was invoked. Used by our Django application to preload configuration information.
|
||||||
|
|
||||||
|
- `./labels.ts`,
|
||||||
|
|
||||||
|
Maps a variety of API tokens to human-readable labels, including those for:
|
||||||
|
|
||||||
|
- Events
|
||||||
|
- Severities
|
||||||
|
- User Types
|
||||||
|
- Stage Intent
|
||||||
|
|
||||||
|
It might make more sense to move these closer to where they're used, if their use is local to a
|
||||||
|
single interface or component.
|
||||||
|
|
||||||
|
- `./messages.ts`
|
||||||
|
|
||||||
|
Contains one thing: a mapping of generic UI alert-level terms to specific classnames in the CSS.
|
||||||
|
|
||||||
|
- `./sentry.ts`
|
||||||
|
|
||||||
|
Sentry is an application monitoring package for finding code breakage. The Sentry configuration for
|
||||||
|
all of our interfaces is kept here.
|
||||||
|
|
||||||
|
- `./users.ts`
|
||||||
|
|
||||||
|
Despite the plural name, this is entirely about getting the current user's configuration from the
|
||||||
|
server. Used by all three major interfaces. Could probably be replaced by a context. (Possibly
|
||||||
|
already has been.)
|
||||||
|
|
||||||
|
- `./utils.ts`
|
||||||
|
|
||||||
|
The classic junk drawer of UI development. A few string functions, a few utilities from
|
||||||
|
YouMightNotNeedLodash, a slugifier, some date handling utilities, that sort of thing.
|
||||||
|
|
||||||
|
- `./ws.ts`
|
||||||
|
|
||||||
|
Sets up our web socket for receiving server-side events. Used by all three major interfaces.
|
53
web/packages/common/build.mjs
Normal file
53
web/packages/common/build.mjs
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
import * as esbuild from "esbuild";
|
||||||
|
import fs from "fs";
|
||||||
|
import { globSync } from "glob";
|
||||||
|
import path from "path";
|
||||||
|
import { cwd } from "process";
|
||||||
|
import { fileURLToPath } from "url";
|
||||||
|
|
||||||
|
const __dirname = fileURLToPath(new URL(".", import.meta.url));
|
||||||
|
|
||||||
|
const isProdBuild = process.env.NODE_ENV === "production";
|
||||||
|
|
||||||
|
const apiBasePath = process.env.AK_API_BASE_PATH || "";
|
||||||
|
|
||||||
|
const definitions = {
|
||||||
|
"process.env.NODE_ENV": JSON.stringify(isProdBuild ? "production" : "development"),
|
||||||
|
"process.env.CWD": JSON.stringify(cwd()),
|
||||||
|
"process.env.AK_API_BASE_PATH": JSON.stringify(apiBasePath),
|
||||||
|
};
|
||||||
|
|
||||||
|
const otherFiles = [["src/styles/**", "styles"]];
|
||||||
|
|
||||||
|
const isFile = (filePath) => fs.statSync(filePath).isFile();
|
||||||
|
function nameCopyTarget(src, dest, strip) {
|
||||||
|
const target = path.join(dest, strip ? src.replace(strip, "") : path.parse(src).base);
|
||||||
|
return [src, target];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const [source, rawdest, strip] of otherFiles) {
|
||||||
|
const matchedPaths = globSync(source);
|
||||||
|
const dest = path.join("dist", rawdest);
|
||||||
|
const copyTargets = matchedPaths.map((path) => nameCopyTarget(path, dest, strip));
|
||||||
|
for (const [src, dest] of copyTargets) {
|
||||||
|
if (isFile(src)) {
|
||||||
|
fs.mkdirSync(path.dirname(dest), { recursive: true });
|
||||||
|
fs.copyFileSync(src, dest);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const tsfiles = globSync("src/**/*.ts");
|
||||||
|
|
||||||
|
esbuild
|
||||||
|
.build({
|
||||||
|
entryPoints: tsfiles,
|
||||||
|
sourcemap: true,
|
||||||
|
bundle: false,
|
||||||
|
tsconfig: "./tsconfig.build.json",
|
||||||
|
outdir: "dist/",
|
||||||
|
format: "esm",
|
||||||
|
define: definitions,
|
||||||
|
loader: { ".css": "text" },
|
||||||
|
})
|
||||||
|
.catch(() => process.exit(1));
|
82
web/packages/common/eslint.config.mjs
Normal file
82
web/packages/common/eslint.config.mjs
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
import eslint from "@eslint/js";
|
||||||
|
import tsparser from "@typescript-eslint/parser";
|
||||||
|
import litconf from "eslint-plugin-lit";
|
||||||
|
import wcconf from "eslint-plugin-wc";
|
||||||
|
import globals from "globals";
|
||||||
|
import tseslint from "typescript-eslint";
|
||||||
|
|
||||||
|
export default [
|
||||||
|
// You would not believe how much this change has frustrated users: ["if an ignores key is used
|
||||||
|
// without any other keys in the configuration object, then the patterns act as global
|
||||||
|
// ignores"](https://eslint.org/docs/latest/use/configure/ignore)
|
||||||
|
{
|
||||||
|
ignores: [
|
||||||
|
"dist/",
|
||||||
|
".wireit/",
|
||||||
|
"packages/common/.wireit/",
|
||||||
|
// don't ever lint node_modules
|
||||||
|
"node_modules/",
|
||||||
|
".storybook/*",
|
||||||
|
// don't lint build output (make sure it's set to your correct build folder name)
|
||||||
|
// don't lint nyc coverage output
|
||||||
|
"coverage/",
|
||||||
|
"src/locale-codes.ts",
|
||||||
|
"storybook-static/",
|
||||||
|
"src/locales/",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
eslint.configs.recommended,
|
||||||
|
wcconf.configs["flat/recommended"],
|
||||||
|
litconf.configs["flat/recommended"],
|
||||||
|
...tseslint.configs.recommended,
|
||||||
|
{
|
||||||
|
languageOptions: {
|
||||||
|
parser: tsparser,
|
||||||
|
parserOptions: {
|
||||||
|
ecmaVersion: 12,
|
||||||
|
sourceType: "module",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
files: ["src/**"],
|
||||||
|
rules: {
|
||||||
|
"no-unused-vars": "off",
|
||||||
|
"no-console": ["error", { allow: ["debug", "warn", "error"] }],
|
||||||
|
"@typescript-eslint/ban-ts-comment": "off",
|
||||||
|
"@typescript-eslint/no-unused-vars": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
argsIgnorePattern: "^_",
|
||||||
|
varsIgnorePattern: "^_",
|
||||||
|
caughtErrorsIgnorePattern: "^_",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
languageOptions: {
|
||||||
|
parser: tsparser,
|
||||||
|
parserOptions: {
|
||||||
|
ecmaVersion: 12,
|
||||||
|
sourceType: "module",
|
||||||
|
},
|
||||||
|
globals: {
|
||||||
|
...globals.nodeBuiltin,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
files: ["scripts/*.mjs", "*.ts", "*.mjs"],
|
||||||
|
rules: {
|
||||||
|
"no-unused-vars": "off",
|
||||||
|
// We WANT our scripts to output to the console!
|
||||||
|
"no-console": "off",
|
||||||
|
"@typescript-eslint/ban-ts-comment": "off",
|
||||||
|
"@typescript-eslint/no-unused-vars": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
argsIgnorePattern: "^_",
|
||||||
|
varsIgnorePattern: "^_",
|
||||||
|
caughtErrorsIgnorePattern: "^_",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
5199
web/packages/common/package-lock.json
generated
Normal file
5199
web/packages/common/package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
156
web/packages/common/package.json
Normal file
156
web/packages/common/package.json
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
{
|
||||||
|
"name": "@goauthentik/common",
|
||||||
|
"version": "0.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"@sentry/browser": "^8.23.0",
|
||||||
|
"@types/webappsec-credential-management": "^0.6.8",
|
||||||
|
"base64-js": "^1.5.1"
|
||||||
|
},
|
||||||
|
"devDependencies": {
|
||||||
|
"@eslint/js": "^9.8.0",
|
||||||
|
"@types/eslint__js": "^8.42.3",
|
||||||
|
"esbuild": "^0.23.0",
|
||||||
|
"eslint": "^9.8.0",
|
||||||
|
"eslint-config-google": "^0.14.0",
|
||||||
|
"eslint-config-nightmare-mode": "^2.3.0",
|
||||||
|
"eslint-plugin-custom-elements": "^0.0.8",
|
||||||
|
"eslint-plugin-lit": "^1.14.0",
|
||||||
|
"eslint-plugin-sonarjs": "^1.0.4",
|
||||||
|
"glob": "^11.0.0",
|
||||||
|
"lit-analyzer": "^2.0.3",
|
||||||
|
"lockfile-lint": "^4.14.0",
|
||||||
|
"prettier": "^3.3.3",
|
||||||
|
"rimraf": "^6.0.1",
|
||||||
|
"syncpack": "^12.4.0",
|
||||||
|
"typescript": "^5.5.4",
|
||||||
|
"typescript-eslint": "^8.0.1",
|
||||||
|
"typesync": "^0.13.0",
|
||||||
|
"wireit": "^0.14.4"
|
||||||
|
},
|
||||||
|
"exports": {
|
||||||
|
"./*": "./dist/*"
|
||||||
|
},
|
||||||
|
"files": [
|
||||||
|
"./dist/**/*"
|
||||||
|
],
|
||||||
|
"license": "MIT",
|
||||||
|
"peerDependencies": {
|
||||||
|
"@lit/localize": "^0.12.2",
|
||||||
|
"lit": "^3.2.0"
|
||||||
|
},
|
||||||
|
"private": true,
|
||||||
|
"scripts": {
|
||||||
|
"build": "wireit",
|
||||||
|
"build:types": "wireit",
|
||||||
|
"format": "wireit",
|
||||||
|
"lint": "wireit",
|
||||||
|
"lint:lockfile": "wireit",
|
||||||
|
"lint:nightmare": "wireit",
|
||||||
|
"lint:package": "wireit",
|
||||||
|
"lint:spelling": "wireit",
|
||||||
|
"lint:types": "wireit",
|
||||||
|
"precommit": "wireit",
|
||||||
|
"prettier": "wireit"
|
||||||
|
},
|
||||||
|
"type": "module",
|
||||||
|
"wireit": {
|
||||||
|
"build": {
|
||||||
|
"command": "${NODE_RUNNER} build.mjs",
|
||||||
|
"dependencies": [
|
||||||
|
"build:types"
|
||||||
|
],
|
||||||
|
"files": [
|
||||||
|
"src/**/*.{css,jpg,png,ts,js,json}",
|
||||||
|
"!src/**/*.stories.ts",
|
||||||
|
"!src/**/*.tests.ts",
|
||||||
|
"!src/locales/*.ts",
|
||||||
|
"!src/locale-codes.ts"
|
||||||
|
],
|
||||||
|
"output": [
|
||||||
|
"./dist/**/*.js",
|
||||||
|
"./dist/**/*.css"
|
||||||
|
],
|
||||||
|
"env": {
|
||||||
|
"NODE_RUNNER": {
|
||||||
|
"external": true,
|
||||||
|
"default": "node"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"build:types": {
|
||||||
|
"command": "tsc --declaration -p .",
|
||||||
|
"files": [
|
||||||
|
"src/**/*.ts",
|
||||||
|
"!src/**/*.stories.ts",
|
||||||
|
"!src/**/*.tests.ts"
|
||||||
|
],
|
||||||
|
"output": [
|
||||||
|
"./dist/**/*.d.ts"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"lint": {
|
||||||
|
"command": "eslint --max-warnings 0 --fix --config ./eslint.config.mjs",
|
||||||
|
"env": {
|
||||||
|
"NODE_OPTIONS": "--max_old_space_size=65536"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lint:types": {
|
||||||
|
"command": "tsc --noEmit -p ."
|
||||||
|
},
|
||||||
|
"lint:lockfile": {
|
||||||
|
"command": "lockfile-lint --path package.json --type npm --allowed-hosts npm --validate-https"
|
||||||
|
},
|
||||||
|
"lint:package": {
|
||||||
|
"command": "syncpack format -i ' '"
|
||||||
|
},
|
||||||
|
"lint:precommit": {
|
||||||
|
"command": "${NODE_RUNNER} ./scripts/eslint.mjs --precommit",
|
||||||
|
"env": {
|
||||||
|
"NODE_RUNNER": {
|
||||||
|
"external": true,
|
||||||
|
"default": "node"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lint:nightmare": {
|
||||||
|
"command": "${NODE_RUNNER} ./scripts/eslint.mjs --nightmare",
|
||||||
|
"env": {
|
||||||
|
"NODE_RUNNER": {
|
||||||
|
"external": true,
|
||||||
|
"default": "node"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"prettier": {
|
||||||
|
"command": "prettier --write .",
|
||||||
|
"dependencies": [
|
||||||
|
"lint:package"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"format": {
|
||||||
|
"command": "prettier --write .",
|
||||||
|
"dependencies": [
|
||||||
|
"lint:package"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"precommit": {
|
||||||
|
"command": "prettier --write .",
|
||||||
|
"dependencies": [
|
||||||
|
"lint:types",
|
||||||
|
"lint:spelling",
|
||||||
|
"lint:lockfile",
|
||||||
|
"lint:package",
|
||||||
|
"lint:precommit"
|
||||||
|
],
|
||||||
|
"env": {
|
||||||
|
"NODE_RUNNER": {
|
||||||
|
"external": true,
|
||||||
|
"default": "node"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"lint:spelling": {
|
||||||
|
"command": "node scripts/check-spelling.mjs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
15
web/packages/common/scripts/check-spelling.mjs
Normal file
15
web/packages/common/scripts/check-spelling.mjs
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { execSync } from "child_process";
|
||||||
|
import path from "path";
|
||||||
|
|
||||||
|
const projectRoot = execSync("git rev-parse --show-toplevel", { encoding: "utf8" }).replace(
|
||||||
|
"\n",
|
||||||
|
"",
|
||||||
|
);
|
||||||
|
const cmd = [
|
||||||
|
"codespell -D -",
|
||||||
|
`-D ${path.join(projectRoot, ".github/codespell-dictionary.txt")}`,
|
||||||
|
`-I ${path.join(projectRoot, ".github/codespell-words.txt")}`,
|
||||||
|
"-S './src/locales/**' ./src -s",
|
||||||
|
].join(" ");
|
||||||
|
|
||||||
|
console.log(execSync(cmd, { encoding: "utf8" }));
|
56
web/packages/common/scripts/eslint.mjs
Normal file
56
web/packages/common/scripts/eslint.mjs
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
import { execFileSync } from "child_process";
|
||||||
|
import { ESLint } from "eslint";
|
||||||
|
import fs from "fs";
|
||||||
|
import path from "path";
|
||||||
|
import process from "process";
|
||||||
|
import { fileURLToPath } from "url";
|
||||||
|
|
||||||
|
const __dirname = fileURLToPath(new URL(".", import.meta.url));
|
||||||
|
const projectRoot = path.join(__dirname, "..");
|
||||||
|
process.chdir(projectRoot);
|
||||||
|
|
||||||
|
function changedFiles() {
|
||||||
|
const gitStatus = execFileSync("git", ["diff", "--name-only", "HEAD"], { encoding: "utf8" });
|
||||||
|
const gitUntracked = execFileSync("git", ["ls-files", "--others", "--exclude-standard"], {
|
||||||
|
encoding: "utf8",
|
||||||
|
});
|
||||||
|
|
||||||
|
const changed = gitStatus
|
||||||
|
.split("\n")
|
||||||
|
.filter((line) => line.trim().substring(0, 4) === "web/")
|
||||||
|
.filter((line) => /\.(m|c)?(t|j)s$/.test(line))
|
||||||
|
.map((line) => line.substring(4))
|
||||||
|
.filter((line) => fs.existsSync(line));
|
||||||
|
|
||||||
|
const untracked = gitUntracked
|
||||||
|
.split("\n")
|
||||||
|
.filter((line) => /\.(m|c)?(t|j)s$/.test(line))
|
||||||
|
.filter((line) => fs.existsSync(line));
|
||||||
|
|
||||||
|
const sourceFiles = [...changed, ...untracked].filter((line) => /^src\//.test(line));
|
||||||
|
const scriptFiles = [...changed, ...untracked].filter(
|
||||||
|
(line) => /^scripts\//.test(line) || !/^src\//.test(line),
|
||||||
|
);
|
||||||
|
|
||||||
|
return [...sourceFiles, ...scriptFiles];
|
||||||
|
}
|
||||||
|
|
||||||
|
const hasFlag = (flags) => process.argv.length > 1 && flags.includes(process.argv[2]);
|
||||||
|
|
||||||
|
const [configFile, files] = hasFlag(["-n", "--nightmare"])
|
||||||
|
? [path.join(__dirname, "eslint.nightmare.mjs"), changedFiles()]
|
||||||
|
: hasFlag(["-p", "--precommit"])
|
||||||
|
? [path.join(__dirname, "eslint.precommit.mjs"), changedFiles()]
|
||||||
|
: [path.join(projectRoot, "eslint.config.mjs"), ["."]];
|
||||||
|
|
||||||
|
const eslint = new ESLint({
|
||||||
|
overrideConfigFile: configFile,
|
||||||
|
warnIgnored: false,
|
||||||
|
});
|
||||||
|
|
||||||
|
const results = await eslint.lintFiles(files);
|
||||||
|
const formatter = await eslint.loadFormatter("stylish");
|
||||||
|
const resultText = formatter.format(results);
|
||||||
|
const errors = results.reduce((acc, result) => acc + result.errorCount, 0);
|
||||||
|
console.log(resultText);
|
||||||
|
process.exit(errors > 1 ? 1 : 0);
|
203
web/packages/common/scripts/eslint.nightmare.mjs
Normal file
203
web/packages/common/scripts/eslint.nightmare.mjs
Normal file
@ -0,0 +1,203 @@
|
|||||||
|
import eslint from "@eslint/js";
|
||||||
|
import tsparser from "@typescript-eslint/parser";
|
||||||
|
import litconf from "eslint-plugin-lit";
|
||||||
|
import sonar from "eslint-plugin-sonarjs";
|
||||||
|
import wcconf from "eslint-plugin-wc";
|
||||||
|
import globals from "globals";
|
||||||
|
import tseslint from "typescript-eslint";
|
||||||
|
|
||||||
|
export default [
|
||||||
|
// You would not believe how much this change has frustrated users: ["if an ignores key is used
|
||||||
|
// without any other keys in the configuration object, then the patterns act as global
|
||||||
|
// ignores"](https://eslint.org/docs/latest/use/configure/ignore)
|
||||||
|
{
|
||||||
|
ignores: [
|
||||||
|
"dist/",
|
||||||
|
// don't ever lint node_modules
|
||||||
|
"node_modules/",
|
||||||
|
".storybook/",
|
||||||
|
".wireit/",
|
||||||
|
// don't lint build output (make sure it's set to your correct build folder name)
|
||||||
|
// don't lint nyc coverage output
|
||||||
|
"coverage/",
|
||||||
|
"src/locale-codes.ts",
|
||||||
|
"storybook-static/",
|
||||||
|
"src/locales/",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
eslint.configs.recommended,
|
||||||
|
wcconf.configs["flat/recommended"],
|
||||||
|
litconf.configs["flat/recommended"],
|
||||||
|
...tseslint.configs.recommended,
|
||||||
|
sonar.configs.recommended,
|
||||||
|
{
|
||||||
|
languageOptions: {
|
||||||
|
parser: tsparser,
|
||||||
|
parserOptions: {
|
||||||
|
ecmaVersion: 12,
|
||||||
|
sourceType: "module",
|
||||||
|
},
|
||||||
|
globals: {
|
||||||
|
...globals.browser,
|
||||||
|
process: "readonly",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
files: ["src/**"],
|
||||||
|
rules: {
|
||||||
|
"accessor-pairs": "error",
|
||||||
|
"array-callback-return": "error",
|
||||||
|
"block-scoped-var": "error",
|
||||||
|
"consistent-return": "error",
|
||||||
|
"consistent-this": ["error", "that"],
|
||||||
|
"curly": ["error", "all"],
|
||||||
|
"dot-notation": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
allowKeywords: true,
|
||||||
|
},
|
||||||
|
],
|
||||||
|
"eqeqeq": "error",
|
||||||
|
"func-names": "error",
|
||||||
|
"guard-for-in": "error",
|
||||||
|
"max-depth": ["error", 4],
|
||||||
|
"max-nested-callbacks": ["error", 4],
|
||||||
|
"max-params": ["error", 5],
|
||||||
|
"new-cap": "error",
|
||||||
|
"no-alert": "error",
|
||||||
|
"no-array-constructor": "error",
|
||||||
|
"no-bitwise": "error",
|
||||||
|
"no-caller": "error",
|
||||||
|
"no-case-declarations": "error",
|
||||||
|
"no-class-assign": "error",
|
||||||
|
"no-cond-assign": "error",
|
||||||
|
"no-const-assign": "error",
|
||||||
|
"no-constant-condition": "error",
|
||||||
|
"no-control-regex": "error",
|
||||||
|
"no-debugger": "error",
|
||||||
|
"no-delete-var": "error",
|
||||||
|
"no-div-regex": "error",
|
||||||
|
"no-dupe-args": "error",
|
||||||
|
"no-dupe-keys": "error",
|
||||||
|
"no-duplicate-case": "error",
|
||||||
|
"no-else-return": "error",
|
||||||
|
"no-empty": "error",
|
||||||
|
"no-empty-character-class": "error",
|
||||||
|
"no-empty-function": "error",
|
||||||
|
"no-labels": "error",
|
||||||
|
"no-eq-null": "error",
|
||||||
|
"no-eval": "error",
|
||||||
|
"no-ex-assign": "error",
|
||||||
|
"no-extend-native": "error",
|
||||||
|
"no-extra-bind": "error",
|
||||||
|
"no-extra-boolean-cast": "error",
|
||||||
|
"no-extra-label": "error",
|
||||||
|
"no-fallthrough": "error",
|
||||||
|
"no-func-assign": "error",
|
||||||
|
"no-implied-eval": "error",
|
||||||
|
"no-implicit-coercion": "error",
|
||||||
|
"no-implicit-globals": "error",
|
||||||
|
"no-inner-declarations": ["error", "functions"],
|
||||||
|
"no-invalid-regexp": "error",
|
||||||
|
"no-irregular-whitespace": "error",
|
||||||
|
"no-iterator": "error",
|
||||||
|
"no-invalid-this": "error",
|
||||||
|
"no-label-var": "error",
|
||||||
|
"no-lone-blocks": "error",
|
||||||
|
"no-lonely-if": "error",
|
||||||
|
"no-loop-func": "error",
|
||||||
|
"no-magic-numbers": ["error", { ignore: [0, 1, -1] }],
|
||||||
|
"no-multi-str": "error",
|
||||||
|
"no-negated-condition": "error",
|
||||||
|
"no-nested-ternary": "error",
|
||||||
|
"no-new": "error",
|
||||||
|
"no-new-func": "error",
|
||||||
|
"no-new-wrappers": "error",
|
||||||
|
"no-obj-calls": "error",
|
||||||
|
"no-octal": "error",
|
||||||
|
"no-octal-escape": "error",
|
||||||
|
"no-param-reassign": "error",
|
||||||
|
"no-proto": "error",
|
||||||
|
"no-redeclare": "error",
|
||||||
|
"no-regex-spaces": "error",
|
||||||
|
"no-restricted-syntax": ["error", "WithStatement"],
|
||||||
|
"no-script-url": "error",
|
||||||
|
"no-self-assign": "error",
|
||||||
|
"no-self-compare": "error",
|
||||||
|
"no-sequences": "error",
|
||||||
|
"no-shadow": "warn",
|
||||||
|
"no-shadow-restricted-names": "error",
|
||||||
|
"no-sparse-arrays": "error",
|
||||||
|
"no-this-before-super": "error",
|
||||||
|
"no-throw-literal": "error",
|
||||||
|
"no-trailing-spaces": "error",
|
||||||
|
"no-undef": "error",
|
||||||
|
"no-undef-init": "error",
|
||||||
|
"no-unexpected-multiline": "error",
|
||||||
|
"no-useless-constructor": "error",
|
||||||
|
"no-unmodified-loop-condition": "error",
|
||||||
|
"no-unneeded-ternary": "error",
|
||||||
|
"no-unreachable": "error",
|
||||||
|
"no-unused-expressions": "error",
|
||||||
|
"no-unused-labels": "error",
|
||||||
|
"no-use-before-define": "error",
|
||||||
|
"no-useless-call": "error",
|
||||||
|
"no-dupe-class-members": "error",
|
||||||
|
"no-var": "error",
|
||||||
|
"no-void": "error",
|
||||||
|
"no-with": "error",
|
||||||
|
"prefer-arrow-callback": "error",
|
||||||
|
"prefer-const": "error",
|
||||||
|
"prefer-rest-params": "error",
|
||||||
|
"prefer-spread": "error",
|
||||||
|
"prefer-template": "error",
|
||||||
|
"radix": "error",
|
||||||
|
"require-yield": "error",
|
||||||
|
"strict": ["error", "global"],
|
||||||
|
"use-isnan": "error",
|
||||||
|
"valid-typeof": "error",
|
||||||
|
"vars-on-top": "error",
|
||||||
|
"yoda": ["error", "never"],
|
||||||
|
|
||||||
|
"no-unused-vars": "off",
|
||||||
|
"no-console": ["error", { allow: ["debug", "warn", "error"] }],
|
||||||
|
"sonarjs/cognitive-complexity": ["off", 9],
|
||||||
|
"sonarjs/no-duplicate-string": "off",
|
||||||
|
"sonarjs/no-nested-template-literals": "off",
|
||||||
|
"@typescript-eslint/ban-ts-comment": "off",
|
||||||
|
"@typescript-eslint/no-unused-vars": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
argsIgnorePattern: "^_",
|
||||||
|
varsIgnorePattern: "^_",
|
||||||
|
caughtErrorsIgnorePattern: "^_",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
languageOptions: {
|
||||||
|
parser: tsparser,
|
||||||
|
parserOptions: {
|
||||||
|
ecmaVersion: 12,
|
||||||
|
sourceType: "module",
|
||||||
|
},
|
||||||
|
globals: {
|
||||||
|
...globals.nodeBuiltin,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
files: ["scripts/*.mjs", "*.ts", "*.mjs"],
|
||||||
|
rules: {
|
||||||
|
"no-unused-vars": "off",
|
||||||
|
"no-console": "off",
|
||||||
|
"@typescript-eslint/ban-ts-comment": "off",
|
||||||
|
"@typescript-eslint/no-unused-vars": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
argsIgnorePattern: "^_",
|
||||||
|
varsIgnorePattern: "^_",
|
||||||
|
caughtErrorsIgnorePattern: "^_",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
85
web/packages/common/scripts/eslint.precommit.mjs
Normal file
85
web/packages/common/scripts/eslint.precommit.mjs
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
import eslint from "@eslint/js";
|
||||||
|
import tsparser from "@typescript-eslint/parser";
|
||||||
|
import litconf from "eslint-plugin-lit";
|
||||||
|
import sonar from "eslint-plugin-sonarjs";
|
||||||
|
import wcconf from "eslint-plugin-wc";
|
||||||
|
import globals from "globals";
|
||||||
|
import tseslint from "typescript-eslint";
|
||||||
|
|
||||||
|
export default [
|
||||||
|
// You would not believe how much this change has frustrated users: ["if an ignores key is used
|
||||||
|
// without any other keys in the configuration object, then the patterns act as global
|
||||||
|
// ignores"](https://eslint.org/docs/latest/use/configure/ignore)
|
||||||
|
{
|
||||||
|
ignores: [
|
||||||
|
"dist/",
|
||||||
|
".wireit/",
|
||||||
|
// don't ever lint node_modules
|
||||||
|
"node_modules/",
|
||||||
|
".storybook/*",
|
||||||
|
// don't lint build output (make sure it's set to your correct build folder name)
|
||||||
|
// don't lint nyc coverage output
|
||||||
|
"coverage/",
|
||||||
|
"src/locale-codes.ts",
|
||||||
|
"storybook-static/",
|
||||||
|
"src/locales/",
|
||||||
|
],
|
||||||
|
},
|
||||||
|
eslint.configs.recommended,
|
||||||
|
wcconf.configs["flat/recommended"],
|
||||||
|
litconf.configs["flat/recommended"],
|
||||||
|
...tseslint.configs.recommended,
|
||||||
|
sonar.configs.recommended,
|
||||||
|
{
|
||||||
|
languageOptions: {
|
||||||
|
parser: tsparser,
|
||||||
|
parserOptions: {
|
||||||
|
ecmaVersion: 12,
|
||||||
|
sourceType: "module",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
files: ["src/**"],
|
||||||
|
rules: {
|
||||||
|
"no-unused-vars": "off",
|
||||||
|
"no-console": ["error", { allow: ["debug", "warn", "error"] }],
|
||||||
|
"sonarjs/cognitive-complexity": ["off", 9],
|
||||||
|
"sonarjs/no-duplicate-string": "off",
|
||||||
|
"sonarjs/no-nested-template-literals": "off",
|
||||||
|
"@typescript-eslint/ban-ts-comment": "off",
|
||||||
|
"@typescript-eslint/no-unused-vars": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
argsIgnorePattern: "^_",
|
||||||
|
varsIgnorePattern: "^_",
|
||||||
|
caughtErrorsIgnorePattern: "^_",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
languageOptions: {
|
||||||
|
parser: tsparser,
|
||||||
|
parserOptions: {
|
||||||
|
ecmaVersion: 12,
|
||||||
|
sourceType: "module",
|
||||||
|
},
|
||||||
|
globals: {
|
||||||
|
...globals.nodeBuiltin,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
files: ["scripts/*.mjs", "*.ts", "*.mjs"],
|
||||||
|
rules: {
|
||||||
|
"no-unused-vars": "off",
|
||||||
|
"no-console": "off",
|
||||||
|
"@typescript-eslint/ban-ts-comment": "off",
|
||||||
|
"@typescript-eslint/no-unused-vars": [
|
||||||
|
"error",
|
||||||
|
{
|
||||||
|
argsIgnorePattern: "^_",
|
||||||
|
varsIgnorePattern: "^_",
|
||||||
|
caughtErrorsIgnorePattern: "^_",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
];
|
@ -2,9 +2,9 @@ import {
|
|||||||
CSRFMiddleware,
|
CSRFMiddleware,
|
||||||
EventMiddleware,
|
EventMiddleware,
|
||||||
LoggingMiddleware,
|
LoggingMiddleware,
|
||||||
} from "@goauthentik/common/api/middleware";
|
} from "@goauthentik/common/api/middleware.js";
|
||||||
import { EVENT_LOCALE_REQUEST, VERSION } from "@goauthentik/common/constants";
|
import { EVENT_LOCALE_REQUEST, VERSION } from "@goauthentik/common/constants.js";
|
||||||
import { globalAK } from "@goauthentik/common/global";
|
import { globalAK } from "@goauthentik/common/global.js";
|
||||||
|
|
||||||
import { Config, Configuration, CoreApi, CurrentBrand, RootApi } from "@goauthentik/api";
|
import { Config, Configuration, CoreApi, CurrentBrand, RootApi } from "@goauthentik/api";
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
import { EVENT_REQUEST_POST } from "@goauthentik/common/constants";
|
import { EVENT_REQUEST_POST } from "@goauthentik/common/constants.js";
|
||||||
import { getCookie } from "@goauthentik/common/utils";
|
import { getCookie } from "@goauthentik/common/utils.js";
|
||||||
|
|
||||||
import {
|
import {
|
||||||
CurrentBrand,
|
CurrentBrand,
|
@ -17,7 +17,7 @@ type BuildEventListener<Data = unknown> = (event: MessageEvent<Data>) => void;
|
|||||||
*
|
*
|
||||||
* ```ts
|
* ```ts
|
||||||
* if (process.env.NODE_ENV === "development" && process.env.WATCHER_URL) {
|
* if (process.env.NODE_ENV === "development" && process.env.WATCHER_URL) {
|
||||||
* const { ESBuildObserver } = await import("@goauthentik/common/client");
|
* const { ESBuildObserver } = await import("@goauthentik/common/client.js");
|
||||||
*
|
*
|
||||||
* new ESBuildObserver(process.env.WATCHER_URL);
|
* new ESBuildObserver(process.env.WATCHER_URL);
|
||||||
* }
|
* }
|
@ -1,5 +1,5 @@
|
|||||||
import { VERSION } from "@goauthentik/common/constants";
|
import { VERSION } from "@goauthentik/common/constants.js";
|
||||||
import { SentryIgnoredError } from "@goauthentik/common/errors";
|
import { SentryIgnoredError } from "@goauthentik/common/errors.js";
|
||||||
|
|
||||||
export interface PlexPinResponse {
|
export interface PlexPinResponse {
|
||||||
// Only has the fields we care about
|
// Only has the fields we care about
|
@ -1,4 +1,4 @@
|
|||||||
import DOMPurify from "dompurify";
|
import DOMPurify, { Config } from "dompurify";
|
||||||
|
|
||||||
import { render } from "@lit-labs/ssr";
|
import { render } from "@lit-labs/ssr";
|
||||||
import { collectResult } from "@lit-labs/ssr/lib/render-result.js";
|
import { collectResult } from "@lit-labs/ssr/lib/render-result.js";
|
||||||
@ -6,7 +6,7 @@ import { TemplateResult, html } from "lit";
|
|||||||
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
||||||
import { until } from "lit/directives/until.js";
|
import { until } from "lit/directives/until.js";
|
||||||
|
|
||||||
export const DOM_PURIFY_STRICT: DOMPurify.Config = {
|
export const DOM_PURIFY_STRICT: Config = {
|
||||||
ALLOWED_TAGS: ["#text"],
|
ALLOWED_TAGS: ["#text"],
|
||||||
};
|
};
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
import { config } from "@goauthentik/common/api/config";
|
import { config } from "@goauthentik/common/api/config.js";
|
||||||
import { VERSION } from "@goauthentik/common/constants";
|
import { VERSION } from "@goauthentik/common/constants.js";
|
||||||
import { SentryIgnoredError } from "@goauthentik/common/errors";
|
import { SentryIgnoredError } from "@goauthentik/common/errors.js";
|
||||||
import { me } from "@goauthentik/common/users";
|
import { me } from "@goauthentik/common/users.js";
|
||||||
import {
|
import {
|
||||||
ErrorEvent,
|
ErrorEvent,
|
||||||
EventHint,
|
EventHint,
|
@ -1,5 +1,5 @@
|
|||||||
import { currentInterface } from "@goauthentik/common/sentry";
|
import { currentInterface } from "@goauthentik/common/sentry.js";
|
||||||
import { me } from "@goauthentik/common/users";
|
import { me } from "@goauthentik/common/users.js";
|
||||||
|
|
||||||
import { UiThemeEnum, UserSelf } from "@goauthentik/api";
|
import { UiThemeEnum, UserSelf } from "@goauthentik/api";
|
||||||
|
|
@ -1,5 +1,5 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { EVENT_LOCALE_REQUEST } from "@goauthentik/common/constants";
|
import { EVENT_LOCALE_REQUEST } from "@goauthentik/common/constants.js";
|
||||||
|
|
||||||
import { CoreApi, ResponseError, SessionUser } from "@goauthentik/api";
|
import { CoreApi, ResponseError, SessionUser } from "@goauthentik/api";
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
import { SentryIgnoredError } from "@goauthentik/common/errors";
|
import { SentryIgnoredError } from "@goauthentik/common/errors.js";
|
||||||
|
|
||||||
import { CSSResult, css } from "lit";
|
import { CSSResult, css } from "lit";
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
import { EVENT_MESSAGE, EVENT_WS_MESSAGE } from "@goauthentik/common/constants";
|
import { EVENT_MESSAGE, EVENT_WS_MESSAGE } from "@goauthentik/common/constants.js";
|
||||||
import { globalAK } from "@goauthentik/common/global";
|
import { globalAK } from "@goauthentik/common/global.js";
|
||||||
import { MessageLevel } from "@goauthentik/common/messages";
|
import { MessageLevel } from "@goauthentik/common/messages.js";
|
||||||
|
|
||||||
import { msg } from "@lit/localize";
|
import { msg } from "@lit/localize";
|
||||||
|
|
12
web/packages/common/tsconfig.build.json
Normal file
12
web/packages/common/tsconfig.build.json
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"extends": "../../tsconfig.base.json",
|
||||||
|
"compilerOptions": {
|
||||||
|
"baseUrl": ".",
|
||||||
|
"outDir": "./dist/",
|
||||||
|
"types": ["webauthn"],
|
||||||
|
"paths": {
|
||||||
|
"@goauthentik/elements/*": ["./src/*"],
|
||||||
|
"@goauthentik/locales/*": ["src/locales/*"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
44
web/packages/common/tsconfig.json
Normal file
44
web/packages/common/tsconfig.json
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
{
|
||||||
|
"compilerOptions": {
|
||||||
|
"strict": true,
|
||||||
|
"baseUrl": ".",
|
||||||
|
"outDir": "./dist/",
|
||||||
|
"esModuleInterop": true,
|
||||||
|
"paths": {
|
||||||
|
"@goauthentik/common/*": ["./src/*"],
|
||||||
|
"@goauthentik/locales/*": ["src/locales/*"]
|
||||||
|
},
|
||||||
|
"skipLibCheck": true,
|
||||||
|
"forceConsistentCasingInFileNames": true,
|
||||||
|
"experimentalDecorators": true,
|
||||||
|
"sourceMap": true,
|
||||||
|
"target": "esnext",
|
||||||
|
"module": "esnext",
|
||||||
|
"moduleResolution": "bundler",
|
||||||
|
"lib": [
|
||||||
|
"ES5",
|
||||||
|
"ES2015",
|
||||||
|
"ES2016",
|
||||||
|
"ES2017",
|
||||||
|
"ES2018",
|
||||||
|
"ES2019",
|
||||||
|
"ES2020",
|
||||||
|
"ESNext",
|
||||||
|
"DOM",
|
||||||
|
"DOM.Iterable",
|
||||||
|
"WebWorker"
|
||||||
|
],
|
||||||
|
"noUnusedLocals": true,
|
||||||
|
"noImplicitReturns": true,
|
||||||
|
"noFallthroughCasesInSwitch": true,
|
||||||
|
"strictBindCallApply": true,
|
||||||
|
"strictFunctionTypes": true,
|
||||||
|
"strictNullChecks": true,
|
||||||
|
"allowUnreachableCode": false,
|
||||||
|
"allowUnusedLabels": false,
|
||||||
|
"useDefineForClassFields": false,
|
||||||
|
"alwaysStrict": true,
|
||||||
|
"noImplicitAny": true,
|
||||||
|
},
|
||||||
|
"exclude": ["node_modules", "dist"]
|
||||||
|
}
|
@ -1,6 +1,6 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { VERSION } from "@goauthentik/common/constants";
|
import { VERSION } from "@goauthentik/common/constants.js";
|
||||||
import { globalAK } from "@goauthentik/common/global";
|
import { globalAK } from "@goauthentik/common/global.js";
|
||||||
import "@goauthentik/elements/EmptyState";
|
import "@goauthentik/elements/EmptyState";
|
||||||
import { WithBrandConfig } from "@goauthentik/elements/Interface/brandProvider";
|
import { WithBrandConfig } from "@goauthentik/elements/Interface/brandProvider";
|
||||||
import { WithLicenseSummary } from "@goauthentik/elements/Interface/licenseSummaryProvider";
|
import { WithLicenseSummary } from "@goauthentik/elements/Interface/licenseSummaryProvider";
|
||||||
|
@ -4,10 +4,10 @@ import { ROUTES } from "@goauthentik/admin/Routes";
|
|||||||
import {
|
import {
|
||||||
EVENT_API_DRAWER_TOGGLE,
|
EVENT_API_DRAWER_TOGGLE,
|
||||||
EVENT_NOTIFICATION_DRAWER_TOGGLE,
|
EVENT_NOTIFICATION_DRAWER_TOGGLE,
|
||||||
} from "@goauthentik/common/constants";
|
} from "@goauthentik/common/constants.js";
|
||||||
import { configureSentry } from "@goauthentik/common/sentry";
|
import { configureSentry } from "@goauthentik/common/sentry.js";
|
||||||
import { me } from "@goauthentik/common/users";
|
import { me } from "@goauthentik/common/users.js";
|
||||||
import { WebsocketClient } from "@goauthentik/common/ws";
|
import { WebsocketClient } from "@goauthentik/common/ws.js";
|
||||||
import { AuthenticatedInterface } from "@goauthentik/elements/Interface";
|
import { AuthenticatedInterface } from "@goauthentik/elements/Interface";
|
||||||
import "@goauthentik/elements/ak-locale-context";
|
import "@goauthentik/elements/ak-locale-context";
|
||||||
import "@goauthentik/elements/banner/EnterpriseStatusBanner";
|
import "@goauthentik/elements/banner/EnterpriseStatusBanner";
|
||||||
@ -123,7 +123,7 @@ export class AdminInterface extends AuthenticatedInterface {
|
|||||||
super.connectedCallback();
|
super.connectedCallback();
|
||||||
|
|
||||||
if (process.env.NODE_ENV === "development" && process.env.WATCHER_URL) {
|
if (process.env.NODE_ENV === "development" && process.env.WATCHER_URL) {
|
||||||
const { ESBuildObserver } = await import("@goauthentik/common/client");
|
const { ESBuildObserver } = await import("@goauthentik/common/client.js");
|
||||||
|
|
||||||
new ESBuildObserver(process.env.WATCHER_URL);
|
new ESBuildObserver(process.env.WATCHER_URL);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { EVENT_SIDEBAR_TOGGLE } from "@goauthentik/common/constants";
|
import { EVENT_SIDEBAR_TOGGLE } from "@goauthentik/common/constants.js";
|
||||||
import { me } from "@goauthentik/common/users";
|
import { me } from "@goauthentik/common/users.js";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
import {
|
import {
|
||||||
CapabilitiesEnum,
|
CapabilitiesEnum,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { MessageLevel } from "@goauthentik/common/messages";
|
import { MessageLevel } from "@goauthentik/common/messages.js";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
import "@goauthentik/elements/PageHeader";
|
import "@goauthentik/elements/PageHeader";
|
||||||
import { showMessage } from "@goauthentik/elements/messages/MessageContainer";
|
import { showMessage } from "@goauthentik/elements/messages/MessageContainer";
|
||||||
|
@ -8,8 +8,8 @@ import "@goauthentik/admin/admin-overview/cards/WorkerStatusCard";
|
|||||||
import "@goauthentik/admin/admin-overview/charts/AdminLoginAuthorizeChart";
|
import "@goauthentik/admin/admin-overview/charts/AdminLoginAuthorizeChart";
|
||||||
import "@goauthentik/admin/admin-overview/charts/OutpostStatusChart";
|
import "@goauthentik/admin/admin-overview/charts/OutpostStatusChart";
|
||||||
import "@goauthentik/admin/admin-overview/charts/SyncStatusChart";
|
import "@goauthentik/admin/admin-overview/charts/SyncStatusChart";
|
||||||
import { VERSION } from "@goauthentik/common/constants";
|
import { VERSION } from "@goauthentik/common/constants.js";
|
||||||
import { me } from "@goauthentik/common/users";
|
import { me } from "@goauthentik/common/users.js";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
import { WithLicenseSummary } from "@goauthentik/elements/Interface/licenseSummaryProvider.js";
|
import { WithLicenseSummary } from "@goauthentik/elements/Interface/licenseSummaryProvider.js";
|
||||||
import "@goauthentik/elements/PageHeader";
|
import "@goauthentik/elements/PageHeader";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
import "@goauthentik/elements/Spinner";
|
import "@goauthentik/elements/Spinner";
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { EVENT_REFRESH } from "@goauthentik/common/constants";
|
import { EVENT_REFRESH } from "@goauthentik/common/constants.js";
|
||||||
import { PFSize } from "@goauthentik/common/enums.js";
|
import { PFSize } from "@goauthentik/common/enums.js";
|
||||||
import { AggregateCard } from "@goauthentik/elements/cards/AggregateCard";
|
import { AggregateCard } from "@goauthentik/elements/cards/AggregateCard";
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ import {
|
|||||||
AdminStatus,
|
AdminStatus,
|
||||||
AdminStatusCard,
|
AdminStatusCard,
|
||||||
} from "@goauthentik/admin/admin-overview/cards/AdminStatusCard";
|
} from "@goauthentik/admin/admin-overview/cards/AdminStatusCard";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
|
|
||||||
import { msg } from "@lit/localize";
|
import { msg } from "@lit/localize";
|
||||||
import { TemplateResult, html } from "lit";
|
import { TemplateResult, html } from "lit";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import { EventGeo, EventUser } from "@goauthentik/admin/events/utils";
|
import { EventGeo, EventUser } from "@goauthentik/admin/events/utils";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { EventWithContext } from "@goauthentik/common/events";
|
import { EventWithContext } from "@goauthentik/common/events.js";
|
||||||
import { actionToLabel } from "@goauthentik/common/labels";
|
import { actionToLabel } from "@goauthentik/common/labels.js";
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/components/ak-event-info";
|
import "@goauthentik/components/ak-event-info";
|
||||||
import "@goauthentik/elements/Tabs";
|
import "@goauthentik/elements/Tabs";
|
||||||
import "@goauthentik/elements/buttons/Dropdown";
|
import "@goauthentik/elements/buttons/Dropdown";
|
||||||
|
@ -2,7 +2,7 @@ import {
|
|||||||
AdminStatus,
|
AdminStatus,
|
||||||
AdminStatusCard,
|
AdminStatusCard,
|
||||||
} from "@goauthentik/admin/admin-overview/cards/AdminStatusCard";
|
} from "@goauthentik/admin/admin-overview/cards/AdminStatusCard";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
|
|
||||||
import { msg } from "@lit/localize";
|
import { msg } from "@lit/localize";
|
||||||
import { TemplateResult, html } from "lit";
|
import { TemplateResult, html } from "lit";
|
||||||
|
@ -2,7 +2,7 @@ import {
|
|||||||
AdminStatus,
|
AdminStatus,
|
||||||
AdminStatusCard,
|
AdminStatusCard,
|
||||||
} from "@goauthentik/admin/admin-overview/cards/AdminStatusCard";
|
} from "@goauthentik/admin/admin-overview/cards/AdminStatusCard";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
|
|
||||||
import { msg, str } from "@lit/localize";
|
import { msg, str } from "@lit/localize";
|
||||||
import { TemplateResult, html } from "lit";
|
import { TemplateResult, html } from "lit";
|
||||||
|
@ -2,7 +2,7 @@ import {
|
|||||||
AdminStatus,
|
AdminStatus,
|
||||||
AdminStatusCard,
|
AdminStatusCard,
|
||||||
} from "@goauthentik/admin/admin-overview/cards/AdminStatusCard";
|
} from "@goauthentik/admin/admin-overview/cards/AdminStatusCard";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
|
|
||||||
import { msg } from "@lit/localize";
|
import { msg } from "@lit/localize";
|
||||||
import { TemplateResult, html } from "lit";
|
import { TemplateResult, html } from "lit";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { AKChart, RGBAColor } from "@goauthentik/elements/charts/Chart";
|
import { AKChart, RGBAColor } from "@goauthentik/elements/charts/Chart";
|
||||||
import { ChartData } from "chart.js";
|
import { ChartData } from "chart.js";
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { AKChart } from "@goauthentik/elements/charts/Chart";
|
import { AKChart } from "@goauthentik/elements/charts/Chart";
|
||||||
import { ChartData, Tick } from "chart.js";
|
import { ChartData, Tick } from "chart.js";
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { SummarizedSyncStatus } from "@goauthentik/admin/admin-overview/charts/SyncStatusChart";
|
import { SummarizedSyncStatus } from "@goauthentik/admin/admin-overview/charts/SyncStatusChart";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { AKChart } from "@goauthentik/elements/charts/Chart";
|
import { AKChart } from "@goauthentik/elements/charts/Chart";
|
||||||
import "@goauthentik/elements/forms/ConfirmationForm";
|
import "@goauthentik/elements/forms/ConfirmationForm";
|
||||||
import { ChartData, ChartOptions } from "chart.js";
|
import { ChartData, ChartOptions } from "chart.js";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { AKChart } from "@goauthentik/elements/charts/Chart";
|
import { AKChart } from "@goauthentik/elements/charts/Chart";
|
||||||
import "@goauthentik/elements/forms/ConfirmationForm";
|
import "@goauthentik/elements/forms/ConfirmationForm";
|
||||||
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { first } from "@goauthentik/common/utils";
|
import { first } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/components/ak-number-input";
|
import "@goauthentik/components/ak-number-input";
|
||||||
import "@goauthentik/components/ak-switch-input";
|
import "@goauthentik/components/ak-switch-input";
|
||||||
import "@goauthentik/components/ak-text-input";
|
import "@goauthentik/components/ak-text-input";
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import "@goauthentik/admin/admin-settings/AdminSettingsForm";
|
import "@goauthentik/admin/admin-settings/AdminSettingsForm";
|
||||||
import { AdminSettingsForm } from "@goauthentik/admin/admin-settings/AdminSettingsForm";
|
import { AdminSettingsForm } from "@goauthentik/admin/admin-settings/AdminSettingsForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import "@goauthentik/components/events/ObjectChangelog";
|
import "@goauthentik/components/events/ObjectChangelog";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
import "@goauthentik/elements/CodeMirror";
|
import "@goauthentik/elements/CodeMirror";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { AKChart } from "@goauthentik/elements/charts/Chart";
|
import { AKChart } from "@goauthentik/elements/charts/Chart";
|
||||||
import { ChartData, Tick } from "chart.js";
|
import { ChartData, Tick } from "chart.js";
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/events/LogViewer";
|
import "@goauthentik/elements/events/LogViewer";
|
||||||
import { Form } from "@goauthentik/elements/forms/Form";
|
import { Form } from "@goauthentik/elements/forms/Form";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import "@goauthentik/admin/applications/ProviderSelectModal";
|
import "@goauthentik/admin/applications/ProviderSelectModal";
|
||||||
import { iconHelperText } from "@goauthentik/admin/helperText";
|
import { iconHelperText } from "@goauthentik/admin/helperText";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { first } from "@goauthentik/common/utils";
|
import { first } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/components/ak-file-input";
|
import "@goauthentik/components/ak-file-input";
|
||||||
import "@goauthentik/components/ak-radio-input";
|
import "@goauthentik/components/ak-radio-input";
|
||||||
import "@goauthentik/components/ak-switch-input";
|
import "@goauthentik/components/ak-switch-input";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import "@goauthentik/admin/applications/ApplicationForm";
|
import "@goauthentik/admin/applications/ApplicationForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import MDApplication from "@goauthentik/docs/add-secure-apps/applications/index.md";
|
import MDApplication from "@goauthentik/docs/add-secure-apps/applications/index.md";
|
||||||
import "@goauthentik/elements/AppIcon.js";
|
import "@goauthentik/elements/AppIcon.js";
|
||||||
import { WithBrandConfig } from "@goauthentik/elements/Interface/brandProvider";
|
import { WithBrandConfig } from "@goauthentik/elements/Interface/brandProvider";
|
||||||
|
@ -4,7 +4,7 @@ import "@goauthentik/admin/applications/ApplicationForm";
|
|||||||
import "@goauthentik/admin/applications/entitlements/ApplicationEntitlementPage";
|
import "@goauthentik/admin/applications/entitlements/ApplicationEntitlementPage";
|
||||||
import "@goauthentik/admin/policies/BoundPoliciesList";
|
import "@goauthentik/admin/policies/BoundPoliciesList";
|
||||||
import "@goauthentik/admin/rbac/ObjectPermissionsPage";
|
import "@goauthentik/admin/rbac/ObjectPermissionsPage";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { PFSize } from "@goauthentik/common/enums.js";
|
import { PFSize } from "@goauthentik/common/enums.js";
|
||||||
import "@goauthentik/components/events/ObjectChangelog";
|
import "@goauthentik/components/events/ObjectChangelog";
|
||||||
import "@goauthentik/elements/AppIcon";
|
import "@goauthentik/elements/AppIcon";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
||||||
import { TableColumn } from "@goauthentik/elements/table/Table";
|
import { TableColumn } from "@goauthentik/elements/table/Table";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { groupBy } from "@goauthentik/common/utils";
|
import { groupBy } from "@goauthentik/common/utils.js";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
import "@goauthentik/elements/forms/SearchSelect";
|
import "@goauthentik/elements/forms/SearchSelect";
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { first } from "@goauthentik/common/utils";
|
import { first } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/elements/CodeMirror";
|
import "@goauthentik/elements/CodeMirror";
|
||||||
import { CodeMirrorMode } from "@goauthentik/elements/CodeMirror";
|
import { CodeMirrorMode } from "@goauthentik/elements/CodeMirror";
|
||||||
import "@goauthentik/elements/forms/HorizontalFormElement";
|
import "@goauthentik/elements/forms/HorizontalFormElement";
|
||||||
|
@ -2,8 +2,8 @@ import "@goauthentik/admin/applications/entitlements/ApplicationEntitlementForm"
|
|||||||
import "@goauthentik/admin/policies/BoundPoliciesList";
|
import "@goauthentik/admin/policies/BoundPoliciesList";
|
||||||
import { PolicyBindingCheckTarget } from "@goauthentik/admin/policies/utils";
|
import { PolicyBindingCheckTarget } from "@goauthentik/admin/policies/utils";
|
||||||
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { PFSize } from "@goauthentik/common/enums";
|
import { PFSize } from "@goauthentik/common/enums.js";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/Tabs";
|
import "@goauthentik/elements/Tabs";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import "@goauthentik/components/ak-wizard/ak-wizard-steps.js";
|
import "@goauthentik/components/ak-wizard/ak-wizard-steps.js";
|
||||||
import { WizardUpdateEvent } from "@goauthentik/components/ak-wizard/events";
|
import { WizardUpdateEvent } from "@goauthentik/components/ak-wizard/events";
|
||||||
import { AKElement } from "@goauthentik/elements/Base.js";
|
import { AKElement } from "@goauthentik/elements/Base.js";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { ApplicationWizardStep } from "@goauthentik/admin/applications/wizard/ApplicationWizardStep.js";
|
import { ApplicationWizardStep } from "@goauthentik/admin/applications/wizard/ApplicationWizardStep.js";
|
||||||
import "@goauthentik/admin/applications/wizard/ak-wizard-title.js";
|
import "@goauthentik/admin/applications/wizard/ak-wizard-title.js";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { groupBy } from "@goauthentik/common/utils";
|
import { groupBy } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/components/ak-radio-input";
|
import "@goauthentik/components/ak-radio-input";
|
||||||
import "@goauthentik/components/ak-switch-input";
|
import "@goauthentik/components/ak-switch-input";
|
||||||
import "@goauthentik/components/ak-text-input";
|
import "@goauthentik/components/ak-text-input";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import "@goauthentik/admin/applications/wizard/ak-wizard-title.js";
|
import "@goauthentik/admin/applications/wizard/ak-wizard-title.js";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { EVENT_REFRESH } from "@goauthentik/common/constants";
|
import { EVENT_REFRESH } from "@goauthentik/common/constants.js";
|
||||||
import { parseAPIError } from "@goauthentik/common/errors";
|
import { parseAPIError } from "@goauthentik/common/errors.js";
|
||||||
import { WizardNavigationEvent } from "@goauthentik/components/ak-wizard/events.js";
|
import { WizardNavigationEvent } from "@goauthentik/components/ak-wizard/events.js";
|
||||||
import { type WizardButton } from "@goauthentik/components/ak-wizard/types";
|
import { type WizardButton } from "@goauthentik/components/ak-wizard/types";
|
||||||
import { CustomEmitterElement } from "@goauthentik/elements/utils/eventEmitter";
|
import { CustomEmitterElement } from "@goauthentik/elements/utils/eventEmitter";
|
||||||
|
@ -11,7 +11,8 @@ import { HorizontalFormElement } from "@goauthentik/elements/forms/HorizontalFor
|
|||||||
|
|
||||||
import { property, query } from "lit/decorators.js";
|
import { property, query } from "lit/decorators.js";
|
||||||
|
|
||||||
import { styles as AwadStyles } from "../../ApplicationWizardFormStepStyles.css.js";
|
import { styles as AwadStyles } from "../../ApplicationWizardFormStepStyles.css";
|
||||||
|
|
||||||
import { type ApplicationWizardState, type OneOfProvider } from "../../types";
|
import { type ApplicationWizardState, type OneOfProvider } from "../../types";
|
||||||
|
|
||||||
export class ApplicationWizardProviderForm<T extends OneOfProvider> extends AKElement {
|
export class ApplicationWizardProviderForm<T extends OneOfProvider> extends AKElement {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import "@goauthentik/admin/applications/wizard/ak-wizard-title.js";
|
import "@goauthentik/admin/applications/wizard/ak-wizard-title.js";
|
||||||
import { renderForm } from "@goauthentik/admin/providers/oauth2/OAuth2ProviderFormForm.js";
|
import { renderForm } from "@goauthentik/admin/providers/oauth2/OAuth2ProviderFormForm.js";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
|
|
||||||
import { msg } from "@lit/localize";
|
import { msg } from "@lit/localize";
|
||||||
import { html } from "lit";
|
import { html } from "lit";
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { docLink } from "@goauthentik/common/global";
|
import { docLink } from "@goauthentik/common/global.js";
|
||||||
import { first } from "@goauthentik/common/utils";
|
import { first } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/components/ak-toggle-group";
|
import "@goauthentik/components/ak-toggle-group";
|
||||||
import "@goauthentik/elements/CodeMirror";
|
import "@goauthentik/elements/CodeMirror";
|
||||||
import { CodeMirrorMode } from "@goauthentik/elements/CodeMirror";
|
import { CodeMirrorMode } from "@goauthentik/elements/CodeMirror";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import "@goauthentik/admin/blueprints/BlueprintForm";
|
import "@goauthentik/admin/blueprints/BlueprintForm";
|
||||||
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { EVENT_REFRESH } from "@goauthentik/common/constants";
|
import { EVENT_REFRESH } from "@goauthentik/common/constants.js";
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/buttons/ActionButton";
|
import "@goauthentik/elements/buttons/ActionButton";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import "@goauthentik/admin/common/ak-crypto-certificate-search";
|
import "@goauthentik/admin/common/ak-crypto-certificate-search";
|
||||||
import "@goauthentik/admin/common/ak-flow-search/ak-flow-search";
|
import "@goauthentik/admin/common/ak-flow-search/ak-flow-search";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { first } from "@goauthentik/common/utils";
|
import { first } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/elements/CodeMirror";
|
import "@goauthentik/elements/CodeMirror";
|
||||||
import { CodeMirrorMode } from "@goauthentik/elements/CodeMirror";
|
import { CodeMirrorMode } from "@goauthentik/elements/CodeMirror";
|
||||||
import "@goauthentik/elements/forms/FormGroup";
|
import "@goauthentik/elements/forms/FormGroup";
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import "@goauthentik/admin/brands/BrandForm";
|
import "@goauthentik/admin/brands/BrandForm";
|
||||||
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
import { SearchSelect } from "@goauthentik/elements/forms/SearchSelect";
|
import { SearchSelect } from "@goauthentik/elements/forms/SearchSelect";
|
||||||
import { CustomListenerElement } from "@goauthentik/elements/utils/eventEmitter";
|
import { CustomListenerElement } from "@goauthentik/elements/utils/eventEmitter";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
import { SearchSelect } from "@goauthentik/elements/forms/SearchSelect";
|
import { SearchSelect } from "@goauthentik/elements/forms/SearchSelect";
|
||||||
import "@goauthentik/elements/forms/SearchSelect";
|
import "@goauthentik/elements/forms/SearchSelect";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { RenderFlowOption } from "@goauthentik/admin/flows/utils";
|
import { RenderFlowOption } from "@goauthentik/admin/flows/utils";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
import { SearchSelect } from "@goauthentik/elements/forms/SearchSelect";
|
import { SearchSelect } from "@goauthentik/elements/forms/SearchSelect";
|
||||||
import "@goauthentik/elements/forms/SearchSelect";
|
import "@goauthentik/elements/forms/SearchSelect";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { Form } from "@goauthentik/elements/forms/Form";
|
import { Form } from "@goauthentik/elements/forms/Form";
|
||||||
import "@goauthentik/elements/forms/HorizontalFormElement";
|
import "@goauthentik/elements/forms/HorizontalFormElement";
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import "@goauthentik/elements/CodeMirror";
|
import "@goauthentik/elements/CodeMirror";
|
||||||
import "@goauthentik/elements/forms/HorizontalFormElement";
|
import "@goauthentik/elements/forms/HorizontalFormElement";
|
||||||
import { ModelForm } from "@goauthentik/elements/forms/ModelForm";
|
import { ModelForm } from "@goauthentik/elements/forms/ModelForm";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import "@goauthentik/admin/crypto/CertificateGenerateForm";
|
import "@goauthentik/admin/crypto/CertificateGenerateForm";
|
||||||
import "@goauthentik/admin/crypto/CertificateKeyPairForm";
|
import "@goauthentik/admin/crypto/CertificateKeyPairForm";
|
||||||
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import { PFColor } from "@goauthentik/elements/Label";
|
import { PFColor } from "@goauthentik/elements/Label";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { EVENT_REFRESH_ENTERPRISE } from "@goauthentik/common/constants";
|
import { EVENT_REFRESH_ENTERPRISE } from "@goauthentik/common/constants.js";
|
||||||
import "@goauthentik/elements/CodeMirror";
|
import "@goauthentik/elements/CodeMirror";
|
||||||
import "@goauthentik/elements/forms/HorizontalFormElement";
|
import "@goauthentik/elements/forms/HorizontalFormElement";
|
||||||
import { ModelForm } from "@goauthentik/elements/forms/ModelForm";
|
import { ModelForm } from "@goauthentik/elements/forms/ModelForm";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import "@goauthentik/admin/enterprise/EnterpriseLicenseForm";
|
import "@goauthentik/admin/enterprise/EnterpriseLicenseForm";
|
||||||
import "@goauthentik/admin/enterprise/EnterpriseStatusCard";
|
import "@goauthentik/admin/enterprise/EnterpriseStatusCard";
|
||||||
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils.js";
|
||||||
import { PFColor } from "@goauthentik/elements/Label";
|
import { PFColor } from "@goauthentik/elements/Label";
|
||||||
import "@goauthentik/elements/Spinner";
|
import "@goauthentik/elements/Spinner";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
import "@goauthentik/admin/events/EventVolumeChart";
|
import "@goauthentik/admin/events/EventVolumeChart";
|
||||||
import { EventGeo, EventUser } from "@goauthentik/admin/events/utils";
|
import { EventGeo, EventUser } from "@goauthentik/admin/events/utils";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { EventWithContext } from "@goauthentik/common/events";
|
import { EventWithContext } from "@goauthentik/common/events.js";
|
||||||
import { actionToLabel } from "@goauthentik/common/labels";
|
import { actionToLabel } from "@goauthentik/common/labels.js";
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/components/ak-event-info";
|
import "@goauthentik/components/ak-event-info";
|
||||||
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
import { PaginatedResponse } from "@goauthentik/elements/table/Table";
|
||||||
import { TableColumn } from "@goauthentik/elements/table/Table";
|
import { TableColumn } from "@goauthentik/elements/table/Table";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import { EventGeo, EventUser } from "@goauthentik/admin/events/utils";
|
import { EventGeo, EventUser } from "@goauthentik/admin/events/utils";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { EventWithContext } from "@goauthentik/common/events";
|
import { EventWithContext } from "@goauthentik/common/events.js";
|
||||||
import { actionToLabel } from "@goauthentik/common/labels";
|
import { actionToLabel } from "@goauthentik/common/labels.js";
|
||||||
import { getRelativeTime } from "@goauthentik/common/utils";
|
import { getRelativeTime } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/components/ak-event-info";
|
import "@goauthentik/components/ak-event-info";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
import "@goauthentik/elements/PageHeader";
|
import "@goauthentik/elements/PageHeader";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { AKChart } from "@goauthentik/elements/charts/Chart";
|
import { AKChart } from "@goauthentik/elements/charts/Chart";
|
||||||
import { ChartData } from "chart.js";
|
import { ChartData } from "chart.js";
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { severityToLabel } from "@goauthentik/common/labels";
|
import { severityToLabel } from "@goauthentik/common/labels.js";
|
||||||
import "@goauthentik/elements/ak-dual-select/ak-dual-select-dynamic-selected-provider.js";
|
import "@goauthentik/elements/ak-dual-select/ak-dual-select-dynamic-selected-provider.js";
|
||||||
import "@goauthentik/elements/forms/HorizontalFormElement";
|
import "@goauthentik/elements/forms/HorizontalFormElement";
|
||||||
import { ModelForm } from "@goauthentik/elements/forms/ModelForm";
|
import { ModelForm } from "@goauthentik/elements/forms/ModelForm";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { DualSelectPair } from "@goauthentik/elements/ak-dual-select/types";
|
import { DualSelectPair } from "@goauthentik/elements/ak-dual-select/types";
|
||||||
|
|
||||||
import { EventsApi, NotificationTransport } from "@goauthentik/api";
|
import { EventsApi, NotificationTransport } from "@goauthentik/api";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import "@goauthentik/admin/events/RuleForm";
|
import "@goauthentik/admin/events/RuleForm";
|
||||||
import "@goauthentik/admin/policies/BoundPoliciesList";
|
import "@goauthentik/admin/policies/BoundPoliciesList";
|
||||||
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { severityToLabel } from "@goauthentik/common/labels";
|
import { severityToLabel } from "@goauthentik/common/labels.js";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import "@goauthentik/elements/forms/ModalForm";
|
import "@goauthentik/elements/forms/ModalForm";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { first } from "@goauthentik/common/utils";
|
import { first } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/elements/forms/HorizontalFormElement";
|
import "@goauthentik/elements/forms/HorizontalFormElement";
|
||||||
import { ModelForm } from "@goauthentik/elements/forms/ModelForm";
|
import { ModelForm } from "@goauthentik/elements/forms/ModelForm";
|
||||||
import "@goauthentik/elements/forms/Radio";
|
import "@goauthentik/elements/forms/Radio";
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import "@goauthentik/admin/events/TransportForm";
|
import "@goauthentik/admin/events/TransportForm";
|
||||||
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
import "@goauthentik/admin/rbac/ObjectPermissionModal";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import "@goauthentik/elements/buttons/ActionButton";
|
import "@goauthentik/elements/buttons/ActionButton";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { EventWithContext } from "@goauthentik/common/events";
|
import { EventWithContext } from "@goauthentik/common/events.js";
|
||||||
import { truncate } from "@goauthentik/common/utils";
|
import { truncate } from "@goauthentik/common/utils.js";
|
||||||
import { KeyUnknown } from "@goauthentik/elements/forms/Form";
|
import { KeyUnknown } from "@goauthentik/elements/forms/Form";
|
||||||
|
|
||||||
import { msg, str } from "@lit/localize";
|
import { msg, str } from "@lit/localize";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import "@goauthentik/admin/flows/StageBindingForm";
|
import "@goauthentik/admin/flows/StageBindingForm";
|
||||||
import "@goauthentik/admin/policies/BoundPoliciesList";
|
import "@goauthentik/admin/policies/BoundPoliciesList";
|
||||||
import "@goauthentik/admin/stages/StageWizard";
|
import "@goauthentik/admin/stages/StageWizard";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import "@goauthentik/elements/Tabs";
|
import "@goauthentik/elements/Tabs";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
import "@goauthentik/elements/forms/ModalForm";
|
import "@goauthentik/elements/forms/ModalForm";
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { Diagram } from "@goauthentik/elements/Diagram";
|
import { Diagram } from "@goauthentik/elements/Diagram";
|
||||||
import "@goauthentik/elements/EmptyState";
|
import "@goauthentik/elements/EmptyState";
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { DesignationToLabel, LayoutToLabel } from "@goauthentik/admin/flows/utils";
|
import { DesignationToLabel, LayoutToLabel } from "@goauthentik/admin/flows/utils";
|
||||||
import { AuthenticationEnum } from "@goauthentik/api/dist/models/AuthenticationEnum";
|
import { AuthenticationEnum } from "@goauthentik/api/dist/models/AuthenticationEnum";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { first } from "@goauthentik/common/utils";
|
import { first } from "@goauthentik/common/utils.js";
|
||||||
import {
|
import {
|
||||||
CapabilitiesEnum,
|
CapabilitiesEnum,
|
||||||
WithCapabilitiesConfig,
|
WithCapabilitiesConfig,
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { SentryIgnoredError } from "@goauthentik/common/errors";
|
import { SentryIgnoredError } from "@goauthentik/common/errors.js";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/events/LogViewer";
|
import "@goauthentik/elements/events/LogViewer";
|
||||||
import { Form } from "@goauthentik/elements/forms/Form";
|
import { Form } from "@goauthentik/elements/forms/Form";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import "@goauthentik/admin/flows/FlowForm";
|
import "@goauthentik/admin/flows/FlowForm";
|
||||||
import "@goauthentik/admin/flows/FlowImportForm";
|
import "@goauthentik/admin/flows/FlowImportForm";
|
||||||
import { DesignationToLabel } from "@goauthentik/admin/flows/utils";
|
import { DesignationToLabel } from "@goauthentik/admin/flows/utils";
|
||||||
import { AndNext, DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { AndNext, DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { groupBy } from "@goauthentik/common/utils";
|
import { groupBy } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/ConfirmationForm";
|
import "@goauthentik/elements/forms/ConfirmationForm";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
|
@ -4,7 +4,7 @@ import "@goauthentik/admin/flows/FlowForm";
|
|||||||
import { DesignationToLabel } from "@goauthentik/admin/flows/utils";
|
import { DesignationToLabel } from "@goauthentik/admin/flows/utils";
|
||||||
import "@goauthentik/admin/policies/BoundPoliciesList";
|
import "@goauthentik/admin/policies/BoundPoliciesList";
|
||||||
import "@goauthentik/admin/rbac/ObjectPermissionsPage";
|
import "@goauthentik/admin/rbac/ObjectPermissionsPage";
|
||||||
import { AndNext, DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { AndNext, DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import "@goauthentik/components/events/ObjectChangelog";
|
import "@goauthentik/components/events/ObjectChangelog";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
import "@goauthentik/elements/PageHeader";
|
import "@goauthentik/elements/PageHeader";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { first, groupBy } from "@goauthentik/common/utils";
|
import { first, groupBy } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/elements/forms/HorizontalFormElement";
|
import "@goauthentik/elements/forms/HorizontalFormElement";
|
||||||
import { ModelForm } from "@goauthentik/elements/forms/ModelForm";
|
import { ModelForm } from "@goauthentik/elements/forms/ModelForm";
|
||||||
import "@goauthentik/elements/forms/Radio";
|
import "@goauthentik/elements/forms/Radio";
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import "@goauthentik/admin/groups/MemberSelectModal";
|
import "@goauthentik/admin/groups/MemberSelectModal";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { first } from "@goauthentik/common/utils";
|
import { first } from "@goauthentik/common/utils.js";
|
||||||
import "@goauthentik/elements/CodeMirror";
|
import "@goauthentik/elements/CodeMirror";
|
||||||
import { CodeMirrorMode } from "@goauthentik/elements/CodeMirror";
|
import { CodeMirrorMode } from "@goauthentik/elements/CodeMirror";
|
||||||
import "@goauthentik/elements/ak-dual-select/ak-dual-select-provider";
|
import "@goauthentik/elements/ak-dual-select/ak-dual-select-provider";
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import "@goauthentik/admin/groups/GroupForm";
|
import "@goauthentik/admin/groups/GroupForm";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/elements/buttons/SpinnerButton";
|
import "@goauthentik/elements/buttons/SpinnerButton";
|
||||||
import "@goauthentik/elements/forms/DeleteBulkForm";
|
import "@goauthentik/elements/forms/DeleteBulkForm";
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import "@goauthentik/admin/groups/GroupForm";
|
import "@goauthentik/admin/groups/GroupForm";
|
||||||
import "@goauthentik/admin/groups/RelatedUserList";
|
import "@goauthentik/admin/groups/RelatedUserList";
|
||||||
import "@goauthentik/admin/rbac/ObjectPermissionsPage";
|
import "@goauthentik/admin/rbac/ObjectPermissionsPage";
|
||||||
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config";
|
import { DEFAULT_CONFIG } from "@goauthentik/common/api/config.js";
|
||||||
import { EVENT_REFRESH } from "@goauthentik/common/constants";
|
import { EVENT_REFRESH } from "@goauthentik/common/constants.js";
|
||||||
import "@goauthentik/components/ak-status-label";
|
import "@goauthentik/components/ak-status-label";
|
||||||
import "@goauthentik/components/events/ObjectChangelog";
|
import "@goauthentik/components/events/ObjectChangelog";
|
||||||
import { AKElement } from "@goauthentik/elements/Base";
|
import { AKElement } from "@goauthentik/elements/Base";
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user