Skip to content

Commit ed90c20

Browse files
committed
special-case inferno dev:module field
1 parent 9759f7d commit ed90c20

2 files changed

Lines changed: 31 additions & 0 deletions

File tree

packages/scripts/src/commands/test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ export default function test(): Promise<void> {
1919
require.resolve("@test-it/cli/dist/cli.js"),
2020
"--loader",
2121
require.resolve("../test-it-loader"),
22+
"--resolver",``
23+
require.resolve("../test-it-resolver"),
2224
...process.argv.slice(3),
2325
],
2426
{ stdio: "inherit" }
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import fs from "fs";
2+
import { defaultResolver } from "kame";
3+
4+
const infernoPackagesWithDevModuleField = new Set([
5+
"inferno",
6+
"inferno-compat",
7+
"inferno-hydrate",
8+
"inferno-clone-vnode",
9+
"inferno-create-element",
10+
"inferno-extras",
11+
]);
12+
13+
exports.resolve = function myResolve(source: string, fromFile: string) {
14+
// Inferno asks that we use non-standard "dev:module" field
15+
if (
16+
infernoPackagesWithDevModuleField.has(source) &&
17+
process.env.NODE_ENV !== "production"
18+
) {
19+
const pkgJsonPath = defaultResolver.resolve(
20+
`${source}/package.json`,
21+
fromFile
22+
);
23+
const pkgJson = JSON.parse(fs.readFileSync(pkgJsonPath, "utf-8"));
24+
const devModuleField = pkgJson["dev:module"];
25+
return defaultResolver.resolve(`${source}/${devModuleField}`, fromFile);
26+
}
27+
28+
return defaultResolver.resolve(source, fromFile);
29+
};

0 commit comments

Comments
 (0)