@eslint-config-snapshot/cli 0.3.0 → 0.3.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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @eslint-config-snapshot/cli
2
2
 
3
+ ## 0.3.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix deterministic aggregation when same-severity ESLint rule options differ across sampled files, preventing update crashes.
8
+ - Updated dependencies
9
+ - @eslint-config-snapshot/api@0.3.2
10
+
11
+ ## 0.3.1
12
+
13
+ ### Patch Changes
14
+
15
+ - Release patch bump after init UX clarity improvements for default catch-all group messaging.
16
+ - Updated dependencies
17
+ - @eslint-config-snapshot/api@0.3.1
18
+
3
19
  ## 0.3.0
4
20
 
5
21
  ### Minor Changes
package/dist/index.cjs CHANGED
@@ -124,7 +124,7 @@ function createProgram(cwd, onActionExit) {
124
124
  Examples:
125
125
  $ eslint-config-snapshot init
126
126
  Runs interactive select prompts for target/preset.
127
- Recommended preset uses checkbox selection for non-default workspaces and group selection.
127
+ Recommended preset keeps a dynamic catch-all default group ("*") and asks only for static exception groups.
128
128
 
129
129
  $ eslint-config-snapshot init --yes --target package-json --preset recommended --show-effective
130
130
  Non-interactive recommended setup in package.json, with effective preview.
@@ -484,7 +484,7 @@ async function askInitPreset(selectPrompt) {
484
484
  return selectPrompt({
485
485
  message: "Select preset",
486
486
  choices: [
487
- { name: 'recommended (default group "*" + static overrides)', value: "recommended" },
487
+ { name: 'recommended (dynamic catch-all "*" + optional static exceptions)', value: "recommended" },
488
488
  { name: "minimal", value: "minimal" },
489
489
  { name: "full", value: "full" }
490
490
  ]
@@ -634,9 +634,12 @@ function trimTrailingSlashes(value) {
634
634
  }
635
635
  async function askRecommendedGroupAssignments(workspaces) {
636
636
  const { checkbox, select } = await import("@inquirer/prompts");
637
- process.stdout.write('Recommended setup: select only workspaces that should leave default group "*".\n');
637
+ process.stdout.write(
638
+ 'Recommended setup: default group "*" is a dynamic catch-all for every discovered workspace.\n'
639
+ );
640
+ process.stdout.write("Select only workspaces that should move to explicit static groups.\n");
638
641
  const overrides = await checkbox({
639
- message: "Workspaces outside default group:",
642
+ message: 'Choose exception workspaces (leave empty to keep all in default "*"):',
640
643
  choices: workspaces.map((workspace) => ({ name: workspace, value: workspace })),
641
644
  pageSize: Math.min(12, Math.max(4, workspaces.length))
642
645
  });
package/dist/index.js CHANGED
@@ -104,7 +104,7 @@ function createProgram(cwd, onActionExit) {
104
104
  Examples:
105
105
  $ eslint-config-snapshot init
106
106
  Runs interactive select prompts for target/preset.
107
- Recommended preset uses checkbox selection for non-default workspaces and group selection.
107
+ Recommended preset keeps a dynamic catch-all default group ("*") and asks only for static exception groups.
108
108
 
109
109
  $ eslint-config-snapshot init --yes --target package-json --preset recommended --show-effective
110
110
  Non-interactive recommended setup in package.json, with effective preview.
@@ -464,7 +464,7 @@ async function askInitPreset(selectPrompt) {
464
464
  return selectPrompt({
465
465
  message: "Select preset",
466
466
  choices: [
467
- { name: 'recommended (default group "*" + static overrides)', value: "recommended" },
467
+ { name: 'recommended (dynamic catch-all "*" + optional static exceptions)', value: "recommended" },
468
468
  { name: "minimal", value: "minimal" },
469
469
  { name: "full", value: "full" }
470
470
  ]
@@ -614,9 +614,12 @@ function trimTrailingSlashes(value) {
614
614
  }
615
615
  async function askRecommendedGroupAssignments(workspaces) {
616
616
  const { checkbox, select } = await import("@inquirer/prompts");
617
- process.stdout.write('Recommended setup: select only workspaces that should leave default group "*".\n');
617
+ process.stdout.write(
618
+ 'Recommended setup: default group "*" is a dynamic catch-all for every discovered workspace.\n'
619
+ );
620
+ process.stdout.write("Select only workspaces that should move to explicit static groups.\n");
618
621
  const overrides = await checkbox({
619
- message: "Workspaces outside default group:",
622
+ message: 'Choose exception workspaces (leave empty to keep all in default "*"):',
620
623
  choices: workspaces.map((workspace) => ({ name: workspace, value: workspace })),
621
624
  pageSize: Math.min(12, Math.max(4, workspaces.length))
622
625
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eslint-config-snapshot/cli",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",
@@ -30,6 +30,6 @@
30
30
  "@inquirer/prompts": "^8.2.0",
31
31
  "commander": "^14.0.3",
32
32
  "fast-glob": "^3.3.3",
33
- "@eslint-config-snapshot/api": "0.3.0"
33
+ "@eslint-config-snapshot/api": "0.3.2"
34
34
  }
35
35
  }
package/src/index.ts CHANGED
@@ -164,7 +164,7 @@ function createProgram(cwd: string, onActionExit: (code: number) => void): Comma
164
164
  Examples:
165
165
  $ eslint-config-snapshot init
166
166
  Runs interactive select prompts for target/preset.
167
- Recommended preset uses checkbox selection for non-default workspaces and group selection.
167
+ Recommended preset keeps a dynamic catch-all default group ("*") and asks only for static exception groups.
168
168
 
169
169
  $ eslint-config-snapshot init --yes --target package-json --preset recommended --show-effective
170
170
  Non-interactive recommended setup in package.json, with effective preview.
@@ -617,7 +617,7 @@ async function askInitPreset(
617
617
  return selectPrompt({
618
618
  message: 'Select preset',
619
619
  choices: [
620
- { name: 'recommended (default group "*" + static overrides)', value: 'recommended' },
620
+ { name: 'recommended (dynamic catch-all "*" + optional static exceptions)', value: 'recommended' },
621
621
  { name: 'minimal', value: 'minimal' },
622
622
  { name: 'full', value: 'full' }
623
623
  ]
@@ -798,9 +798,12 @@ function trimTrailingSlashes(value: string): string {
798
798
 
799
799
  async function askRecommendedGroupAssignments(workspaces: string[]): Promise<Map<string, number>> {
800
800
  const { checkbox, select } = await import('@inquirer/prompts')
801
- process.stdout.write('Recommended setup: select only workspaces that should leave default group "*".\n')
801
+ process.stdout.write(
802
+ 'Recommended setup: default group "*" is a dynamic catch-all for every discovered workspace.\n'
803
+ )
804
+ process.stdout.write('Select only workspaces that should move to explicit static groups.\n')
802
805
  const overrides = await checkbox<string>({
803
- message: 'Workspaces outside default group:',
806
+ message: 'Choose exception workspaces (leave empty to keep all in default "*"):',
804
807
  choices: workspaces.map((workspace) => ({ name: workspace, value: workspace })),
805
808
  pageSize: Math.min(12, Math.max(4, workspaces.length))
806
809
  })
@@ -389,7 +389,7 @@ no-debugger: off
389
389
  expect(result.stdout).toContain('Initialize config (file or package.json)')
390
390
  expect(result.stdout).toContain('-f, --force')
391
391
  expect(result.stdout).toContain('Runs interactive select prompts for target/preset.')
392
- expect(result.stdout).toContain('Recommended preset uses checkbox selection')
392
+ expect(result.stdout).toContain('Recommended preset keeps a dynamic catch-all default group ("*")')
393
393
  expect(result.stdout).toContain('--show-effective')
394
394
  expect(result.stdout).toContain('--yes --force --target file --preset full')
395
395
  expect(result.stderr).toBe('')