@st1ggy/linter-config 7.2.2 → 7.3.0

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 CHANGED
@@ -16,15 +16,16 @@ The published CLI is invoked as **`@st1ggy/linter-config`** (see [`package.json`
16
16
 
17
17
  Unless **`--skip-install`** is passed: if **`package.json`** exists in the target directory, the CLI runs the detected package manager (**npm** / **pnpm** / **yarn** / **bun** from the nearest lockfile) to install **`@st1ggy/linter-config`** and only the selected stack's integration plugins. When all selected packages are already declared but missing from `node_modules`, it runs a regular install instead.
18
18
 
19
- Pick **at most one** stack flag (default **`--common`** if you omit all five):
19
+ Pick **at most one** stack flag (default **`--common`** if you omit all six):
20
20
 
21
- **`--common` · `--react` · `--next` · `--svelte` · `--astro`**
21
+ **`--common` · `--react` · `--solid` · `--next` · `--svelte` · `--astro`**
22
22
 
23
23
  **After** `npm i -D @st1ggy/linter-config`:
24
24
 
25
25
  ```bash
26
26
  npx @st1ggy/linter-config init
27
27
  npx @st1ggy/linter-config init --react
28
+ npx @st1ggy/linter-config init --solid
28
29
  npx @st1ggy/linter-config migrate --svelte --dir ./apps/web
29
30
  npx @st1ggy/linter-config init --astro
30
31
  npm exec @st1ggy/linter-config -- init --common
@@ -35,6 +36,7 @@ npm exec @st1ggy/linter-config -- init --common
35
36
  ```bash
36
37
  npx --yes @st1ggy/linter-config init
37
38
  npx --yes @st1ggy/linter-config init --react
39
+ npx --yes @st1ggy/linter-config init --solid
38
40
  npx --yes @st1ggy/linter-config migrate --svelte --dir ./apps/web
39
41
  npx --yes @st1ggy/linter-config init --astro
40
42
  ```
@@ -56,6 +58,7 @@ In this monorepo, `npm run config:init` / `config:migrate` / `config:reinit` / `
56
58
 
57
59
  ```js
58
60
  import eslintReact from '@st1ggy/linter-config/eslint-react'
61
+ import eslintSolid from '@st1ggy/linter-config/eslint-solid'
59
62
  import eslintAstro from '@st1ggy/linter-config/eslint-astro'
60
63
  import prettierCommon from '@st1ggy/linter-config/prettier-common'
61
64
  import prettierAstro from '@st1ggy/linter-config/prettier-astro'
@@ -64,6 +67,23 @@ import stylelintScss from '@st1ggy/linter-config/stylelint-scss'
64
67
 
65
68
  The barrel export `@st1ggy/linter-config` re-exports ESLint/Prettier/Stylelint presets only (see [`src/index.js`](src/index.js)).
66
69
 
70
+ ### SolidJS
71
+
72
+ The `eslint-solid` preset extends `eslint-common` with [eslint-plugin-solid](https://github.com/solidjs-community/eslint-plugin-solid): recommended rules for JavaScript/JSX, TypeScript-aware rules for TypeScript/TSX, and JSX formatting rules. It checks reactive props, reactivity tracking, and Solid-specific JSX usage.
73
+
74
+ Use the wizard (`npx @st1ggy/linter-config init --solid`) or install the integration manually:
75
+
76
+ ```bash
77
+ npm i -D @st1ggy/linter-config eslint-plugin-solid
78
+ ```
79
+
80
+ ```js
81
+ // eslint.config.js
82
+ export { default } from '@st1ggy/linter-config/eslint-solid'
83
+ ```
84
+
85
+ The named export is `eslintSolid`. The Solid stack uses `prettier-common` and `stylelint-scss`. As with the React preset, source files must be included in the project's `tsconfig.json`; Solid projects normally use `"jsx": "preserve"` and `"jsxImportSource": "solid-js"`.
86
+
67
87
  ### Migration (Stylelint)
68
88
 
69
89
  If you previously used Stylelint 16 with this preset, upgrade the consumer to **Stylelint 17** before depending on the latest release.
@@ -92,6 +112,8 @@ Releases are started manually from `Actions` → `Release` → `Run workflow`. I
92
112
 
93
113
  ## Toolchain (this repo)
94
114
 
115
+ The `CI` GitHub Actions workflow runs linting, Solid integration tests, TypeScript checks, and a package dry run on pushes to `main` and pull requests. The `Release` workflow also runs the integration tests and TypeScript checks before publishing.
116
+
95
117
  There is **one** published package at the **repository root** (no `packages/` workspace layout).
96
118
 
97
119
  ```bash
@@ -109,6 +131,7 @@ npm run lint
109
131
  | `npm run lint:prettier` | Prettier `--check` only |
110
132
  | `npm run lint:fix` | Auto-fix ESLint, Stylelint, Prettier |
111
133
  | `npm run inventory` | Regenerate [`data/linter-config-inventory.json`](data/linter-config-inventory.json) |
134
+ | `node --test scripts/solid-config.test.mjs` | Check Solid JSX/TSX linting and wrapper generation |
112
135
  | `npm run config:init` | `node ./scripts/linter-init.mjs init --common --dir ./examples/init-smoke` (skip existing); see [`scripts/README.md`](scripts/README.md) |
113
136
  | `npm run config:migrate` | `migrate` selected legacy configs and overwrite wrappers |
114
137
  | `npm run config:reinit` | alias for `config:migrate` |