Conversation
This branch has not been deployed
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.
Problem
The root package exports
typesafe-i18n/solid, and that adapter importssolid-jsat runtime. The published 5.27.1 manifest only declares TypeScript as a peer, so strict or isolated package layouts cannot resolve the adapter's runtime import.In a Bun project with
linker = "isolated", the unpatched package fails in three paths:bun -e "await import('typesafe-i18n/solid')"reports that it cannot findsolid-jsfrom the isolatedtypesafe-i18npackage path.node --input-type=module -e "await import('typesafe-i18n/solid')"fails withERR_MODULE_NOT_FOUNDforsolid-js.solid-jsfromtypesafe-i18n/solid/index.mjs.Vite's development dependency optimization can hide the invalid package graph. The direct imports and production build expose it. bjesuiter/bgf-wlan-translation-v5#211 has the consuming-project context and full comparison.
Fix
Declare
solid-js >=1.0.0as an optional peer dependency in the published root manifest. Solid adapter users must provide Solid, while users of the runtime or other adapters should not have to install it. The existingtypescript >=3.5.1peer remains unchanged.This is a manifest-only change. The repository has no package-manifest test seam, so I checked the packed artifact and installed that exact tarball in a fresh consumer instead of adding a new test framework.
Validation
pnpm install --frozen-lockfilepnpm lintpnpm testpnpm buildnpm pack --dry-run --json./solidexport, both peer dependencies, andpeerDependenciesMeta.solid-js.optionallinker = "isolated"from the exact tarballpnpm test:sizealso ran. It exceeded nearly every existing limit by 1 to 5 bytes, including unrelated runtime and framework entries. This patch changes package metadata only and cannot change those bundles, so I did not alter the limits.