@pisell/build-plugin-lowcode 1.0.12 → 1.0.13-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +5 -2
  2. package/src/index.js +42 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pisell/build-plugin-lowcode",
3
- "version": "1.0.12",
3
+ "version": "1.0.13-beta.1",
4
4
  "description": "build plugin for component-to-lowcode",
5
5
  "main": "src/index.js",
6
6
  "keywords": [
@@ -44,7 +44,10 @@
44
44
  "rpx-loader": "^1.0.1",
45
45
  "style-loader": "^2.0.0",
46
46
  "url-loader": "^4.1.1",
47
- "webpack": "^4.46.0"
47
+ "webpack": "^4.46.0",
48
+ "babel-plugin-import": "1.13.8",
49
+ "babel-loader": "8.2.5",
50
+ "webpack-bundle-analyzer": "4.10.1"
48
51
  },
49
52
  "devDependencies": {
50
53
  "np": "^7.7.0"
package/src/index.js CHANGED
@@ -6,9 +6,11 @@ const chokidar = require('chokidar');
6
6
  const mergeWith = require('lodash/mergeWith');
7
7
  const parser = require('@alilc/lowcode-material-parser');
8
8
  const HtmlWebpackPlugin = require('html-webpack-plugin');
9
+ const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
9
10
  const { getWebpackConfig } = require('build-scripts-config');
10
11
  const isWsl = require('is-wsl');
11
12
 
13
+
12
14
  let INIT_STATE = false;
13
15
  let PARSED_NPM_NAME;
14
16
  const { debug } = console;
@@ -253,6 +255,35 @@ const addPostCss = (config) => {
253
255
  .end();
254
256
  }
255
257
 
258
+ const addBabelPluginImport = (config) => {
259
+ config.module
260
+ .rule("ts")
261
+ .test(/\.(ts|tsx)$/)
262
+ .use("babel-loader")
263
+ .loader("babel-loader")
264
+ .options({
265
+ presets: ['@babel/preset-env', '@babel/preset-react', '@babel/preset-typescript'],
266
+ plugins: [
267
+ [
268
+ 'import',
269
+ {
270
+ libraryName: '@pisell/icon',
271
+ libraryDirectory: 'es',
272
+ camel2DashComponentName: false
273
+ },
274
+ ],
275
+ ]
276
+ });
277
+ }
278
+
279
+ const addWebpackBundleAnalyzer = (config) => {
280
+ config
281
+ .plugin('bundle-analyzer')
282
+ .use(BundleAnalyzerPlugin)
283
+ .end();
284
+
285
+ }
286
+
256
287
  async function registerSetter(context, setterMap) {
257
288
  return Promise.all(Object.values(setterMap).map((setter) => installModule(context, setter)));
258
289
  }
@@ -361,7 +392,7 @@ async function build(options, pluginOptions, execCompile) {
361
392
  }),
362
393
  );
363
394
  const metaPathMap = {};
364
- metaPaths.forEach((item) => {
395
+ metaPaths.forEach((item) => {
365
396
  metaPathMap[path.basename(item).replace(path.extname(item), '')] = item;
366
397
  // metaPathMap[item.slice(item.lastIndexOf('/') + 1, item.lastIndexOf('.'))] = item;
367
398
  });
@@ -582,6 +613,8 @@ async function start(options, pluginOptions) {
582
613
 
583
614
  config.module.rule('svg').test(/\.svg$/).use('svgr').loader('@svgr/webpack').end().use('url-loader').loader('url-loader').end();
584
615
 
616
+ // addWebpackBundleAnalyzer(config);
617
+ // addBabelPluginImport(config);
585
618
  addPostCss(config);
586
619
  if (baseLibrary === 'rax') {
587
620
  config.module.rule('scss').use('rpx-loader').loader('rpx-loader').before('css-loader');
@@ -792,6 +825,8 @@ async function bundleMetaV2(options, pluginOptions, execCompile, metaType) {
792
825
 
793
826
  config.module.rule('svg').test(/\.svg$/).use('svgr').loader('@svgr/webpack').end().use('url-loader').loader('url-loader').end();
794
827
 
828
+ // addWebpackBundleAnalyzer(config);
829
+ // addBabelPluginImport(config);
795
830
  addPostCss(config);
796
831
  });
797
832
  return metaPath;
@@ -1004,6 +1039,8 @@ async function bundleEditorView(
1004
1039
 
1005
1040
  config.module.rule('svg').test(/\.svg$/).use('svgr').loader('@svgr/webpack').end().use('url-loader').loader('url-loader').end();
1006
1041
 
1042
+ // addWebpackBundleAnalyzer(config);
1043
+ // addBabelPluginImport(config);
1007
1044
  addPostCss(config);
1008
1045
 
1009
1046
  if (baseLibrary === 'rax') {
@@ -1094,6 +1131,8 @@ async function bundleRenderView(options, pluginOptions, platform, execCompile) {
1094
1131
 
1095
1132
  config.module.rule('svg').test(/\.svg$/).use('svgr').loader('@svgr/webpack').end().use('url-loader').loader('url-loader').end();
1096
1133
 
1134
+ // addWebpackBundleAnalyzer(config);
1135
+ addBabelPluginImport(config);
1097
1136
  addPostCss(config);
1098
1137
 
1099
1138
  if (baseLibrary === 'rax') {
@@ -1379,6 +1418,8 @@ async function bundleComponentMeta(webPackConfig, options, pluginOptions, execCo
1379
1418
 
1380
1419
  config.module.rule('svg').test(/\.svg$/).use('svgr').loader('@svgr/webpack').end().use('url-loader').loader('url-loader').end();
1381
1420
 
1421
+ // addWebpackBundleAnalyzer(config);
1422
+ // addBabelPluginImport(config);
1382
1423
  addPostCss(config);
1383
1424
  });
1384
1425
  })(component, idx);