From 06b06be3b592a051e3899414c9d1522682784a7f Mon Sep 17 00:00:00 2001 From: AustinDavisTech Date: Tue, 27 Oct 2026 16:03:39 -0500 Subject: [PATCH 1/5] feat(create): add Oxlint toolchain option The React config enables react/rules-of-hooks (Oxlint puts it in the off-by-default pedantic category) and sets exhaustive-deps, incompatible-library and unsupported-syntax to warn, matching eslint-plugin-react-hooks' recommended preset. purity and set-state-in-effect are off because the base scaffold triggers them. --- .changeset/oxlint-toolchain.md | 7 ++ .../react/project/base/README.md.ejs | 9 ++ .../oxlint/assets/_dot_oxlintrc.json | 19 ++++ .../react/toolchains/oxlint/info.json | 11 ++ .../react/toolchains/oxlint/package.json | 8 ++ .../solid/project/base/README.md.ejs | 9 ++ .../oxlint/assets/_dot_oxlintrc.json | 12 +++ .../solid/toolchains/oxlint/info.json | 11 ++ .../solid/toolchains/oxlint/package.json | 8 ++ packages/create/tests/toolchains.test.ts | 102 ++++++++++++++++++ 10 files changed, 196 insertions(+) create mode 100644 .changeset/oxlint-toolchain.md create mode 100644 packages/create/src/frameworks/react/toolchains/oxlint/assets/_dot_oxlintrc.json create mode 100644 packages/create/src/frameworks/react/toolchains/oxlint/info.json create mode 100644 packages/create/src/frameworks/react/toolchains/oxlint/package.json create mode 100644 packages/create/src/frameworks/solid/toolchains/oxlint/assets/_dot_oxlintrc.json create mode 100644 packages/create/src/frameworks/solid/toolchains/oxlint/info.json create mode 100644 packages/create/src/frameworks/solid/toolchains/oxlint/package.json create mode 100644 packages/create/tests/toolchains.test.ts diff --git a/.changeset/oxlint-toolchain.md b/.changeset/oxlint-toolchain.md new file mode 100644 index 00000000..f53c6dde --- /dev/null +++ b/.changeset/oxlint-toolchain.md @@ -0,0 +1,7 @@ +--- +'@tanstack/cli': minor +'@tanstack/create': minor +--- + +Add Oxlint as a toolchain option for React and Solid scaffolds. It generates an +`.oxlintrc.json` with a `lint` script. diff --git a/packages/create/src/frameworks/react/project/base/README.md.ejs b/packages/create/src/frameworks/react/project/base/README.md.ejs index 5937aa4e..2c3985dc 100644 --- a/packages/create/src/frameworks/react/project/base/README.md.ejs +++ b/packages/create/src/frameworks/react/project/base/README.md.ejs @@ -51,6 +51,15 @@ If you prefer not to use Tailwind CSS: 2. Replace the Tailwind import in `src/styles.css` with your own styles 3. Remove `<%= bundler === 'vite' ? 'tailwindcss()' : 'pluginTailwindcss()' %>` from the plugins array in `<%= bundler %>.config.ts` 4. Remove `<%= bundler === 'vite' ? '@tailwindcss/vite' : '@rsbuild/plugin-tailwindcss' %>` and `tailwindcss` from `package.json` +<% if (addOnEnabled.oxlint) { %> +## Linting + +This project uses [Oxlint](https://oxc.rs/docs/guide/usage/linter) for linting. The following script is available: + +```bash +<%= getPackageManagerRunScript('lint') %> +``` +<% } %> <% if (addOnEnabled.biome || addOnEnabled.eslint) { %> ## Linting & Formatting <% if (addOnEnabled.biome) { %> diff --git a/packages/create/src/frameworks/react/toolchains/oxlint/assets/_dot_oxlintrc.json b/packages/create/src/frameworks/react/toolchains/oxlint/assets/_dot_oxlintrc.json new file mode 100644 index 00000000..1784548d --- /dev/null +++ b/packages/create/src/frameworks/react/toolchains/oxlint/assets/_dot_oxlintrc.json @@ -0,0 +1,19 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["typescript", "unicorn", "oxc", "react"], + "categories": { + "correctness": "error" + }, + "rules": { + "react/rules-of-hooks": "error", + "react/exhaustive-deps": "warn", + "react/incompatible-library": "warn", + "react/unsupported-syntax": "warn", + "react/purity": "off", + "react/set-state-in-effect": "off" + }, + "env": { + "builtin": true + }, + "ignorePatterns": ["src/routeTree.gen.ts"] +} diff --git a/packages/create/src/frameworks/react/toolchains/oxlint/info.json b/packages/create/src/frameworks/react/toolchains/oxlint/info.json new file mode 100644 index 00000000..0497e9e9 --- /dev/null +++ b/packages/create/src/frameworks/react/toolchains/oxlint/info.json @@ -0,0 +1,11 @@ +{ + "name": "Oxlint", + "description": "Oxlint toolchain support.", + "phase": "setup", + "type": "toolchain", + "category": "tooling", + "exclusive": ["linter"], + "color": "#195EFF", + "modes": ["code-router", "file-router"], + "link": "https://oxc.rs/docs/guide/usage/linter" +} diff --git a/packages/create/src/frameworks/react/toolchains/oxlint/package.json b/packages/create/src/frameworks/react/toolchains/oxlint/package.json new file mode 100644 index 00000000..bdd294f0 --- /dev/null +++ b/packages/create/src/frameworks/react/toolchains/oxlint/package.json @@ -0,0 +1,8 @@ +{ + "scripts": { + "lint": "oxlint" + }, + "devDependencies": { + "oxlint": "^1.90.0" + } +} diff --git a/packages/create/src/frameworks/solid/project/base/README.md.ejs b/packages/create/src/frameworks/solid/project/base/README.md.ejs index 482ea1d5..df4e604a 100644 --- a/packages/create/src/frameworks/solid/project/base/README.md.ejs +++ b/packages/create/src/frameworks/solid/project/base/README.md.ejs @@ -143,6 +143,15 @@ Loaders simplify your data fetching logic dramatically. Check out more informati Files prefixed with `demo` can be safely deleted. They are there to provide a starting point for you to play around with the features you've installed. <% } %> +<% if (addOnEnabled.oxlint) { %> +## Linting + +This project uses [Oxlint](https://oxc.rs/docs/guide/usage/linter) for linting. The following script is available: + +```bash +<%= getPackageManagerRunScript('lint') %> +``` +<% } %> <% if (addOnEnabled.biome || addOnEnabled.eslint) { %> ## Linting & Formatting <% if (addOnEnabled.biome) { %> diff --git a/packages/create/src/frameworks/solid/toolchains/oxlint/assets/_dot_oxlintrc.json b/packages/create/src/frameworks/solid/toolchains/oxlint/assets/_dot_oxlintrc.json new file mode 100644 index 00000000..adfeb2fc --- /dev/null +++ b/packages/create/src/frameworks/solid/toolchains/oxlint/assets/_dot_oxlintrc.json @@ -0,0 +1,12 @@ +{ + "$schema": "./node_modules/oxlint/configuration_schema.json", + "plugins": ["typescript", "unicorn", "oxc"], + "categories": { + "correctness": "error" + }, + "rules": {}, + "env": { + "builtin": true + }, + "ignorePatterns": ["src/routeTree.gen.ts"] +} diff --git a/packages/create/src/frameworks/solid/toolchains/oxlint/info.json b/packages/create/src/frameworks/solid/toolchains/oxlint/info.json new file mode 100644 index 00000000..0497e9e9 --- /dev/null +++ b/packages/create/src/frameworks/solid/toolchains/oxlint/info.json @@ -0,0 +1,11 @@ +{ + "name": "Oxlint", + "description": "Oxlint toolchain support.", + "phase": "setup", + "type": "toolchain", + "category": "tooling", + "exclusive": ["linter"], + "color": "#195EFF", + "modes": ["code-router", "file-router"], + "link": "https://oxc.rs/docs/guide/usage/linter" +} diff --git a/packages/create/src/frameworks/solid/toolchains/oxlint/package.json b/packages/create/src/frameworks/solid/toolchains/oxlint/package.json new file mode 100644 index 00000000..bdd294f0 --- /dev/null +++ b/packages/create/src/frameworks/solid/toolchains/oxlint/package.json @@ -0,0 +1,8 @@ +{ + "scripts": { + "lint": "oxlint" + }, + "devDependencies": { + "oxlint": "^1.90.0" + } +} diff --git a/packages/create/tests/toolchains.test.ts b/packages/create/tests/toolchains.test.ts new file mode 100644 index 00000000..6975daf2 --- /dev/null +++ b/packages/create/tests/toolchains.test.ts @@ -0,0 +1,102 @@ +import { afterEach, describe, expect, it, vi } from 'vitest' + +import { finalizeAddOns, getAllAddOns } from '../src/add-ons.js' +import { createApp } from '../src/create-app.js' +import { createMemoryEnvironment } from '../src/environment.js' +import { createFrameworkDefinition as createReactFrameworkDefinition } from '../src/frameworks/react/index.js' +import { createFrameworkDefinition as createSolidFrameworkDefinition } from '../src/frameworks/solid/index.js' + +import type { Framework, FrameworkDefinition } from '../src/types.js' + +function frameworkFromDefinition(definition: FrameworkDefinition): Framework { + const { addOns, base, ...framework } = definition + + return { + ...framework, + getFiles: () => Promise.resolve(Object.keys(base)), + getFileContents: (path: string) => Promise.resolve(base[path]), + getDeletedFiles: () => Promise.resolve([]), + getAddOns: () => addOns, + } +} + +afterEach(() => { + vi.unstubAllGlobals() +}) + +describe('toolchains', () => { + it.each([ + ['react', createReactFrameworkDefinition], + ['solid', createSolidFrameworkDefinition], + ])('%s lists Oxlint after Biome and ESLint', (_, createDefinition) => { + const framework = frameworkFromDefinition(createDefinition()) + const toolchains = getAllAddOns(framework, 'file-router') + .filter((addOn) => addOn.type === 'toolchain') + .map((addOn) => addOn.id) + + expect(toolchains).toEqual(['biome', 'eslint', 'oxlint']) + }) + + it.each([ + ['react', createReactFrameworkDefinition, true], + ['solid', createSolidFrameworkDefinition, false], + ])( + '%s generates an Oxlint lint setup', + async (_, createDefinition, usesReactPlugin) => { + vi.stubGlobal( + 'fetch', + vi.fn( + async () => + new Response(JSON.stringify({ version: '1.0.0' }), { + status: 200, + }), + ), + ) + + const framework = frameworkFromDefinition(createDefinition()) + const chosenAddOns = await finalizeAddOns(framework, 'file-router', [ + 'oxlint', + ]) + const { environment, output } = createMemoryEnvironment() + + await createApp(environment, { + projectName: 'oxlint-app', + targetDir: '/oxlint-app', + framework, + mode: 'file-router', + typescript: true, + tailwind: true, + packageManager: 'pnpm', + git: false, + install: false, + intent: false, + chosenAddOns, + addOnOptions: {}, + }) + + const packageJSON = JSON.parse(output.files['/oxlint-app/package.json']) + const oxlintConfig = JSON.parse( + output.files['/oxlint-app/.oxlintrc.json'], + ) + const readme = output.files['/oxlint-app/README.md'] + + expect(packageJSON.scripts.lint).toBe('oxlint') + expect(packageJSON.scripts).not.toHaveProperty('format') + expect(packageJSON.scripts).not.toHaveProperty('check') + expect(packageJSON.devDependencies).toHaveProperty('oxlint') + expect(packageJSON.devDependencies).not.toHaveProperty('@biomejs/biome') + expect(packageJSON.devDependencies).not.toHaveProperty('eslint') + expect(packageJSON.devDependencies).not.toHaveProperty('prettier') + + expect(oxlintConfig.ignorePatterns).toContain('src/routeTree.gen.ts') + expect(oxlintConfig.plugins.includes('react')).toBe(usesReactPlugin) + expect(oxlintConfig.rules['react/rules-of-hooks']).toBe( + usesReactPlugin ? 'error' : undefined, + ) + + expect(readme).toContain('## Linting\n') + expect(readme).toContain('[Oxlint]') + expect(readme).not.toContain('## Linting & Formatting') + }, + ) +}) From cab1c1371aa1e1408db2e8bc31826a09e434b93b Mon Sep 17 00:00:00 2001 From: AustinDavisTech Date: Tue, 27 Oct 2026 16:05:33 -0500 Subject: [PATCH 2/5] feat(cli): suggest Oxlint in the Rsbuild toolchain error --- packages/cli/src/command-line.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/command-line.ts b/packages/cli/src/command-line.ts index a61c7587..3d769c21 100644 --- a/packages/cli/src/command-line.ts +++ b/packages/cli/src/command-line.ts @@ -347,7 +347,7 @@ export function validateLegacyCreateFlags(cliOptions: CliOptions): { return { warnings, error: - 'Rsbuild currently supports toolchains only. Use --toolchain eslint or --toolchain biome.', + 'Rsbuild currently supports toolchains only. Use --toolchain eslint, --toolchain biome, or --toolchain oxlint.', } } } @@ -529,7 +529,7 @@ export async function normalizeOptions( } if (forcedAddOns?.length || cliOptions.addOns) { throw new Error( - 'Rsbuild currently supports toolchains only. Use --toolchain eslint or --toolchain biome.', + 'Rsbuild currently supports toolchains only. Use --toolchain eslint, --toolchain biome, or --toolchain oxlint.', ) } } From ca3f42d276e3cc2fd9127faee4a1e84cbf8fafb3 Mon Sep 17 00:00:00 2001 From: AustinDavisTech Date: Tue, 27 Oct 2026 16:07:04 -0500 Subject: [PATCH 3/5] docs: list Oxlint in toolchain docs --- ARCHITECTURE.md | 2 +- cli-aliases/create-start-app/README.md | 2 +- cli-aliases/create-tanstack-app/README.md | 2 +- cli-aliases/create-tanstack/README.md | 2 +- cli-aliases/create-tsrouter-app/README.md | 2 +- cli-aliases/ts-create-start/README.md | 2 +- domain_map.yaml | 2 +- frameworks/FRAMEWORK-STRUCTURE.md | 2 +- .../cli/skills/create-app-scaffold/references/bundlers.md | 8 ++++---- .../skills/create-app-scaffold/references/toolchains.md | 2 ++ 10 files changed, 14 insertions(+), 12 deletions(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 06e85322..bbd5d51e 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -23,7 +23,7 @@ packages/create/src/frameworks/ ├── react/ │ ├── project/base/ # Base project template │ ├── add-ons/ # Add-on implementations -│ ├── toolchains/ # eslint, biome +│ ├── toolchains/ # eslint, biome, oxlint │ ├── hosts/ # vercel, netlify, cloudflare │ └── examples/ # Demo projects └── solid/ diff --git a/cli-aliases/create-start-app/README.md b/cli-aliases/create-start-app/README.md index 029f8e26..2a7535fd 100644 --- a/cli-aliases/create-start-app/README.md +++ b/cli-aliases/create-start-app/README.md @@ -37,7 +37,7 @@ pnpm dlx create-start-app@latest my-app --package-manager pnpm Available options: - `--package-manager`: Specify your preferred package manager (`npm`, `yarn`, `pnpm`, `bun`, or `deno`) -- `--toolchain`: Specify your toolchain solution for formatting/linting (`biome`, `eslint`) +- `--toolchain`: Specify your toolchain solution for formatting/linting (`biome`, `eslint`, `oxlint`) - `--no-git`: Do not initialize a git repository - `--add-ons`: Enable add-on selection or specify add-ons to install - `--tailwind` / `--no-tailwind`: Deprecated compatibility flags; accepted but ignored (Tailwind is always enabled) diff --git a/cli-aliases/create-tanstack-app/README.md b/cli-aliases/create-tanstack-app/README.md index 9bb9074d..53be7143 100644 --- a/cli-aliases/create-tanstack-app/README.md +++ b/cli-aliases/create-tanstack-app/README.md @@ -46,7 +46,7 @@ Available options: - `--template `: Choose between `file-router`, `typescript`, or `javascript` - `--tailwind` / `--no-tailwind`: Deprecated compatibility flags; accepted but ignored (Tailwind is always enabled) - `--package-manager`: Specify your preferred package manager (`npm`, `yarn`, `pnpm`, `bun`, or `deno`) -- `--toolchain`: Specify your toolchain solution for formatting/linting (`biome`, `eslint`) +- `--toolchain`: Specify your toolchain solution for formatting/linting (`biome`, `eslint`, `oxlint`) - `--no-git`: Do not initialize a git repository - `--add-ons`: Enable add-on selection or specify add-ons to install diff --git a/cli-aliases/create-tanstack/README.md b/cli-aliases/create-tanstack/README.md index a847a172..d2b7ef51 100644 --- a/cli-aliases/create-tanstack/README.md +++ b/cli-aliases/create-tanstack/README.md @@ -46,7 +46,7 @@ Available options: - `--template `: Choose between `file-router`, `typescript`, or `javascript` - `--tailwind` / `--no-tailwind`: Deprecated compatibility flags; accepted but ignored (Tailwind is always enabled) - `--package-manager`: Specify your preferred package manager (`npm`, `yarn`, `pnpm`, `bun`, or `deno`) -- `--toolchain`: Specify your toolchain solution for formatting/linting (`biome`, `eslint`) +- `--toolchain`: Specify your toolchain solution for formatting/linting (`biome`, `eslint`, `oxlint`) - `--no-git`: Do not initialize a git repository - `--add-ons`: Enable add-on selection or specify add-ons to install diff --git a/cli-aliases/create-tsrouter-app/README.md b/cli-aliases/create-tsrouter-app/README.md index ddf5a2c7..a34e957d 100644 --- a/cli-aliases/create-tsrouter-app/README.md +++ b/cli-aliases/create-tsrouter-app/README.md @@ -46,7 +46,7 @@ Available options: - `--template `: Choose between `file-router`, `typescript`, or `javascript` - `--tailwind` / `--no-tailwind`: Deprecated compatibility flags; accepted but ignored (Tailwind is always enabled) - `--package-manager`: Specify your preferred package manager (`npm`, `yarn`, `pnpm`, `bun`, or `deno`) -- `--toolchain`: Specify your toolchain solution for formatting/linting (`biome`, `eslint`) +- `--toolchain`: Specify your toolchain solution for formatting/linting (`biome`, `eslint`, `oxlint`) - `--no-git`: Do not initialize a git repository - `--add-ons`: Enable add-on selection or specify add-ons to install diff --git a/cli-aliases/ts-create-start/README.md b/cli-aliases/ts-create-start/README.md index a15916bb..f7264837 100644 --- a/cli-aliases/ts-create-start/README.md +++ b/cli-aliases/ts-create-start/README.md @@ -37,7 +37,7 @@ pnpm create @tanstack/start@latest my-app --package-manager pnpm Available options: - `--package-manager`: Specify your preferred package manager (`npm`, `yarn`, `pnpm`, `bun`, or `deno`) -- `--toolchain`: Specify your toolchain solution for formatting/linting (`biome`, `eslint`) +- `--toolchain`: Specify your toolchain solution for formatting/linting (`biome`, `eslint`, `oxlint`) - `--no-git`: Do not initialize a git repository - `--add-ons`: Enable add-on selection or specify add-ons to install - `--tailwind` / `--no-tailwind`: Deprecated compatibility flags; accepted but ignored (Tailwind is always enabled) diff --git a/domain_map.yaml b/domain_map.yaml index afdd6517..3e7d9e36 100644 --- a/domain_map.yaml +++ b/domain_map.yaml @@ -56,7 +56,7 @@ skills: config_surface: "exclusive deploy add-ons (cloudflare/netlify/railway/nitro)" - name: "Toolchains" package: "@tanstack/create" - config_surface: "exclusive linter choice (eslint/biome)" + config_surface: "exclusive linter choice (eslint/biome/oxlint)" reference_candidates: - topic: "create flag compatibility matrix" reason: "Many interacting flags and compatibility branches (router-only/template/add-ons/deployment/toolchain)." diff --git a/frameworks/FRAMEWORK-STRUCTURE.md b/frameworks/FRAMEWORK-STRUCTURE.md index 05c80805..64a577aa 100644 --- a/frameworks/FRAMEWORK-STRUCTURE.md +++ b/frameworks/FRAMEWORK-STRUCTURE.md @@ -12,7 +12,7 @@ packages/create/src/frameworks/ │ │ ├── base/ # Base project template │ │ └── packages.json # Conditional dependencies │ ├── add-ons/ # Feature add-ons -│ ├── toolchains/ # eslint, biome +│ ├── toolchains/ # eslint, biome, oxlint │ ├── hosts/ # Deployment adapters │ └── examples/ # Demo projects └── solid/ diff --git a/packages/cli/skills/create-app-scaffold/references/bundlers.md b/packages/cli/skills/create-app-scaffold/references/bundlers.md index 15bbedb7..3a497101 100644 --- a/packages/cli/skills/create-app-scaffold/references/bundlers.md +++ b/packages/cli/skills/create-app-scaffold/references/bundlers.md @@ -15,10 +15,10 @@ npx @tanstack/cli create app --framework solid --build-tool rsbuild -y ``` Rsbuild supports full TanStack Start and router-only projects, including the -standard and `--blank` presets, built-in example pages, Tailwind, ESLint, and -Biome. It does not currently support templates, deployment adapters, or -catalog business/example add-ons. `tanstack add` is limited to ESLint/Biome in -Rsbuild projects. +standard and `--blank` presets, built-in example pages, Tailwind, ESLint, +Biome, and Oxlint. It does not currently support templates, deployment +adapters, or catalog business/example add-ons. `tanstack add` is limited to +ESLint/Biome/Oxlint in Rsbuild projects. Use the build-tool-aware catalog view before constructing an Rsbuild command: diff --git a/packages/cli/skills/create-app-scaffold/references/toolchains.md b/packages/cli/skills/create-app-scaffold/references/toolchains.md index f6a95727..fbc6e35b 100644 --- a/packages/cli/skills/create-app-scaffold/references/toolchains.md +++ b/packages/cli/skills/create-app-scaffold/references/toolchains.md @@ -6,12 +6,14 @@ Targets `@tanstack/cli` v0.61.0. - `eslint` - `biome` +- `oxlint` ## Usage ```bash npx @tanstack/cli create app --toolchain eslint -y npx @tanstack/cli create app --toolchain biome -y +npx @tanstack/cli create app --toolchain oxlint -y ``` Toolchain choices are exclusive and affect generated lint configuration. From da8e5575941980012d8cf3e4171d95e3fb9b35b1 Mon Sep 17 00:00:00 2001 From: AustinDavisTech Date: Tue, 27 Oct 2026 16:19:57 -0500 Subject: [PATCH 4/5] test(create): check Oxlint is listed without fixing toolchain order --- packages/create/tests/toolchains.test.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create/tests/toolchains.test.ts b/packages/create/tests/toolchains.test.ts index 6975daf2..5738e84b 100644 --- a/packages/create/tests/toolchains.test.ts +++ b/packages/create/tests/toolchains.test.ts @@ -28,13 +28,13 @@ describe('toolchains', () => { it.each([ ['react', createReactFrameworkDefinition], ['solid', createSolidFrameworkDefinition], - ])('%s lists Oxlint after Biome and ESLint', (_, createDefinition) => { + ])('%s includes Oxlint as a toolchain', (_, createDefinition) => { const framework = frameworkFromDefinition(createDefinition()) const toolchains = getAllAddOns(framework, 'file-router') .filter((addOn) => addOn.type === 'toolchain') .map((addOn) => addOn.id) - expect(toolchains).toEqual(['biome', 'eslint', 'oxlint']) + expect(toolchains).toContain('oxlint') }) it.each([ From fd1e1f379b281f4c3f9b5278c651940b86659c2c Mon Sep 17 00:00:00 2001 From: AustinDavisTech Date: Tue, 27 Oct 2026 16:20:47 -0500 Subject: [PATCH 5/5] docs: describe the Oxlint toolchain in alias READMEs --- ARCHITECTURE.md | 2 +- cli-aliases/create-start-app/README.md | 2 ++ cli-aliases/create-tanstack-app/README.md | 2 ++ cli-aliases/create-tanstack/README.md | 2 ++ cli-aliases/create-tsrouter-app/README.md | 2 ++ cli-aliases/ts-create-start/README.md | 2 ++ 6 files changed, 11 insertions(+), 1 deletion(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index bbd5d51e..c98f9889 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -125,7 +125,7 @@ Templates (`.ejs` files) have access to: | Range | Use Case | |-------|----------| -| 0-10 | Toolchains (eslint, biome) | +| 0-10 | Toolchains (eslint, biome, oxlint) | | 20-30 | Core libraries (start, query) | | 30-50 | UI foundations (shadcn, form) | | 100-150 | Feature add-ons (clerk, sentry) | diff --git a/cli-aliases/create-start-app/README.md b/cli-aliases/create-start-app/README.md index 2a7535fd..ed06bf41 100644 --- a/cli-aliases/create-start-app/README.md +++ b/cli-aliases/create-start-app/README.md @@ -66,6 +66,8 @@ Setting this flag to `biome` will configure it as your toolchain of choice, addi Setting this flag to `eslint` will configure it as your toolchain of choice, adding an `eslint.config.js` and `prettier.config.js` to the root of the project, as well as a `.prettierignore` file. Consult the [eslint documentation](https://eslint.org/docs/latest/) and [prettier documentation](https://prettier.io/docs/) for further customization. +Setting this flag to `oxlint` will configure it as your toolchain of choice, adding an `.oxlintrc.json` to the root of the project. Consult the [oxlint documentation](https://oxc.rs/docs/guide/usage/linter) for further customization. + ## Add-ons (experimental) You can enable add-on selection: diff --git a/cli-aliases/create-tanstack-app/README.md b/cli-aliases/create-tanstack-app/README.md index 53be7143..5d7da0f2 100644 --- a/cli-aliases/create-tanstack-app/README.md +++ b/cli-aliases/create-tanstack-app/README.md @@ -104,6 +104,8 @@ Setting this flag to `biome` will configure it as your toolchain of choice, addi Setting this flag to `eslint` will configure it as your toolchain of choice, adding an `eslint.config.js` and `prettier.config.js` to the root of the project, as well as a `.prettierignore` file. Consult the [eslint documentation](https://eslint.org/docs/latest/) and [prettier documentation](https://prettier.io/docs/) for further customization. +Setting this flag to `oxlint` will configure it as your toolchain of choice, adding an `.oxlintrc.json` to the root of the project. Consult the [oxlint documentation](https://oxc.rs/docs/guide/usage/linter) for further customization. + ## Add-ons (experimental) You can enable add-on selection: diff --git a/cli-aliases/create-tanstack/README.md b/cli-aliases/create-tanstack/README.md index d2b7ef51..b67bdcfb 100644 --- a/cli-aliases/create-tanstack/README.md +++ b/cli-aliases/create-tanstack/README.md @@ -104,6 +104,8 @@ Setting this flag to `biome` will configure it as your toolchain of choice, addi Setting this flag to `eslint` will configure it as your toolchain of choice, adding an `eslint.config.js` and `prettier.config.js` to the root of the project, as well as a `.prettierignore` file. Consult the [eslint documentation](https://eslint.org/docs/latest/) and [prettier documentation](https://prettier.io/docs/) for further customization. +Setting this flag to `oxlint` will configure it as your toolchain of choice, adding an `.oxlintrc.json` to the root of the project. Consult the [oxlint documentation](https://oxc.rs/docs/guide/usage/linter) for further customization. + ## Add-ons (experimental) You can enable add-on selection: diff --git a/cli-aliases/create-tsrouter-app/README.md b/cli-aliases/create-tsrouter-app/README.md index a34e957d..4ad4c457 100644 --- a/cli-aliases/create-tsrouter-app/README.md +++ b/cli-aliases/create-tsrouter-app/README.md @@ -104,6 +104,8 @@ Setting this flag to `biome` will configure it as your toolchain of choice, addi Setting this flag to `eslint` will configure it as your toolchain of choice, adding an `eslint.config.js` and `prettier.config.js` to the root of the project, as well as a `.prettierignore` file. Consult the [eslint documentation](https://eslint.org/docs/latest/) and [prettier documentation](https://prettier.io/docs/) for further customization. +Setting this flag to `oxlint` will configure it as your toolchain of choice, adding an `.oxlintrc.json` to the root of the project. Consult the [oxlint documentation](https://oxc.rs/docs/guide/usage/linter) for further customization. + ## Add-ons (experimental) You can enable add-on selection: diff --git a/cli-aliases/ts-create-start/README.md b/cli-aliases/ts-create-start/README.md index f7264837..3bd1c159 100644 --- a/cli-aliases/ts-create-start/README.md +++ b/cli-aliases/ts-create-start/README.md @@ -66,6 +66,8 @@ Setting this flag to `biome` will configure it as your toolchain of choice, addi Setting this flag to `eslint` will configure it as your toolchain of choice, adding an `eslint.config.js` and `prettier.config.js` to the root of the project, as well as a `.prettierignore` file. Consult the [eslint documentation](https://eslint.org/docs/latest/) and [prettier documentation](https://prettier.io/docs/) for further customization. +Setting this flag to `oxlint` will configure it as your toolchain of choice, adding an `.oxlintrc.json` to the root of the project. Consult the [oxlint documentation](https://oxc.rs/docs/guide/usage/linter) for further customization. + ## Add-ons (experimental) You can enable add-on selection: