mwts 2.0.0 → 2.0.2
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 +8 -1
- package/dist/src/cli.js +41 -10
- package/dist/src/cli.js.map +1 -1
- package/dist/src/init.d.ts +0 -1
- package/dist/src/init.js +13 -51
- package/dist/src/init.js.map +1 -1
- package/dist/src/migrate.d.ts +2 -0
- package/dist/src/migrate.js +97 -0
- package/dist/src/migrate.js.map +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -26,6 +26,12 @@ npx mwts init
|
|
|
26
26
|
Use `--formatter stylistic` to opt into `ESLint + Stylistic` instead of the default `Prettier + ESLint`.
|
|
27
27
|
Use `--formatter biome` to use Biome as formatter while keeping mwts lint/check commands.
|
|
28
28
|
|
|
29
|
+
For legacy mwts 1.x projects, run:
|
|
30
|
+
|
|
31
|
+
```sh
|
|
32
|
+
npx mwts migrate
|
|
33
|
+
```
|
|
34
|
+
|
|
29
35
|
## How it works
|
|
30
36
|
When you run the `npx mwts init` command, it's going to do a few things for you:
|
|
31
37
|
- Adds an opinionated `tsconfig.json` file to your project that uses the MidwayJS TypeScript Style.
|
|
@@ -111,11 +117,12 @@ Show your love for `mwts` and include a badge!
|
|
|
111
117
|
- Upgrade runtime/tooling baseline:
|
|
112
118
|
- Node.js >= 20
|
|
113
119
|
- TypeScript >= 5
|
|
114
|
-
- `mwts init` now generates `eslint.config.js`
|
|
120
|
+
- `mwts init` now generates `eslint.config.js` (flat config), instead of `.eslintrc.json` / `.eslintignore`.
|
|
115
121
|
- Default formatter mode stays `Prettier + ESLint`.
|
|
116
122
|
- Optional formatter mode: `mwts init --formatter stylistic`.
|
|
117
123
|
- Optional formatter mode: `mwts init --formatter biome`.
|
|
118
124
|
- `mwts lint/check/fix` support per-file arguments and can run without `mwts init` by falling back to mwts built-in config.
|
|
125
|
+
- You can run `mwts migrate` once to generate a flat `eslint.config.js` from legacy `.eslintrc.json`.
|
|
119
126
|
|
|
120
127
|
## License
|
|
121
128
|
[Apache-2.0](LICENSE)
|
package/dist/src/cli.js
CHANGED
|
@@ -10,6 +10,7 @@ const path = require("path");
|
|
|
10
10
|
const meow = require("meow");
|
|
11
11
|
const init_1 = require("./init");
|
|
12
12
|
const clean_1 = require("./clean");
|
|
13
|
+
const migrate_1 = require("./migrate");
|
|
13
14
|
const util_1 = require("./util");
|
|
14
15
|
const execa = require("execa");
|
|
15
16
|
const packageJson = require('../../package.json');
|
|
@@ -26,6 +27,7 @@ const cli = meow({
|
|
|
26
27
|
check Alias for lint. Kept for backward compatibility.
|
|
27
28
|
fix Fixes formatting and linting issues (if possible).
|
|
28
29
|
clean Removes all files generated by the build.
|
|
30
|
+
migrate Migrates legacy mwts/eslintrc setup to flat config.
|
|
29
31
|
|
|
30
32
|
Options
|
|
31
33
|
--help Prints this help message.
|
|
@@ -40,6 +42,7 @@ const cli = meow({
|
|
|
40
42
|
$ mwts lint
|
|
41
43
|
$ mwts fix
|
|
42
44
|
$ mwts fix src/file1.ts src/file2.ts
|
|
45
|
+
$ mwts migrate
|
|
43
46
|
$ mwts clean`,
|
|
44
47
|
flags: {
|
|
45
48
|
help: { type: 'boolean' },
|
|
@@ -66,6 +69,10 @@ function getPrettierVersion() {
|
|
|
66
69
|
const packageJson = (0, util_1.readJSON)(require.resolve('prettier/package.json'));
|
|
67
70
|
return packageJson.version;
|
|
68
71
|
}
|
|
72
|
+
function getEslintBinPath() {
|
|
73
|
+
const eslintPackageJsonPath = require.resolve('eslint/package.json');
|
|
74
|
+
return path.join(path.dirname(eslintPackageJsonPath), 'bin', 'eslint.js');
|
|
75
|
+
}
|
|
69
76
|
function parseFormatterMode(value) {
|
|
70
77
|
if (value === null || value === undefined) {
|
|
71
78
|
return undefined;
|
|
@@ -84,10 +91,26 @@ function usage(msg) {
|
|
|
84
91
|
}
|
|
85
92
|
cli.showHelp(1);
|
|
86
93
|
}
|
|
87
|
-
function
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
94
|
+
function findNearestEslintConfig(targetRootDir) {
|
|
95
|
+
const configNames = [
|
|
96
|
+
'eslint.config.js',
|
|
97
|
+
'eslint.config.cjs',
|
|
98
|
+
'eslint.config.mjs',
|
|
99
|
+
];
|
|
100
|
+
let currentDir = path.resolve(targetRootDir);
|
|
101
|
+
while (true) {
|
|
102
|
+
for (const configName of configNames) {
|
|
103
|
+
const configPath = path.join(currentDir, configName);
|
|
104
|
+
if (fs.existsSync(configPath)) {
|
|
105
|
+
return configPath;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
const parentDir = path.dirname(currentDir);
|
|
109
|
+
if (parentDir === currentDir) {
|
|
110
|
+
return undefined;
|
|
111
|
+
}
|
|
112
|
+
currentDir = parentDir;
|
|
113
|
+
}
|
|
91
114
|
}
|
|
92
115
|
async function run(verb, files) {
|
|
93
116
|
// throw if running on an old version of nodejs
|
|
@@ -125,11 +148,14 @@ async function run(verb, files) {
|
|
|
125
148
|
case 'lint':
|
|
126
149
|
case 'check': {
|
|
127
150
|
const eslintFlags = [...flags];
|
|
128
|
-
|
|
129
|
-
|
|
151
|
+
const resolvedEslintConfig = findNearestEslintConfig(options.targetRootDir) ||
|
|
152
|
+
path.join(options.mwtsRootDir, 'eslint.config.js');
|
|
153
|
+
const eslintBinPath = getEslintBinPath();
|
|
154
|
+
if (resolvedEslintConfig) {
|
|
155
|
+
eslintFlags.unshift('--config', resolvedEslintConfig);
|
|
130
156
|
}
|
|
131
157
|
try {
|
|
132
|
-
await execa('
|
|
158
|
+
await execa('node', [eslintBinPath, ...eslintFlags], {
|
|
133
159
|
stdio: 'inherit',
|
|
134
160
|
});
|
|
135
161
|
return true;
|
|
@@ -155,11 +181,14 @@ async function run(verb, files) {
|
|
|
155
181
|
}
|
|
156
182
|
const fixFlag = options.dryRun ? '--fix-dry-run' : '--fix';
|
|
157
183
|
const eslintFlags = [fixFlag, ...flags];
|
|
158
|
-
|
|
159
|
-
|
|
184
|
+
const resolvedEslintConfig = findNearestEslintConfig(options.targetRootDir) ||
|
|
185
|
+
path.join(options.mwtsRootDir, 'eslint.config.js');
|
|
186
|
+
const eslintBinPath = getEslintBinPath();
|
|
187
|
+
if (resolvedEslintConfig) {
|
|
188
|
+
eslintFlags.unshift('--config', resolvedEslintConfig);
|
|
160
189
|
}
|
|
161
190
|
try {
|
|
162
|
-
await execa('
|
|
191
|
+
await execa('node', [eslintBinPath, ...eslintFlags], {
|
|
163
192
|
stdio: 'inherit',
|
|
164
193
|
});
|
|
165
194
|
return true;
|
|
@@ -171,6 +200,8 @@ async function run(verb, files) {
|
|
|
171
200
|
}
|
|
172
201
|
case 'clean':
|
|
173
202
|
return (0, clean_1.clean)(options);
|
|
203
|
+
case 'migrate':
|
|
204
|
+
return (0, migrate_1.migrate)(options);
|
|
174
205
|
default:
|
|
175
206
|
usage(`Unknown verb: ${verb}`);
|
|
176
207
|
return false;
|
package/dist/src/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/src/init.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Options } from './cli';
|
|
2
2
|
import { PackageJSON as PackageJson } from '@npm/types';
|
|
3
|
-
export declare const ESLINT_IGNORE = "module.exports = ['dist/', '**/node_modules/']\n";
|
|
4
3
|
export declare function addScripts(packageJson: PackageJson, options: Options): Promise<boolean>;
|
|
5
4
|
export declare function addDependencies(packageJson: PackageJson, options: Options): Promise<boolean>;
|
|
6
5
|
export declare function installDefaultTemplate(options: Options): Promise<boolean>;
|
package/dist/src/init.js
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ESLINT_IGNORE = void 0;
|
|
4
3
|
exports.addScripts = addScripts;
|
|
5
4
|
exports.addDependencies = addDependencies;
|
|
6
5
|
exports.installDefaultTemplate = installDefaultTemplate;
|
|
@@ -26,40 +25,19 @@ const DEFAULT_PACKAGE_JSON = {
|
|
|
26
25
|
keywords: [],
|
|
27
26
|
scripts: { test: 'echo "Error: no test specified" && exit 1' },
|
|
28
27
|
};
|
|
29
|
-
const ESLINT_CONFIG = `
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
// eslint.ignores.js doesn't exist
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
if (hasIgnoresFile) {
|
|
39
|
-
const ignores = require('./eslint.ignores.js');
|
|
40
|
-
customConfig = [{ ignores }];
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
module.exports = [...customConfig, ...require('mwts')];
|
|
28
|
+
const ESLINT_CONFIG = `module.exports = [
|
|
29
|
+
{
|
|
30
|
+
ignores: ['dist/', '**/node_modules/'],
|
|
31
|
+
},
|
|
32
|
+
...require('mwts'),
|
|
33
|
+
];
|
|
44
34
|
`;
|
|
45
35
|
const ESLINT_STYLISTIC_CONFIG = `const stylistic = require('@stylistic/eslint-plugin');
|
|
46
36
|
|
|
47
|
-
let customConfig = [];
|
|
48
|
-
let hasIgnoresFile = false;
|
|
49
|
-
try {
|
|
50
|
-
require.resolve('./eslint.ignores.js');
|
|
51
|
-
hasIgnoresFile = true;
|
|
52
|
-
} catch {
|
|
53
|
-
// eslint.ignores.js doesn't exist
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
if (hasIgnoresFile) {
|
|
57
|
-
const ignores = require('./eslint.ignores.js');
|
|
58
|
-
customConfig = [{ ignores }];
|
|
59
|
-
}
|
|
60
|
-
|
|
61
37
|
module.exports = [
|
|
62
|
-
|
|
38
|
+
{
|
|
39
|
+
ignores: ['dist/', '**/node_modules/'],
|
|
40
|
+
},
|
|
63
41
|
...require('mwts'),
|
|
64
42
|
{
|
|
65
43
|
plugins: {
|
|
@@ -76,22 +54,11 @@ module.exports = [
|
|
|
76
54
|
},
|
|
77
55
|
];
|
|
78
56
|
`;
|
|
79
|
-
const ESLINT_BIOME_CONFIG = `
|
|
80
|
-
let hasIgnoresFile = false;
|
|
81
|
-
try {
|
|
82
|
-
require.resolve('./eslint.ignores.js');
|
|
83
|
-
hasIgnoresFile = true;
|
|
84
|
-
} catch {
|
|
85
|
-
// eslint.ignores.js doesn't exist
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
if (hasIgnoresFile) {
|
|
89
|
-
const ignores = require('./eslint.ignores.js');
|
|
90
|
-
customConfig = [{ ignores }];
|
|
91
|
-
}
|
|
92
|
-
|
|
57
|
+
const ESLINT_BIOME_CONFIG = `
|
|
93
58
|
module.exports = [
|
|
94
|
-
|
|
59
|
+
{
|
|
60
|
+
ignores: ['dist/', '**/node_modules/'],
|
|
61
|
+
},
|
|
95
62
|
...require('mwts'),
|
|
96
63
|
{
|
|
97
64
|
rules: {
|
|
@@ -118,7 +85,6 @@ const BIOME_CONFIG = `{
|
|
|
118
85
|
}
|
|
119
86
|
}
|
|
120
87
|
`;
|
|
121
|
-
exports.ESLINT_IGNORE = "module.exports = ['dist/', '**/node_modules/']\n";
|
|
122
88
|
function getFormatterMode(options) {
|
|
123
89
|
return options.formatterMode || 'prettier';
|
|
124
90
|
}
|
|
@@ -291,9 +257,6 @@ async function generateESLintConfig(options) {
|
|
|
291
257
|
: ESLINT_CONFIG;
|
|
292
258
|
return generateConfigFile(options, './eslint.config.js', config);
|
|
293
259
|
}
|
|
294
|
-
async function generateESLintIgnore(options) {
|
|
295
|
-
return generateConfigFile(options, './eslint.ignores.js', exports.ESLINT_IGNORE);
|
|
296
|
-
}
|
|
297
260
|
async function generateTsConfig(options) {
|
|
298
261
|
const config = formatJson({
|
|
299
262
|
extends: './node_modules/mwts/tsconfig-midway.json',
|
|
@@ -379,7 +342,6 @@ async function init(options) {
|
|
|
379
342
|
await Promise.all([
|
|
380
343
|
generateTsConfig(options),
|
|
381
344
|
generateESLintConfig(options),
|
|
382
|
-
generateESLintIgnore(options),
|
|
383
345
|
generatePrettierConfig(options),
|
|
384
346
|
generateBiomeConfig(options),
|
|
385
347
|
]);
|
package/dist/src/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrate = migrate;
|
|
4
|
+
const fs = require("fs");
|
|
5
|
+
const path = require("path");
|
|
6
|
+
const util_1 = require("./util");
|
|
7
|
+
const DEFAULT_ESLINT_IGNORES = ['dist/', '**/node_modules/'];
|
|
8
|
+
function parseIgnorePatterns(contents) {
|
|
9
|
+
return contents
|
|
10
|
+
.split(/\r?\n/u)
|
|
11
|
+
.map(line => line.trim())
|
|
12
|
+
.filter(line => line && !line.startsWith('#'));
|
|
13
|
+
}
|
|
14
|
+
function formatIgnoreConfig(patterns) {
|
|
15
|
+
const escaped = patterns.map(pattern => `'${pattern.replace(/'/gu, "\\'")}'`);
|
|
16
|
+
return `module.exports = [${escaped.join(', ')}]\n`;
|
|
17
|
+
}
|
|
18
|
+
function buildMigratedEslintConfig(ignorePatterns) {
|
|
19
|
+
const ignoreList = formatIgnoreConfig(ignorePatterns).replace(/^module\.exports = /u, '');
|
|
20
|
+
return `const mwtsConfig = require('mwts/eslint.config.js');
|
|
21
|
+
|
|
22
|
+
const compatConfig = mwtsConfig.map(config => {
|
|
23
|
+
const parserOptions = config?.languageOptions?.parserOptions;
|
|
24
|
+
if (!parserOptions) {
|
|
25
|
+
return config;
|
|
26
|
+
}
|
|
27
|
+
const { project, projectService, ...nextParserOptions } = parserOptions;
|
|
28
|
+
|
|
29
|
+
return {
|
|
30
|
+
...config,
|
|
31
|
+
languageOptions: {
|
|
32
|
+
...config.languageOptions,
|
|
33
|
+
parserOptions: nextParserOptions,
|
|
34
|
+
},
|
|
35
|
+
};
|
|
36
|
+
});
|
|
37
|
+
|
|
38
|
+
module.exports = [
|
|
39
|
+
{
|
|
40
|
+
ignores: ${ignoreList.trim()},
|
|
41
|
+
},
|
|
42
|
+
...compatConfig,
|
|
43
|
+
{
|
|
44
|
+
rules: {
|
|
45
|
+
'@typescript-eslint/no-floating-promises': 'off',
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
`;
|
|
50
|
+
}
|
|
51
|
+
async function migrate(options) {
|
|
52
|
+
const root = options.targetRootDir;
|
|
53
|
+
const eslintConfigCandidates = [
|
|
54
|
+
'eslint.config.js',
|
|
55
|
+
'eslint.config.cjs',
|
|
56
|
+
'eslint.config.mjs',
|
|
57
|
+
];
|
|
58
|
+
const hasFlatConfig = eslintConfigCandidates.some(candidate => fs.existsSync(path.join(root, candidate)));
|
|
59
|
+
if (hasFlatConfig) {
|
|
60
|
+
options.logger.log('Detected existing eslint.config.*; skip migration.');
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
const legacyEslintConfig = path.join(root, '.eslintrc.json');
|
|
64
|
+
const legacyEslintIgnore = path.join(root, '.eslintignore');
|
|
65
|
+
const targetEslintConfig = path.join(root, 'eslint.config.js');
|
|
66
|
+
if (!fs.existsSync(legacyEslintConfig)) {
|
|
67
|
+
options.logger.log('No .eslintrc.json found. Nothing to migrate in current directory.');
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
try {
|
|
71
|
+
let ignorePatterns = DEFAULT_ESLINT_IGNORES;
|
|
72
|
+
if (fs.existsSync(legacyEslintIgnore)) {
|
|
73
|
+
const parsedIgnorePatterns = parseIgnorePatterns(fs.readFileSync(legacyEslintIgnore, 'utf8'));
|
|
74
|
+
if (parsedIgnorePatterns.length > 0) {
|
|
75
|
+
ignorePatterns = parsedIgnorePatterns;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
options.logger.log('Writing eslint.config.js...');
|
|
79
|
+
if (!options.dryRun) {
|
|
80
|
+
fs.writeFileSync(targetEslintConfig, buildMigratedEslintConfig(ignorePatterns), 'utf8');
|
|
81
|
+
}
|
|
82
|
+
options.logger.log('Backing up legacy ESLint files...');
|
|
83
|
+
if (!options.dryRun) {
|
|
84
|
+
fs.renameSync(legacyEslintConfig, `${legacyEslintConfig}.bak`);
|
|
85
|
+
if (fs.existsSync(legacyEslintIgnore)) {
|
|
86
|
+
fs.renameSync(legacyEslintIgnore, `${legacyEslintIgnore}.bak`);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return true;
|
|
90
|
+
}
|
|
91
|
+
catch (exc) {
|
|
92
|
+
const err = (0, util_1.safeError)(exc);
|
|
93
|
+
options.logger.error(`Migration failed: ${err.message}`);
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
//# sourceMappingURL=migrate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/migrate.ts"],"names":[],"mappings":"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"}
|