committed by
GitHub
8 changed files with 12194 additions and 11 deletions
File diff suppressed because it is too large
@ -0,0 +1,91 @@ |
|||||
|
const HtmlWebpackPlugin = require('html-webpack-plugin'); |
||||
|
const { ModuleFederationPlugin } = require('webpack').container; |
||||
|
// const WebpackPwaManifest = require('webpack-pwa-manifest');
|
||||
|
const path = require('path'); |
||||
|
|
||||
|
module.exports = { |
||||
|
mode: 'development', |
||||
|
entry: './src/App.tsx', |
||||
|
output: { |
||||
|
filename: 'main.js', |
||||
|
path: __dirname + '/dist', |
||||
|
publicPath: 'auto', |
||||
|
}, |
||||
|
resolve: { |
||||
|
extensions: ['.tsx', '.ts', '.js', '.jsx'], |
||||
|
alias: { |
||||
|
"@app": path.resolve("./src"), |
||||
|
"@pages": path.resolve(__dirname, "./src/pages"), |
||||
|
"@components": path.resolve(__dirname, "./src/components"), |
||||
|
"@core": path.resolve(__dirname, "./src/core"), |
||||
|
"@layouts": path.resolve(__dirname, "./src/layouts"), |
||||
|
}, |
||||
|
}, |
||||
|
module: { |
||||
|
rules: [ |
||||
|
{ |
||||
|
test: /\.(ts|tsx|js|jsx)$/, |
||||
|
use: ["babel-loader", "ts-loader"], |
||||
|
exclude: /node_modules/, |
||||
|
// options: {
|
||||
|
// presets: ["@babel/preset-react"],
|
||||
|
// },
|
||||
|
}, |
||||
|
// {
|
||||
|
// test: /\.(ts|tsx|js|jsx)$/,
|
||||
|
// use: 'ts-loader',
|
||||
|
// exclude: /node_modules/,
|
||||
|
// },
|
||||
|
// css and scss loader
|
||||
|
{ |
||||
|
// test: /\.css$/,
|
||||
|
test: /\.(css|scss)$/, |
||||
|
use: ["style-loader", "css-loader"], |
||||
|
}, |
||||
|
|
||||
|
// image loader
|
||||
|
{ |
||||
|
test: /\.(png|svg|jpg|jpeg|gif)$/i, |
||||
|
type: "asset/resource", |
||||
|
}, |
||||
|
], |
||||
|
}, |
||||
|
plugins: [ |
||||
|
new HtmlWebpackPlugin({ |
||||
|
template: './index.html', |
||||
|
}), |
||||
|
// new WebpackPwaManifest({
|
||||
|
// filename: "manifest.json",
|
||||
|
// name: 'positive-intentions',
|
||||
|
// short_name: 'PI',
|
||||
|
// description: 'positive-intentions',
|
||||
|
// "icons": [
|
||||
|
// {
|
||||
|
// src: path.resolve('./public/favicon.ico'),
|
||||
|
// sizes: [96] // multiple sizes
|
||||
|
// },
|
||||
|
// {
|
||||
|
// src: path.resolve('./public/logo512.png'),
|
||||
|
// sizes: [96, 128, 192, 256, 384, 512], // multiple sizes
|
||||
|
// maskable: true,
|
||||
|
// }
|
||||
|
|
||||
|
|
||||
|
// ],
|
||||
|
// "start_url": ".",
|
||||
|
// "display": "standalone",
|
||||
|
// "theme_color": "#44b700",
|
||||
|
// "background_color": "#ffffff",
|
||||
|
// // crossorigin: 'use-credentials', // can be null, use-credentials or anonymous
|
||||
|
// inject: true,
|
||||
|
// }),
|
||||
|
new ModuleFederationPlugin({ |
||||
|
name: 'meshtastic', |
||||
|
filename: 'remoteEntry.js', |
||||
|
exposes: { |
||||
|
'./meshtastic': './src/App.tsx', |
||||
|
}, |
||||
|
shared: { react: { singleton: true }, "react-dom": { singleton: true } } |
||||
|
}), |
||||
|
], |
||||
|
}; |
||||
Loading…
Reference in new issue