2
0
mirror of https://github.com/lowdefy/lowdefy.git synced 2025-04-24 16:00:53 +08:00

chore(server): update dev server config

This commit is contained in:
Sam Tolmay 2020-11-11 12:20:38 +02:00
parent 233b3b4ead
commit 7585c94a09
5 changed files with 57 additions and 34 deletions

2
.gitignore vendored

@ -5,6 +5,7 @@
**/dist/*
**/coverage/*
**/.lowdefy/*
**/lowdefy.yaml
.DS_Store
@ -12,3 +13,4 @@ packages/express/config/**
packages/build/src/test/writeFile.txt
packages/graphql/globalConfig.json
packages/graphql/node_modules/**
packages/server/dev/**

@ -23,11 +23,11 @@
},
"scripts": {
"build": "webpack --config webpack.prod.js",
"build:docker": "docker build --tag samtolmay/lowdefy .",
"build:dev": "webpack --config webpack.dev.js",
"build:docker": "docker build --tag lowdefy/lowdefy .",
"clean": "rm -rf dist",
"prepublishOnly": "yarn build",
"start": "nodemon src/server.js",
"dev": "webpack serve --config webpack.dev.js",
"start": "nodemon dev/server.js",
"version:prerelease": "yarn version prerelease",
"version:patch": "yarn version patch -d",
"version:minor": "yarn version minor -d",

@ -2,15 +2,9 @@ const path = require('path');
const CopyPlugin = require('copy-webpack-plugin');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const { CleanWebpackPlugin } = require('clean-webpack-plugin');
const { ModuleFederationPlugin } = require('webpack').container;
const packageJson = require('./package.json');
module.exports = {
entry: './src/shell/index',
output: {
path: path.resolve(__dirname, 'dist/shell'),
},
module: {
rules: [
{
@ -36,25 +30,6 @@ module.exports = {
},
plugins: [
new CleanWebpackPlugin(),
new ModuleFederationPlugin({
name: 'lowdefy_web_shell',
shared: {
...packageJson.dependencies,
react: {
singleton: true, // only a single version of the shared module is allowed
requiredVersion: '~17.0.0',
version: packageJson.dependencies.react,
},
'react-dom': {
singleton: true, // only a single version of the shared module is allowed
requiredVersion: '~17.0.0',
version: packageJson.dependencies['react-dom'],
},
},
remotes: {
lowdefy_renderer: `lowdefy_renderer@https://unpkg.com/@lowdefy/renderer@${packageJson.version}/dist/remoteEntry.js`,
},
}),
new HtmlWebpackPlugin({
template: './src/shell/index.html',
}),

@ -1,18 +1,39 @@
const { merge } = require('webpack-merge');
const webpack = require('webpack');
const common = require('./webpack.common.js');
const path = require('path');
const webpack = require('webpack');
const { merge } = require('webpack-merge');
const { ModuleFederationPlugin } = require('webpack').container;
const common = require('./webpack.common.js');
const packageJson = require('./package.json');
module.exports = merge(common, {
mode: 'development',
devtool: 'eval-source-map',
devServer: {
contentBase: path.join(__dirname, 'dist'),
port: 3000,
output: {
path: path.resolve(__dirname, 'dev/shell'),
},
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('development'),
}),
new ModuleFederationPlugin({
name: 'lowdefy_web_shell',
shared: {
...packageJson.dependencies,
react: {
singleton: true, // only a single version of the shared module is allowed
requiredVersion: '~17.0.0',
version: packageJson.dependencies.react,
},
'react-dom': {
singleton: true, // only a single version of the shared module is allowed
requiredVersion: '~17.0.0',
version: packageJson.dependencies['react-dom'],
},
},
remotes: {
lowdefy_renderer: `lowdefy_renderer@http://localhost:3001/remoteEntry.js`,
},
}),
],
});

@ -1,12 +1,37 @@
const { merge } = require('webpack-merge');
const webpack = require('webpack');
const { ModuleFederationPlugin } = require('webpack').container;
const common = require('./webpack.common.js');
const packageJson = require('./package.json');
module.exports = merge(common, {
mode: 'production',
output: {
path: path.resolve(__dirname, 'dist/shell'),
},
plugins: [
new webpack.DefinePlugin({
'process.env.NODE_ENV': JSON.stringify('production'),
}),
new ModuleFederationPlugin({
name: 'lowdefy_web_shell',
shared: {
...packageJson.dependencies,
react: {
singleton: true, // only a single version of the shared module is allowed
requiredVersion: '~17.0.0',
version: packageJson.dependencies.react,
},
'react-dom': {
singleton: true, // only a single version of the shared module is allowed
requiredVersion: '~17.0.0',
version: packageJson.dependencies['react-dom'],
},
},
remotes: {
lowdefy_renderer: `lowdefy_renderer@https://unpkg.com/@lowdefy/renderer@${packageJson.version}/dist/remoteEntry.js`,
},
}),
],
});