Skip to content
You are viewing the v1 archive. For current setup guidance, use the v3 docs; the v2 release is preserved at /v2/.

Changelog

  • #82 af844f6 Thanks @santi020k! - - Add first-class Hono support with Worker runtime globals, package detection, and a playground for Cloudflare Workers-style projects.
    • Lower the Node.js engine requirement to >=22.18.0 in package.json and .nvmrc, and validate CI against Node.js 22.
    • Update README.md with a landing pointer to the canonical docs site.
  • #80 7bccef0 Thanks @santi020k! - # v1.4.0 — API improvements, new optional, and quality-of-life fixes

    Unified Node.js requirement to >=24.0.0. All packages in the monorepo now strictly require Node.js 24.0.0 or higher. This ensures compatibility with modern dependency versions (such as cspell v9) and aligns with the project’s long-term maintenance strategy.

    detectProjectOptions() no longer sets boolean flags on frameworks. Previously, auto-detection would set frameworks.react = true, frameworks.next = true, etc. Passing those values to eslintConfig() would throw a TypeError because framework configs must be real imports, not booleans.

    Detected frameworks are now reported via a new detectedFrameworks: DetectedFrameworkName[] field. The frameworks object in the detection result stays empty, so spreading detectProjectOptions() into eslintConfig() is always safe.

    // Before (would throw)
    const opts = detectProjectOptions()
    eslintConfig(opts) // ❌
    // opts.frameworks.next === true → TypeError inside eslintConfig()
    // After (safe)
    const opts = detectProjectOptions()
    // opts.detectedFrameworks → ['next', 'react'] (informational)
    // opts.frameworks → {} (safe to spread)
    eslintConfig(opts) // ✅

    Extension.BestPractices optional config — adds four quality rules with no extra dependencies:

    • no-console (warn) — catches leftover debug output
    • no-alert (error) — disallows browser alert / confirm / prompt
    • complexity (warn, max 10) — flags overly complex functions
    • max-depth (warn, max 4) — flags deeply nested blocks
    eslintConfig({ extensions: [Extension.BestPractices] })

    Category barrel exports for @santi020k/eslint-config-optionals — five new sub-path exports let you import a whole category at once:

    // also: /extensions /tools /libraries

    NextMode auto-detection — detectProjectOptions() now detects App Router vs Pages Router by checking for an app/ or src/app/ directory, so options.nextMode is set automatically.

    DetectedFrameworkName type — new exported union type listing all framework names that detectProjectOptions() can detect. Useful for display logic or tooling built on top of detection.

    Early tsconfigRootDir validation — createTypescriptConfig() now throws a clear, actionable error at config-creation time if the provided tsconfigRootDir path does not exist on disk, instead of failing silently at ESLint runtime.

    CI node version matrix — the build pipeline now runs against Node 24.x to ensure stability across the updated engine requirements.

    docs/PHILOSOPHY.md — new document explaining the major design decisions: why hard deps, flat config only, lazy framework loading, rule severity philosophy, and how to extend or override rules.

    Changelog synchronization — new sync-docs-changelog.mjs script to automatically propagate root changelog updates to the documentation site.

    • CLI Scaffolding: Resolved bug where auto-detected frameworks were not correctly included in the generated configuration.
    • Rule Set Update: Updated React and Expo collections to reflect rule removals in eslint-plugin-react-hooks@7 recommended configuration.
    • Tailwind CSS Performance: Fixed Atomics.wait() timeout errors in monorepos by providing customizable settings in the recommended Tailwind configuration.
    • External Plugins:
      • Updated @cspell/eslint-plugin to v9.0.0 (Major).
      • Updated typescript-eslint to v8.59.0.
      • Updated eslint-plugin-react-hooks to v7.1.1.
      • Updated eslint-plugin-perfectionist to v5.9.0.
      • Updated eslint-plugin-sonarjs to v4.0.3.
      • Updated tailwindcss to v4.2.4.
    • Core Tooling:
      • Updated eslint to v9.2.1.
      • Updated vitest and @vitest/coverage-v8 to v4.1.5.
      • Internal alignment of typescript version to v5.9.3.
  • #77 450fa19 Thanks @santi020k! - Refresh package metadata and supporting docs for the santi020k.com domain migration.
    • Update documentation, canonical URLs, and package links from santi020k.me to santi020k.com.
    • Sync npm package metadata so published packages point to the correct license, repository, issues page, and documentation URLs.
    • Refresh low-risk ESLint ecosystem and release tooling dependencies.
  • #74 c63e902 Thanks @santi020k! - # v1.2.0 Release - Documentation Overhaul

    This release focuses on a comprehensive update of the documentation site and branding refresh.

    • VitePress Refresh: Major updates to the documentation structure, including new guides and improved navigation.
    • Branding Assets: Added new official logos, icons, and social preview images (opengraph) in packages/docs/public.
    • Theme Enhancements: Custom styling and component improvements for a more premium documentation experience.
    • Improved Installation Guide: Updated steps for getting started with the latest features.
  • #70 ef658c1 Thanks @santi020k! - # 1.1.0 Release

    • ESLint 9 Support: Harmonized ESLint version to ^10.0.0 across the monorepo and playgrounds.
    • Security Patches: Fixed vulnerabilities in lodash, esbuild, and path-to-regexp via root overrides.
    • Solid Playground Fix: Resolved MODULE_NOT_FOUND error in the Solid playground linting process.
  • #66 6f2f473 Thanks @santi020k! - v0.10.0 Release

    • Migration to pnpm: Full migration of the monorepo from npm to pnpm workspaces (pnpm v9+). This includes better performance, stricter dependency management, and corepack integration.
    • neostandard removal: Removed neostandard dependency to provide more granular control and modularity in core rules.
    • Stylistic v4 -> v5: Upgraded to @stylistic/eslint-plugin version 5.x for improved formatting rules and TypeScript 5.7+ support.
    • GraphQL Integration: Added comprehensive support for GraphQL schemas and operations. This includes automated project detection for GraphQL files and specialized linting rules for both schema definitions and operation documents.
    • React 19 Support: Updated React detection logic and configurations to support React 19.
    • Qwik & Remix Support: Added comprehensive ESLint configurations and functional playground environments for both Qwik and Remix frameworks.
    • Dependency Alignment: Resolved critical typescript-eslint dependency issues in Astro, Svelte, and Vue packages to ensure proper rule resolution and type safety.
    • Consistency Refinements: Standardized disable-type-checked rule blocks across all framework-specific configurations.
    • Documentation Overhaul: Major documentation refresh in root README.md and VitePress documentation. Added clarity on configuration priority, framework auto-detection, and full-settings examples.
    • Corepack Enablement: Added corepack support for automated package manager version management.
    • Turbo Update: Bumped Turborepo to v2.9+ for faster builds and improved task caching.
    • Turbo Optimizations: Configured Turborepo to output in errors-only mode with errorsOnlyShowHash enabled, significantly reducing terminal noise during build and lint tasks.
    • Integration Test Improvements: Enhanced integration tests to be more robust, including proper tsconfigRootDir handling and better React version validation.
    • Playground Synchronization: Updated all playground packages to maintain parity with the latest framework rules.
  • #55 d8e4b4a Thanks @santi020k! - feat: add standard ESLint configuration and resolve typecheck/hook failures

    This release introduces a new standard configuration in @santi020k/eslint-config-core and addresses several technical issues:

    • Fixed global typecheck failures across the monorepo.
    • Resolved pre-commit hook issues with cspell.
    • Fixed pre-push hook failures related to publint in the playground package.
    • Added missing test coverage scripts and fixed CI build failures.
  • 13e8e5a: # Release 0.8.0
    • Snippet Fixes: Resolved ESLint parsing errors in virtual TypeScript files within Markdown, Astro, and VitePress code blocks by disabling type-aware rules for those snippets.
    • Standalone TS Support: Restored disableTypeChecked configuration in the TypeScript package, ensuring it remains fully functional and parsing-error-free when used without the main composer.
    • Documentation Reorganization: Significantly expanded and restructured the documentation site, adding new pages for the Inspector, CLI Tooling, Extensions, and better framework-specific guides.
    • Branding Update: Updated the author link label from “Website” to “Author” across all documentation files for improved brand identity.
    • Composition Improvements: Refactored the configuration composer to be more robust when handling virtual snippets and framework contracts.
  • CI & Workflow Stabilization

    • Fixed invalid actions/setup-node version from @v6 to @v4 in Release and Docs workflows.
    • Improved CLI test performance and reliability by refactoring integration tests into fast in-memory unit tests.
    • Enabled Turborepo caching in GitHub Actions to significantly reduce PR build times.
  • Updated dependencies

  • Updated dependencies [13e8e5a]

    • @santi020k/eslint-config-…@0.8.1
    • @santi020k/eslint-config-…@0.8.1
    • @santi020k/eslint-config-…@0.8.1
    • @santi020k/eslint-config-…@0.8.1
    • @santi020k/eslint-config-…@0.8.1
    • @santi020k/eslint-config-…@0.8.1
    • @santi020k/eslint-config-…@0.8.1
    • @santi020k/eslint-config-…@0.8.1
    • @santi020k/eslint-config-…@0.8.1
    • @santi020k/eslint-config-…@0.8.1
    • @santi020k/eslint-config-…@0.8.1
    • @santi020k/eslint-config-…@0.8.1
  • #39 1c11dec Thanks @santi020k! - feat(astro): add robust defaults and virtual script support for Astro 5+ feat(core): standardize internal dependencies to workspace:* for better monorepo development docs: add Tailwind CSS v4 compatibility notes and workarounds to README
  • #36 85d6a5e Thanks @santi020k! - feat(astro): add robust defaults and virtual script support for Astro 5+ feat(core): standardize internal dependencies to workspace:* for better monorepo development docs: add Tailwind CSS v4 compatibility notes and workarounds to README
  • #34 f015876 Thanks @santi020k! - feat: add eslint-plugin-sonarjs as optional config chore: remove tailwindcss from playground and test package dependencies docs: update AI Agent skills in README
  • #28 162afdb Thanks @santi020k! - feat: add regexp optional config with eslint-plugin-regexp
    • New OptionalOption.Regexp to enable regex linting via eslint-plugin-regexp
    • Catches common regex mistakes: exponential backtracking, unnecessary escapes, and optimizable character classes
    • Uses recommended rules with selective overrides for smoother adoption
  • #27 577abbe Thanks @santi020k! - ci: disable Husky git hooks during the release workflow

    • Added HUSKY=0 environment variable to the release workflow to prevent Git hooks from interfering with the automated release process
  • #25 1fb4693 Thanks @santi020k! - feat: add GitHub-linked changelogs and automatic GitHub releases with tags

    • Switched changelog generator to @changesets/changelog-github for richer changelogs with PR links, commit references, and contributor credits
    • Configured release workflow to create GitHub releases with git tags on publish
  • Updated dependencies [162afdb, 1fb4693]:

  • feat: add Nest.js, Vue, and Expo ESLint configs with optionals package
    • Added @santi020k/eslint-config-nest with NestJS-specific linting rules
    • Added @santi020k/eslint-config-vue with Vue 3 linting rules
    • Added @santi020k/eslint-config-expo with Expo/React Native linting rules
    • Added @santi020k/eslint-config-optionals for optional integrations (Tailwind, Vitest, cspell, i18next, MDX, Markdown, Stencil)
    • Added ConfigOption.Nest, ConfigOption.Vue, and ConfigOption.Expo enum values
    • Updated PR template with changeset reminder
  • publish testing

Did this page help?

One click helps us spot documentation that needs another pass. No personal data is sent.