Skip to content

Commit

Permalink
fix: update transform
Browse files Browse the repository at this point in the history
  • Loading branch information
hi-ogawa committed May 6, 2024
1 parent 71d232b commit 329f79d
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 62 deletions.
56 changes: 14 additions & 42 deletions packages/tiny-refresh/src/transform.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,50 +58,22 @@ const NotFn = "hello";
import * as $$runtime from "/runtime";
import * as $$refresh from "/refresh-runtime";
const $$registry = $$refresh.createHmrRegistry(
{
createElement: $$runtime.createElement,
useReducer: $$runtime.useReducer,
useEffect: $$runtime.useEffect,
},
false,
);
if (import.meta.hot && typeof FnDefault === "function") {
FnDefault = $$refresh.createHmrComponent(
$$registry, "FnDefault", FnDefault,
{ key: "" },
import.meta.hot,
);
}
if (import.meta.hot && typeof FnLet === "function") {
FnLet = $$refresh.createHmrComponent(
$$registry, "FnLet", FnLet,
{ key: "useState/useRef/useCallback" },
import.meta.hot,
);
}
if (import.meta.hot && typeof FnConst === "function") {
FnConst = $$refresh.createHmrComponent(
$$registry, "FnConst", FnConst,
{ key: "" },
import.meta.hot,
);
}
if (import.meta.hot && typeof FnNonExport === "function") {
FnNonExport = $$refresh.createHmrComponent(
$$registry, "FnNonExport", FnNonExport,
{ key: "" },
import.meta.hot,
);
}
if (import.meta.hot) {
$$refresh.setupHmrVite(import.meta.hot, $$registry);
() => import.meta.hot.accept();
const $$manager = $$refresh.createManager(
import.meta.hot,
{
createElement: $$runtime.createElement,
useReducer: $$runtime.useReducer,
useEffect: $$runtime.useEffect,
},
false,
);
FnDefault = $$manager.wrap("FnDefault", FnDefault, "");
FnLet = $$manager.wrap("FnLet", FnLet, "useState/useRef/useCallback");
FnConst = $$manager.wrap("FnConst", FnConst, "");
FnNonExport = $$manager.wrap("FnNonExport", FnNonExport, "");
$$refresh.setup();
}
"
`);
Expand Down
35 changes: 15 additions & 20 deletions packages/tiny-refresh/src/transform.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,30 +15,25 @@ export async function hmrTransform(code: string, options: HmrTransformOptions) {
let footer = /* js */ `
import * as $$runtime from "${options.runtime}";
import * as $$refresh from "${options.refreshRuntime}";
const $$registry = $$refresh.createHmrRegistry(
{
createElement: $$runtime.createElement,
useReducer: $$runtime.useReducer,
useEffect: $$runtime.useEffect,
},
${options.debug ?? false},
);
`;
for (const { id, hooks } of result.entries) {
footer += /* js */ `
if (import.meta.hot && typeof ${id} === "function") {
${id} = $$refresh.createHmrComponent(
$$registry, "${id}", ${id},
{ key: ${JSON.stringify(hooks.join("/"))} },
if (import.meta.hot) {
() => import.meta.hot.accept();
const $$manager = $$refresh.createManager(
import.meta.hot,
{
createElement: $$runtime.createElement,
useReducer: $$runtime.useReducer,
useEffect: $$runtime.useEffect,
},
${options.debug ?? false},
);
}
`;
for (const { id, hooks } of result.entries) {
footer += `\
${id} = $$manager.wrap("${id}", ${id}, ${JSON.stringify(hooks.join("/"))});
`;
}
footer += `
if (import.meta.hot) {
$$refresh.setupHmrVite(import.meta.hot, $$registry);
() => import.meta.hot.accept();
footer += `\
$$refresh.setup();
}
`;
// no need to manipulate sourcemap since transform only appends
Expand Down

0 comments on commit 329f79d

Please sign in to comment.