

























@@ -111,6 +111,72 @@ describe("bundled runtime dependency Jiti aliases", () => {
111111});
112112});
113113114+it("honors package condition order before top-level require fallbacks", () => {
115+const rootDir = makeTempRoot();
116+writeJson(path.join(rootDir, "package.json"), {
117+dependencies: {
118+conditional: "1.0.0",
119+},
120+});
121+const conditionalRoot = packageRoot(rootDir, "conditional");
122+writeJson(path.join(conditionalRoot, "package.json"), {
123+exports: {
124+".": {
125+browser: {
126+default: "./dist/web/index.js",
127+},
128+node: {
129+import: "./dist/node/index.mjs",
130+require: "./dist/node/index.cjs",
131+default: "./dist/node/index.mjs",
132+},
133+import: "./dist/index.mjs",
134+require: "./dist/index.cjs",
135+default: "./dist/index.mjs",
136+},
137+},
138+});
139+writeFile(path.join(conditionalRoot, "dist/index.cjs"));
140+writeFile(path.join(conditionalRoot, "dist/node/index.cjs"));
141+142+registerBundledRuntimeDependencyJitiAliases(rootDir);
143+144+expect(resolveBundledRuntimeDependencyJitiAliasMap()).toEqual({
145+conditional: path.join(conditionalRoot, "dist/node/index.cjs"),
146+});
147+});
148+149+it("falls back to import-only conditional exports for staged runtime deps", () => {
150+const rootDir = makeTempRoot();
151+writeJson(path.join(rootDir, "package.json"), {
152+dependencies: {
153+"import-only": "1.0.0",
154+},
155+});
156+const importOnlyRoot = packageRoot(rootDir, "import-only");
157+writeJson(path.join(importOnlyRoot, "package.json"), {
158+exports: {
159+".": {
160+types: "./dist/index.d.ts",
161+import: "./dist/index.js",
162+},
163+"./provider": {
164+types: "./dist/provider.d.ts",
165+import: "./dist/provider.js",
166+},
167+},
168+});
169+writeFile(path.join(importOnlyRoot, "dist/index.js"));
170+writeFile(path.join(importOnlyRoot, "dist/provider.js"));
171+172+registerBundledRuntimeDependencyJitiAliases(rootDir);
173+174+expect(resolveBundledRuntimeDependencyJitiAliasMap()).toEqual({
175+"import-only/provider": path.join(importOnlyRoot, "dist/provider.js"),
176+"import-only": path.join(importOnlyRoot, "dist/index.js"),
177+});
178+});
179+114180it("ignores missing, private, and escaping export targets", () => {
115181const rootDir = makeTempRoot();
116182writeJson(path.join(rootDir, "package.json"), {
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。