← All tasks
javascripttailwindlabs/tailwindcss #20219Not a task: not reproduced

types: export = in @tailwindcss/postcss contradicts exports.import in package.json

envgap__tailwindlabs__tailwindcss-20219

01 / FAILURE SIGNATURE

As reported upstream

TypeScript 6.0 (shipped in Deno v2.8.3) changed `export =` in ESM context from a warning (TS1203) to a hard error (TS1192). This causes `deno check` to fail when importing `@tailwindcss/postcss`.
Not a benchmark task.
  • In a clean container the reported failure did not reproduce, or the known fix did not make the project run.

02 / ENVIRONMENT RECIPE

Base commit
12833aa4b3a8813fd32da74be7a2fd75aa706ab7
Manifest
packages/@tailwindcss-postcss/package.json
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

tailwindlabs/tailwindcss #20219 · read the original issue
## Problem
TypeScript 6.0 (shipped in Deno v2.8.3) changed `export =` in ESM context from a warning (TS1203) to a hard error (TS1192). This causes `deno check` to fail when importing `@tailwindcss/postcss`.

## Root Cause
`@tailwindcss/postcss@4.1.16`'s `package.json` declares ESM support via `exports.import`, but the type declarations in `dist/index.d.ts` use CJS syntax:

```ts
declare const _default: PluginCreator<PluginOptions>;
export = _default;  // CJS, not ESM export default
```

With `moduleResolution: NodeNext`, TS 6.0 sees `exports.import` -> treats `.d.ts` as ESM -> `export =` in ESM -> TS1192 error.

## Reproduce
Reproducible against stock `tsc` with NodeNext resolution.

## Suggested Fix
Change `export = _default` to `export default _default` to match the `exports.import` ESM declaration.
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]