@santi020k/eslint-config-basic 2.0.0-beta.3 → 2.0.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/CHANGELOG.md +144 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +13 -2
- package/package.json +23 -23
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,149 @@
|
|
|
1
1
|
# @santi020k/eslint-config-basic
|
|
2
2
|
|
|
3
|
+
## 2.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - **Breaking**: require ESLint 10. All packages now declare `"eslint": "^10.0.0"` as peer dependency (previously `^9.0.0 || ^10.0.0`), and `@santi020k/eslint-config-core` depends on `@eslint/js` v10.
|
|
8
|
+
|
|
9
|
+
ESLint v9.x reaches end-of-life on 2026-08-06; targeting v10 only lets the configs rely on v10 behavior:
|
|
10
|
+
|
|
11
|
+
- per-file config lookup (`eslint.config.*` resolved from each linted file's directory) — workspace packages can now ship their own config files alongside or instead of the root `projects` option
|
|
12
|
+
- JSX reference tracking — correct scope analysis for JSX without plugin workarounds
|
|
13
|
+
- the updated `eslint:recommended` baseline from `@eslint/js` v10
|
|
14
|
+
|
|
15
|
+
If you are still on ESLint 9, stay on the v1.x line of these packages.
|
|
16
|
+
|
|
17
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - Lazy framework loading and normalized framework export naming.
|
|
18
|
+
|
|
19
|
+
**Lazy loading**: framework packages (angular-eslint, vue-eslint-parser, eslint-plugin-svelte, …) are now imported dynamically and only when their framework is enabled. Projects that enable none or few frameworks no longer pay the startup cost of loading every bundled framework plugin when `eslintConfig()` / `defineConfig()` runs.
|
|
20
|
+
|
|
21
|
+
**Breaking — normalized naming**: framework exports from `@santi020k/eslint-config-basic` now use bare framework names, and all of them are async factories returning `Promise<FlatConfigArray>`:
|
|
22
|
+
|
|
23
|
+
`angular`, `astro`, `expo`, `hono`, `lit`, `nest`, `next`, `nuxt`, `qwik`, `react`, `reactRouter`, `slidev`, `solid`, `svelte`, `tanstackStart`, `vite`, `vue` (plus deprecated `remix`).
|
|
24
|
+
|
|
25
|
+
The previous mixed-style names (`angularConfig`, `expoConfig`, `nestConfig`, `nextConfig`, `reactConfig`, `solidConfig`, `svelteConfig`, `vueConfig`) remain available as deprecated aliases of the same factories, but they are no longer plain config arrays — call them (and `await` the result) when composing manually:
|
|
26
|
+
|
|
27
|
+
```js
|
|
28
|
+
// before (v1)
|
|
29
|
+
import { reactConfig } from "@santi020k/eslint-config-basic";
|
|
30
|
+
|
|
31
|
+
export default [...reactConfig];
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
```js
|
|
35
|
+
// after (v2)
|
|
36
|
+
import { react } from "@santi020k/eslint-config-basic";
|
|
37
|
+
|
|
38
|
+
export default [...(await react())];
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Most users are unaffected: `frameworks: { react: true }` and auto-detection behave exactly as before.
|
|
42
|
+
|
|
43
|
+
`@santi020k/eslint-config-core`: the `ImportedFramework` type now also accepts async factories (`(options?) => Promise<FlatConfigArray>`), so lazy factories can be passed directly as framework option values.
|
|
44
|
+
|
|
45
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - Release v2 with a single public application install through `@santi020k/eslint-config-basic`.
|
|
46
|
+
|
|
47
|
+
Application projects no longer need to install or import separate framework config packages. Framework integrations are bundled behind the main package and can be enabled with booleans such as `frameworks.react: true`, `frameworks.next: true`, or by relying on auto-detection from `eslintConfig()`.
|
|
48
|
+
|
|
49
|
+
Detected framework configs are now enabled by default, while an explicit `frameworks: {}` remains the opt-out path. Next.js, Expo, and Remix automatically include React rules when enabled.
|
|
50
|
+
|
|
51
|
+
The documentation site now keeps the previous v1 docs under `/v1/`, updates the root docs for v2, and includes a v1 to v2 migration guide.
|
|
52
|
+
|
|
53
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - Modernize the React stack and rename Remix:
|
|
54
|
+
|
|
55
|
+
- **BREAKING**: `@santi020k/eslint-config-react` now uses `@eslint-react/eslint-plugin` instead of `eslint-plugin-react` + `eslint-plugin-react-hooks`. Rule names change from `react/*` and `react-hooks/*` to `@eslint-react/*` (e.g. `react-hooks/exhaustive-deps` → `@eslint-react/exhaustive-deps`). This removes the `fixupConfigRules` compatibility shim, is ESLint 10-native, and includes the hooks rules. `react-compiler` and `react-refresh` plugins are unchanged.
|
|
56
|
+
- **BREAKING**: `@santi020k/eslint-config-remix` is now a deprecated alias that re-exports `@santi020k/eslint-config-react-router` (Remix merged into React Router v7). The `frameworks.remix` key still works but is deprecated — use `frameworks['react-router']`. The alias will be removed in the next major.
|
|
57
|
+
- The toolchain now builds with TypeScript 6.
|
|
58
|
+
|
|
59
|
+
### Minor Changes
|
|
60
|
+
|
|
61
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - Add first-class support for Preact.
|
|
62
|
+
|
|
63
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - AI tooling workflow improvements:
|
|
64
|
+
|
|
65
|
+
- **Default ignores for AI artifacts**: the composed config now ignores AI coding-assistant folders (`.agent`, `.agents`, `.aider*`, `.claude`, `.clinerules`, `.codex`, `.copilot`, `.cursor`, `.gemini`, `.kiro`, `.opencode`, `.roo`, `.windsurf`) so generated agent rules are never linted as source code. Disable via `settings: [Setting.NoDefaultIgnores]`.
|
|
66
|
+
- **`generate-skill --check`**: CI mode that compares existing agent skill files (and guarded `AGENTS.md` / copilot-instructions sections) against freshly generated content without writing, and exits with code 1 when anything is stale or missing.
|
|
67
|
+
- **`generate-skill --create`**: scaffolds a root `AGENTS.md` with the guarded ESLint-standards section when the project has none.
|
|
68
|
+
- **`doctor` duplicate-ESLint detection**: warns when the project and the config packages resolve two different ESLint versions (e.g. an ESLint 9 project pulling in the config's ESLint 10 dependency). Both majors remain supported; the warning helps avoid editor/CLI rule-behavior drift.
|
|
69
|
+
|
|
70
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - Add broader AI tooling support:
|
|
71
|
+
|
|
72
|
+
- **New agent skill targets** in `generate-skill`: Gemini (`.gemini/styleguide.md`), Cline (`.clinerules/`), Roo Code (`.roo/rules/`), and Kiro (`.kiro/steering/` with `inclusion: always` front-matter). The generator also maintains a guarded ESLint-standards section in an existing root `AGENTS.md` (the open standard read by Codex CLI, OpenCode, Jules, Amp, and others), mirroring the `.github/copilot-instructions.md` behavior.
|
|
73
|
+
- **New library integrations**: `Library.Langchain` and `Library.LlamaIndex` add import safety rules for LangChain.js (`langchain`, `@langchain/*`) and LlamaIndex.TS (`llamaindex`, `@llamaindex/*`) projects, with auto-detection from `package.json` dependencies.
|
|
74
|
+
- Generated agent skills now report AI SDK, MCP, Mastra, OpenAI Agents, LangChain, and LlamaIndex integrations in the feature summary.
|
|
75
|
+
|
|
76
|
+
- [`dfba51d`](https://github.com/santi020k/eslint-config-basic/commit/dfba51dca7387a71a263af206eb86fd8df15f387) Thanks [@santi020k](https://github.com/santi020k)! - Improve config migration handling and enhance TypeScript options detection
|
|
77
|
+
|
|
78
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - Add optional `ignores` to `eslintConfig()` / `EslintConfigOptions` for extra global ignore globs, documented in the configuration guide.
|
|
79
|
+
|
|
80
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - Add `defineConfig` as a named alias for `eslintConfig`, keep implicit framework expansion from mutating caller-provided options, declare ESLint as a peer dependency of the umbrella package, and mark the package as side-effect free for bundlers.
|
|
81
|
+
|
|
82
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - Fix `optionMergeStrategy: 'merge'` so explicitly passed options (`tools`, `testing`, `formats`, `libraries`, `extensions`, `frameworks`) are actually unioned with detected and preset values, as documented. Previously, providing any of these options silently replaced detected/preset values regardless of strategy. To fully opt out of detected frameworks, use `autoFrameworks: false` or `optionMergeStrategy: 'replace'` (an explicit `frameworks: {}` no longer opts out under the default merge strategy).
|
|
83
|
+
|
|
84
|
+
Other fixes:
|
|
85
|
+
|
|
86
|
+
- `detection: false` now also disables the default detected extensions (Unicorn, Perfectionist, Security); a new granular `detection: { extensions: false }` control is available.
|
|
87
|
+
- Negated glob patterns (`!pattern`) in `projects` sub-configs are now scoped correctly instead of producing invalid `path/!glob` patterns.
|
|
88
|
+
- Deprecate the unused `TsOptions` interface (`typescript: { project }` was ignored since v2) and correct stale doc comments on `ImportedFramework` and the no-op `Setting.Gitignore` / `Setting.DefaultIgnores` values.
|
|
89
|
+
|
|
90
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - Disable context-sensitive framework rules that produce false positives in lint-staged and monorepo layouts: Nest's provider reference rule and Next's Pages Router link rule.
|
|
91
|
+
|
|
92
|
+
- [#91](https://github.com/santi020k/eslint-config-basic/pull/91) [`59158db`](https://github.com/santi020k/eslint-config-basic/commit/59158dbc0b48de041062f4d0c75b1f7e3a1e779c) Thanks [@santi020k](https://github.com/santi020k)! - Tailwind `noUnknownClasses` option, expanded testing config names, and virtual TS parser fix.
|
|
93
|
+
|
|
94
|
+
- **`TailwindOptions.noUnknownClasses`**: new optional field (`'error' | 'warn' | 'off' | false`) to control the `better-tailwindcss/no-unknown-classes` rule severity. Defaults to `'error'` when a Tailwind entry point is detected; set to `false` or `'off'` to disable.
|
|
95
|
+
- **Testing config overrides**: `TESTING_CONFIG_NAMES` now maps Cypress, Jest, JestDom, Playwright, TestingLibrary, and Vitest — so per-testing-tool file overrides are applied for all supported testing integrations, not just Playwright.
|
|
96
|
+
- **TypeScript virtual file parser**: the parser-setup config block now also covers virtual TS files (`parserSetupFiles` includes `GLOB_VIRTUAL_TS`), fixing missing parser options for framework-generated virtual modules.
|
|
97
|
+
|
|
98
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - Add new framework and integration support:
|
|
99
|
+
|
|
100
|
+
- **New framework packages**: Nuxt (`@nuxt/eslint-plugin` on top of the Vue config), Lit (`eslint-plugin-lit` + `eslint-plugin-wc`), React Router v7 (successor to Remix), and TanStack Start (bundles TanStack Router + Query rules). All are wired into `eslintConfig()` framework keys, bundled resolvers, auto-detection (`nuxt`, `lit`, `@react-router/dev`, `@tanstack/react-start`, `@tanstack/solid-start`), the CLI, and the agent-skill generator.
|
|
101
|
+
- **New formats**: `Format.Css` (official `@eslint/css` plugin) and `Format.Html` (`@html-eslint`).
|
|
102
|
+
- **New extensions**: `Extension.Node` (`eslint-plugin-n`, with TS-aware module-resolution overrides), `Extension.Compat` (browserslist compatibility), `Extension.DeMorgan`, `Extension.Depend`, and `Extension.Oxlint` (disables rules covered by Oxlint for hybrid setups, applied last like Biome).
|
|
103
|
+
- **New tool**: `Tool.Pnpm` (`eslint-plugin-pnpm`) enforcing pnpm catalogs and workspace settings in `package.json` and `pnpm-workspace.yaml`.
|
|
104
|
+
|
|
105
|
+
### Patch Changes
|
|
106
|
+
|
|
107
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - Refresh all external dependencies to their latest versions across the monorepo (58 bumps), including majors: TypeScript 6.0, Vite 8, Angular 22, MikroORM 7, and TypeORM 1.0. ESLint moves to 10.5, the `vite` and `eslint` pnpm overrides are updated to match, and the Angular and NestJS playgrounds now declare `rxjs@^7.8.2` explicitly so framework peer dependencies no longer resolve against a stale transitive rxjs 6.
|
|
108
|
+
|
|
109
|
+
- [#92](https://github.com/santi020k/eslint-config-basic/pull/92) [`9524bf8`](https://github.com/santi020k/eslint-config-basic/commit/9524bf8a955ece3cb44e8bdd4114bced0f8a646d) Thanks [@santi020k](https://github.com/santi020k)! - fix: export `boundaries` from the main package barrel — it was wired internally but missing from the public API, making `import { boundaries } from '@santi020k/eslint-config-basic'` resolve to undefined
|
|
110
|
+
|
|
111
|
+
- [#92](https://github.com/santi020k/eslint-config-basic/pull/92) [`9524bf8`](https://github.com/santi020k/eslint-config-basic/commit/9524bf8a955ece3cb44e8bdd4114bced0f8a646d) Thanks [@santi020k](https://github.com/santi020k)! - fix: gate `security/detect-non-literal-fs-filename` scripts override on Security extension being enabled — previously the rule was always emitted, which caused ESLint to throw "Could not find plugin 'security'" for consumers who did not opt in to the Security extension
|
|
112
|
+
|
|
113
|
+
- [#87](https://github.com/santi020k/eslint-config-basic/pull/87) [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc) Thanks [@santi020k](https://github.com/santi020k)! - Add `@santi020k/eslint-config-lite` as an optional composer package for projects that want to install framework and integration config packages manually. The full `@santi020k/eslint-config-basic` package remains the recommended default install.
|
|
114
|
+
|
|
115
|
+
Expose integration composition helpers from `@santi020k/eslint-config-integrations` so the lite package can lazy-load integration configs only when selected.
|
|
116
|
+
|
|
117
|
+
Teach `basic-eslint doctor` to recognize lite configs and warn when detected frameworks or integrations are missing their manually installed config packages.
|
|
118
|
+
|
|
119
|
+
Add `basic-eslint doctor --lite-install` to print the detected package-manager install command for switching a project to the lite package, including framework config packages, integrations, ESLint, and TypeScript when needed.
|
|
120
|
+
|
|
121
|
+
Document package-choice metrics, a Basic-to-Lite migration recipe, and a lite-specific `Preset.All` warning.
|
|
122
|
+
|
|
123
|
+
- Updated dependencies [[`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`dfba51d`](https://github.com/santi020k/eslint-config-basic/commit/dfba51dca7387a71a263af206eb86fd8df15f387), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`9524bf8`](https://github.com/santi020k/eslint-config-basic/commit/9524bf8a955ece3cb44e8bdd4114bced0f8a646d), [`59158db`](https://github.com/santi020k/eslint-config-basic/commit/59158dbc0b48de041062f4d0c75b1f7e3a1e779c), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`59158db`](https://github.com/santi020k/eslint-config-basic/commit/59158dbc0b48de041062f4d0c75b1f7e3a1e779c), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc), [`2ee503b`](https://github.com/santi020k/eslint-config-basic/commit/2ee503be55f5484624ee2e873fe59f348709eadc)]:
|
|
124
|
+
- @santi020k/eslint-config-preact@2.0.0
|
|
125
|
+
- @santi020k/eslint-config-core@2.0.0
|
|
126
|
+
- @santi020k/eslint-config-integrations@2.0.0
|
|
127
|
+
- @santi020k/eslint-config-angular@2.0.0
|
|
128
|
+
- @santi020k/eslint-config-astro@2.0.0
|
|
129
|
+
- @santi020k/eslint-config-expo@2.0.0
|
|
130
|
+
- @santi020k/eslint-config-hono@2.0.0
|
|
131
|
+
- @santi020k/eslint-config-lit@2.0.0
|
|
132
|
+
- @santi020k/eslint-config-nest@2.0.0
|
|
133
|
+
- @santi020k/eslint-config-next@2.0.0
|
|
134
|
+
- @santi020k/eslint-config-nuxt@2.0.0
|
|
135
|
+
- @santi020k/eslint-config-qwik@2.0.0
|
|
136
|
+
- @santi020k/eslint-config-react@2.0.0
|
|
137
|
+
- @santi020k/eslint-config-react-router@2.0.0
|
|
138
|
+
- @santi020k/eslint-config-remix@2.0.0
|
|
139
|
+
- @santi020k/eslint-config-slidev@2.0.0
|
|
140
|
+
- @santi020k/eslint-config-solid@2.0.0
|
|
141
|
+
- @santi020k/eslint-config-svelte@2.0.0
|
|
142
|
+
- @santi020k/eslint-config-tanstack-start@2.0.0
|
|
143
|
+
- @santi020k/eslint-config-typescript@2.0.0
|
|
144
|
+
- @santi020k/eslint-config-vite@2.0.0
|
|
145
|
+
- @santi020k/eslint-config-vue@2.0.0
|
|
146
|
+
|
|
3
147
|
## 2.0.0-beta.3
|
|
4
148
|
|
|
5
149
|
### Patch Changes
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { EslintConfigOptions, ConfigInput, FlatConfigArray } from '@santi020k/es
|
|
|
2
2
|
export { DetectedFrameworkName, DetectionOptions, EslintConfigOptions, Extension, ExtensionName, ExtensionOption, FlatConfigArray, Format, FormatName, FormatOption, ImportGroupOptions, ImportedFramework, Library, LibraryName, LibraryOption, NextMode, NextModeName, NextModeOption, OptionalConfigMap, OptionalConfigName, Preset, PresetName, PresetOption, ReactConfigKeys, Runtime, RuntimeName, RuntimeOption, Setting, SettingName, SettingOption, StrictMode, Testing, TestingName, TestingOption, Tool, ToolName, ToolOption, TypeScriptMode, TypeScriptOptions, coreConfig, createCoreConfig, createImportGroups, detectProjectOptions, getGlobalsForRuntime, gitignore, groups, hasReactConfig, jsConfig } from '@santi020k/eslint-config-core';
|
|
3
3
|
export { AGENT_TARGETS, AgentTarget, EslintConfigFeatures, GenerateSkillOptions, GenerateSkillResult, generateAgentSkills, generateSkillContent } from './agent-skill-generator.js';
|
|
4
4
|
export { angular, angularConfig, astro, expo, expoConfig, hono, lit, nest, nestConfig, next, nextConfig, nuxt, preact, preactConfig, qwik, react, reactConfig, reactRouter, remix, slidev, solid, solidConfig, svelte, svelteConfig, tanstackStart, vite, vue, vueConfig } from './frameworks.js';
|
|
5
|
-
export { a11y, aiSdk, autogen, bestPractices, biome, command, compat, cspell, css, cypress, deMorgan, depend, docker, drizzle, githubActions, googleGenAi, graphql, html, i18next, jest, jestDom, jsdoc, jsonc, langchain, llamaIndex, markdown, mastra, mcp, mdx, mikroOrm, noOnlyTests, node, nx, openAiAgents, oxlint, packageJson, perfectionist, playwright, pnpm, prettier, prisma, regexp, security, sequelize, sonarjs, stencil, storybook, swagger, tailwind, tanstackQuery, tanstackRouter, testingLibrary, toml, turbo, typeorm, unicorn, vitest, yaml, zod } from '@santi020k/eslint-config-integrations';
|
|
5
|
+
export { a11y, aiSdk, autogen, bestPractices, biome, boundaries, command, compat, cspell, css, cypress, deMorgan, depend, docker, drizzle, githubActions, googleGenAi, graphql, html, i18next, jest, jestDom, jsdoc, jsonc, langchain, llamaIndex, markdown, mastra, mcp, mdx, mikroOrm, noOnlyTests, node, nx, openAiAgents, oxlint, packageJson, perfectionist, playwright, pnpm, prettier, prisma, regexp, security, sequelize, sonarjs, stencil, storybook, swagger, tailwind, tanstackQuery, tanstackRouter, testingLibrary, toml, turbo, typeorm, unicorn, vitest, yaml, zod } from '@santi020k/eslint-config-integrations';
|
|
6
6
|
export { tsConfig, typescriptConfig } from '@santi020k/eslint-config-typescript';
|
|
7
7
|
|
|
8
8
|
/**
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
createCoreConfig,
|
|
8
8
|
DEFAULT_IGNORES,
|
|
9
9
|
detectProjectOptions,
|
|
10
|
+
Extension,
|
|
10
11
|
findTailwindEntryPoint,
|
|
11
12
|
flattenConfigInputs,
|
|
12
13
|
GENERATED_CODE_IGNORES,
|
|
@@ -70,7 +71,7 @@ import {
|
|
|
70
71
|
createCoreConfig as createCoreConfig2,
|
|
71
72
|
createImportGroups,
|
|
72
73
|
detectProjectOptions as detectProjectOptions2,
|
|
73
|
-
Extension,
|
|
74
|
+
Extension as Extension2,
|
|
74
75
|
Format,
|
|
75
76
|
getGlobalsForRuntime,
|
|
76
77
|
gitignore as gitignore2,
|
|
@@ -92,6 +93,7 @@ import {
|
|
|
92
93
|
autogen,
|
|
93
94
|
bestPractices,
|
|
94
95
|
biome,
|
|
96
|
+
boundaries,
|
|
95
97
|
command,
|
|
96
98
|
compat,
|
|
97
99
|
cspell,
|
|
@@ -363,6 +365,14 @@ const buildEslintConfigs = async (params) => {
|
|
|
363
365
|
await getIntegrationConfigs(uniqueLibraries, uniqueTools, uniqueTesting, uniqueFormats, uniqueExtensions),
|
|
364
366
|
testingFiles
|
|
365
367
|
),
|
|
368
|
+
{
|
|
369
|
+
files: ["**/scripts/**/*.{js,mjs,cjs,ts,mts,cts}"],
|
|
370
|
+
name: "eslint-config-basic/scripts-overrides",
|
|
371
|
+
rules: {
|
|
372
|
+
"n/no-unpublished-import": "off",
|
|
373
|
+
...uniqueExtensions.includes(Extension.Security) ? { "security/detect-non-literal-fs-filename": "off" } : {}
|
|
374
|
+
}
|
|
375
|
+
},
|
|
366
376
|
...tailwindOptions ? [await createTailwindSettingsConfig(tailwindOptions)] : [],
|
|
367
377
|
...await getPrettierConfig(uniqueTools)
|
|
368
378
|
];
|
|
@@ -557,7 +567,7 @@ const eslintConfig = async (options, ...extraConfigs) => {
|
|
|
557
567
|
const defineConfig = eslintConfig;
|
|
558
568
|
export {
|
|
559
569
|
AGENT_TARGETS,
|
|
560
|
-
Extension,
|
|
570
|
+
Extension2 as Extension,
|
|
561
571
|
Format,
|
|
562
572
|
Library2 as Library,
|
|
563
573
|
NextMode2 as NextMode,
|
|
@@ -575,6 +585,7 @@ export {
|
|
|
575
585
|
autogen,
|
|
576
586
|
bestPractices,
|
|
577
587
|
biome,
|
|
588
|
+
boundaries,
|
|
578
589
|
command,
|
|
579
590
|
compat,
|
|
580
591
|
coreConfig2 as coreConfig,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@santi020k/eslint-config-basic",
|
|
3
|
-
"version": "2.0.0
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -30,28 +30,28 @@
|
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
32
|
"@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
|
|
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"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@types/node": "^25.9.3",
|