Showing
3 changed files
with
50 additions
and
12 deletions
Too many changes to show.
To preserve performance only 3 of 6 files are displayed.
1 | 1 | #!/usr/bin/env node |
2 | 2 | const execSync = require('child_process').execSync; |
3 | -const path = require('path'); | |
3 | +const path = require('path') | |
4 | +const webpack = require('webpack') | |
5 | + | |
6 | +const config = require(path.resolve(__dirname, '../config/webpack.plugin.js')) | |
7 | + | |
8 | +webpack(config, (err) => { | |
9 | + if (err) { | |
10 | + console.log(err) | |
11 | + } | |
12 | +}) | |
13 | + // execSync(`npx cross-env NODE_ENV=production webpack build --config ${path.resolve(__dirname, '../config/webpack.plugin.js')}`, { stdio: 'inherit' }); | |
4 | 14 | |
5 | -execSync(`npx cross-env NODE_ENV=production webpack build --config ${path.resolve(__dirname, '../config/webpack.plugin.js')}`, { stdio: 'inherit' }); | ... | ... |
1 | -const { merge } = require('webpack-merge'); | |
2 | -const prodConfig = require('./webpack.prod'); | |
1 | +const CopyPlugin = require("copy-webpack-plugin"); | |
2 | +const { merge } = require("webpack-merge"); | |
3 | +const prodConfig = require("./webpack.prod"); | |
3 | 4 | const WebpackBar = require("webpackbar"); |
4 | 5 | const NodePolyfillPlugin = require("node-polyfill-webpack-plugin"); |
5 | -const path = require('path') | |
6 | -const { cwd } = require('process') | |
6 | +const path = require("path"); | |
7 | +const fs = require("fs"); | |
8 | +const { cwd } = require("process"); | |
7 | 9 | |
8 | -delete prodConfig.plugins | |
10 | +delete prodConfig.plugins; | |
11 | + | |
12 | +const extensions = ["ts", "tsx"]; | |
13 | + | |
14 | +let extension; | |
15 | + | |
16 | +extensions.forEach((i) => { | |
17 | + if (fs.existsSync(path.resolve(cwd(), `index.${i}`))) { | |
18 | + extension = i; | |
19 | + } | |
20 | +}); | |
21 | + | |
22 | +const name = cwd().split("/").reverse()[0]; | |
9 | 23 | |
10 | 24 | module.exports = merge(prodConfig, { |
11 | 25 | output: { |
12 | - filename: 'index.js', | |
13 | - libraryTarget: 'system', | |
26 | + filename: `../../../dist/${name}/index.js`, | |
27 | + libraryTarget: "system", | |
14 | 28 | }, |
15 | - entry: path.resolve(cwd(), './index.ts'), | |
29 | + entry: path.resolve(cwd(), `./index.${extension}`), | |
16 | 30 | plugins: [ |
31 | + new CopyPlugin({ | |
32 | + patterns: [ | |
33 | + { | |
34 | + from: path.resolve(cwd(), '../../plugin.json'), | |
35 | + to: path.resolve(cwd(), '../../dist/plugin.json'), | |
36 | + }, | |
37 | + ], | |
38 | + }), | |
39 | + new CopyPlugin({ | |
40 | + patterns: [ | |
41 | + { | |
42 | + from: path.resolve(cwd(), '../../static'), | |
43 | + to: path.resolve(cwd(), '../../dist/static'), | |
44 | + }, | |
45 | + ], | |
46 | + }), | |
17 | 47 | new WebpackBar(), |
18 | - new NodePolyfillPlugin() | |
48 | + new NodePolyfillPlugin(), | |
19 | 49 | ], |
20 | 50 | }); | ... | ... |