Close webpack compiler on prod build (#7779)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>pull/7785/head
parent
e2fed24995
commit
39ff641be9
|
@ -47,7 +47,7 @@ const runDevServer = ({
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
const handler = (done) => (err, stats) => {
|
const doneHandler = (done) => (err, stats) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
log.error(err.stack || err);
|
log.error(err.stack || err);
|
||||||
if (err.details) {
|
if (err.details) {
|
||||||
|
@ -67,11 +67,20 @@ const handler = (done) => (err, stats) => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const prodBuild = (conf) =>
|
||||||
|
new Promise((resolve) => {
|
||||||
|
webpack(
|
||||||
|
conf,
|
||||||
|
// Resolve promise when done. Because we pass a callback, webpack closes itself
|
||||||
|
doneHandler(resolve)
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
gulp.task("webpack-watch-app", () => {
|
gulp.task("webpack-watch-app", () => {
|
||||||
// we are not calling done, so this command will run forever
|
// This command will run forever because we don't close compiler
|
||||||
webpack(createAppConfig({ isProdBuild: false, latestBuild: true })).watch(
|
webpack(createAppConfig({ isProdBuild: false, latestBuild: true })).watch(
|
||||||
{ ignored: /build-translations/ },
|
{ ignored: /build-translations/ },
|
||||||
handler()
|
doneHandler()
|
||||||
);
|
);
|
||||||
gulp.watch(
|
gulp.watch(
|
||||||
path.join(paths.translations_src, "en.json"),
|
path.join(paths.translations_src, "en.json"),
|
||||||
|
@ -79,15 +88,12 @@ gulp.task("webpack-watch-app", () => {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task(
|
gulp.task("webpack-prod-app", () =>
|
||||||
"webpack-prod-app",
|
prodBuild(
|
||||||
() =>
|
bothBuilds(createAppConfig, {
|
||||||
new Promise((resolve) =>
|
isProdBuild: true,
|
||||||
webpack(
|
})
|
||||||
bothBuilds(createAppConfig, { isProdBuild: true }),
|
)
|
||||||
handler(resolve)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
gulp.task("webpack-dev-server-demo", () => {
|
gulp.task("webpack-dev-server-demo", () => {
|
||||||
|
@ -98,17 +104,12 @@ gulp.task("webpack-dev-server-demo", () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task(
|
gulp.task("webpack-prod-demo", () =>
|
||||||
"webpack-prod-demo",
|
prodBuild(
|
||||||
() =>
|
bothBuilds(createDemoConfig, {
|
||||||
new Promise((resolve) =>
|
isProdBuild: true,
|
||||||
webpack(
|
})
|
||||||
bothBuilds(createDemoConfig, {
|
)
|
||||||
isProdBuild: true,
|
|
||||||
}),
|
|
||||||
handler(resolve)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
gulp.task("webpack-dev-server-cast", () => {
|
gulp.task("webpack-dev-server-cast", () => {
|
||||||
|
@ -121,41 +122,30 @@ gulp.task("webpack-dev-server-cast", () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task(
|
gulp.task("webpack-prod-cast", () =>
|
||||||
"webpack-prod-cast",
|
prodBuild(
|
||||||
() =>
|
bothBuilds(createCastConfig, {
|
||||||
new Promise((resolve) =>
|
isProdBuild: true,
|
||||||
webpack(
|
})
|
||||||
bothBuilds(createCastConfig, {
|
)
|
||||||
isProdBuild: true,
|
|
||||||
}),
|
|
||||||
|
|
||||||
handler(resolve)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
gulp.task("webpack-watch-hassio", () => {
|
gulp.task("webpack-watch-hassio", () => {
|
||||||
// we are not calling done, so this command will run forever
|
// This command will run forever because we don't close compiler
|
||||||
webpack(
|
webpack(
|
||||||
createHassioConfig({
|
createHassioConfig({
|
||||||
isProdBuild: false,
|
isProdBuild: false,
|
||||||
latestBuild: true,
|
latestBuild: true,
|
||||||
})
|
})
|
||||||
).watch({}, handler());
|
).watch({}, doneHandler());
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task(
|
gulp.task("webpack-prod-hassio", () =>
|
||||||
"webpack-prod-hassio",
|
prodBuild(
|
||||||
() =>
|
bothBuilds(createHassioConfig, {
|
||||||
new Promise((resolve) =>
|
isProdBuild: true,
|
||||||
webpack(
|
})
|
||||||
bothBuilds(createHassioConfig, {
|
)
|
||||||
isProdBuild: true,
|
|
||||||
}),
|
|
||||||
handler(resolve)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
||||||
gulp.task("webpack-dev-server-gallery", () => {
|
gulp.task("webpack-dev-server-gallery", () => {
|
||||||
|
@ -167,17 +157,11 @@ gulp.task("webpack-dev-server-gallery", () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
gulp.task(
|
gulp.task("webpack-prod-gallery", () =>
|
||||||
"webpack-prod-gallery",
|
prodBuild(
|
||||||
() =>
|
createGalleryConfig({
|
||||||
new Promise((resolve) =>
|
isProdBuild: true,
|
||||||
webpack(
|
latestBuild: true,
|
||||||
createGalleryConfig({
|
})
|
||||||
isProdBuild: true,
|
)
|
||||||
latestBuild: true,
|
|
||||||
}),
|
|
||||||
|
|
||||||
handler(resolve)
|
|
||||||
)
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
|
|
Loading…
Reference in New Issue