diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 0000000..6837a9e
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,97 @@
+{
+ "root": true,
+ "ignorePatterns": [
+ "projects/**/*"
+ ],
+ "plugins": [
+ "unused-imports"
+ ],
+ "rules": {
+ "no-unused-vars": "off",
+ "unused-imports/no-unused-imports": "error",
+ "unused-imports/no-unused-vars": [
+ "error",
+ { "vars": "all", "varsIgnorePattern": "^_", "args": "after-used", "argsIgnorePattern": "^_" }
+ ],
+ "prefer-const": "error"
+ },
+ "overrides": [
+ {
+ "files": [
+ "*.ts"
+ ],
+ "parserOptions": {
+ "project": [
+ "tsconfig.json",
+ "e2e/tsconfig.json"
+ ],
+ "createDefaultProgram": true
+ },
+ "extends": [
+ "plugin:@angular-eslint/recommended",
+ "plugin:@angular-eslint/template/process-inline-templates"
+ ],
+ "rules": {
+ "@angular-eslint/component-selector": [
+ "error",
+ {
+ "type": "element",
+ "prefix": "app",
+ "style": "kebab-case"
+ }
+ ],
+ "@angular-eslint/directive-selector": [
+ "error",
+ {
+ "type": "attribute",
+ "prefix": "app",
+ "style": "camelCase"
+ }
+ ],
+ "quotes": ["error", "single", { "allowTemplateLiterals": true } ],
+ "semi": ["error", "always"],
+ "@typescript-eslint/explicit-member-accessibility": [
+ "error",
+ {
+ "accessibility": "explicit",
+ "overrides": {
+ "accessors": "explicit",
+ "constructors": "explicit"
+ }
+ }
+ ],
+ "@typescript-eslint/no-empty-interface": "off",
+ "@typescript-eslint/no-inferrable-types": "off",
+ "arrow-parens": [
+ "off",
+ "always"
+ ],
+ "id-blacklist": "error",
+ "import/order": "off",
+ "max-len": [
+ "error",
+ {
+ "code": 200
+ }
+ ],
+ "padding-line-between-statements": [
+ "error",
+ {
+ "blankLine": "always",
+ "prev": "*",
+ "next": "return"
+ }
+ ]
+ }
+ },
+ {
+ "files": [
+ "*.html"
+ ],
+ "extends": [
+ "plugin:@angular-eslint/template/recommended"
+ ],
+ "rules": {}
+ }
+ ]
+}
diff --git a/.run/lint.run.xml b/.run/lint.run.xml
index 8cc8c52..d2fbf25 100644
--- a/.run/lint.run.xml
+++ b/.run/lint.run.xml
@@ -1,12 +1,12 @@
-
-
-
+
+
+
-
+
-
-
-
+
+
+
-
+
\ No newline at end of file
diff --git a/angular.json b/angular.json
index 84c1d2f..586ec56 100644
--- a/angular.json
+++ b/angular.json
@@ -31,6 +31,15 @@
"/projects/*/src/testing/**.*"
]
}
+ },
+ "lint": {
+ "builder": "@angular-eslint/builder:lint",
+ "options": {
+ "lintFilePatterns": [
+ "projects/ngx-repository/**/*.ts",
+ "projects/ngx-repository/**/*.html"
+ ]
+ }
}
}
},
@@ -134,6 +143,15 @@
"devServerTarget": "ngx-repository-app:serve:production"
}
}
+ },
+ "lint": {
+ "builder": "@angular-eslint/builder:lint",
+ "options": {
+ "lintFilePatterns": [
+ "projects/ngx-repository-app/**/*.ts",
+ "projects/ngx-repository-app/**/*.html"
+ ]
+ }
}
}
},
@@ -162,6 +180,15 @@
"tsConfig": "projects/ngx-http-repository/tsconfig.spec.json",
"karmaConfig": "projects/ngx-http-repository/karma.conf.js"
}
+ },
+ "lint": {
+ "builder": "@angular-eslint/builder:lint",
+ "options": {
+ "lintFilePatterns": [
+ "projects/ngx-http-repository/**/*.ts",
+ "projects/ngx-http-repository/**/*.html"
+ ]
+ }
}
}
},
@@ -196,9 +223,21 @@
}
]
}
+ },
+ "lint": {
+ "builder": "@angular-eslint/builder:lint",
+ "options": {
+ "lintFilePatterns": [
+ "projects/ngx-firestore-repository/**/*.ts",
+ "projects/ngx-firestore-repository/**/*.html"
+ ]
+ }
}
}
}
},
- "defaultProject": "ngx-repository"
+ "defaultProject": "ngx-repository",
+ "cli": {
+ "defaultCollection": "@angular-eslint/schematics"
+ }
}
diff --git a/package-lock.json b/package-lock.json
index cc42c9f..e7e9c63 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -253,6 +253,120 @@
"rxjs": "6.6.7"
}
},
+ "@angular-eslint/builder": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-13.0.1.tgz",
+ "integrity": "sha512-z43jUpA4xm767ze/yWwvoy5PdvSe57DAvXHlHywv0iYxXl1OhytPIA0CdOA3ZWkbSWWVmWmFzELeYfGnE3+igg==",
+ "dev": true,
+ "requires": {
+ "@nrwl/devkit": "13.1.3"
+ }
+ },
+ "@angular-eslint/bundled-angular-compiler": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-13.0.1.tgz",
+ "integrity": "sha512-Eih9Kh0hxHO4+3in9mgjksQecym0p+3p+287y3LLihIc7gCkAO4xZeHGVGiC8qUX72PNUXkDlyskI9oHjK9Axw==",
+ "dev": true
+ },
+ "@angular-eslint/eslint-plugin": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-13.0.1.tgz",
+ "integrity": "sha512-WxqgMLTfE45dqjzg/Nq0dOEDwzpdB+zYOWrA41MT3jt0UbukFEx8+FMrAgBLIeDaHzwWomiAEV5Tm5mQAKA4VA==",
+ "dev": true,
+ "requires": {
+ "@angular-eslint/utils": "13.0.1",
+ "@typescript-eslint/experimental-utils": "5.3.0"
+ }
+ },
+ "@angular-eslint/eslint-plugin-template": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-13.0.1.tgz",
+ "integrity": "sha512-8FclNMjEzb87CtE3TdsXXWk1SRCp/tSSHI0cYVv6YpU7f/9Mnej+ZY3MdvqI/amD8zJueTMdnjNRP/jiwX2XhQ==",
+ "dev": true,
+ "requires": {
+ "@angular-eslint/bundled-angular-compiler": "13.0.1",
+ "@typescript-eslint/experimental-utils": "5.3.0",
+ "aria-query": "^4.2.2",
+ "axobject-query": "^2.2.0"
+ },
+ "dependencies": {
+ "aria-query": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz",
+ "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==",
+ "dev": true,
+ "requires": {
+ "@babel/runtime": "^7.10.2",
+ "@babel/runtime-corejs3": "^7.10.2"
+ }
+ },
+ "axobject-query": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz",
+ "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==",
+ "dev": true
+ }
+ }
+ },
+ "@angular-eslint/schematics": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-13.0.1.tgz",
+ "integrity": "sha512-LiPUVff6fexQNa6Ttgb+yhIoQc9oXc1qb34kmntvQDw59xBeEyrUojG2P2I5VS+1ZoVUWNY86cqEaxkFJVkY7w==",
+ "dev": true,
+ "requires": {
+ "@angular-eslint/eslint-plugin": "13.0.1",
+ "@angular-eslint/eslint-plugin-template": "13.0.1",
+ "ignore": "5.1.9",
+ "strip-json-comments": "3.1.1",
+ "tmp": "0.2.1"
+ },
+ "dependencies": {
+ "ignore": {
+ "version": "5.1.9",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
+ "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+ "dev": true,
+ "requires": {
+ "rimraf": "^3.0.0"
+ }
+ }
+ }
+ },
+ "@angular-eslint/template-parser": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-13.0.1.tgz",
+ "integrity": "sha512-GEJzVLS4Sb4UdurqaPD1/ucGhagGAQCp17CIgjpcXRwzxBZ9OLqbO/rx8diRbADp+1rceVq4BhADsg3VdsOsuw==",
+ "dev": true,
+ "requires": {
+ "@angular-eslint/bundled-angular-compiler": "13.0.1",
+ "eslint-scope": "^5.1.0"
+ }
+ },
+ "@angular-eslint/utils": {
+ "version": "13.0.1",
+ "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-13.0.1.tgz",
+ "integrity": "sha512-makSpu8kr5yHIz0c6WaWwix+tk5DN5Uix9vQulVisZWchTmSqEovJih/UC+4XspM9kQbjcbWHohYKiBbBEQpbA==",
+ "dev": true,
+ "requires": {
+ "@angular-eslint/bundled-angular-compiler": "13.0.1",
+ "@typescript-eslint/experimental-utils": "5.3.0"
+ }
+ },
"@angular/animations": {
"version": "13.2.1",
"resolved": "https://registry.npmjs.org/@angular/animations/-/animations-13.2.1.tgz",
@@ -1569,6 +1683,16 @@
"regenerator-runtime": "^0.13.4"
}
},
+ "@babel/runtime-corejs3": {
+ "version": "7.17.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.0.tgz",
+ "integrity": "sha512-qeydncU80ravKzovVncW3EYaC1ji3GpntdPgNcJy9g7hHSY6KX+ne1cbV3ov7Zzm4F1z0+QreZPCuw1ynkmYNg==",
+ "dev": true,
+ "requires": {
+ "core-js-pure": "^3.20.2",
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
"@babel/template": {
"version": "7.16.7",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz",
@@ -1675,6 +1799,99 @@
"integrity": "sha512-ws57AidsDvREKrZKYffXddNkyaF14iHNHm8VQnZH6t99E8gczjNN0GpvcGny0imC80yQ0tHz1xVUKk/KFQSUyA==",
"dev": true
},
+ "@es-joy/jsdoccomment": {
+ "version": "0.18.0",
+ "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.18.0.tgz",
+ "integrity": "sha512-TjT8KJULV4I6ZiwIoKr6eMs+XpRejqwJ/VA+QPDeFGe9j6bZFKmMJ81EeFsGm6JNZhnzm37aoxVROmTh2PZoyA==",
+ "dev": true,
+ "requires": {
+ "comment-parser": "1.3.0",
+ "esquery": "^1.4.0",
+ "jsdoc-type-pratt-parser": "~2.2.2"
+ }
+ },
+ "@eslint/eslintrc": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz",
+ "integrity": "sha512-BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.2.0",
+ "globals": "^13.9.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ },
+ "dependencies": {
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "globals": {
+ "version": "13.12.1",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz",
+ "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
+ },
+ "ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true
+ }
+ }
+ },
"@firebase/analytics": {
"version": "0.7.4",
"resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.7.4.tgz",
@@ -2244,6 +2461,23 @@
}
}
},
+ "@humanwhocodes/config-array": {
+ "version": "0.9.3",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz",
+ "integrity": "sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==",
+ "dev": true,
+ "requires": {
+ "@humanwhocodes/object-schema": "^1.2.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "dev": true
+ },
"@istanbuljs/load-nyc-config": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
@@ -2428,6 +2662,162 @@
"read-package-json-fast": "^2.0.1"
}
},
+ "@nrwl/devkit": {
+ "version": "13.1.3",
+ "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-13.1.3.tgz",
+ "integrity": "sha512-TAAsZJvVc/obeH0rZKY6miVhyM2GHGb8qIWp9MAIdLlXf4VDcNC7rxwb5OrGVSwuTTjqGYBGPUx0yEogOOJthA==",
+ "dev": true,
+ "requires": {
+ "@nrwl/tao": "13.1.3",
+ "ejs": "^3.1.5",
+ "ignore": "^5.0.4",
+ "rxjs": "^6.5.4",
+ "semver": "7.3.4",
+ "tslib": "^2.0.0"
+ },
+ "dependencies": {
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
+ "@nrwl/tao": {
+ "version": "13.1.3",
+ "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-13.1.3.tgz",
+ "integrity": "sha512-/IwJgSgCBD1SaF+n8RuXX2OxDAh8ut/+P8pMswjm8063ac30UlAHjQ4XTYyskLH8uoUmNi2hNaGgHUrkwt7tQA==",
+ "dev": true,
+ "requires": {
+ "chalk": "4.1.0",
+ "enquirer": "~2.3.6",
+ "fs-extra": "^9.1.0",
+ "jsonc-parser": "3.0.0",
+ "nx": "13.1.3",
+ "rxjs": "^6.5.4",
+ "rxjs-for-await": "0.0.2",
+ "semver": "7.3.4",
+ "tmp": "~0.2.1",
+ "tslib": "^2.0.0",
+ "yargs-parser": "20.0.0"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "requires": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+ "dev": true,
+ "requires": {
+ "rimraf": "^3.0.0"
+ }
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true
+ },
+ "yargs-parser": {
+ "version": "20.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.0.0.tgz",
+ "integrity": "sha512-8eblPHTL7ZWRkyjIZJjnGf+TijiKJSwA24svzLRVvtgoi/RZiKa9fFQTrlx0OKLnyHSdt/enrdadji6WFfESVA==",
+ "dev": true
+ }
+ }
+ },
"@protobufjs/aspromise": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
@@ -2732,6 +3122,12 @@
"integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==",
"dev": true
},
+ "@types/json5": {
+ "version": "0.0.29",
+ "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
+ "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=",
+ "dev": true
+ },
"@types/lodash": {
"version": "4.14.168",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz",
@@ -2858,21 +3254,211 @@
"@types/node": "*"
}
},
- "@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
+ "@typescript-eslint/eslint-plugin": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.3.0.tgz",
+ "integrity": "sha512-ARUEJHJrq85aaiCqez7SANeahDsJTD3AEua34EoQN9pHS6S5Bq9emcIaGGySt/4X2zSi+vF5hAH52sEen7IO7g==",
"dev": true,
"requires": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
- }
- },
- "@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
- "dev": true
+ "@typescript-eslint/experimental-utils": "5.3.0",
+ "@typescript-eslint/scope-manager": "5.3.0",
+ "debug": "^4.3.2",
+ "functional-red-black-tree": "^1.0.1",
+ "ignore": "^5.1.8",
+ "regexpp": "^3.2.0",
+ "semver": "^7.3.5",
+ "tsutils": "^3.21.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "tsutils": {
+ "version": "3.21.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+ "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.8.1"
+ }
+ }
+ }
+ },
+ "@typescript-eslint/experimental-utils": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.3.0.tgz",
+ "integrity": "sha512-NFVxYTjKj69qB0FM+piah1x3G/63WB8vCBMnlnEHUsiLzXSTWb9FmFn36FD9Zb4APKBLY3xRArOGSMQkuzTF1w==",
+ "dev": true,
+ "requires": {
+ "@types/json-schema": "^7.0.9",
+ "@typescript-eslint/scope-manager": "5.3.0",
+ "@typescript-eslint/types": "5.3.0",
+ "@typescript-eslint/typescript-estree": "5.3.0",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^3.0.0"
+ }
+ },
+ "@typescript-eslint/parser": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.3.0.tgz",
+ "integrity": "sha512-rKu/yAReip7ovx8UwOAszJVO5MgBquo8WjIQcp1gx4pYQCwYzag+I5nVNHO4MqyMkAo0gWt2gWUi+36gWAVKcw==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/scope-manager": "5.3.0",
+ "@typescript-eslint/types": "5.3.0",
+ "@typescript-eslint/typescript-estree": "5.3.0",
+ "debug": "^4.3.2"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ }
+ }
+ },
+ "@typescript-eslint/scope-manager": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.3.0.tgz",
+ "integrity": "sha512-22Uic9oRlTsPppy5Tcwfj+QET5RWEnZ5414Prby465XxQrQFZ6nnm5KnXgnsAJefG4hEgMnaxTB3kNEyjdjj6A==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "5.3.0",
+ "@typescript-eslint/visitor-keys": "5.3.0"
+ }
+ },
+ "@typescript-eslint/types": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.3.0.tgz",
+ "integrity": "sha512-fce5pG41/w8O6ahQEhXmMV+xuh4+GayzqEogN24EK+vECA3I6pUwKuLi5QbXO721EMitpQne5VKXofPonYlAQg==",
+ "dev": true
+ },
+ "@typescript-eslint/typescript-estree": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.3.0.tgz",
+ "integrity": "sha512-FJ0nqcaUOpn/6Z4Jwbtf+o0valjBLkqc3MWkMvrhA2TvzFXtcclIM8F4MBEmYa2kgcI8EZeSAzwoSrIC8JYkug==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "5.3.0",
+ "@typescript-eslint/visitor-keys": "5.3.0",
+ "debug": "^4.3.2",
+ "globby": "^11.0.4",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.5",
+ "tsutils": "^3.21.0"
+ },
+ "dependencies": {
+ "array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "requires": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ }
+ },
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "tsutils": {
+ "version": "3.21.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+ "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.8.1"
+ }
+ }
+ }
+ },
+ "@typescript-eslint/visitor-keys": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.3.0.tgz",
+ "integrity": "sha512-oVIAfIQuq0x2TFDNLVavUn548WL+7hdhxYn+9j3YdJJXB7mH9dAmZNJsPDa7Jc+B9WGqoiex7GUDbyMxV0a/aw==",
+ "dev": true,
+ "requires": {
+ "@typescript-eslint/types": "5.3.0",
+ "eslint-visitor-keys": "^3.0.0"
+ }
+ },
+ "@webassemblyjs/ast": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
+ "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
+ "dev": true,
+ "requires": {
+ "@webassemblyjs/helper-numbers": "1.11.1",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
+ }
+ },
+ "@webassemblyjs/floating-point-hex-parser": {
+ "version": "1.11.1",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
+ "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==",
+ "dev": true
},
"@webassemblyjs/helper-api-error": {
"version": "1.11.1",
@@ -3103,6 +3689,12 @@
"integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
"dev": true
},
+ "acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true
+ },
"adjust-sourcemap-loader": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz",
@@ -3273,12 +3865,6 @@
"picomatch": "^2.0.4"
}
},
- "app-root-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz",
- "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==",
- "dev": true
- },
"aproba": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz",
@@ -3325,22 +3911,25 @@
}
}
},
- "aria-query": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz",
- "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=",
- "dev": true,
- "requires": {
- "ast-types-flow": "0.0.7",
- "commander": "^2.11.0"
- }
- },
"array-flatten": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
"integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==",
"dev": true
},
+ "array-includes": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz",
+ "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.1",
+ "get-intrinsic": "^1.1.1",
+ "is-string": "^1.0.7"
+ }
+ },
"array-union": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz",
@@ -3356,6 +3945,17 @@
"integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=",
"dev": true
},
+ "array.prototype.flat": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz",
+ "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.0"
+ }
+ },
"arrify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz",
@@ -3377,12 +3977,6 @@
"integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=",
"dev": true
},
- "ast-types-flow": {
- "version": "0.0.7",
- "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz",
- "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=",
- "dev": true
- },
"async": {
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz",
@@ -3398,6 +3992,12 @@
"integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=",
"dev": true
},
+ "at-least-node": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
+ "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==",
+ "dev": true
+ },
"atob": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
@@ -3430,15 +4030,6 @@
"integrity": "sha512-Uvq6hVe90D0B2WEnUqtdgY1bATGz3mw33nH9Y+dmA+w5DHvUmBgkr5rM/KCHpCsiFNRUfokW/szpPPgMK2hm4A==",
"dev": true
},
- "axobject-query": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz",
- "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==",
- "dev": true,
- "requires": {
- "ast-types-flow": "0.0.7"
- }
- },
"babel-loader": {
"version": "8.2.3",
"resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.3.tgz",
@@ -3777,12 +4368,6 @@
"integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==",
"dev": true
},
- "builtin-modules": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz",
- "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=",
- "dev": true
- },
"builtins": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz",
@@ -4000,60 +4585,6 @@
"shallow-clone": "^3.0.0"
}
},
- "codelyzer": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.2.tgz",
- "integrity": "sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g==",
- "dev": true,
- "requires": {
- "@angular/compiler": "9.0.0",
- "@angular/core": "9.0.0",
- "app-root-path": "^3.0.0",
- "aria-query": "^3.0.0",
- "axobject-query": "2.0.2",
- "css-selector-tokenizer": "^0.7.1",
- "cssauron": "^1.4.0",
- "damerau-levenshtein": "^1.0.4",
- "rxjs": "^6.5.3",
- "semver-dsl": "^1.0.1",
- "source-map": "^0.5.7",
- "sprintf-js": "^1.1.2",
- "tslib": "^1.10.0",
- "zone.js": "~0.10.3"
- },
- "dependencies": {
- "@angular/compiler": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz",
- "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==",
- "dev": true
- },
- "@angular/core": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz",
- "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==",
- "dev": true
- },
- "source-map": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
- "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=",
- "dev": true
- },
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- },
- "zone.js": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz",
- "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==",
- "dev": true
- }
- }
- },
"color-convert": {
"version": "1.9.3",
"resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
@@ -4102,6 +4633,12 @@
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
"dev": true
},
+ "comment-parser": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.3.0.tgz",
+ "integrity": "sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==",
+ "dev": true
+ },
"commondir": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
@@ -4390,6 +4927,12 @@
}
}
},
+ "core-js-pure": {
+ "version": "3.21.0",
+ "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.0.tgz",
+ "integrity": "sha512-VaJUunCZLnxuDbo1rNOzwbet9E1K9joiXS5+DQMPtgxd24wfsZbJZMMfQLGYMlCUvSxLfsRUUhoOR2x28mFfeg==",
+ "dev": true
+ },
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -4588,31 +5131,12 @@
"nth-check": "^2.0.1"
}
},
- "css-selector-tokenizer": {
- "version": "0.7.3",
- "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz",
- "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==",
- "dev": true,
- "requires": {
- "cssesc": "^3.0.0",
- "fastparse": "^1.1.2"
- }
- },
"css-what": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz",
"integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==",
"dev": true
},
- "cssauron": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz",
- "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=",
- "dev": true,
- "requires": {
- "through": "X.X.X"
- }
- },
"cssdb": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/cssdb/-/cssdb-5.1.0.tgz",
@@ -4637,12 +5161,6 @@
"integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=",
"dev": true
},
- "damerau-levenshtein": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.7.tgz",
- "integrity": "sha512-VvdQIPGdWP0SqFXghj79Wf/5LArmreyMsGLa6FG6iC4t3j7j5s71TrwWmT/4akbDQIqjfACkLZmjXhA7g2oUZw==",
- "dev": true
- },
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@@ -4843,6 +5361,15 @@
"buffer-indexof": "^1.0.0"
}
},
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
"dom-serialize": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz",
@@ -4908,6 +5435,15 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"dev": true
},
+ "ejs": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.6.tgz",
+ "integrity": "sha512-9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==",
+ "dev": true,
+ "requires": {
+ "jake": "^10.6.1"
+ }
+ },
"electron-to-chromium": {
"version": "1.4.64",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.64.tgz",
@@ -5015,6 +5551,15 @@
}
}
},
+ "enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "requires": {
+ "ansi-colors": "^4.1.1"
+ }
+ },
"ent": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz",
@@ -5058,12 +5603,51 @@
"is-arrayish": "^0.2.1"
}
},
+ "es-abstract": {
+ "version": "1.19.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz",
+ "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "get-intrinsic": "^1.1.1",
+ "get-symbol-description": "^1.0.0",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.2",
+ "internal-slot": "^1.0.3",
+ "is-callable": "^1.2.4",
+ "is-negative-zero": "^2.0.1",
+ "is-regex": "^1.1.4",
+ "is-shared-array-buffer": "^1.0.1",
+ "is-string": "^1.0.7",
+ "is-weakref": "^1.0.1",
+ "object-inspect": "^1.11.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.2",
+ "string.prototype.trimend": "^1.0.4",
+ "string.prototype.trimstart": "^1.0.4",
+ "unbox-primitive": "^1.0.1"
+ }
+ },
"es-module-lexer": {
"version": "0.9.3",
"resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
"integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==",
"dev": true
},
+ "es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "requires": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ }
+ },
"es6-promise": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz",
@@ -5265,6 +5849,459 @@
}
}
},
+ "eslint": {
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz",
+ "integrity": "sha512-H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==",
+ "dev": true,
+ "requires": {
+ "@eslint/eslintrc": "^1.0.5",
+ "@humanwhocodes/config-array": "^0.9.2",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.1.0",
+ "eslint-utils": "^3.0.0",
+ "eslint-visitor-keys": "^3.2.0",
+ "espree": "^9.3.0",
+ "esquery": "^1.4.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^6.0.1",
+ "globals": "^13.6.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "regexpp": "^3.2.0",
+ "strip-ansi": "^6.0.1",
+ "strip-json-comments": "^3.1.0",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "dependencies": {
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true
+ },
+ "eslint-scope": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz",
+ "integrity": "sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ }
+ },
+ "estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "requires": {
+ "is-glob": "^4.0.3"
+ }
+ },
+ "globals": {
+ "version": "13.12.1",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz",
+ "integrity": "sha512-317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ }
+ },
+ "optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "requires": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ }
+ },
+ "prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1"
+ }
+ },
+ "type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-import-resolver-node": {
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz",
+ "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.2.7",
+ "resolve": "^1.20.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "resolve": {
+ "version": "1.22.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+ "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.8.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "eslint-module-utils": {
+ "version": "2.7.3",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz",
+ "integrity": "sha512-088JEC7O3lDZM9xGe0RerkOMd0EjFl+Yvd1jPWIkMT5u3H9+HC34mWWPnqPrN13gieT9pBOO+Qt07Nb/6TresQ==",
+ "dev": true,
+ "requires": {
+ "debug": "^3.2.7",
+ "find-up": "^2.1.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz",
+ "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==",
+ "dev": true,
+ "requires": {
+ "ms": "^2.1.1"
+ }
+ },
+ "find-up": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
+ "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
+ "dev": true,
+ "requires": {
+ "locate-path": "^2.0.0"
+ }
+ },
+ "locate-path": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
+ "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
+ "dev": true,
+ "requires": {
+ "p-locate": "^2.0.0",
+ "path-exists": "^3.0.0"
+ }
+ },
+ "p-limit": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
+ "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
+ "dev": true,
+ "requires": {
+ "p-try": "^1.0.0"
+ }
+ },
+ "p-locate": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
+ "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
+ "dev": true,
+ "requires": {
+ "p-limit": "^1.1.0"
+ }
+ },
+ "p-try": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
+ "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
+ "dev": true
+ },
+ "path-exists": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
+ "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
+ "dev": true
+ }
+ }
+ },
+ "eslint-plugin-import": {
+ "version": "2.25.4",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz",
+ "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==",
+ "dev": true,
+ "requires": {
+ "array-includes": "^3.1.4",
+ "array.prototype.flat": "^1.2.5",
+ "debug": "^2.6.9",
+ "doctrine": "^2.1.0",
+ "eslint-import-resolver-node": "^0.3.6",
+ "eslint-module-utils": "^2.7.2",
+ "has": "^1.0.3",
+ "is-core-module": "^2.8.0",
+ "is-glob": "^4.0.3",
+ "minimatch": "^3.0.4",
+ "object.values": "^1.1.5",
+ "resolve": "^1.20.0",
+ "tsconfig-paths": "^3.12.0"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "dev": true,
+ "requires": {
+ "ms": "2.0.0"
+ }
+ },
+ "doctrine": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz",
+ "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "ms": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
+ "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=",
+ "dev": true
+ },
+ "resolve": {
+ "version": "1.22.0",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
+ "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
+ "dev": true,
+ "requires": {
+ "is-core-module": "^2.8.1",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ }
+ }
+ },
+ "eslint-plugin-jsdoc": {
+ "version": "37.7.1",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.7.1.tgz",
+ "integrity": "sha512-ySxDTedl6qKXT/VeTwcZlhsRtvNQZGPklyVnaL5+ge20vowzFA9CKvrY0NXRqvdIz6JBVMFpxX9DSmS3OyAUOQ==",
+ "dev": true,
+ "requires": {
+ "@es-joy/jsdoccomment": "~0.18.0",
+ "comment-parser": "1.3.0",
+ "debug": "^4.3.3",
+ "escape-string-regexp": "^4.0.0",
+ "esquery": "^1.4.0",
+ "regextras": "^0.8.0",
+ "semver": "^7.3.5",
+ "spdx-expression-parse": "^3.0.1"
+ },
+ "dependencies": {
+ "debug": {
+ "version": "4.3.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz",
+ "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==",
+ "dev": true,
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true
+ },
+ "semver": {
+ "version": "7.3.5",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz",
+ "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ }
+ }
+ },
+ "eslint-plugin-prefer-arrow": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prefer-arrow/-/eslint-plugin-prefer-arrow-1.2.3.tgz",
+ "integrity": "sha512-J9I5PKCOJretVuiZRGvPQxCbllxGAV/viI20JO3LYblAodofBxyMnZAJ+WGeClHgANnSJberTNoFWWjrWKBuXQ==",
+ "dev": true
+ },
+ "eslint-plugin-unused-imports": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-unused-imports/-/eslint-plugin-unused-imports-2.0.0.tgz",
+ "integrity": "sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==",
+ "dev": true,
+ "requires": {
+ "eslint-rule-composer": "^0.3.0"
+ }
+ },
+ "eslint-rule-composer": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-rule-composer/-/eslint-rule-composer-0.3.0.tgz",
+ "integrity": "sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==",
+ "dev": true
+ },
"eslint-scope": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@@ -5275,12 +6312,63 @@
"estraverse": "^4.1.1"
}
},
+ "eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz",
+ "integrity": "sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==",
+ "dev": true
+ },
+ "espree": {
+ "version": "9.3.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz",
+ "integrity": "sha512-d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==",
+ "dev": true,
+ "requires": {
+ "acorn": "^8.7.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^3.1.0"
+ }
+ },
"esprima": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
"integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
"dev": true
},
+ "esquery": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+ "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.1.0"
+ },
+ "dependencies": {
+ "estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true
+ }
+ }
+ },
"esrecurse": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
@@ -5490,12 +6578,6 @@
"integrity": "sha1-AXjc3uAjuSkFGTrwlZ6KdjnP3Lk=",
"dev": true
},
- "fastparse": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz",
- "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==",
- "dev": true
- },
"fastq": {
"version": "1.13.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
@@ -5522,6 +6604,24 @@
"escape-string-regexp": "^1.0.5"
}
},
+ "file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^3.0.4"
+ }
+ },
+ "filelist": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz",
+ "integrity": "sha512-z7O0IS8Plc39rTCq6i6iHxk43duYOn8uFJiWSewIq0Bww1RNybVHSCjahmcC87ZqAm4OTvFzlzeGu3XAzG1ctQ==",
+ "dev": true,
+ "requires": {
+ "minimatch": "^3.0.4"
+ }
+ },
"fill-range": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
@@ -5628,6 +6728,33 @@
"@firebase/util": "1.4.2"
}
},
+ "flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
+ "requires": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ },
+ "dependencies": {
+ "flatted": {
+ "version": "3.2.5",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz",
+ "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==",
+ "dev": true
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ }
+ }
+ },
"flatted": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz",
@@ -5719,6 +6846,12 @@
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==",
"dev": true
},
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
"gauge": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.0.tgz",
@@ -5787,6 +6920,16 @@
"integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
"dev": true
},
+ "get-symbol-description": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
+ "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "get-intrinsic": "^1.1.1"
+ }
+ },
"getpass": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz",
@@ -5931,6 +7074,12 @@
"ansi-regex": "^2.0.0"
}
},
+ "has-bigints": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz",
+ "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==",
+ "dev": true
+ },
"has-flag": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
@@ -6358,6 +7507,17 @@
}
}
},
+ "internal-slot": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz",
+ "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==",
+ "dev": true,
+ "requires": {
+ "get-intrinsic": "^1.1.0",
+ "has": "^1.0.3",
+ "side-channel": "^1.0.4"
+ }
+ },
"interpret": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
@@ -6392,6 +7552,15 @@
"integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=",
"dev": true
},
+ "is-bigint": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz",
+ "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==",
+ "dev": true,
+ "requires": {
+ "has-bigints": "^1.0.1"
+ }
+ },
"is-binary-path": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
@@ -6401,6 +7570,22 @@
"binary-extensions": "^2.0.0"
}
},
+ "is-boolean-object": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz",
+ "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-callable": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz",
+ "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==",
+ "dev": true
+ },
"is-core-module": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
@@ -6463,12 +7648,27 @@
"integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=",
"dev": true
},
+ "is-negative-zero": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+ "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+ "dev": true
+ },
"is-number": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
"integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
"dev": true
},
+ "is-number-object": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz",
+ "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
"is-path-cwd": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz",
@@ -6518,12 +7718,36 @@
"has-tostringtag": "^1.0.0"
}
},
+ "is-shared-array-buffer": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz",
+ "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==",
+ "dev": true
+ },
"is-stream": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
"integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
"dev": true
},
+ "is-string": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz",
+ "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==",
+ "dev": true,
+ "requires": {
+ "has-tostringtag": "^1.0.0"
+ }
+ },
+ "is-symbol": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz",
+ "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==",
+ "dev": true,
+ "requires": {
+ "has-symbols": "^1.0.2"
+ }
+ },
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
@@ -6536,6 +7760,15 @@
"integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==",
"dev": true
},
+ "is-weakref": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
+ "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2"
+ }
+ },
"is-what": {
"version": "3.14.1",
"resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz",
@@ -6809,6 +8042,26 @@
"istanbul-lib-report": "^3.0.0"
}
},
+ "jake": {
+ "version": "10.8.2",
+ "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz",
+ "integrity": "sha512-eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==",
+ "dev": true,
+ "requires": {
+ "async": "0.9.x",
+ "chalk": "^2.4.2",
+ "filelist": "^1.0.1",
+ "minimatch": "^3.0.4"
+ },
+ "dependencies": {
+ "async": {
+ "version": "0.9.2",
+ "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz",
+ "integrity": "sha1-rqdNXmHB+JlhO/ZL2mbUx48v0X0=",
+ "dev": true
+ }
+ }
+ },
"jasmine": {
"version": "2.8.0",
"resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz",
@@ -6905,6 +8158,12 @@
"integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=",
"dev": true
},
+ "jsdoc-type-pratt-parser": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.2.tgz",
+ "integrity": "sha512-zRokSWcPLSWkoNzsWn9pq7YYSwDhKyEe+cJYT2qaPqLOOJb5sFSi46BPj81vP+e8chvCNdQL9RG86Bi9EI6MDw==",
+ "dev": true
+ },
"jsesc": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
@@ -6935,6 +8194,12 @@
"integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
"dev": true
},
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
"json-stringify-safe": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz",
@@ -7369,6 +8634,12 @@
"integrity": "sha1-gteb/zCmfEAF/9XiUVMArZyk168=",
"dev": true
},
+ "lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
"log-symbols": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz",
@@ -7819,6 +9090,12 @@
"integrity": "sha512-fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==",
"dev": true
},
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
"needle": {
"version": "2.9.1",
"resolved": "https://registry.npmjs.org/needle/-/needle-2.9.1.tgz",
@@ -8414,6 +9691,185 @@
"boolbase": "^1.0.0"
}
},
+ "nx": {
+ "version": "13.1.3",
+ "resolved": "https://registry.npmjs.org/nx/-/nx-13.1.3.tgz",
+ "integrity": "sha512-clM0NQhQKYkqcNz2E3uYRMLwhp2L/9dBhJhQi9XBX4IAyA2gWAomhRIlLm5Xxg3g4h1xwSpP3eJ5t89VikY8Pw==",
+ "dev": true,
+ "requires": {
+ "@nrwl/cli": "*"
+ },
+ "dependencies": {
+ "@nrwl/cli": {
+ "version": "13.7.3",
+ "resolved": "https://registry.npmjs.org/@nrwl/cli/-/cli-13.7.3.tgz",
+ "integrity": "sha512-iL10s55Levr2mI/qhKoHuYARYHniS9zlu0+yM6W1kRglJkJpX1KkbGwQ8P6TRImEdz1FlZQqJ/X8qMSH13eOhA==",
+ "dev": true,
+ "requires": {
+ "@nrwl/tao": "13.7.3",
+ "chalk": "4.1.0",
+ "enquirer": "~2.3.6",
+ "v8-compile-cache": "2.3.0",
+ "yargs-parser": "20.0.0"
+ }
+ },
+ "@nrwl/tao": {
+ "version": "13.7.3",
+ "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-13.7.3.tgz",
+ "integrity": "sha512-D/0lZj/BhY+fkEYfrgtfOFwRCX129rbuFpAKsk52fJkXym5tWdWMrNwMQPtoi+GqSKJSksyvi9wESZuQQ+/jPA==",
+ "dev": true,
+ "requires": {
+ "chalk": "4.1.0",
+ "enquirer": "~2.3.6",
+ "fast-glob": "3.2.7",
+ "fs-extra": "^9.1.0",
+ "ignore": "^5.0.4",
+ "jsonc-parser": "3.0.0",
+ "nx": "13.7.3",
+ "rxjs": "^6.5.4",
+ "rxjs-for-await": "0.0.2",
+ "semver": "7.3.4",
+ "tmp": "~0.2.1",
+ "tslib": "^2.3.0",
+ "yargs-parser": "20.0.0"
+ },
+ "dependencies": {
+ "nx": {
+ "version": "13.7.3",
+ "resolved": "https://registry.npmjs.org/nx/-/nx-13.7.3.tgz",
+ "integrity": "sha512-LTj2V0+f1FIHIvPCGMDw3FilWBgNujGcjxJ85A1Pdkoy1Ovr4Onhv1BNfDpjzy9UB0zNgkTfMQzSiEzK6+p2fA==",
+ "dev": true,
+ "requires": {
+ "@nrwl/cli": "13.7.3"
+ }
+ }
+ }
+ },
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz",
+ "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "fast-glob": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz",
+ "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==",
+ "dev": true,
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ }
+ },
+ "fs-extra": {
+ "version": "9.1.0",
+ "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
+ "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
+ "dev": true,
+ "requires": {
+ "at-least-node": "^1.0.0",
+ "graceful-fs": "^4.2.0",
+ "jsonfile": "^6.0.1",
+ "universalify": "^2.0.0"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "jsonfile": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
+ "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.1.6",
+ "universalify": "^2.0.0"
+ }
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "semver": {
+ "version": "7.3.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz",
+ "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==",
+ "dev": true,
+ "requires": {
+ "lru-cache": "^6.0.0"
+ }
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ },
+ "tmp": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
+ "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
+ "dev": true,
+ "requires": {
+ "rimraf": "^3.0.0"
+ }
+ },
+ "universalify": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
+ "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==",
+ "dev": true
+ },
+ "yargs-parser": {
+ "version": "20.0.0",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.0.0.tgz",
+ "integrity": "sha512-8eblPHTL7ZWRkyjIZJjnGf+TijiKJSwA24svzLRVvtgoi/RZiKa9fFQTrlx0OKLnyHSdt/enrdadji6WFfESVA==",
+ "dev": true
+ }
+ }
+ },
"oauth-sign": {
"version": "0.9.0",
"resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz",
@@ -8431,6 +9887,12 @@
"resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.0.3.tgz",
"integrity": "sha512-JPKn0GMu+Fa3zt3Bmr66JhokJU5BaNBIh4ZeTlaCBzrBsOeXzwcKKAK1tbLiPKgvwmPXsDvvLHoWh5Bm7ofIYg=="
},
+ "object-inspect": {
+ "version": "1.12.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz",
+ "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==",
+ "dev": true
+ },
"object-is": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
@@ -8459,6 +9921,17 @@
"object-keys": "^1.1.1"
}
},
+ "object.values": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz",
+ "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.19.1"
+ }
+ },
"obuf": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
@@ -9830,6 +11303,12 @@
"define-properties": "^1.1.3"
}
},
+ "regexpp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+ "dev": true
+ },
"regexpu-core": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz",
@@ -9844,6 +11323,12 @@
"unicode-match-property-value-ecmascript": "^2.0.0"
}
},
+ "regextras": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/regextras/-/regextras-0.8.0.tgz",
+ "integrity": "sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==",
+ "dev": true
+ },
"regjsgen": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz",
@@ -10051,6 +11536,12 @@
}
}
},
+ "rxjs-for-await": {
+ "version": "0.0.2",
+ "resolved": "https://registry.npmjs.org/rxjs-for-await/-/rxjs-for-await-0.0.2.tgz",
+ "integrity": "sha512-IJ8R/ZCFMHOcDIqoABs82jal00VrZx8Xkgfe7TOKoaRPAW5nH/VFlG23bXpeGdrmtqI9UobFPgUKgCuFc7Lncw==",
+ "dev": true
+ },
"safe-buffer": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz",
@@ -10181,23 +11672,6 @@
"integrity": "sha512-0UewU+9rFapKFnlbirLi3byoOuhrSsli/z/ihNnvM24vgF+8sNBiI1LZPBSH9wJKUwaUbw+s3hToDLCXkrghrQ==",
"dev": true
},
- "semver-dsl": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz",
- "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=",
- "dev": true,
- "requires": {
- "semver": "^5.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- }
- }
- },
"send": {
"version": "0.17.2",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.2.tgz",
@@ -10373,6 +11847,17 @@
"rechoir": "^0.6.2"
}
},
+ "side-channel": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
+ "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.0",
+ "get-intrinsic": "^1.0.2",
+ "object-inspect": "^1.9.0"
+ }
+ },
"signal-exit": {
"version": "3.0.7",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
@@ -10588,6 +12073,28 @@
"integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==",
"dev": true
},
+ "spdx-exceptions": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
+ "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "dev": true
+ },
+ "spdx-expression-parse": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz",
+ "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==",
+ "dev": true,
+ "requires": {
+ "spdx-exceptions": "^2.1.0",
+ "spdx-license-ids": "^3.0.0"
+ }
+ },
+ "spdx-license-ids": {
+ "version": "3.0.11",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz",
+ "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==",
+ "dev": true
+ },
"spdy": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
@@ -10628,12 +12135,6 @@
}
}
},
- "sprintf-js": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz",
- "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==",
- "dev": true
- },
"sshpk": {
"version": "1.16.1",
"resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz",
@@ -10721,6 +12222,26 @@
}
}
},
+ "string.prototype.trimend": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz",
+ "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
+ "string.prototype.trimstart": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz",
+ "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.2",
+ "define-properties": "^1.1.3"
+ }
+ },
"string_decoder": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
@@ -10745,12 +12266,24 @@
"ansi-regex": "^2.0.0"
}
},
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=",
+ "dev": true
+ },
"strip-final-newline": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
"integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
"dev": true
},
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true
+ },
"stylus": {
"version": "0.56.0",
"resolved": "https://registry.npmjs.org/stylus/-/stylus-0.56.0.tgz",
@@ -11037,83 +12570,39 @@
}
}
},
- "tslib": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
- "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
- },
- "tslint": {
- "version": "6.1.3",
- "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz",
- "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==",
+ "tsconfig-paths": {
+ "version": "3.12.0",
+ "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz",
+ "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==",
"dev": true,
"requires": {
- "@babel/code-frame": "^7.0.0",
- "builtin-modules": "^1.1.1",
- "chalk": "^2.3.0",
- "commander": "^2.12.1",
- "diff": "^4.0.1",
- "glob": "^7.1.1",
- "js-yaml": "^3.13.1",
- "minimatch": "^3.0.4",
- "mkdirp": "^0.5.3",
- "resolve": "^1.3.2",
- "semver": "^5.3.0",
- "tslib": "^1.13.0",
- "tsutils": "^2.29.0"
+ "@types/json5": "^0.0.29",
+ "json5": "^1.0.1",
+ "minimist": "^1.2.0",
+ "strip-bom": "^3.0.0"
},
"dependencies": {
- "diff": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz",
- "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==",
- "dev": true
+ "json5": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz",
+ "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==",
+ "dev": true,
+ "requires": {
+ "minimist": "^1.2.0"
+ }
},
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
- },
- "mkdirp": {
- "version": "0.5.5",
- "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz",
- "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==",
- "dev": true,
- "requires": {
- "minimist": "^1.2.5"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- },
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
}
}
},
- "tsutils": {
- "version": "2.29.0",
- "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz",
- "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==",
- "dev": true,
- "requires": {
- "tslib": "^1.8.1"
- },
- "dependencies": {
- "tslib": {
- "version": "1.14.1",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
- "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
- "dev": true
- }
- }
+ "tslib": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
+ "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw=="
},
"tunnel-agent": {
"version": "0.6.0",
@@ -11206,9 +12695,9 @@
}
},
"typescript": {
- "version": "4.5.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz",
- "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==",
+ "version": "4.4.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.4.4.tgz",
+ "integrity": "sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==",
"dev": true
},
"ua-parser-js": {
@@ -11237,6 +12726,18 @@
}
}
},
+ "unbox-primitive": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz",
+ "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==",
+ "dev": true,
+ "requires": {
+ "function-bind": "^1.1.1",
+ "has-bigints": "^1.0.1",
+ "has-symbols": "^1.0.2",
+ "which-boxed-primitive": "^1.0.2"
+ }
+ },
"underscore": {
"version": "1.13.1",
"resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.1.tgz",
@@ -11327,6 +12828,12 @@
"integrity": "sha512-pW0No1RGHgzlpHJO1nsVrHKpOEIxkGg1xB+v0ZmdNH5OAeAwzAVrCnI2/6Mtx+Uys6iaylxa+D3g4j63IKKjSQ==",
"dev": true
},
+ "v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "dev": true
+ },
"validate-npm-package-name": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz",
@@ -11798,6 +13305,19 @@
"isexe": "^2.0.0"
}
},
+ "which-boxed-primitive": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz",
+ "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==",
+ "dev": true,
+ "requires": {
+ "is-bigint": "^1.0.1",
+ "is-boolean-object": "^1.1.0",
+ "is-number-object": "^1.0.4",
+ "is-string": "^1.0.5",
+ "is-symbol": "^1.0.3"
+ }
+ },
"which-module": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz",
@@ -11819,6 +13339,12 @@
"integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==",
"dev": true
},
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "dev": true
+ },
"wordwrap": {
"version": "0.0.3",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz",
diff --git a/package.json b/package.json
index 18f01a6..a67fb75 100644
--- a/package.json
+++ b/package.json
@@ -21,8 +21,13 @@
"test:ci": "npm run test:ci:ngx-repository && npm run test:ci:ngx-http-repository && npm run test:ci:ngx-firestore-repository",
"test:e2e": "npm run test:ci:ngx-repository && npm run test:ci:ngx-http-repository && npm run test:ci:ngx-firestore-repository",
"posttest:ci": "istanbul-combine -d coverage/merged -p summary -r lcov -r html coverage/ngx-repository/coverage-final.json coverage/ngx-http-repository/coverage-final.json coverage/ngx-firestore-repository/coverage-final.json",
- "lint": "ng lint",
- "release": "cd projects/ngx-repository && npm version ${npm_config_release} && cd ../ngx-http-repository && npm version ${npm_config_release} && cd ../ngx-firestore-repository && npm version ${npm_config_release} && git commit -a -m \"release: v${npm_config_release}\""
+ "lint:all": "npm run lint:ngx-repository && npm run lint:ngx-http-repository && npm run lint:ngx-firestore-repository && npm run lint:ngx-repository-app",
+ "lint:ngx-repository": "ng lint --project ngx-repository",
+ "lint:ngx-http-repository": "ng lint --project ngx-http-repository",
+ "lint:ngx-firestore-repository": "ng lint --project ngx-firestore-repository",
+ "lint:ngx-repository-app": "ng lint --project ngx-repository-app",
+ "release": "cd projects/ngx-repository && npm version ${npm_config_release} && cd ../ngx-http-repository && npm version ${npm_config_release} && cd ../ngx-firestore-repository && npm version ${npm_config_release} && git commit -a -m \"release: v${npm_config_release}\"",
+ "lint": "ng lint"
},
"private": true,
"dependencies": {
@@ -49,6 +54,11 @@
},
"devDependencies": {
"@angular-devkit/build-angular": "~13.2.2",
+ "@angular-eslint/builder": "13.0.1",
+ "@angular-eslint/eslint-plugin": "13.0.1",
+ "@angular-eslint/eslint-plugin-template": "13.0.1",
+ "@angular-eslint/schematics": "13.0.1",
+ "@angular-eslint/template-parser": "13.0.1",
"@angular/cli": "~13.2.2",
"@angular/compiler-cli": "~13.2.1",
"@angular/language-service": "~13.2.1",
@@ -56,7 +66,13 @@
"@types/jasminewd2": "~2.0.3",
"@types/lodash": "^4.14.168",
"@types/node": "^12.11.1",
- "codelyzer": "^6.0.0",
+ "@typescript-eslint/eslint-plugin": "5.3.0",
+ "@typescript-eslint/parser": "5.3.0",
+ "eslint": "^8.2.0",
+ "eslint-plugin-import": "latest",
+ "eslint-plugin-jsdoc": "latest",
+ "eslint-plugin-prefer-arrow": "latest",
+ "eslint-plugin-unused-imports": "^2.0.0",
"istanbul-combine": "^0.3.0",
"jasmine-core": "~3.6.0",
"jasmine-spec-reporter": "~5.0.0",
@@ -68,8 +84,7 @@
"ng-packagr": "^13.2.1",
"protractor": "~7.0.0",
"ts-node": "~7.0.0",
- "tslint": "~6.1.0",
"typedoc": "^0.15.0-0",
- "typescript": "~4.5.5"
+ "typescript": "^4.4.4"
}
}
diff --git a/projects/ngx-firestore-repository/.eslintrc.json b/projects/ngx-firestore-repository/.eslintrc.json
new file mode 100644
index 0000000..f2b262c
--- /dev/null
+++ b/projects/ngx-firestore-repository/.eslintrc.json
@@ -0,0 +1,76 @@
+{
+ "extends": "../../.eslintrc.json",
+ "ignorePatterns": [
+ "!**/*"
+ ],
+ "overrides": [
+ {
+ "files": [
+ "*.ts"
+ ],
+ "parserOptions": {
+ "project": [
+ "projects/ngx-firestore-repository/tsconfig.lib.json",
+ "projects/ngx-firestore-repository/tsconfig.spec.json"
+ ],
+ "createDefaultProgram": true
+ },
+ "rules": {
+ "@angular-eslint/component-selector": [
+ "error",
+ {
+ "type": "element",
+ "prefix": "app",
+ "style": "kebab-case"
+ }
+ ],
+ "@angular-eslint/directive-selector": [
+ "error",
+ {
+ "type": "attribute",
+ "prefix": "app",
+ "style": "camelCase"
+ }
+ ],
+ "@typescript-eslint/explicit-member-accessibility": [
+ "error",
+ {
+ "accessibility": "explicit",
+ "overrides": {
+ "accessors": "explicit",
+ "constructors": "explicit"
+ }
+ }
+ ],
+ "@typescript-eslint/no-empty-interface": "off",
+ "@typescript-eslint/no-inferrable-types": "off",
+ "arrow-parens": [
+ "off",
+ "always"
+ ],
+ "id-blacklist": "error",
+ "import/order": "off",
+ "max-len": [
+ "error",
+ {
+ "code": 200
+ }
+ ],
+ "padding-line-between-statements": [
+ "error",
+ {
+ "blankLine": "always",
+ "prev": "*",
+ "next": "return"
+ }
+ ]
+ }
+ },
+ {
+ "files": [
+ "*.html"
+ ],
+ "rules": {}
+ }
+ ]
+}
diff --git a/projects/ngx-firestore-repository/karma.conf.js b/projects/ngx-firestore-repository/karma.conf.js
index 1e61637..38e4fc5 100644
--- a/projects/ngx-firestore-repository/karma.conf.js
+++ b/projects/ngx-firestore-repository/karma.conf.js
@@ -20,7 +20,7 @@ module.exports = function (config) {
reports: ['html', 'lcovonly', 'json'],
fixWebpackSourcePaths: true
},
- reporters: ['progress', 'kjhtml'],
+ reporters: ['progress', 'kjhtml', 'coverage-istanbul'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
diff --git a/projects/ngx-firestore-repository/src/e2e/column.spec.ts b/projects/ngx-firestore-repository/src/e2e/column.spec.ts
index c15a00f..f7f2ea7 100644
--- a/projects/ngx-firestore-repository/src/e2e/column.spec.ts
+++ b/projects/ngx-firestore-repository/src/e2e/column.spec.ts
@@ -1,7 +1,7 @@
import { Column, Id, Page } from '@witty-services/ngx-repository';
import { FirestoreResource } from '../lib/decorator/firestore-resource.decorator';
import { expectCollectionAdd, expectDocumentDelete, expectDocumentUpdate, testFirestoreRepository } from './util/test-firestore-repository.spec';
-import { FirestoreRepository } from '../lib/repository/firestoreRepository';
+import { FirestoreRepository } from '../lib/repository/firestore.repository';
describe('Column', () => {
diff --git a/projects/ngx-firestore-repository/src/e2e/util/firestore-functions.spec.ts b/projects/ngx-firestore-repository/src/e2e/util/firestore-functions.spec.ts
index 7634964..ef936de 100644
--- a/projects/ngx-firestore-repository/src/e2e/util/firestore-functions.spec.ts
+++ b/projects/ngx-firestore-repository/src/e2e/util/firestore-functions.spec.ts
@@ -31,7 +31,7 @@ export const setDoc: any = jasmine.createSpy().and.returnValue(of(void 0).toProm
export const deleteDoc: any = jasmine.createSpy().and.returnValue(of(void 0).toPromise());
-export function onSnapshot(reference: any,
+export function onSnapshot(reference: any,
options: SnapshotListenOptions,
observer: Observer): Unsubscribe {
return FirestoreMock.get(reference.path)
diff --git a/projects/ngx-firestore-repository/src/e2e/util/repository-intializer.spec.ts b/projects/ngx-firestore-repository/src/e2e/util/repository-intializer.spec.ts
index 5d0f21b..80bfe09 100644
--- a/projects/ngx-firestore-repository/src/e2e/util/repository-intializer.spec.ts
+++ b/projects/ngx-firestore-repository/src/e2e/util/repository-intializer.spec.ts
@@ -1,9 +1,11 @@
import { Injectable, Type } from '@angular/core';
import { InjectRepository, NgxRepositoryModule } from '@witty-services/ngx-repository';
import { TestBed } from '@angular/core/testing';
-import { FirestoreRepository, FIRESTORE_APP, NgxFirestoreRepositoryModule } from '../../public-api';
import { Firestore, getFirestore } from 'firebase/firestore';
import { initializeApp } from 'firebase/app';
+import { FirestoreRepository } from '../../lib/repository/firestore.repository';
+import { NgxFirestoreRepositoryModule } from '../../lib/ngx-firestore-repository.module';
+import { FIRESTORE_APP } from '../../lib/ngx-firestore-repository.module.di';
export interface RepositoryContext {
repository: FirestoreRepository;
@@ -23,16 +25,6 @@ export function createFirestore(): Firestore {
}));
}
-export function mockCollection(firestore: Firestore, value: any): void {
- // firestore.doc = () => null;
- // spyOn(firestore, 'collection').and.returnValue({
- // onSnapshot: (subscriber: any) => {
- // subscriber.next(value);
- // subscriber.complete();
- // }
- // } as any);
-}
-
export function initializeRepository(bookImpl: Type, providers: any[] = []): RepositoryContext {
@Injectable()
class BookServiceImpl {
diff --git a/projects/ngx-firestore-repository/src/e2e/util/test-firestore-repository.spec.ts b/projects/ngx-firestore-repository/src/e2e/util/test-firestore-repository.spec.ts
index 68b9d6d..6fae42d 100644
--- a/projects/ngx-firestore-repository/src/e2e/util/test-firestore-repository.spec.ts
+++ b/projects/ngx-firestore-repository/src/e2e/util/test-firestore-repository.spec.ts
@@ -1,5 +1,5 @@
import { Type } from '@angular/core';
-import { FirestoreRepository } from '../../lib/repository/firestoreRepository';
+import { FirestoreRepository } from '../../lib/repository/firestore.repository';
import { forOwn } from 'lodash';
import { initializeRepository, RepositoryContext } from './repository-intializer.spec';
import { addDoc, deleteDoc, updateDoc } from '../../lib/firestore-functions';
diff --git a/projects/ngx-firestore-repository/src/lib/repository/firestore-repository-builder.service.ts b/projects/ngx-firestore-repository/src/lib/repository/firestore-repository-builder.service.ts
index 68efd44..d003654 100644
--- a/projects/ngx-firestore-repository/src/lib/repository/firestore-repository-builder.service.ts
+++ b/projects/ngx-firestore-repository/src/lib/repository/firestore-repository-builder.service.ts
@@ -1,6 +1,6 @@
import { Injectable, Type } from '@angular/core';
import { FIRESTORE_RESOURCE_METADATA_KEY } from '../decorator/firestore-resource.decorator';
-import { FirestoreRepository } from './firestoreRepository';
+import { FirestoreRepository } from './firestore.repository';
import { AbstractRepository, AbstractRepositoryBuilder, RequestManager } from '@witty-services/ngx-repository';
import { FirestoreRepositoryDriver } from '../driver/firestore-repository-driver.service';
diff --git a/projects/ngx-firestore-repository/src/lib/repository/firestoreRepository.ts b/projects/ngx-firestore-repository/src/lib/repository/firestore.repository.ts
similarity index 100%
rename from projects/ngx-firestore-repository/src/lib/repository/firestoreRepository.ts
rename to projects/ngx-firestore-repository/src/lib/repository/firestore.repository.ts
diff --git a/projects/ngx-firestore-repository/src/lib/request/firestore-criteria-repository.request.ts b/projects/ngx-firestore-repository/src/lib/request/firestore-criteria-repository.request.ts
index fe8a76c..6ad51a3 100644
--- a/projects/ngx-firestore-repository/src/lib/request/firestore-criteria-repository.request.ts
+++ b/projects/ngx-firestore-repository/src/lib/request/firestore-criteria-repository.request.ts
@@ -1,5 +1,5 @@
import { Path } from '@witty-services/ngx-repository';
-import { FirestoreCriteria, FirestoreRequestOrderBy, FirestoreRequestQuery } from './firestoreCriteria';
+import { FirestoreCriteria, FirestoreRequestOrderBy, FirestoreRequestQuery } from './firestore.criteria';
import { FirestoreOperation } from './firestore.operation';
import { FirestoreRepositoryRequest } from './firestore-repository.request';
import { CollectionReference, endAt, endBefore, Firestore, limit, limitToLast, orderBy, Query, query, QueryConstraint, startAfter, startAt, where } from 'firebase/firestore';
diff --git a/projects/ngx-firestore-repository/src/lib/request/firestore-criteria-request-builder.service.ts b/projects/ngx-firestore-repository/src/lib/request/firestore-criteria-request-builder.service.ts
index b5d8cf7..56fc9d7 100644
--- a/projects/ngx-firestore-repository/src/lib/request/firestore-criteria-request-builder.service.ts
+++ b/projects/ngx-firestore-repository/src/lib/request/firestore-criteria-request-builder.service.ts
@@ -2,7 +2,7 @@ import { Observable, of } from 'rxjs';
import { Path, RequestManagerContext } from '@witty-services/ngx-repository';
import { Inject, Injectable } from '@angular/core';
import { FIRESTORE_APP } from '../ngx-firestore-repository.module.di';
-import { FirestoreCriteria } from './firestoreCriteria';
+import { FirestoreCriteria } from './firestore.criteria';
import { FirestoreOperation } from './firestore.operation';
import { FirestoreNormalizer } from '../normalizer/firestore.normalizer';
import { FirestoreCriteriaRepositoryRequest } from './firestore-criteria-repository.request';
diff --git a/projects/ngx-firestore-repository/src/lib/request/firestoreCriteria.ts b/projects/ngx-firestore-repository/src/lib/request/firestore.criteria.ts
similarity index 90%
rename from projects/ngx-firestore-repository/src/lib/request/firestoreCriteria.ts
rename to projects/ngx-firestore-repository/src/lib/request/firestore.criteria.ts
index 34dfdd7..1f0c1e3 100644
--- a/projects/ngx-firestore-repository/src/lib/request/firestoreCriteria.ts
+++ b/projects/ngx-firestore-repository/src/lib/request/firestore.criteria.ts
@@ -66,7 +66,7 @@ export class FirestoreCriteria {
}
}
- protected getQueries(query: any): FirestoreRequestQuery[] {
+ protected getQueries(query: any): FirestoreRequestQuery[] {
const queries: FirestoreRequestQuery[] = [];
if (query) {
@@ -88,7 +88,7 @@ export class FirestoreCriteria {
return queries;
}
- protected getOrderBy(query: any): FirestoreRequestOrderBy[] {
+ protected getOrderBy(query: any): FirestoreRequestOrderBy[] {
const orderBys: FirestoreRequestOrderBy[] = [];
if (query) {
@@ -125,43 +125,43 @@ export class FirestoreCriteria {
return orderBys;
}
- protected getStartAt(query: any): any[] {
+ protected getStartAt(query: any): any[] {
const values: any[] = this.getArrayValuesFromPropertyKey(query, FIRESTORE_START_AT_METADATA_KEY);
return values || null;
}
- protected getStartAfter(query: any): any[] {
+ protected getStartAfter(query: any): any[] {
const values: any[] = this.getArrayValuesFromPropertyKey(query, FIRESTORE_START_AFTER_METADATA_KEY);
return values || null;
}
- protected getEndAt(query: any): any[] {
+ protected getEndAt(query: any): any[] {
const values: any[] = this.getArrayValuesFromPropertyKey(query, FIRESTORE_END_AT_METADATA_KEY);
return values || null;
}
- protected getEndBefore(query: any): any[] {
+ protected getEndBefore(query: any): any[] {
const values: any[] = this.getArrayValuesFromPropertyKey(query, FIRESTORE_END_BEFORE_METADATA_KEY);
return values || null;
}
- protected getLimit(query: any): number {
+ protected getLimit(query: any): number {
const value: number = this.getValueFromPropertyKey(query, FIRESTORE_LIMIT_METADATA_KEY);
return value || null;
}
- protected getLimitToLast(query: any): number {
+ protected getLimitToLast(query: any): number {
const value: number = this.getValueFromPropertyKey(query, FIRESTORE_LIMIT_TO_LAST_METADATA_KEY);
return value || null;
}
- protected getArrayValuesFromPropertyKey(query: any, metadataKey: string): any[] {
+ protected getArrayValuesFromPropertyKey(query: any, metadataKey: string): any[] {
const propertyKeyConfiguration: PropertyKeyConfiguration = getDeepQueryMetadataValue(metadataKey, query);
if (!propertyKeyConfiguration || query[propertyKeyConfiguration.propertyKey] == null) {
return null;
@@ -174,7 +174,7 @@ export class FirestoreCriteria {
}
}
- protected getValueFromPropertyKey(query: any, metadataKey: string): any {
+ protected getValueFromPropertyKey(query: any, metadataKey: string): any {
const propertyKeyConfiguration: PropertyKeyConfiguration = getDeepQueryMetadataValue(metadataKey, query);
if (!propertyKeyConfiguration || query[propertyKeyConfiguration.propertyKey] == null) {
return null;
diff --git a/projects/ngx-firestore-repository/src/public-api.ts b/projects/ngx-firestore-repository/src/public-api.ts
index 78a3668..9a41300 100644
--- a/projects/ngx-firestore-repository/src/public-api.ts
+++ b/projects/ngx-firestore-repository/src/public-api.ts
@@ -44,10 +44,10 @@ export { AfterFirestoreUpdateEvent } from './lib/repository/event/after-firestor
export { BeforeFirestoreUpdateEvent } from './lib/repository/event/before-firestore-update.event';
export { AfterFirestorePatchEvent } from './lib/repository/event/after-firestore-patch.event';
export { BeforeFirestorePatchEvent } from './lib/repository/event/before-firestore-patch.event';
-export { FirestoreRepository } from './lib/repository/firestoreRepository';
+export { FirestoreRepository } from './lib/repository/firestore.repository';
export { FirestoreRepositoryBuilder } from './lib/repository/firestore-repository-builder.service';
-export * from './lib/request/firestoreCriteria';
+export * from './lib/request/firestore.criteria';
export { FirestoreOperation } from './lib/request/firestore.operation';
export { FirestoreCriteriaRepositoryRequest } from './lib/request/firestore-criteria-repository.request';
export { FirestoreCriteriaRequestBuilder } from './lib/request/firestore-criteria-request-builder.service';
diff --git a/projects/ngx-http-repository/.eslintrc.json b/projects/ngx-http-repository/.eslintrc.json
new file mode 100644
index 0000000..355e439
--- /dev/null
+++ b/projects/ngx-http-repository/.eslintrc.json
@@ -0,0 +1,76 @@
+{
+ "extends": "../../.eslintrc.json",
+ "ignorePatterns": [
+ "!**/*"
+ ],
+ "overrides": [
+ {
+ "files": [
+ "*.ts"
+ ],
+ "parserOptions": {
+ "project": [
+ "projects/ngx-http-repository/tsconfig.lib.json",
+ "projects/ngx-http-repository/tsconfig.spec.json"
+ ],
+ "createDefaultProgram": true
+ },
+ "rules": {
+ "@angular-eslint/component-selector": [
+ "error",
+ {
+ "type": "element",
+ "prefix": "app",
+ "style": "kebab-case"
+ }
+ ],
+ "@angular-eslint/directive-selector": [
+ "error",
+ {
+ "type": "attribute",
+ "prefix": "app",
+ "style": "camelCase"
+ }
+ ],
+ "@typescript-eslint/explicit-member-accessibility": [
+ "error",
+ {
+ "accessibility": "explicit",
+ "overrides": {
+ "accessors": "explicit",
+ "constructors": "explicit"
+ }
+ }
+ ],
+ "@typescript-eslint/no-empty-interface": "off",
+ "@typescript-eslint/no-inferrable-types": "off",
+ "arrow-parens": [
+ "off",
+ "always"
+ ],
+ "id-blacklist": "error",
+ "import/order": "off",
+ "max-len": [
+ "error",
+ {
+ "code": 200
+ }
+ ],
+ "padding-line-between-statements": [
+ "error",
+ {
+ "blankLine": "always",
+ "prev": "*",
+ "next": "return"
+ }
+ ]
+ }
+ },
+ {
+ "files": [
+ "*.html"
+ ],
+ "rules": {}
+ }
+ ]
+}
diff --git a/projects/ngx-http-repository/karma.conf.js b/projects/ngx-http-repository/karma.conf.js
index a9a6926..c68be49 100644
--- a/projects/ngx-http-repository/karma.conf.js
+++ b/projects/ngx-http-repository/karma.conf.js
@@ -20,7 +20,7 @@ module.exports = function (config) {
reports: ['html', 'lcovonly', 'json'],
fixWebpackSourcePaths: true
},
- reporters: ['progress', 'kjhtml'],
+ reporters: ['progress', 'kjhtml', 'coverage-istanbul'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
diff --git a/projects/ngx-http-repository/src/e2e/column.spec.ts b/projects/ngx-http-repository/src/e2e/column.spec.ts
index 5ae9337..a082508 100644
--- a/projects/ngx-http-repository/src/e2e/column.spec.ts
+++ b/projects/ngx-http-repository/src/e2e/column.spec.ts
@@ -886,11 +886,11 @@ describe('Column', () => {
describe('should use custom converter', () => {
class MyConverter implements Converter {
- public fromJson(value: any): any {
+ public fromJson(): any {
return 'input';
}
- public toJson(value: any): any {
+ public toJson(): any {
return 'output';
}
}
diff --git a/projects/ngx-http-repository/src/e2e/page-response-processor.spec.ts b/projects/ngx-http-repository/src/e2e/page-response-processor.spec.ts
index 52521a0..394e17a 100644
--- a/projects/ngx-http-repository/src/e2e/page-response-processor.spec.ts
+++ b/projects/ngx-http-repository/src/e2e/page-response-processor.spec.ts
@@ -1,13 +1,6 @@
import { HttpRepository, HttpResource } from '../public-api';
import { Injectable } from '@angular/core';
-import {
- Column,
- Id,
- Page,
- RepositoryResponse,
- RequestManagerContext,
- ResponseProcessor
-} from '@witty-services/ngx-repository';
+import { Column, Id, Page, ResponseProcessor } from '@witty-services/ngx-repository';
import { testHttpRepository } from './util/test-http-repository.spec';
describe('Page', () => {
@@ -44,7 +37,7 @@ describe('Page', () => {
describe('should override default page response processor with array body', () => {
@Injectable()
class MyPageResponseProcessor implements ResponseProcessor {
- public transform(body: any, origin: RepositoryResponse, ctx: RequestManagerContext): any {
+ public transform(body: any): any {
return Page.build(body, 1, 2, 3);
}
}
@@ -88,7 +81,7 @@ describe('Page', () => {
describe('should override default page response processor with object body', () => {
@Injectable()
class MyPageResponseProcessor implements ResponseProcessor {
- public transform(body: any, origin: RepositoryResponse, ctx: RequestManagerContext): any {
+ public transform(body: any): any {
return Page.build(body.data, 1, 2, 3);
}
}
@@ -132,7 +125,7 @@ describe('Page', () => {
describe('should override root module response processor', () => {
@Injectable()
class MyPageResponseProcessor implements ResponseProcessor {
- public transform(body: any, origin: RepositoryResponse, ctx: RequestManagerContext): any {
+ public transform(body: any): any {
return Page.build(body, 1, 2, 3);
}
}
diff --git a/projects/ngx-http-repository/src/lib/request/http-request.builder.ts b/projects/ngx-http-repository/src/lib/request/http-request.builder.ts
index a34ae8d..5a5e6c5 100644
--- a/projects/ngx-http-repository/src/lib/request/http-request.builder.ts
+++ b/projects/ngx-http-repository/src/lib/request/http-request.builder.ts
@@ -73,7 +73,7 @@ export class HttpRequestBuilder implements RequestBuilder {
}
- protected getHeaders(query: any, headers: any = {}): any {
+ protected getHeaders(query: any, headers: any = {}): any {
if (query) {
const httpHeaders: HttpHeaderContextConfiguration[] = getDeepQueryMetadataValues(HTTP_HEADER_METADATA_KEY, query);
diff --git a/projects/ngx-repository-app/.eslintrc.json b/projects/ngx-repository-app/.eslintrc.json
new file mode 100644
index 0000000..f1e0d25
--- /dev/null
+++ b/projects/ngx-repository-app/.eslintrc.json
@@ -0,0 +1,76 @@
+{
+ "extends": "../../.eslintrc.json",
+ "ignorePatterns": [
+ "!**/*"
+ ],
+ "overrides": [
+ {
+ "files": [
+ "*.ts"
+ ],
+ "parserOptions": {
+ "project": [
+ "projects/ngx-repository-app/tsconfig.app.json",
+ "projects/ngx-repository-app/tsconfig.spec.json"
+ ],
+ "createDefaultProgram": true
+ },
+ "rules": {
+ "@angular-eslint/component-selector": [
+ "error",
+ {
+ "type": "element",
+ "prefix": "app",
+ "style": "kebab-case"
+ }
+ ],
+ "@angular-eslint/directive-selector": [
+ "error",
+ {
+ "type": "attribute",
+ "prefix": "app",
+ "style": "camelCase"
+ }
+ ],
+ "@typescript-eslint/explicit-member-accessibility": [
+ "error",
+ {
+ "accessibility": "explicit",
+ "overrides": {
+ "accessors": "explicit",
+ "constructors": "explicit"
+ }
+ }
+ ],
+ "@typescript-eslint/no-empty-interface": "off",
+ "@typescript-eslint/no-inferrable-types": "off",
+ "arrow-parens": [
+ "off",
+ "always"
+ ],
+ "id-blacklist": "error",
+ "import/order": "off",
+ "max-len": [
+ "error",
+ {
+ "code": 200
+ }
+ ],
+ "padding-line-between-statements": [
+ "error",
+ {
+ "blankLine": "always",
+ "prev": "*",
+ "next": "return"
+ }
+ ]
+ }
+ },
+ {
+ "files": [
+ "*.html"
+ ],
+ "rules": {}
+ }
+ ]
+}
diff --git a/projects/ngx-repository-app/src/app/app.module.ts b/projects/ngx-repository-app/src/app/app.module.ts
index a6be507..dc85e0d 100644
--- a/projects/ngx-repository-app/src/app/app.module.ts
+++ b/projects/ngx-repository-app/src/app/app.module.ts
@@ -19,18 +19,16 @@ import { BookService } from './module/@core/service/book.service';
import { Firestore, getFirestore } from 'firebase/firestore';
import { PersonComponent } from './component/person/person.component';
-export function createFirestore(): Firestore {
- return getFirestore(initializeApp({
- apiKey: 'AIzaSyDSd6EXdQWaWcBMxbTYp-kFAV3zxNu-ArM',
- authDomain: 'ngx-repository.firebaseapp.com',
- databaseURL: 'https://ngx-repository.firebaseio.com',
- projectId: 'ngx-repository',
- storageBucket: 'ngx-repository.appspot.com',
- messagingSenderId: '352664344689',
- appId: '1:352664344689:web:20ec56387616cba621e3d0',
- measurementId: 'G-0RD9MTX3PB'
- }));
-}
+export const createFirestore: () => Firestore = () => getFirestore(initializeApp({
+ apiKey: 'AIzaSyDSd6EXdQWaWcBMxbTYp-kFAV3zxNu-ArM',
+ authDomain: 'ngx-repository.firebaseapp.com',
+ databaseURL: 'https://ngx-repository.firebaseio.com',
+ projectId: 'ngx-repository',
+ storageBucket: 'ngx-repository.appspot.com',
+ messagingSenderId: '352664344689',
+ appId: '1:352664344689:web:20ec56387616cba621e3d0',
+ measurementId: 'G-0RD9MTX3PB'
+}));
@NgModule({
declarations: [
diff --git a/projects/ngx-repository-app/src/app/component/client/client.component.ts b/projects/ngx-repository-app/src/app/component/client/client.component.ts
index 592f790..30cf49d 100644
--- a/projects/ngx-repository-app/src/app/component/client/client.component.ts
+++ b/projects/ngx-repository-app/src/app/component/client/client.component.ts
@@ -17,7 +17,7 @@ export class ClientComponent {
private clientService: ClientService) {
this.client$ = activatedRoute.params.pipe(
filter((params: Params) => !!params),
- map((params: Params) => params[`clientId`]),
+ map((params: Params) => params['clientId']),
switchMap((clientId: string) => this.clientService.findById(clientId))
);
}
diff --git a/projects/ngx-repository-app/src/app/component/libraries/libraries.component.ts b/projects/ngx-repository-app/src/app/component/libraries/libraries.component.ts
index c9e43be..e7512be 100644
--- a/projects/ngx-repository-app/src/app/component/libraries/libraries.component.ts
+++ b/projects/ngx-repository-app/src/app/component/libraries/libraries.component.ts
@@ -37,8 +37,8 @@ export class LibrariesComponent {
public client$: Observable;
- public constructor(private libraryService: LibraryService,
- private personService: PersonService,
+ public constructor(private readonly libraryService: LibraryService,
+ private readonly personService: PersonService,
private readonly clientService: ClientService) {
this.libraries$ = this.currentPageSubject.pipe(
switchMap((currentPage: number) => libraryService.findAll(currentPage, 5)),
diff --git a/projects/ngx-repository-app/src/app/component/person/person.component.ts b/projects/ngx-repository-app/src/app/component/person/person.component.ts
index b0bb3b7..f9ee1b5 100644
--- a/projects/ngx-repository-app/src/app/component/person/person.component.ts
+++ b/projects/ngx-repository-app/src/app/component/person/person.component.ts
@@ -2,8 +2,6 @@ import { Component } from '@angular/core';
import { ActivatedRoute, Params } from '@angular/router';
import { Observable } from 'rxjs';
import { filter, map, switchMap } from 'rxjs/operators';
-import { Client } from '../../module/@core/model/client.model';
-import { ClientService } from '../../module/@core/service/client.service';
import { Person } from '../../module/@core/model/person.model';
import { PersonService } from '../../module/@core/service/person.service';
diff --git a/projects/ngx-repository-app/src/app/module/@core/processor/my-page-response.processor.ts b/projects/ngx-repository-app/src/app/module/@core/processor/my-page-response.processor.ts
index 807008a..79de053 100644
--- a/projects/ngx-repository-app/src/app/module/@core/processor/my-page-response.processor.ts
+++ b/projects/ngx-repository-app/src/app/module/@core/processor/my-page-response.processor.ts
@@ -1,11 +1,11 @@
import { Injectable } from '@angular/core';
-import { Page, RequestManagerContext, ResponseProcessor } from '@witty-services/ngx-repository';
+import { Page, ResponseProcessor } from '@witty-services/ngx-repository';
import { HttpRepositoryResponse } from '@witty-services/ngx-http-repository';
@Injectable()
export class MyPageResponseProcessor implements ResponseProcessor {
- public transform(response: any, origin: HttpRepositoryResponse, context: RequestManagerContext): any {
+ public transform(response: any, origin: HttpRepositoryResponse): any {
const totalItems: number = parseInt(origin.getHeaders().get('apiTotalItems'), 10);
const itemsPerPage: number = parseInt(origin.getHeaders().get('apiPerPage'), 10);
const currentPage: number = parseInt(origin.getHeaders().get('apiCurrentPage'), 10);
diff --git a/projects/ngx-repository-app/tslint.json b/projects/ngx-repository-app/tslint.json
deleted file mode 100644
index 19e8161..0000000
--- a/projects/ngx-repository-app/tslint.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "extends": "../../tslint.json",
- "rules": {
- "directive-selector": [
- true,
- "attribute",
- "app",
- "camelCase"
- ],
- "component-selector": [
- true,
- "element",
- "app",
- "kebab-case"
- ]
- }
-}
diff --git a/projects/ngx-repository/.eslintrc.json b/projects/ngx-repository/.eslintrc.json
new file mode 100644
index 0000000..b0bf798
--- /dev/null
+++ b/projects/ngx-repository/.eslintrc.json
@@ -0,0 +1,20 @@
+{
+ "extends": "../../.eslintrc.json",
+ "ignorePatterns": [
+ "!**/*"
+ ],
+ "overrides": [
+ {
+ "files": [
+ "*.ts"
+ ],
+ "parserOptions": {
+ "project": [
+ "projects/ngx-repository/tsconfig.lib.json",
+ "projects/ngx-repository/tsconfig.spec.json"
+ ],
+ "createDefaultProgram": true
+ }
+ }
+ ]
+}
diff --git a/projects/ngx-repository/karma.conf.js b/projects/ngx-repository/karma.conf.js
index 6030b3a..838f659 100644
--- a/projects/ngx-repository/karma.conf.js
+++ b/projects/ngx-repository/karma.conf.js
@@ -20,7 +20,7 @@ module.exports = function (config) {
reports: ['html', 'lcovonly', 'json'],
fixWebpackSourcePaths: true
},
- reporters: ['progress', 'kjhtml'],
+ reporters: ['progress', 'kjhtml', 'coverage-istanbul'],
port: 9876,
colors: true,
logLevel: config.LOG_INFO,
diff --git a/projects/ngx-repository/ng-package.json b/projects/ngx-repository/ng-package.json
index 4b5a4d4..1271f6b 100644
--- a/projects/ngx-repository/ng-package.json
+++ b/projects/ngx-repository/ng-package.json
@@ -4,7 +4,7 @@
"lib": {
"entryFile": "src/public-api.ts"
},
- "whitelistedNonPeerDependencies": [
+ "allowedNonPeerDependencies": [
"@witty-services/ts-serializer",
"@witty-services/ngx-serializer",
"@witty-services/rxjs-common",
diff --git a/projects/ngx-repository/src/lib/core/common/decorator/instance-cache.registry.ts b/projects/ngx-repository/src/lib/core/common/decorator/instance-cache.registry.ts
index 98524f1..e2b96a0 100644
--- a/projects/ngx-repository/src/lib/core/common/decorator/instance-cache.registry.ts
+++ b/projects/ngx-repository/src/lib/core/common/decorator/instance-cache.registry.ts
@@ -8,7 +8,7 @@ export class InstanceCacheRegistry {
public static readonly cacheRegistry: Map>> = new Map();
- public static addCache(instance: any, query: any, obs$: Observable): void {
+ public static addCache(instance: any, query: any, obs$: Observable): void {
if (!InstanceCacheRegistry.cacheRegistry.has(instance)) {
InstanceCacheRegistry.cacheRegistry.set(instance, new Map());
}
@@ -16,7 +16,7 @@ export class InstanceCacheRegistry {
InstanceCacheRegistry.cacheRegistry.get(instance).set(objectHash(query), obs$);
}
- public static findCache(instance: any, query: any): Observable {
+ public static findCache(instance: any, query: any): Observable {
if (!InstanceCacheRegistry.cacheRegistry.has(instance)) {
return null;
}
diff --git a/projects/ngx-repository/src/lib/core/decorator/resource-type-supports.decorator.spec.ts b/projects/ngx-repository/src/lib/core/decorator/resource-type-supports.decorator.spec.ts
index 8205359..66868ff 100644
--- a/projects/ngx-repository/src/lib/core/decorator/resource-type-supports.decorator.spec.ts
+++ b/projects/ngx-repository/src/lib/core/decorator/resource-type-supports.decorator.spec.ts
@@ -1,8 +1,4 @@
import 'reflect-metadata';
-import { Id, ID_METADATA_KEY } from './id.decorator';
-import { COLUMNS_METADATA_KEY } from './column.decorator';
-import {ColumnContextConfiguration} from '../configuration/context/column-context.configuration';
-import {IdContext} from '../configuration/context/id-context.configuration';
import { RESOURCE_TYPE_SUPPORTS_METADATA_KEY, ResourceTypeSupports } from './resource-type-supports.decorator';
describe('ResourceTypeSupportsDecorator', () => {
diff --git a/projects/ngx-repository/src/lib/core/registry/token.registry.spec.ts b/projects/ngx-repository/src/lib/core/registry/token.registry.spec.ts
index 313b7f2..98ed3d1 100644
--- a/projects/ngx-repository/src/lib/core/registry/token.registry.spec.ts
+++ b/projects/ngx-repository/src/lib/core/registry/token.registry.spec.ts
@@ -7,13 +7,13 @@ class MyClass {
}
-class MyRepository extends AbstractRepository {
+class MyRepository extends AbstractRepository {
public constructor() {
super(null, null, null);
}
- protected getResourceConfiguration(resourceType: Type, configuration: ResourceConfiguration): ResourceConfiguration {
+ protected getResourceConfiguration(): ResourceConfiguration {
return null;
}
}
@@ -28,7 +28,7 @@ describe('TokenRegistry', () => {
it('should add token if not existing into registry', () => {
const resourceType: Type = MyClass;
- const repositoryType: Type = MyRepository;
+ const repositoryType: Type> = MyRepository;
expect(TokenRegistry.tokenRegistry.has(repositoryType)).toBe(false);
TokenRegistry.addTokenToRegistry(resourceType, repositoryType);
@@ -38,7 +38,7 @@ describe('TokenRegistry', () => {
it('should add a new token behind the repository type and resource type into registry', () => {
const resourceType: Type = MyClass;
- const repositoryType: Type = MyRepository;
+ const repositoryType: Type> = MyRepository;
const instance: InjectionToken = new InjectionToken(resourceType.name);
const map: Map, InjectionToken> = new Map();
TokenRegistry.tokenRegistry.set(repositoryType, map);
@@ -53,13 +53,13 @@ describe('TokenRegistry', () => {
it('should return null is token is not into registry', () => {
const resourceType: Type = MyClass;
- const repositoryType: Type = MyRepository;
+ const repositoryType: Type> = MyRepository;
expect(TokenRegistry.findToken(resourceType, repositoryType)).toBeNull();
});
it('should return the token behind repository type and resource type into registry', () => {
const resourceType: Type = MyClass;
- const repositoryType: Type = MyRepository;
+ const repositoryType: Type> = MyRepository;
const instance: InjectionToken = new InjectionToken(repositoryType.name);
const map: Map, InjectionToken> = new Map();
diff --git a/projects/ngx-repository/src/lib/core/repository/abstract-repository.builder.spec.ts b/projects/ngx-repository/src/lib/core/repository/abstract-repository.builder.spec.ts
index 2b73168..04fe8f4 100644
--- a/projects/ngx-repository/src/lib/core/repository/abstract-repository.builder.spec.ts
+++ b/projects/ngx-repository/src/lib/core/repository/abstract-repository.builder.spec.ts
@@ -20,7 +20,7 @@ class MyRepository extends AbstractRepository {
return super.execute(body, query, configurationPaths);
}
- protected getResourceConfiguration(resourceType: Type, configuration: ResourceConfiguration): ResourceConfiguration {
+ protected getResourceConfiguration(): ResourceConfiguration {
return null;
}
@@ -33,12 +33,12 @@ class RepositoryBuilder extends AbstractRepositoryBuilder {
}
public getRepositoryInstance(resourceType: Type): MyRepository {
- const repositoryClass: Type> = this.createRepositoryClass(MyRepository, resourceType);
+ const repositoryClass: Type> = this.createRepositoryClass(MyRepository, resourceType);
return new repositoryClass();
}
- public supports(resourceType: Type, repositoryType: Type>): boolean {
+ public supports(): boolean {
return false;
}
}
@@ -77,11 +77,11 @@ describe('AbstractRepositoryBuilder', () => {
super(resourceContextKey);
}
- public getRepositoryInstance(resourceType: Type): AbstractRepository {
- return new MyRepository();
+ public getRepositoryInstance(): AbstractRepository {
+ return new MyRepository();
}
- public supports(resourceType: Type, repositoryType: Type>): boolean {
+ public supports(): boolean {
return false;
}
}
diff --git a/projects/ngx-repository/src/lib/core/repository/abstract-repository.builder.ts b/projects/ngx-repository/src/lib/core/repository/abstract-repository.builder.ts
index 70cafad..db38547 100644
--- a/projects/ngx-repository/src/lib/core/repository/abstract-repository.builder.ts
+++ b/projects/ngx-repository/src/lib/core/repository/abstract-repository.builder.ts
@@ -16,7 +16,7 @@ export abstract class AbstractRepositoryBuilder implements RepositoryBuilder {
public abstract supports(resourceType: Type, repositoryType: Type>): boolean;
- public getRepository(resourceType: Type, repositoryType?: Type>): AbstractRepository {
+ public getRepository(resourceType: Type): AbstractRepository {
if (!Reflect.hasMetadata(this.resourceContextKey, resourceType)) {
throw new Error(`${ resourceType.name } is not a valid resource.`);
}
diff --git a/projects/ngx-repository/src/lib/core/repository/abstract-repository.ts b/projects/ngx-repository/src/lib/core/repository/abstract-repository.ts
index deb2fd0..89a0473 100644
--- a/projects/ngx-repository/src/lib/core/repository/abstract-repository.ts
+++ b/projects/ngx-repository/src/lib/core/repository/abstract-repository.ts
@@ -13,7 +13,7 @@ export abstract class AbstractRepository {
public readonly configurationProvider: ConfigurationProvider;
- public readonly resourceType: Type;
+ public readonly resourceType: Type;
protected constructor(protected readonly requestManager: RequestManager,
protected readonly driver: RepositoryDriver,
diff --git a/projects/ngx-repository/src/lib/core/response/processor/body.response-processor.ts b/projects/ngx-repository/src/lib/core/response/processor/body.response-processor.ts
index 6015f7e..c37af5e 100644
--- a/projects/ngx-repository/src/lib/core/response/processor/body.response-processor.ts
+++ b/projects/ngx-repository/src/lib/core/response/processor/body.response-processor.ts
@@ -1,12 +1,11 @@
import { Injectable } from '@angular/core';
import { RepositoryResponse } from '../repository.response';
-import { RequestManagerContext } from '../../manager/request-manager.context';
import { ResponseProcessor } from './response.processor';
@Injectable()
export class BodyResponseProcessor implements ResponseProcessor {
- public transform(response: any, origin: RepositoryResponse, { configuration }: RequestManagerContext): any {
+ public transform(response: any, origin: RepositoryResponse): any {
return origin.getBody();
}
}
diff --git a/projects/ngx-repository/src/lib/core/response/processor/page-response.processor.ts b/projects/ngx-repository/src/lib/core/response/processor/page-response.processor.ts
index ba31a6c..a3f7d03 100644
--- a/projects/ngx-repository/src/lib/core/response/processor/page-response.processor.ts
+++ b/projects/ngx-repository/src/lib/core/response/processor/page-response.processor.ts
@@ -1,6 +1,4 @@
import { Injectable, Type } from '@angular/core';
-import { RepositoryResponse } from '../repository.response';
-import { RequestManagerContext } from '../../manager/request-manager.context';
import { isArray } from 'lodash';
import { Page } from '../../model/page';
import { ResponseProcessor } from './response.processor';
@@ -20,7 +18,7 @@ export class PageResponseProcessor implements ResponseProcessor {
});
}
- public transform(response: any, origin: RepositoryResponse, { configuration }: RequestManagerContext): any {
+ public transform(response: any): any {
return isArray(response) ? Page.build(response) : response;
}
}
diff --git a/projects/ngx-repository/src/lib/core/response/processor/path-column-response.processor.ts b/projects/ngx-repository/src/lib/core/response/processor/path-column-response.processor.ts
index ef790b3..5fd27b4 100644
--- a/projects/ngx-repository/src/lib/core/response/processor/path-column-response.processor.ts
+++ b/projects/ngx-repository/src/lib/core/response/processor/path-column-response.processor.ts
@@ -1,6 +1,5 @@
import { Injectable } from '@angular/core';
import { RepositoryResponse } from '../repository.response';
-import { RequestManagerContext } from '../../manager/request-manager.context';
import { PATH_COLUMN_METADATA_KEY } from '../../decorator/path-column.decorator';
import { first, isArray, isObject, isUndefined } from 'lodash';
import { Path } from '../../request/path';
@@ -11,7 +10,7 @@ import { PathRequest } from '../../request/path.request';
@Injectable()
export class PathColumnResponseProcessor implements ResponseProcessor {
- public transform(response: any, origin: RepositoryResponse, { configuration }: RequestManagerContext): any {
+ public transform(response: any, origin: RepositoryResponse): any {
if (isObject(response)) {
const pathColumns: PathColumnContextConfiguration[] = Reflect.getMetadata(PATH_COLUMN_METADATA_KEY, first(response as any) || response);
const pathRequest: PathRequest = origin.getRequest() as PathRequest;
diff --git a/projects/ngx-repository/src/lib/core/response/processor/void-response.processor.ts b/projects/ngx-repository/src/lib/core/response/processor/void-response.processor.ts
index 60e0bee..5acf26b 100644
--- a/projects/ngx-repository/src/lib/core/response/processor/void-response.processor.ts
+++ b/projects/ngx-repository/src/lib/core/response/processor/void-response.processor.ts
@@ -1,12 +1,10 @@
import { Injectable } from '@angular/core';
-import { RepositoryResponse } from '../repository.response';
-import { RequestManagerContext } from '../../manager/request-manager.context';
import { ResponseProcessor } from './response.processor';
@Injectable()
export class VoidResponseProcessor implements ResponseProcessor {
- public transform(response: any, origin: RepositoryResponse, { configuration }: RequestManagerContext): any {
+ public transform(): any {
return void 0;
}
}
diff --git a/projects/ngx-repository/src/lib/ngx-repository.service.spec.ts b/projects/ngx-repository/src/lib/ngx-repository.service.spec.ts
index b8a3ed1..8335e63 100644
--- a/projects/ngx-repository/src/lib/ngx-repository.service.spec.ts
+++ b/projects/ngx-repository/src/lib/ngx-repository.service.spec.ts
@@ -1,14 +1,11 @@
-import {NgxRepositoryService} from './ngx-repository.service';
-import {TestRepositoryBuilder} from '../testing/test-repository.builder';
-
describe('NgxRepositoryService', () => {
- let ngxRepositoryService: NgxRepositoryService;
+ // let ngxRepositoryService: NgxRepositoryService;
beforeEach(() => {
- ngxRepositoryService = new NgxRepositoryService(
+ /*ngxRepositoryService = new NgxRepositoryService(
null,
[new TestRepositoryBuilder()]
- );
+ );*/
});
it('should return a new repository', () => {
diff --git a/projects/ngx-repository/src/testing/mock.repository.ts b/projects/ngx-repository/src/testing/mock.repository.ts
index 39725d8..c5d5051 100644
--- a/projects/ngx-repository/src/testing/mock.repository.ts
+++ b/projects/ngx-repository/src/testing/mock.repository.ts
@@ -22,11 +22,11 @@ export interface AllRepository extends FindByIdRepository,
// @dynamic
@Injectable()
-export class MockRepository implements AllRepository {
+export class MockRepository implements AllRepository {
private readonly values: { [key: string]: Subject };
- public constructor(public readonly resourceType: Type, public readonly repositoryType: Type>) {
+ public constructor(public readonly resourceType: Type, public readonly repositoryType: Type>) {
this.values = {
create: new Subject(),
update: new Subject(),
@@ -38,35 +38,35 @@ export class MockRepository implements AllRepository {
};
}
- public static filter(resourceType: Type, repositoryType: Type>): Predicate {
- return (repository: MockRepository) => repository.resourceType === resourceType && repository.repositoryType === repositoryType;
+ public static filter(resourceType: Type, repositoryType: Type>): Predicate> {
+ return (repository: MockRepository) => repository.resourceType === resourceType && repository.repositoryType === repositoryType;
}
- public create(object: T, query?: any): Observable {
+ public create(): Observable {
return this.values.create;
}
- public delete(object: T, query?: any): Observable {
+ public delete(): Observable {
return this.values.delete;
}
- public findAll(query?: any): Observable {
+ public findAll(): Observable {
return this.values.findAll;
}
- public findById(id: K, query?: any): Observable {
+ public findById(): Observable {
return this.values.findById;
}
- public findOne(query?: any): Observable {
+ public findOne(): Observable {
return this.values.findOne;
}
- public patch(object: T, query?: any): Observable {
+ public patch(): Observable {
return this.values.patch;
}
- public update(object: T, query?: any): Observable {
+ public update(): Observable {
return this.values.update;
}
diff --git a/projects/ngx-repository/src/testing/ngx-repository-testing.module.ts b/projects/ngx-repository/src/testing/ngx-repository-testing.module.ts
index a6b58d2..20392de 100644
--- a/projects/ngx-repository/src/testing/ngx-repository-testing.module.ts
+++ b/projects/ngx-repository/src/testing/ngx-repository-testing.module.ts
@@ -34,7 +34,7 @@ export class NgxRepositoryTestingModule {
};
}
- public static getRepository(resourceType: Type, repositoryType: Type>): MockRepository {
+ public static getRepository(resourceType: Type, repositoryType: Type>): MockRepository {
return NgxRepositoryTestingModule.testRepositoryBuilder.getRepository(resourceType, repositoryType) as any;
}
}
diff --git a/projects/ngx-repository/src/testing/test-repository.builder.ts b/projects/ngx-repository/src/testing/test-repository.builder.ts
index 68a579c..154c02a 100644
--- a/projects/ngx-repository/src/testing/test-repository.builder.ts
+++ b/projects/ngx-repository/src/testing/test-repository.builder.ts
@@ -6,14 +6,14 @@ import { MockRepository } from './mock.repository';
@Injectable()
export class TestRepositoryBuilder implements RepositoryBuilder {
- private readonly repositories: MockRepository[] = [];
+ private readonly repositories: MockRepository[] = [];
- public supports(resourceType: Type, repositoryType: Type>): boolean {
+ public supports(): boolean {
return true;
}
public getRepository(resourceType: Type, repositoryType: Type>): AbstractRepository {
- let repository: MockRepository = this.repositories.find(MockRepository.filter(resourceType, repositoryType));
+ let repository: MockRepository = this.repositories.find(MockRepository.filter(resourceType, repositoryType));
if (repository == null) {
repository = new MockRepository(resourceType, repositoryType);
diff --git a/tslint.json b/tslint.json
deleted file mode 100644
index 4b64adb..0000000
--- a/tslint.json
+++ /dev/null
@@ -1,158 +0,0 @@
-{
- "extends": "tslint:recommended",
- "rulesDirectory": [
- "codelyzer"
- ],
- "rules": {
- "align": {
- "options": [
- "parameters",
- "statements"
- ]
- },
- "array-type": false,
- "arrow-parens": false,
- "arrow-return-shorthand": true,
- "deprecation": {
- "severity": "warn"
- },
- "import-blacklist": [
- true,
- "rxjs/Rx"
- ],
- "curly": true,
- "interface-name": false,
- "max-classes-per-file": false,
- "eofline": true,
- "max-line-length": [
- true,
- 200
- ],
- "import-spacing": true,
- "indent": {
- "options": [
- "spaces"
- ]
- },
- "member-ordering": [
- true,
- {
- "order": [
- "static-field",
- "instance-field",
- "static-method",
- "instance-method"
- ]
- }
- ],
- "no-consecutive-blank-lines": false,
- "no-console": [
- true,
- "debug",
- "info",
- "time",
- "timeEnd",
- "trace"
- ],
- "no-empty": false,
- "no-non-null-assertion": true,
- "no-redundant-jsdoc": true,
- "no-switch-case-fall-through": true,
- "no-var-requires": false,
- "object-literal-key-quotes": [
- true,
- "as-needed"
- ],
- "object-literal-sort-keys": false,
- "ordered-imports": false,
- "quotemark": [
- true,
- "single"
- ],
- "trailing-comma": false,
- "component-class-suffix": true,
- "contextual-lifecycle": true,
- "directive-class-suffix": true,
- "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,
- "semicolon": {
- "options": [
- "always"
- ]
- },
- "space-before-function-paren": {
- "options": {
- "anonymous": "never",
- "asyncArrow": "always",
- "constructor": "never",
- "method": "never",
- "named": "never"
- }
- },
- "use-pipe-transform-interface": true,
- "member-access": [
- true,
- "check-accessor",
- "check-constructor"
- ],
- "typedef": [
- true,
- "call-signature",
- "parameter",
- "arrow-parameter",
- "property-declaration",
- "variable-declaration",
- "member-variable-declaration",
- "object-destructuring",
- "array-destructuring"
- ],
- "variable-name": {
- "options": [
- "check-format",
- "allow-leading-underscore"
- ]
- },
- "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"
- }
- ]
- },
- "no-inferrable-types": [
- false
- ],
- "newline-before-return": true,
- "no-empty-interface": false,
- "whitespace": {
- "options": [
- "check-branch",
- "check-decl",
- "check-operator",
- "check-separator",
- "check-type",
- "check-typecast"
- ]
- }
- }
-}