mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-01-26 10:59:53 +00:00
Note for reviewers: the code changes in src/* is because I've upgraded prettier to latest. the @prettier/plugin-oxc it self only improve performance and doesnt affect format rules ## Summary Integrates `@prettier/plugin-oxc` to improve Prettier performance by ~20%. The oxc plugin provides a faster parser written in Rust, significantly speeding up formatting operations across the codebase. ## Changes - Added `@prettier/plugin-oxc` as dev dependency - Updated `.prettierrc` to use oxc plugin alongside existing sort-imports plugin - Added `scripts/benchmark-prettier.js` to measure performance improvements - Updated `knip.config.ts` to ignore the oxc plugin - Updated `eslint.config.ts` to ignore the benchmark script ## Benchmark Results Ran 3 benchmarks comparing formatting performance on the entire codebase: **Without oxc:** - Median: 32.76s - Average: 32.89s - Min: 32.49s - Max: 33.43s **With oxc:** - Median: 26.13s - Average: 26.35s - Min: 25.24s - Max: 27.69s **Improvement: 20.26% faster (6.64s saved)** ## Testing The benchmark script can be run with: ```bash node scripts/benchmark-prettier.js ``` This will: 1. Test formatting performance without oxc plugin 2. Test formatting performance with oxc plugin 3. Display comparison results 4. Restore original configuration 🤖 Generated with [Claude Code](https://claude.com/claude-code) ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-6088-feat-Add-prettier-plugin-oxc-for-faster-formatting-28e6d73d365081aabb24d3af98c11bb0) by [Unito](https://www.unito.io) --------- Co-authored-by: DrJKL <DrJKL0424@gmail.com> Co-authored-by: GitHub Action <action@github.com>
123 lines
2.9 KiB
YAML
123 lines
2.9 KiB
YAML
packages:
|
|
- apps/**
|
|
- packages/**
|
|
|
|
catalog:
|
|
'@alloc/quick-lru': ^5.2.0
|
|
'@eslint/js': ^9.35.0
|
|
'@iconify-json/lucide': ^1.1.178
|
|
'@iconify/json': ^2.2.380
|
|
'@iconify/tailwind': ^1.1.3
|
|
'@intlify/eslint-plugin-vue-i18n': ^4.1.0
|
|
'@lobehub/i18n-cli': ^1.25.1
|
|
'@nx/eslint': 21.4.1
|
|
'@nx/playwright': 21.4.1
|
|
'@nx/storybook': 21.4.1
|
|
'@nx/vite': 21.4.1
|
|
'@pinia/testing': ^0.1.5
|
|
'@playwright/test': ^1.52.0
|
|
'@prettier/plugin-oxc': ^0.0.4
|
|
'@primeuix/forms': 0.0.2
|
|
'@primeuix/styled': 0.3.2
|
|
'@primeuix/utils': ^0.3.2
|
|
'@primevue/core': ^4.2.5
|
|
'@primevue/forms': ^4.2.5
|
|
'@primevue/icons': 4.2.5
|
|
'@primevue/themes': ^4.2.5
|
|
'@sentry/vue': ^8.48.0
|
|
'@storybook/addon-docs': ^9.1.1
|
|
'@storybook/vue3': ^9.1.1
|
|
'@storybook/vue3-vite': ^9.1.1
|
|
'@tailwindcss/vite': ^4.1.12
|
|
'@trivago/prettier-plugin-sort-imports': ^5.2.0
|
|
'@types/eslint-plugin-tailwindcss': ^3.17.0
|
|
'@types/fs-extra': ^11.0.4
|
|
'@types/jsdom': ^21.1.7
|
|
'@types/node': ^20.14.8
|
|
'@types/semver': ^7.7.0
|
|
'@types/three': ^0.169.0
|
|
'@vitejs/plugin-vue': ^5.1.4
|
|
'@vitest/coverage-v8': ^3.2.4
|
|
'@vitest/ui': ^3.0.0
|
|
'@vue/test-utils': ^2.4.6
|
|
'@vueuse/core': ^11.0.0
|
|
'@vueuse/integrations': ^13.9.0
|
|
algoliasearch: ^5.21.0
|
|
axios: ^1.8.2
|
|
cross-env: ^10.1.0
|
|
dotenv: ^16.4.5
|
|
eslint: ^9.34.0
|
|
eslint-config-prettier: ^10.1.8
|
|
eslint-import-resolver-typescript: ^4.4.4
|
|
eslint-plugin-import-x: ^4.16.1
|
|
eslint-plugin-prettier: ^5.5.4
|
|
eslint-plugin-storybook: ^9.1.6
|
|
eslint-plugin-tailwindcss: 4.0.0-beta.0
|
|
eslint-plugin-unused-imports: ^4.2.0
|
|
eslint-plugin-vue: ^10.4.0
|
|
firebase: ^11.6.0
|
|
globals: ^15.9.0
|
|
happy-dom: ^15.11.0
|
|
husky: ^9.0.11
|
|
jiti: 2.4.2
|
|
jsdom: ^26.1.0
|
|
knip: ^5.62.0
|
|
lint-staged: ^15.2.7
|
|
markdown-table: ^3.0.4
|
|
nx: 21.4.1
|
|
picocolors: ^1.1.1
|
|
pinia: ^2.1.7
|
|
postcss-html: ^1.8.0
|
|
prettier: ^3.6.2
|
|
pretty-bytes: ^7.1.0
|
|
primeicons: ^7.0.0
|
|
primevue: ^4.2.5
|
|
rollup-plugin-visualizer: ^6.0.4
|
|
storybook: ^9.1.6
|
|
stylelint: ^16.24.0
|
|
tailwindcss: ^4.1.12
|
|
tailwindcss-primeui: ^0.6.1
|
|
tsx: ^4.15.6
|
|
tw-animate-css: ^1.3.8
|
|
typescript: ^5.9.2
|
|
typescript-eslint: ^8.44.0
|
|
unplugin-icons: ^0.22.0
|
|
unplugin-vue-components: ^0.28.0
|
|
vite: ^5.4.19
|
|
vite-plugin-dts: ^4.5.4
|
|
vite-plugin-html: ^3.2.2
|
|
vite-plugin-vue-devtools: ^7.7.6
|
|
vitest: ^3.2.4
|
|
vue: ^3.5.13
|
|
vue-component-type-helpers: ^3.0.7
|
|
vue-eslint-parser: ^10.2.0
|
|
vue-i18n: ^9.14.3
|
|
vue-router: ^4.4.3
|
|
vue-tsc: ^3.0.7
|
|
vuefire: ^3.2.1
|
|
yjs: ^13.6.27
|
|
zod: ^3.23.8
|
|
zod-to-json-schema: ^3.24.1
|
|
zod-validation-error: ^3.3.0
|
|
mixpanel-browser: ^2.71.0
|
|
|
|
cleanupUnusedCatalogs: true
|
|
|
|
ignoredBuiltDependencies:
|
|
- '@firebase/util'
|
|
- protobufjs
|
|
- unrs-resolver
|
|
- vue-demi
|
|
|
|
onlyBuiltDependencies:
|
|
- '@playwright/browser-chromium'
|
|
- '@playwright/browser-firefox'
|
|
- '@playwright/browser-webkit'
|
|
- '@tailwindcss/oxide'
|
|
- esbuild
|
|
- nx
|
|
- oxc-resolver
|
|
|
|
overrides:
|
|
'@types/eslint': '-'
|