@chris.araneo/eslint-config 0.0.3 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1 @@
1
+ # @chris.araneo/eslint-config
package/package.json CHANGED
@@ -1,41 +1,31 @@
1
1
  {
2
2
  "name": "@chris.araneo/eslint-config",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "",
5
- "keywords": [],
5
+ "keywords": [
6
+ "eslint",
7
+ "typescript",
8
+ "angular"
9
+ ],
10
+ "homepage": "https://github.com/ChrisAraneo/eslint-config",
11
+ "bugs": {
12
+ "url": "https://github.com/ChrisAraneo/eslint-config/issues"
13
+ },
6
14
  "license": "MIT",
7
15
  "author": "Krzysztof Pająk (Chris Araneo) <chris.araneo@gmail.com>",
8
- "main": "./dist/index.js",
9
- "module": "./dist/index.mjs",
10
- "types": "./dist/index.d.ts",
16
+ "main": "./index.js",
11
17
  "files": [
12
- "dist/**"
18
+ "./typescript.js",
19
+ "./template.js"
13
20
  ],
14
21
  "scripts": {
15
- "build": "tsc --build tsconfig.json",
16
- "typecheck": "tsc"
22
+ "format": "npx sort-package-json"
17
23
  },
18
- "devDependencies": {
19
- "@eslint/js": "^9.27.0",
20
- "@humanwhocodes/momoa": "^3.3.8",
24
+ "dependencies": {
21
25
  "angular-eslint": "^19.4.0",
22
26
  "eslint": "^9.27.0",
23
- "eslint-plugin-jsonc": "^2.20.1",
24
- "eslint-plugin-simple-import-sort": "^12.1.1",
25
- "eslint-plugin-unicorn": "^59.0.1",
26
- "jsonc-eslint-parser": "^2.4.0",
27
- "typescript": "^5.8.3",
28
27
  "typescript-eslint": "^8.32.1"
29
28
  },
30
- "peerDependencies": {
31
- "angular-eslint": "^19.4.0",
32
- "eslint": ">= 9.0.0",
33
- "eslint-plugin-jsonc": ">= 2.20.0",
34
- "eslint-plugin-simple-import-sort": ">= 12.0.0",
35
- "eslint-plugin-unicorn": ">= 59.0.0",
36
- "jsonc-eslint-parser": ">= 2.4.0",
37
- "typescript-eslint": ">= 8.0.0"
38
- },
39
29
  "publishConfig": {
40
30
  "access": "public"
41
31
  }
package/template.js ADDED
@@ -0,0 +1,35 @@
1
+ module.exports = {
2
+ extends: ["plugin:@angular-eslint/template/recommended"],
3
+ rules: {
4
+ "@angular-eslint/template/attributes-order": [
5
+ "error",
6
+ { alphabetical: true },
7
+ ],
8
+ "@angular-eslint/template/banana-in-box": "error",
9
+ "@angular-eslint/template/conditional-complexity": "error",
10
+ "@angular-eslint/template/cyclomatic-complexity": [
11
+ "error",
12
+ { maxComplexity: 10 },
13
+ ],
14
+ "@angular-eslint/template/elements-content": "error",
15
+ "@angular-eslint/template/eqeqeq": "error",
16
+ "@angular-eslint/template/label-has-associated-control": "error",
17
+ "@angular-eslint/template/mouse-events-have-key-events": "error",
18
+ "@angular-eslint/template/no-any": "error",
19
+ "@angular-eslint/template/no-autofocus": "error",
20
+ "@angular-eslint/template/no-call-expression": "error",
21
+ "@angular-eslint/template/no-distracting-elements": "error",
22
+ "@angular-eslint/template/no-duplicate-attributes": "error",
23
+ "@angular-eslint/template/no-interpolation-in-attributes": "error",
24
+ "@angular-eslint/template/no-negated-async": "error",
25
+ "@angular-eslint/template/no-positive-tabindex": "error",
26
+ "@angular-eslint/template/prefer-self-closing-tags": "error",
27
+ "@angular-eslint/template/role-has-required-aria": "error",
28
+ "@angular-eslint/template/table-scope": "error",
29
+ "@angular-eslint/template/use-track-by-function": [
30
+ "error",
31
+ { alias: ["ngForTrackByIndex", "ngForTrackByProperty"] },
32
+ ],
33
+ "@angular-eslint/template/valid-aria": "error",
34
+ },
35
+ };
package/typescript.js ADDED
@@ -0,0 +1,73 @@
1
+ module.exports = {
2
+ extends: [
3
+ "plugin:@typescript-eslint/recommended",
4
+ "plugin:@typescript-eslint/recommended-requiring-type-checking",
5
+ "plugin:@typescript-eslint/strict",
6
+ "plugin:@angular-eslint/recommended",
7
+ "plugin:@angular-eslint/template/process-inline-templates",
8
+ ],
9
+ rules: {
10
+ "@angular-eslint/component-class-suffix": [
11
+ "error",
12
+ { suffixes: ["Component", "Modal", "Page"] },
13
+ ],
14
+ "@angular-eslint/component-max-inline-declarations": "error",
15
+ "@angular-eslint/component-selector": [
16
+ "error",
17
+ { type: "element", style: "kebab-case" },
18
+ ],
19
+ "@angular-eslint/consistent-component-styles": "error",
20
+ "@angular-eslint/contextual-decorator": "error",
21
+ "@angular-eslint/contextual-lifecycle": "error",
22
+ "@angular-eslint/directive-class-suffix": "error",
23
+ "@angular-eslint/directive-selector": [
24
+ "error",
25
+ { type: "attribute", style: "camelCase" },
26
+ ],
27
+ "@angular-eslint/no-async-lifecycle-method": "error",
28
+ "@angular-eslint/no-attribute-decorator": "error",
29
+ "@angular-eslint/no-conflicting-lifecycle": "error",
30
+ "@angular-eslint/no-empty-lifecycle-method": "error",
31
+ "@angular-eslint/no-forward-ref": "error",
32
+ "@angular-eslint/no-input-prefix": ["error", { prefixes: ["on"] }],
33
+ "@angular-eslint/no-input-rename": "error",
34
+ "@angular-eslint/no-inputs-metadata-property": "error",
35
+ "@angular-eslint/no-lifecycle-call": "error",
36
+ "@angular-eslint/no-output-native": "error",
37
+ "@angular-eslint/no-output-on-prefix": "error",
38
+ "@angular-eslint/no-output-rename": "error",
39
+ "@angular-eslint/no-outputs-metadata-property": "error",
40
+ "@angular-eslint/no-pipe-impure": "error",
41
+ "@angular-eslint/no-queries-metadata-property": "error",
42
+ "@angular-eslint/prefer-output-readonly": "error",
43
+ "@angular-eslint/prefer-standalone": "error",
44
+ "@angular-eslint/relative-url-prefix": "error",
45
+ "@angular-eslint/sort-lifecycle-methods": "error",
46
+ "@angular-eslint/sort-ngmodule-metadata-arrays": "error",
47
+ "@angular-eslint/use-component-view-encapsulation": "error",
48
+ "@angular-eslint/use-injectable-provided-in": "error",
49
+ "@angular-eslint/use-lifecycle-interface": "error",
50
+ "@angular-eslint/use-pipe-transform-interface": "error",
51
+ "@typescript-eslint/return-await": "error",
52
+ "@typescript-eslint/lines-between-class-members": [
53
+ "error",
54
+ "always",
55
+ { exceptAfterSingleLine: true },
56
+ ],
57
+ "@typescript-eslint/member-ordering": "error",
58
+ "@typescript-eslint/no-explicit-any": "off",
59
+ "@typescript-eslint/no-extraneous-class": [
60
+ "error",
61
+ { allowEmpty: true, allowStaticOnly: true },
62
+ ],
63
+ "@typescript-eslint/no-misused-promises": [
64
+ "error",
65
+ { checksVoidReturn: false },
66
+ ],
67
+ "@typescript-eslint/no-non-null-assertion": "off",
68
+ "@typescript-eslint/prefer-destructuring": "error",
69
+ "@typescript-eslint/prefer-optional-chain": "error",
70
+ "@typescript-eslint/sort-type-constituents": "error",
71
+ "@typescript-eslint/unbound-method": ["error", { ignoreStatic: true }],
72
+ },
73
+ };
package/dist/index.js DELETED
@@ -1,68 +0,0 @@
1
- import eslint from "@eslint/js";
2
- import tseslint from "typescript-eslint";
3
- import angular from "angular-eslint";
4
- import simpleImportSort from "eslint-plugin-simple-import-sort";
5
- import unicorn from "eslint-plugin-unicorn";
6
- import jsonc from "eslint-plugin-jsonc";
7
- export default tseslint.config({
8
- files: ["**/*.json"],
9
- extends: [...jsonc.configs["flat/recommended-with-jsonc"]],
10
- rules: {
11
- "jsonc/no-comments": "error",
12
- "jsonc/sort-keys": "error",
13
- },
14
- }, {
15
- files: ["src/**/*.{ts,js,mjs,cjs}"],
16
- extends: [
17
- eslint.configs.recommended,
18
- ...tseslint.configs.strictTypeChecked,
19
- ...tseslint.configs.stylistic,
20
- ...angular.configs.tsRecommended,
21
- unicorn.configs.all,
22
- ],
23
- processor: angular.processInlineTemplates,
24
- rules: {
25
- "@angular-eslint/directive-selector": [
26
- "error",
27
- {
28
- type: "attribute",
29
- prefix: "app",
30
- style: "camelCase",
31
- },
32
- ],
33
- "@angular-eslint/component-selector": [
34
- "error",
35
- {
36
- type: "element",
37
- prefix: "app",
38
- style: "kebab-case",
39
- },
40
- ],
41
- "@typescript-eslint/no-extraneous-class": "off",
42
- "unicorn/no-null": "off",
43
- },
44
- }, {
45
- files: ["src/**/*.{ts,js,mjs,cjs}"],
46
- plugins: {
47
- "simple-import-sort": simpleImportSort,
48
- },
49
- rules: {
50
- "simple-import-sort/imports": "error",
51
- "simple-import-sort/exports": "error",
52
- },
53
- }, {
54
- files: ["src/**/*.html"],
55
- extends: [...angular.configs.templateAll],
56
- rules: {},
57
- }, {
58
- ignores: [
59
- "node_modules",
60
- "reports/",
61
- ".stryker-tmp/",
62
- ".angular",
63
- "package.json",
64
- "package-lock.json",
65
- ".nx/workspace-data",
66
- ],
67
- });
68
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"/","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,YAAY,CAAC;AAChC,OAAO,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,OAAO,MAAM,gBAAgB,CAAC;AACrC,OAAO,gBAAgB,MAAM,kCAAkC,CAAC;AAChE,OAAO,OAAO,MAAM,uBAAuB,CAAC;AAC5C,OAAO,KAAK,MAAM,qBAAqB,CAAC;AAExC,eAAe,QAAQ,CAAC,MAAM,CAC5B;IACE,KAAK,EAAE,CAAC,WAAW,CAAC;IACpB,OAAO,EAAE,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAC1D,KAAK,EAAE;QACL,mBAAmB,EAAE,OAAO;QAC5B,iBAAiB,EAAE,OAAO;KAC3B;CACF,EACD;IACE,KAAK,EAAE,CAAC,0BAA0B,CAAC;IACnC,OAAO,EAAE;QACP,MAAM,CAAC,OAAO,CAAC,WAAW;QAC1B,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB;QACrC,GAAG,QAAQ,CAAC,OAAO,CAAC,SAAS;QAC7B,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa;QAChC,OAAO,CAAC,OAAO,CAAC,GAAG;KACpB;IACD,SAAS,EAAE,OAAO,CAAC,sBAAsB;IACzC,KAAK,EAAE;QACL,oCAAoC,EAAE;YACpC,OAAO;YACP;gBACE,IAAI,EAAE,WAAW;gBACjB,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,WAAW;aACnB;SACF;QACD,oCAAoC,EAAE;YACpC,OAAO;YACP;gBACE,IAAI,EAAE,SAAS;gBACf,MAAM,EAAE,KAAK;gBACb,KAAK,EAAE,YAAY;aACpB;SACF;QACD,wCAAwC,EAAE,KAAK;QAC/C,iBAAiB,EAAE,KAAK;KACzB;CACF,EACD;IACE,KAAK,EAAE,CAAC,0BAA0B,CAAC;IACnC,OAAO,EAAE;QACP,oBAAoB,EAAE,gBAAgB;KACvC;IACD,KAAK,EAAE;QACL,4BAA4B,EAAE,OAAO;QACrC,4BAA4B,EAAE,OAAO;KACtC;CACF,EACD;IACE,KAAK,EAAE,CAAC,eAAe,CAAC;IACxB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;IACzC,KAAK,EAAE,EAAE;CACV,EACD;IACE,OAAO,EAAE;QACP,cAAc;QACd,UAAU;QACV,eAAe;QACf,UAAU;QACV,cAAc;QACd,mBAAmB;QACnB,oBAAoB;KACrB;CACF,CACF,CAAC"}
@@ -1 +0,0 @@
1
- {"root":["../index.ts"],"version":"5.8.3"}