@chris.araneo/eslint-config 0.0.45 → 0.0.48

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.
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/utils.ts
21
+ var utils_exports = {};
22
+ __export(utils_exports, {
23
+ isEmpty: () => isEmpty
24
+ });
25
+ module.exports = __toCommonJS(utils_exports);
26
+ function isEmpty(value) {
27
+ return Array.isArray(value) && value.length === 0 || !Array.isArray(value);
28
+ }
29
+ // Annotate the CommonJS export names for ESM import in node:
30
+ 0 && (module.exports = {
31
+ isEmpty
32
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chris.araneo/eslint-config",
3
- "version": "0.0.45",
3
+ "version": "0.0.48",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "eslint",
@@ -21,12 +21,13 @@
21
21
  "dist/**"
22
22
  ],
23
23
  "scripts": {
24
- "build": "rimraf ./dist && tsc --build tsconfig.json",
24
+ "build": "rimraf ./dist && tsup index.ts src/*.ts",
25
25
  "format": "npx sort-package-json && prettier --write ."
26
26
  },
27
27
  "dependencies": {
28
28
  "@humanwhocodes/momoa": "^3.3.8",
29
29
  "angular-eslint": "^19.4.0",
30
+ "app-root-dir": "^1.0.2",
30
31
  "eslint": "^9.27.0",
31
32
  "eslint-plugin-jsonc": "^2.20.1",
32
33
  "eslint-plugin-simple-import-sort": "^12.1.1",
@@ -35,8 +36,10 @@
35
36
  "typescript-eslint": "^8.32.1"
36
37
  },
37
38
  "devDependencies": {
39
+ "@types/app-root-dir": "^0.1.4",
38
40
  "prettier": "^3.5.3",
39
41
  "rimraf": "^6.0.1",
42
+ "tsup": "^8.5.0",
40
43
  "typescript": "^5.8.3"
41
44
  },
42
45
  "publishConfig": {
package/dist/index.js DELETED
@@ -1,27 +0,0 @@
1
- import tseslint from 'typescript-eslint';
2
- import createJsonConfigs from './src/json.js';
3
- import createAngularConfigs from './src/angular.js';
4
- import { createTypeScriptConfigs, createTypeScriptTestsConfigs, } from './src/typescript.js';
5
- const DEFAULT_IGNORED_FILES = [
6
- 'node_modules/',
7
- 'reports/',
8
- '.stryker-tmp/',
9
- '.angular',
10
- 'package.json',
11
- 'package-lock.json',
12
- ];
13
- export default (input = {
14
- jsons: [],
15
- sources: [],
16
- tests: [],
17
- templates: [],
18
- angularElementPrefix: 'app',
19
- ignored: [],
20
- isAngularApp: false,
21
- }) => {
22
- const { jsons, sources, tests, templates, ignored, isAngularApp } = input;
23
- return tseslint.config(...(isAngularApp ? createAngularConfigs(sources, templates) : []), ...createJsonConfigs(jsons), ...createTypeScriptConfigs(sources), ...createTypeScriptTestsConfigs(tests), {
24
- ignores: ignored || DEFAULT_IGNORED_FILES,
25
- });
26
- };
27
- //# 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,QAAQ,MAAM,mBAAmB,CAAC;AACzC,OAAO,iBAAiB,MAAM,eAAe,CAAC;AAC9C,OAAO,oBAAoB,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,uBAAuB,EACvB,4BAA4B,GAC7B,MAAM,qBAAqB,CAAC;AAE7B,MAAM,qBAAqB,GAAG;IAC5B,eAAe;IACf,UAAU;IACV,eAAe;IACf,UAAU;IACV,cAAc;IACd,mBAAmB;CACpB,CAAC;AAEF,eAAe,CACb,QAQI;IACF,KAAK,EAAE,EAAE;IACT,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,SAAS,EAAE,EAAE;IACb,oBAAoB,EAAE,KAAK;IAC3B,OAAO,EAAE,EAAE;IACX,YAAY,EAAE,KAAK;CACpB,EACD,EAAE;IACF,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAE1E,OAAO,QAAQ,CAAC,MAAM,CACpB,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EACjE,GAAG,iBAAiB,CAAC,KAAK,CAAC,EAC3B,GAAG,uBAAuB,CAAC,OAAO,CAAC,EACnC,GAAG,4BAA4B,CAAC,KAAK,CAAC,EACtC;QACE,OAAO,EAAE,OAAO,IAAI,qBAAqB;KAC1C,CACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,41 +0,0 @@
1
- import angular from 'angular-eslint';
2
- export default (sources = [], templates = [], prefix = 'app') => {
3
- return [
4
- {
5
- files: sources,
6
- extends: [...angular.configs.tsAll],
7
- processor: angular.processInlineTemplates,
8
- rules: {
9
- '@angular-eslint/component-selector': [
10
- 'error',
11
- {
12
- prefix: prefix,
13
- style: 'kebab-case',
14
- type: 'element',
15
- },
16
- ],
17
- '@angular-eslint/directive-selector': [
18
- 'error',
19
- {
20
- prefix: prefix,
21
- style: 'camelCase',
22
- type: 'attribute',
23
- },
24
- ],
25
- '@angular-eslint/prefer-on-push-component-change-detection': 'off',
26
- '@angular-eslint/prefer-signals': 'off',
27
- '@angular-eslint/prefer-output-emitter-ref': 'off',
28
- '@angular-eslint/no-forward-ref': 'off',
29
- },
30
- },
31
- {
32
- files: templates,
33
- extends: [...angular.configs.templateAll],
34
- rules: {
35
- '@angular-eslint/template/prefer-control-flow': 'off',
36
- '@angular-eslint/template/i18n': 'off',
37
- },
38
- },
39
- ];
40
- };
41
- //# sourceMappingURL=angular.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"angular.js","sourceRoot":"/","sources":["src/angular.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,gBAAgB,CAAC;AAGrC,eAAe,CACb,UAAoB,EAAE,EACtB,YAAsB,EAAE,EACxB,SAAiB,KAAK,EACY,EAAE;IACpC,OAAO;QACL;YACE,KAAK,EAAE,OAAO;YACd,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YACnC,SAAS,EAAE,OAAO,CAAC,sBAAsB;YACzC,KAAK,EAAE;gBACL,oCAAoC,EAAE;oBACpC,OAAO;oBACP;wBACE,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,YAAY;wBACnB,IAAI,EAAE,SAAS;qBAChB;iBACF;gBACD,oCAAoC,EAAE;oBACpC,OAAO;oBACP;wBACE,MAAM,EAAE,MAAM;wBACd,KAAK,EAAE,WAAW;wBAClB,IAAI,EAAE,WAAW;qBAClB;iBACF;gBACD,2DAA2D,EAAE,KAAK;gBAClE,gCAAgC,EAAE,KAAK;gBACvC,2CAA2C,EAAE,KAAK;gBAClD,gCAAgC,EAAE,KAAK;aACxC;SACF;QACD;YACE,KAAK,EAAE,SAAS;YAChB,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC;YACzC,KAAK,EAAE;gBACL,8CAA8C,EAAE,KAAK;gBACrD,+BAA+B,EAAE,KAAK;aACvC;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
package/dist/src/json.js DELETED
@@ -1,20 +0,0 @@
1
- import jsonc from 'eslint-plugin-jsonc';
2
- import jsoncParser from 'jsonc-eslint-parser';
3
- export default (jsons = []) => {
4
- return [
5
- ...jsonc.configs['flat/recommended-with-jsonc'],
6
- {
7
- files: jsons,
8
- languageOptions: {
9
- parser: jsoncParser,
10
- },
11
- rules: {
12
- 'jsonc/no-comments': 'error',
13
- 'jsonc/sort-keys': 'error',
14
- 'jsonc/valid-json-number': 'error',
15
- 'jsonc/no-dupe-keys': 'error',
16
- },
17
- },
18
- ];
19
- };
20
- //# sourceMappingURL=json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"json.js","sourceRoot":"/","sources":["src/json.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,WAAW,MAAM,qBAAqB,CAAC;AAG9C,eAAe,CAAC,QAAkB,EAAE,EAAoC,EAAE;IACxE,OAAO;QACL,GAAG,KAAK,CAAC,OAAO,CAAC,6BAA6B,CAAC;QAC/C;YACE,KAAK,EAAE,KAAK;YACZ,eAAe,EAAE;gBACf,MAAM,EAAE,WAAW;aACpB;YACD,KAAK,EAAE;gBACL,mBAAmB,EAAE,OAAO;gBAC5B,iBAAiB,EAAE,OAAO;gBAC1B,yBAAyB,EAAE,OAAO;gBAClC,oBAAoB,EAAE,OAAO;aAC9B;SACF;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -1,124 +0,0 @@
1
- import eslint from '@eslint/js';
2
- import tseslint from 'typescript-eslint';
3
- import simpleImportSort from 'eslint-plugin-simple-import-sort';
4
- import unicorn from 'eslint-plugin-unicorn';
5
- import globals from 'globals';
6
- const createConfigs = (sources = [], isTests = false) => {
7
- const errorWhenNotTests = !isTests ? 'error' : 'off';
8
- return [
9
- {
10
- files: sources,
11
- extends: [eslint.configs.all, ...tseslint.configs.all],
12
- languageOptions: {
13
- parserOptions: {
14
- projectService: true,
15
- tsconfigRootDir: import.meta.dirname,
16
- },
17
- },
18
- rules: {
19
- '@typescript-eslint/explicit-member-accessibility': [
20
- 'error',
21
- {
22
- accessibility: 'no-public',
23
- },
24
- ],
25
- '@typescript-eslint/init-declarations': 'off',
26
- '@typescript-eslint/no-extraneous-class': 'off',
27
- '@typescript-eslint/parameter-properties': 'off',
28
- '@typescript-eslint/consistent-type-imports': 'off',
29
- '@typescript-eslint/no-confusing-void-expression': 'off',
30
- '@typescript-eslint/class-methods-use-this': 'off',
31
- '@typescript-eslint/prefer-readonly-parameter-types': 'off',
32
- '@typescript-eslint/strict-boolean-expressions': 'off',
33
- '@typescript-eslint/no-unsafe-type-assertion': 'warn',
34
- '@typescript-eslint/no-non-null-assertion': errorWhenNotTests,
35
- '@typescript-eslint/no-magic-numbers': errorWhenNotTests,
36
- '@typescript-eslint/no-unsafe-return': errorWhenNotTests,
37
- '@typescript-eslint/no-unsafe-function-type': errorWhenNotTests,
38
- '@typescript-eslint/no-unsafe-call': errorWhenNotTests,
39
- '@typescript-eslint/no-unsafe-member-access': errorWhenNotTests,
40
- '@typescript-eslint/no-unsafe-assignment': errorWhenNotTests,
41
- '@typescript-eslint/no-explicit-any': errorWhenNotTests,
42
- 'max-lines-per-function': errorWhenNotTests,
43
- '@typescript-eslint/prefer-destructuring': errorWhenNotTests,
44
- '@typescript-eslint/member-ordering': [
45
- 'error',
46
- {
47
- default: {
48
- memberTypes: [
49
- 'public-decorated-field',
50
- 'protected-decorated-field',
51
- 'private-decorated-field',
52
- 'public-static-field',
53
- 'protected-static-field',
54
- 'private-static-field',
55
- 'public-instance-field',
56
- 'protected-instance-field',
57
- 'private-instance-field',
58
- 'static-field',
59
- 'public-field',
60
- 'instance-field',
61
- 'protected-field',
62
- 'private-field',
63
- 'constructor',
64
- 'public-static-method',
65
- 'protected-static-method',
66
- 'private-static-method',
67
- 'public-method',
68
- 'protected-method',
69
- 'private-method',
70
- ],
71
- },
72
- },
73
- ],
74
- '@typescript-eslint/naming-convention': [
75
- 'error',
76
- {
77
- selector: 'enumMember',
78
- format: ['PascalCase'],
79
- },
80
- ],
81
- 'new-cap': 'off',
82
- 'no-duplicate-imports': 'off',
83
- 'one-var': 'off',
84
- 'sort-imports': 'off',
85
- 'sort-keys': 'off',
86
- 'sort-vars': 'off',
87
- 'no-ternary': 'off',
88
- 'id-length': 'off',
89
- 'no-warning-comments': 'off',
90
- 'no-underscore-dangle': 'off',
91
- },
92
- },
93
- {
94
- files: sources,
95
- languageOptions: {
96
- globals: globals.builtin,
97
- },
98
- extends: [unicorn.configs.all],
99
- rules: {
100
- 'unicorn/prevent-abbreviations': 'off',
101
- 'unicorn/prefer-global-this': 'off',
102
- 'unicorn/no-null': 'off',
103
- 'unicorn/template-indent': 'off',
104
- },
105
- },
106
- {
107
- files: sources,
108
- plugins: {
109
- 'simple-import-sort': simpleImportSort,
110
- },
111
- rules: {
112
- 'simple-import-sort/exports': 'error',
113
- 'simple-import-sort/imports': 'error',
114
- },
115
- },
116
- ];
117
- };
118
- export const createTypeScriptConfigs = (sources = []) => {
119
- return createConfigs(sources, false);
120
- };
121
- export const createTypeScriptTestsConfigs = (sources = []) => {
122
- return createConfigs(sources, true);
123
- };
124
- //# sourceMappingURL=typescript.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"typescript.js","sourceRoot":"/","sources":["src/typescript.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"root":["../index.ts","../src/angular.ts","../src/json.ts","../src/typescript.ts"],"version":"5.8.3"}