1
0
mirror of https://github.com/lensapp/lens.git synced 2025-05-20 05:10:56 +00:00
lens/packages/infrastructure/webpack/src/node-config.js
Janne Savolainen 9c7e6689b6
Add package for shared webpack configurations for Lens applications, Features and libraries
Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
2023-02-06 11:35:34 +02:00

70 lines
1.2 KiB
JavaScript

const nodeExternals = require("webpack-node-externals");
const path = require("path");
const buildDirectory = path.resolve(process.cwd(), "build");
module.exports = {
entry: { index: "./index.ts" },
target: "node",
mode: "production",
performance: {
maxEntrypointSize: 100000,
hints: "error",
},
resolve: {
extensions: [".ts", ".tsx"],
},
output: {
path: buildDirectory,
filename: (pathData) =>
pathData.chunk.name === "index"
? "index.js"
: `${pathData.chunk.name}/index.js`,
libraryTarget: "commonjs2",
},
externals: [
nodeExternals({ modulesFromFile: true }),
nodeExternals({
modulesDir: path.resolve(
__dirname,
"..",
"..",
"..",
"..",
"node_modules"
),
}),
],
externalsPresets: { node: true },
node: {
__dirname: true,
__filename: true,
},
module: {
rules: [
{
test: /\.ts(x)?$/,
loader: "ts-loader",
options: {
compilerOptions: {
rootDir: process.cwd(),
declaration: true,
declarationDir: buildDirectory,
},
},
},
],
},
};