Browse Source

Prevent banned imports into libs/common (#3599)

Also fix typescript-eslint/parser config and fix linting errors
pull/3625/head
Thomas Rittson 3 years ago committed by GitHub
parent
commit
5ffa3ccd20
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 35
      .eslintrc.json
  2. 2
      libs/common/spec/importers/bitwardenPasswordProtectedImporter.spec.ts
  3. 2
      libs/common/spec/models/domain/cipher.spec.ts
  4. 2
      libs/common/spec/models/domain/encString.spec.ts
  5. 2
      libs/common/spec/models/domain/login.spec.ts
  6. 2
      libs/common/spec/models/domain/send.spec.ts
  7. 2
      libs/common/spec/models/domain/sendAccess.spec.ts
  8. 2
      libs/common/spec/services/import.service.spec.ts
  9. 2
      libs/common/spec/utils.ts
  10. 2
      libs/common/spec/web/services/webCryptoFunction.service.spec.ts

35
.eslintrc.json

@ -4,7 +4,7 @@
"browser": true, "browser": true,
"webextensions": true "webextensions": true
}, },
"plugins": ["@typescript-eslint", "rxjs", "rxjs-angular"], "plugins": ["@typescript-eslint", "rxjs", "rxjs-angular", "import"],
"parser": "@typescript-eslint/parser", "parser": "@typescript-eslint/parser",
"parserOptions": { "parserOptions": {
"project": ["./tsconfig.eslint.json"], "project": ["./tsconfig.eslint.json"],
@ -18,6 +18,16 @@
"prettier", "prettier",
"plugin:rxjs/recommended" "plugin:rxjs/recommended"
], ],
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [".ts"]
},
"import/resolver": {
"typescript": {
"alwaysTryTypes": true
}
}
},
"rules": { "rules": {
"@typescript-eslint/no-explicit-any": "off", // TODO: This should be re-enabled "@typescript-eslint/no-explicit-any": "off", // TODO: This should be re-enabled
"@typescript-eslint/no-unused-vars": ["error", { "args": "none" }], "@typescript-eslint/no-unused-vars": ["error", { "args": "none" }],
@ -65,6 +75,27 @@
"selector": "CallExpression[callee.name='svgIcon']" "selector": "CallExpression[callee.name='svgIcon']"
} }
], ],
"curly": ["error", "all"] "curly": ["error", "all"],
"import/namespace": ["off"], // This doesn't resolve namespace imports correctly, but TS will throw for this anyway
"import/no-restricted-paths": [
"error",
{
"zones": [
// Do not allow angular/node/electron code to be imported into common
{
"target": "./libs/common/**/*",
"from": "./libs/angular/**/*"
},
{
"target": "./libs/common/**/*",
"from": "./libs/node/**/*"
},
{
"target": "./libs/common/**/*",
"from": "./libs/electron/**/*"
}
]
}
]
} }
} }

2
libs/common/spec/importers/bitwardenPasswordProtectedImporter.spec.ts

@ -1,4 +1,4 @@
import Substitute, { Arg, SubstituteOf } from "@fluffy-spoon/substitute"; import { Substitute, Arg, SubstituteOf } from "@fluffy-spoon/substitute";
import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service";
import { I18nService } from "@bitwarden/common/abstractions/i18n.service"; import { I18nService } from "@bitwarden/common/abstractions/i18n.service";

2
libs/common/spec/models/domain/cipher.spec.ts

@ -1,4 +1,4 @@
import Substitute, { Arg } from "@fluffy-spoon/substitute"; import { Substitute, Arg } from "@fluffy-spoon/substitute";
import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType"; import { CipherRepromptType } from "@bitwarden/common/enums/cipherRepromptType";
import { CipherType } from "@bitwarden/common/enums/cipherType"; import { CipherType } from "@bitwarden/common/enums/cipherType";

2
libs/common/spec/models/domain/encString.spec.ts

@ -1,4 +1,4 @@
import Substitute, { Arg } from "@fluffy-spoon/substitute"; import { Substitute, Arg } from "@fluffy-spoon/substitute";
import { mock, MockProxy } from "jest-mock-extended"; import { mock, MockProxy } from "jest-mock-extended";
import { AbstractEncryptService } from "@bitwarden/common/abstractions/abstractEncrypt.service"; import { AbstractEncryptService } from "@bitwarden/common/abstractions/abstractEncrypt.service";

2
libs/common/spec/models/domain/login.spec.ts

@ -1,4 +1,4 @@
import Substitute, { Arg } from "@fluffy-spoon/substitute"; import { Substitute, Arg } from "@fluffy-spoon/substitute";
import { UriMatchType } from "@bitwarden/common/enums/uriMatchType"; import { UriMatchType } from "@bitwarden/common/enums/uriMatchType";
import { LoginData } from "@bitwarden/common/models/data/loginData"; import { LoginData } from "@bitwarden/common/models/data/loginData";

2
libs/common/spec/models/domain/send.spec.ts

@ -1,4 +1,4 @@
import Substitute, { Arg, SubstituteOf } from "@fluffy-spoon/substitute"; import { Substitute, Arg, SubstituteOf } from "@fluffy-spoon/substitute";
import { AbstractEncryptService } from "@bitwarden/common/abstractions/abstractEncrypt.service"; import { AbstractEncryptService } from "@bitwarden/common/abstractions/abstractEncrypt.service";
import { CryptoService } from "@bitwarden/common/abstractions/crypto.service"; import { CryptoService } from "@bitwarden/common/abstractions/crypto.service";

2
libs/common/spec/models/domain/sendAccess.spec.ts

@ -1,4 +1,4 @@
import Substitute, { Arg } from "@fluffy-spoon/substitute"; import { Substitute, Arg } from "@fluffy-spoon/substitute";
import { SendType } from "@bitwarden/common/enums/sendType"; import { SendType } from "@bitwarden/common/enums/sendType";
import { SendAccess } from "@bitwarden/common/models/domain/sendAccess"; import { SendAccess } from "@bitwarden/common/models/domain/sendAccess";

2
libs/common/spec/services/import.service.spec.ts

@ -1,4 +1,4 @@
import Substitute, { SubstituteOf } from "@fluffy-spoon/substitute"; import { Substitute, SubstituteOf } from "@fluffy-spoon/substitute";
import { ApiService } from "@bitwarden/common/abstractions/api.service"; import { ApiService } from "@bitwarden/common/abstractions/api.service";
import { CipherService } from "@bitwarden/common/abstractions/cipher.service"; import { CipherService } from "@bitwarden/common/abstractions/cipher.service";

2
libs/common/spec/utils.ts

@ -1,4 +1,4 @@
import Substitute, { Arg } from "@fluffy-spoon/substitute"; import { Substitute, Arg } from "@fluffy-spoon/substitute";
import { EncString } from "@bitwarden/common/models/domain/encString"; import { EncString } from "@bitwarden/common/models/domain/encString";

2
libs/common/spec/web/services/webCryptoFunction.service.spec.ts

@ -1,4 +1,4 @@
import Substitute from "@fluffy-spoon/substitute"; import { Substitute } from "@fluffy-spoon/substitute";
import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service"; import { PlatformUtilsService } from "@bitwarden/common/abstractions/platformUtils.service";
import { Utils } from "@bitwarden/common/misc/utils"; import { Utils } from "@bitwarden/common/misc/utils";

Loading…
Cancel
Save