This commit is contained in:
Антон 2024-08-14 04:41:10 +03:00
parent 2c3b41e732
commit 582cb35c50
4 changed files with 274 additions and 7 deletions

View File

@ -17,9 +17,18 @@
], ],
"rules": { "rules": {
"new-cap": "off", "new-cap": "off",
"brace-style": ["error", "allman"], "brace-style": [
"object-curly-spacing": ["error", "always"], "error",
"indent": ["error", 2], "allman"
],
"object-curly-spacing": [
"error",
"always"
],
"indent": [
"error",
2
],
"@angular-eslint/directive-selector": [ "@angular-eslint/directive-selector": [
"error", "error",
{ {
@ -47,6 +56,14 @@
"plugin:@angular-eslint/template/accessibility" "plugin:@angular-eslint/template/accessibility"
], ],
"rules": {} "rules": {}
},
{
"files": [
"*.ts"
],
"extends": [
"plugin:@ngrx/strict-requiring-type-checking"
]
} }
] ]
} }

247
package-lock.json generated
View File

@ -16,6 +16,7 @@
"@angular/platform-browser": "17.0.0", "@angular/platform-browser": "17.0.0",
"@angular/platform-browser-dynamic": "17.0.0", "@angular/platform-browser-dynamic": "17.0.0",
"@angular/router": "17.0.0", "@angular/router": "17.0.0",
"@ngrx/store": "^17.2.0",
"rxjs": "7.8.0", "rxjs": "7.8.0",
"tslib": "2.3.0", "tslib": "2.3.0",
"zone.js": "0.14.2" "zone.js": "0.14.2"
@ -29,6 +30,7 @@
"@angular-eslint/template-parser": "17.1.1", "@angular-eslint/template-parser": "17.1.1",
"@angular/cli": "17.0.6", "@angular/cli": "17.0.6",
"@angular/compiler-cli": "17.0.0", "@angular/compiler-cli": "17.0.0",
"@ngrx/eslint-plugin": "^17.2.0",
"@types/jasmine": "5.1.0", "@types/jasmine": "5.1.0",
"@typescript-eslint/eslint-plugin": "6.13.1", "@typescript-eslint/eslint-plugin": "6.13.1",
"@typescript-eslint/parser": "6.13.1", "@typescript-eslint/parser": "6.13.1",
@ -3134,6 +3136,34 @@
"node": ">= 0.4" "node": ">= 0.4"
} }
}, },
"node_modules/@ngrx/eslint-plugin": {
"version": "17.2.0",
"resolved": "https://registry.npmjs.org/@ngrx/eslint-plugin/-/eslint-plugin-17.2.0.tgz",
"integrity": "sha512-fkbv98Pch92R0AYj5pzU9YWicn5JZWVex3BqSdfV1xsuTk53QDhZZ0yIDSqjvjubv4J6GGxm5dnpEjceE4Wx/g==",
"dev": true,
"dependencies": {
"@typescript-eslint/experimental-utils": "^5.4.0",
"eslint-etc": "^5.1.0",
"semver": "^7.3.5",
"strip-json-comments": "3.1.1"
},
"peerDependencies": {
"eslint": ">=8.0.0",
"typescript": "*"
}
},
"node_modules/@ngrx/store": {
"version": "17.2.0",
"resolved": "https://registry.npmjs.org/@ngrx/store/-/store-17.2.0.tgz",
"integrity": "sha512-7wKgZ59B/6yQSvvsU0DQXipDqpkAXv7LwcXLD5Ww7nvqN0fQoRPThMh4+Wv55DCJhE0bQc1NEMciLA47uRt7Wg==",
"dependencies": {
"tslib": "^2.0.0"
},
"peerDependencies": {
"@angular/core": "^17.0.0",
"rxjs": "^6.5.3 || ^7.5.0"
}
},
"node_modules/@ngtools/webpack": { "node_modules/@ngtools/webpack": {
"version": "17.0.6", "version": "17.0.6",
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.0.6.tgz", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.0.6.tgz",
@ -3978,6 +4008,21 @@
"@types/node": "*" "@types/node": "*"
} }
}, },
"node_modules/@types/yargs": {
"version": "17.0.33",
"resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz",
"integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==",
"dev": true,
"dependencies": {
"@types/yargs-parser": "*"
}
},
"node_modules/@types/yargs-parser": {
"version": "21.0.3",
"resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
"integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
"dev": true
},
"node_modules/@typescript-eslint/eslint-plugin": { "node_modules/@typescript-eslint/eslint-plugin": {
"version": "6.13.1", "version": "6.13.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.1.tgz",
@ -4013,6 +4058,154 @@
} }
} }
}, },
"node_modules/@typescript-eslint/experimental-utils": {
"version": "5.62.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz",
"integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==",
"dev": true,
"dependencies": {
"@typescript-eslint/utils": "5.62.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": {
"version": "5.62.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
"integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "5.62.0",
"@typescript-eslint/visitor-keys": "5.62.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": {
"version": "5.62.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
"integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": {
"version": "5.62.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
"integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "5.62.0",
"@typescript-eslint/visitor-keys": "5.62.0",
"debug": "^4.3.4",
"globby": "^11.1.0",
"is-glob": "^4.0.3",
"semver": "^7.3.7",
"tsutils": "^3.21.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": {
"version": "5.62.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
"integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@types/json-schema": "^7.0.9",
"@types/semver": "^7.3.12",
"@typescript-eslint/scope-manager": "5.62.0",
"@typescript-eslint/types": "5.62.0",
"@typescript-eslint/typescript-estree": "5.62.0",
"eslint-scope": "^5.1.1",
"semver": "^7.3.7"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
}
},
"node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": {
"version": "5.62.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
"integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
"dev": true,
"dependencies": {
"@typescript-eslint/types": "5.62.0",
"eslint-visitor-keys": "^3.3.0"
},
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/typescript-eslint"
}
},
"node_modules/@typescript-eslint/experimental-utils/node_modules/globby": {
"version": "11.1.0",
"resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
"integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
"dev": true,
"dependencies": {
"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"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/@typescript-eslint/experimental-utils/node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
"integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
"dev": true,
"engines": {
"node": ">=8"
}
},
"node_modules/@typescript-eslint/parser": { "node_modules/@typescript-eslint/parser": {
"version": "6.13.1", "version": "6.13.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.13.1.tgz", "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.13.1.tgz",
@ -6869,6 +7062,21 @@
"eslint": ">=5.16.0" "eslint": ">=5.16.0"
} }
}, },
"node_modules/eslint-etc": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/eslint-etc/-/eslint-etc-5.2.1.tgz",
"integrity": "sha512-lFJBSiIURdqQKq9xJhvSJFyPA+VeTh5xvk24e8pxVL7bwLBtGF60C/KRkLTMrvCZ6DA3kbPuYhLWY0TZMlqTsg==",
"dev": true,
"dependencies": {
"@typescript-eslint/experimental-utils": "^5.0.0",
"tsutils": "^3.17.1",
"tsutils-etc": "^1.4.1"
},
"peerDependencies": {
"eslint": "^8.0.0",
"typescript": ">=4.0.0"
}
},
"node_modules/eslint-scope": { "node_modules/eslint-scope": {
"version": "5.1.1", "version": "5.1.1",
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
@ -13874,6 +14082,45 @@
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==" "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
}, },
"node_modules/tsutils": {
"version": "3.21.0",
"resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
"integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
"dev": true,
"dependencies": {
"tslib": "^1.8.1"
},
"engines": {
"node": ">= 6"
},
"peerDependencies": {
"typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
}
},
"node_modules/tsutils-etc": {
"version": "1.4.2",
"resolved": "https://registry.npmjs.org/tsutils-etc/-/tsutils-etc-1.4.2.tgz",
"integrity": "sha512-2Dn5SxTDOu6YWDNKcx1xu2YUy6PUeKrWZB/x2cQ8vY2+iz3JRembKn/iZ0JLT1ZudGNwQQvtFX9AwvRHbXuPUg==",
"dev": true,
"dependencies": {
"@types/yargs": "^17.0.0",
"yargs": "^17.0.0"
},
"bin": {
"ts-flags": "bin/ts-flags",
"ts-kind": "bin/ts-kind"
},
"peerDependencies": {
"tsutils": "^3.0.0",
"typescript": ">=4.0.0"
}
},
"node_modules/tsutils/node_modules/tslib": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
"dev": true
},
"node_modules/tuf-js": { "node_modules/tuf-js": {
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.1.0.tgz", "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.1.0.tgz",

View File

@ -19,6 +19,7 @@
"@angular/platform-browser": "17.0.0", "@angular/platform-browser": "17.0.0",
"@angular/platform-browser-dynamic": "17.0.0", "@angular/platform-browser-dynamic": "17.0.0",
"@angular/router": "17.0.0", "@angular/router": "17.0.0",
"@ngrx/store": "^17.2.0",
"rxjs": "7.8.0", "rxjs": "7.8.0",
"tslib": "2.3.0", "tslib": "2.3.0",
"zone.js": "0.14.2" "zone.js": "0.14.2"
@ -43,6 +44,7 @@
"karma-coverage": "2.2.0", "karma-coverage": "2.2.0",
"karma-jasmine": "5.1.0", "karma-jasmine": "5.1.0",
"karma-jasmine-html-reporter": "2.1.0", "karma-jasmine-html-reporter": "2.1.0",
"typescript": "5.2.2" "typescript": "5.2.2",
"@ngrx/eslint-plugin": "^17.2.0"
} }
} }

View File

@ -2,7 +2,8 @@ import { ApplicationConfig } from '@angular/core';
import { provideRouter } from '@angular/router'; import { provideRouter } from '@angular/router';
import { routes } from './app.routes'; import { routes } from './app.routes';
import { provideStore } from '@ngrx/store';
export const appConfig: ApplicationConfig = { export const appConfig: ApplicationConfig = {
providers: [provideRouter(routes)], providers: [provideRouter(routes), provideStore()],
}; };