mwts 1.3.0 → 2.0.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/dist/src/init.js CHANGED
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.init = exports.installDefaultTemplate = exports.ESLINT_IGNORE = exports.ESLINT_CONFIG = exports.addDependencies = exports.addScripts = void 0;
3
+ exports.addScripts = addScripts;
4
+ exports.addDependencies = addDependencies;
5
+ exports.installDefaultTemplate = installDefaultTemplate;
6
+ exports.init = init;
4
7
  const cp = require("child_process");
5
8
  const fs = require("fs");
6
9
  const inquirer = require("inquirer");
@@ -9,7 +12,6 @@ const ncp_1 = require("ncp");
9
12
  const util = require("util");
10
13
  const util_1 = require("./util");
11
14
  const chalk = require("chalk");
12
- // eslint-disable-next-line @typescript-eslint/no-var-requires
13
15
  const pkg = require('../../package.json');
14
16
  const ncpp = util.promisify(ncp_1.ncp);
15
17
  const DEFAULT_PACKAGE_JSON = {
@@ -23,6 +25,69 @@ const DEFAULT_PACKAGE_JSON = {
23
25
  keywords: [],
24
26
  scripts: { test: 'echo "Error: no test specified" && exit 1' },
25
27
  };
28
+ const ESLINT_CONFIG = `module.exports = [
29
+ {
30
+ ignores: ['dist/', '**/node_modules/'],
31
+ },
32
+ ...require('mwts'),
33
+ ];
34
+ `;
35
+ const ESLINT_STYLISTIC_CONFIG = `const stylistic = require('@stylistic/eslint-plugin');
36
+
37
+ module.exports = [
38
+ {
39
+ ignores: ['dist/', '**/node_modules/'],
40
+ },
41
+ ...require('mwts'),
42
+ {
43
+ plugins: {
44
+ '@stylistic': stylistic,
45
+ },
46
+ rules: {
47
+ 'prettier/prettier': 'off',
48
+ '@stylistic/semi': ['error', 'always'],
49
+ '@stylistic/quotes': ['warn', 'single', { avoidEscape: true }],
50
+ '@stylistic/comma-dangle': ['error', 'always-multiline'],
51
+ '@stylistic/arrow-parens': ['error', 'as-needed'],
52
+ '@stylistic/object-curly-spacing': ['error', 'always'],
53
+ },
54
+ },
55
+ ];
56
+ `;
57
+ const ESLINT_BIOME_CONFIG = `
58
+ module.exports = [
59
+ {
60
+ ignores: ['dist/', '**/node_modules/'],
61
+ },
62
+ ...require('mwts'),
63
+ {
64
+ rules: {
65
+ 'prettier/prettier': 'off',
66
+ },
67
+ },
68
+ ];
69
+ `;
70
+ const BIOME_CONFIG = `{
71
+ "$schema": "https://biomejs.dev/schemas/1.9.4/schema.json",
72
+ "formatter": {
73
+ "enabled": true,
74
+ "indentStyle": "space",
75
+ "indentWidth": 2,
76
+ "lineWidth": 80
77
+ },
78
+ "javascript": {
79
+ "formatter": {
80
+ "quoteStyle": "single",
81
+ "trailingCommas": "es5",
82
+ "semicolons": "always",
83
+ "arrowParentheses": "asNeeded"
84
+ }
85
+ }
86
+ }
87
+ `;
88
+ function getFormatterMode(options) {
89
+ return options.formatterMode || 'prettier';
90
+ }
26
91
  async function query(message, question, defaultVal, options) {
27
92
  if (options.yes) {
28
93
  return true;
@@ -67,7 +132,6 @@ async function addScripts(packageJson, options) {
67
132
  install = await query(message, 'Replace', false, options);
68
133
  }
69
134
  if (install) {
70
- // eslint-disable-next-line require-atomic-updates
71
135
  packageJson.scripts[script] = scripts[script];
72
136
  edits = true;
73
137
  }
@@ -75,7 +139,6 @@ async function addScripts(packageJson, options) {
75
139
  }
76
140
  return edits;
77
141
  }
78
- exports.addScripts = addScripts;
79
142
  async function addDependencies(packageJson, options) {
80
143
  let edits = false;
81
144
  const deps = {
@@ -97,15 +160,47 @@ async function addDependencies(packageJson, options) {
97
160
  install = await query(message, 'Overwrite', false, options);
98
161
  }
99
162
  if (install) {
100
- // eslint-disable-next-line require-atomic-updates
101
163
  packageJson.devDependencies[dep] = deps[dep];
102
164
  edits = true;
103
165
  }
104
166
  }
105
167
  }
168
+ if (getFormatterMode(options) === 'stylistic') {
169
+ const dep = '@stylistic/eslint-plugin';
170
+ const target = '^5.5.0';
171
+ let install = true;
172
+ const existing = packageJson.devDependencies[dep];
173
+ if (existing !== target) {
174
+ if (existing) {
175
+ const message = `Already have devDependency for ${chalk.bold(dep)}:\n` +
176
+ `-${chalk.red(existing)}\n+${chalk.green(target)}`;
177
+ install = await query(message, 'Overwrite', false, options);
178
+ }
179
+ if (install) {
180
+ packageJson.devDependencies[dep] = target;
181
+ edits = true;
182
+ }
183
+ }
184
+ }
185
+ if (getFormatterMode(options) === 'biome') {
186
+ const dep = '@biomejs/biome';
187
+ const target = '^1.9.4';
188
+ let install = true;
189
+ const existing = packageJson.devDependencies[dep];
190
+ if (existing !== target) {
191
+ if (existing) {
192
+ const message = `Already have devDependency for ${chalk.bold(dep)}:\n` +
193
+ `-${chalk.red(existing)}\n+${chalk.green(target)}`;
194
+ install = await query(message, 'Overwrite', false, options);
195
+ }
196
+ if (install) {
197
+ packageJson.devDependencies[dep] = target;
198
+ edits = true;
199
+ }
200
+ }
201
+ }
106
202
  return edits;
107
203
  }
108
- exports.addDependencies = addDependencies;
109
204
  function formatJson(object) {
110
205
  const json = JSON.stringify(object, null, ' ');
111
206
  return `${json}\n`;
@@ -121,10 +216,6 @@ async function writePackageJson(packageJson, options) {
121
216
  };
122
217
  options.logger.dir(preview);
123
218
  }
124
- exports.ESLINT_CONFIG = {
125
- extends: './node_modules/mwts/',
126
- };
127
- exports.ESLINT_IGNORE = 'dist/\n';
128
219
  async function generateConfigFile(options, filename, contents) {
129
220
  let existing;
130
221
  try {
@@ -136,7 +227,9 @@ async function generateConfigFile(options, filename, contents) {
136
227
  /* not found, create it. */
137
228
  }
138
229
  else {
139
- throw new Error(`Unknown error reading ${filename}: ${err.message}`);
230
+ throw new Error(`Unknown error reading ${filename}: ${err.message}`, {
231
+ cause: exc,
232
+ });
140
233
  }
141
234
  }
142
235
  let writeFile = true;
@@ -156,10 +249,13 @@ async function generateConfigFile(options, filename, contents) {
156
249
  }
157
250
  }
158
251
  async function generateESLintConfig(options) {
159
- return generateConfigFile(options, './.eslintrc.json', formatJson(exports.ESLINT_CONFIG));
160
- }
161
- async function generateESLintIgnore(options) {
162
- return generateConfigFile(options, './.eslintignore', exports.ESLINT_IGNORE);
252
+ const formatterMode = getFormatterMode(options);
253
+ const config = formatterMode === 'stylistic'
254
+ ? ESLINT_STYLISTIC_CONFIG
255
+ : formatterMode === 'biome'
256
+ ? ESLINT_BIOME_CONFIG
257
+ : ESLINT_CONFIG;
258
+ return generateConfigFile(options, './eslint.config.js', config);
163
259
  }
164
260
  async function generateTsConfig(options) {
165
261
  const config = formatJson({
@@ -170,12 +266,22 @@ async function generateTsConfig(options) {
170
266
  return generateConfigFile(options, './tsconfig.json', config);
171
267
  }
172
268
  async function generatePrettierConfig(options) {
269
+ if (getFormatterMode(options) === 'stylistic' ||
270
+ getFormatterMode(options) === 'biome') {
271
+ return;
272
+ }
173
273
  const style = `module.exports = {
174
- ...require('mwts/.prettierrc.json')
175
- }
274
+ ...require('mwts/.prettierrc.json'),
275
+ };
176
276
  `;
177
277
  return generateConfigFile(options, './.prettierrc.js', style);
178
278
  }
279
+ async function generateBiomeConfig(options) {
280
+ if (getFormatterMode(options) !== 'biome') {
281
+ return;
282
+ }
283
+ return generateConfigFile(options, './biome.json', BIOME_CONFIG + '\n');
284
+ }
179
285
  async function installDefaultTemplate(options) {
180
286
  const cwd = process.cwd();
181
287
  const sourceDirName = path.join(__dirname, '../template');
@@ -202,7 +308,6 @@ async function installDefaultTemplate(options) {
202
308
  options.logger.log('Default template installed.');
203
309
  return true;
204
310
  }
205
- exports.installDefaultTemplate = installDefaultTemplate;
206
311
  async function init(options) {
207
312
  let generatedPackageJson = false;
208
313
  let packageJson;
@@ -212,7 +317,9 @@ async function init(options) {
212
317
  catch (exc) {
213
318
  const err = (0, util_1.safeError)(exc);
214
319
  if (err.code !== 'ENOENT') {
215
- throw new Error(`Unable to open package.json file: ${err.message}`);
320
+ throw new Error(`Unable to open package.json file: ${err.message}`, {
321
+ cause: exc,
322
+ });
216
323
  }
217
324
  const generate = await query(`${chalk.bold('package.json')} does not exist.`, 'Generate', true, options);
218
325
  if (!generate) {
@@ -222,18 +329,22 @@ async function init(options) {
222
329
  packageJson = DEFAULT_PACKAGE_JSON;
223
330
  generatedPackageJson = true;
224
331
  }
225
- const addedDeps = await addDependencies(packageJson, options);
226
- const addedScripts = await addScripts(packageJson, options);
332
+ const [addedDeps, addedScripts] = await Promise.all([
333
+ addDependencies(packageJson, options),
334
+ addScripts(packageJson, options),
335
+ ]);
227
336
  if (generatedPackageJson || addedDeps || addedScripts) {
228
337
  await writePackageJson(packageJson, options);
229
338
  }
230
339
  else {
231
340
  options.logger.log('No edits needed in package.json.');
232
341
  }
233
- await generateTsConfig(options);
234
- await generateESLintConfig(options);
235
- await generateESLintIgnore(options);
236
- await generatePrettierConfig(options);
342
+ await Promise.all([
343
+ generateTsConfig(options),
344
+ generateESLintConfig(options),
345
+ generatePrettierConfig(options),
346
+ generateBiomeConfig(options),
347
+ ]);
237
348
  await installDefaultTemplate(options);
238
349
  // Run `npm install` after initial setup so `npm run lint` works right away.
239
350
  if (!options.dryRun) {
@@ -243,5 +354,4 @@ async function init(options) {
243
354
  }
244
355
  return true;
245
356
  }
246
- exports.init = init;
247
357
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init.ts"],"names":[],"mappings":";;AAkIA,gCAwCC;AAED,0CA0EC;AAwGD,wDA8BC;AAED,oBA0DC;AAxbD,oCAAoC;AACpC,yBAAyB;AACzB,qCAAqC;AACrC,6BAA6B;AAC7B,6BAA0B;AAC1B,6BAA6B;AAE7B,iCAQgB;AAIhB,+BAAgC;AAEhC,MAAM,GAAG,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;AAE1C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,SAAG,CAAC,CAAC;AAEjC,MAAM,oBAAoB,GAAgB;IACxC,IAAI,EAAE,EAAE;IACR,OAAO,EAAE,OAAO;IAChB,WAAW,EAAE,EAAE;IACf,IAAI,EAAE,mBAAmB;IACzB,KAAK,EAAE,qBAAqB;IAC5B,KAAK,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,YAAY;IACrB,QAAQ,EAAE,EAAE;IACZ,OAAO,EAAE,EAAE,IAAI,EAAE,2CAA2C,EAAE;CAC/D,CAAC;AAEF,MAAM,aAAa,GAAG;;;;;;CAMrB,CAAC;AAEF,MAAM,uBAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;CAqB/B,CAAC;AAEF,MAAM,mBAAmB,GAAG;;;;;;;;;;;;CAY3B,CAAC;AAEF,MAAM,YAAY,GAAG;;;;;;;;;;;;;;;;;CAiBpB,CAAC;AAEF,SAAS,gBAAgB,CAAC,OAAgB;IACxC,OAAO,OAAO,CAAC,aAAa,IAAI,UAAU,CAAC;AAC7C,CAAC;AAED,KAAK,UAAU,KAAK,CAClB,OAAe,EACf,QAAgB,EAChB,UAAmB,EACnB,OAAgB;IAEhB,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IAAI,OAAO,CAAC,EAAE,EAAE,CAAC;QACtB,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,OAAO,GAAqB,MAAM,QAAQ,CAAC,MAAM,CAAC;QACtD,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,QAAQ;QACjB,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC;AAEM,KAAK,UAAU,UAAU,CAC9B,WAAwB,EACxB,OAAgB;IAEhB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,UAAU,GAAG,IAAA,2BAAoB,EAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,MAAM,OAAO,GAAgB;QAC3B,IAAI,EAAE,WAAW;QACjB,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,UAAU;QACf,OAAO,EAAE,GAAG,UAAU,YAAY;QAClC,OAAO,EAAE,GAAG,UAAU,YAAY;QAClC,QAAQ,EAAE,GAAG,UAAU,WAAW;KACnC,CAAC;IAEF,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,WAAW,CAAC,OAAO,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1C,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;QAE/B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,OAAO,GACX,yCAAyC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK;oBAChE,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC5D,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;gBAC9C,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAEM,KAAK,UAAU,eAAe,CACnC,WAAwB,EACxB,OAAgB;IAEhB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,MAAM,IAAI,GAAmB;QAC3B,IAAI,EAAE,IAAI,GAAG,CAAC,OAAO,EAAE;QACvB,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC,UAAU;QAC1C,aAAa,EAAE,GAAG,CAAC,eAAe,CAAC,aAAa,CAAC;KAClD,CAAC;IAEF,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC;QACjC,WAAW,CAAC,eAAe,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;QAEzB,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,OAAO,GACX,kCAAkC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;oBACtD,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9D,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC7C,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,WAAW,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,0BAA0B,CAAC;QACvC,MAAM,MAAM,GAAG,QAAQ,CAAC;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,OAAO,GACX,kCAAkC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;oBACtD,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;gBAC1C,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,gBAAgB,CAAC;QAC7B,MAAM,MAAM,GAAG,QAAQ,CAAC;QACxB,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,MAAM,QAAQ,GAAG,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAClD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,OAAO,GACX,kCAAkC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK;oBACtD,IAAI,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;gBACrD,OAAO,GAAG,MAAM,KAAK,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACZ,WAAW,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;gBAC1C,KAAK,GAAG,IAAI,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,UAAU,CAAC,MAAe;IACjC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAChD,OAAO,GAAG,IAAI,IAAI,CAAC;AACrB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,WAAwB,EACxB,OAAgB;IAEhB,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAA,uBAAK,EAAC,gBAAgB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;IACzD,CAAC;IACD,MAAM,OAAO,GAAG;QACd,OAAO,EAAE,WAAW,CAAC,OAAO;QAC5B,eAAe,EAAE,WAAW,CAAC,eAAe;KAC7C,CAAC;IACF,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,kBAAkB,CAC/B,OAAgB,EAChB,QAAgB,EAChB,QAAgB;IAEhB,IAAI,QAAQ,CAAC;IACb,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,IAAA,gBAAI,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAA,gBAAS,EAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,2BAA2B;QAC7B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,EAAE;gBACnE,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,SAAS,GAAG,IAAI,CAAC;IACrB,IAAI,QAAQ,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;QACrD,OAAO;IACT,CAAC;SAAM,IAAI,QAAQ,EAAE,CAAC;QACpB,SAAS,GAAG,MAAM,KAAK,CACrB,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EACxC,WAAW,EACX,KAAK,EACL,OAAO,CACR,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,QAAQ,KAAK,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,IAAA,uBAAK,EAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAAgB;IAClD,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,MAAM,GACV,aAAa,KAAK,WAAW;QAC3B,CAAC,CAAC,uBAAuB;QACzB,CAAC,CAAC,aAAa,KAAK,OAAO;YACzB,CAAC,CAAC,mBAAmB;YACrB,CAAC,CAAC,aAAa,CAAC;IACtB,OAAO,kBAAkB,CAAC,OAAO,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAAC;AACnE,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAgB;IAC9C,MAAM,MAAM,GAAG,UAAU,CAAC;QACxB,OAAO,EAAE,0CAA0C;QACnD,eAAe,EAAE,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE;QACjD,OAAO,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;KACzC,CAAC,CAAC;IACH,OAAO,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,sBAAsB,CAAC,OAAgB;IACpD,IACE,gBAAgB,CAAC,OAAO,CAAC,KAAK,WAAW;QACzC,gBAAgB,CAAC,OAAO,CAAC,KAAK,OAAO,EACrC,CAAC;QACD,OAAO;IACT,CAAC;IACD,MAAM,KAAK,GAAG;;;CAGf,CAAC;IACA,OAAO,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,EAAE,KAAK,CAAC,CAAC;AAChE,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,OAAgB;IACjD,IAAI,gBAAgB,CAAC,OAAO,CAAC,KAAK,OAAO,EAAE,CAAC;QAC1C,OAAO;IACT,CAAC;IACD,OAAO,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,GAAG,IAAI,CAAC,CAAC;AAC1E,CAAC;AAEM,KAAK,UAAU,sBAAsB,CAC1C,OAAgB;IAEhB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAE5C,IAAI,CAAC;QACH,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAA,gBAAS,EAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,GAAG,CAAC;QACZ,CAAC;QACD,iEAAiE;IACnE,CAAC;IAED,sEAAsE;IACtE,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IACzE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,MAAM,CAAC,GAAG,CAChB,6CAA6C;YAC3C,+BAA+B,CAClC,CAAC;QACF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IACzC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC;AACd,CAAC;AAEM,KAAK,UAAU,IAAI,CAAC,OAAgB;IACzC,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,IAAI,WAAW,CAAC;IAChB,IAAI,CAAC;QACH,WAAW,GAAG,CAAC,MAAM,IAAA,gBAAQ,EAAC,gBAAgB,CAAC,CAAgB,CAAC;IAClE,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,IAAA,gBAAS,EAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,CAAC,OAAO,EAAE,EAAE;gBAClE,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;QACL,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAC1B,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,kBAAkB,EAC/C,UAAU,EACV,IAAI,EACJ,OAAO,CACR,CAAC;QAEF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;YAC1E,OAAO,KAAK,CAAC;QACf,CAAC;QAED,WAAW,GAAG,oBAAoB,CAAC;QACnC,oBAAoB,GAAG,IAAI,CAAC;IAC9B,CAAC;IAED,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAClD,eAAe,CAAC,WAAW,EAAE,OAAO,CAAC;QACrC,UAAU,CAAC,WAAW,EAAE,OAAO,CAAC;KACjC,CAAC,CAAC;IACH,IAAI,oBAAoB,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;QACtD,MAAM,gBAAgB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,gBAAgB,CAAC,OAAO,CAAC;QACzB,oBAAoB,CAAC,OAAO,CAAC;QAC7B,sBAAsB,CAAC,OAAO,CAAC;QAC/B,mBAAmB,CAAC,OAAO,CAAC;KAC7B,CAAC,CAAC;IACH,MAAM,sBAAsB,CAAC,OAAO,CAAC,CAAC;IAEtC,4EAA4E;IAC5E,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,yEAAyE;QACzE,oBAAoB;QACpB,EAAE,CAAC,SAAS,CACV,IAAA,2BAAoB,EAAC,OAAO,CAAC,IAAI,CAAC,EAClC,CAAC,SAAS,EAAE,kBAAkB,CAAC,EAC/B,EAAE,KAAK,EAAE,SAAS,EAAE,CACrB,CAAC;IACJ,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Options } from './cli';
2
+ export declare function migrate(options: Options): Promise<boolean>;
@@ -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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"}
@@ -1,10 +1,9 @@
1
- /// <reference types="node" />
2
1
  import * as fs from 'fs';
3
2
  import * as ncp from 'ncp';
4
3
  export declare const readFilep: ReadFileP;
5
4
  export declare const rimrafp: (arg1: string) => Promise<void>;
6
- export declare const writeFileAtomicp: (arg1: string, arg2: string | Buffer) => Promise<void>;
7
- export declare const ncpp: (source: string, destination: string, options?: ncp.Options | undefined) => Promise<void>;
5
+ export declare const writeFileAtomicp: (filename: string, data: string) => Promise<void>;
6
+ export declare const ncpp: (source: string, destination: string, options?: ncp.Options) => Promise<void>;
8
7
  export interface Bag<T> {
9
8
  [script: string]: T;
10
9
  }
@@ -24,7 +23,7 @@ export declare function safeError(err: unknown): NodeJS.ErrnoException;
24
23
  */
25
24
  export interface ConfigFile {
26
25
  files?: string[];
27
- compilerOptions?: unknown;
26
+ compilerOptions?: Record<string, unknown>;
28
27
  include?: string[];
29
28
  exclude?: string[];
30
29
  extends?: string[] | string;
@@ -45,4 +44,3 @@ export declare function getPkgManagerCommand(isYarnUsed?: boolean): string;
45
44
  */
46
45
  export declare function getTSConfig(rootDir: string, customReadFilep?: ReadFileP): Promise<ConfigFile>;
47
46
  export declare function readJSON(filepath: string): unknown;
48
- //# sourceMappingURL=util.d.ts.map
package/dist/src/util.js CHANGED
@@ -1,6 +1,13 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.readJSON = exports.getTSConfig = exports.getPkgManagerCommand = exports.isYarnUsed = exports.safeError = exports.nop = exports.readJsonp = exports.ncpp = exports.writeFileAtomicp = exports.rimrafp = exports.readFilep = void 0;
3
+ exports.ncpp = exports.writeFileAtomicp = exports.rimrafp = exports.readFilep = void 0;
4
+ exports.readJsonp = readJsonp;
5
+ exports.nop = nop;
6
+ exports.safeError = safeError;
7
+ exports.isYarnUsed = isYarnUsed;
8
+ exports.getPkgManagerCommand = getPkgManagerCommand;
9
+ exports.getTSConfig = getTSConfig;
10
+ exports.readJSON = readJSON;
4
11
  const fs = require("fs");
5
12
  const path = require("path");
6
13
  const rimraf = require("rimraf");
@@ -10,19 +17,18 @@ const writeFileAtomic = require("write-file-atomic");
10
17
  const JSON5 = require("json5");
11
18
  exports.readFilep = (0, util_1.promisify)(fs.readFile);
12
19
  exports.rimrafp = (0, util_1.promisify)(rimraf);
13
- exports.writeFileAtomicp = (0, util_1.promisify)(writeFileAtomic);
20
+ const writeFileAtomicp = (filename, data) => writeFileAtomic(filename, data);
21
+ exports.writeFileAtomicp = writeFileAtomicp;
14
22
  exports.ncpp = (0, util_1.promisify)(ncp.ncp);
15
23
  async function readJsonp(jsonPath) {
16
24
  const contents = await (0, exports.readFilep)(jsonPath, 'utf8');
17
25
  return JSON5.parse(contents);
18
26
  }
19
- exports.readJsonp = readJsonp;
20
27
  function nop() {
21
28
  /* empty */
22
29
  }
23
- exports.nop = nop;
24
30
  function safeError(err) {
25
- if (err == null) {
31
+ if (err === null || err === undefined) {
26
32
  return new Error(`(${err})`);
27
33
  }
28
34
  if (err instanceof Error) {
@@ -30,7 +36,6 @@ function safeError(err) {
30
36
  }
31
37
  return new Error(`${err}`);
32
38
  }
33
- exports.safeError = safeError;
34
39
  /**
35
40
  * Recursively iterate through the dependency chain until we reach the end of
36
41
  * the dependency chain or encounter a circular reference
@@ -85,8 +90,9 @@ async function getBase(filePath, customReadFilep, readFiles, currentDir) {
85
90
  */
86
91
  function combineTSConfig(base, inherited) {
87
92
  const result = { compilerOptions: {} };
93
+ const compilerOptions = Object.assign({}, base.compilerOptions || {}, inherited.compilerOptions || {});
88
94
  Object.assign(result, base, inherited);
89
- Object.assign(result.compilerOptions, base.compilerOptions, inherited.compilerOptions);
95
+ result.compilerOptions = compilerOptions;
90
96
  delete result.extends;
91
97
  return result;
92
98
  }
@@ -101,11 +107,9 @@ function isYarnUsed(existsSync = fs.existsSync) {
101
107
  }
102
108
  return existsSync('yarn.lock');
103
109
  }
104
- exports.isYarnUsed = isYarnUsed;
105
110
  function getPkgManagerCommand(isYarnUsed) {
106
111
  return ((isYarnUsed ? 'yarn' : 'npm') + (process.platform === 'win32' ? '.cmd' : ''));
107
112
  }
108
- exports.getPkgManagerCommand = getPkgManagerCommand;
109
113
  /**
110
114
  * Find the tsconfig.json, read it, and return parsed contents.
111
115
  * @param rootDir Directory where the tsconfig.json should be found.
@@ -117,7 +121,6 @@ async function getTSConfig(rootDir, customReadFilep) {
117
121
  const readArr = new Set();
118
122
  return getBase('tsconfig.json', customReadFilep, readArr, rootDir);
119
123
  }
120
- exports.getTSConfig = getTSConfig;
121
124
  function readJSON(filepath) {
122
125
  const content = fs.readFileSync(filepath, 'utf8');
123
126
  try {
@@ -125,8 +128,9 @@ function readJSON(filepath) {
125
128
  }
126
129
  catch (exc) {
127
130
  const err = safeError(exc);
128
- throw new Error(`Failed to parse JSON file '${content}' for: ${err.message}`);
131
+ throw new Error(`Failed to parse JSON file '${content}' for: ${err.message}`, {
132
+ cause: exc,
133
+ });
129
134
  }
130
135
  }
131
- exports.readJSON = readJSON;
132
136
  //# sourceMappingURL=util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":";;;AAAA,yBAAyB;AACzB,6BAA6B;AAC7B,iCAAiC;AACjC,+BAAiC;AACjC,2BAA2B;AAC3B,qDAAqD;AACrD,+BAA+B;AAElB,QAAA,SAAS,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,QAAQ,CAAc,CAAC;AAChD,QAAA,OAAO,GAAG,IAAA,gBAAS,EAAC,MAAM,CAAC,CAAC;AAC5B,QAAA,gBAAgB,GAAG,IAAA,gBAAS,EAAC,eAAe,CAAC,CAAC;AAC9C,QAAA,IAAI,GAAG,IAAA,gBAAS,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAYhC,KAAK,UAAU,SAAS,CAAC,QAAgB;IAC9C,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAS,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAHD,8BAGC;AAMD,SAAgB,GAAG;IACjB,WAAW;AACb,CAAC;AAFD,kBAEC;AAED,SAAgB,SAAS,CAAC,GAAY;IACpC,IAAI,GAAG,IAAI,IAAI,EAAE;QACf,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;KAC9B;IACD,IAAI,GAAG,YAAY,KAAK,EAAE;QACxB,OAAO,GAAG,CAAC;KACZ;IACD,OAAO,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;AAC7B,CAAC;AARD,8BAQC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,OAAO,CACpB,QAAgB,EAChB,eAAsC,EACtC,SAAsB,EACtB,UAAkB;IAElB,eAAe,GAAG,eAAe,IAAI,iBAAS,CAAC;IAE/C,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE9C,0EAA0E;IAC1E,iBAAiB;IACjB,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;KACtD;IACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,IAAI;QACF,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,QAAoB,CAAC;QACzB,IAAI;YACF,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SAC9B;QAAC,OAAO,GAAG,EAAE;YACZ,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,GAAG,CAAC,OAAO,GAAG,mBAAmB,QAAQ,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,GAAG,CAAC;SACX;QAED,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE;YACxC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,QAAQ,CAAC,OAAO,EAChB,eAAe,EACf,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CACvB,CAAC;YACF,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;SAChD;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;YAC1C,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE;gBACrC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,MAAM,EACN,eAAe,EACf,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CACvB,CAAC;gBACF,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAChD;SACF;QAED,OAAO,QAAQ,CAAC;KACjB;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,GAAG,CAAC,OAAO,GAAG,UAAU,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;QACnD,MAAM,GAAG,CAAC;KACX;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAgB,EAAE,SAAqB;IAC9D,MAAM,MAAM,GAAe,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;IAEnD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,CACX,MAAM,CAAC,eAAe,EACtB,IAAI,CAAC,eAAe,EACpB,SAAS,CAAC,eAAe,CAC1B,CAAC;IACF,OAAO,MAAM,CAAC,OAAO,CAAC;IACtB,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD;;;;GAIG;AACH,SAAgB,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU;IACnD,IAAI,UAAU,CAAC,mBAAmB,CAAC,EAAE;QACnC,OAAO,KAAK,CAAC;KACd;IACD,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AALD,gCAKC;AAED,SAAgB,oBAAoB,CAAC,UAAoB;IACvD,OAAO,CACL,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAC7E,CAAC;AACJ,CAAC;AAJD,oDAIC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,eAA2B;IAE3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,OAAO,OAAO,CAAC,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAND,kCAMC;AAED,SAAgB,QAAQ,CAAC,QAAgB;IACvC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KAC5B;IAAC,OAAO,GAAG,EAAE;QACZ,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,8BAA8B,OAAO,UAAU,GAAG,CAAC,OAAO,EAAE,CAC7D,CAAC;KACH;AACH,CAAC;AAVD,4BAUC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":";;;AA0BA,8BAGC;AAMD,kBAEC;AAED,8BAQC;AAqGD,gCAKC;AAED,oDAIC;AASD,kCAMC;AAED,4BAaC;AA7LD,yBAAyB;AACzB,6BAA6B;AAC7B,iCAAiC;AACjC,+BAAiC;AACjC,2BAA2B;AAC3B,qDAAqD;AACrD,+BAA+B;AAElB,QAAA,SAAS,GAAG,IAAA,gBAAS,EAAC,EAAE,CAAC,QAAQ,CAAc,CAAC;AAChD,QAAA,OAAO,GAAG,IAAA,gBAAS,EAAC,MAAM,CAAC,CAAC;AAClC,MAAM,gBAAgB,GAAG,CAC9B,QAAgB,EAChB,IAAY,EACG,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAHvC,QAAA,gBAAgB,oBAGuB;AACvC,QAAA,IAAI,GAAG,IAAA,gBAAS,EAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAYhC,KAAK,UAAU,SAAS,CAAC,QAAgB;IAC9C,MAAM,QAAQ,GAAG,MAAM,IAAA,iBAAS,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC;AAMD,SAAgB,GAAG;IACjB,WAAW;AACb,CAAC;AAED,SAAgB,SAAS,CAAC,GAAY;IACpC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,GAAG,YAAY,KAAK,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,IAAI,KAAK,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,OAAO,CACpB,QAAgB,EAChB,eAAsC,EACtC,SAAsB,EACtB,UAAkB;IAElB,eAAe,GAAG,eAAe,IAAI,iBAAS,CAAC;IAE/C,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE9C,0EAA0E;IAC1E,iBAAiB;IACjB,IAAI,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACrD,IAAI,QAAoB,CAAC;QACzB,IAAI,CAAC;YACH,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;YAC3B,GAAG,CAAC,OAAO,GAAG,mBAAmB,QAAQ,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;YAC7D,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,QAAQ,CAAC,OAAO,EAChB,eAAe,EACf,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CACvB,CAAC;YACF,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3C,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACtC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAC5B,MAAM,EACN,eAAe,EACf,SAAS,EACT,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CACvB,CAAC;gBACF,QAAQ,GAAG,eAAe,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,GAAG,CAAC,OAAO,GAAG,UAAU,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;QACnD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,eAAe,CAAC,IAAgB,EAAE,SAAqB;IAC9D,MAAM,MAAM,GAAe,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;IACnD,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CACnC,EAAE,EACF,IAAI,CAAC,eAAe,IAAI,EAAE,EAC1B,SAAS,CAAC,eAAe,IAAI,EAAE,CAChC,CAAC;IAEF,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;IACvC,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,OAAO,MAAM,CAAC,OAAO,CAAC;IACtB,OAAO,MAAM,CAAC;AAChB,CAAC;AAaD;;;;GAIG;AACH,SAAgB,UAAU,CAAC,UAAU,GAAG,EAAE,CAAC,UAAU;IACnD,IAAI,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,UAAU,CAAC,WAAW,CAAC,CAAC;AACjC,CAAC;AAED,SAAgB,oBAAoB,CAAC,UAAoB;IACvD,OAAO,CACL,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAC7E,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,eAA2B;IAE3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAClC,OAAO,OAAO,CAAC,eAAe,EAAE,eAAe,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,QAAQ,CAAC,QAAgB;IACvC,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,8BAA8B,OAAO,UAAU,GAAG,CAAC,OAAO,EAAE,EAC5D;YACE,KAAK,EAAE,GAAG;SACX,CACF,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -0,0 +1,89 @@
1
+ 'use strict';
2
+
3
+ const eslint = require('@eslint/js');
4
+ const tseslint = require('typescript-eslint');
5
+ const prettierConfig = require('eslint-config-prettier');
6
+ const pluginN = require('eslint-plugin-n');
7
+ const pluginPrettier = require('eslint-plugin-prettier');
8
+ const globals = require('globals');
9
+ const ignores = require('./eslint.ignores.js');
10
+ const defineConfig = require('eslint/config').defineConfig;
11
+
12
+ module.exports = defineConfig([
13
+ { ignores },
14
+ eslint.configs.recommended,
15
+ prettierConfig,
16
+ {
17
+ languageOptions: {
18
+ globals: globals.node,
19
+ },
20
+ plugins: {
21
+ n: pluginN,
22
+ prettier: pluginPrettier,
23
+ },
24
+ rules: {
25
+ 'prettier/prettier': 'error',
26
+ 'block-scoped-var': 'error',
27
+ eqeqeq: 'error',
28
+ 'no-var': 'error',
29
+ 'prefer-const': 'error',
30
+ 'eol-last': 'error',
31
+ 'prefer-arrow-callback': 'error',
32
+ 'no-trailing-spaces': 'error',
33
+ quotes: ['warn', 'single', { avoidEscape: true }],
34
+ 'no-restricted-properties': [
35
+ 'error',
36
+ {
37
+ object: 'describe',
38
+ property: 'only',
39
+ },
40
+ {
41
+ object: 'it',
42
+ property: 'only',
43
+ },
44
+ ],
45
+ },
46
+ },
47
+ {
48
+ files: ['**/.prettierrc.js', '**/eslint.config.js', '**/eslint.ignores.js'],
49
+ languageOptions: {
50
+ sourceType: 'commonjs',
51
+ globals: globals.node,
52
+ },
53
+ },
54
+ {
55
+ files: ['**/*.ts', '**/*.tsx'],
56
+ extends: [tseslint.configs.recommended],
57
+ languageOptions: {
58
+ parser: tseslint.parser,
59
+ parserOptions: {
60
+ ecmaVersion: 2018,
61
+ sourceType: 'module',
62
+ project: './tsconfig.json',
63
+ },
64
+ },
65
+ rules: {
66
+ '@typescript-eslint/ban-ts-comment': 'warn',
67
+ '@typescript-eslint/no-floating-promises': 'error',
68
+ '@typescript-eslint/no-non-null-assertion': 'off',
69
+ '@typescript-eslint/no-use-before-define': 'off',
70
+ '@typescript-eslint/no-warning-comments': 'off',
71
+ '@typescript-eslint/no-empty-function': 'off',
72
+ '@typescript-eslint/no-unused-vars': 'warn',
73
+ '@typescript-eslint/no-var-requires': 'off',
74
+ '@typescript-eslint/no-require-imports': 'off',
75
+ '@typescript-eslint/no-empty-object-type': 'off',
76
+ '@typescript-eslint/explicit-function-return-type': 'off',
77
+ '@typescript-eslint/explicit-module-boundary-types': 'off',
78
+ '@typescript-eslint/ban-types': 'off',
79
+ '@typescript-eslint/camelcase': 'off',
80
+ 'n/no-missing-import': 'off',
81
+ 'n/no-empty-function': 'off',
82
+ 'n/no-unsupported-features/es-syntax': 'off',
83
+ 'n/no-missing-require': 'off',
84
+ 'n/shebang': 'off',
85
+ 'no-dupe-class-members': 'off',
86
+ 'require-atomic-updates': 'off',
87
+ },
88
+ },
89
+ ]);
@@ -0,0 +1 @@
1
+ module.exports = ['dist/', '**/node_modules/', 'template/', 'test/fixtures/'];