mirror of
https://github.com/carbon-design-system/carbon-components-svelte.git
synced 2025-09-15 10:21:05 +00:00
64 lines
1.6 KiB
JavaScript
64 lines
1.6 KiB
JavaScript
const webpack = require("webpack");
|
|
const path = require("path");
|
|
const config = require("sapper/config/webpack.js");
|
|
const pkg = require("./package.json");
|
|
|
|
const mode = process.env.NODE_ENV;
|
|
const dev = mode === "development";
|
|
|
|
const alias = { svelte: path.resolve("node_modules", "svelte") };
|
|
const extensions = [".mjs", ".js", ".json", ".svelte", ".html"];
|
|
const mainFields = ["svelte", "module", "browser", "main"];
|
|
|
|
module.exports = {
|
|
client: {
|
|
entry: config.client.entry(),
|
|
output: config.client.output(),
|
|
resolve: { alias, extensions, mainFields },
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.(svelte|html)$/,
|
|
use: {
|
|
loader: "svelte-loader",
|
|
options: { dev, hydratable: true, hotReload: false },
|
|
},
|
|
},
|
|
],
|
|
},
|
|
mode,
|
|
plugins: [
|
|
new webpack.DefinePlugin({
|
|
"process.browser": true,
|
|
"process.env.NODE_ENV": JSON.stringify(mode),
|
|
}),
|
|
].filter(Boolean),
|
|
devtool: dev && "inline-source-map",
|
|
},
|
|
|
|
server: {
|
|
entry: config.server.entry(),
|
|
output: config.server.output(),
|
|
target: "node",
|
|
resolve: { alias, extensions, mainFields },
|
|
externals: Object.keys(pkg.dependencies).concat("encoding"),
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.(svelte|html)$/,
|
|
use: {
|
|
loader: "svelte-loader",
|
|
options: { css: false, generate: "ssr", dev },
|
|
},
|
|
},
|
|
],
|
|
},
|
|
mode: process.env.NODE_ENV,
|
|
performance: { hints: false },
|
|
},
|
|
serviceworker: {
|
|
entry: config.serviceworker.entry(),
|
|
output: config.serviceworker.output(),
|
|
mode: process.env.NODE_ENV,
|
|
},
|
|
};
|