@4mbl/lint 1.0.0-beta.8 → 1.0.0-beta.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @4mbl/lint
2
2
 
3
+ ## 1.0.0-beta.9
4
+
5
+ ### Minor Changes
6
+
7
+ - 491164e: Add --help flag to cli
8
+ - 491164e: Fallback to Oxlint config lookup if no preset is passed to CLI and Oxlint config exists within working directory.
9
+
3
10
  ## 1.0.0-beta.8
4
11
 
5
12
  ### Minor Changes
package/bin/cli.js CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
 
3
3
  import { spawnSync } from 'node:child_process';
4
+ import { existsSync } from 'node:fs';
4
5
  import path from 'node:path';
5
6
  import { fileURLToPath } from 'node:url';
6
7
 
@@ -15,11 +16,38 @@ const wrapperArgs =
15
16
  separatorIndex === -1 ? rawArgs : rawArgs.slice(0, separatorIndex);
16
17
  const toolArgs = separatorIndex === -1 ? [] : rawArgs.slice(separatorIndex + 1);
17
18
 
19
+ if (wrapperArgs.includes('--help') || rawArgs.includes('-h')) {
20
+ console.log(`
21
+ Usage:
22
+ lint [options] -- [oxlint options]
23
+
24
+ Options:
25
+ --preset <name> Use a preset config (default: base if no config within cwd)
26
+
27
+ Examples:
28
+ lint
29
+ lint --preset node
30
+ lint -- src --fix
31
+
32
+ Notes:
33
+ Everything after "--" is passed directly to oxlint.
34
+ `);
35
+
36
+ process.exit(0);
37
+ }
38
+
18
39
  const presetArgIndex = wrapperArgs.findIndex((a) => a === '--preset');
40
+
19
41
  const presetName =
20
- presetArgIndex !== -1 ? wrapperArgs[presetArgIndex + 1] : 'base';
42
+ presetArgIndex !== -1
43
+ ? wrapperArgs[presetArgIndex + 1]
44
+ : !existsSync('./oxlint.config.ts') && !existsSync('./.oxlintrc.json')
45
+ ? 'base'
46
+ : undefined;
21
47
 
22
- const configPath = path.resolve(__dirname, `../dist/${presetName}.js`);
48
+ const configPath = presetName
49
+ ? path.resolve(__dirname, `../dist/${presetName}.js`)
50
+ : undefined;
23
51
 
24
52
  const hasPath = toolArgs.some((a) => !a.startsWith('-'));
25
53
  const hasMaxWarn = toolArgs.some((a) => a.startsWith('--max-warnings'));
@@ -28,7 +56,7 @@ const hasReportUnused = toolArgs.some((a) =>
28
56
  );
29
57
 
30
58
  const finalArgs = [
31
- '--config',
59
+ configPath ? '--config' : undefined,
32
60
  configPath,
33
61
  hasPath ? undefined : 'src',
34
62
  hasMaxWarn ? undefined : '--max-warnings=0',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@4mbl/lint",
3
- "version": "1.0.0-beta.8",
3
+ "version": "1.0.0-beta.9",
4
4
  "description": "Linting configuration for various environments.",
5
5
  "type": "module",
6
6
  "author": "4mbl",