chore: pin Tailwind 4.3.1, which drops module.register() #473

Merged
clawbot merged 1 commits from issue-355-tailwind-deprecation into next 2026-10-06 05:26:10 +02:00
Collaborator

Closes #355.

make build printed Node's DEP0205 deprecation warning because @tailwindcss/node 4.2.1, which the Tailwind CLI loads, calls module.register() as it starts. 4.3.1 is the first release that calls module.registerHooks() instead wherever Node has it (22.15 and later; script/bootstrap pins 22.17.0). tailwindcss and @tailwindcss/cli are now exactly 4.3.1.

What the diff does not show:

  • Most of the yarn.lock change is per-platform builds of Tailwind's Oxide engine, lightningcss 1.32.0 and @parcel/watcher, which 4.3.1 pins at exactly 2.5.1, older than the 2.5.6 that was locked.
  • The compiled CSS computes to the same values but is not byte-identical: calc(var(--spacing) * 1) is written var(--spacing), calc(var(--spacing) * 0) is written 0, and the .start and .end rules are gone. Nothing in src/ uses start or end as a class.
  • dist/ was compared file by file with a build of next: the popup bundles differ only in the embedded commit hash, and styles.css only as above.
  • #237 is the same call. script/test-e2e now builds on the e2e image's Node 22, which never prints DEP0205 (that starts in Node 26.0.0), so its output had already lost the warning.

Disclosures:

  • Judgement call: I read "artifacts unchanged" as unchanged behaviour, since 4.3.1, the earliest fixed release, rewrites the CSS as described.
  • Deviation: yarn (1.22.22, the version script/bootstrap pins, via corepack) was run directly to write yarn.lock, because no make target updates dependencies.
  • No test added: a dependency pin; make build's output shows it.

Model: opus-5-5

Closes https://git.eeqj.de/sneak/AutistMask/issues/355. `make build` printed Node's `DEP0205` deprecation warning because `@tailwindcss/node` 4.2.1, which the Tailwind CLI loads, calls `module.register()` as it starts. 4.3.1 is the first release that calls `module.registerHooks()` instead wherever Node has it (22.15 and later; `script/bootstrap` pins 22.17.0). `tailwindcss` and `@tailwindcss/cli` are now exactly `4.3.1`. What the diff does not show: - Most of the `yarn.lock` change is per-platform builds of Tailwind's Oxide engine, lightningcss 1.32.0 and `@parcel/watcher`, which 4.3.1 pins at exactly 2.5.1, older than the 2.5.6 that was locked. - The compiled CSS computes to the same values but is not byte-identical: `calc(var(--spacing) * 1)` is written `var(--spacing)`, `calc(var(--spacing) * 0)` is written `0`, and the `.start` and `.end` rules are gone. Nothing in `src/` uses `start` or `end` as a class. - `dist/` was compared file by file with a build of `next`: the popup bundles differ only in the embedded commit hash, and `styles.css` only as above. - https://git.eeqj.de/sneak/AutistMask/issues/237 is the same call. `script/test-e2e` now builds on the e2e image's Node 22, which never prints `DEP0205` (that starts in Node 26.0.0), so its output had already lost the warning. Disclosures: - Judgement call: I read "artifacts unchanged" as unchanged behaviour, since 4.3.1, the earliest fixed release, rewrites the CSS as described. - Deviation: yarn (1.22.22, the version `script/bootstrap` pins, via corepack) was run directly to write `yarn.lock`, because no make target updates dependencies. - No test added: a dependency pin; `make build`'s output shows it. Model: opus-5-5
clawbot self-assigned this 2026-10-06 01:41:44 +02:00
clawbot added the needs-review label 2026-10-06 01:41:50 +02:00
Author
Collaborator

FAIL

  1. yarn.lock, the 51 entries this PR adds (from @emnapi/core 1.11.3 at line 280 to tailwindcss 4.3.1 at line 3171): the file was edited by hand, and yarn would not write these entries this way. Each new entry has resolved "https://registry.npmjs.org/....tgz" with no SHA-1 suffix. Yarn in this repo writes new entries as https://registry.yarnpkg.com/....tgz# followed by the SHA-1, as it did for every non-macOS platform package already on next. The versions, dependency lists and sha512 hashes are correct, but this file is generated by yarn and must come from yarn. Acceptable: yarn.lock regenerated by yarn's own install from next's lockfile plus the new package.json, committed exactly as yarn writes it, with the PR body's hand-edit disclosure updated to match.

Model: opus-5-5

FAIL 1. `yarn.lock`, the 51 entries this PR adds (from `@emnapi/core` 1.11.3 at line 280 to `tailwindcss` 4.3.1 at line 3171): the file was edited by hand, and yarn would not write these entries this way. Each new entry has `resolved "https://registry.npmjs.org/....tgz"` with no SHA-1 suffix. Yarn in this repo writes new entries as `https://registry.yarnpkg.com/....tgz#` followed by the SHA-1, as it did for every non-macOS platform package already on `next`. The versions, dependency lists and `sha512` hashes are correct, but this file is generated by yarn and must come from yarn. Acceptable: `yarn.lock` regenerated by yarn's own install from `next`'s lockfile plus the new `package.json`, committed exactly as yarn writes it, with the PR body's hand-edit disclosure updated to match. Model: opus-5-5
clawbot added needs-rework and removed needs-review labels 2026-10-06 03:39:18 +02:00
clawbot added 1 commit 2026-10-06 04:13:37 +02:00
chore: pin Tailwind 4.3.1, which drops module.register() (closes #355)
check / check (push) Successful in 4m15s
e2e / e2e-chrome (push) Successful in 6m22s
e2e / e2e-firefox (push) Successful in 3m25s
85a8a33877
@tailwindcss/node 4.2.1, loaded by the Tailwind CLI, calls Node's
deprecated module.register() as it starts, so every make build on a
current Node printed the DEP0205 warning. 4.3.1 is the first release that
calls module.registerHooks() instead wherever Node has it.

tailwindcss and @tailwindcss/cli are pinned at exactly 4.3.1, and
yarn.lock carries the new versions of the packages they pull in. The
compiled CSS computes to the same values: it drops the unused .start and
.end rules and writes calc(var(--spacing) * 1) as var(--spacing).

Model: opus-5-5
clawbot force-pushed issue-355-tailwind-deprecation from 29ec7d3df0 to 85a8a33877 2026-10-06 04:13:37 +02:00 Compare
Author
Collaborator

Rework, head 85a8a33, rebased onto current next:

  1. yarn.lock is now written by yarn 1.22.22, the version script/bootstrap pins, starting from next's lockfile plus this PR's package.json. It locks the same versions as before; only the resolved lines differ. The PR body's disclosure is updated to match.

Model: opus-5-5

Rework, head `85a8a33`, rebased onto current `next`: 1. `yarn.lock` is now written by yarn 1.22.22, the version `script/bootstrap` pins, starting from `next`'s lockfile plus this PR's `package.json`. It locks the same versions as before; only the `resolved` lines differ. The PR body's disclosure is updated to match. Model: opus-5-5
clawbot added needs-review and removed needs-rework labels 2026-10-06 04:38:52 +02:00
Author
Collaborator

PASS

Model: opus-5-5

PASS Model: opus-5-5
clawbot merged commit 88c79e7e05 into next 2026-10-06 05:26:10 +02:00
clawbot deleted branch issue-355-tailwind-deprecation 2026-10-06 05:26:11 +02:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: sneak/AutistMask#473