Skip to content

Give the node and Flutter packages the version they are published at - #31

Merged
marcobambini merged 1 commit into
mainfrom
fix-package-versions
Nov 13, 2026
Merged

marcobambini merged 1 commit into
mainfrom
fix-package-versions

Conversation

@marcobambini

Copy link
Copy Markdown
Member

packages/node/package.json said 1.1.14 and packages/flutter/pubspec.yaml said 1.2.3, while the extension was at 1.4.1. The release job writes the real version into the working copy before publishing, but never committed it, so the repository went on showing whatever was last committed. The published packages were always right; only the repository was wrong.

Why this is more than cosmetic

The node package's optionalDependencies pinned all seven platform packages to 1.1.14 too:

"@sqliteai/sqlite-js-darwin-arm64": "1.1.14",
"@sqliteai/sqlite-js-linux-x86_64": "1.1.14",
...

So an npm install in packages/node fetched binaries from long before the current source — no memory limit, no interrupt handler, none of the stack work — while the TypeScript next to them was from today. Anyone running the package's own tests locally was testing against those.

The change

Both files now say 1.4.2, which is what is published, and the release job commits them from now on, in the same [auto-update] commit as the Package.swift checksum:

git add Package.swift packages/node/package.json packages/flutter/pubspec.yaml
git commit -m "Update Package.swift and the package versions for ${VERSION} [auto-update]"

package.json is already rewritten by the publish step above it, so it only needed adding to the commit. The Flutter pubspec is rewritten there too, because flutter-package.yml only rewrites it after the tag; its own sed becomes a no-op and stays as the safety net it is.

The commit message keeps [auto-update], which is what the build job's if looks for to avoid running again for that commit.

Checked

All seven platform packages exist at 1.4.2 on the registry, so the pinned version resolves rather than failing an install:

HTTP 200  @sqliteai/sqlite-js-darwin-arm64        HTTP 200  @sqliteai/sqlite-js-linux-x86_64
HTTP 200  @sqliteai/sqlite-js-darwin-x86_64       HTTP 200  @sqliteai/sqlite-js-linux-x86_64-musl
HTTP 200  @sqliteai/sqlite-js-linux-arm64         HTTP 200  @sqliteai/sqlite-js-win32-x86_64
HTTP 200  @sqliteai/sqlite-js-linux-arm64-musl

The workflow parses, the edited step keeps its if and its [auto-update] message, and package.json is still valid JSON with one distinct version across all eight entries.

Note this cannot be fully exercised until the next release, since the committing part only runs in the release job. What it does is add three paths to a git add that already worked.

🤖 Generated with Claude Code

…d at

Both carried a number from several releases back: packages/node/package.json
said 1.1.14 and packages/flutter/pubspec.yaml 1.2.3, while the extension was
at 1.4.1. The release job writes the real version into the working copy
before publishing but never committed it, so the repository went on showing
whatever was last committed.

For the node package that was not only confusing. Its optionalDependencies
pinned the seven platform packages to 1.1.14 as well, so an npm install in
packages/node fetched binaries from long before the current source: no
memory limit, no interrupt handler, none of the stack work. The published
package was always right, since the release job rewrites all eight versions
with jq before npm publish; only the repository was wrong.

Both files now say 1.4.2, which is what is published, and the release job
commits them from now on, in the same [auto-update] commit as the
Package.swift checksum. The Flutter pubspec is rewritten there too, since
flutter-package.yml only rewrites it after the tag; its sed stays as the
safety net it is. The commit message keeps [auto-update], which is what
keeps the build job from running again for it.

Checked that all seven platform packages exist at 1.4.2 on the registry, so
the pinned version resolves.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@marcobambini
marcobambini merged commit 5f0b446 into main Nov 13, 2026
29 of 30 checks passed
@marcobambini
marcobambini deleted the fix-package-versions branch November 13, 2026 13:15
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.

1 participant