@st1ggy/linter-config 7.2.2 → 7.3.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/README.md +26 -2
- package/data/linter-config-inventory.json +2508 -2
- package/docs/RULE_MAPPING.md +2 -0
- package/index.d.ts +9 -0
- package/package.json +13 -2
- package/scripts/README.md +5 -1
- package/scripts/init-solid.sh +5 -0
- package/scripts/inventory.mjs +5 -0
- package/scripts/linter-init-core.mjs +13 -2
- package/scripts/linter-init.mjs +2 -0
- package/scripts/package-smoke.mjs +56 -0
- package/scripts/solid-config.test.mjs +134 -0
- package/src/eslint/configs/config.solid.js +36 -0
- package/src/eslint/eslint.config.solid.js +4 -0
- package/src/examples/example.solid.tsx +3 -0
- package/src/index.js +1 -0
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
|
|
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 packed-package smoke test on pushes to `main` and pull requests. The smoke test installs the tarball into a temporary project and checks the CLI and Solid preset import. The `Release` workflow runs these checks before publishing as well.
|
|
116
|
+
|
|
95
117
|
There is **one** published package at the **repository root** (no `packages/` workspace layout).
|
|
96
118
|
|
|
97
119
|
```bash
|
|
@@ -109,6 +131,8 @@ 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 |
|
|
135
|
+
| `node scripts/package-smoke.mjs` | Install a packed tarball and check its CLI and Solid preset |
|
|
112
136
|
| `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
137
|
| `npm run config:migrate` | `migrate` selected legacy configs and overwrite wrappers |
|
|
114
138
|
| `npm run config:reinit` | alias for `config:migrate` |
|