diff --git a/.browserslistrc b/.browserslistrc index 8084853..0ccadaf 100644 --- a/.browserslistrc +++ b/.browserslistrc @@ -2,11 +2,17 @@ # For additional information regarding the format and rule options, please see: # https://github.com/browserslist/browserslist#queries +# For the full list of supported browsers by the Angular framework, please see: +# https://angular.io/guide/browser-support + # You can see what browsers were selected by your queries by running: # npx browserslist -> 0.5% -last 2 versions +last 1 Chrome version +last 1 Firefox version +last 2 Edge major versions +last 2 Safari major versions +last 2 iOS major versions Firefox ESR -not dead -not IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file +not IE 9-10 # Angular support for IE 9-10 has been deprecated and will be removed as of Angular v11. To opt-in, remove the 'not' prefix on this line. +not IE 11 # Angular supports IE 11 only as an opt-in. To opt-in, remove the 'not' prefix on this line. diff --git a/.editorconfig b/.editorconfig index e89330a..59d9a3a 100644 --- a/.editorconfig +++ b/.editorconfig @@ -8,6 +8,9 @@ indent_size = 2 insert_final_newline = true trim_trailing_whitespace = true +[*.ts] +quote_type = single + [*.md] max_line_length = off trim_trailing_whitespace = false diff --git a/angular.json b/angular.json index 1f283f5..7ecc806 100644 --- a/angular.json +++ b/angular.json @@ -1,6 +1,10 @@ { "$schema": "./node_modules/@angular/cli/lib/config/schema.json", "version": 1, + "cli": { + "packageManager": "yarn", + "analytics": "10b848ad-8b81-4346-852f-5eff89573a85" + }, "newProjectRoot": "projects", "projects": { "public-gateway-cacher": { @@ -187,9 +191,5 @@ } } }, - "defaultProject": "public-gateway-cacher", - "cli": { - "packageManager": "yarn", - "analytics": "10b848ad-8b81-4346-852f-5eff89573a85" - } + "defaultProject": "public-gateway-cacher" } diff --git a/e2e/protractor.conf.js b/e2e/protractor.conf.js index 7c798cf..26f45cc 100644 --- a/e2e/protractor.conf.js +++ b/e2e/protractor.conf.js @@ -2,7 +2,7 @@ // Protractor configuration file, see link for more information // https://github.com/angular/protractor/blob/master/lib/config.ts -const { SpecReporter } = require('jasmine-spec-reporter'); +const { SpecReporter, StacktraceOption } = require('jasmine-spec-reporter'); /** * @type { import("protractor").Config } @@ -21,12 +21,16 @@ exports.config = { jasmineNodeOpts: { showColors: true, defaultTimeoutInterval: 30000, - print: function() {} + print: function () { } }, onPrepare() { require('ts-node').register({ project: require('path').join(__dirname, './tsconfig.json') }); - jasmine.getEnv().addReporter(new SpecReporter({ spec: { displayStacktrace: true } })); + jasmine.getEnv().addReporter(new SpecReporter({ + spec: { + displayStacktrace: StacktraceOption.PRETTY + } + })); } -}; \ No newline at end of file +}; diff --git a/e2e/src/app.po.ts b/e2e/src/app.po.ts index b8498c2..d1409e1 100644 --- a/e2e/src/app.po.ts +++ b/e2e/src/app.po.ts @@ -1,11 +1,11 @@ import { browser, by, element } from 'protractor'; export class AppPage { - navigateTo() { - return browser.get(browser.baseUrl) as Promise; + navigateTo(): Promise { + return browser.get(browser.baseUrl) as Promise; } - getTitleText() { - return element(by.css('app-root .content span')).getText() as Promise; + getTitleText(): Promise { + return element(by.css('pgc-root .content span')).getText() as Promise; } } diff --git a/e2e/tsconfig.json b/e2e/tsconfig.json index 6b87cc4..1807fd6 100644 --- a/e2e/tsconfig.json +++ b/e2e/tsconfig.json @@ -1,3 +1,4 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "extends": "../tsconfig.base.json", "compilerOptions": { diff --git a/package.json b/package.json index 5ebe7f5..76ab5ba 100644 --- a/package.json +++ b/package.json @@ -11,11 +11,10 @@ "test": "ng test", "lint": "ng lint", "e2e": "ng e2e", - "yarn": "ipfs-yarn", - "publish:ipfs": "yarn run build:ipfs && ipfs add --recursive --chunker=buzhash --cid-version=1 dist/angular" + "publish:ipfs": "yarn run build:ipfs && ipfs add --recursive --chunker=buzhash --cid-version=1 dist/angular", + "postinstall": "ngcc" }, "private": false, - "sideEffects": false, "dependencies": { "@angular/animations": "~10.0.3", "@angular/cdk": "~10.0.1", @@ -30,33 +29,33 @@ "@angular/router": "~10.0.3", "bootstrap": "^4.5.0", "ipfs-css": "^1.2.0", - "rxjs": "~6.6.0", + "rxjs": "~6.5.5", "tslib": "^2.0.0", "zone.js": "~0.10.3" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.1000.1", - "@angular/cli": "~10.0.1", + "@angular-devkit/build-angular": "~0.1000.2", + "@angular/cli": "~10.0.2", "@angular/compiler-cli": "~10.0.3", "@angular/language-service": "~10.0.3", - "@types/jasmine": "^3.5.11", - "@types/jasminewd2": "^2.0.8", - "@types/node": "^14.0.20", + "@types/jasmine": "~3.5.0", + "@types/jasminewd2": "~2.0.3", + "@types/node": "^12.11.1", "codelyzer": "^6.0.0", "jasmine-core": "~3.5.0", "jasmine-spec-reporter": "~5.0.0", - "karma": "~5.0.0", "karma-chrome-launcher": "~3.1.0", "karma-coverage-istanbul-reporter": "~3.0.2", - "karma-jasmine": "~3.3.0", "karma-jasmine-html-reporter": "^1.5.0", + "karma-jasmine": "~3.3.0", + "karma": "~5.0.0", "protractor": "~7.0.0", "rxjs-tslint-rules": "^4.33.3", - "ts-node": "^8.10.2", - "tslint": "^6.1.2", + "ts-node": "~8.3.0", "tslint-consistent-codestyle": "^1.16.0", "tslint-origin-ordered-imports-rule": "^1.3.0-0", "tslint-rxjs-subject-restrictions-rule": "^1.0.4", - "typescript": "~3.9.6" + "tslint": "~6.1.0", + "typescript": "~3.9.5" } } diff --git a/src/app/package.json b/src/app/package.json new file mode 100644 index 0000000..75792ab --- /dev/null +++ b/src/app/package.json @@ -0,0 +1,9 @@ +{ + "name": "public-gateway-cacher", + "private": true, + "description_1": "This is a special package.json file that is not used by package managers.", + "description_2": "It is used to tell the tools and bundlers whether the code under this directory is free of code with non-local side-effect. Any code that does have non-local side-effects can't be well optimized (tree-shaken) and will result in unnecessary increased payload size.", + "description_3": "It should be safe to set this option to 'false' for new applications, but existing code bases could be broken when built with the production config if the application code does contain non-local side-effects that the application depends on.", + "description_4": "To learn more about this file see: https://angular.io/config/app-package-json.", + "sideEffects": false +} diff --git a/src/app/pages/pages.component.ts b/src/app/pages/pages.component.ts index 0c6136e..b691c60 100644 --- a/src/app/pages/pages.component.ts +++ b/src/app/pages/pages.component.ts @@ -113,7 +113,7 @@ export class PagesComponent implements OnInit, OnDestroy { } private getIcon(status: number): string { - if (status >= 200 && status < 300) return '✅'; + if (status >= 200 && status < 300) { return '✅'; } switch (status) { case 0: return '❌'; case 403: return '⛔'; diff --git a/src/app/services/gateway.service.ts b/src/app/services/gateway.service.ts index 4e38e4f..485b444 100644 --- a/src/app/services/gateway.service.ts +++ b/src/app/services/gateway.service.ts @@ -23,7 +23,7 @@ export class GatewayService { return this.http.get(`${base.href}/assets/json/gateways.json`); } - throw new Error('Couldn\'t find environment nor base.') + throw new Error('Couldn\'t find environment nor base.'); } get(gateway: string, protocol: Protocol, hashpath: string): Observable> { diff --git a/tsconfig.app.json b/tsconfig.app.json index d25517b..232c3a5 100644 --- a/tsconfig.app.json +++ b/tsconfig.app.json @@ -1,3 +1,4 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "extends": "./tsconfig.base.json", "compilerOptions": { @@ -10,8 +11,5 @@ ], "include": [ "src/**/*.d.ts" - ], - "angularCompilerOptions": { - "enableIvy": false - } + ] } diff --git a/tsconfig.base.json b/tsconfig.base.json index f41a0bd..cf71f65 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -1,26 +1,25 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "compileOnSave": false, "compilerOptions": { "baseUrl": "./", "outDir": "./dist/out-tsc", + "forceConsistentCasingInFileNames": true, + "strict": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, "sourceMap": true, "declaration": false, "downlevelIteration": true, "experimentalDecorators": true, - "module": "es2020", "moduleResolution": "node", "importHelpers": true, "target": "es2015", - "typeRoots": [ - "node_modules/@types" - ], + "module": "es2020", "lib": [ "es2018", "dom" - ], - "forceConsistentCasingInFileNames": true, - "noFallthroughCasesInSwitch": true, - "strict": true + ] }, "angularCompilerOptions": { "fullTemplateTypeCheck": true, diff --git a/tsconfig.json b/tsconfig.json index 7e00e70..95f1de3 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,6 +12,9 @@ }, { "path": "./tsconfig.spec.json" + }, + { + "path": "./e2e/tsconfig.json" } ] -} \ No newline at end of file +} diff --git a/tsconfig.spec.json b/tsconfig.spec.json index a3c7d71..729a6d6 100644 --- a/tsconfig.spec.json +++ b/tsconfig.spec.json @@ -1,10 +1,10 @@ +/* To learn more about this file see: https://angular.io/config/tsconfig. */ { "extends": "./tsconfig.base.json", "compilerOptions": { "outDir": "./out-tsc/spec", "types": [ - "jasmine", - "node" + "jasmine" ] }, "files": [ @@ -14,8 +14,5 @@ "include": [ "src/**/*.spec.ts", "src/**/*.d.ts" - ], - "angularCompilerOptions": { - "enableIvy": false - } + ] } diff --git a/tslint.json b/tslint.json index 9558ee9..f55a83e 100644 --- a/tslint.json +++ b/tslint.json @@ -3,14 +3,56 @@ "tslint:recommended", "rxjs-tslint-rules" ], + "linterOptions": { + "exclude": [ + "**/*-routing.module.ts", + "src/polyfills.ts", + "src/test.ts", + "**/*.po.ts" + ] + }, "rules": { + "align": { + "options": [ + "parameters", + "statements" + ] + }, "array-type": false, "arrow-parens": false, + "arrow-return-shorthand": [ + true, + "multiline" + ], + "ban-types": [ + true, + [ + "Object", + "Use {} instead." + ], + [ + "String" + ] + ], + "callable-types": true, + "component-class-suffix": true, + "component-max-inline-declarations": true, + "component-selector": [ + true, + "element", + "app", + "kebab-case" + ], + "contextual-decorator": false, + "contextual-lifecycle": true, + "curly": true, + "cyclomatic-complexity": [ + true, + 20 + ], "deprecation": { "severity": "warning" }, - "component-class-suffix": true, - "contextual-lifecycle": true, "directive-class-suffix": true, "directive-selector": [ true, @@ -18,23 +60,34 @@ "app", "camelCase" ], - "component-selector": [ - true, - "element", - "app", - "kebab-case" - ], + "encoding": true, + "eofline": true, "import-blacklist": [ true, "rxjs/Rx" ], + "import-destructuring-spacing": true, + "import-spacing": true, + "increment-decrement": [ + true, + "allow-post" + ], + "indent": { + "options": [ + "spaces" + ] + }, "interface-name": false, "max-classes-per-file": false, + "max-file-line-count": [ + true, + 400 + ], "max-line-length": [ true, { - "limit": 140, - "ignore-pattern": "^import |^export {(.*?)}|class [a-zA-Z]+ implements |// " + "ignore-pattern": "^import |^export {(.*?)}|class [a-zA-Z]+ implements |// ", + "limit": 140 } ], "member-access": false, @@ -57,6 +110,17 @@ ] } ], + "newline-before-return": false, + "no-any": [ + true, + { + "ignore-rest-args": true + } + ], + "no-arg": true, + "no-attribute-decorator": true, + "no-collapsible-if": true, + "no-conflicting-lifecycle": true, "no-consecutive-blank-lines": [ true, 1 @@ -69,17 +133,72 @@ "timeEnd", "trace" ], + "no-default-export": true, + "no-default-import": true, + "no-duplicate-imports": true, + "no-duplicate-super": true, + "no-duplicate-switch-case": true, "no-empty": [ true, "allow-empty-functions" ], + "no-for-in-array": true, + "no-forward-ref": true, + "no-host-metadata-property": true, + "no-implicit-dependencies": [ + true, + "dev" + ], + "no-import-side-effect": [ + true, + { + "ignore-module": "(hammerjs|core-js|zone.js)" + } + ], "no-inferrable-types": [ true, "ignore-params" ], + "no-input-rename": true, + "no-inputs-metadata-property": true, + "no-invalid-template-strings": true, + "no-invalid-this": [ + true, + "check-function-in-method" + ], + "no-lifecycle-call": true, + "no-misused-new": true, "no-non-null-assertion": true, + "no-output-native": true, + "no-output-on-prefix": true, + "no-output-rename": true, + "no-outputs-metadata-property": true, + "no-pipe-impure": true, + "no-queries-metadata-property": true, "no-redundant-jsdoc": true, + "no-reference": true, + "no-require-imports": true, + "no-return-await": true, + "no-return-undefined": true, + "no-static-this": true, "no-switch-case-fall-through": true, + "no-tautology-expression": true, + "no-this-assignment": true, + "no-trailing-whitespace": true, + "no-unbound-method": true, + "no-unnecessary-callback-wrapper": true, + "no-unnecessary-class": [ + true, + "allow-constructor-only", + "allow-static-only", + "allow-empty-class" + ], + "no-unnecessary-initializer": true, + "no-unnecessary-type-assertion": true, + "no-unsafe-finally": true, + "no-unused": true, + "no-unused-css": true, + "no-var-keyword": true, "no-var-requires": false, "object-literal-key-quotes": [ true, @@ -87,43 +206,60 @@ ], "object-literal-sort-keys": false, "ordered-imports": false, + "origin-ordered-imports": [ + true + ], + "prefer-const": true, + "prefer-inline-decorator": false, + "prefer-output-readonly": true, + "prefer-readonly": true, + "prefer-template": true, "quotemark": [ true, "single" ], - "no-conflicting-lifecycle": true, - "no-host-metadata-property": true, - "no-input-rename": true, - "no-inputs-metadata-property": true, - "no-output-native": true, - "no-output-on-prefix": true, - "no-output-rename": true, - "no-outputs-metadata-property": true, - "template-banana-in-box": true, - "template-no-negated-async": true, - "use-lifecycle-interface": true, - "use-pipe-transform-interface": true, - "origin-ordered-imports": [ - true - ], + "radix": false, + "restrict-plus-operands": true, "rx-subject-restrictions": true, - "ban-types": [ - true, - [ - "Object", - "Use {} instead." - ], - [ - "String" + "rxjs-no-compat": true, + "rxjs-no-internal": true, + "semicolon": { + "options": [ + "always" ] - ], - "no-unnecessary-class": [ + }, + "space-before-function-paren": [ true, - "allow-constructor-only", - "allow-static-only", - "allow-empty-class" + { + "anonymous": "never", + "asyncArrow": "always", + "constructor": "never", + "method": "never", + "named": "never" + } + ], + "space-within-parens": true, + "template-banana-in-box": true, + "template-conditional-complexity": true, + "template-no-call-expression": true, + "template-no-negated-async": true, + "template-use-track-by-function": true, + "trailing-comma": [ + true, + { + "esSpecCompliant": true, + "multiline": { + "arrays": "ignore", + "functions": "never", + "objects": "ignore", + "typeLiterals": "ignore" + } + } + ], + "triple-equals": [ + true, + "allow-null-check" ], - "no-for-in-array": true, "typedef": [ true, "call-signature", @@ -131,115 +267,35 @@ "object-destructuring", "arrow-call-signature" ], - "no-unused": true, - "no-return-undefined": true, - "no-collapsible-if": true, - "arrow-return-shorthand": [ - true, - "multiline" - ], - "no-static-this": true, - "template-use-track-by-function": true, - "prefer-template": true, - "contextual-decorator": false, - "no-pipe-impure": true, - "component-max-inline-declarations": true, - "no-attribute-decorator": true, - "no-forward-ref": true, - "no-lifecycle-call": true, - "template-no-call-expression": true, - "no-unused-css": true, - "prefer-output-readonly": true, - "template-conditional-complexity": true, - "use-pipe-decorator": true, - "use-component-view-encapsulation": true, - "no-queries-metadata-property": true, - "prefer-inline-decorator": false, - "import-destructuring-spacing": true, - "newline-before-return": false, - "no-trailing-whitespace": true, - "space-within-parens": true, - "space-before-function-paren": [ - true, - { - "anonymous": "never", - "named": "never", - "asyncArrow": "always", - "method": "never", - "constructor": "never" - } - ], - "max-file-line-count": [ - true, - 400 - ], - "cyclomatic-complexity": [ - true, - 20 - ], - "encoding": true, - "no-unsafe-finally": true, - "no-duplicate-switch-case": true, - "increment-decrement": [ - true, - "allow-post" - ], - "triple-equals": [ - true, - "allow-null-check" - ], - "no-invalid-template-strings": true, - "no-unnecessary-type-assertion": true, - "callable-types": true, - "no-reference": true, - "no-default-import": true, - "no-default-export": true, - "no-require-imports": true, - "no-duplicate-imports": true, - "no-import-side-effect": [ - true, - { - "ignore-module": "(hammerjs|core-js|zone.js)" - } - ], - "no-implicit-dependencies": [ - true, - "dev" - ], - "no-unnecessary-initializer": true, - "no-var-keyword": true, - "prefer-const": true, - "no-return-await": true, - "no-unnecessary-callback-wrapper": true, - "no-arg": true, - "eofline": true, - "no-tautology-expression": true, - "use-isnan": true, - "restrict-plus-operands": true, - "no-this-assignment": true, - "no-invalid-this": [ - true, - "check-function-in-method" - ], - "no-unbound-method": true, - "prefer-readonly": true, - "radix": false, - "no-misused-new": true, - "no-duplicate-super": true, - "rxjs-no-compat": true, - "rxjs-no-internal": true, + "typedef-whitespace": { + "options": [ + { + "call-signature": "nospace", + "index-signature": "nospace", + "parameter": "nospace", + "property-declaration": "nospace", + "variable-declaration": "nospace" + }, + { + "call-signature": "onespace", + "index-signature": "onespace", + "parameter": "onespace", + "property-declaration": "onespace", + "variable-declaration": "onespace" + } + ] + }, "unnecessary-else": [ true, { "allow-else-if": true } ], - "no-any": [ - true, - { - "ignore-rest-args": true - } - ], + "use-component-view-encapsulation": true, + "use-isnan": true, + "use-lifecycle-interface": true, + "use-pipe-decorator": true, + "use-pipe-transform-interface": true, "variable-name": { "options": [ "ban-keywords", @@ -248,31 +304,21 @@ "allow-pascal-case" ] }, - "trailing-comma": [ - true, - { - "multiline": { - "objects": "ignore", - "arrays": "ignore", - "functions": "never", - "typeLiterals": "ignore" - }, - "esSpecCompliant": true - } - ] + "whitespace": { + "options": [ + "check-branch", + "check-decl", + "check-operator", + "check-separator", + "check-type", + "check-typecast" + ] + } }, "rulesDirectory": [ "codelyzer", "node_modules/tslint-origin-ordered-imports-rule/dist", "node_modules/tslint-rxjs-subject-restrictions-rule/dist", "node_modules/tslint-consistent-codestyle/rules" - ], - "linterOptions": { - "exclude": [ - "**/*-routing.module.ts", - "src/polyfills.ts", - "src/test.ts", - "**/*.po.ts" - ] - } + ] } diff --git a/yarn.lock b/yarn.lock index 67f3b39..de590c8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,14 +2,6 @@ # yarn lockfile v1 -"@angular-devkit/architect@0.1000.1": - version "0.1000.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1000.1.tgz#6ca8529d888b3f5fc1f28863bb744855b67b811e" - integrity sha512-GpoJ+p38feerxwfpJgrjwv/2c47qIX+TMdfKVqbswxLnzK21hXjd0zn6UfovAFwLeL1hRu2O00NDsmQn01gdoA== - dependencies: - "@angular-devkit/core" "10.0.1" - rxjs "6.5.5" - "@angular-devkit/architect@0.1000.2": version "0.1000.2" resolved "https://registry.yarnpkg.com/@angular-devkit/architect/-/architect-0.1000.2.tgz#ca62e25f0e845ff63c6a1ba942a45caf1d085218" @@ -18,15 +10,15 @@ "@angular-devkit/core" "10.0.2" rxjs "6.5.5" -"@angular-devkit/build-angular@~0.1000.1": - version "0.1000.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.1000.1.tgz#8073c8826763b6e0d2e5f2dcb21d55be11ce6937" - integrity sha512-rRYtHzy27BM3XjPVqlpQOs+RXAgtiT1Qr6EiLiMcb8Twg4aWHzKF+IITLQL9CSYkpOnY40vHjWZuEVu0qIhEPQ== +"@angular-devkit/build-angular@~0.1000.2": + version "0.1000.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-angular/-/build-angular-0.1000.2.tgz#b74b98c79e3ebefa6f4aa3996d7247b3f87cf56b" + integrity sha512-Cl7JaXkE1OMpagMwPPNGq7IGy50p2F3R0iZFi38imq661YqH/FFv0SdbMqmpAHaIvvr6E1HJt5ltoLNERQWFjg== dependencies: - "@angular-devkit/architect" "0.1000.1" - "@angular-devkit/build-optimizer" "0.1000.1" - "@angular-devkit/build-webpack" "0.1000.1" - "@angular-devkit/core" "10.0.1" + "@angular-devkit/architect" "0.1000.2" + "@angular-devkit/build-optimizer" "0.1000.2" + "@angular-devkit/build-webpack" "0.1000.2" + "@angular-devkit/core" "10.0.2" "@babel/core" "7.9.6" "@babel/generator" "7.9.6" "@babel/plugin-transform-runtime" "7.9.6" @@ -34,7 +26,7 @@ "@babel/runtime" "7.9.6" "@babel/template" "7.8.6" "@jsdevtools/coverage-istanbul-loader" "3.0.3" - "@ngtools/webpack" "10.0.1" + "@ngtools/webpack" "10.0.2" ajv "6.12.2" autoprefixer "9.8.0" babel-loader "8.1.0" @@ -89,36 +81,25 @@ webpack-subresource-integrity "1.4.1" worker-plugin "4.0.3" -"@angular-devkit/build-optimizer@0.1000.1": - version "0.1000.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.1.tgz#2cb46c7b8fc4361d06244d50545b23e91e866c15" - integrity sha512-Q60lxyetBcMKUiNMc1vGUExuJMashHB9CF8HVenX80R9ihaA/GHAUrD2PbKBpLVoC4T291uUhfcA8MB1fJNRfw== +"@angular-devkit/build-optimizer@0.1000.2": + version "0.1000.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-optimizer/-/build-optimizer-0.1000.2.tgz#06641c2b90aada53b025cf0970a2d3f6a2a962f6" + integrity sha512-wbrgJQw92+A7kFaG7U0F9MMzhVI32tcIdr26+SFXWGAeBaWIkBfMs/jfGLlEYESLqQQF5oMn7LJBwXu+nkPHvw== dependencies: loader-utils "2.0.0" source-map "0.7.3" tslib "2.0.0" webpack-sources "1.4.3" -"@angular-devkit/build-webpack@0.1000.1": - version "0.1000.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1000.1.tgz#c0e8208dfa52ca1743955c6ae96fb1d7685103e1" - integrity sha512-m+abxD38LYdHw+w53Rmc4MbuwDP7rfevAZ/1QR2WFYj0BI5QsTYGlpmieI2TXiwiwvTILn9UzYZAA16nKvmUwA== +"@angular-devkit/build-webpack@0.1000.2": + version "0.1000.2" + resolved "https://registry.yarnpkg.com/@angular-devkit/build-webpack/-/build-webpack-0.1000.2.tgz#65f59faf9dfd8ec018e7321eaf2c16b5ea4259ec" + integrity sha512-x1fHnZFTwvAE3lB6XnlJmf0KNiiAsZKGdUuTXqzgsgh34A/aFOWtu0EB6cw6lvifMj1ioDT8Zjp8N89Lh5AtEA== dependencies: - "@angular-devkit/architect" "0.1000.1" - "@angular-devkit/core" "10.0.1" + "@angular-devkit/architect" "0.1000.2" + "@angular-devkit/core" "10.0.2" rxjs "6.5.5" -"@angular-devkit/core@10.0.1": - version "10.0.1" - resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-10.0.1.tgz#acc1c6a088507e7340964c8cbf85e91781e86686" - integrity sha512-AXsxN00zbixi/9HyzzsDGm6rtMferxKfhG8WPJfp/0TLeJrmiLs5wdNjk8LhfTZABSTYx/QxRgOI6OnBoXePgg== - dependencies: - ajv "6.12.2" - fast-json-stable-stringify "2.1.0" - magic-string "0.25.7" - rxjs "6.5.5" - source-map "0.7.3" - "@angular-devkit/core@10.0.2": version "10.0.2" resolved "https://registry.yarnpkg.com/@angular-devkit/core/-/core-10.0.2.tgz#5f14afab52bbb6a21757e4f489f76e0defcb9aa8" @@ -155,7 +136,7 @@ optionalDependencies: parse5 "^5.0.0" -"@angular/cli@~10.0.1": +"@angular/cli@~10.0.2": version "10.0.2" resolved "https://registry.yarnpkg.com/@angular/cli/-/cli-10.0.2.tgz#c25323122f973f6eaad2fe6f7e308548690d0047" integrity sha512-L/uLUrZNIwbYzIeU9R3SC2hblDgtxP57msmRjoOQBpSzwlOME+z0wlCXPv+h9NOzNPvVVbEtLtjBgZxUw0IHzg== @@ -1172,12 +1153,12 @@ merge-source-map "^1.1.0" schema-utils "^2.6.4" -"@ngtools/webpack@10.0.1": - version "10.0.1" - resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-10.0.1.tgz#f3d5143f268cc1c3c8d94de0e048b970c95e6a27" - integrity sha512-/uUTczGcH2WJoVovCLHXdPdTzN0yQZontcf5MkoDjlA0selUdRFntV9cnUWoray9SVxzgoHqjRxBANCTsiiuuw== +"@ngtools/webpack@10.0.2": + version "10.0.2" + resolved "https://registry.yarnpkg.com/@ngtools/webpack/-/webpack-10.0.2.tgz#87f5c7ee2362cf6c8216f059d809c6537e8c28aa" + integrity sha512-Py8jkc6UIHtp5TKKAMkNiKhx0goL+d7RkQEBWIvO+9e5fBGIt0Npy3dBoJ9gRldaGIjLZWlHhGsgeaYbq5dlvA== dependencies: - "@angular-devkit/core" "10.0.1" + "@angular-devkit/core" "10.0.2" enhanced-resolve "4.1.1" rxjs "6.5.5" webpack-sources "1.4.3" @@ -1264,12 +1245,12 @@ resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.5.0.tgz#2ad2006c8a937d20df20a8fee86071d0f730ef99" integrity sha512-kGCRI9oiCxFS6soGKlyzhMzDydfcPix9PpTkr7h11huxOxhWwP37Tg7DYBaQ18eQTNreZEuLkhpbGSqVNZPnnw== -"@types/jasmine@^3.5.11": +"@types/jasmine@~3.5.0": version "3.5.11" resolved "https://registry.yarnpkg.com/@types/jasmine/-/jasmine-3.5.11.tgz#ba8e80639dffbe277f49c708b45373a320d158e2" integrity sha512-fg1rOd/DehQTIJTifGqGVY6q92lDgnLfs7C6t1ccSwQrMyoTGSoH6wWzhJDZb6ezhsdwAX4EIBLe8w5fXWmEng== -"@types/jasminewd2@^2.0.8": +"@types/jasminewd2@~2.0.3": version "2.0.8" resolved "https://registry.yarnpkg.com/@types/jasminewd2/-/jasminewd2-2.0.8.tgz#67afe5098d5ef2386073a7b7384b69a840dfe93b" integrity sha512-d9p31r7Nxk0ZH0U39PTH0hiDlJ+qNVGjlt1ucOoTUptxb2v+Y5VMnsxfwN+i3hK4yQnqBi3FMmoMFcd1JHDxdg== @@ -1291,10 +1272,10 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.14.tgz#1c1d6e3c75dba466e0326948d56e8bd72a1903d2" integrity sha512-u/SJDyXwuihpwjXy7hOOghagLEV1KdAST6syfnOk6QZAMzZuWZqXy5aYYZbh8Jdpd4escVFP0MvftHNDb9pruA== -"@types/node@^14.0.20": - version "14.0.20" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.0.20.tgz#0da05cddbc761e1fa98af88a17244c8c1ff37231" - integrity sha512-MRn/NP3dee8yL5QhbSA6riuwkS+UOcsPUMOIOG3KMUQpuor/2TopdRBu8QaaB4fGU+gz/bzyDWt0FtUbeJ8H1A== +"@types/node@^12.11.1": + version "12.12.48" + resolved "https://registry.yarnpkg.com/@types/node/-/node-12.12.48.tgz#4135f064eeed9fcfb4756deea5ba2caa11603391" + integrity sha512-m3Nmo/YaDUfYzdCQlxjF5pIy7TNyDTAJhIa//xtHcF0dlgYIBKULKnmloCPtByDxtZXrWV8Pge1AKT6/lRvVWg== "@types/q@^0.0.32": version "0.0.32" @@ -7780,14 +7761,14 @@ rxjs-tslint-rules@^4.33.3: tsutils "^3.0.0" tsutils-etc "^1.2.2" -rxjs@6.5.5: +rxjs@6.5.5, rxjs@~6.5.5: version "6.5.5" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.5.tgz#c5c884e3094c8cfee31bf27eb87e54ccfc87f9ec" integrity sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ== dependencies: tslib "^1.9.0" -rxjs@^6.5.3, rxjs@~6.6.0: +rxjs@^6.5.3: version "6.6.0" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.0.tgz#af2901eedf02e3a83ffa7f886240ff9018bbec84" integrity sha512-3HMA8z/Oz61DUHe+SdOiQyzIf4tOx5oQHmMir7IZEu6TMqCLHT4LRcmNaUS0NwOz8VLvmmBduMsoaUvMaIiqzg== @@ -8237,7 +8218,7 @@ source-map-resolve@^0.5.2: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@0.5.19, source-map-support@^0.5.17: +source-map-support@0.5.19, source-map-support@^0.5.6: version "0.5.19" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.19.tgz#a98b62f86dcaf4f67399648c085291ab9e8fed61" integrity sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw== @@ -8875,16 +8856,16 @@ tree-kill@1.2.2: resolved "https://registry.yarnpkg.com/tree-kill/-/tree-kill-1.2.2.tgz#4ca09a9092c88b73a7cdc5e8a01b507b0790a0cc" integrity sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A== -ts-node@^8.10.2: - version "8.10.2" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.10.2.tgz#eee03764633b1234ddd37f8db9ec10b75ec7fb8d" - integrity sha512-ISJJGgkIpDdBhWVu3jufsWpK3Rzo7bdiIXJjQc0ynKxVOVcg2oIrf2H2cejminGrptVc6q6/uynAHNCuWGbpVA== +ts-node@~8.3.0: + version "8.3.0" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-8.3.0.tgz#e4059618411371924a1fb5f3b125915f324efb57" + integrity sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ== dependencies: arg "^4.1.0" diff "^4.0.1" make-error "^1.1.1" - source-map-support "^0.5.17" - yn "3.1.1" + source-map-support "^0.5.6" + yn "^3.0.0" ts-pnp@^1.1.6: version "1.2.0" @@ -8922,7 +8903,7 @@ tslint-rxjs-subject-restrictions-rule@^1.0.4: resolved "https://registry.yarnpkg.com/tslint-rxjs-subject-restrictions-rule/-/tslint-rxjs-subject-restrictions-rule-1.0.4.tgz#0254a0bc5a1bcb6a563630a9d0910b1f80fd7773" integrity sha512-e1FztB5VZIRA7i9dtHKvlUcD2xWqjRtQL4MAtL61KnWdfDSffw/r0tSCdJoqr+cW0eXxAay0xQ9FIksDYRmpqw== -tslint@^6.1.2: +tslint@~6.1.0: version "6.1.2" resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.2.tgz#2433c248512cc5a7b2ab88ad44a6b1b34c6911cf" integrity sha512-UyNrLdK3E0fQG/xWNqAFAC5ugtFyPO4JJR1KyyfQAyzR8W0fTRrC91A8Wej4BntFzcvETdCSDa/4PnNYJQLYiA== @@ -9005,7 +8986,7 @@ typedarray@^0.0.6: resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777" integrity sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c= -typescript@~3.9.6: +typescript@~3.9.5: version "3.9.6" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.6.tgz#8f3e0198a34c3ae17091b35571d3afd31999365a" integrity sha512-Pspx3oKAPJtjNwE92YS05HQoY7z2SFyOpHo9MqJor3BXAGNaPUs83CuVp9VISFkSjyRfiTpmKuAYGJB7S7hOxw== @@ -9648,7 +9629,7 @@ yeast@0.1.2: resolved "https://registry.yarnpkg.com/yeast/-/yeast-0.1.2.tgz#008e06d8094320c372dbc2f8ed76a0ca6c8ac419" integrity sha1-AI4G2AlDIMNy28L47XagymyKxBk= -yn@3.1.1: +yn@^3.0.0: version "3.1.1" resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==