mirror of
https://github.com/bitwarden/browser
synced 2026-02-11 05:53:42 +00:00
Merge branch 'anders-oxlint-migrate' into anders-oxlint
This commit is contained in:
981
.oxlintrc.json
981
.oxlintrc.json
@@ -1,57 +1,15 @@
|
||||
{
|
||||
"$schema": "./node_modules/oxlint/configuration_schema.json",
|
||||
"plugins": ["eslint", "typescript", "import"],
|
||||
"jsPlugins": [
|
||||
"eslint-plugin-storybook",
|
||||
"eslint-plugin-rxjs",
|
||||
"eslint-plugin-rxjs-angular",
|
||||
"eslint-plugin-tailwindcss",
|
||||
"@angular-eslint/eslint-plugin",
|
||||
"@angular-eslint/eslint-plugin-template",
|
||||
"./libs/eslint/platform/index.mjs",
|
||||
"./libs/eslint/components/index.mjs"
|
||||
],
|
||||
"plugins": [],
|
||||
"categories": {
|
||||
"correctness": "error"
|
||||
"correctness": "off"
|
||||
},
|
||||
"rules": {
|
||||
"curly": ["error", "all"],
|
||||
"no-console": "error",
|
||||
// Disabled: false positives on test variables assigned in beforeEach
|
||||
"no-unassigned-vars": "allow",
|
||||
// Disabled: ESLint uses allowTernary option which oxlint doesn't support
|
||||
"no-unused-expressions": "allow",
|
||||
// Disabled: use typescript/no-unused-vars for .ts files instead
|
||||
"no-unused-vars": "allow",
|
||||
// Disabled: not enabled in ESLint config
|
||||
"no-useless-rename": "allow",
|
||||
// Disabled: not enabled in ESLint config
|
||||
"no-useless-catch": "allow",
|
||||
// Disabled: not enabled in ESLint config
|
||||
"no-unnecessary-parameter-property-assignment": "allow",
|
||||
// Disabled: BOM characters slip through ESLint
|
||||
"no-irregular-whitespace": "allow",
|
||||
// Disabled: matches ESLint config (rule is off)
|
||||
"typescript/no-explicit-any": "allow",
|
||||
// Disabled: oxlint doesn't support allowedNames option, ESLint allows "self"
|
||||
"typescript/no-this-alias": "allow",
|
||||
// Disabled: oxlint's args:"none" doesn't work for rest parameters (...args)
|
||||
// See: https://github.com/oxc-project/oxc/issues/11147
|
||||
// Let ESLint's @typescript-eslint/no-unused-vars handle this instead
|
||||
"typescript/no-unused-vars": "allow",
|
||||
// Requires --type-aware flag to work
|
||||
"typescript/no-misused-promises": "error",
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
"no-useless-rename": "allow"
|
||||
},
|
||||
"env": {
|
||||
"builtin": true
|
||||
},
|
||||
"ignorePatterns": [
|
||||
"**/build/",
|
||||
@@ -62,15 +20,928 @@
|
||||
"**/node_modules/",
|
||||
"**/webpack.*.js",
|
||||
"**/jest.config.js",
|
||||
"**/config/*.js",
|
||||
"apps/*/config.js",
|
||||
"apps/browser/config/config.js",
|
||||
"apps/browser/src/auth/scripts/duo.js",
|
||||
"apps/browser/webpack/manifest.js",
|
||||
"apps/desktop/desktop_native",
|
||||
"apps/desktop/src/auth/scripts/*.js",
|
||||
"apps/desktop/src/auth/scripts/duo.js",
|
||||
"apps/web/config.js",
|
||||
"apps/web/scripts/*.js",
|
||||
"apps/web/tailwind.config.js",
|
||||
"apps/cli/config/config.js",
|
||||
"tailwind.config.js",
|
||||
"libs/components/tailwind.config.base.js",
|
||||
"libs/components/tailwind.config.js",
|
||||
"scripts/**",
|
||||
"jest.preset.js",
|
||||
"tailwind.config.js",
|
||||
"libs/components/tailwind.config.*.js",
|
||||
"libs/nx-plugin/**",
|
||||
"**/*.mjs"
|
||||
"**/spec-data/**"
|
||||
],
|
||||
"overrides": [
|
||||
{
|
||||
"files": ["**/*.stories.@(ts|tsx|js|jsx|mjs|cjs)", "**/*.story.@(ts|tsx|js|jsx|mjs|cjs)"],
|
||||
"rules": {
|
||||
"react-hooks/rules-of-hooks": "off",
|
||||
"import/no-anonymous-default-export": "off",
|
||||
"storybook/await-interactions": "error",
|
||||
"storybook/context-in-play-function": "error",
|
||||
"storybook/default-exports": "error",
|
||||
"storybook/hierarchy-separator": "warn",
|
||||
"storybook/no-redundant-story-name": "warn",
|
||||
"storybook/no-renderer-packages": "error",
|
||||
"storybook/prefer-pascal-case": "warn",
|
||||
"storybook/story-exports": "error",
|
||||
"storybook/use-storybook-expect": "error",
|
||||
"storybook/use-storybook-testing-library": "error"
|
||||
},
|
||||
"jsPlugins": ["eslint-plugin-storybook"],
|
||||
"plugins": ["react", "import"]
|
||||
},
|
||||
{
|
||||
"files": [".storybook/main.@(js|cjs|mjs|ts)"],
|
||||
"rules": {
|
||||
"storybook/no-uninstalled-addons": "error"
|
||||
},
|
||||
"jsPlugins": ["eslint-plugin-storybook"]
|
||||
},
|
||||
{
|
||||
"files": ["**/*.ts", "**/*.js"],
|
||||
"rules": {
|
||||
"for-direction": "error",
|
||||
"no-async-promise-executor": "error",
|
||||
"no-case-declarations": "error",
|
||||
"no-class-assign": "error",
|
||||
"no-compare-neg-zero": "error",
|
||||
"no-cond-assign": "error",
|
||||
"no-const-assign": "error",
|
||||
"no-constant-binary-expression": "error",
|
||||
"no-constant-condition": "error",
|
||||
"no-control-regex": "error",
|
||||
"no-debugger": "error",
|
||||
"no-delete-var": "error",
|
||||
"no-dupe-class-members": "error",
|
||||
"no-dupe-else-if": "error",
|
||||
"no-dupe-keys": "error",
|
||||
"no-duplicate-case": "error",
|
||||
"no-empty": "error",
|
||||
"no-empty-character-class": "error",
|
||||
"no-empty-pattern": "error",
|
||||
"no-empty-static-block": "error",
|
||||
"no-ex-assign": "error",
|
||||
"no-extra-boolean-cast": "error",
|
||||
"no-fallthrough": "error",
|
||||
"no-func-assign": "error",
|
||||
"no-global-assign": "error",
|
||||
"no-import-assign": "error",
|
||||
"no-invalid-regexp": "error",
|
||||
"no-irregular-whitespace": "error",
|
||||
"no-loss-of-precision": "error",
|
||||
"no-new-native-nonconstructor": "error",
|
||||
"no-nonoctal-decimal-escape": "error",
|
||||
"no-obj-calls": "error",
|
||||
"no-prototype-builtins": "error",
|
||||
"no-redeclare": "error",
|
||||
"no-regex-spaces": "error",
|
||||
"no-self-assign": "error",
|
||||
"no-setter-return": "error",
|
||||
"no-shadow-restricted-names": "error",
|
||||
"no-sparse-arrays": "error",
|
||||
"no-this-before-super": "error",
|
||||
"no-unexpected-multiline": "error",
|
||||
"no-unsafe-finally": "error",
|
||||
"no-unsafe-negation": "error",
|
||||
"no-unsafe-optional-chaining": "error",
|
||||
"no-unused-labels": "error",
|
||||
"no-unused-private-class-members": "error",
|
||||
"no-unused-vars": "off",
|
||||
"no-useless-backreference": "error",
|
||||
"no-useless-escape": "error",
|
||||
"no-with": "error",
|
||||
"require-yield": "error",
|
||||
"use-isnan": "error",
|
||||
"valid-typeof": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["**/*.ts", "**/*.js"],
|
||||
"rules": {
|
||||
"no-class-assign": "off",
|
||||
"no-const-assign": "off",
|
||||
"no-dupe-class-members": "off",
|
||||
"no-dupe-keys": "off",
|
||||
"no-func-assign": "off",
|
||||
"no-import-assign": "off",
|
||||
"no-new-native-nonconstructor": "off",
|
||||
"no-obj-calls": "off",
|
||||
"no-redeclare": "off",
|
||||
"no-setter-return": "off",
|
||||
"no-this-before-super": "off",
|
||||
"no-unsafe-negation": "off",
|
||||
"no-var": "error",
|
||||
"no-with": "off",
|
||||
"prefer-rest-params": "error",
|
||||
"prefer-spread": "error"
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["**/*.ts", "**/*.js"],
|
||||
"rules": {
|
||||
"@typescript-eslint/ban-ts-comment": "error",
|
||||
"no-array-constructor": "error",
|
||||
"@typescript-eslint/no-duplicate-enum-values": "error",
|
||||
"@typescript-eslint/no-empty-object-type": "error",
|
||||
"@typescript-eslint/no-explicit-any": "error",
|
||||
"@typescript-eslint/no-extra-non-null-assertion": "error",
|
||||
"@typescript-eslint/no-misused-new": "error",
|
||||
"@typescript-eslint/no-namespace": "error",
|
||||
"@typescript-eslint/no-non-null-asserted-optional-chain": "error",
|
||||
"@typescript-eslint/no-require-imports": "error",
|
||||
"@typescript-eslint/no-this-alias": "off",
|
||||
"@typescript-eslint/no-unnecessary-type-constraint": "error",
|
||||
"@typescript-eslint/no-unsafe-declaration-merging": "error",
|
||||
"@typescript-eslint/no-unsafe-function-type": "error",
|
||||
"no-unused-expressions": "error",
|
||||
"no-unused-vars": "off",
|
||||
"@typescript-eslint/no-wrapper-object-types": "error",
|
||||
"@typescript-eslint/prefer-as-const": "error",
|
||||
"@typescript-eslint/prefer-namespace-keyword": "error",
|
||||
"@typescript-eslint/triple-slash-reference": "error",
|
||||
"@typescript-eslint/no-unnecessary-parameter-property-assignment": "off" // Not enabled in ESLint config
|
||||
},
|
||||
"plugins": ["typescript"]
|
||||
},
|
||||
{
|
||||
"files": ["**/*.ts", "**/*.js"],
|
||||
"rules": {
|
||||
"@angular-eslint/contextual-lifecycle": "error",
|
||||
"@angular-eslint/no-empty-lifecycle-method": "off",
|
||||
"@angular-eslint/no-input-rename": "off",
|
||||
"@angular-eslint/no-inputs-metadata-property": "error",
|
||||
"@angular-eslint/no-output-native": "off",
|
||||
"@angular-eslint/no-output-on-prefix": "off",
|
||||
"@angular-eslint/no-output-rename": "error",
|
||||
"@angular-eslint/no-outputs-metadata-property": "error",
|
||||
"@angular-eslint/prefer-inject": "off",
|
||||
"@angular-eslint/prefer-standalone": "off",
|
||||
"@angular-eslint/use-pipe-transform-interface": "off",
|
||||
"@angular-eslint/use-lifecycle-interface": "error"
|
||||
},
|
||||
"jsPlugins": ["@angular-eslint/eslint-plugin"]
|
||||
},
|
||||
{
|
||||
"files": ["**/*.ts", "**/*.js"],
|
||||
"rules": {
|
||||
"import/namespace": "error",
|
||||
"import/default": "error",
|
||||
"import/no-named-as-default": "warn",
|
||||
"import/no-named-as-default-member": "warn",
|
||||
"import/no-duplicates": "warn"
|
||||
},
|
||||
"env": {
|
||||
"es2018": true
|
||||
},
|
||||
"plugins": ["import"]
|
||||
},
|
||||
{
|
||||
"files": ["**/*.ts", "**/*.js"],
|
||||
"rules": {
|
||||
"@angular-eslint/component-class-suffix": "error",
|
||||
"@angular-eslint/contextual-lifecycle": "error",
|
||||
"@angular-eslint/directive-class-suffix": "error",
|
||||
"@angular-eslint/no-inputs-metadata-property": "error",
|
||||
"@angular-eslint/no-output-rename": "error",
|
||||
"@angular-eslint/no-outputs-metadata-property": "error",
|
||||
"@angular-eslint/prefer-on-push-component-change-detection": "error",
|
||||
"@angular-eslint/prefer-output-emitter-ref": "error",
|
||||
"@angular-eslint/prefer-signals": "error",
|
||||
"@angular-eslint/use-lifecycle-interface": "error",
|
||||
"bitwarden-platform/required-using": "off", // Requires type-aware linting, let ESLint handle
|
||||
"bitwarden-platform/no-enums": "off", // JS plugins don't respect eslint-disable, let ESLint handle
|
||||
"bitwarden-platform/no-page-script-url-leakage": "off", // JS plugins don't respect eslint-disable, let ESLint handle
|
||||
"bitwarden-components/require-theme-colors-in-svg": "off", // Bug in rule's location reporting with oxlint
|
||||
"@typescript-eslint/no-explicit-any": "off",
|
||||
"@typescript-eslint/no-floating-promises": "error",
|
||||
"@typescript-eslint/no-misused-promises": [
|
||||
"error",
|
||||
{
|
||||
"checksVoidReturn": false
|
||||
}
|
||||
],
|
||||
"@typescript-eslint/no-this-alias": "off", // oxlint doesn't support allowedNames option
|
||||
"curly": ["error", "all"],
|
||||
"no-console": "error",
|
||||
"import/namespace": ["off"],
|
||||
"no-unused-expressions": [
|
||||
"error",
|
||||
{
|
||||
"allowTernary": true
|
||||
}
|
||||
],
|
||||
"no-unused-vars": "off",
|
||||
"no-unassigned-vars": "off", // False positives in test files where vars are assigned in beforeEach
|
||||
|
||||
// Type-aware rules not enabled in ESLint - disable to match ESLint behavior
|
||||
"@typescript-eslint/no-redundant-type-constituents": "off",
|
||||
"@typescript-eslint/unbound-method": "off",
|
||||
"@typescript-eslint/no-duplicate-type-constituents": "off",
|
||||
"@typescript-eslint/restrict-template-expressions": "off",
|
||||
"@typescript-eslint/await-thenable": "off",
|
||||
"@typescript-eslint/no-misused-spread": "off",
|
||||
"@typescript-eslint/no-meaningless-void-operator": "off",
|
||||
"@typescript-eslint/no-base-to-string": "off",
|
||||
"@typescript-eslint/no-for-in-array": "off",
|
||||
"@typescript-eslint/require-array-sort-compare": "off",
|
||||
"@typescript-eslint/no-array-delete": "off",
|
||||
"@typescript-eslint/no-implied-eval": "off"
|
||||
},
|
||||
"jsPlugins": [
|
||||
"@angular-eslint/eslint-plugin",
|
||||
"./libs/eslint/platform/index.mjs",
|
||||
"./libs/eslint/components/index.mjs"
|
||||
],
|
||||
"plugins": ["typescript", "import"]
|
||||
},
|
||||
{
|
||||
"files": ["**/*.html"],
|
||||
"rules": {
|
||||
"button-has-type": "error",
|
||||
"tailwindcss/no-custom-classname": [
|
||||
"error",
|
||||
{
|
||||
"whitelist": ["(?!(tw)\\-).*", "tw-app-region-drag", "tw-app-region-no-drag"]
|
||||
}
|
||||
],
|
||||
"tailwindcss/enforces-negative-arbitrary-values": "error",
|
||||
"tailwindcss/enforces-shorthand": "error",
|
||||
"tailwindcss/no-contradicting-classname": "error",
|
||||
"bitwarden-components/require-label-on-biticonbutton": [
|
||||
"error",
|
||||
{
|
||||
"ignoreIfHas": ["bitPasswordInputToggle"]
|
||||
}
|
||||
]
|
||||
},
|
||||
"jsPlugins": [
|
||||
"@angular-eslint/eslint-plugin-template",
|
||||
"eslint-plugin-tailwindcss",
|
||||
"./libs/eslint/components/index.mjs"
|
||||
]
|
||||
},
|
||||
{
|
||||
"files": ["**/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": ["**/platform/**/internal", "**/platform/messaging/**", "**/src/**/*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["apps/browser/src/**/*.ts"],
|
||||
"ignorePatterns": [
|
||||
"apps/browser/src/**/{content,popup,spec}/**/*.ts",
|
||||
"apps/browser/src/**/autofill/{notification,overlay}/**/*.ts",
|
||||
"apps/browser/src/**/*.spec.ts"
|
||||
],
|
||||
"rules": {
|
||||
"no-restricted-globals": "off"
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["bitwarden_license/bit-common/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/bit-common/*"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["apps/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"bitwarden_license/**",
|
||||
"@bitwarden/bit-common/*",
|
||||
"@bitwarden/bit-web/*"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["apps/web/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"bitwarden_license/**",
|
||||
"@bitwarden/bit-common/*",
|
||||
"@bitwarden/bit-web/*",
|
||||
"**/app/core/*",
|
||||
"**/reports/*",
|
||||
"**/app/shared/*",
|
||||
"**/organizations/settings/*",
|
||||
"**/organizations/policies/*"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["apps/browser/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@angular",
|
||||
"bitwarden_license/**",
|
||||
"@bitwarden/bit-common/*",
|
||||
"@bitwarden/bit-web/*",
|
||||
"**/popup/*"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["apps/browser/src/**/popup/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"bitwarden_license/**",
|
||||
"@bitwarden/bit-common/*",
|
||||
"@bitwarden/bit-web/*"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/nx-plugin/**/*.ts", "libs/nx-plugin/**/*.js"],
|
||||
"rules": {
|
||||
"no-console": "off"
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"apps/web/**/*.html",
|
||||
"apps/browser/**/*.html",
|
||||
"bitwarden_license/bit-web/**/*.html",
|
||||
"libs/**/*.html"
|
||||
],
|
||||
"rules": {
|
||||
"tailwindcss/no-custom-classname": [
|
||||
"error",
|
||||
{
|
||||
"whitelist": [
|
||||
"((bwi)\\-?).*",
|
||||
"logo",
|
||||
"logo-themed",
|
||||
"file-selector",
|
||||
"mfaType.*",
|
||||
"filter.*",
|
||||
"tw-app-region*",
|
||||
"tw-@container"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"jsPlugins": ["eslint-plugin-tailwindcss"]
|
||||
},
|
||||
{
|
||||
"files": ["libs/common/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/angular",
|
||||
"@bitwarden/auth",
|
||||
"@bitwarden/billing",
|
||||
"@bitwarden/components",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/key-management",
|
||||
"@bitwarden/key-management-ui",
|
||||
"@bitwarden/node",
|
||||
"@bitwarden/platform",
|
||||
"@bitwarden/tools",
|
||||
"@bitwarden/ui",
|
||||
"@bitwarden/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/shared/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/angular",
|
||||
"@bitwarden/auth",
|
||||
"@bitwarden/billing",
|
||||
"@bitwarden/common",
|
||||
"@bitwarden/components",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/key-management",
|
||||
"@bitwarden/key-management-ui",
|
||||
"@bitwarden/node",
|
||||
"@bitwarden/platform",
|
||||
"@bitwarden/tools",
|
||||
"@bitwarden/ui",
|
||||
"@bitwarden/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/auth/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/billing",
|
||||
"@bitwarden/components",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/key-management-ui",
|
||||
"@bitwarden/tools",
|
||||
"@bitwarden/ui",
|
||||
"@bitwarden/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/key-management/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/auth",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/billing",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/key-management-ui",
|
||||
"@bitwarden/tools",
|
||||
"@bitwarden/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/billing/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/key-management-ui",
|
||||
"@bitwarden/tools",
|
||||
"@bitwarden/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/components/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/auth",
|
||||
"@bitwarden/billing",
|
||||
"@bitwarden/eslint",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/key-management-ui",
|
||||
"@bitwarden/node",
|
||||
"@bitwarden/tools",
|
||||
"@bitwarden/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/ui/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/billing",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/key-management-ui",
|
||||
"@bitwarden/node",
|
||||
"@bitwarden/platform",
|
||||
"@bitwarden/tools",
|
||||
"@bitwarden/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/key-management-ui/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/billing",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/node",
|
||||
"@bitwarden/platform",
|
||||
"@bitwarden/tools",
|
||||
"@bitwarden/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/angular/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/auth",
|
||||
"@bitwarden/billing",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/key-management-ui",
|
||||
"@bitwarden/node",
|
||||
"@bitwarden/platform",
|
||||
"@bitwarden/tools",
|
||||
"@bitwarden/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/vault/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/tools"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/admin-console/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": ["**/platform/**/internal", "**/platform/messaging/**", "**/src/**/*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/tools/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/platform/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/auth",
|
||||
"@bitwarden/billing",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/key-management",
|
||||
"@bitwarden/key-management-ui",
|
||||
"@bitwarden/tools",
|
||||
"@bitwarden/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/importer/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/tools"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/eslint/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/angular",
|
||||
"@bitwarden/auth",
|
||||
"@bitwarden/billing",
|
||||
"@bitwarden/components",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/key-management",
|
||||
"@bitwarden/key-management-ui",
|
||||
"@bitwarden/node",
|
||||
"@bitwarden/platform",
|
||||
"@bitwarden/tools",
|
||||
"@bitwarden/ui",
|
||||
"@bitwarden/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": ["libs/node/src/**/*.ts"],
|
||||
"rules": {
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
],
|
||||
"patterns": [
|
||||
"**/platform/**/internal",
|
||||
"**/platform/messaging/**",
|
||||
"**/src/**/*",
|
||||
"@bitwarden/admin-console",
|
||||
"@bitwarden/angular",
|
||||
"@bitwarden/components",
|
||||
"@bitwarden/importer",
|
||||
"@bitwarden/key-management-ui",
|
||||
"@bitwarden/platform",
|
||||
"@bitwarden/tools",
|
||||
"@bitwarden/ui",
|
||||
"@bitwarden/vault"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"apps/cli/src/admin-console/**/*.ts",
|
||||
"apps/web/src/app/admin-console/**/*.ts",
|
||||
"bitwarden_license/bit-cli/src/admin-console/**/*.ts",
|
||||
"bitwarden_license/bit-web/src/app/admin-console/**/*.ts",
|
||||
"libs/admin-console/src/**/*.ts"
|
||||
],
|
||||
"rules": {
|
||||
"@angular-eslint/component-class-suffix": "error",
|
||||
"@angular-eslint/contextual-lifecycle": "error",
|
||||
"@angular-eslint/directive-class-suffix": "error",
|
||||
"@angular-eslint/no-empty-lifecycle-method": "error",
|
||||
"@angular-eslint/no-input-rename": "error",
|
||||
"@angular-eslint/no-inputs-metadata-property": "error",
|
||||
"@angular-eslint/no-output-native": "error",
|
||||
"@angular-eslint/no-output-on-prefix": "error",
|
||||
"@angular-eslint/no-output-rename": "error",
|
||||
"@angular-eslint/no-outputs-metadata-property": "error",
|
||||
"@angular-eslint/use-lifecycle-interface": "error",
|
||||
"@angular-eslint/use-pipe-transform-interface": "error"
|
||||
},
|
||||
"jsPlugins": ["@angular-eslint/eslint-plugin"]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
76
.oxlintrc.json.bak
Normal file
76
.oxlintrc.json.bak
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"$schema": "./node_modules/oxlint/configuration_schema.json",
|
||||
"plugins": ["eslint", "typescript", "import"],
|
||||
"jsPlugins": [
|
||||
"eslint-plugin-storybook",
|
||||
"eslint-plugin-rxjs",
|
||||
"eslint-plugin-rxjs-angular",
|
||||
"eslint-plugin-tailwindcss",
|
||||
"@angular-eslint/eslint-plugin",
|
||||
"@angular-eslint/eslint-plugin-template",
|
||||
"./libs/eslint/platform/index.mjs",
|
||||
"./libs/eslint/components/index.mjs"
|
||||
],
|
||||
"categories": {
|
||||
"correctness": "error"
|
||||
},
|
||||
"rules": {
|
||||
"curly": ["error", "all"],
|
||||
"no-console": "error",
|
||||
// Disabled: false positives on test variables assigned in beforeEach
|
||||
"no-unassigned-vars": "allow",
|
||||
// Disabled: ESLint uses allowTernary option which oxlint doesn't support
|
||||
"no-unused-expressions": "allow",
|
||||
// Disabled: use typescript/no-unused-vars for .ts files instead
|
||||
"no-unused-vars": "allow",
|
||||
// Disabled: not enabled in ESLint config
|
||||
"no-useless-rename": "allow",
|
||||
// Disabled: not enabled in ESLint config
|
||||
"no-useless-catch": "allow",
|
||||
// Disabled: not enabled in ESLint config
|
||||
"no-unnecessary-parameter-property-assignment": "allow",
|
||||
// Disabled: BOM characters slip through ESLint
|
||||
"no-irregular-whitespace": "allow",
|
||||
// Disabled: matches ESLint config (rule is off)
|
||||
"typescript/no-explicit-any": "allow",
|
||||
// Disabled: oxlint doesn't support allowedNames option, ESLint allows "self"
|
||||
"typescript/no-this-alias": "allow",
|
||||
// Disabled: oxlint's args:"none" doesn't work for rest parameters (...args)
|
||||
// See: https://github.com/oxc-project/oxc/issues/11147
|
||||
// Let ESLint's @typescript-eslint/no-unused-vars handle this instead
|
||||
"typescript/no-unused-vars": "allow",
|
||||
// Requires --type-aware flag to work
|
||||
"typescript/no-misused-promises": "error",
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"ignorePatterns": [
|
||||
"**/build/",
|
||||
"**/dist/",
|
||||
"**/coverage/",
|
||||
".angular/",
|
||||
"storybook-static/",
|
||||
"**/node_modules/",
|
||||
"**/webpack.*.js",
|
||||
"**/jest.config.js",
|
||||
"**/config/*.js",
|
||||
"apps/*/config.js",
|
||||
"apps/desktop/desktop_native",
|
||||
"apps/desktop/src/auth/scripts/*.js",
|
||||
"scripts/**",
|
||||
"jest.preset.js",
|
||||
"tailwind.config.js",
|
||||
"libs/components/tailwind.config.*.js",
|
||||
"libs/nx-plugin/**",
|
||||
"**/*.mjs"
|
||||
]
|
||||
}
|
||||
76
.pre-migrate-oxlintrc.json
Normal file
76
.pre-migrate-oxlintrc.json
Normal file
@@ -0,0 +1,76 @@
|
||||
{
|
||||
"$schema": "./node_modules/oxlint/configuration_schema.json",
|
||||
"plugins": ["eslint", "typescript", "import"],
|
||||
"jsPlugins": [
|
||||
"eslint-plugin-storybook",
|
||||
"eslint-plugin-rxjs",
|
||||
"eslint-plugin-rxjs-angular",
|
||||
"eslint-plugin-tailwindcss",
|
||||
"@angular-eslint/eslint-plugin",
|
||||
"@angular-eslint/eslint-plugin-template",
|
||||
"./libs/eslint/platform/index.mjs",
|
||||
"./libs/eslint/components/index.mjs"
|
||||
],
|
||||
"categories": {
|
||||
"correctness": "error"
|
||||
},
|
||||
"rules": {
|
||||
"curly": ["error", "all"],
|
||||
"no-console": "error",
|
||||
// Disabled: false positives on test variables assigned in beforeEach
|
||||
"no-unassigned-vars": "allow",
|
||||
// Disabled: ESLint uses allowTernary option which oxlint doesn't support
|
||||
"no-unused-expressions": "allow",
|
||||
// Disabled: use typescript/no-unused-vars for .ts files instead
|
||||
"no-unused-vars": "allow",
|
||||
// Disabled: not enabled in ESLint config
|
||||
"no-useless-rename": "allow",
|
||||
// Disabled: not enabled in ESLint config
|
||||
"no-useless-catch": "allow",
|
||||
// Disabled: not enabled in ESLint config
|
||||
"no-unnecessary-parameter-property-assignment": "allow",
|
||||
// Disabled: BOM characters slip through ESLint
|
||||
"no-irregular-whitespace": "allow",
|
||||
// Disabled: matches ESLint config (rule is off)
|
||||
"typescript/no-explicit-any": "allow",
|
||||
// Disabled: oxlint doesn't support allowedNames option, ESLint allows "self"
|
||||
"typescript/no-this-alias": "allow",
|
||||
// Disabled: oxlint's args:"none" doesn't work for rest parameters (...args)
|
||||
// See: https://github.com/oxc-project/oxc/issues/11147
|
||||
// Let ESLint's @typescript-eslint/no-unused-vars handle this instead
|
||||
"typescript/no-unused-vars": "allow",
|
||||
// Requires --type-aware flag to work
|
||||
"typescript/no-misused-promises": "error",
|
||||
"no-restricted-imports": [
|
||||
"error",
|
||||
{
|
||||
"paths": [
|
||||
{
|
||||
"name": "@bitwarden/commercial-sdk-internal",
|
||||
"message": "Use @bitwarden/sdk-internal instead."
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"ignorePatterns": [
|
||||
"**/build/",
|
||||
"**/dist/",
|
||||
"**/coverage/",
|
||||
".angular/",
|
||||
"storybook-static/",
|
||||
"**/node_modules/",
|
||||
"**/webpack.*.js",
|
||||
"**/jest.config.js",
|
||||
"**/config/*.js",
|
||||
"apps/*/config.js",
|
||||
"apps/desktop/desktop_native",
|
||||
"apps/desktop/src/auth/scripts/*.js",
|
||||
"scripts/**",
|
||||
"jest.preset.js",
|
||||
"tailwind.config.js",
|
||||
"libs/components/tailwind.config.*.js",
|
||||
"libs/nx-plugin/**",
|
||||
"**/*.mjs"
|
||||
]
|
||||
}
|
||||
@@ -1,6 +1,5 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"baseUrl": "./",
|
||||
"outDir": "dist",
|
||||
"target": "es6",
|
||||
"module": "CommonJS",
|
||||
@@ -10,7 +9,7 @@
|
||||
"sourceMap": false,
|
||||
"declaration": false,
|
||||
"paths": {
|
||||
"@src/*": ["src/*"],
|
||||
"@src/*": ["./src/*"],
|
||||
"@bitwarden/user-core": ["../../../libs/user-core/src/index.ts"],
|
||||
"@bitwarden/storage-core": ["../../../libs/storage-core/src/index.ts"],
|
||||
"@bitwarden/logging": ["../../../libs/logging/src/index.ts"],
|
||||
|
||||
@@ -2,6 +2,9 @@ import requireLabelOnBiticonbutton from "./require-label-on-biticonbutton.mjs";
|
||||
import requireThemeColorsInSvg from "./require-theme-colors-in-svg.mjs";
|
||||
|
||||
export default {
|
||||
meta: {
|
||||
name: "bitwarden-components",
|
||||
},
|
||||
rules: {
|
||||
"require-label-on-biticonbutton": requireLabelOnBiticonbutton,
|
||||
"require-theme-colors-in-svg": requireThemeColorsInSvg,
|
||||
|
||||
@@ -3,6 +3,9 @@ import noEnums from "./no-enums.mjs";
|
||||
import noPageScriptUrlLeakage from "./no-page-script-url-leakage.mjs";
|
||||
|
||||
export default {
|
||||
meta: {
|
||||
name: "bitwarden-platform",
|
||||
},
|
||||
rules: {
|
||||
"required-using": requiredUsing,
|
||||
"no-enums": noEnums,
|
||||
|
||||
@@ -12,54 +12,54 @@
|
||||
"emitDecoratorMetadata": true,
|
||||
"declaration": false,
|
||||
"outDir": "dist",
|
||||
"baseUrl": ".",
|
||||
"resolveJsonModule": true,
|
||||
"allowJs": true,
|
||||
"sourceMap": true,
|
||||
"skipLibCheck": true,
|
||||
"paths": {
|
||||
".storybook/*": ["./.storybook/*"],
|
||||
"@bitwarden/admin-console/common": ["./libs/admin-console/src/common"],
|
||||
"@bitwarden/angular/*": ["./libs/angular/src/*"],
|
||||
"@bitwarden/assets": ["libs/assets/src/index.ts"],
|
||||
"@bitwarden/assets/svg": ["libs/assets/src/svg/index.ts"],
|
||||
"@bitwarden/assets": ["./libs/assets/src/index.ts"],
|
||||
"@bitwarden/assets/svg": ["./libs/assets/src/svg/index.ts"],
|
||||
"@bitwarden/auth/angular": ["./libs/auth/src/angular"],
|
||||
"@bitwarden/auth/common": ["./libs/auth/src/common"],
|
||||
"@bitwarden/billing": ["./libs/billing/src"],
|
||||
"@bitwarden/bit-common/*": ["./bitwarden_license/bit-common/src/*"],
|
||||
"@bitwarden/browser/*": ["./apps/browser/src/*"],
|
||||
"@bitwarden/cli/*": ["./apps/cli/src/*"],
|
||||
"@bitwarden/client-type": ["libs/client-type/src/index.ts"],
|
||||
"@bitwarden/client-type": ["./libs/client-type/src/index.ts"],
|
||||
"@bitwarden/common/*": ["./libs/common/src/*"],
|
||||
"@bitwarden/components": ["./libs/components/src"],
|
||||
"@bitwarden/core-test-utils": ["libs/core-test-utils/src/index.ts"],
|
||||
"@bitwarden/core-test-utils": ["./libs/core-test-utils/src/index.ts"],
|
||||
"@bitwarden/dirt-card": ["./libs/dirt/card/src"],
|
||||
"@bitwarden/generator-components": ["./libs/tools/generator/components/src"],
|
||||
"@bitwarden/generator-core": ["./libs/tools/generator/core/src"],
|
||||
"@bitwarden/generator-history": ["./libs/tools/generator/extensions/history/src"],
|
||||
"@bitwarden/generator-legacy": ["./libs/tools/generator/extensions/legacy/src"],
|
||||
"@bitwarden/generator-navigation": ["./libs/tools/generator/extensions/navigation/src"],
|
||||
"@bitwarden/guid": ["libs/guid/src/index.ts"],
|
||||
"@bitwarden/guid": ["./libs/guid/src/index.ts"],
|
||||
"@bitwarden/importer-core": ["./libs/importer/src"],
|
||||
"@bitwarden/importer-ui": ["./libs/importer/src/components"],
|
||||
"@bitwarden/key-management": ["./libs/key-management/src"],
|
||||
"@bitwarden/key-management-ui": ["./libs/key-management-ui/src"],
|
||||
"@bitwarden/logging": ["libs/logging/src"],
|
||||
"@bitwarden/messaging": ["libs/messaging/src/index.ts"],
|
||||
"@bitwarden/logging": ["./libs/logging/src"],
|
||||
"@bitwarden/messaging": ["./libs/messaging/src/index.ts"],
|
||||
"@bitwarden/node/*": ["./libs/node/src/*"],
|
||||
"@bitwarden/nx-plugin": ["libs/nx-plugin/src/index.ts"],
|
||||
"@bitwarden/nx-plugin": ["./libs/nx-plugin/src/index.ts"],
|
||||
"@bitwarden/platform": ["./libs/platform/src"],
|
||||
"@bitwarden/platform/*": ["./libs/platform/src/*"],
|
||||
"@bitwarden/pricing": ["libs/pricing/src/index.ts"],
|
||||
"@bitwarden/pricing": ["./libs/pricing/src/index.ts"],
|
||||
"@bitwarden/send-ui": ["./libs/tools/send/send-ui/src"],
|
||||
"@bitwarden/serialization": ["libs/serialization/src/index.ts"],
|
||||
"@bitwarden/state": ["libs/state/src/index.ts"],
|
||||
"@bitwarden/state-internal": ["libs/state-internal/src/index.ts"],
|
||||
"@bitwarden/state-test-utils": ["libs/state-test-utils/src/index.ts"],
|
||||
"@bitwarden/storage-core": ["libs/storage-core/src/index.ts"],
|
||||
"@bitwarden/storage-test-utils": ["libs/storage-test-utils/src/index.ts"],
|
||||
"@bitwarden/serialization": ["./libs/serialization/src/index.ts"],
|
||||
"@bitwarden/state": ["./libs/state/src/index.ts"],
|
||||
"@bitwarden/state-internal": ["./libs/state-internal/src/index.ts"],
|
||||
"@bitwarden/state-test-utils": ["./libs/state-test-utils/src/index.ts"],
|
||||
"@bitwarden/storage-core": ["./libs/storage-core/src/index.ts"],
|
||||
"@bitwarden/storage-test-utils": ["./libs/storage-test-utils/src/index.ts"],
|
||||
"@bitwarden/ui-common": ["./libs/ui/common/src"],
|
||||
"@bitwarden/ui-common/setup-jest": ["./libs/ui/common/src/setup-jest"],
|
||||
"@bitwarden/user-core": ["libs/user-core/src/index.ts"],
|
||||
"@bitwarden/user-core": ["./libs/user-core/src/index.ts"],
|
||||
"@bitwarden/vault": ["./libs/vault/src"],
|
||||
"@bitwarden/vault-export-core": ["./libs/tools/export/vault-export/vault-export-core/src"],
|
||||
"@bitwarden/vault-export-ui": ["./libs/tools/export/vault-export/vault-export-ui/src"],
|
||||
|
||||
Reference in New Issue
Block a user