@chanyuxi/eslint-waltz 0.1.0 → 0.1.1
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 +16 -17
- package/dist/cli.js +4 -4
- package/dist/index.d.ts +61 -9
- package/dist/index.js +72 -2
- package/package.json +136 -139
package/README.md
CHANGED
|
@@ -14,8 +14,8 @@ The following configuration modules are available:
|
|
|
14
14
|
- ✅ Json
|
|
15
15
|
- ✅ Import
|
|
16
16
|
- ✅ React
|
|
17
|
-
- JSONC
|
|
18
|
-
- TypeScript,
|
|
17
|
+
- JSONC and imports are enabled by default and can be disabled with `json: false` and `imports: false`.
|
|
18
|
+
- TypeScript, React, and gitignore support are opt-in.
|
|
19
19
|
|
|
20
20
|
# Usage
|
|
21
21
|
|
|
@@ -24,10 +24,10 @@ The following configuration modules are available:
|
|
|
24
24
|
Install the core package and its core ESLint peers:
|
|
25
25
|
|
|
26
26
|
```bash
|
|
27
|
-
pnpm add -D @chanyuxi/eslint-waltz eslint @eslint/js @stylistic/eslint-plugin eslint-plugin-jsonc jsonc-eslint-parser globals
|
|
27
|
+
pnpm add -D @chanyuxi/eslint-waltz eslint @eslint/js @stylistic/eslint-plugin eslint-plugin-jsonc eslint-plugin-import jsonc-eslint-parser globals
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
Install the peer packages for any optional modules you enable, such as `typescript-eslint
|
|
30
|
+
Install the peer packages for any optional modules you enable, such as `typescript-eslint` or the React ESLint plugins.
|
|
31
31
|
|
|
32
32
|
#### Configuration
|
|
33
33
|
|
|
@@ -37,10 +37,9 @@ Create a `eslint.config.ts` file in the project root directory and configure it
|
|
|
37
37
|
import waltz from '@chanyuxi/eslint-waltz'
|
|
38
38
|
|
|
39
39
|
export default waltz({
|
|
40
|
-
// JSONC
|
|
40
|
+
// JSONC and imports are enabled by default
|
|
41
41
|
json: true,
|
|
42
42
|
ts: true,
|
|
43
|
-
imports: true,
|
|
44
43
|
react: true,
|
|
45
44
|
js: { globals: ['browser'] },
|
|
46
45
|
})
|
|
@@ -57,14 +56,14 @@ export default waltz({}, {
|
|
|
57
56
|
})
|
|
58
57
|
```
|
|
59
58
|
|
|
60
|
-
Run `pnpm run check` before committing. `pnpm pack` and `npm publish` build the package automatically through the `prepack` lifecycle.
|
|
61
|
-
|
|
62
|
-
#### VS Code synchronization
|
|
63
|
-
|
|
64
|
-
After installing the package, run this command from your project root:
|
|
65
|
-
|
|
66
|
-
```bash
|
|
67
|
-
npx eslint-waltz sync-vscode
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
It creates or updates `.vscode/settings.json` with ESLint fix-on-save settings while preserving other settings and JSONC comments.
|
|
59
|
+
Run `pnpm run check` before committing. `pnpm pack` and `npm publish` build the package automatically through the `prepack` lifecycle.
|
|
60
|
+
|
|
61
|
+
#### VS Code synchronization
|
|
62
|
+
|
|
63
|
+
After installing the package, run this command from your project root:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npx eslint-waltz sync-vscode
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
It creates or updates `.vscode/settings.json` with ESLint fix-on-save settings while preserving other settings and JSONC comments.
|
package/dist/cli.js
CHANGED
|
@@ -1509,10 +1509,10 @@ async function syncVSCodeSettings(cwd = process.cwd()) {
|
|
|
1509
1509
|
}
|
|
1510
1510
|
|
|
1511
1511
|
function printHelp() {
|
|
1512
|
-
console.log(`Usage: eslint-waltz <command>
|
|
1513
|
-
|
|
1514
|
-
Commands:
|
|
1515
|
-
sync-vscode Create or update .vscode/settings.json for ESLint fix-on-save
|
|
1512
|
+
console.log(`Usage: eslint-waltz <command>
|
|
1513
|
+
|
|
1514
|
+
Commands:
|
|
1515
|
+
sync-vscode Create or update .vscode/settings.json for ESLint fix-on-save
|
|
1516
1516
|
`);
|
|
1517
1517
|
}
|
|
1518
1518
|
async function main() {
|
package/dist/index.d.ts
CHANGED
|
@@ -5031,15 +5031,27 @@ type Arraiable<T> = T | Array<T>;
|
|
|
5031
5031
|
type UnresolvedLinterConfig = Arraiable<LinterConfig> | Promise<Arraiable<LinterConfig>>;
|
|
5032
5032
|
interface SharedOptions {
|
|
5033
5033
|
/**
|
|
5034
|
-
*
|
|
5034
|
+
* Restrict this module's configuration to the specified files.
|
|
5035
|
+
*
|
|
5036
|
+
* Each module has its own default file pattern. Providing this option
|
|
5037
|
+
* replaces that pattern; it does not add another pattern to the default.
|
|
5035
5038
|
*/
|
|
5036
5039
|
files?: Linter.Config['files'];
|
|
5037
5040
|
/**
|
|
5038
|
-
*
|
|
5041
|
+
* Override rules within this module's file scope.
|
|
5042
|
+
*
|
|
5043
|
+
* Rule names are not restricted to the plugin used by this module, so core
|
|
5044
|
+
* ESLint rules and rules from other configured plugins can also be set here.
|
|
5039
5045
|
*/
|
|
5040
5046
|
overrides?: LinterConfig['rules'];
|
|
5041
5047
|
}
|
|
5042
5048
|
interface JsOptions extends SharedOptions {
|
|
5049
|
+
/**
|
|
5050
|
+
* Add predefined global variables to JavaScript files.
|
|
5051
|
+
*
|
|
5052
|
+
* Values must be names exported by the `globals` package, such as `browser`
|
|
5053
|
+
* or `node`.
|
|
5054
|
+
*/
|
|
5043
5055
|
globals?: (keyof typeof globals)[];
|
|
5044
5056
|
}
|
|
5045
5057
|
type TsOptions = SharedOptions;
|
|
@@ -5049,46 +5061,86 @@ type ImportsOptions = SharedOptions;
|
|
|
5049
5061
|
type ReactOptions = SharedOptions;
|
|
5050
5062
|
interface WaltzOptions {
|
|
5051
5063
|
/**
|
|
5052
|
-
* Treat
|
|
5064
|
+
* Treat patterns from `.gitignore` as global ESLint ignores.
|
|
5065
|
+
*
|
|
5066
|
+
* Pass an options object to customize `eslint-config-flat-gitignore`, or
|
|
5067
|
+
* use `true` to enable its strict mode with the default options.
|
|
5053
5068
|
*
|
|
5054
5069
|
* @default false
|
|
5055
5070
|
* @see https://github.com/antfu/eslint-config-flat-gitignore
|
|
5056
5071
|
*/
|
|
5057
5072
|
gitignore?: boolean | FlatGitignoreOptions;
|
|
5058
5073
|
/**
|
|
5059
|
-
*
|
|
5074
|
+
* Configure the core ESLint rules for JavaScript files.
|
|
5075
|
+
*
|
|
5076
|
+
* The JavaScript configuration is always included. It targets JavaScript
|
|
5077
|
+
* files, including JSX files, by default. Use `files`, `globals`, and
|
|
5078
|
+
* `overrides` to adjust its scope and rules.
|
|
5060
5079
|
*
|
|
5061
5080
|
* @default {}
|
|
5062
5081
|
* @see https://github.com/eslint/eslint.git
|
|
5063
5082
|
*/
|
|
5064
5083
|
js?: JsOptions;
|
|
5065
5084
|
/**
|
|
5066
|
-
* Enable TypeScript support
|
|
5085
|
+
* Enable TypeScript support for TypeScript files.
|
|
5086
|
+
*
|
|
5087
|
+
* `true` enables the TypeScript parser and the recommended
|
|
5088
|
+
* `typescript-eslint` rules. By default, this applies to `.ts`, `.tsx`,
|
|
5089
|
+
* `.mts`, and `.cts` files, including their JSX variants. Passing an
|
|
5090
|
+
* options object additionally allows the TypeScript file scope and rules to
|
|
5091
|
+
* be customized with `files` and `overrides`.
|
|
5092
|
+
*
|
|
5093
|
+
* When enabled, the default stylistic, import, and React configurations also
|
|
5094
|
+
* include TypeScript files when those configurations are enabled.
|
|
5067
5095
|
*
|
|
5068
5096
|
* @default false
|
|
5069
5097
|
* @see https://typescript-eslint.io/linting/configs/#recommended-config
|
|
5070
5098
|
*/
|
|
5071
5099
|
ts?: boolean | TsOptions;
|
|
5072
5100
|
/**
|
|
5073
|
-
*
|
|
5101
|
+
* Configure stylistic rules for script files.
|
|
5102
|
+
*
|
|
5103
|
+
* This configuration is always enabled and uses `@stylistic/eslint-plugin`.
|
|
5104
|
+
* It targets JavaScript files by default, and also targets TypeScript files
|
|
5105
|
+
* when `ts` is enabled. The JSX prop-sorting rule is enabled in addition to
|
|
5106
|
+
* the plugin's customized rules.
|
|
5074
5107
|
*
|
|
5075
5108
|
* @default {}
|
|
5109
|
+
* @see https://eslint.style/
|
|
5076
5110
|
*/
|
|
5077
5111
|
stylistic?: StylisticOptions;
|
|
5078
5112
|
/**
|
|
5079
|
-
* Enable JSON
|
|
5113
|
+
* Enable linting for JSON, JSON5, and JSONC files.
|
|
5114
|
+
*
|
|
5115
|
+
* The default configuration also sorts keys in `package.json` and
|
|
5116
|
+
* TypeScript configuration files. Pass an options object to change the file
|
|
5117
|
+
* scope or override rules.
|
|
5080
5118
|
*
|
|
5081
5119
|
* @default true
|
|
5120
|
+
* @see https://github.com/ota-meshi/eslint-plugin-jsonc
|
|
5082
5121
|
*/
|
|
5083
5122
|
json?: boolean | JsoncOptions;
|
|
5084
5123
|
/**
|
|
5085
|
-
* Enable
|
|
5124
|
+
* Enable rules for validating and ordering imports and exports.
|
|
5086
5125
|
*
|
|
5087
|
-
*
|
|
5126
|
+
* This configuration is enabled by default. JavaScript files are included
|
|
5127
|
+
* by default, and the scope also includes TypeScript files when `ts` is
|
|
5128
|
+
* enabled. Set this option to `false` to disable it, or pass an options
|
|
5129
|
+
* object to change the file scope or override rules.
|
|
5130
|
+
*
|
|
5131
|
+
* @default true
|
|
5132
|
+
* @see https://github.com/import-js/eslint-plugin-import
|
|
5088
5133
|
*/
|
|
5089
5134
|
imports?: boolean | ImportsOptions;
|
|
5090
5135
|
/**
|
|
5136
|
+
* Enable React-specific lint rules.
|
|
5137
|
+
*
|
|
5138
|
+
* JavaScript and JSX files are included by default. When `ts` is enabled,
|
|
5139
|
+
* TypeScript and TSX files are included as well. Pass an options object to
|
|
5140
|
+
* change the file scope or override rules.
|
|
5141
|
+
*
|
|
5091
5142
|
* @default false
|
|
5143
|
+
* @see https://github.com/Rel1cx/eslint-react
|
|
5092
5144
|
*/
|
|
5093
5145
|
react?: boolean | ReactOptions;
|
|
5094
5146
|
}
|
package/dist/index.js
CHANGED
|
@@ -456,6 +456,73 @@ async function stylisticConfig(options = {}, relative) {
|
|
|
456
456
|
: [JS_FILES];
|
|
457
457
|
// Directly use the generated recommendation rules
|
|
458
458
|
const configs = eslintStylistic.configs.customize();
|
|
459
|
+
// This will enable the following rules.
|
|
460
|
+
// '@stylistic/array-bracket-spacing'
|
|
461
|
+
// '@stylistic/arrow-parens'
|
|
462
|
+
// '@stylistic/arrow-spacing'
|
|
463
|
+
// '@stylistic/block-spacing'
|
|
464
|
+
// '@stylistic/brace-style'
|
|
465
|
+
// '@stylistic/comma-dangle'
|
|
466
|
+
// '@stylistic/comma-spacing'
|
|
467
|
+
// '@stylistic/comma-style'
|
|
468
|
+
// '@stylistic/computed-property-spacing'
|
|
469
|
+
// '@stylistic/dot-location'
|
|
470
|
+
// '@stylistic/eol-last'
|
|
471
|
+
// '@stylistic/generator-star-spacing'
|
|
472
|
+
// '@stylistic/indent'
|
|
473
|
+
// '@stylistic/indent-binary-ops'
|
|
474
|
+
// '@stylistic/key-spacing'
|
|
475
|
+
// '@stylistic/keyword-spacing'
|
|
476
|
+
// '@stylistic/lines-between-class-members'
|
|
477
|
+
// '@stylistic/max-statements-per-line'
|
|
478
|
+
// '@stylistic/member-delimiter-style'
|
|
479
|
+
// '@stylistic/multiline-ternary'
|
|
480
|
+
// '@stylistic/new-parens'
|
|
481
|
+
// '@stylistic/no-extra-parens'
|
|
482
|
+
// '@stylistic/no-floating-decimal'
|
|
483
|
+
// '@stylistic/no-mixed-operators'
|
|
484
|
+
// '@stylistic/no-mixed-spaces-and-tabs'
|
|
485
|
+
// '@stylistic/no-multi-spaces'
|
|
486
|
+
// '@stylistic/no-multiple-empty-lines'
|
|
487
|
+
// '@stylistic/no-tabs'
|
|
488
|
+
// '@stylistic/no-trailing-spaces'
|
|
489
|
+
// '@stylistic/no-whitespace-before-property'
|
|
490
|
+
// '@stylistic/object-curly-spacing'
|
|
491
|
+
// '@stylistic/operator-linebreak'
|
|
492
|
+
// '@stylistic/padded-blocks'
|
|
493
|
+
// '@stylistic/quote-props'
|
|
494
|
+
// '@stylistic/quotes'
|
|
495
|
+
// '@stylistic/rest-spread-spacing'
|
|
496
|
+
// '@stylistic/semi'
|
|
497
|
+
// '@stylistic/semi-spacing'
|
|
498
|
+
// '@stylistic/space-before-blocks'
|
|
499
|
+
// '@stylistic/space-before-function-paren'
|
|
500
|
+
// '@stylistic/space-in-parens'
|
|
501
|
+
// '@stylistic/space-infix-ops'
|
|
502
|
+
// '@stylistic/space-unary-ops'
|
|
503
|
+
// '@stylistic/spaced-comment'
|
|
504
|
+
// '@stylistic/template-curly-spacing'
|
|
505
|
+
// '@stylistic/template-tag-spacing'
|
|
506
|
+
// '@stylistic/type-annotation-spacing'
|
|
507
|
+
// '@stylistic/type-generic-spacing'
|
|
508
|
+
// '@stylistic/type-named-tuple-spacing'
|
|
509
|
+
// '@stylistic/wrap-iife'
|
|
510
|
+
// '@stylistic/yield-star-spacing'
|
|
511
|
+
// '@stylistic/jsx-closing-bracket-location'
|
|
512
|
+
// '@stylistic/jsx-closing-tag-location'
|
|
513
|
+
// '@stylistic/jsx-curly-brace-presence'
|
|
514
|
+
// '@stylistic/jsx-curly-newline'
|
|
515
|
+
// '@stylistic/jsx-curly-spacing'
|
|
516
|
+
// '@stylistic/jsx-equals-spacing'
|
|
517
|
+
// '@stylistic/jsx-first-prop-new-line'
|
|
518
|
+
// '@stylistic/jsx-function-call-newline'
|
|
519
|
+
// '@stylistic/jsx-indent-props'
|
|
520
|
+
// '@stylistic/jsx-max-props-per-line'
|
|
521
|
+
// '@stylistic/jsx-one-expression-per-line'
|
|
522
|
+
// '@stylistic/jsx-quotes'
|
|
523
|
+
// '@stylistic/jsx-sort-props'
|
|
524
|
+
// '@stylistic/jsx-tag-spacing'
|
|
525
|
+
// '@stylistic/jsx-wrap-multilines'
|
|
459
526
|
return [
|
|
460
527
|
{
|
|
461
528
|
name: 'waltz/stylistic/setup',
|
|
@@ -469,6 +536,7 @@ async function stylisticConfig(options = {}, relative) {
|
|
|
469
536
|
files: options.files ?? scriptFiles,
|
|
470
537
|
rules: {
|
|
471
538
|
...configs.rules,
|
|
539
|
+
'@stylistic/jsx-sort-props': 'error',
|
|
472
540
|
...options.overrides,
|
|
473
541
|
},
|
|
474
542
|
},
|
|
@@ -655,8 +723,10 @@ async function waltz(options = {}, ...orders) {
|
|
|
655
723
|
if (isEnableTypeScript) {
|
|
656
724
|
configs.push(tsConfig(options.ts));
|
|
657
725
|
}
|
|
658
|
-
if (options.imports) {
|
|
659
|
-
configs.push(importsConfig(isEnableTypeScript, options.imports === true
|
|
726
|
+
if (options.imports !== false) {
|
|
727
|
+
configs.push(importsConfig(isEnableTypeScript, options.imports === true || options.imports === undefined
|
|
728
|
+
? {}
|
|
729
|
+
: options.imports));
|
|
660
730
|
}
|
|
661
731
|
if (isEnableReact) {
|
|
662
732
|
configs.push(reactConfig(options.react, {
|
package/package.json
CHANGED
|
@@ -1,139 +1,136 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@chanyuxi/eslint-waltz",
|
|
3
|
-
"type": "module",
|
|
4
|
-
"version": "0.1.
|
|
5
|
-
"packageManager": "pnpm@10.4.1",
|
|
6
|
-
"description": "A composable ESLint flat config for JavaScript, TypeScript, JSONC, imports, and React.",
|
|
7
|
-
"author": "chanyuxi <2438149743@qq.com> (https://github.com/chanyuxi)",
|
|
8
|
-
"license": "ISC",
|
|
9
|
-
"homepage": "https://github.com/chanyuxi/eslint-waltz",
|
|
10
|
-
"repository": {
|
|
11
|
-
"type": "git",
|
|
12
|
-
"url": "https://github.com/chanyuxi/eslint-waltz.git"
|
|
13
|
-
},
|
|
14
|
-
"bugs": {
|
|
15
|
-
"url": "https://github.com/chanyuxi/eslint-waltz/issues"
|
|
16
|
-
},
|
|
17
|
-
"publishConfig": {
|
|
18
|
-
"access": "public"
|
|
19
|
-
},
|
|
20
|
-
"keywords": [
|
|
21
|
-
"chanyuxi",
|
|
22
|
-
"eslint",
|
|
23
|
-
"config",
|
|
24
|
-
"integration"
|
|
25
|
-
],
|
|
26
|
-
"exports": {
|
|
27
|
-
".": {
|
|
28
|
-
"types": "./dist/index.d.ts",
|
|
29
|
-
"import": "./dist/index.js",
|
|
30
|
-
"default": "./dist/index.js"
|
|
31
|
-
}
|
|
32
|
-
},
|
|
33
|
-
"bin": {
|
|
34
|
-
"eslint-waltz": "./dist/cli.js"
|
|
35
|
-
},
|
|
36
|
-
"files": [
|
|
37
|
-
"dist"
|
|
38
|
-
],
|
|
39
|
-
"engines": {
|
|
40
|
-
"node": ">=18.18.0"
|
|
41
|
-
},
|
|
42
|
-
"scripts": {
|
|
43
|
-
"build": "rimraf ./dist && pnpm gen && rollup -c rollup.config.ts --configPlugin @rollup/plugin-typescript",
|
|
44
|
-
"gen": "tsx scripts/typegen.ts",
|
|
45
|
-
"lint": "eslint .",
|
|
46
|
-
"lint:fix": "eslint . --fix",
|
|
47
|
-
"typeCheck": "pnpm gen && tsc --noEmit",
|
|
48
|
-
"test": "node --import tsx test/index.ts",
|
|
49
|
-
"check": "pnpm run typeCheck && pnpm run lint && pnpm run test",
|
|
50
|
-
"changeset": "changeset",
|
|
51
|
-
"version": "changeset version && pnpm install --lockfile-only",
|
|
52
|
-
"release": "pnpm build && changeset publish",
|
|
53
|
-
"prepack": "pnpm build",
|
|
54
|
-
"prepare": "husky"
|
|
55
|
-
},
|
|
56
|
-
"peerDependencies": {
|
|
57
|
-
"@eslint/js": "^9.32.0",
|
|
58
|
-
"@stylistic/eslint-plugin": "^5.2.2",
|
|
59
|
-
"eslint": "^9.32.0",
|
|
60
|
-
"eslint-config-flat-gitignore": "^2.1.0",
|
|
61
|
-
"eslint-plugin-import": "^2.32.0",
|
|
62
|
-
"eslint-plugin-jsonc": "^2.20.1",
|
|
63
|
-
"eslint-plugin-react-debug": "^1.52.3",
|
|
64
|
-
"eslint-plugin-react-dom": "^1.52.3",
|
|
65
|
-
"eslint-plugin-react-hooks-extra": "^1.52.3",
|
|
66
|
-
"eslint-plugin-react-naming-convention": "^1.52.3",
|
|
67
|
-
"eslint-plugin-react-web-api": "^1.52.3",
|
|
68
|
-
"eslint-plugin-react-x": "^1.52.3",
|
|
69
|
-
"globals": "^16.3.0",
|
|
70
|
-
"jsonc-eslint-parser": "^2.4.0",
|
|
71
|
-
"typescript-eslint": "^8.38.0"
|
|
72
|
-
},
|
|
73
|
-
"peerDependenciesMeta": {
|
|
74
|
-
"eslint-config-flat-gitignore": {
|
|
75
|
-
"optional": true
|
|
76
|
-
},
|
|
77
|
-
"eslint-plugin-
|
|
78
|
-
"optional": true
|
|
79
|
-
},
|
|
80
|
-
"eslint-plugin-react-
|
|
81
|
-
"optional": true
|
|
82
|
-
},
|
|
83
|
-
"eslint-plugin-react-
|
|
84
|
-
"optional": true
|
|
85
|
-
},
|
|
86
|
-
"eslint-plugin-react-
|
|
87
|
-
"optional": true
|
|
88
|
-
},
|
|
89
|
-
"eslint-plugin-react-
|
|
90
|
-
"optional": true
|
|
91
|
-
},
|
|
92
|
-
"eslint-plugin-react-
|
|
93
|
-
"optional": true
|
|
94
|
-
},
|
|
95
|
-
"eslint
|
|
96
|
-
"optional": true
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
},
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
"@
|
|
107
|
-
"@
|
|
108
|
-
"@
|
|
109
|
-
"@
|
|
110
|
-
"@
|
|
111
|
-
"@
|
|
112
|
-
"@
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"eslint": "^
|
|
117
|
-
"eslint-
|
|
118
|
-
"eslint-plugin-
|
|
119
|
-
"eslint-plugin-
|
|
120
|
-
"eslint-plugin-react-
|
|
121
|
-
"eslint-plugin-react-
|
|
122
|
-
"eslint-plugin-react-
|
|
123
|
-
"eslint-
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
"
|
|
131
|
-
"
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
"
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
"typescript-eslint": "^8.38.0"
|
|
138
|
-
}
|
|
139
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@chanyuxi/eslint-waltz",
|
|
3
|
+
"type": "module",
|
|
4
|
+
"version": "0.1.1",
|
|
5
|
+
"packageManager": "pnpm@10.4.1",
|
|
6
|
+
"description": "A composable ESLint flat config for JavaScript, TypeScript, JSONC, imports, and React.",
|
|
7
|
+
"author": "chanyuxi <2438149743@qq.com> (https://github.com/chanyuxi)",
|
|
8
|
+
"license": "ISC",
|
|
9
|
+
"homepage": "https://github.com/chanyuxi/eslint-waltz",
|
|
10
|
+
"repository": {
|
|
11
|
+
"type": "git",
|
|
12
|
+
"url": "https://github.com/chanyuxi/eslint-waltz.git"
|
|
13
|
+
},
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/chanyuxi/eslint-waltz/issues"
|
|
16
|
+
},
|
|
17
|
+
"publishConfig": {
|
|
18
|
+
"access": "public"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"chanyuxi",
|
|
22
|
+
"eslint",
|
|
23
|
+
"config",
|
|
24
|
+
"integration"
|
|
25
|
+
],
|
|
26
|
+
"exports": {
|
|
27
|
+
".": {
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"import": "./dist/index.js",
|
|
30
|
+
"default": "./dist/index.js"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"bin": {
|
|
34
|
+
"eslint-waltz": "./dist/cli.js"
|
|
35
|
+
},
|
|
36
|
+
"files": [
|
|
37
|
+
"dist"
|
|
38
|
+
],
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=18.18.0"
|
|
41
|
+
},
|
|
42
|
+
"scripts": {
|
|
43
|
+
"build": "rimraf ./dist && pnpm gen && rollup -c rollup.config.ts --configPlugin @rollup/plugin-typescript",
|
|
44
|
+
"gen": "tsx scripts/typegen.ts",
|
|
45
|
+
"lint": "eslint .",
|
|
46
|
+
"lint:fix": "eslint . --fix",
|
|
47
|
+
"typeCheck": "pnpm gen && tsc --noEmit",
|
|
48
|
+
"test": "node --import tsx test/index.ts",
|
|
49
|
+
"check": "pnpm run typeCheck && pnpm run lint && pnpm run test",
|
|
50
|
+
"changeset": "changeset",
|
|
51
|
+
"version": "changeset version && pnpm install --lockfile-only",
|
|
52
|
+
"release": "pnpm build && changeset publish",
|
|
53
|
+
"prepack": "pnpm build",
|
|
54
|
+
"prepare": "husky"
|
|
55
|
+
},
|
|
56
|
+
"peerDependencies": {
|
|
57
|
+
"@eslint/js": "^9.32.0",
|
|
58
|
+
"@stylistic/eslint-plugin": "^5.2.2",
|
|
59
|
+
"eslint": "^9.32.0",
|
|
60
|
+
"eslint-config-flat-gitignore": "^2.1.0",
|
|
61
|
+
"eslint-plugin-import": "^2.32.0",
|
|
62
|
+
"eslint-plugin-jsonc": "^2.20.1",
|
|
63
|
+
"eslint-plugin-react-debug": "^1.52.3",
|
|
64
|
+
"eslint-plugin-react-dom": "^1.52.3",
|
|
65
|
+
"eslint-plugin-react-hooks-extra": "^1.52.3",
|
|
66
|
+
"eslint-plugin-react-naming-convention": "^1.52.3",
|
|
67
|
+
"eslint-plugin-react-web-api": "^1.52.3",
|
|
68
|
+
"eslint-plugin-react-x": "^1.52.3",
|
|
69
|
+
"globals": "^16.3.0",
|
|
70
|
+
"jsonc-eslint-parser": "^2.4.0",
|
|
71
|
+
"typescript-eslint": "^8.38.0"
|
|
72
|
+
},
|
|
73
|
+
"peerDependenciesMeta": {
|
|
74
|
+
"eslint-config-flat-gitignore": {
|
|
75
|
+
"optional": true
|
|
76
|
+
},
|
|
77
|
+
"eslint-plugin-react-debug": {
|
|
78
|
+
"optional": true
|
|
79
|
+
},
|
|
80
|
+
"eslint-plugin-react-dom": {
|
|
81
|
+
"optional": true
|
|
82
|
+
},
|
|
83
|
+
"eslint-plugin-react-hooks-extra": {
|
|
84
|
+
"optional": true
|
|
85
|
+
},
|
|
86
|
+
"eslint-plugin-react-naming-convention": {
|
|
87
|
+
"optional": true
|
|
88
|
+
},
|
|
89
|
+
"eslint-plugin-react-web-api": {
|
|
90
|
+
"optional": true
|
|
91
|
+
},
|
|
92
|
+
"eslint-plugin-react-x": {
|
|
93
|
+
"optional": true
|
|
94
|
+
},
|
|
95
|
+
"typescript-eslint": {
|
|
96
|
+
"optional": true
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"dependencies": {
|
|
100
|
+
"jsonc-parser": "^3.3.1"
|
|
101
|
+
},
|
|
102
|
+
"devDependencies": {
|
|
103
|
+
"@changesets/cli": "^3.0.2",
|
|
104
|
+
"@commitlint/cli": "^19.8.1",
|
|
105
|
+
"@commitlint/config-conventional": "^19.8.1",
|
|
106
|
+
"@commitlint/types": "^19.8.1",
|
|
107
|
+
"@eslint/js": "^9.32.0",
|
|
108
|
+
"@rollup/plugin-commonjs": "^28.0.6",
|
|
109
|
+
"@rollup/plugin-node-resolve": "^16.0.1",
|
|
110
|
+
"@rollup/plugin-typescript": "^12.1.4",
|
|
111
|
+
"@stylistic/eslint-plugin": "^5.2.2",
|
|
112
|
+
"@types/node": "^24.1.0",
|
|
113
|
+
"eslint": "^9.32.0",
|
|
114
|
+
"eslint-config-flat-gitignore": "^2.1.0",
|
|
115
|
+
"eslint-plugin-import": "^2.32.0",
|
|
116
|
+
"eslint-plugin-jsonc": "^2.20.1",
|
|
117
|
+
"eslint-plugin-react-debug": "^1.52.3",
|
|
118
|
+
"eslint-plugin-react-dom": "^1.52.3",
|
|
119
|
+
"eslint-plugin-react-hooks-extra": "^1.52.3",
|
|
120
|
+
"eslint-plugin-react-naming-convention": "^1.52.3",
|
|
121
|
+
"eslint-plugin-react-web-api": "^1.52.3",
|
|
122
|
+
"eslint-plugin-react-x": "^1.52.3",
|
|
123
|
+
"eslint-typegen": "^2.3.0",
|
|
124
|
+
"globals": "^16.3.0",
|
|
125
|
+
"husky": "^9.1.7",
|
|
126
|
+
"jiti": "^2.5.1",
|
|
127
|
+
"jsonc-eslint-parser": "^2.4.0",
|
|
128
|
+
"rimraf": "^6.0.1",
|
|
129
|
+
"rollup": "^4.46.2",
|
|
130
|
+
"rollup-plugin-dts": "^6.2.1",
|
|
131
|
+
"tslib": "^2.8.1",
|
|
132
|
+
"tsx": "^4.20.3",
|
|
133
|
+
"typescript": "^5.8.3",
|
|
134
|
+
"typescript-eslint": "^8.38.0"
|
|
135
|
+
}
|
|
136
|
+
}
|