From 91f4eb4e9ab4a8054509d5aaaef8d25a13c338db Mon Sep 17 00:00:00 2001 From: Alexander Lichter Date: Thu, 26 Mar 2026 19:48:20 +0100 Subject: [PATCH 1/2] fix: correctly inform about prettierignore --- packages/cli/src/migration/migrator.ts | 2 +- rfcs/migration-command.md | 46 +++++++++++++------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/packages/cli/src/migration/migrator.ts b/packages/cli/src/migration/migrator.ts index 7d55e73501..814546673e 100644 --- a/packages/cli/src/migration/migrator.ts +++ b/packages/cli/src/migration/migrator.ts @@ -539,7 +539,7 @@ export async function migratePrettierToOxfmt( const prettierIgnorePath = path.join(projectPath, '.prettierignore'); if (fs.existsSync(prettierIgnorePath)) { warnMigration( - `${displayRelative(prettierIgnorePath)} found — Oxfmt uses .oxfmtignore. Please migrate manually.`, + `${displayRelative(prettierIgnorePath)} found — Oxfmt supports .prettierignore, but using the \`ignorePatterns\` option is recommended.`, options?.report, ); } diff --git a/rfcs/migration-command.md b/rfcs/migration-command.md index dfef862132..80863d8104 100644 --- a/rfcs/migration-command.md +++ b/rfcs/migration-command.md @@ -243,7 +243,7 @@ Wrote agent instructions to AGENTS.md **After (merged into vite.config.ts):** ```typescript -import { defineConfig } from 'vite-plus'; +import { defineConfig } from "vite-plus"; export default defineConfig({ plugins: [], @@ -255,10 +255,10 @@ export default defineConfig({ typeCheck: true, }, rules: { - 'no-unused-vars': 'error', - 'no-console': 'warn', + "no-unused-vars": "error", + "no-console": "warn", }, - ignorePatterns: ['dist', 'node_modules'], + ignorePatterns: ["dist", "node_modules"], }, }); ``` @@ -282,7 +282,7 @@ export default defineConfig({ **After (merged into vite.config.ts):** ```typescript -import { defineConfig } from 'vite-plus'; +import { defineConfig } from "vite-plus"; export default defineConfig({ plugins: [], @@ -293,7 +293,7 @@ export default defineConfig({ tabWidth: 2, semi: true, singleQuote: true, - trailingComma: 'es5', + trailingComma: "es5", }, }); ``` @@ -308,7 +308,7 @@ effect files: **Before (import from 'vitest/config'):** ```typescript -import { defineConfig } from 'vitest/config'; +import { defineConfig } from "vitest/config"; export default defineConfig({ test: { @@ -320,7 +320,7 @@ export default defineConfig({ **After (import from 'vite-plus'):** ```typescript -import { defineConfig } from 'vite-plus'; +import { defineConfig } from "vite-plus"; export default defineConfig({ test: { @@ -332,7 +332,7 @@ export default defineConfig({ **Before (import from 'vite'):** ```typescript -import { defineConfig } from 'vite'; +import { defineConfig } from "vite"; export default defineConfig({ test: { @@ -344,7 +344,7 @@ export default defineConfig({ **After (import from 'vite-plus'):** ```typescript -import { defineConfig } from 'vite-plus'; +import { defineConfig } from "vite-plus"; export default defineConfig({ test: { @@ -381,8 +381,8 @@ my-package/ ```typescript // Import from 'vite' still works - overrides maps it to vite-plus -import react from '@vitejs/plugin-react'; -import { defineConfig } from 'vite-plus'; +import react from "@vitejs/plugin-react"; +import { defineConfig } from "vite-plus"; export default defineConfig({ // Vite configuration @@ -391,16 +391,16 @@ export default defineConfig({ port: 3000, }, build: { - target: 'esnext', + target: "esnext", }, // lint configuration (merged from .oxlintrc) lint: { rules: { - 'no-unused-vars': 'error', - 'no-console': 'warn', + "no-unused-vars": "error", + "no-console": "warn", }, - ignorePatterns: ['dist', 'node_modules'], + ignorePatterns: ["dist", "node_modules"], }, // format configuration (merged from .oxfmtrc) @@ -409,7 +409,7 @@ export default defineConfig({ tabWidth: 2, semi: true, singleQuote: true, - trailingComma: 'es5', + trailingComma: "es5", }, }); ``` @@ -417,7 +417,7 @@ export default defineConfig({ **vitest.config.ts (after migration):** ```typescript -import { defineConfig } from 'vite-plus'; +import { defineConfig } from "vite-plus"; export default defineConfig({ test: { @@ -438,16 +438,16 @@ catalog: vitest: npm:@voidzero-dev/vite-plus-test@latest overrides: - vite: 'catalog:' - vitest: 'catalog:' + vite: "catalog:" + vitest: "catalog:" peerDependencyRules: allowAny: - vite - vitest allowedVersions: - vite: '*' - vitest: '*' + vite: "*" + vitest: "*" ``` ### for npm @@ -570,7 +570,7 @@ When a Prettier configuration file (`.prettierrc*`, `prettier.config.*`, or `"pr 4. Remove `prettier` and `prettier-plugin-*` from `devDependencies`/`dependencies` 5. Rewrite `prettier` scripts in `package.json` to `vp fmt`, stripping Prettier-only flags 6. Rewrite `prettier` references in lint-staged configs -7. Warn about `.prettierignore` if present (Oxfmt uses `.oxfmtignore`) +7. Warn about `.prettierignore` if present (Oxfmt supports it, but `ignorePatterns` is recommended) 8. The existing migration flow picks up `.oxfmtrc.json` and merges it into `vite.config.ts` **Script Rewriting** (powered by [brush-parser](https://github.com/reubeno/brush) for shell AST parsing): From 371398d0fd5c1184b2c653127e1ceae95bd5b390 Mon Sep 17 00:00:00 2001 From: Alexander Lichter Date: Thu, 26 Mar 2026 19:59:54 +0100 Subject: [PATCH 2/2] fmt --- rfcs/migration-command.md | 44 +++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/rfcs/migration-command.md b/rfcs/migration-command.md index 80863d8104..64d86fe6fc 100644 --- a/rfcs/migration-command.md +++ b/rfcs/migration-command.md @@ -243,7 +243,7 @@ Wrote agent instructions to AGENTS.md **After (merged into vite.config.ts):** ```typescript -import { defineConfig } from "vite-plus"; +import { defineConfig } from 'vite-plus'; export default defineConfig({ plugins: [], @@ -255,10 +255,10 @@ export default defineConfig({ typeCheck: true, }, rules: { - "no-unused-vars": "error", - "no-console": "warn", + 'no-unused-vars': 'error', + 'no-console': 'warn', }, - ignorePatterns: ["dist", "node_modules"], + ignorePatterns: ['dist', 'node_modules'], }, }); ``` @@ -282,7 +282,7 @@ export default defineConfig({ **After (merged into vite.config.ts):** ```typescript -import { defineConfig } from "vite-plus"; +import { defineConfig } from 'vite-plus'; export default defineConfig({ plugins: [], @@ -293,7 +293,7 @@ export default defineConfig({ tabWidth: 2, semi: true, singleQuote: true, - trailingComma: "es5", + trailingComma: 'es5', }, }); ``` @@ -308,7 +308,7 @@ effect files: **Before (import from 'vitest/config'):** ```typescript -import { defineConfig } from "vitest/config"; +import { defineConfig } from 'vitest/config'; export default defineConfig({ test: { @@ -320,7 +320,7 @@ export default defineConfig({ **After (import from 'vite-plus'):** ```typescript -import { defineConfig } from "vite-plus"; +import { defineConfig } from 'vite-plus'; export default defineConfig({ test: { @@ -332,7 +332,7 @@ export default defineConfig({ **Before (import from 'vite'):** ```typescript -import { defineConfig } from "vite"; +import { defineConfig } from 'vite'; export default defineConfig({ test: { @@ -344,7 +344,7 @@ export default defineConfig({ **After (import from 'vite-plus'):** ```typescript -import { defineConfig } from "vite-plus"; +import { defineConfig } from 'vite-plus'; export default defineConfig({ test: { @@ -381,8 +381,8 @@ my-package/ ```typescript // Import from 'vite' still works - overrides maps it to vite-plus -import react from "@vitejs/plugin-react"; -import { defineConfig } from "vite-plus"; +import react from '@vitejs/plugin-react'; +import { defineConfig } from 'vite-plus'; export default defineConfig({ // Vite configuration @@ -391,16 +391,16 @@ export default defineConfig({ port: 3000, }, build: { - target: "esnext", + target: 'esnext', }, // lint configuration (merged from .oxlintrc) lint: { rules: { - "no-unused-vars": "error", - "no-console": "warn", + 'no-unused-vars': 'error', + 'no-console': 'warn', }, - ignorePatterns: ["dist", "node_modules"], + ignorePatterns: ['dist', 'node_modules'], }, // format configuration (merged from .oxfmtrc) @@ -409,7 +409,7 @@ export default defineConfig({ tabWidth: 2, semi: true, singleQuote: true, - trailingComma: "es5", + trailingComma: 'es5', }, }); ``` @@ -417,7 +417,7 @@ export default defineConfig({ **vitest.config.ts (after migration):** ```typescript -import { defineConfig } from "vite-plus"; +import { defineConfig } from 'vite-plus'; export default defineConfig({ test: { @@ -438,16 +438,16 @@ catalog: vitest: npm:@voidzero-dev/vite-plus-test@latest overrides: - vite: "catalog:" - vitest: "catalog:" + vite: 'catalog:' + vitest: 'catalog:' peerDependencyRules: allowAny: - vite - vitest allowedVersions: - vite: "*" - vitest: "*" + vite: '*' + vitest: '*' ``` ### for npm