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
12 changes: 11 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,17 @@ Versioning: [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

## [0.4.0] — 2026-09-26
## [0.4.1] — 2026-09-26

The `v0.4.0` tag was not published: its release check failed with npm 12. 0.4.1
has the same changes, listed below.

### Fixed

- The package tarball check reads the `npm pack --json` output of npm 11 (an
array) and of npm 12 (an object keyed by package name).

## [0.4.0] — 2026-09-26 (not published)

### Added

Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@norbert_bodziony/bloub",
"private": false,
"version": "0.4.0",
"version": "0.4.1",
"type": "module",
"description": "SVG recreation of the x.ai bot avatar. One shape morphing through 14 states, measured off the reference video frame by frame.",
"license": "MIT",
Expand Down
7 changes: 5 additions & 2 deletions tools/test-package-tarball.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,15 @@ function run(command, args, cwd) {
}

try {
const packed = JSON.parse(
const output = JSON.parse(
execFileSync('npm', ['pack', ...(packageSpec ? [packageSpec] : []), '--json', '--pack-destination', temporary], {
cwd: root,
encoding: 'utf8'
})
)[0]
)
// npm 11 rend un tableau, npm 12 un objet indexe par nom de paquet.
const packed = Array.isArray(output) ? output[0] : Object.values(output)[0]
if (!packed?.files) throw new Error(`Unexpected npm pack output: ${JSON.stringify(output).slice(0, 200)}`)
const packedPaths = packed.files.map((file) => file.path)
const forbidden = packedPaths.filter(
(path) => path.endsWith('.map') || path.startsWith('src/') || path.includes('mediabunny')
Expand Down
Loading