Compare commits
	
		
			38 Commits
		
	
	
		
			server-con
			...
			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
	