chore: rename scope to @inoxth, ship 0.1.1#2
Merged
Conversation
The @Inox scope is owned by a different npm account on registry. Account inoxth is not a member, so PUT to @inox/* returns 404. Renaming all 4 publishable packages and the private CLI to the user-scope @inoxth/* (free, immediate, no org required). - Rename 5 packages/*/package.json names and workspace deps - Update source imports of @inox/react-native-edot-shared in packages/react-native/src/{EdotReactNative,activeViewContext}.ts - Update OTel instrumentation scope strings used in fetch/xhr/startup TS sources and EdotReactNative.swift to match the new npm scope - Update example apps (basic, expo-router, react-navigation, wix- navigation) deps, metro/tsconfig resolvers, and all imports - Update root scripts, .changeset/config.json fixed group/ignore list - Update READMEs, AGENTS.md, CONTRIBUTING.md, current openspec specs - Rewrite CHANGELOG.md 0.1.0 entries (version never published, safe) - Regenerate yarn.lock under the new scope Untouched: native module identifiers (com.edot.reactnative, EdotReactNative class, EdotReactNativeSpec codegen) and archived openspec/changes/archive/** historical specs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
`yarn changeset publish` invokes `npm publish` directly from each yarn 4 workspace, which uploads the raw `workspace:*` protocol literal instead of a concrete version range — published packages with cross-package deps become uninstallable for consumers. See changesets/changesets#432. Replace the publish step with a script that: - Reads the publishable scope from .changeset/config.json fixed group - Packs each via `yarn pack` (substitutes workspace:* at pack time) - Publishes each tarball via `npm publish <tgz>` (auth via ~/.npmrc + WebAuthn locally, NODE_AUTH_TOKEN/OIDC in CI) - Adds --provenance only when GitHub Actions OIDC is available, else --no-provenance so local publish doesn't trip publishConfig.provenance - Idempotent: skips versions already on the registry Also fix the Android compile step's stale `:inox_react-native-edot-sdk` gradle module reference left over from the scope rename — autolinking now derives `:inoxth_react-native-edot-sdk`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
- Group the header into "why this script exists", "what this script does", and "output format" sections to make the rationale and the upstream issue (changesets/changesets#432) discoverable for future maintainers. - Annotate each step inline so the role of yarn pack vs npm publish vs the idempotency check is clear at a glance. - Add a pre-publish guard: after yarn pack, grep the tarball's embedded package.json for any leftover "workspace: protocol entries and abort with a clear error if found. Prevents another round of broken tarballs hitting the public registry if yarn pack ever stops substituting (regression, wrong yarn version, etc.). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Runs build/typecheck/test/lint and the Android SDK module compile on every pull_request against main, providing a status check the main branch ruleset can require before merge. Concurrency: cancels in-progress runs when a PR receives new commits to keep CI minutes bounded and feedback fast. Mirrors the same verification steps as release.yml's pre-publish gates, intentionally duplicated so neither workflow depends on the other for correctness. Co-Authored-By: Claude Opus 4.7 (1M context) <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.
Summary
Rename the npm scope from
@inox/*to@inoxth/*and ship the first real public release at 0.1.1.@inoxis owned by a different npm account thatinoxthhas no membership in, so all publishes returned 404. Moving to the user scope@inoxth/*(free, reserved automatically for the npm user) resolves this.While fixing this we also closed two related gaps:
yarn changeset publishinvokesnpm publishdirectly from each workspace, which uploaded the literalworkspace:*string instead of substituting it with a concrete version (consumers couldn't install). Replaced the publish path withyarn pack→npm publish <tgz>viascripts/publish.sh. See changesets/changesets#432.release.ymlonly ran on push to main, so there was no status check the newmainbranch ruleset could require. Added.github/workflows/ci.ymlto fill the gap.Changes
@inox/*→@inoxth/*across 119 files (packages, workspace deps, source imports, OTel instrumentation scope strings, example apps, READMEs, openspec current specs)scripts/publish.sh—yarn packsubstitutesworkspace:*,npm publish <tgz>uploads. Idempotent (npm viewskip-check) and guarded against accidentalworkspace:leakage in the tarball.release.ymlswapsyarn changeset publish→bash scripts/publish.sh, fixes stale:inox_react-native-edot-sdkAndroid module ref to:inoxth_react-native-edot-sdkci.ymlrunsbuild/typecheck/test/lint/Android compile on every PR against mainVerification done locally
yarn build/typecheck/test(322/322) /lintgreenpod installsucceeds on all 4 example apps under new scope:inoxth_react-native-edot-sdk:assembleDebugsucceeds on all 4 example appsyarn packproduces tarballs with concrete deps (workspace:*→0.1.1)npm viewconfirms concrete deps for each of the 4 packagesWhat CI on this PR will do
ci.yml→Verifyjob runs the same checks listed aboveWhat CI on merge will do
release.ymlruns build/test/lint/Android compilescripts/publish.shruns, sees all 4 packages already at 0.1.1 →npm viewskip-check fires → no publish attempted → green runFollow-up after merge (manual)
VerifyNPM_TOKENsecret once TP is confirmed working🤖 Generated with Claude Code