Skip to content

fix: @_linked/cli publish auth (prepack removal) + --grant-team option + --linkedPackage guard#19

Merged
flyon merged 7 commits intomainfrom
next
Apr 23, 2026
Merged

fix: @_linked/cli publish auth (prepack removal) + --grant-team option + --linkedPackage guard#19
flyon merged 7 commits intomainfrom
next

Conversation

@flyon
Copy link
Copy Markdown
Contributor

@flyon flyon commented Apr 23, 2026

Summary

Fixes the ENEEDAUTH failure on PR #18's Release publish. Also includes additional improvements.

Publish fix (primary)

  • Remove prepack: yarn build && pinst --disable — was breaking npm's auth flow
  • Remove postpack: pinst --enable and postinstall: husky install — unnecessary for CI flow
  • Bump version 1.2.11 → 1.3.1 (1.3.0 was consumed by the failed publish)

Additional improvements

  • linked build now refuses to build non-linkedPackage packages (errors early, pointing linkedApp users to linked build-app)
  • linked setup-publish --grant-team <slug> new option (calls gh api to grant team push access; generic, no org-specific hardcoding)
  • ci.yml template: always-emit-status pattern (so Release PRs don't block on required checks)
  • check-imports reverted to fatal error (was warn-only by mistake; 0 violations across foundational packages confirms they're already correct)

On merge: changesets opens a Release PR bumping to 1.3.1 with CHANGELOG. Merging that publishes.

René Verheij added 7 commits April 23, 2026 08:22
…PRs)

Required status checks on main were blocking Release PRs from merging.
Previous pattern: 'if:' skip of the whole job — GitHub never reports a
status, required check waits forever. New pattern: job always runs, steps
conditionally skip based on head ref. Release PRs merge cleanly.

Also:
- check-imports: REVERT warn-only; restore to fatal throw. Relative imports
  MUST have .js extensions for native-ESM-compatible output (per review).
- setup-publish: stop gitignoring src/**/*.d.ts (hand-written type
  declarations like colors.d.ts are legit src files; only .js.map is
  strictly tsc output).
…nt-team option

- 'linked build' now early-errors if package.json lacks 'linkedPackage: true'.
  linkedApp gets a pointer to 'linked build-app' instead; packages with no
  flag get a clear message.
- setup-publish: new --grant-team <slug> option. Calls gh api to PUT team
  push-permission on the repo. Handy for core packages so maintainers
  (semantu-devs) get access without per-repo invites.
- Team slug is variable, so community-package promotion flows can use a
  different team if desired (or omit entirely — community repos are
  maintainer-owned).
…h auth

The prepack script 'yarn build && pinst --disable' ran during 'npm publish'
and caused ENEEDAUTH — the publish couldn't authenticate against the
registry. CI already runs the Build step explicitly, so prepack is redundant.
Removed prepack/postpack/postinstall; bumped to 1.3.1.
@flyon flyon merged commit 2111d11 into main Apr 23, 2026
2 checks passed
This was referenced Apr 23, 2026
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