mirror of
https://github.com/home-assistant/frontend.git
synced 2025-04-29 15:57:20 +00:00

* Improvements * Add types CAF * Fix demo switching * Do not set background color in hui-view
117 lines
2.5 KiB
JavaScript
117 lines
2.5 KiB
JavaScript
// Tasks to run webpack.
|
|
const gulp = require("gulp");
|
|
const path = require("path");
|
|
const webpack = require("webpack");
|
|
const WebpackDevServer = require("webpack-dev-server");
|
|
const log = require("fancy-log");
|
|
const paths = require("../paths");
|
|
const { createAppConfig, createDemoConfig } = require("../webpack");
|
|
|
|
const handler = (done) => (err, stats) => {
|
|
if (err) {
|
|
console.log(err.stack || err);
|
|
if (err.details) {
|
|
console.log(err.details);
|
|
}
|
|
return;
|
|
}
|
|
|
|
log(`Build done @ ${new Date().toLocaleTimeString()}`);
|
|
|
|
if (stats.hasErrors() || stats.hasWarnings()) {
|
|
console.log(stats.toString("minimal"));
|
|
}
|
|
|
|
if (done) {
|
|
done();
|
|
}
|
|
};
|
|
|
|
gulp.task("webpack-watch-app", () => {
|
|
const compiler = webpack([
|
|
createAppConfig({
|
|
isProdBuild: false,
|
|
latestBuild: true,
|
|
isStatsBuild: false,
|
|
}),
|
|
createAppConfig({
|
|
isProdBuild: false,
|
|
latestBuild: false,
|
|
isStatsBuild: false,
|
|
}),
|
|
]);
|
|
compiler.watch({}, handler());
|
|
// we are not calling done, so this command will run forever
|
|
});
|
|
|
|
gulp.task(
|
|
"webpack-prod-app",
|
|
() =>
|
|
new Promise((resolve) =>
|
|
webpack(
|
|
[
|
|
createAppConfig({
|
|
isProdBuild: true,
|
|
latestBuild: true,
|
|
isStatsBuild: false,
|
|
}),
|
|
createAppConfig({
|
|
isProdBuild: true,
|
|
latestBuild: false,
|
|
isStatsBuild: false,
|
|
}),
|
|
],
|
|
handler(resolve)
|
|
)
|
|
)
|
|
);
|
|
|
|
gulp.task("webpack-dev-server-demo", () => {
|
|
const compiler = webpack([
|
|
createDemoConfig({
|
|
isProdBuild: false,
|
|
latestBuild: false,
|
|
isStatsBuild: false,
|
|
}),
|
|
createDemoConfig({
|
|
isProdBuild: false,
|
|
latestBuild: true,
|
|
isStatsBuild: false,
|
|
}),
|
|
]);
|
|
|
|
new WebpackDevServer(compiler, {
|
|
open: true,
|
|
watchContentBase: true,
|
|
contentBase: path.resolve(paths.demo_dir, "dist"),
|
|
}).listen(8090, "localhost", function(err) {
|
|
if (err) {
|
|
throw err;
|
|
}
|
|
// Server listening
|
|
log("[webpack-dev-server]", "http://localhost:8090");
|
|
});
|
|
});
|
|
|
|
gulp.task(
|
|
"webpack-prod-demo",
|
|
() =>
|
|
new Promise((resolve) =>
|
|
webpack(
|
|
[
|
|
createDemoConfig({
|
|
isProdBuild: true,
|
|
latestBuild: false,
|
|
isStatsBuild: false,
|
|
}),
|
|
createDemoConfig({
|
|
isProdBuild: true,
|
|
latestBuild: true,
|
|
isStatsBuild: false,
|
|
}),
|
|
],
|
|
handler(resolve)
|
|
)
|
|
)
|
|
);
|