mirror of
https://github.com/tailwindlabs/tailwindcss.git
synced 2025-12-08 21:36:08 +00:00
This PR builds on top of the new [JS config to CSS migration](https://github.com/tailwindlabs/tailwindcss/pull/14651) and extends it to support migrating _static_ plugins. What are _static_ plugins you might ask? Static plugins are plugins where we can statically determine that these are coming from a different file (so there is nothing inside the JS config that creates them). An example for this is this config file: ```js import typographyPlugin from '@tailwindcss/typography' import { type Config } from 'tailwindcss' export default { content: ['./src/**/*.{js,jsx,ts,tsx}'], darkMode: 'selector', plugins: [typographyPlugin], } satisfies Config ``` Here, the `plugins` array only has one element and it is a static import from the `@tailwindcss/typography` module. In this PR we attempt to parse the config file via Tree-sitter to extract the following information from this file: - What are the contents of the `plugins` array - What are statically imported resources from the file We then check if _all_ entries in the `plugins` array are either static resources or _strings_ (something I saw working in some tests but I’m not sure it still does). We migrate the JS config file to CSS if all plugins are static and we can migrate them to CSS `@plugin` calls. ## Todo This will need to be rebased after the updated tests in #14648
52 lines
1.3 KiB
JSON
52 lines
1.3 KiB
JSON
{
|
|
"name": "@tailwindcss/upgrade",
|
|
"version": "4.0.0-alpha.26",
|
|
"description": "A utility-first CSS framework for rapidly building custom user interfaces.",
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/tailwindlabs/tailwindcss.git",
|
|
"directory": "packages/@tailwindcss-cli"
|
|
},
|
|
"bugs": "https://github.com/tailwindlabs/tailwindcss/issues",
|
|
"homepage": "https://tailwindcss.com",
|
|
"scripts": {
|
|
"lint": "tsc --noEmit",
|
|
"build": "tsup-node",
|
|
"dev": "pnpm run build -- --watch"
|
|
},
|
|
"bin": "./dist/index.mjs",
|
|
"exports": {
|
|
"./package.json": "./package.json"
|
|
},
|
|
"files": [
|
|
"dist"
|
|
],
|
|
"publishConfig": {
|
|
"provenance": true,
|
|
"access": "public"
|
|
},
|
|
"dependencies": {
|
|
"@tailwindcss/node": "workspace:^",
|
|
"@tailwindcss/oxide": "workspace:^",
|
|
"enhanced-resolve": "^5.17.1",
|
|
"globby": "^14.0.2",
|
|
"jiti": "^2.0.0-beta.3",
|
|
"mri": "^1.2.0",
|
|
"picocolors": "^1.0.1",
|
|
"postcss": "^8.4.41",
|
|
"postcss-import": "^16.1.0",
|
|
"postcss-selector-parser": "^6.1.2",
|
|
"prettier": "^3.3.3",
|
|
"string-byte-slice": "^3.0.0",
|
|
"tailwindcss": "workspace:^",
|
|
"tree-sitter": "^0.21.1",
|
|
"tree-sitter-typescript": "^0.23.0"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "catalog:",
|
|
"@types/postcss-import": "^14.0.3",
|
|
"dedent": "1.5.3"
|
|
}
|
|
}
|