tailwindcss/packages/@tailwindcss-postcss/src
Jordan Pittman 9df5ba78bf
Fix PostCSS crash when using toJSON() (#18083)
When I added source maps to PostCSS I mistakenly assumed that `.source`
on a node could be `undefined`. The comment above the property in
PostCSS says that `source` can be `undefined` but this is a commentary
on the value upon **access** not its expected value on **write**:

```ts
declare abstract class Node_ {
  /**
   * …
   *
   * The nodes that are created manually using the public APIs
   * provided by PostCSS will have `source` undefined and
   * will be absent in the source map.
   *
   * …
   */
  source?: Node.Source
}
```

Rather, what these types mean is that *if the property exists* it must
be defined. But otherwise the property can be missing if a node has no
source location metadata. This generally wasn't a problem with the
string-returning APIs but the `toJSON()` API in PostCSS expects that
`source` is defined if present. This caused a crash because our license
comment doesn't have a source location.

I've addressed this by deleting the `source` property from the node if
source location data is not available.

Fixes #18082

ref https://github.com/parcel-bundler/parcel/issues/10161
2025-05-19 11:28:09 -04:00
..
__snapshots__ Polyfill: Fall back to first color value when color-mix(…) contains unresolvable var(…) (#17513) 2025-04-03 15:12:34 +00:00
fixtures/example-project PostCSS: Fix Turbopack 'one-revision-behind' bug (#17554) 2025-04-04 14:58:50 +02:00
postcss-fix-relative-paths Postcss: Run plugin in Once hook (#15273) 2024-12-03 10:28:51 +01:00
ast.test.ts Use AST transformations in @tailwindcss/postcss (#15297) 2024-12-04 15:43:59 +01:00
ast.ts Fix PostCSS crash when using toJSON() (#18083) 2025-05-19 11:28:09 -04:00
index.cts Postcss: Bring back proper type exports (#14256) 2024-08-26 15:54:07 +02:00
index.test.ts PostCSS: Fix Turbopack 'one-revision-behind' bug (#17554) 2025-04-04 14:58:50 +02:00
index.ts Add support for source maps (#17775) 2025-05-08 16:29:49 -04:00