template: drop the npm requirement + fix kernel-matrix lvh tags#26
Merged
Conversation
The starter imports only `yeet:*` builtins and local `@/` modules, and esbuild is vendored by the toolchain (build/toolchain.lock) — so the `npm install` the Makefile ran only installed a second, unused copy of esbuild into node_modules. Remove npm from the required build path: - Makefile: drop the node_modules target, the NPM var, and bundle's dependency on node_modules; bundle now runs the vendored esbuild directly. - package.json: drop the esbuild devDep and the build script (it shelled out to a bare `esbuild`); slim to a manifest with empty dependencies. - package-lock.json: delete (dead npm artifact); scripts/new no longer substitutes __NAME__ into it. - README: npm/node removed from prerequisites; the build and npm/jsr sections now explain deps are optional and resolved from node_modules with any package manager. - toolchain.lock: ESBUILD_VERSION is now the sole esbuild pin. The deps door stays open — esbuild inlines whatever is in node_modules — but npm is no longer required to build the starter. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Cherry-picked from #24. The floating `<ver>-main` tags can't be consumed by little-vm-helper@v0.0.30: it derives the VM qcow2 filename by stripping a trailing numeric build stamp, so a `-main` tag yields a name that doesn't match the file lvh unpacks and the run fails with "invalid reference format". Keep the readable list of kernel lines in the matrix and have each job look up that line's newest date-stamped tag (`<ver>-YYYYMMDD.HHMMSS`, which the action handles) from the quay registry at run time — tracking the latest build with no tag to bump, immune to quay pruning old stamps. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Two commits:
1. Drop the npm requirement from the build
The starter imports only
yeet:*builtins and local@/modules, and esbuild is already vendored by the toolchain (build/toolchain.lock→ fetched into the per-machine cache →$(ESBUILD)). The Makefile'snpm installonly installed a second, unused copy of esbuild intonode_modules.template/Makefile— drop thenode_modulestarget, theNPMvar, andbundle's dependency on it.bundleruns the vendored esbuild directly.template/package.json— drop theesbuilddevDep and thebuildscript; kept as a slim manifest so optional npm/jsr deps still work.template/package-lock.json— deleted;scripts/newno longer substitutes__NAME__into it.template/README.md—npm/noderemoved from prerequisites; deps documented as optional, resolved fromnode_moduleswith any package manager.template/build/toolchain.lock—ESBUILD_VERSIONis now the sole esbuild pin.Verified: a freshly generated project bundles cleanly with no
node_modulespresent.2. Fix kernel-matrix lvh tags (cherry-picked from #24)
The floating
<ver>-maintags can't be consumed by little-vm-helper@v0.0.30 (it strips a trailing numeric build stamp to derive the VM image filename, so-main→ "invalid reference format"). Each job now resolves its kernel line to the newest date-stamped tag (<ver>-YYYYMMDD.HHMMSS) from the quay registry at run time.🤖 Generated with Claude Code