@gv-tech/eslint-config 0.1.0 → 0.1.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/CHANGELOG.md +39 -0
- package/README.md +15 -15
- package/package.json +65 -39
- package/src/base.mjs +3 -9
- package/src/index.mjs +11 -17
- package/src/next.mjs +5 -11
- package/src/prettier.mjs +7 -8
- package/src/typescript.mjs +4 -5
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## [0.1.5](https://github.com/Garcia-Ventures/eslint-config/compare/eslint-config-v0.1.4...eslint-config-v0.1.5) (2026-02-07)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* Remove explicit `NPM_TOKEN` environment variable from the npm publish step. ([b924c15](https://github.com/Garcia-Ventures/eslint-config/commit/b924c153b36c664bfa8870d21481880de44d6228))
|
|
9
|
+
|
|
10
|
+
## [0.1.4](https://github.com/Garcia-Ventures/eslint-config/compare/eslint-config-v0.1.3...eslint-config-v0.1.4) (2026-02-07)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* Force release ([ef98c9c](https://github.com/Garcia-Ventures/eslint-config/commit/ef98c9cd541ffb3c36f8a63e6df0be2981bc2b4a))
|
|
16
|
+
|
|
17
|
+
## [0.1.3](https://github.com/Garcia-Ventures/eslint-config/compare/eslint-config-v0.1.2...eslint-config-v0.1.3) (2026-02-07)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* Update Prettier configuration, remove organize imports plugin, and add lint-staged setup. ([a5c41d0](https://github.com/Garcia-Ventures/eslint-config/commit/a5c41d087c348c6a26045902c9b00538d5bc7814))
|
|
23
|
+
* Upgrade Node.js to v24, update ESLint dependencies, and configure pre-commit hooks. ([9013d20](https://github.com/Garcia-Ventures/eslint-config/commit/9013d20332f02de4ac54ad2fb0c0638aa3956205))
|
|
24
|
+
|
|
25
|
+
## [0.1.2](https://github.com/Garcia-Ventures/eslint-config/compare/eslint-config-v0.1.1...eslint-config-v0.1.2) (2026-02-07)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
### Features
|
|
29
|
+
|
|
30
|
+
* Migrate package management from npm to Yarn. ([d2b90f3](https://github.com/Garcia-Ventures/eslint-config/commit/d2b90f3497d298e40cb25d68ee03fa4db71aa0a3))
|
|
31
|
+
|
|
32
|
+
## [0.1.1](https://github.com/Garcia-Ventures/eslint-config/compare/eslint-config-v0.1.0...eslint-config-v0.1.1) (2026-02-07)
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
### Features
|
|
36
|
+
|
|
37
|
+
* Enable Dependabot version updates for npm. ([7f78c4b](https://github.com/Garcia-Ventures/eslint-config/commit/7f78c4b218b85f8ad68f3e6558f8903855ee430d))
|
|
38
|
+
* Implement CI/CD workflows for linting, package validation, and automated releases with Release Please. ([cb12d29](https://github.com/Garcia-Ventures/eslint-config/commit/cb12d294e284949b7ab5ed7c357d55534a82f0c6))
|
|
39
|
+
* initialize shareable ESLint configuration package with flat config support for JavaScript, TypeScript, Next.js, and Prettier. ([3fa599a](https://github.com/Garcia-Ventures/eslint-config/commit/3fa599a4d18128b6ffd99b78d857404a8c1b5554))
|
package/README.md
CHANGED
|
@@ -109,24 +109,24 @@ export default [
|
|
|
109
109
|
|
|
110
110
|
## Available Configurations
|
|
111
111
|
|
|
112
|
-
| Export
|
|
113
|
-
|
|
114
|
-
| `base`
|
|
115
|
-
| `typescript`
|
|
116
|
-
| `next`
|
|
117
|
-
| `prettier`
|
|
118
|
-
| `recommended` | TypeScript + Prettier
|
|
119
|
-
| `nextjs`
|
|
112
|
+
| Export | Description |
|
|
113
|
+
| ------------- | ---------------------------------- |
|
|
114
|
+
| `base` | Core JavaScript rules |
|
|
115
|
+
| `typescript` | TypeScript support (includes base) |
|
|
116
|
+
| `next` | Next.js 16+ (includes TypeScript) |
|
|
117
|
+
| `prettier` | Prettier formatting integration |
|
|
118
|
+
| `recommended` | TypeScript + Prettier |
|
|
119
|
+
| `nextjs` | Next.js + Prettier |
|
|
120
120
|
|
|
121
121
|
## Exported Utilities
|
|
122
122
|
|
|
123
|
-
| Export
|
|
124
|
-
|
|
125
|
-
| `jsFiles`
|
|
126
|
-
| `tsFiles`
|
|
127
|
-
| `allJsTsFiles`
|
|
128
|
-
| `commonIgnores` | Common ignore patterns
|
|
129
|
-
| `nextIgnores`
|
|
123
|
+
| Export | Description |
|
|
124
|
+
| --------------- | ------------------------ |
|
|
125
|
+
| `jsFiles` | JavaScript file patterns |
|
|
126
|
+
| `tsFiles` | TypeScript file patterns |
|
|
127
|
+
| `allJsTsFiles` | All JS/TS file patterns |
|
|
128
|
+
| `commonIgnores` | Common ignore patterns |
|
|
129
|
+
| `nextIgnores` | Next.js-specific ignores |
|
|
130
130
|
|
|
131
131
|
## License
|
|
132
132
|
|
package/package.json
CHANGED
|
@@ -1,18 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gv-tech/eslint-config",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5",
|
|
4
4
|
"description": "Shareable ESLint configuration for Garcia Ventures projects - ESLint v9 flat config",
|
|
5
|
-
"type": "module",
|
|
6
|
-
"exports": {
|
|
7
|
-
".": "./src/index.mjs",
|
|
8
|
-
"./base": "./src/base.mjs",
|
|
9
|
-
"./typescript": "./src/typescript.mjs",
|
|
10
|
-
"./next": "./src/next.mjs",
|
|
11
|
-
"./prettier": "./src/prettier.mjs"
|
|
12
|
-
},
|
|
13
|
-
"files": [
|
|
14
|
-
"src"
|
|
15
|
-
],
|
|
16
5
|
"keywords": [
|
|
17
6
|
"eslint",
|
|
18
7
|
"eslintconfig",
|
|
@@ -23,60 +12,97 @@
|
|
|
23
12
|
"nextjs",
|
|
24
13
|
"prettier"
|
|
25
14
|
],
|
|
26
|
-
"
|
|
27
|
-
"
|
|
15
|
+
"homepage": "https://github.com/Garcia-Ventures/eslint-config#readme",
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/Garcia-Ventures/eslint-config/issues"
|
|
18
|
+
},
|
|
28
19
|
"repository": {
|
|
29
20
|
"type": "git",
|
|
30
21
|
"url": "git+https://github.com/Garcia-Ventures/eslint-config.git"
|
|
31
22
|
},
|
|
32
|
-
"
|
|
33
|
-
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"author": "Eric N. Garcia <eng618@garciaericn.com>",
|
|
25
|
+
"type": "module",
|
|
26
|
+
"exports": {
|
|
27
|
+
".": "./src/index.mjs",
|
|
28
|
+
"./base": "./src/base.mjs",
|
|
29
|
+
"./typescript": "./src/typescript.mjs",
|
|
30
|
+
"./next": "./src/next.mjs",
|
|
31
|
+
"./prettier": "./src/prettier.mjs"
|
|
34
32
|
},
|
|
35
|
-
"
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
"files": [
|
|
34
|
+
"src"
|
|
35
|
+
],
|
|
36
|
+
"scripts": {
|
|
37
|
+
"format": "prettier --write .",
|
|
38
|
+
"format:ci": "prettier --check .",
|
|
39
|
+
"lint": "eslint . --cache",
|
|
40
|
+
"lint:fix": "eslint . --cache --fix",
|
|
41
|
+
"lint:report": "eslint . --cache -o ./eslintReport.html -f html",
|
|
42
|
+
"prepare": "husky"
|
|
43
|
+
},
|
|
44
|
+
"lint-staged": {
|
|
45
|
+
"*.(js|ts|mjs|cjs)?(x)": [
|
|
46
|
+
"prettier --write",
|
|
47
|
+
"eslint --cache --fix"
|
|
48
|
+
],
|
|
49
|
+
"*.(md)?(x)": [
|
|
50
|
+
"prettier --write"
|
|
51
|
+
]
|
|
52
|
+
},
|
|
53
|
+
"prettier": "@eng618/prettier-config",
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@eng618/prettier-config": "^2.6.0",
|
|
56
|
+
"@eslint/js": "^10.0.1",
|
|
57
|
+
"@gv-tech/eslint-config": "^0.1.0",
|
|
58
|
+
"@next/eslint-plugin-next": "^16.1.6",
|
|
59
|
+
"eslint": "^10.0.0",
|
|
60
|
+
"eslint-config-prettier": "^10.1.8",
|
|
61
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
62
|
+
"globals": "^17.3.0",
|
|
63
|
+
"husky": "^9.1.7",
|
|
64
|
+
"lint-staged": "^16.2.7",
|
|
65
|
+
"prettier": "^3.8.1",
|
|
66
|
+
"typescript": "^5.9.3",
|
|
67
|
+
"typescript-eslint": "^8.54.0"
|
|
38
68
|
},
|
|
39
69
|
"peerDependencies": {
|
|
40
|
-
"@eng618/prettier-config": "^
|
|
70
|
+
"@eng618/prettier-config": "^2.0.0",
|
|
41
71
|
"@eslint/js": "^9.0.0",
|
|
42
72
|
"@next/eslint-plugin-next": "^15.0.0 || ^16.0.0",
|
|
43
73
|
"eslint": "^9.0.0",
|
|
44
74
|
"eslint-config-prettier": "^9.0.0 || ^10.0.0",
|
|
45
75
|
"eslint-plugin-prettier": "^5.0.0",
|
|
46
|
-
"globals": "
|
|
76
|
+
"globals": ">=15.0.0",
|
|
77
|
+
"prettier": "^3.0.0",
|
|
47
78
|
"typescript": ">=5.0.0",
|
|
48
79
|
"typescript-eslint": "^8.0.0"
|
|
49
80
|
},
|
|
50
81
|
"peerDependenciesMeta": {
|
|
51
|
-
"
|
|
82
|
+
"@eng618/prettier-config": {
|
|
52
83
|
"optional": true
|
|
53
84
|
},
|
|
54
|
-
"
|
|
85
|
+
"@next/eslint-plugin-next": {
|
|
55
86
|
"optional": true
|
|
56
87
|
},
|
|
57
|
-
"
|
|
88
|
+
"eslint-config-prettier": {
|
|
58
89
|
"optional": true
|
|
59
90
|
},
|
|
60
91
|
"eslint-plugin-prettier": {
|
|
61
92
|
"optional": true
|
|
62
93
|
},
|
|
63
|
-
"
|
|
94
|
+
"prettier": {
|
|
64
95
|
"optional": true
|
|
65
96
|
},
|
|
66
|
-
"
|
|
97
|
+
"typescript": {
|
|
98
|
+
"optional": true
|
|
99
|
+
},
|
|
100
|
+
"typescript-eslint": {
|
|
67
101
|
"optional": true
|
|
68
102
|
}
|
|
69
103
|
},
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
"
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
"eslint-config-prettier": "^9.0.0",
|
|
76
|
-
"eslint-plugin-prettier": "^5.0.0",
|
|
77
|
-
"globals": "^15.0.0",
|
|
78
|
-
"typescript": "^5.7.0",
|
|
79
|
-
"typescript-eslint": "^8.0.0"
|
|
80
|
-
},
|
|
81
|
-
"prettier": "@eng618/prettier-config"
|
|
82
|
-
}
|
|
104
|
+
"packageManager": "yarn@4.12.0",
|
|
105
|
+
"engines": {
|
|
106
|
+
"node": ">=20.19.0"
|
|
107
|
+
}
|
|
108
|
+
}
|
package/src/base.mjs
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @gv-tech/eslint-config - Base Configuration
|
|
3
3
|
*
|
|
4
|
-
* Core ESLint configuration with recommended JavaScript rules.
|
|
5
|
-
* Uses ESLint v10 flat config format.
|
|
4
|
+
* Core ESLint configuration with recommended JavaScript rules. Uses ESLint v10 flat config format.
|
|
6
5
|
*/
|
|
7
6
|
|
|
8
7
|
import js from '@eslint/js';
|
|
@@ -12,18 +11,13 @@ import globals from 'globals';
|
|
|
12
11
|
export const jsFiles = ['**/*.js', '**/*.jsx', '**/*.mjs', '**/*.cjs'];
|
|
13
12
|
|
|
14
13
|
/** Common ignore patterns */
|
|
15
|
-
export const commonIgnores = [
|
|
16
|
-
'**/node_modules/**',
|
|
17
|
-
'**/dist/**',
|
|
18
|
-
'**/build/**',
|
|
19
|
-
'**/coverage/**',
|
|
20
|
-
'**/.git/**',
|
|
21
|
-
];
|
|
14
|
+
export const commonIgnores = ['**/node_modules/**', '**/dist/**', '**/build/**', '**/coverage/**', '**/.git/**'];
|
|
22
15
|
|
|
23
16
|
/**
|
|
24
17
|
* Base ESLint configuration for JavaScript projects.
|
|
25
18
|
*
|
|
26
19
|
* @example
|
|
20
|
+
*
|
|
27
21
|
* ```js
|
|
28
22
|
* // eslint.config.mjs
|
|
29
23
|
* import { base } from '@gv-tech/eslint-config';
|
package/src/index.mjs
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @gv-tech/eslint-config
|
|
3
3
|
*
|
|
4
|
-
* Shareable ESLint configuration for Garcia Ventures projects.
|
|
5
|
-
* Supports ESLint v9+ flat config format.
|
|
4
|
+
* Shareable ESLint configuration for Garcia Ventures projects. Supports ESLint v9+ flat config format.
|
|
6
5
|
*
|
|
7
6
|
* @example Basic JavaScript
|
|
7
|
+
*
|
|
8
8
|
* ```js
|
|
9
9
|
* import { base } from '@gv-tech/eslint-config';
|
|
10
10
|
* export default [...base];
|
|
11
11
|
* ```
|
|
12
12
|
*
|
|
13
13
|
* @example TypeScript
|
|
14
|
+
*
|
|
14
15
|
* ```js
|
|
15
16
|
* import { typescript, prettier } from '@gv-tech/eslint-config';
|
|
16
17
|
* export default [...typescript, ...prettier];
|
|
17
18
|
* ```
|
|
18
19
|
*
|
|
19
20
|
* @example Next.js
|
|
21
|
+
*
|
|
20
22
|
* ```js
|
|
21
23
|
* import { next, prettier } from '@gv-tech/eslint-config';
|
|
22
24
|
* export default [...next, ...prettier];
|
|
@@ -24,32 +26,24 @@
|
|
|
24
26
|
*/
|
|
25
27
|
|
|
26
28
|
// Import for creating combined presets
|
|
27
|
-
import { base,
|
|
28
|
-
import { typescript, tsFiles, allJsTsFiles } from './typescript.mjs';
|
|
29
|
+
import { base, commonIgnores, jsFiles } from './base.mjs';
|
|
29
30
|
import { next, nextIgnores } from './next.mjs';
|
|
30
31
|
import { prettier } from './prettier.mjs';
|
|
32
|
+
import { allJsTsFiles, tsFiles, typescript } from './typescript.mjs';
|
|
31
33
|
|
|
32
34
|
// Re-export individual configurations
|
|
33
|
-
export { base, jsFiles,
|
|
34
|
-
export { typescript, tsFiles, allJsTsFiles };
|
|
35
|
-
export { next, nextIgnores };
|
|
36
|
-
export { prettier };
|
|
35
|
+
export { allJsTsFiles, base, commonIgnores, jsFiles, next, nextIgnores, prettier, tsFiles, typescript };
|
|
37
36
|
|
|
38
|
-
/**
|
|
39
|
-
* Recommended configuration for TypeScript projects with Prettier.
|
|
40
|
-
* Combines TypeScript and Prettier configurations.
|
|
41
|
-
*/
|
|
37
|
+
/** Recommended configuration for TypeScript projects with Prettier. Combines TypeScript and Prettier configurations. */
|
|
42
38
|
export const recommended = [...typescript, ...prettier];
|
|
43
39
|
|
|
44
40
|
/**
|
|
45
|
-
* Recommended configuration for Next.js projects with Prettier.
|
|
46
|
-
*
|
|
41
|
+
* Recommended configuration for Next.js projects with Prettier. Combines Next.js (which includes TypeScript) and
|
|
42
|
+
* Prettier configurations.
|
|
47
43
|
*/
|
|
48
44
|
export const nextjs = [...next, ...prettier];
|
|
49
45
|
|
|
50
|
-
/**
|
|
51
|
-
* Base configuration preset for simple JavaScript projects.
|
|
52
|
-
*/
|
|
46
|
+
/** Base configuration preset for simple JavaScript projects. */
|
|
53
47
|
export const javascript = [...base];
|
|
54
48
|
|
|
55
49
|
// Default export is the recommended TypeScript + Prettier config
|
package/src/next.mjs
CHANGED
|
@@ -1,27 +1,21 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @gv-tech/eslint-config - Next.js Configuration
|
|
3
3
|
*
|
|
4
|
-
* Next.js 15+ ESLint configuration with Core Web Vitals.
|
|
5
|
-
* Uses ESLint v9 flat config format.
|
|
4
|
+
* Next.js 15+ ESLint configuration with Core Web Vitals. Uses ESLint v9 flat config format.
|
|
6
5
|
*/
|
|
7
6
|
|
|
8
7
|
import nextPlugin from '@next/eslint-plugin-next';
|
|
9
|
-
import { typescript, allJsTsFiles } from './typescript.mjs';
|
|
10
8
|
import { commonIgnores } from './base.mjs';
|
|
9
|
+
import { allJsTsFiles, typescript } from './typescript.mjs';
|
|
11
10
|
|
|
12
11
|
/** Next.js specific ignore patterns */
|
|
13
|
-
export const nextIgnores = [
|
|
14
|
-
...commonIgnores,
|
|
15
|
-
'.next/**',
|
|
16
|
-
'out/**',
|
|
17
|
-
'next-env.d.ts',
|
|
18
|
-
];
|
|
12
|
+
export const nextIgnores = [...commonIgnores, '.next/**', 'out/**', 'next-env.d.ts'];
|
|
19
13
|
|
|
20
14
|
/**
|
|
21
|
-
* Next.js ESLint configuration.
|
|
22
|
-
* Extends TypeScript configuration and adds Next.js-specific rules.
|
|
15
|
+
* Next.js ESLint configuration. Extends TypeScript configuration and adds Next.js-specific rules.
|
|
23
16
|
*
|
|
24
17
|
* @example
|
|
18
|
+
*
|
|
25
19
|
* ```js
|
|
26
20
|
* // eslint.config.mjs
|
|
27
21
|
* import { next } from '@gv-tech/eslint-config';
|
package/src/prettier.mjs
CHANGED
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @gv-tech/eslint-config - Prettier Configuration
|
|
3
3
|
*
|
|
4
|
-
* Prettier integration for ESLint - runs Prettier as an ESLint rule.
|
|
5
|
-
* Uses
|
|
6
|
-
* Uses ESLint v9 flat config format.
|
|
4
|
+
* Prettier integration for ESLint - runs Prettier as an ESLint rule. Uses @eng618/prettier-config for consistent
|
|
5
|
+
* formatting. Uses ESLint v9 flat config format.
|
|
7
6
|
*/
|
|
8
7
|
|
|
9
|
-
import prettierPlugin from 'eslint-plugin-prettier';
|
|
10
8
|
import prettierConfig from 'eslint-config-prettier';
|
|
9
|
+
import prettierPlugin from 'eslint-plugin-prettier';
|
|
11
10
|
import { allJsTsFiles } from './typescript.mjs';
|
|
12
11
|
|
|
13
12
|
/**
|
|
14
|
-
* Prettier ESLint configuration.
|
|
15
|
-
*
|
|
16
|
-
* Uses @eng618/prettier-config for Prettier options.
|
|
13
|
+
* Prettier ESLint configuration. Disables formatting rules that conflict with Prettier and runs Prettier as an ESLint
|
|
14
|
+
* rule. Uses @eng618/prettier-config for Prettier options.
|
|
17
15
|
*
|
|
18
16
|
* @example
|
|
17
|
+
*
|
|
19
18
|
* ```js
|
|
20
19
|
* // eslint.config.mjs
|
|
21
20
|
* import { typescript, prettier } from '@gv-tech/eslint-config';
|
|
@@ -37,7 +36,7 @@ export const prettier = [
|
|
|
37
36
|
'error',
|
|
38
37
|
{},
|
|
39
38
|
{
|
|
40
|
-
usePrettierrc: true,
|
|
39
|
+
usePrettierrc: true,
|
|
41
40
|
},
|
|
42
41
|
],
|
|
43
42
|
},
|
package/src/typescript.mjs
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @gv-tech/eslint-config - TypeScript Configuration
|
|
3
3
|
*
|
|
4
|
-
* TypeScript-specific ESLint configuration using typescript-eslint v8.
|
|
5
|
-
* Uses ESLint v9 flat config format.
|
|
4
|
+
* TypeScript-specific ESLint configuration using typescript-eslint v8. Uses ESLint v9 flat config format.
|
|
6
5
|
*/
|
|
7
6
|
|
|
8
7
|
import tseslint from 'typescript-eslint';
|
|
9
|
-
import { base,
|
|
8
|
+
import { base, commonIgnores, jsFiles } from './base.mjs';
|
|
10
9
|
|
|
11
10
|
/** File patterns for TypeScript files */
|
|
12
11
|
export const tsFiles = ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'];
|
|
@@ -15,10 +14,10 @@ export const tsFiles = ['**/*.ts', '**/*.tsx', '**/*.mts', '**/*.cts'];
|
|
|
15
14
|
export const allJsTsFiles = [...jsFiles, ...tsFiles];
|
|
16
15
|
|
|
17
16
|
/**
|
|
18
|
-
* TypeScript ESLint configuration.
|
|
19
|
-
* Extends base configuration and adds TypeScript-specific rules.
|
|
17
|
+
* TypeScript ESLint configuration. Extends base configuration and adds TypeScript-specific rules.
|
|
20
18
|
*
|
|
21
19
|
* @example
|
|
20
|
+
*
|
|
22
21
|
* ```js
|
|
23
22
|
* // eslint.config.mjs
|
|
24
23
|
* import { typescript } from '@gv-tech/eslint-config';
|