1
0
mirror of https://github.com/home-assistant/frontend.git synced 2025-12-20 02:38:53 +00:00

Add debug launch conf for VS Code (#7683)

This commit is contained in:
Paulus Schoutsen
2020-11-15 16:36:48 +01:00
committed by GitHub
parent d3c51d7acd
commit c7b747c4fa
6 changed files with 213 additions and 6 deletions

View File

@@ -18,6 +18,14 @@ const bothBuilds = (createConfigFunc, params) => [
createConfigFunc({ ...params, latestBuild: false }),
];
/**
* @param {{
* compiler: import("webpack").Compiler,
* contentBase: string,
* port: number,
* listenHost?: string
* }}
*/
const runDevServer = ({
compiler,
contentBase,
@@ -33,7 +41,10 @@ const runDevServer = ({
throw err;
}
// Server listening
log("[webpack-dev-server]", `http://localhost:${port}`);
log(
"[webpack-dev-server]",
`Project is running at http://localhost:${port}`
);
});
const handler = (done) => (err, stats) => {
@@ -45,12 +56,12 @@ const handler = (done) => (err, stats) => {
return;
}
log(`Build done @ ${new Date().toLocaleTimeString()}`);
if (stats.hasErrors() || stats.hasWarnings()) {
log.warn(stats.toString("minimal"));
console.log(stats.toString("minimal"));
}
log(`Build done @ ${new Date().toLocaleTimeString()}`);
if (done) {
done();
}

View File

@@ -1,4 +1,4 @@
var path = require("path");
const path = require("path");
module.exports = {
polymer_dir: path.resolve(__dirname, ".."),

View File

@@ -4,6 +4,21 @@ const TerserPlugin = require("terser-webpack-plugin");
const ManifestPlugin = require("webpack-manifest-plugin");
const paths = require("./paths.js");
const bundle = require("./bundle");
const log = require("fancy-log");
class LogStartCompilePlugin {
ignoredFirst = false;
apply(compiler) {
compiler.hooks.beforeCompile.tap("LogStartCompilePlugin", () => {
if (!this.ignoredFirst) {
this.ignoredFirst = true;
return;
}
log("Changes detected. Starting compilation");
});
}
}
const createWebpackConfig = ({
entry,
@@ -104,7 +119,8 @@ const createWebpackConfig = ({
),
path.resolve(paths.polymer_dir, "src/resources/EventTarget-ponyfill.js")
),
],
!isProdBuild && new LogStartCompilePlugin(),
].filter(Boolean),
resolve: {
extensions: [".ts", ".js", ".json"],
},