Skip to content

Commit 08d0d8f

Browse files
authored
fix: Devtool flag inconsistencies (#113)
* fix: Devtool flag inconsistencies * fix: Accidentally removed conditional * fix: devtools source
1 parent 238a9f8 commit 08d0d8f

File tree

2 files changed

+17
-14
lines changed

2 files changed

+17
-14
lines changed

src/devtools.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,14 @@ import type { RollupFilter } from "./utils.js";
77
import { parseId } from "./utils.js";
88

99
export interface PreactDevtoolsPluginOptions {
10-
injectInProd?: boolean;
10+
devtoolsInProd?: boolean;
11+
devToolsEnabled?: boolean;
1112
shouldTransform: RollupFilter;
1213
}
1314

1415
export function preactDevtoolsPlugin({
15-
injectInProd = false,
16+
devtoolsInProd,
17+
devToolsEnabled,
1618
shouldTransform,
1719
}: PreactDevtoolsPluginOptions): Plugin {
1820
const log = debug("vite:preact-devtools");
@@ -37,6 +39,8 @@ export function preactDevtoolsPlugin({
3739

3840
configResolved(resolvedConfig) {
3941
config = resolvedConfig;
42+
devToolsEnabled =
43+
devToolsEnabled ?? (!config.isProduction || devtoolsInProd);
4044
},
4145

4246
resolveId(url, importer = "") {
@@ -58,8 +62,8 @@ export function preactDevtoolsPlugin({
5862
transform(code, url) {
5963
const { id } = parseId(url);
6064

61-
if (entry === id && (!config.isProduction || injectInProd)) {
62-
const source = injectInProd ? "preact/devtools" : "preact/debug";
65+
if (entry === id && (!config.isProduction || devToolsEnabled)) {
66+
const source = config.isProduction ? "preact/devtools" : "preact/debug";
6367
code = `import "${source}";\n${code}`;
6468

6569
log(`[inject] ${kl.cyan(source)} -> ${kl.dim(id)}`);

src/index.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@ function preactPlugin({
131131
exclude || [/node_modules/],
132132
);
133133

134-
devToolsEnabled = devToolsEnabled ?? true;
134+
devtoolsInProd = devtoolsInProd ?? false;
135135
prefreshEnabled = prefreshEnabled ?? true;
136136
reactAliasesEnabled = reactAliasesEnabled ?? true;
137137
prerender = prerender ?? { enabled: false };
@@ -158,6 +158,8 @@ function preactPlugin({
158158
},
159159
configResolved(resolvedConfig) {
160160
config = resolvedConfig;
161+
devToolsEnabled =
162+
devToolsEnabled ?? (!config.isProduction || devtoolsInProd);
161163
},
162164
async transform(code, url) {
163165
// Ignore query parameters, as in Vue SFC virtual modules.
@@ -200,7 +202,7 @@ function preactPlugin({
200202
importSource: jsxImportSource ?? "preact",
201203
},
202204
],
203-
...(devToolsEnabled && !config.isProduction ? ["babel-plugin-transform-hook-names"] : []),
205+
...(devToolsEnabled ? ["babel-plugin-transform-hook-names"] : []),
204206
],
205207
sourceMaps: true,
206208
inputSourceMap: false as any,
@@ -235,14 +237,11 @@ function preactPlugin({
235237
]
236238
: []),
237239
jsxPlugin,
238-
...(devToolsEnabled
239-
? [
240-
preactDevtoolsPlugin({
241-
injectInProd: devtoolsInProd,
242-
shouldTransform,
243-
}),
244-
]
245-
: []),
240+
preactDevtoolsPlugin({
241+
devtoolsInProd,
242+
devToolsEnabled,
243+
shouldTransform,
244+
}),
246245
...(prefreshEnabled
247246
? [prefresh({ include, exclude, parserPlugins: baseParserOptions })]
248247
: []),

0 commit comments

Comments
 (0)