Skip to content

build: pin attw + override fflate to fix integrity-checks#6

Merged
amix merged 1 commit into
mainfrom
amix/fix-attw-fflate
May 21, 2026
Merged

build: pin attw + override fflate to fix integrity-checks#6
amix merged 1 commit into
mainfrom
amix/fix-attw-fflate

Conversation

@amix
Copy link
Copy Markdown
Member

@amix amix commented May 21, 2026

Context

npm run integrity-checks (and so prepublishOnly) was crashing in the attw step with Cannot read properties of undefined (reading 'filename').

Root cause: fflate 0.8.3 (released 2026-05-16) broke @arethetypeswrong/core's tarball decompression — its Gunzip shim only captures the last chunk, and the new fflate emits more than one for our tarball.

What was changed

  • Pin @arethetypeswrong/cli@0.18.2 as a devDependency so the attw binary is locked alongside its transitive deps.
  • overrides.fflate = "0.8.2" to roll the bad transitive back.
  • Drop the npx from the attw script — we have a local copy now.

Verified

npm run integrity-checks green again. attw reports 🟢 on node10 / node16 (CJS+ESM) / bundler.

`npm run integrity-checks` (and so `prepublishOnly`) was crashing in
the `attw` step with `Cannot read properties of undefined (reading
'filename')`. Root cause: fflate 0.8.3 (released 2026-05-16) broke
`@arethetypeswrong/core`'s tarball decompression — its `Gunzip` shim
only ever captures the last chunk, and the new fflate emits more than
one for our tarball.

- Pin `@arethetypeswrong/cli@0.18.2` as a devDependency so the
  attw binary is locked alongside its transitive deps.
- `overrides.fflate = "0.8.2"` to roll the bad transitive back.
- Drop the `npx` from the `attw` script — we have a local copy now.

Verified: `npm run integrity-checks` is green again (attw reports
🟢 on node10 / node16 / bundler).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@amix amix requested a review from scottlovegrove May 21, 2026 11:27
@amix amix marked this pull request as ready for review May 21, 2026 11:27
@amix amix merged commit 68cd080 into main May 21, 2026
3 checks passed
@scottlovegrove
Copy link
Copy Markdown
Collaborator

Oof, I'd already done this on the Todoist SDK and never even thought about fixing it for Twist (which will still need this fix as well).

@scottlovegrove scottlovegrove deleted the amix/fix-attw-fflate branch May 21, 2026 11:29
Copy link
Copy Markdown
Member

@doistbot doistbot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for quickly addressing the build failure during integrity checks by pinning the @arethetypeswrong/cli dependency and overriding the broken fflate transitive dependency. These adjustments effectively restore the reliability of the prepublish pipeline. It was noted that scoping the fflate override specifically to the affected tool, rather than applying it globally, would prevent unintended constraints on future dependencies.

Share FeedbackReview Logs

Comment thread package.json
scottlovegrove added a commit to Doist/twist-sdk-typescript that referenced this pull request May 22, 2026
## Context

`npm run integrity-checks` (and so `prepublishOnly`) was crashing in the
`attw` step with `Cannot read properties of undefined (reading
'filename')`.

Root cause: fflate 0.8.3 broke `@arethetypeswrong/core`'s tarball
decompression — its `Gunzip` shim only captures the last chunk, and the
new fflate emits more than one for our tarball.

Same fix as Doist/comms-sdk-typescript#6.

## What was changed

- Pin `@arethetypeswrong/cli@0.18.2` as a devDependency so the attw
binary is locked alongside its transitive deps.
- `overrides.fflate = "0.8.2"` to roll the bad transitive back.
- Drop the `npx` from the `attw` script — we have a local copy now.

## Verified

`npm run attw` green again. attw reports 🟢 on node10 / node16 (CJS+ESM)
/ bundler. `fflate@0.8.2 overridden` confirmed via `npm ls fflate`.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants