Repository navigation
fix: registry gaps (runtime filter, utils/lib deps, paths+target, type-only cycles) → 2.0.2 - #1
Merged
Merged
Conversation
added 3 commits
October 11, 2026 23:49
… deps, honour paths with target, quiet type-only cycles - runtime filter keeps *.types.ts/*.d.ts and files imported (transitively) by kept files - utils, utils/<n>, lib/<n> registryDependencies resolve against their own endpoints; installed on add if missing (never overwritten when only a dependency) - paths precedence: --path flag > config.paths by target prefix > file target - dependency cycles: no default warning, items installed once, type-only edges at --verbose - registry item cache namespaced per --registry-url
…our registry gaps
…edence; changelog and version 2.0.2 (unpublished)
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.
Summary
Fixes four gaps found while validating per-runtime registries (
r/<svelte|react|vue>/) with the real CLI. Version bumped to 2.0.2 on this branch only (not published, no tag/release).*.types.ts→--runtime/config.runtimenow always keeps*.types.ts,*.types.tsx,*.d.tsand every file of the same item that a kept file imports (relative, transitive, extension/index resolution). A file imported by a selected file is never dropped. (init --framework noneworkaround no longer needed.)registry:utils/registry:libnot resolved viaregistryDependencies→utils,utils/<n>,lib/<n>(and bare lib names inindex.json) resolve againstutils/<n>.json/lib/<n>.jsonand are installed byaddif missing. Catalog exclusion (picker /--alllist) is kept; explicit names and dependencies are no longer filtered. Dependency-only utils/lib never overwrite existing files (even with--force).initcore install unchanged.pathsignored when a file setstarget→ precedence:add --path key=dir(new, repeatable) >config.pathsmapped by target prefix > filetarget. Unchanged when no paths apply. Documented indocs/configuration.md.--verboselists type-only edges; value-only cycles get one concise warning.Also: registry item cache is namespaced per
--registry-url(two registries no longer share cached items by name).strictCdn/registryUrlunchanged (tests added).Tests
tests/utils/runtime-files.test.ts,tests/registry/typed-dependencies.test.ts,tests/utils/paths.test.ts,tests/utils/dependency-resolver.test.ts,tests/commands/add-fixture-registry.test.ts(svelte+react), using a generated synthetic fixture registry (tests/fixtures/build-fixture-registry.mjs). No private content.npm run test:e2e(scripts/e2e-fixture-registry.mjs) builds temp projects and runs the built CLI init/add for svelte and react. Fails on main (21 checks), passes here.npm test170 passed ✅, e2e ✅, pack:check ✅ (no lint configured).Breaking-risk points
addname/dependency fetches no longer applyexcludeTypes(existing add-cdn test updated);ui8kit add utils|presetsnow works instead of "not found".pathsnow affects files withtarget(previously ignored): users withpathsset will see new locations; relative imports are not rewritten, so remap at same depth.--registry-urlis set (one-time cache miss).Not included
workflowscope; suggested line afternpm run build:- run: node scripts/e2e-fixture-registry.mjs.