Skip to content

Commit

Permalink
Build: Add a plugin to throw unexpected warnings (#12463)
Browse files Browse the repository at this point in the history
  • Loading branch information
fisker committed Mar 15, 2022
1 parent 6fa3966 commit 34dcd96
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 1 deletion.
6 changes: 5 additions & 1 deletion scripts/build/bundler.mjs
Expand Up @@ -12,6 +12,7 @@ import esbuildPluginReplaceText from "./esbuild-plugins/replace-text.mjs";
import esbuildPluginLicense from "./esbuild-plugins/license.mjs";
import esbuildPluginUmd from "./esbuild-plugins/umd.mjs";
import esbuildPluginVisualizer from "./esbuild-plugins/visualizer.mjs";
import esbuildPluginThrowWarnings from "./esbuild-plugins/throw-warnings.mjs";
import bundles from "./config.mjs";

const { __dirname, readJsonSync, require } = createEsmUtils(import.meta);
Expand Down Expand Up @@ -170,6 +171,7 @@ function* getEsbuildOptions(bundle, buildOptions) {
}),
buildOptions.reports &&
esbuildPluginVisualizer({ formats: buildOptions.reports }),
esbuildPluginThrowWarnings(),
].filter(Boolean),
minify: shouldMinify,
legalComments: "none",
Expand Down Expand Up @@ -242,7 +244,9 @@ async function runBuild(bundle, esbuildOptions, buildOptions) {
await esbuild.build({
...esbuildOptions,
define: {},
plugins: plugins.filter(({ name }) => name === "umd"),
plugins: plugins.filter(
({ name }) => name === "umd" || name === "throw-warnings"
),
entryPoints: [outfile],
allowOverwrite: true,
});
Expand Down
22 changes: 22 additions & 0 deletions scripts/build/esbuild-plugins/throw-warnings.mjs
@@ -0,0 +1,22 @@
const ignoredWarnings = new Set([
// Duplicated case clause
"This case clause will never be evaluated because it duplicates an earlier case clause",
]);

export default function esbuildPluginThrowWarnings() {
return {
name: "throw-warnings",
setup(build) {
build.onEnd(({ warnings }) => {
for (const warning of warnings) {
if (ignoredWarnings.has(warning.text)) {
continue;
}

console.log(warning);
throw new Error(warning.text);
}
});
},
};
}

0 comments on commit 34dcd96

Please sign in to comment.