mirror of
https://github.com/Comfy-Org/ComfyUI_frontend.git
synced 2026-02-10 10:00:08 +00:00
## Summary Migrate from `@iconify/tailwind` (Tailwind 3 JS plugin) to `@iconify/tailwind4` (native Tailwind 4 CSS plugin), moving all config into CSS directives. ## Changes - **What**: Replace `addDynamicIconSelectors()` JS plugin with `@plugin "@iconify/tailwind4"` CSS directive. Move `boxShadow` theme extension into `@theme` block. Delete both `tailwind.config.ts` files and the runtime `iconCollection.ts` module. - **Dependencies**: `@iconify/tailwind` removed, `@iconify/tailwind4` added ## Review Focus - `from-folder` path resolution in monorepo context (paths relative to project root) - SVG auto-cleanup behavior of `from-folder` vs the previous manual `iconCollection.ts` loader - Removal of `@config` directive and both tailwind config files — all config now in CSS ## Files | File | Change | |------|--------| | `pnpm-workspace.yaml` | Swap catalog entry | | `packages/design-system/package.json` | Swap dep, remove `tailwind-config` export | | `packages/design-system/src/css/style.css` | Add `@plugin`, `--shadow-interface` theme token, remove `@config` | | `packages/design-system/tailwind.config.ts` | Deleted | | `packages/design-system/src/iconCollection.ts` | Deleted | | `tailwind.config.ts` | Deleted | | `tsconfig.json`, `components.json` | Remove stale references | | `knip.config.ts` | Ignore `@iconify-json/lucide` (CSS-consumed, not JS-imported) | | Docs | Updated `CONTRIBUTING.md` and `icons/README.md` | ┆Issue is synchronized with this [Notion page](https://www.notion.so/PR-8724-feat-migrate-from-iconify-tailwind-to-iconify-tailwind4-3006d73d36508144a9b3e7ae73448f98) by [Unito](https://www.unito.io) --------- Co-authored-by: Amp <amp@ampcode.com> Co-authored-by: GitHub Action <action@github.com>
55 lines
1.4 KiB
JSON
55 lines
1.4 KiB
JSON
{
|
|
"compilerOptions": {
|
|
"target": "ES2023",
|
|
"useDefineForClassFields": true,
|
|
"module": "ESNext",
|
|
"lib": ["ES2023", "ES2023.Array", "DOM", "DOM.Iterable"],
|
|
"skipLibCheck": true,
|
|
"incremental": true,
|
|
"sourceMap": true,
|
|
"esModuleInterop": true,
|
|
"moduleResolution": "bundler",
|
|
"experimentalDecorators": true,
|
|
"emitDecoratorMetadata": true,
|
|
"resolveJsonModule": true,
|
|
"strict": true,
|
|
"noUnusedLocals": true,
|
|
"noUnusedParameters": true,
|
|
"noFallthroughCasesInSwitch": true,
|
|
"noImplicitOverride": true,
|
|
"allowJs": true,
|
|
"verbatimModuleSyntax": true,
|
|
"paths": {
|
|
"@/*": ["./src/*"],
|
|
"@/utils/formatUtil": [
|
|
"./packages/shared-frontend-utils/src/formatUtil.ts"
|
|
],
|
|
"@/utils/networkUtil": [
|
|
"./packages/shared-frontend-utils/src/networkUtil.ts"
|
|
],
|
|
"@tests-ui/*": ["./tests-ui/*"]
|
|
},
|
|
"typeRoots": ["src/types", "node_modules/@types", "./node_modules"],
|
|
"types": ["vitest/globals", "@webgpu/types"],
|
|
"outDir": "./dist",
|
|
"rootDir": "./"
|
|
},
|
|
"include": [
|
|
".storybook/**/*",
|
|
"eslint.config.ts",
|
|
"global.d.ts",
|
|
"knip.config.ts",
|
|
"lint-staged.config.ts",
|
|
"src/**/*.vue",
|
|
"src/**/*",
|
|
"src/types/**/*.d.ts",
|
|
"playwright.config.ts",
|
|
"playwright.i18n.config.ts",
|
|
|
|
"tests-ui/**/*",
|
|
"vite.config.mts",
|
|
"vitest.config.ts"
|
|
// "vitest.setup.ts",
|
|
]
|
|
}
|