Skip to content

feat: include config for extra package names (native binary optional deps) - #16

Merged
theoephraim merged 2 commits into
mainfrom
claude/npm-optional-native-binaries-92b0ef
Sep 17, 2026
Merged

theoephraim merged 2 commits into
mainfrom
claude/npm-optional-native-binaries-92b0ef

Conversation

@theoephraim

Copy link
Copy Markdown
Member

Adds an include option to the fledgling config for packages published from the repo that have no package.json in the workspace — the classic case being per-platform native binary packages shipped as optionalDependencies and generated at build time.

{
  "fledgling": {
    "include": ["@scope/my-tool-darwin-arm64", "@scope/my-tool-linux-x64-gnu"]
  }
}
  • Exact names (no globs — nothing on disk to match against), synthesized as bare packages at the workspace root and deduped against discovery.
  • Treated like discovered packages everywhere: add, sync, the wizard, glob selectors, and tab completion. Trust is set up by default since they publish from the same repo/workflow.
  • Explicit includes are not subject to ignore globs.
  • npm-only: fledgling jsr skips them (no manifest to scaffold a jsr.json next to).
  • New collectPackages() helper replaces the repeated applyIgnore(discoverPackages(...)) pattern.

Verified with a fake monorepo: 1 real package + 2 includes → add --dry-run plans all 3; add "*-gnu" resolves the glob to the included name.

@github-actions

github-actions Bot commented Sep 17, 2026

Copy link
Copy Markdown

bumpy-frog

The changes in this PR will be included in the next version bump.

minor Minor releases

  • fledgling 1.2.1 → 1.3.0

Bump files in this PR

Click here if you want to add another bump file to this PR


This comment is maintained by bumpy.

…manifests

Native binary packages published as optional deps have no package.json in
the workspace. List their exact names in `fledgling.include` and they are
claimed, trusted, synced, and tab-completed like discovered packages.
npm-only: the JSR flow skips them (nothing to scaffold a jsr.json next to).
@theoephraim
theoephraim force-pushed the claude/npm-optional-native-binaries-92b0ef branch from 5b39071 to 7e23178 Compare September 17, 2026 19:14
@theoephraim
theoephraim merged commit 92ae7ca into main Sep 17, 2026
1 check passed
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