Repository navigation
Verify packed npm CLI offline and fix macOS ESM entrypoint aliases - #274
Merged
Merged
Conversation
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.
Why
The CLI package currently passes source tests and a dry-run pack inventory, but we also need to prove that the actual packed npm tarball can be installed and executed across operating systems.
Changes
npm run smoke:consumer: pack the actual CLI into a private .tgz, install that tarball into a fresh temporary prefix withnpm install --offline --ignore-scriptsand a private npm cache, then run the installedlineloomCLI.--preview --publisher Sanskardry-run and stable-channel migration rejection.Real portability bug found by the new test
The first macOS CI run revealed the packed CLI produced empty output when launched through an OS path alias. Its ESM entrypoint compared
import.meta.urltopathToFileURL(process.argv[1]), which can disagree for identical files when macOS canonicalizes/varto/private/var(or through an npm bin symlink).bin/lineloom.mjsto comparerealpathSyncof the main script and resolved module file, preserving no side effects on ordinary imports.Gates
The CLI is still unpublished
0.3.0development source. No npmjs staging, package version bump, GitHub release, VSIX upload, Marketplace/Open VSX publication or publisher migration. A packed tarball smoke is not physical-editor acceptance or independent public-registry install evidence. Merge only after all CI passes.