chore(npm): publish under scoped name @punitarani/fli - #185
Merged
Conversation
The unscoped names `fli` and `flights` are already owned by unrelated accounts on npm, so publishing under either returns 403. Switch to the author's personal scope `@punitarani/fli`, which is available and requires no org. `publishConfig.access: public` is already set, so the scoped package publishes publicly (installable via `npm install @punitarani/fli`). - fli-js/package.json: name fli -> @punitarani/fli - publish-npm.yml: environment url -> .../package/@punitarani/fli - fli-js/README.md: install command + import examples use the scoped name
Contributor
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.
Summary
The unscoped names
fliandflightsare both already owned by unrelated accounts on npm, so publishing under either returns403 Forbidden:fli→ owned bynwienert(a React build-system package), v0.2.6flights→ owned bykristjanmik, v0.3.1Switch to the author's personal scope
@punitarani/fli, which is available (npm view @punitarani/fli→ 404) and needs no org — every npm user gets their own scope for free.publishConfig.access: "public"is already set, so the scoped package publishes publicly and installs withnpm install @punitarani/fli.Changes
fli-js/package.json:namefli→@punitarani/fli.github/workflows/publish-npm.yml: environmenturl→https://www.npmjs.com/package/@punitarani/flifli-js/README.md: install command + import examples use the scoped nameNo code changes — internal imports are relative, so typecheck/lint/tests are unaffected (261 tests green locally).
After merge
Re-publish the existing 0.0.2 version — do not re-run
release-npm(it would bump again). Use the Upload npm Package run's Re-run jobs, orworkflow_dispatchpublish-npm.ymlwithenvironment=npm.Reminder on the remaining setup item: the
NPM_TOKENsecret on thenpmGitHub environment must be an Automation token (or a granular token with write access) — a classic "Publish" token will fail in CI if the account has 2FA on writes.https://claude.ai/code/session_01R2vZihmSWV2wvRawjF4Gjo
Generated by Claude Code
Greptile Summary
Renames the npm package from the unscoped
flito@punitarani/flito avoid 403 conflicts with unrelated packages that already own thefliandflightsnames on the registry. No code logic changes — only the package name, workflow environment URL, and README install/import examples are updated.fli-js/package.json:namefield updated to@punitarani/fli; existingpublishConfig.access: "public"andpublishConfig.provenance: truealready satisfy the requirements for a public scoped package, and the workflow's--access public --provenanceflags onnpm publishare consistent with these..github/workflows/publish-npm.yml: Environment URL updated; tarball discovery uses a*.tgzglob so the rename fromfli-0.0.2.tgztopunitarani-fli-0.0.2.tgzis handled automatically.fli-js/README.md: All four install and import examples updated to the scoped name.Confidence Score: 5/5
Safe to merge — purely a package rename with no logic changes and all three files updated consistently.
All changes are administrative: the package name, the workflow environment URL, and the README examples are updated in lockstep. The workflow's tarball discovery uses a wildcard glob so the scoped-name tarball (punitarani-fli-0.0.2.tgz) is found correctly. No code paths are affected.
No files require special attention.
Important Files Changed
flito@punitarani/fli;publishConfig.access: "public"andpublishConfig.provenance: truealready presentflito@punitarani/fliconsistentlySequence Diagram
sequenceDiagram participant GH as GitHub Actions participant BUN as Bun (release-build) participant ART as Artifact Store participant NPM as npm registry GH->>BUN: bun run build BUN->>BUN: tsc → dist/ GH->>BUN: npm pack Note over BUN: produces punitarani-fli-0.0.2.tgz BUN->>ART: upload-artifact (npm-tarball) GH->>ART: download-artifact (npm-tarball) ART-->>GH: dist-tarball/punitarani-fli-0.0.2.tgz GH->>NPM: npm publish ./dist-tarball/punitarani-fli-0.0.2.tgz --provenance --access public NPM-->>GH: "200 OK → @punitarani/fli@0.0.2"Reviews (1): Last reviewed commit: "chore(npm): publish under scoped name @p..." | Re-trigger Greptile