ReviewOS

craft-native/craft

fix(svelte): include the declared Svelte source export in npm packages

#287
Closed glennmichael123 opened this 10 days ago ·
10 days ago

Summary

@craft-native/svelte advertises its source entry twice:

  • top-level svelte: src/index.ts
  • exports["."].svelte: ./src/index.ts

But the package allowlist is only files: ["dist"]. A clean bun run build && bun pm pack therefore omits all of src/, including the advertised entry.

Reproduction

cd packages/svelte
bun run build
bun pm pack --destination /tmp/craft-pack

tar -xOzf /tmp/craft-pack/craft-native-svelte-0.0.92.tgz package/package.json | jq "{files, svelte, exports}"
tar -tzf /tmp/craft-pack/craft-native-svelte-0.0.92.tgz | rg "package/src/index.ts"

The second command returns no match. A complete audit of all eight publishable package manifests found this as one of only three missing file targets; the other two are tracked in #286.

Impact

Resolvers that honor the svelte condition or top-level svelte field are directed to a file that is not installed, while generic import/require consumers continue through dist.

Expected

Either ship the source tree needed by the Svelte entry or point the Svelte condition/field at a packaged build artifact. Add a pack-time CI assertion that every published manifest file target exists in its tarball.

Found during the release-readiness audit tracked alongside #272.

Sign in to comment on this issue.