@santi020k/eslint-config-basic 2.0.0 → 2.1.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/CHANGELOG.md CHANGED
@@ -1,5 +1,80 @@
1
1
  # @santi020k/eslint-config-basic
2
2
 
3
+ ## 2.1.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#95](https://github.com/santi020k/eslint-config-basic/pull/95) [`2576ec6`](https://github.com/santi020k/eslint-config-basic/commit/2576ec62df6127f5b40821e46a22394bb9dec867) Thanks [@santi020k](https://github.com/santi020k)! - Fix agent skill path convention, Astro virtual JS glob, and TypeScript virtual-file parser setup
8
+
9
+ - Agent skill generator now writes `SKILL.md` inside `skills/eslint-standards/` instead of `eslint-standards.md` inside `skills/`, aligning with the `skill://` URL convention used by Claude Code and other agents
10
+ - Gemini target follows the same convention (was `styleguide.md` at root)
11
+ - Added `**/*.astro/*.js` to `GLOB_VIRTUAL_TS` so Astro virtual JavaScript fragments with TypeScript syntax are parsed correctly
12
+ - Added a dedicated ESLint config block that disables `projectService` / `project` for all virtual TS/JS files, preventing TypeScript project service errors on those fragments
13
+
14
+ - Updated dependencies [[`2576ec6`](https://github.com/santi020k/eslint-config-basic/commit/2576ec62df6127f5b40821e46a22394bb9dec867)]:
15
+ - @santi020k/eslint-config-core@2.1.1
16
+ - @santi020k/eslint-config-typescript@2.1.1
17
+ - @santi020k/eslint-config-integrations@2.1.1
18
+ - @santi020k/eslint-config-angular@2.1.1
19
+ - @santi020k/eslint-config-astro@2.1.1
20
+ - @santi020k/eslint-config-expo@2.1.1
21
+ - @santi020k/eslint-config-hono@2.1.1
22
+ - @santi020k/eslint-config-lit@2.1.1
23
+ - @santi020k/eslint-config-nest@2.1.1
24
+ - @santi020k/eslint-config-next@2.1.1
25
+ - @santi020k/eslint-config-nuxt@2.1.1
26
+ - @santi020k/eslint-config-qwik@2.1.1
27
+ - @santi020k/eslint-config-react@2.1.1
28
+ - @santi020k/eslint-config-react-router@2.1.1
29
+ - @santi020k/eslint-config-remix@2.1.1
30
+ - @santi020k/eslint-config-slidev@2.1.1
31
+ - @santi020k/eslint-config-solid@2.1.1
32
+ - @santi020k/eslint-config-svelte@2.1.1
33
+ - @santi020k/eslint-config-tanstack-start@2.1.1
34
+ - @santi020k/eslint-config-vite@2.1.1
35
+ - @santi020k/eslint-config-vue@2.1.1
36
+ - @santi020k/eslint-config-preact@2.1.1
37
+
38
+ ## 2.1.0
39
+
40
+ ### Minor Changes
41
+
42
+ - [#93](https://github.com/santi020k/eslint-config-basic/pull/93) [`9bf89ba`](https://github.com/santi020k/eslint-config-basic/commit/9bf89badbabf46d8167b59096622b62a218d97db) Thanks [@santi020k](https://github.com/santi020k)! - Preserve detected runtime globals when detection infers a preset, including Cloudflare-specific globals, and stop warning for supported `typescript.project` parser options.
43
+
44
+ ### Patch Changes
45
+
46
+ - [#93](https://github.com/santi020k/eslint-config-basic/pull/93) [`9bf89ba`](https://github.com/santi020k/eslint-config-basic/commit/9bf89badbabf46d8167b59096622b62a218d97db) Thanks [@santi020k](https://github.com/santi020k)! - Remove the internal `./dist/index.js` path from the package exports map. This key was leaking a dist path as a public entrypoint alongside the canonical `.` entry; only `.` should be exported.
47
+
48
+ Update the npm package description to list all v2 frameworks: Lit, Nuxt, Preact, React Router, TanStack Start, and Vite were missing from the v1-era description string.
49
+
50
+ Fix the Node.js compatibility row in the root README — it said `>=22.18.0` (the dev-workspace floor) but published packages declare `>=22.0.0`.
51
+
52
+ - [#93](https://github.com/santi020k/eslint-config-basic/pull/93) [`9bf89ba`](https://github.com/santi020k/eslint-config-basic/commit/9bf89badbabf46d8167b59096622b62a218d97db) Thanks [@santi020k](https://github.com/santi020k)! - Update `engines.node` floor to `^20.19.0 || >=22.18.0` to safely support Node 20 environments while avoiding installation failures on early Node 22 versions.
53
+
54
+ - Updated dependencies [[`9bf89ba`](https://github.com/santi020k/eslint-config-basic/commit/9bf89badbabf46d8167b59096622b62a218d97db)]:
55
+ - @santi020k/eslint-config-integrations@2.1.0
56
+ - @santi020k/eslint-config-angular@2.1.0
57
+ - @santi020k/eslint-config-astro@2.1.0
58
+ - @santi020k/eslint-config-core@2.1.0
59
+ - @santi020k/eslint-config-expo@2.1.0
60
+ - @santi020k/eslint-config-hono@2.1.0
61
+ - @santi020k/eslint-config-lit@2.1.0
62
+ - @santi020k/eslint-config-nest@2.1.0
63
+ - @santi020k/eslint-config-next@2.1.0
64
+ - @santi020k/eslint-config-nuxt@2.1.0
65
+ - @santi020k/eslint-config-qwik@2.1.0
66
+ - @santi020k/eslint-config-react@2.1.0
67
+ - @santi020k/eslint-config-react-router@2.1.0
68
+ - @santi020k/eslint-config-remix@2.1.0
69
+ - @santi020k/eslint-config-slidev@2.1.0
70
+ - @santi020k/eslint-config-solid@2.1.0
71
+ - @santi020k/eslint-config-svelte@2.1.0
72
+ - @santi020k/eslint-config-tanstack-start@2.1.0
73
+ - @santi020k/eslint-config-typescript@2.1.0
74
+ - @santi020k/eslint-config-vite@2.1.0
75
+ - @santi020k/eslint-config-vue@2.1.0
76
+ - @santi020k/eslint-config-preact@2.1.0
77
+
3
78
  ## 2.0.0
4
79
 
5
80
  ### Major Changes
package/README.md CHANGED
@@ -4,7 +4,7 @@ The primary entry point that composes all feature-specific configurations.
4
4
 
5
5
  This package is part of the [`@santi020k/eslint-config-basic`](https://github.com/santi020k/eslint-config-basic) monorepo.
6
6
 
7
- - Docs: [Main package](https://eslint.santi020k.com/packages/basic.html)
7
+ - Docs: [Main package](https://eslint.santi020k.com/packages/basic)
8
8
  - Repository: [santi020k/eslint-config-basic](https://github.com/santi020k/eslint-config-basic)
9
9
  - Author: [santi020k](https://santi020k.com)
10
10
 
@@ -7,15 +7,15 @@ const AGENT_TARGETS = [
7
7
  format: "frontmatter",
8
8
  label: ".agent (generic skill format)",
9
9
  markerFolder: ".agent",
10
- skillFile: "eslint-standards.md",
11
- skillSubdir: "skills"
10
+ skillFile: "SKILL.md",
11
+ skillSubdir: "skills/eslint-standards"
12
12
  },
13
13
  {
14
14
  format: "frontmatter",
15
15
  label: ".agents (generic skill format)",
16
16
  markerFolder: ".agents",
17
- skillFile: "eslint-standards.md",
18
- skillSubdir: "skills"
17
+ skillFile: "SKILL.md",
18
+ skillSubdir: "skills/eslint-standards"
19
19
  },
20
20
  {
21
21
  format: "plain",
@@ -56,8 +56,8 @@ const AGENT_TARGETS = [
56
56
  format: "plain",
57
57
  label: "Gemini (.gemini)",
58
58
  markerFolder: ".gemini",
59
- skillFile: "styleguide.md",
60
- skillSubdir: "."
59
+ skillFile: "SKILL.md",
60
+ skillSubdir: "skills/eslint-standards"
61
61
  },
62
62
  {
63
63
  format: "plain",
package/dist/index.js CHANGED
@@ -245,7 +245,7 @@ const resolveBucketDefaults = (detected) => ({
245
245
  detectedTools: detected.tools ?? []
246
246
  });
247
247
  const resolveNextModeValue = (options, presetDefaults, detected) => options?.nextMode ?? presetDefaults.nextMode ?? detected.nextMode ?? NextMode.Pages;
248
- const resolveRuntimeValue = (options, presetDefaults, detected) => options?.runtime ?? presetDefaults.runtime ?? detected.runtime ?? Runtime.Universal;
248
+ const resolveRuntimeValue = (options, presetDefaults, detected, usePresetRuntime) => options?.runtime ?? (usePresetRuntime ? presetDefaults.runtime : void 0) ?? detected.runtime ?? Runtime.Universal;
249
249
  const resolveSettingsValue = (options, detected) => options?.settings ?? detected.settings ?? [];
250
250
  const resolveTypescriptValue = (options, presetDefaults, detected) => options?.typescript ?? presetDefaults.typescript ?? detected.typescript ?? false;
251
251
  const needsReactAutoAdd = (frameworks) => Boolean(
@@ -416,9 +416,6 @@ const emitBasicWarnings = (options) => {
416
416
  if (options?.frameworks && "remix" in options.frameworks) {
417
417
  process.emitWarning('[eslint-config-basic] Warning: `frameworks.remix` is deprecated and will be removed in the next major. Please use `frameworks["react-router"]` instead.');
418
418
  }
419
- if (options?.typescript && typeof options.typescript === "object" && "project" in options.typescript) {
420
- process.emitWarning("[eslint-config-basic] Warning: `typescript.project` is ignored in v2. Type-aware linting now relies on typescript-eslint projectService.");
421
- }
422
419
  };
423
420
  const eslintConfig = async (options, ...extraConfigs) => {
424
421
  emitBasicWarnings(options);
@@ -470,7 +467,7 @@ const eslintConfig = async (options, ...extraConfigs) => {
470
467
  optionMergeStrategy
471
468
  );
472
469
  const nextMode = resolveNextModeValue(options, presetDefaults, detected);
473
- const runtime = resolveRuntimeValue(options, presetDefaults, detected);
470
+ const runtime = resolveRuntimeValue(options, presetDefaults, detected, requestedPreset !== void 0);
474
471
  const settings = resolveSettingsValue(options, detected);
475
472
  const strict = getStrictMode(optStrict, presetDefaults.strict);
476
473
  const testing = mergeOptionalBucket(
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@santi020k/eslint-config-basic",
3
- "version": "2.0.0",
3
+ "version": "2.1.1",
4
4
  "publishConfig": {
5
- "access": "public"
5
+ "access": "public",
6
+ "provenance": true
6
7
  },
7
- "description": "A composable ESLint 10+ Flat Config package for JavaScript, TypeScript, React, Next.js, Vue, Svelte, Solid, Angular, Astro, Expo, NestJS, Hono, Qwik, and Remix.",
8
+ "description": "A composable ESLint 10+ Flat Config package for JavaScript, TypeScript, React, Next.js, Vue, Nuxt, Svelte, Solid, Angular, Astro, Expo, NestJS, Hono, Preact, Qwik, React Router, TanStack Start, Lit, Vite, and Slidev.",
8
9
  "type": "module",
9
10
  "main": "./dist/index.js",
10
11
  "module": "./dist/index.js",
@@ -14,10 +15,6 @@
14
15
  ".": {
15
16
  "types": "./dist/index.d.ts",
16
17
  "import": "./dist/index.js"
17
- },
18
- "./dist/index.js": {
19
- "types": "./dist/index.d.ts",
20
- "import": "./dist/index.js"
21
18
  }
22
19
  },
23
20
  "files": [
@@ -30,31 +27,31 @@
30
27
  },
31
28
  "dependencies": {
32
29
  "@typescript-eslint/utils": "^8.61.1",
33
- "@santi020k/eslint-config-angular": "^2.0.0",
34
- "@santi020k/eslint-config-astro": "^2.0.0",
35
- "@santi020k/eslint-config-core": "^2.0.0",
36
- "@santi020k/eslint-config-expo": "^2.0.0",
37
- "@santi020k/eslint-config-hono": "^2.0.0",
38
- "@santi020k/eslint-config-integrations": "^2.0.0",
39
- "@santi020k/eslint-config-lit": "^2.0.0",
40
- "@santi020k/eslint-config-nest": "^2.0.0",
41
- "@santi020k/eslint-config-next": "^2.0.0",
42
- "@santi020k/eslint-config-nuxt": "^2.0.0",
43
- "@santi020k/eslint-config-preact": "^2.0.0",
44
- "@santi020k/eslint-config-qwik": "^2.0.0",
45
- "@santi020k/eslint-config-react": "^2.0.0",
46
- "@santi020k/eslint-config-react-router": "^2.0.0",
47
- "@santi020k/eslint-config-remix": "^2.0.0",
48
- "@santi020k/eslint-config-slidev": "^2.0.0",
49
- "@santi020k/eslint-config-solid": "^2.0.0",
50
- "@santi020k/eslint-config-svelte": "^2.0.0",
51
- "@santi020k/eslint-config-tanstack-start": "^2.0.0",
52
- "@santi020k/eslint-config-typescript": "^2.0.0",
53
- "@santi020k/eslint-config-vite": "^2.0.0",
54
- "@santi020k/eslint-config-vue": "^2.0.0"
30
+ "@santi020k/eslint-config-angular": "^2.1.1",
31
+ "@santi020k/eslint-config-astro": "^2.1.1",
32
+ "@santi020k/eslint-config-core": "^2.1.1",
33
+ "@santi020k/eslint-config-expo": "^2.1.1",
34
+ "@santi020k/eslint-config-hono": "^2.1.1",
35
+ "@santi020k/eslint-config-integrations": "^2.1.1",
36
+ "@santi020k/eslint-config-lit": "^2.1.1",
37
+ "@santi020k/eslint-config-nest": "^2.1.1",
38
+ "@santi020k/eslint-config-next": "^2.1.1",
39
+ "@santi020k/eslint-config-nuxt": "^2.1.1",
40
+ "@santi020k/eslint-config-preact": "^2.1.1",
41
+ "@santi020k/eslint-config-qwik": "^2.1.1",
42
+ "@santi020k/eslint-config-react": "^2.1.1",
43
+ "@santi020k/eslint-config-react-router": "^2.1.1",
44
+ "@santi020k/eslint-config-remix": "^2.1.1",
45
+ "@santi020k/eslint-config-slidev": "^2.1.1",
46
+ "@santi020k/eslint-config-solid": "^2.1.1",
47
+ "@santi020k/eslint-config-svelte": "^2.1.1",
48
+ "@santi020k/eslint-config-tanstack-start": "^2.1.1",
49
+ "@santi020k/eslint-config-typescript": "^2.1.1",
50
+ "@santi020k/eslint-config-vite": "^2.1.1",
51
+ "@santi020k/eslint-config-vue": "^2.1.1"
55
52
  },
56
53
  "devDependencies": {
57
- "@types/node": "^25.9.3",
54
+ "@types/node": "^26.0.0",
58
55
  "publint": "^0.3.21",
59
56
  "tsup": "^8.5.1",
60
57
  "typescript": "^6.0.3"
@@ -69,14 +66,14 @@
69
66
  }
70
67
  },
71
68
  "engines": {
72
- "node": ">=22.18.0"
69
+ "node": "^20.19.0 || >=22.18.0"
73
70
  },
74
71
  "repository": {
75
72
  "type": "git",
76
73
  "url": "git+https://github.com/santi020k/eslint-config-basic.git",
77
74
  "directory": "packages/basic"
78
75
  },
79
- "homepage": "https://eslint.santi020k.com/packages/basic.html",
76
+ "homepage": "https://eslint.santi020k.com/packages/basic",
80
77
  "bugs": {
81
78
  "url": "https://github.com/santi020k/eslint-config-basic/issues"
82
79
  },