mirror of
https://github.com/The-Low-Code-Foundation/OpenNoodl.git
synced 2026-01-12 07:12:54 +01:00
80 lines
1.5 KiB
JavaScript
80 lines
1.5 KiB
JavaScript
const path = require('path');
|
|
const { outPath } = require('./constants.js');
|
|
|
|
const CopyWebpackPlugin = require('copy-webpack-plugin');
|
|
|
|
const noodlEditorExternalDeployPath = path.join(outPath, 'ssr');
|
|
|
|
module.exports = {
|
|
entry: {
|
|
deploy: './index.ssr.js'
|
|
},
|
|
output: {
|
|
filename: 'noodl.[name].js',
|
|
path: noodlEditorExternalDeployPath,
|
|
clean: true
|
|
},
|
|
plugins: [
|
|
new CopyWebpackPlugin({
|
|
patterns: [
|
|
{
|
|
from: 'static/ssr',
|
|
to: '.',
|
|
noErrorOnMissing: true,
|
|
info: { minimized: true }
|
|
}
|
|
]
|
|
})
|
|
],
|
|
externals: {
|
|
react: 'React',
|
|
'react-dom': 'ReactDOM'
|
|
},
|
|
resolve: {
|
|
extensions: ['.tsx', '.ts', '.jsx', '.js'],
|
|
fallback: {
|
|
events: require.resolve('events/'),
|
|
}
|
|
},
|
|
module: {
|
|
rules: [
|
|
{
|
|
test: /\.(jsx)$/,
|
|
exclude: /node_modules/,
|
|
use: {
|
|
loader: 'babel-loader',
|
|
options: {
|
|
babelrc: false,
|
|
cacheDirectory: true,
|
|
presets: ['@babel/preset-react']
|
|
}
|
|
}
|
|
},
|
|
{
|
|
test: /\.ts(x?)$/,
|
|
exclude: /node_modules/,
|
|
use: [
|
|
{
|
|
loader: 'ts-loader'
|
|
}
|
|
]
|
|
},
|
|
{
|
|
test: /\.css$/i,
|
|
use: [
|
|
'style-loader',
|
|
{
|
|
loader: 'css-loader',
|
|
options: {
|
|
url: false,
|
|
modules: {
|
|
exportOnlyLocals: true
|
|
}
|
|
}
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
};
|