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 @@ @@ -4,7 +4,7 @@
"browser": true,
"webextensions": true
},
"plugins": ["@typescript-eslint", "rxjs", "rxjs-angular"],
"plugins": ["@typescript-eslint", "rxjs", "rxjs-angular", "import"],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"project": ["./tsconfig.eslint.json"],
@ -18,6 +18,16 @@ @@ -18,6 +18,16 @@
"prettier",
"plugin:rxjs/recommended"
],
"settings": {
"import/parsers": {
"@typescript-eslint/parser": [".ts"]
},
"import/resolver": {
"typescript": {
"alwaysTryTypes": true
}
}
},
"rules": {
"@typescript-eslint/no-explicit-any": "off", // TODO: This should be re-enabled
"@typescript-eslint/no-unused-vars": ["error", { "args": "none" }],
@ -65,6 +75,27 @@ @@ -65,6 +75,27 @@
"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 @@ @@ -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 { I18nService } from "@bitwarden/common/abstractions/i18n.service";

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

@ -1,4 +1,4 @@ @@ -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 { CipherType } from "@bitwarden/common/enums/cipherType";

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

@ -1,4 +1,4 @@ @@ -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 { AbstractEncryptService } from "@bitwarden/common/abstractions/abstractEncrypt.service";

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

@ -1,4 +1,4 @@ @@ -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 { LoginData } from "@bitwarden/common/models/data/loginData";

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

@ -1,4 +1,4 @@ @@ -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 { CryptoService } from "@bitwarden/common/abstractions/crypto.service";

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

@ -1,4 +1,4 @@ @@ -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 { SendAccess } from "@bitwarden/common/models/domain/sendAccess";

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

@ -1,4 +1,4 @@ @@ -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 { CipherService } from "@bitwarden/common/abstractions/cipher.service";

2
libs/common/spec/utils.ts

@ -1,4 +1,4 @@ @@ -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";

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

@ -1,4 +1,4 @@ @@ -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 { Utils } from "@bitwarden/common/misc/utils";

Loading…
Cancel
Save