Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

- Ensure individual logical property utilities are sorted later than left/right pair utilities ([#14777](https://github.com/tailwindlabs/tailwindcss/pull/14777))
- Don't migrate important modifiers inside conditional statements in Vue and Alpine (e.g. `<div v-if="!border" />`) ([#14774](https://github.com/tailwindlabs/tailwindcss/pull/14774))
- Ensure third-party plugins with `exports` in their `package.json` are resolved correctly ([#14775](https://github.com/tailwindlabs/tailwindcss/pull/14775))
- _Upgrade (experimental)_: Ensure `@import` statements for relative CSS files are actually migrated to use relative path syntax ([#14769](https://github.com/tailwindlabs/tailwindcss/pull/14769))

## [4.0.0-alpha.29] - 2024-10-23
Expand Down
79 changes: 79 additions & 0 deletions integrations/postcss/plugins.test.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
import { candidate, css, html, js, json, test } from '../utils'

test(
'builds the `@headlessui/tailwindcss` plugin utilities (CJS)',
{
fs: {
'package.json': json`
{
"type": "commonjs",
"dependencies": {
"postcss": "^8",
"postcss-cli": "^10",
"tailwindcss": "workspace:^",
"@tailwindcss/postcss": "workspace:^",
"@headlessui/tailwindcss": "^0.2.1"
}
}
`,
'postcss.config.cjs': js`
let tailwindcss = require('@tailwindcss/postcss')
module.exports = {
plugins: [tailwindcss()],
}
`,
'index.html': html`
<div className="ui-open:flex"></div>
`,
'src/index.css': css`
@import 'tailwindcss/theme' theme(reference);
@import 'tailwindcss/utilities';
@plugin '@headlessui/tailwindcss';
`,
},
},
async ({ fs, exec }) => {
await exec('pnpm postcss src/index.css --output dist/out.css')

await fs.expectFileToContain('dist/out.css', [candidate`ui-open:flex`])
},
)

test(
'builds the `@headlessui/tailwindcss` plugin utilities (ESM)',
{
fs: {
'package.json': json`
{
"type": "module",
"dependencies": {
"postcss": "^8",
"postcss-cli": "^10",
"tailwindcss": "workspace:^",
"@tailwindcss/postcss": "workspace:^",
"@headlessui/tailwindcss": "^0.2.1"
}
}
`,
'postcss.config.mjs': js`
import tailwindcss from '@tailwindcss/postcss'
export default {
plugins: [tailwindcss()],
}
`,
'index.html': html`
<div className="ui-open:flex"></div>
`,
'src/index.css': css`
@import 'tailwindcss/theme' theme(reference);
@import 'tailwindcss/utilities';
@plugin '@headlessui/tailwindcss';
`,
},
},
async ({ fs, exec }) => {
await exec('pnpm postcss src/index.css --output dist/out.css')

await fs.expectFileToContain('dist/out.css', [candidate`ui-open:flex`])
},
)
1 change: 1 addition & 0 deletions packages/@tailwindcss-node/src/compile.ts
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ const jsResolver = EnhancedResolve.ResolverFactory.createResolver({
fileSystem: new EnhancedResolve.CachedInputFileSystem(fs, 4000),
useSyncFileSystemCalls: true,
extensions: ['.js', '.json', '.node', '.ts'],
conditionNames: import.meta.url ? ['node', 'import'] : ['node', 'require'],
})

function resolveJsId(id: string, base: string): Promise<string | false | undefined> {
Expand Down