lintmax 0.0.4 → 0.0.6
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/cli.js +377 -181
- package/dist/cli.js.map +1 -1
- package/dist/eslint.d.ts.map +1 -1
- package/dist/eslint.js +14 -5
- package/dist/eslint.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +105 -33
- package/dist/index.js.map +1 -1
- package/dist/path.d.ts +3 -0
- package/dist/path.d.ts.map +1 -0
- package/dist/path.js +46 -0
- package/dist/path.js.map +1 -0
- package/package.json +5 -8
package/README.md
CHANGED
|
@@ -13,7 +13,7 @@ You only disable what you don’t need.
|
|
|
13
13
|
## Install
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
bun add -d lintmax
|
|
16
|
+
bun add -d lintmax
|
|
17
17
|
bunx lintmax init
|
|
18
18
|
```
|
|
19
19
|
|
|
@@ -42,6 +42,8 @@ Create `lintmax.config.ts`:
|
|
|
42
42
|
import { defineConfig } from 'lintmax'
|
|
43
43
|
|
|
44
44
|
export default defineConfig({
|
|
45
|
+
compact: true,
|
|
46
|
+
globalIgnorePatterns: ['packages/ui/**', '.intlayer/cache/**'],
|
|
45
47
|
biome: {
|
|
46
48
|
rules: { noBarrelFile: 'off' },
|
|
47
49
|
overrides: [{ disableLinter: true, includes: ['packages/ui/**'] }]
|
|
@@ -53,6 +55,11 @@ export default defineConfig({
|
|
|
53
55
|
})
|
|
54
56
|
```
|
|
55
57
|
|
|
58
|
+
- `globalIgnorePatterns` appends patterns to Biome, ESLint, and oxlint ignore sets.
|
|
59
|
+
- `compact` runs a whitespace compaction pass before linting (`false` by default).
|
|
60
|
+
- `lintmax fix`: rewrites tracked/untracked text files by collapsing 2+ blank lines to 1.
|
|
61
|
+
- `lintmax check`: verifies compaction state without modifying files.
|
|
62
|
+
|
|
56
63
|
### ESLint overrides
|
|
57
64
|
|
|
58
65
|
Create `eslint.config.ts`:
|
package/dist/cli.js
CHANGED
|
@@ -1,25 +1,139 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
|
-
|
|
3
|
-
import { spawnSync } from 'node:child_process';
|
|
4
|
-
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'node:fs';
|
|
5
|
-
import { join } from 'node:path';
|
|
2
|
+
import { env as bunEnv, file, spawnSync, write } from 'bun';
|
|
6
3
|
import { cacheDir, sync } from './index.js';
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
4
|
+
import { dirnamePath, fromFileUrl, joinPath } from './path.js';
|
|
5
|
+
class CliExitError extends Error {
|
|
6
|
+
code;
|
|
7
|
+
constructor({ code, message }) {
|
|
8
|
+
super(message ?? '');
|
|
9
|
+
this.code = code;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
const COMPACT_REGEX = /(?:\r?\n){2,}/gu, compactBasenames = new Set(['.env.example', '.gitignore', '.npmrc', '.prettierignore', 'Dockerfile', 'Makefile']), compactExtensions = new Set([
|
|
13
|
+
'.cjs',
|
|
14
|
+
'.css',
|
|
15
|
+
'.gql',
|
|
16
|
+
'.graphql',
|
|
17
|
+
'.html',
|
|
18
|
+
'.js',
|
|
19
|
+
'.json',
|
|
20
|
+
'.jsonc',
|
|
21
|
+
'.jsx',
|
|
22
|
+
'.md',
|
|
23
|
+
'.mjs',
|
|
24
|
+
'.mts',
|
|
25
|
+
'.scss',
|
|
26
|
+
'.sql',
|
|
27
|
+
'.ts',
|
|
28
|
+
'.tsx',
|
|
29
|
+
'.txt',
|
|
30
|
+
'.yaml',
|
|
31
|
+
'.yml'
|
|
32
|
+
]), decoder = new TextDecoder(), cwd = process.cwd(), cmd = process.argv[2], ignoreEntries = ['.cache/', '.eslintcache'], lintmaxRoot = dirnamePath(dirnamePath(fromFileUrl(import.meta.url))), decodeText = (bytes) => decoder.decode(bytes ?? new Uint8Array()), pathExists = async ({ path }) => file(path).exists(), readJson = async ({ path }) => {
|
|
33
|
+
if (!(await pathExists({ path })))
|
|
14
34
|
return {};
|
|
15
35
|
try {
|
|
16
|
-
|
|
36
|
+
const text = await file(path).text();
|
|
37
|
+
return JSON.parse(text);
|
|
17
38
|
}
|
|
18
39
|
catch {
|
|
19
40
|
return {};
|
|
20
41
|
}
|
|
21
|
-
},
|
|
22
|
-
const
|
|
42
|
+
}, readRequiredJson = async ({ path }) => {
|
|
43
|
+
const text = await file(path).text();
|
|
44
|
+
return JSON.parse(text);
|
|
45
|
+
}, writeJson = async ({ data, path }) => write(path, `${JSON.stringify(data, null, 2)}\n`), basename = ({ path }) => {
|
|
46
|
+
const index = path.lastIndexOf('/');
|
|
47
|
+
if (index === -1)
|
|
48
|
+
return path;
|
|
49
|
+
return path.slice(index + 1);
|
|
50
|
+
}, extension = ({ path }) => {
|
|
51
|
+
const slashIndex = path.lastIndexOf('/'), dotIndex = path.lastIndexOf('.');
|
|
52
|
+
return dotIndex > slashIndex ? path.slice(dotIndex) : '';
|
|
53
|
+
}, compactContent = ({ content }) => content.replace(COMPACT_REGEX, '\n'), isCompactCandidate = ({ relativePath }) => {
|
|
54
|
+
const fileName = basename({ path: relativePath });
|
|
55
|
+
if (compactBasenames.has(fileName))
|
|
56
|
+
return true;
|
|
57
|
+
return compactExtensions.has(extension({ path: relativePath }));
|
|
58
|
+
}, isBinary = ({ bytes }) => {
|
|
59
|
+
for (const byte of bytes)
|
|
60
|
+
if (byte === 0)
|
|
61
|
+
return true;
|
|
62
|
+
return false;
|
|
63
|
+
}, listCompactFiles = ({ env, root }) => {
|
|
64
|
+
const result = spawnSync({
|
|
65
|
+
cmd: ['git', '-C', root, 'ls-files', '-z', '--cached', '--others', '--exclude-standard'],
|
|
66
|
+
env,
|
|
67
|
+
stderr: 'pipe',
|
|
68
|
+
stdout: 'pipe'
|
|
69
|
+
});
|
|
70
|
+
if (result.exitCode !== 0) {
|
|
71
|
+
const stderr = decodeText(result.stderr).trim();
|
|
72
|
+
throw new CliExitError({
|
|
73
|
+
code: result.exitCode,
|
|
74
|
+
message: stderr.length > 0 ? stderr : 'Failed to list files for compact step'
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
const entries = decodeText(result.stdout).split('\0'), files = [];
|
|
78
|
+
for (const entry of entries)
|
|
79
|
+
if (entry.length > 0 && entry !== 'bun.lock')
|
|
80
|
+
files.push(entry);
|
|
81
|
+
return files;
|
|
82
|
+
}, runCompact = async ({ env, mode, root }) => {
|
|
83
|
+
const files = listCompactFiles({ env, root }), results = await Promise.all(files.map(async (relativePath) => {
|
|
84
|
+
if (!isCompactCandidate({ relativePath }))
|
|
85
|
+
return { changed: false, relativePath, scanned: false };
|
|
86
|
+
const absolutePath = joinPath(root, relativePath), source = file(absolutePath);
|
|
87
|
+
if (!(await source.exists()))
|
|
88
|
+
return { changed: false, relativePath, scanned: false };
|
|
89
|
+
const bytes = new Uint8Array(await source.arrayBuffer());
|
|
90
|
+
if (isBinary({ bytes }))
|
|
91
|
+
return { changed: false, relativePath, scanned: true };
|
|
92
|
+
const content = decodeText(bytes), compacted = compactContent({ content });
|
|
93
|
+
if (content === compacted)
|
|
94
|
+
return { changed: false, relativePath, scanned: true };
|
|
95
|
+
if (mode === 'fix')
|
|
96
|
+
await write(absolutePath, compacted);
|
|
97
|
+
return { changed: true, relativePath, scanned: true };
|
|
98
|
+
})), changed = [];
|
|
99
|
+
let scanned = 0;
|
|
100
|
+
for (const result of results) {
|
|
101
|
+
if (result.scanned)
|
|
102
|
+
scanned += 1;
|
|
103
|
+
if (result.changed)
|
|
104
|
+
changed.push(result.relativePath);
|
|
105
|
+
}
|
|
106
|
+
if (mode === 'fix') {
|
|
107
|
+
process.stdout.write(`[compact] Scanned ${scanned} files\n`);
|
|
108
|
+
process.stdout.write(`[compact] Updated ${changed.length} files\n`);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
if (changed.length === 0)
|
|
112
|
+
return;
|
|
113
|
+
const shown = changed.slice(0, 10), suffix = changed.length > shown.length ? `\n...and ${changed.length - shown.length} more` : '';
|
|
114
|
+
throw new CliExitError({
|
|
115
|
+
code: 1,
|
|
116
|
+
message: `[compact]\nFiles requiring compaction:\n${shown.join('\n')}${suffix}\nRun: lintmax fix`
|
|
117
|
+
});
|
|
118
|
+
}, ensureDirectory = ({ directory }) => {
|
|
119
|
+
const result = spawnSync({
|
|
120
|
+
cmd: ['mkdir', '-p', directory],
|
|
121
|
+
stderr: 'pipe',
|
|
122
|
+
stdout: 'pipe'
|
|
123
|
+
});
|
|
124
|
+
if (result.exitCode === 0)
|
|
125
|
+
return;
|
|
126
|
+
const stderr = decodeText(result.stderr).trim();
|
|
127
|
+
throw new CliExitError({
|
|
128
|
+
code: result.exitCode,
|
|
129
|
+
message: stderr.length > 0 ? stderr : `Failed to create directory: ${directory}`
|
|
130
|
+
});
|
|
131
|
+
}, sortKeys = (obj) => {
|
|
132
|
+
const sorted = {}, keys = Object.keys(obj).toSorted();
|
|
133
|
+
for (const key of keys)
|
|
134
|
+
sorted[key] = obj[key];
|
|
135
|
+
return sorted;
|
|
136
|
+
}, initScripts = async ({ pkg, pkgPath }) => {
|
|
23
137
|
const scripts = pkg.scripts ?? {};
|
|
24
138
|
let changed = false;
|
|
25
139
|
if (!scripts.fix) {
|
|
@@ -30,21 +144,21 @@ const initScripts = (pkg, pkgPath) => {
|
|
|
30
144
|
scripts.check = 'lintmax check';
|
|
31
145
|
changed = true;
|
|
32
146
|
}
|
|
33
|
-
if (changed)
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
}
|
|
37
|
-
}, initTsconfig = (configFiles) => {
|
|
38
|
-
const tsconfigPath =
|
|
39
|
-
if (!
|
|
147
|
+
if (!changed)
|
|
148
|
+
return;
|
|
149
|
+
pkg.scripts = scripts;
|
|
150
|
+
await writeJson({ data: pkg, path: pkgPath });
|
|
151
|
+
}, initTsconfig = async ({ configFiles }) => {
|
|
152
|
+
const tsconfigPath = joinPath(cwd, 'tsconfig.json');
|
|
153
|
+
if (!(await pathExists({ path: tsconfigPath }))) {
|
|
40
154
|
const tsconfig = { extends: 'lintmax/tsconfig' };
|
|
41
155
|
if (configFiles.length > 0)
|
|
42
156
|
tsconfig.include = configFiles;
|
|
43
|
-
writeJson(
|
|
157
|
+
await writeJson({ data: tsconfig, path: tsconfigPath });
|
|
44
158
|
return;
|
|
45
159
|
}
|
|
46
160
|
try {
|
|
47
|
-
const tsconfig =
|
|
161
|
+
const tsconfig = await readRequiredJson({ path: tsconfigPath });
|
|
48
162
|
let changed = false;
|
|
49
163
|
if (tsconfig.extends !== 'lintmax/tsconfig') {
|
|
50
164
|
tsconfig.extends = 'lintmax/tsconfig';
|
|
@@ -56,27 +170,27 @@ const initScripts = (pkg, pkgPath) => {
|
|
|
56
170
|
changed = true;
|
|
57
171
|
}
|
|
58
172
|
if (changed)
|
|
59
|
-
writeJson(
|
|
173
|
+
await writeJson({ data: tsconfig, path: tsconfigPath });
|
|
60
174
|
}
|
|
61
175
|
catch {
|
|
62
176
|
process.stderr.write('tsconfig.json: could not parse, add "extends": "lintmax/tsconfig" manually\n');
|
|
63
177
|
}
|
|
64
|
-
},
|
|
65
|
-
const gitignorePath =
|
|
66
|
-
if (
|
|
67
|
-
const content =
|
|
178
|
+
}, initGitignore = async () => {
|
|
179
|
+
const gitignorePath = joinPath(cwd, '.gitignore');
|
|
180
|
+
if (await pathExists({ path: gitignorePath })) {
|
|
181
|
+
const content = await file(gitignorePath).text(), toAdd = [];
|
|
68
182
|
for (const entry of ignoreEntries)
|
|
69
183
|
if (!content.includes(entry))
|
|
70
184
|
toAdd.push(entry);
|
|
71
185
|
if (toAdd.length > 0)
|
|
72
|
-
|
|
186
|
+
await write(gitignorePath, `${content.trimEnd()}\n${toAdd.join('\n')}\n`);
|
|
187
|
+
return;
|
|
73
188
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
const settingsPath = join(vscodePath, 'settings.json'), settings = readJson(settingsPath);
|
|
189
|
+
await write(gitignorePath, `${ignoreEntries.join('\n')}\n`);
|
|
190
|
+
}, initVscodeSettings = async ({ pkg }) => {
|
|
191
|
+
const vscodePath = joinPath(cwd, '.vscode');
|
|
192
|
+
ensureDirectory({ directory: vscodePath });
|
|
193
|
+
const settingsPath = joinPath(vscodePath, 'settings.json'), settings = await readJson({ path: settingsPath });
|
|
80
194
|
settings['biome.configPath'] = 'node_modules/.cache/lintmax/biome.json';
|
|
81
195
|
const formatterLangs = [
|
|
82
196
|
'css',
|
|
@@ -90,7 +204,10 @@ const initScripts = (pkg, pkgPath) => {
|
|
|
90
204
|
];
|
|
91
205
|
for (const lang of formatterLangs) {
|
|
92
206
|
const key = `[${lang}]`, existing = (settings[key] ?? {});
|
|
93
|
-
settings[key] = {
|
|
207
|
+
settings[key] = {
|
|
208
|
+
...existing,
|
|
209
|
+
'editor.defaultFormatter': 'biomejs.biome'
|
|
210
|
+
};
|
|
94
211
|
}
|
|
95
212
|
const existingActions = (settings['editor.codeActionsOnSave'] ?? {});
|
|
96
213
|
settings['editor.codeActionsOnSave'] = {
|
|
@@ -101,7 +218,6 @@ const initScripts = (pkg, pkgPath) => {
|
|
|
101
218
|
};
|
|
102
219
|
settings['editor.formatOnSave'] = true;
|
|
103
220
|
settings['eslint.rules.customizations'] = [{ rule: '*', severity: 'warn' }];
|
|
104
|
-
settings['typescript.tsdk'] = 'node_modules/typescript/lib';
|
|
105
221
|
if (pkg.workspaces && !settings['eslint.workingDirectories']) {
|
|
106
222
|
const dirs = [];
|
|
107
223
|
for (const ws of pkg.workspaces) {
|
|
@@ -111,17 +227,17 @@ const initScripts = (pkg, pkgPath) => {
|
|
|
111
227
|
if (dirs.length > 0)
|
|
112
228
|
settings['eslint.workingDirectories'] = dirs;
|
|
113
229
|
}
|
|
114
|
-
writeJson(
|
|
115
|
-
}, initVscodeExtensions = () => {
|
|
116
|
-
const extensionsPath =
|
|
230
|
+
await writeJson({ data: sortKeys(settings), path: settingsPath });
|
|
231
|
+
}, initVscodeExtensions = async () => {
|
|
232
|
+
const extensionsPath = joinPath(cwd, '.vscode', 'extensions.json'), extJson = (await readJson({ path: extensionsPath })), recommendations = ['biomejs.biome', 'dbaeumer.vscode-eslint'], currentRecs = extJson.recommendations ?? [], recsToAdd = [];
|
|
117
233
|
for (const rec of recommendations)
|
|
118
234
|
if (!currentRecs.includes(rec))
|
|
119
235
|
recsToAdd.push(rec);
|
|
120
236
|
if (recsToAdd.length > 0 || !extJson.recommendations) {
|
|
121
237
|
extJson.recommendations = [...currentRecs, ...recsToAdd];
|
|
122
|
-
writeJson(
|
|
238
|
+
await writeJson({ data: extJson, path: extensionsPath });
|
|
123
239
|
}
|
|
124
|
-
}, findLegacyConfigs = () => {
|
|
240
|
+
}, findLegacyConfigs = async () => {
|
|
125
241
|
const legacyConfigs = [
|
|
126
242
|
'.eslintrc',
|
|
127
243
|
'.eslintrc.json',
|
|
@@ -138,177 +254,257 @@ const initScripts = (pkg, pkgPath) => {
|
|
|
138
254
|
'biome.json',
|
|
139
255
|
'biome.jsonc',
|
|
140
256
|
'.oxlintrc.json'
|
|
141
|
-
],
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
257
|
+
], checks = legacyConfigs.map(async (configFile) => ({
|
|
258
|
+
configFile,
|
|
259
|
+
exists: await pathExists({ path: joinPath(cwd, configFile) })
|
|
260
|
+
})), resolved = await Promise.all(checks), found = [];
|
|
261
|
+
for (const item of resolved)
|
|
262
|
+
if (item.exists)
|
|
263
|
+
found.push(item.configFile);
|
|
145
264
|
return found;
|
|
146
|
-
},
|
|
147
|
-
const
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
265
|
+
}, readVersion = async () => {
|
|
266
|
+
const pkg = await readRequiredJson({
|
|
267
|
+
path: joinPath(lintmaxRoot, 'package.json')
|
|
268
|
+
});
|
|
269
|
+
return pkg.version;
|
|
270
|
+
}, usage = ({ version }) => {
|
|
271
|
+
process.stdout.write(`lintmax v${version}\n\n`);
|
|
272
|
+
process.stdout.write('Usage: lintmax <command>\n\n');
|
|
273
|
+
process.stdout.write('Commands:\n');
|
|
274
|
+
process.stdout.write(' init Scaffold config files for a new project\n');
|
|
275
|
+
process.stdout.write(' fix Auto-fix and format all files\n');
|
|
276
|
+
process.stdout.write(' check Check all files without modifying\n');
|
|
277
|
+
process.stdout.write(' --version Show version\n');
|
|
278
|
+
}, resolvePackageJsonPath = async ({ pkg }) => {
|
|
279
|
+
try {
|
|
280
|
+
return fromFileUrl(import.meta.resolve(`${pkg}/package.json`));
|
|
281
|
+
}
|
|
282
|
+
catch {
|
|
283
|
+
const consumerCandidate = joinPath(cwd, 'node_modules', pkg, 'package.json');
|
|
284
|
+
if (await pathExists({ path: consumerCandidate }))
|
|
285
|
+
return consumerCandidate;
|
|
286
|
+
return null;
|
|
287
|
+
}
|
|
288
|
+
}, resolveBin = async ({ bin, pkg }) => {
|
|
289
|
+
const packageJsonPath = await resolvePackageJsonPath({ pkg });
|
|
290
|
+
if (!packageJsonPath)
|
|
291
|
+
throw new CliExitError({
|
|
292
|
+
code: 1,
|
|
293
|
+
message: `Cannot find ${pkg} — run: bun add -d lintmax`
|
|
294
|
+
});
|
|
295
|
+
const pkgJson = await readRequiredJson({ path: packageJsonPath }), pkgDir = dirnamePath(packageJsonPath), binPath = typeof pkgJson.bin === 'string' ? pkgJson.bin : (pkgJson.bin?.[bin] ?? '');
|
|
296
|
+
return joinPath(pkgDir, binPath);
|
|
297
|
+
}, run = ({ args, command, env, label, silent = false }) => {
|
|
298
|
+
const result = spawnSync({
|
|
299
|
+
cmd: [command, ...args],
|
|
300
|
+
cwd,
|
|
301
|
+
env,
|
|
302
|
+
stderr: silent ? 'pipe' : 'inherit',
|
|
303
|
+
stdout: silent ? 'pipe' : 'inherit'
|
|
304
|
+
});
|
|
305
|
+
if (result.exitCode === 0)
|
|
306
|
+
return;
|
|
307
|
+
if (silent) {
|
|
308
|
+
process.stderr.write(`[${label}]\n`);
|
|
309
|
+
const stdout = decodeText(result.stdout);
|
|
310
|
+
if (stdout.length > 0)
|
|
311
|
+
process.stderr.write(stdout);
|
|
312
|
+
const stderr = decodeText(result.stderr);
|
|
313
|
+
if (stderr.length > 0)
|
|
314
|
+
process.stderr.write(stderr);
|
|
151
315
|
}
|
|
152
|
-
|
|
153
|
-
|
|
316
|
+
throw new CliExitError({ code: result.exitCode });
|
|
317
|
+
}, runInit = async () => {
|
|
318
|
+
const pkgPath = joinPath(cwd, 'package.json');
|
|
319
|
+
if (!(await pathExists({ path: pkgPath })))
|
|
320
|
+
throw new CliExitError({ code: 1, message: 'No package.json found' });
|
|
321
|
+
const pkg = await readRequiredJson({ path: pkgPath }), configFiles = [];
|
|
322
|
+
if (await pathExists({ path: joinPath(cwd, 'eslint.config.ts') }))
|
|
154
323
|
configFiles.push('eslint.config.ts');
|
|
155
|
-
if (
|
|
324
|
+
if (await pathExists({ path: joinPath(cwd, 'lintmax.config.ts') }))
|
|
156
325
|
configFiles.push('lintmax.config.ts');
|
|
157
|
-
initScripts(pkg, pkgPath);
|
|
158
|
-
initTsconfig(configFiles);
|
|
159
|
-
initGitignore();
|
|
160
|
-
initVscodeSettings(pkg);
|
|
161
|
-
initVscodeExtensions();
|
|
162
|
-
const foundLegacy = findLegacyConfigs();
|
|
326
|
+
await initScripts({ pkg, pkgPath });
|
|
327
|
+
await initTsconfig({ configFiles });
|
|
328
|
+
await initGitignore();
|
|
329
|
+
await initVscodeSettings({ pkg });
|
|
330
|
+
await initVscodeExtensions();
|
|
331
|
+
const foundLegacy = await findLegacyConfigs();
|
|
163
332
|
process.stdout.write('tsconfig.json extends lintmax/tsconfig');
|
|
164
333
|
if (configFiles.length > 0)
|
|
165
334
|
process.stdout.write(`, include: ${configFiles.join(', ')}`);
|
|
166
335
|
process.stdout.write('\n');
|
|
167
336
|
process.stdout.write('package.json "fix": "lintmax fix", "check": "lintmax check"\n');
|
|
168
337
|
process.stdout.write(`.gitignore ${ignoreEntries.join(', ')}\n`);
|
|
169
|
-
process.stdout.write('.vscode/settings biome formatter, codeActionsOnSave, eslint
|
|
338
|
+
process.stdout.write('.vscode/settings biome formatter, codeActionsOnSave, eslint\n');
|
|
170
339
|
process.stdout.write('.vscode/ext biomejs.biome, dbaeumer.vscode-eslint\n');
|
|
171
340
|
if (foundLegacy.length > 0)
|
|
172
341
|
process.stdout.write(`\nLegacy configs found (can be removed): ${foundLegacy.join(', ')}\n`);
|
|
173
342
|
process.stdout.write('\nRun: bun fix\n');
|
|
174
|
-
},
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
343
|
+
}, runLint = async () => {
|
|
344
|
+
const dir = joinPath(cwd, cacheDir);
|
|
345
|
+
ensureDirectory({ directory: dir });
|
|
346
|
+
const configPath = joinPath(cwd, 'lintmax.config.ts'), hasConfig = await pathExists({ path: configPath }), bundledBinA = joinPath(lintmaxRoot, 'node_modules', '.bin'), bundledBinB = joinPath(dirnamePath(lintmaxRoot), '.bin'), cwdBinDir = joinPath(cwd, 'node_modules', '.bin'), runtimePath = joinPath(dir, 'lintmax.json'), env = {
|
|
347
|
+
...bunEnv,
|
|
348
|
+
PATH: `${bundledBinA}:${bundledBinB}:${cwdBinDir}:${bunEnv.PATH ?? ''}`
|
|
349
|
+
};
|
|
350
|
+
if (hasConfig)
|
|
351
|
+
run({
|
|
352
|
+
args: [
|
|
353
|
+
'-e',
|
|
354
|
+
`const m = await import('${configPath}'); const { sync: s } = await import('lintmax'); await s(m.default);`
|
|
355
|
+
],
|
|
356
|
+
command: 'bun',
|
|
357
|
+
env,
|
|
358
|
+
label: 'config',
|
|
359
|
+
silent: true
|
|
360
|
+
});
|
|
361
|
+
else
|
|
362
|
+
await sync();
|
|
363
|
+
const runtime = (await readJson({ path: runtimePath }));
|
|
364
|
+
if (runtime.compact === true)
|
|
365
|
+
await runCompact({
|
|
366
|
+
env,
|
|
367
|
+
mode: cmd === 'fix' ? 'fix' : 'check',
|
|
368
|
+
root: cwd
|
|
369
|
+
});
|
|
370
|
+
const hasEslintConfig = (await pathExists({ path: joinPath(cwd, 'eslint.config.ts') })) ||
|
|
371
|
+
(await pathExists({ path: joinPath(cwd, 'eslint.config.js') })) ||
|
|
372
|
+
(await pathExists({ path: joinPath(cwd, 'eslint.config.mjs') })), eslintArgs = hasEslintConfig ? [] : ['--config', joinPath(dir, 'eslint.config.mjs')], [sortPkgJson, biomeBin, oxlintBin, eslintBin, prettierBin] = await Promise.all([
|
|
373
|
+
resolveBin({ bin: 'sort-package-json', pkg: 'sort-package-json' }),
|
|
374
|
+
resolveBin({ bin: 'biome', pkg: '@biomejs/biome' }),
|
|
375
|
+
resolveBin({ bin: 'oxlint', pkg: 'oxlint' }),
|
|
376
|
+
resolveBin({ bin: 'eslint', pkg: 'eslint' }),
|
|
377
|
+
resolveBin({ bin: 'prettier', pkg: 'prettier' })
|
|
378
|
+
]), prettierMd = [
|
|
379
|
+
'--single-quote',
|
|
380
|
+
'--no-semi',
|
|
381
|
+
'--trailing-comma',
|
|
382
|
+
'none',
|
|
383
|
+
'--print-width',
|
|
384
|
+
'80',
|
|
385
|
+
'--arrow-parens',
|
|
386
|
+
'avoid',
|
|
387
|
+
'--tab-width',
|
|
388
|
+
'2',
|
|
389
|
+
'--prose-wrap',
|
|
390
|
+
'preserve'
|
|
391
|
+
], hasFlowmark = spawnSync({
|
|
392
|
+
cmd: ['which', 'flowmark'],
|
|
393
|
+
env,
|
|
394
|
+
stderr: 'pipe',
|
|
395
|
+
stdout: 'pipe'
|
|
396
|
+
}).exitCode === 0;
|
|
397
|
+
if (cmd === 'fix') {
|
|
398
|
+
run({
|
|
399
|
+
args: [sortPkgJson, '**/package.json', '--ignore', '**/node_modules/**'],
|
|
400
|
+
command: 'bun',
|
|
401
|
+
env,
|
|
402
|
+
label: 'sort-package-json',
|
|
403
|
+
silent: true
|
|
404
|
+
});
|
|
405
|
+
run({
|
|
406
|
+
args: [biomeBin, 'check', '--config-path', dir, '--fix', '--diagnostic-level=error'],
|
|
407
|
+
command: 'bun',
|
|
408
|
+
env,
|
|
409
|
+
label: 'biome',
|
|
410
|
+
silent: true
|
|
411
|
+
});
|
|
412
|
+
run({
|
|
413
|
+
args: [oxlintBin, '-c', joinPath(dir, '.oxlintrc.json'), '--fix', '--fix-suggestions', '--quiet'],
|
|
414
|
+
command: 'bun',
|
|
415
|
+
env,
|
|
416
|
+
label: 'oxlint',
|
|
417
|
+
silent: true
|
|
418
|
+
});
|
|
419
|
+
run({
|
|
420
|
+
args: [eslintBin, ...eslintArgs, '--fix', '--cache', '--cache-location', joinPath(cwd, '.cache', '.eslintcache')],
|
|
421
|
+
command: 'bun',
|
|
422
|
+
env,
|
|
423
|
+
label: 'eslint',
|
|
424
|
+
silent: true
|
|
425
|
+
});
|
|
426
|
+
run({
|
|
427
|
+
args: [biomeBin, 'check', '--config-path', dir, '--fix', '--diagnostic-level=error'],
|
|
428
|
+
command: 'bun',
|
|
429
|
+
env,
|
|
430
|
+
label: 'biome',
|
|
431
|
+
silent: true
|
|
432
|
+
});
|
|
433
|
+
if (hasFlowmark)
|
|
434
|
+
run({
|
|
435
|
+
args: ['--auto', '.'],
|
|
436
|
+
command: 'flowmark',
|
|
437
|
+
env,
|
|
438
|
+
label: 'flowmark',
|
|
439
|
+
silent: true
|
|
440
|
+
});
|
|
441
|
+
run({
|
|
442
|
+
args: [prettierBin, ...prettierMd, '--write', '--no-error-on-unmatched-pattern', '**/*.md'],
|
|
443
|
+
command: 'bun',
|
|
444
|
+
env,
|
|
445
|
+
label: 'prettier',
|
|
446
|
+
silent: true
|
|
447
|
+
});
|
|
448
|
+
return;
|
|
225
449
|
}
|
|
226
|
-
}, configPath = join(cwd, 'lintmax.config.ts');
|
|
227
|
-
if (existsSync(configPath))
|
|
228
|
-
run({
|
|
229
|
-
args: [
|
|
230
|
-
'-e',
|
|
231
|
-
`const m = await import('${configPath}'); if (m.default) { const { sync: s } = await import('lintmax'); s(m.default); }`
|
|
232
|
-
],
|
|
233
|
-
command: 'bun',
|
|
234
|
-
label: 'config',
|
|
235
|
-
silent: true
|
|
236
|
-
});
|
|
237
|
-
else
|
|
238
|
-
sync();
|
|
239
|
-
const hasEslintConfig = existsSync(join(cwd, 'eslint.config.ts')) ||
|
|
240
|
-
existsSync(join(cwd, 'eslint.config.js')) ||
|
|
241
|
-
existsSync(join(cwd, 'eslint.config.mjs')), eslintArgs = hasEslintConfig ? [] : ['--config', join(dir, 'eslint.config.mjs')], sortPkgJson = resolveBin('sort-package-json', 'sort-package-json'), biomeBin = resolveBin('@biomejs/biome', 'biome'), oxlintBin = resolveBin('oxlint', 'oxlint'), eslintBin = resolveBin('eslint', 'eslint'), prettierBin = resolveBin('prettier', 'prettier'), prettierMd = [
|
|
242
|
-
'--single-quote',
|
|
243
|
-
'--no-semi',
|
|
244
|
-
'--trailing-comma',
|
|
245
|
-
'none',
|
|
246
|
-
'--print-width',
|
|
247
|
-
'80',
|
|
248
|
-
'--arrow-parens',
|
|
249
|
-
'avoid',
|
|
250
|
-
'--tab-width',
|
|
251
|
-
'2',
|
|
252
|
-
'--prose-wrap',
|
|
253
|
-
'preserve'
|
|
254
|
-
], hasFlowmark = spawnSync('which', ['flowmark'], { env, stdio: 'pipe' }).status === 0;
|
|
255
|
-
if (cmd === 'fix') {
|
|
256
|
-
run({
|
|
257
|
-
args: [sortPkgJson, '**/package.json', '--ignore', '**/node_modules/**'],
|
|
258
|
-
command: 'bun',
|
|
259
|
-
label: 'sort-package-json',
|
|
260
|
-
silent: true
|
|
261
|
-
});
|
|
262
450
|
run({
|
|
263
|
-
args: ['check', '
|
|
264
|
-
command: biomeBin,
|
|
265
|
-
label: 'biome',
|
|
266
|
-
silent: true
|
|
267
|
-
});
|
|
268
|
-
run({
|
|
269
|
-
args: ['-c', join(dir, '.oxlintrc.json'), '--fix', '--fix-suggestions', '--quiet'],
|
|
270
|
-
command: oxlintBin,
|
|
271
|
-
label: 'oxlint',
|
|
272
|
-
silent: true
|
|
273
|
-
});
|
|
274
|
-
run({
|
|
275
|
-
args: [eslintBin, ...eslintArgs, '--fix', '--cache', '--cache-location', join(cwd, '.cache', '.eslintcache')],
|
|
451
|
+
args: [sortPkgJson, '--check', '**/package.json', '--ignore', '**/node_modules/**'],
|
|
276
452
|
command: 'bun',
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
});
|
|
280
|
-
run({
|
|
281
|
-
args: ['check', '--config-path', dir, '--fix', '--diagnostic-level=error'],
|
|
282
|
-
command: biomeBin,
|
|
283
|
-
label: 'biome',
|
|
284
|
-
silent: true
|
|
453
|
+
env,
|
|
454
|
+
label: 'sort-package-json'
|
|
285
455
|
});
|
|
286
|
-
if (hasFlowmark)
|
|
287
|
-
run({ args: ['--auto', '.'], command: 'flowmark', label: 'flowmark', silent: true });
|
|
288
456
|
run({
|
|
289
|
-
args: [
|
|
457
|
+
args: [biomeBin, 'ci', '--config-path', dir, '--diagnostic-level=error'],
|
|
290
458
|
command: 'bun',
|
|
291
|
-
|
|
292
|
-
|
|
459
|
+
env,
|
|
460
|
+
label: 'biome'
|
|
293
461
|
});
|
|
294
|
-
}
|
|
295
|
-
else {
|
|
296
462
|
run({
|
|
297
|
-
args: [
|
|
463
|
+
args: [oxlintBin, '-c', joinPath(dir, '.oxlintrc.json'), '--quiet'],
|
|
298
464
|
command: 'bun',
|
|
299
|
-
|
|
465
|
+
env,
|
|
466
|
+
label: 'oxlint'
|
|
300
467
|
});
|
|
301
|
-
run({ args: ['ci', '--config-path', dir, '--diagnostic-level=error'], command: biomeBin, label: 'biome' });
|
|
302
|
-
run({ args: ['-c', join(dir, '.oxlintrc.json'), '--quiet'], command: oxlintBin, label: 'oxlint' });
|
|
303
468
|
run({
|
|
304
|
-
args: [eslintBin, ...eslintArgs, '--cache', '--cache-location',
|
|
469
|
+
args: [eslintBin, ...eslintArgs, '--cache', '--cache-location', joinPath(cwd, '.cache', '.eslintcache')],
|
|
305
470
|
command: 'bun',
|
|
471
|
+
env,
|
|
306
472
|
label: 'eslint'
|
|
307
473
|
});
|
|
308
474
|
run({
|
|
309
475
|
args: [prettierBin, ...prettierMd, '--check', '--no-error-on-unmatched-pattern', '**/*.md'],
|
|
310
476
|
command: 'bun',
|
|
477
|
+
env,
|
|
311
478
|
label: 'prettier'
|
|
312
479
|
});
|
|
480
|
+
}, main = async () => {
|
|
481
|
+
const version = await readVersion();
|
|
482
|
+
if (cmd === 'init') {
|
|
483
|
+
await runInit();
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
if (cmd === '--version' || cmd === '-v') {
|
|
487
|
+
process.stdout.write(`${version}\n`);
|
|
488
|
+
return;
|
|
489
|
+
}
|
|
490
|
+
if (cmd !== 'fix' && cmd !== 'check') {
|
|
491
|
+
usage({ version });
|
|
492
|
+
if (cmd === '--help' || cmd === '-h')
|
|
493
|
+
return;
|
|
494
|
+
throw new CliExitError({ code: 1 });
|
|
495
|
+
}
|
|
496
|
+
await runLint();
|
|
497
|
+
};
|
|
498
|
+
try {
|
|
499
|
+
await main();
|
|
500
|
+
}
|
|
501
|
+
catch (error) {
|
|
502
|
+
if (error instanceof CliExitError) {
|
|
503
|
+
if (error.message.length > 0)
|
|
504
|
+
process.stderr.write(`${error.message}\n`);
|
|
505
|
+
process.exitCode = error.code;
|
|
506
|
+
}
|
|
507
|
+
else
|
|
508
|
+
throw error;
|
|
313
509
|
}
|
|
314
510
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/eslint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../src/eslint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../src/eslint.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAYpC,OAAO,EAAE,YAAY,EAAiB,MAAM,eAAe,CAAA;AAG3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAI/C,UAAU,cAAe,SAAQ,aAAa;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,CAAA;CACzB;AACD,QAAA,MAEE,aAAa,GAAI,UAAU,cAAc,KAAG,UAAU,CAAC,OAAO,YAAY,CA8LzE,EACD,aAAa,kCAAkB,CAAA;AACjC,YAAY,EAAE,cAAc,EAAE,CAAA;AAC9B,eAAe,aAAa,CAAA;AAC5B,OAAO,EAAE,aAAa,IAAI,MAAM,EAAE,CAAA"}
|
package/dist/eslint.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="./types.d.ts" />
|
|
2
1
|
import eslintReact from '@eslint-react/eslint-plugin';
|
|
3
2
|
import { includeIgnoreFile } from '@eslint/compat';
|
|
4
3
|
import eslint from '@eslint/js';
|
|
@@ -10,18 +9,27 @@ import reactPlugin from 'eslint-plugin-react';
|
|
|
10
9
|
import reactHooks from 'eslint-plugin-react-hooks';
|
|
11
10
|
import turbo from 'eslint-plugin-turbo';
|
|
12
11
|
import { defineConfig, globalIgnores } from 'eslint/config';
|
|
13
|
-
import { existsSync } from 'node:fs';
|
|
14
|
-
import { isAbsolute, join } from 'node:path';
|
|
15
12
|
import tseslint from 'typescript-eslint';
|
|
16
13
|
import { warnToError } from './index.js';
|
|
14
|
+
import { isAbsolutePath, joinPath } from './path.js';
|
|
17
15
|
const tailwindRules = (entryPoint) => entryPoint ? eslintPluginBetterTailwindcss.configs['recommended-error'].rules : {}, eslintFactory = (options) => {
|
|
18
|
-
const opts = options ?? {}, root = opts.tsconfigRootDir ?? process.cwd(), configs = [], gitignorePath =
|
|
16
|
+
const opts = options ?? {}, root = opts.tsconfigRootDir ?? process.cwd(), configs = [], gitignorePath = joinPath(root, '.gitignore'), tailwindEntry = opts.tailwind && (isAbsolutePath(opts.tailwind) ? opts.tailwind : joinPath(root, opts.tailwind)), tailwindSettings = {};
|
|
19
17
|
if (tailwindEntry)
|
|
20
18
|
tailwindSettings['better-tailwindcss'] = { entryPoint: tailwindEntry };
|
|
21
19
|
if (opts.ignores)
|
|
22
20
|
configs.push(globalIgnores(opts.ignores));
|
|
23
|
-
|
|
21
|
+
try {
|
|
24
22
|
configs.push(includeIgnoreFile(gitignorePath));
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
if (error instanceof Error) {
|
|
26
|
+
const message = error.message.toLowerCase();
|
|
27
|
+
if (!(message.includes('enoent') || message.includes('no such file')))
|
|
28
|
+
throw error;
|
|
29
|
+
}
|
|
30
|
+
else
|
|
31
|
+
throw error;
|
|
32
|
+
}
|
|
25
33
|
configs.push(...defineConfig(perfectionist['recommended-natural'], { ignores: ['**/postcss.config.mjs'] }, {
|
|
26
34
|
extends: [
|
|
27
35
|
eslint.configs.recommended,
|
|
@@ -56,6 +64,7 @@ const tailwindRules = (entryPoint) => entryPoint ? eslintPluginBetterTailwindcss
|
|
|
56
64
|
{ fixStyle: 'separate-type-imports', prefer: 'type-imports' }
|
|
57
65
|
],
|
|
58
66
|
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
67
|
+
'@typescript-eslint/explicit-member-accessibility': 'off',
|
|
59
68
|
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
60
69
|
'@typescript-eslint/init-declarations': 'off',
|
|
61
70
|
'@typescript-eslint/naming-convention': [
|
package/dist/eslint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.js","sourceRoot":"","sources":["../src/eslint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eslint.js","sourceRoot":"","sources":["../src/eslint.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -24,10 +24,12 @@ interface OxlintOptions {
|
|
|
24
24
|
}
|
|
25
25
|
interface SyncOptions {
|
|
26
26
|
biome?: BiomeOptions;
|
|
27
|
+
compact?: boolean;
|
|
27
28
|
eslint?: EslintOptions;
|
|
29
|
+
globalIgnorePatterns?: string[];
|
|
28
30
|
oxlint?: OxlintOptions;
|
|
29
31
|
}
|
|
30
|
-
declare const warnToError: (rules: Partial<Linter.RulesRecord>) => Linter.RulesRecord, cacheDir: string, sync: (options?: SyncOptions) => void
|
|
32
|
+
declare const warnToError: (rules: Partial<Linter.RulesRecord>) => Linter.RulesRecord, cacheDir: string, sync: (options?: SyncOptions) => Promise<void>, defineConfig: (options: SyncOptions) => SyncOptions;
|
|
31
33
|
export type { EslintOptions, SyncOptions };
|
|
32
34
|
export { cacheDir, defineConfig, sync, warnToError };
|
|
33
35
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAMpC,UAAU,YAAY;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,SAAS,CAAC,EAAE;QACV,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;KAC9B,EAAE,CAAA;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAC9B;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAMpC,UAAU,YAAY;IACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,SAAS,CAAC,EAAE;QACV,aAAa,CAAC,EAAE,OAAO,CAAA;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAA;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;KAC9B,EAAE,CAAA;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAC9B;AACD,UAAU,aAAa;IACrB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AACD,UAAU,aAAa;IACrB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IACzB,SAAS,CAAC,EAAE;QACV,KAAK,EAAE,MAAM,EAAE,CAAA;QACf,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;KAC7B,EAAE,CAAA;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAA;CAC9B;AACD,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,oBAAoB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/B,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AACD,QAAA,MA+OE,WAAW,GAAI,OAAO,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,KAAG,MAAM,CAAC,WAQ1D,EACD,QAAQ,QAAgD,EACxD,IAAI,GAAU,UAAU,WAAW,KAAG,OAAO,CAAC,IAAI,CAgCjD,EACD,YAAY,GAAI,SAAS,WAAW,KAAG,WAAsB,CAAA;AAC/D,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,CAAA;AAC1C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,WAAW,EAAE,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
const pkgRoot = join(import.meta.dirname, '..'), biomeRulesOff = [
|
|
1
|
+
import { file, spawnSync, write } from 'bun';
|
|
2
|
+
import { dirnamePath, fromFileUrl, joinPath } from './path.js';
|
|
3
|
+
const decoder = new TextDecoder(), pkgRoot = dirnamePath(fromFileUrl(import.meta.resolve('../package.json'))), biomeRulesOff = [
|
|
5
4
|
'noBarrelFile',
|
|
6
5
|
'noConditionalExpect',
|
|
7
6
|
'noConsole',
|
|
@@ -50,8 +49,43 @@ const pkgRoot = join(import.meta.dirname, '..'), biomeRulesOff = [
|
|
|
50
49
|
'!!**/playwright-report',
|
|
51
50
|
'!!**/test-results',
|
|
52
51
|
'!!**/*.xcassets'
|
|
53
|
-
],
|
|
54
|
-
|
|
52
|
+
], normalizeBiomeIgnorePattern = ({ pattern }) => {
|
|
53
|
+
if (pattern.startsWith('!!'))
|
|
54
|
+
return pattern;
|
|
55
|
+
const trimmed = pattern.startsWith('./') ? pattern.slice(2) : pattern;
|
|
56
|
+
return trimmed.startsWith('**/') ? `!!${trimmed}` : `!!**/${trimmed}`;
|
|
57
|
+
}, decodeBytes = (bytes) => decoder.decode(bytes ?? new Uint8Array()), ensureDirectory = ({ directory }) => {
|
|
58
|
+
const result = spawnSync({
|
|
59
|
+
cmd: ['mkdir', '-p', directory],
|
|
60
|
+
stderr: 'pipe',
|
|
61
|
+
stdout: 'pipe'
|
|
62
|
+
});
|
|
63
|
+
if (result.exitCode === 0)
|
|
64
|
+
return;
|
|
65
|
+
const stderr = decodeBytes(result.stderr).trim();
|
|
66
|
+
throw new Error(stderr.length > 0 ? stderr : `Failed to create directory: ${directory}`);
|
|
67
|
+
}, resolveBundledModule = ({ specifier }) => {
|
|
68
|
+
try {
|
|
69
|
+
return fromFileUrl(import.meta.resolve(specifier));
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
}, readJsonFile = async ({ filePath }) => {
|
|
75
|
+
const text = await file(filePath).text();
|
|
76
|
+
return JSON.parse(text);
|
|
77
|
+
}, resolveSchemaPath = async ({ cwd }) => {
|
|
78
|
+
const bundled = resolveBundledModule({
|
|
79
|
+
specifier: '@biomejs/biome/configuration_schema.json'
|
|
80
|
+
});
|
|
81
|
+
if (bundled)
|
|
82
|
+
return bundled;
|
|
83
|
+
const consumerCandidate = joinPath(cwd, 'node_modules', '@biomejs', 'biome', 'configuration_schema.json');
|
|
84
|
+
if (await file(consumerCandidate).exists())
|
|
85
|
+
return consumerCandidate;
|
|
86
|
+
throw new Error('Cannot find module @biomejs/biome/configuration_schema.json');
|
|
87
|
+
}, resolveBiomeSchema = async ({ cwd }) => {
|
|
88
|
+
const schemaPath = await resolveSchemaPath({ cwd }), schema = await readJsonFile({ filePath: schemaPath }), rulesProps = schema.$defs.Rules?.properties ?? {}, categories = Object.keys(rulesProps).filter(k => k !== 'recommended'), ruleMap = new Map();
|
|
55
89
|
for (const cat of categories) {
|
|
56
90
|
const key = cat.charAt(0).toUpperCase() + cat.slice(1), props = schema.$defs[key]?.properties;
|
|
57
91
|
if (props)
|
|
@@ -65,7 +99,7 @@ const pkgRoot = join(import.meta.dirname, '..'), biomeRulesOff = [
|
|
|
65
99
|
for (const key of Object.keys(rules))
|
|
66
100
|
names.push(key.includes('/') ? key.slice(key.indexOf('/') + 1) : key);
|
|
67
101
|
return names;
|
|
68
|
-
}, groupByCategory = (
|
|
102
|
+
}, groupByCategory = ({ categoryMap, ruleNames }) => {
|
|
69
103
|
const result = {};
|
|
70
104
|
for (const rule of ruleNames) {
|
|
71
105
|
const cat = categoryMap.get(rule);
|
|
@@ -75,41 +109,56 @@ const pkgRoot = join(import.meta.dirname, '..'), biomeRulesOff = [
|
|
|
75
109
|
}
|
|
76
110
|
}
|
|
77
111
|
return result;
|
|
78
|
-
}, createBiomeConfig = (cwd, options) => {
|
|
79
|
-
const { categories, ruleMap } = resolveBiomeSchema(cwd), allRulesOff = [...biomeRulesOff];
|
|
112
|
+
}, createBiomeConfig = async ({ cwd, globalIgnorePatterns, options }) => {
|
|
113
|
+
const { categories, ruleMap } = await resolveBiomeSchema({ cwd }), allRulesOff = [...biomeRulesOff];
|
|
80
114
|
if (options?.rules)
|
|
81
115
|
for (const key of Object.keys(options.rules)) {
|
|
82
116
|
const ruleName = key.includes('/') ? key.slice(key.indexOf('/') + 1) : key;
|
|
83
117
|
if (!allRulesOff.includes(ruleName))
|
|
84
118
|
allRulesOff.push(ruleName);
|
|
85
119
|
}
|
|
86
|
-
const ignorePatterns = [...biomeIgnorePatterns];
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
}
|
|
120
|
+
const ignorePatterns = [...biomeIgnorePatterns], mergedIgnorePatterns = [...(globalIgnorePatterns ?? []), ...(options?.ignorePatterns ?? [])];
|
|
121
|
+
for (const pattern of mergedIgnorePatterns) {
|
|
122
|
+
const negated = normalizeBiomeIgnorePattern({ pattern });
|
|
123
|
+
if (!ignorePatterns.includes(negated))
|
|
124
|
+
ignorePatterns.push(negated);
|
|
125
|
+
}
|
|
93
126
|
const overrides = [
|
|
94
127
|
{
|
|
95
128
|
css: { parser: { tailwindDirectives: true } },
|
|
96
129
|
includes: ['**'],
|
|
97
|
-
linter: {
|
|
130
|
+
linter: {
|
|
131
|
+
rules: groupByCategory({
|
|
132
|
+
categoryMap: ruleMap,
|
|
133
|
+
ruleNames: allRulesOff
|
|
134
|
+
})
|
|
135
|
+
}
|
|
98
136
|
}
|
|
99
137
|
];
|
|
100
138
|
if (options?.overrides)
|
|
101
139
|
for (const override of options.overrides)
|
|
102
140
|
if (override.disableLinter)
|
|
103
|
-
overrides.push({
|
|
141
|
+
overrides.push({
|
|
142
|
+
includes: override.includes,
|
|
143
|
+
linter: { enabled: false }
|
|
144
|
+
});
|
|
104
145
|
else if (override.rules)
|
|
105
146
|
overrides.push({
|
|
106
147
|
includes: override.includes,
|
|
107
|
-
linter: {
|
|
148
|
+
linter: {
|
|
149
|
+
rules: groupByCategory({
|
|
150
|
+
categoryMap: ruleMap,
|
|
151
|
+
ruleNames: extractRuleNames(override.rules)
|
|
152
|
+
})
|
|
153
|
+
}
|
|
108
154
|
});
|
|
109
155
|
return {
|
|
110
156
|
$schema: 'https://biomejs.dev/schemas/latest/schema.json',
|
|
111
157
|
assist: { actions: { source: { organizeImports: 'off' } } },
|
|
112
|
-
css: {
|
|
158
|
+
css: {
|
|
159
|
+
formatter: { enabled: true, quoteStyle: 'single' },
|
|
160
|
+
parser: { tailwindDirectives: true }
|
|
161
|
+
},
|
|
113
162
|
files: { includes: ['**', ...ignorePatterns] },
|
|
114
163
|
formatter: { indentStyle: 'space', lineWidth: 123 },
|
|
115
164
|
javascript: {
|
|
@@ -138,12 +187,16 @@ const pkgRoot = join(import.meta.dirname, '..'), biomeRulesOff = [
|
|
|
138
187
|
},
|
|
139
188
|
overrides
|
|
140
189
|
};
|
|
141
|
-
}, createOxlintConfig = (options) => {
|
|
142
|
-
const base =
|
|
190
|
+
}, createOxlintConfig = async ({ globalIgnorePatterns, options }) => {
|
|
191
|
+
const base = await readJsonFile({ filePath: joinPath(pkgRoot, 'oxlintrc.json') }), mergedIgnorePatterns = [...(globalIgnorePatterns ?? []), ...(options?.ignorePatterns ?? [])];
|
|
192
|
+
if (mergedIgnorePatterns.length > 0) {
|
|
193
|
+
base.ignorePatterns ??= [];
|
|
194
|
+
for (const pattern of mergedIgnorePatterns)
|
|
195
|
+
if (!base.ignorePatterns.includes(pattern))
|
|
196
|
+
base.ignorePatterns.push(pattern);
|
|
197
|
+
}
|
|
143
198
|
if (!options)
|
|
144
199
|
return base;
|
|
145
|
-
if (options.ignorePatterns)
|
|
146
|
-
base.ignorePatterns = [...(base.ignorePatterns ?? []), ...options.ignorePatterns];
|
|
147
200
|
if (options.rules)
|
|
148
201
|
for (const [key, value] of Object.entries(options.rules))
|
|
149
202
|
base.rules[key] = value;
|
|
@@ -165,15 +218,34 @@ const pkgRoot = join(import.meta.dirname, '..'), biomeRulesOff = [
|
|
|
165
218
|
else
|
|
166
219
|
result[key] = value;
|
|
167
220
|
return result;
|
|
168
|
-
}, cacheDir =
|
|
169
|
-
const cwd = process.cwd(), dir =
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
221
|
+
}, cacheDir = joinPath('node_modules', '.cache', 'lintmax'), sync = async (options) => {
|
|
222
|
+
const cwd = process.cwd(), dir = joinPath(cwd, cacheDir), globalIgnorePatterns = options?.globalIgnorePatterns ?? [], mergedEslintIgnores = [...globalIgnorePatterns];
|
|
223
|
+
if (options?.eslint?.ignores)
|
|
224
|
+
for (const pattern of options.eslint.ignores)
|
|
225
|
+
if (!mergedEslintIgnores.includes(pattern))
|
|
226
|
+
mergedEslintIgnores.push(pattern);
|
|
227
|
+
const eslintOptions = options?.eslint
|
|
228
|
+
? { ...options.eslint }
|
|
229
|
+
: mergedEslintIgnores.length > 0
|
|
230
|
+
? { ignores: mergedEslintIgnores }
|
|
231
|
+
: undefined;
|
|
232
|
+
if (eslintOptions && mergedEslintIgnores.length > 0)
|
|
233
|
+
eslintOptions.ignores = mergedEslintIgnores;
|
|
234
|
+
ensureDirectory({ directory: dir });
|
|
235
|
+
const biomeConfig = await createBiomeConfig({
|
|
236
|
+
cwd,
|
|
237
|
+
globalIgnorePatterns,
|
|
238
|
+
options: options?.biome
|
|
239
|
+
}), oxlintConfig = await createOxlintConfig({
|
|
240
|
+
globalIgnorePatterns,
|
|
241
|
+
options: options?.oxlint
|
|
242
|
+
}), eslintConfig = eslintOptions
|
|
243
|
+
? `import { eslint } from 'lintmax/eslint'\nexport default eslint(${JSON.stringify(eslintOptions)})\n`
|
|
244
|
+
: "export { default } from 'lintmax/eslint'\n", runtimeConfig = { compact: options?.compact === true };
|
|
245
|
+
await write(joinPath(dir, 'biome.json'), `${JSON.stringify(biomeConfig, null, 2)}\n`);
|
|
246
|
+
await write(joinPath(dir, '.oxlintrc.json'), `${JSON.stringify(oxlintConfig, null, 2)}\n`);
|
|
247
|
+
await write(joinPath(dir, 'eslint.config.mjs'), eslintConfig);
|
|
248
|
+
await write(joinPath(dir, 'lintmax.json'), `${JSON.stringify(runtimeConfig, null, 2)}\n`);
|
|
177
249
|
}, defineConfig = (options) => options;
|
|
178
250
|
export { cacheDir, defineConfig, sync, warnToError };
|
|
179
251
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/path.d.ts
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const fromFileUrl: (value: string) => string, joinPath: (...parts: string[]) => string, dirnamePath: (value: string) => string, isAbsolutePath: (value: string) => boolean;
|
|
2
|
+
export { dirnamePath, fromFileUrl, isAbsolutePath, joinPath };
|
|
3
|
+
//# sourceMappingURL=path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"AAAA,QAAA,MAaE,WAAW,GAAI,OAAO,MAAM,WAM3B,EACD,QAAQ,GAAI,GAAG,OAAO,MAAM,EAAE,WAgB7B,EACD,WAAW,GAAI,OAAO,MAAM,WAM3B,EACD,cAAc,GAAI,OAAO,MAAM,YAG9B,CAAA;AACH,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,QAAQ,EAAE,CAAA"}
|
package/dist/path.js
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
const DRIVE_PATH_REGEX = /^[A-Za-z]:\//u, MULTI_SLASH_REGEX = /\/+/gu, normalizeSlashes = (value) => value.replaceAll('\\', '/'), trimLeadingSlash = (value) => {
|
|
2
|
+
let result = value;
|
|
3
|
+
while (result.startsWith('/'))
|
|
4
|
+
result = result.slice(1);
|
|
5
|
+
return result;
|
|
6
|
+
}, trimTrailingSlash = (value) => {
|
|
7
|
+
let result = value;
|
|
8
|
+
while (result.endsWith('/') && result.length > 1)
|
|
9
|
+
result = result.slice(0, -1);
|
|
10
|
+
return result;
|
|
11
|
+
}, fromFileUrl = (value) => {
|
|
12
|
+
if (!value.startsWith('file://'))
|
|
13
|
+
return normalizeSlashes(value);
|
|
14
|
+
const pathname = decodeURIComponent(new URL(value).pathname), normalized = normalizeSlashes(pathname);
|
|
15
|
+
if (DRIVE_PATH_REGEX.test(normalized.slice(1)))
|
|
16
|
+
return normalized.slice(1);
|
|
17
|
+
return normalized;
|
|
18
|
+
}, joinPath = (...parts) => {
|
|
19
|
+
if (parts.length === 0)
|
|
20
|
+
return '';
|
|
21
|
+
const normalizedParts = [];
|
|
22
|
+
for (const part of parts) {
|
|
23
|
+
const normalized = normalizeSlashes(part);
|
|
24
|
+
if (normalized.length > 0)
|
|
25
|
+
normalizedParts.push(normalized);
|
|
26
|
+
}
|
|
27
|
+
if (normalizedParts.length === 0)
|
|
28
|
+
return '';
|
|
29
|
+
const first = normalizedParts[0] ?? '', isAbsolute = first.startsWith('/') || DRIVE_PATH_REGEX.test(first), [head, ...tail] = normalizedParts, segments = [trimTrailingSlash(head ?? '')];
|
|
30
|
+
for (const segment of tail)
|
|
31
|
+
segments.push(trimLeadingSlash(trimTrailingSlash(segment)));
|
|
32
|
+
const joined = segments.join('/').replace(MULTI_SLASH_REGEX, '/'), withAbsolute = isAbsolute && !joined.startsWith('/') && !DRIVE_PATH_REGEX.test(joined) ? `/${joined}` : joined;
|
|
33
|
+
return withAbsolute;
|
|
34
|
+
}, dirnamePath = (value) => {
|
|
35
|
+
const normalized = trimTrailingSlash(normalizeSlashes(value)), lastSlash = normalized.lastIndexOf('/');
|
|
36
|
+
if (lastSlash === -1)
|
|
37
|
+
return '.';
|
|
38
|
+
if (lastSlash === 0)
|
|
39
|
+
return '/';
|
|
40
|
+
return normalized.slice(0, lastSlash);
|
|
41
|
+
}, isAbsolutePath = (value) => {
|
|
42
|
+
const normalized = normalizeSlashes(value);
|
|
43
|
+
return normalized.startsWith('/') || DRIVE_PATH_REGEX.test(normalized);
|
|
44
|
+
};
|
|
45
|
+
export { dirnamePath, fromFileUrl, isAbsolutePath, joinPath };
|
|
46
|
+
//# sourceMappingURL=path.js.map
|
package/dist/path.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "lintmax",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "Maximum strictness linting, formatting, and type-checking in one package",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"biome",
|
|
@@ -52,6 +52,9 @@
|
|
|
52
52
|
"@eslint/compat": "latest",
|
|
53
53
|
"@eslint/js": "latest",
|
|
54
54
|
"@next/eslint-plugin-next": "latest",
|
|
55
|
+
"@types/bun": "latest",
|
|
56
|
+
"@types/react": "latest",
|
|
57
|
+
"@types/react-dom": "latest",
|
|
55
58
|
"eslint": "9",
|
|
56
59
|
"eslint-plugin-better-tailwindcss": "latest",
|
|
57
60
|
"eslint-plugin-perfectionist": "latest",
|
|
@@ -62,13 +65,7 @@
|
|
|
62
65
|
"oxlint": "latest",
|
|
63
66
|
"prettier": "latest",
|
|
64
67
|
"sort-package-json": "latest",
|
|
68
|
+
"typescript": "latest",
|
|
65
69
|
"typescript-eslint": "latest"
|
|
66
|
-
},
|
|
67
|
-
"devDependencies": {
|
|
68
|
-
"@types/node": "latest",
|
|
69
|
-
"typescript": "latest"
|
|
70
|
-
},
|
|
71
|
-
"peerDependencies": {
|
|
72
|
-
"typescript": ">=5"
|
|
73
70
|
}
|
|
74
71
|
}
|