const { NxAppWebpackPlugin } = require('@nx/webpack/app-plugin');
const { join } = require('path');
const webpack = require('webpack');
module.exports = {
output: {
path: join(__dirname, 'dist'),
},
resolve: {
extensions: ['.ts', '.js', '.mjs', '.cjs', '.json'],
},
externals: [
// Keep Node.js built-ins external
function ({ request }, callback) {
if (/^node:/.test(request)) {
return callback(null, 'commonjs ' + request);
}
callback();
},
],
module: {
rules: [
{
test: /\.d\.ts$/,
loader: 'ignore-loader',
},
],
},
plugins: [
new NxAppWebpackPlugin({
target: 'node',
compiler: 'tsc',
main: './src/main.ts',
tsConfig: './tsconfig.app.json',
assets: [
'./src/assets',
{
input: '.',
glob: 'README.md',
output: '.',
},
],
optimization: false,
outputHashing: 'none',
generatePackageJson: true,
externalDependencies: 'none',
}),
new webpack.BannerPlugin({
banner: '#!/usr/bin/env node',
raw: true,
entryOnly: true,
}),
],
};