Summary
Both standalone mobile packages declare a TypeScript export target that their clean builds and npm tarballs do not contain:
@craft-native/android:exports["."].types->./dist/index.d.ts@craft-native/ios:exports["."].types->./dist/index.d.ts
packages/android/build.ts and packages/ios/build.ts only invoke bun build, which emits JavaScript. After bun run build && bun pm pack, each archive contains package/dist/index.js but no package/dist/index.d.ts.
Reproduction
cd packages/android
bun run build
bun pm pack --destination /tmp/craft-pack
tar -tzf /tmp/craft-pack/craft-native-android-0.0.92.tgz | sort
tar -xOzf /tmp/craft-pack/craft-native-android-0.0.92.tgz package/package.json | jq .exportsRepeat under packages/ios; both declared type targets are absent. A complete audit of all eight publishable package manifests found these as two of only three missing export targets.
Impact
TypeScript consumers of the standalone @craft-native/android and @craft-native/ios entry points cannot resolve the advertised declarations. The root craft-native package does ship its mobile subpath declarations, so the defect is specific to the independently published packages.
Expected
- Generate and include
dist/index.d.tsin both package builds. - Add a pack-time CI assertion that every
main,types,bin, andexportsfile target exists in the produced tarball.
Found during the release-readiness audit tracked alongside #272.