37 lines
1.1 KiB
JavaScript
37 lines
1.1 KiB
JavaScript
// import { hmrPlugin, presets } from "@open-wc/dev-server-hmr";
|
|
|
|
/** Use Hot Module replacement by adding --watch to the start command */
|
|
//const hmr = process.argv.includes("--watch");
|
|
const [ mode ] = process.argv.slice(2);
|
|
import { paths } from "./bs/dev/paths.js";
|
|
import { join } from "node:path";
|
|
|
|
const pathDist = join.bind(null, paths.dist);
|
|
const target = mode !== "dist" // OR "src"
|
|
? {
|
|
rootDir: ".",
|
|
appIndex: "index.html",
|
|
}
|
|
: {
|
|
rootDir: pathDist(),
|
|
appIndex: pathDist("index.html"),
|
|
};
|
|
|
|
export default /** @type {import("@web/dev-server").DevServerConfig} */ ({
|
|
open: "/", // SPA routing
|
|
nodeResolve: { // Resolve bare module imports
|
|
exportConditions: ["browser", "development"],
|
|
},
|
|
|
|
// esbuildTarget: "auto" // Compile JS for older browsers. Requires @web/dev-server-esbuild plugin */
|
|
|
|
...target,
|
|
|
|
plugins: [
|
|
/** Use Hot Module Replacement by uncommenting. Requires @open-wc/dev-server-hmr plugin */
|
|
// hmr && hmrPlugin({ exclude: ["**/*/node_modules/**/*"], presets: [presets.litElement] }),
|
|
],
|
|
|
|
// See documentation for all available options
|
|
});
|