@moneko/core 3.0.0-beta.80 → 3.0.0-beta.81

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 (47) hide show
  1. package/lib/app.d.ts +31 -0
  2. package/lib/app.js +27 -0
  3. package/lib/cleanup.js +19 -1
  4. package/lib/common.js +215 -2
  5. package/lib/coverage.js +30 -1
  6. package/lib/define.d.ts +6 -0
  7. package/lib/define.js +9 -0
  8. package/lib/docs.d.ts +1 -0
  9. package/lib/docs.js +118 -0
  10. package/lib/done.js +12 -1
  11. package/lib/esm.js +7 -1
  12. package/lib/generate-api.d.ts +1 -1
  13. package/lib/generate-api.js +331 -1
  14. package/lib/has-pkg.js +14 -1
  15. package/lib/html-add-entry-attr.js +24 -1
  16. package/lib/html-plugin-option.js +44 -1
  17. package/lib/index.d.ts +0 -1
  18. package/lib/index.js +3 -1
  19. package/lib/minify.js +46 -1
  20. package/lib/modifyVars.js +11 -1
  21. package/lib/module-federation.js +46 -1
  22. package/lib/module.config.js +211 -1
  23. package/lib/net.js +33 -1
  24. package/lib/object-listener.d.ts +4 -0
  25. package/lib/object-listener.js +28 -0
  26. package/lib/process-env.d.ts +0 -2
  27. package/lib/process-env.js +65 -1
  28. package/lib/resolver-sync.js +21 -1
  29. package/lib/routes.d.ts +2 -1
  30. package/lib/routes.js +178 -1
  31. package/lib/seo.js +59 -1
  32. package/lib/swcrc.js +105 -1
  33. package/lib/tsloader.config.js +25 -1
  34. package/lib/utils.js +49 -1
  35. package/lib/virtual-module-plugin.d.ts +4 -3
  36. package/lib/virtual-module-plugin.js +26 -1
  37. package/lib/virtual-modules.d.ts +34 -0
  38. package/lib/virtual-modules.js +30 -0
  39. package/lib/webpack.common.d.ts +1 -2
  40. package/lib/webpack.common.js +230 -1
  41. package/lib/webpack.dev.js +92 -3
  42. package/lib/webpack.prod.js +66 -1
  43. package/lib/yarn-argv.js +9 -1
  44. package/package.json +2 -2
  45. package/lib/envFlags.d.ts +0 -17
  46. package/lib/envFlags.js +0 -1
  47. /package/lib/{frontmatter-loader.cjs → loader/frontmatter.cjs} +0 -0
@@ -1 +1,66 @@
1
- import e from"css-minimizer-webpack-plugin";import i from"mini-css-extract-plugin";import n from"terser-webpack-plugin";import m from"webpack";import{BundleAnalyzerPlugin as o}from"webpack-bundle-analyzer";import{merge as r}from"webpack-merge";import{CONFIG as s}from"./common.js";import{getMinifyOption as t}from"./minify.js";import{CUSTOMCONFIG as c}from"./process-env.js";import p from"./webpack.common.js";let{cssnanoMinify:l,swcMinify:a}=e,u="swc"===s.compiler?"swc":"terser",f="swc"===s.compiler?"swc":"cssnano",d=[];s.minifier&&(s.minifier.js&&d.push(new n(t(s.minifier.js?.type||u,s.minifier.js?.options))),s.minifier.css&&d.push(new e({minify:{swc:a,cssnano:l}[s.minifier.css?.type||f],minimizerOptions:s.minifier.css?.options})));let h={splitChunks:s.splitChunk,runtimeChunk:s.runtimeChunk,chunkIds:"named",moduleIds:"named",removeAvailableModules:!0,removeEmptyChunks:!0,mergeDuplicateChunks:!0,minimize:!0,minimizer:d},k=!1;s.cacheDirectory&&(k={type:"filesystem",allowCollectingMemory:!0,cacheDirectory:s.cacheDirectory,name:`${c||"default"}-production`});export default r(p,{devtool:!1===s.devtool||s.devtool?s.devtool:"cheap-module-source-map",mode:"production",cache:k,optimization:h,plugins:[new i({filename:"style/[name].bundle.css",chunkFilename:"style/[name].chunk.css",experimentalUseImportModule:!0}),s.bundleAnalyzer&&new o(s.bundleAnalyzer),s.splitChunk&&new m.optimize.MinChunkSizePlugin({minChunkSize:1e4})].filter(Boolean)});
1
+ import CssMinimizerPlugin from 'css-minimizer-webpack-plugin';
2
+ import MiniCssExtractPlugin from 'mini-css-extract-plugin';
3
+ import TerserPlugin from 'terser-webpack-plugin';
4
+ import webpack from 'webpack';
5
+ import { BundleAnalyzerPlugin } from 'webpack-bundle-analyzer';
6
+ import { merge } from 'webpack-merge';
7
+ import { CONFIG } from './common.js';
8
+ import { getMinifyOption } from './minify.js';
9
+ import { CUSTOMCONFIG } from './process-env.js';
10
+ import common from './webpack.common.js';
11
+ const { cssnanoMinify , swcMinify } = CssMinimizerPlugin;
12
+ const defaultJsMiniify = CONFIG.compiler === 'swc' ? 'swc' : 'terser';
13
+ const defaultCssMiniify = CONFIG.compiler === 'swc' ? 'swc' : 'cssnano';
14
+ const cssMinify = {
15
+ swc: swcMinify,
16
+ cssnano: cssnanoMinify
17
+ };
18
+ const minimizer = [];
19
+ if (CONFIG.minifier) {
20
+ if (CONFIG.minifier.js) {
21
+ minimizer.push(new TerserPlugin(getMinifyOption(CONFIG.minifier.js?.type || defaultJsMiniify, CONFIG.minifier.js?.options)));
22
+ }
23
+ if (CONFIG.minifier.css) {
24
+ minimizer.push(new CssMinimizerPlugin({
25
+ minify: cssMinify[CONFIG.minifier.css?.type || defaultCssMiniify],
26
+ minimizerOptions: CONFIG.minifier.css?.options
27
+ }));
28
+ }
29
+ }
30
+ const optimization = {
31
+ splitChunks: CONFIG.splitChunk,
32
+ runtimeChunk: CONFIG.runtimeChunk,
33
+ chunkIds: 'named',
34
+ moduleIds: 'named',
35
+ removeAvailableModules: true,
36
+ removeEmptyChunks: true,
37
+ mergeDuplicateChunks: true,
38
+ minimize: true,
39
+ minimizer: minimizer
40
+ };
41
+ let cacheConfig = false;
42
+ if (CONFIG.cacheDirectory) {
43
+ cacheConfig = {
44
+ type: 'filesystem',
45
+ allowCollectingMemory: true,
46
+ cacheDirectory: CONFIG.cacheDirectory,
47
+ name: `${CUSTOMCONFIG || 'default'}-production`
48
+ };
49
+ }
50
+ export default merge(common, {
51
+ devtool: CONFIG.devtool === false || CONFIG.devtool ? CONFIG.devtool : 'cheap-module-source-map',
52
+ mode: 'production',
53
+ cache: cacheConfig,
54
+ optimization: optimization,
55
+ plugins: [
56
+ new MiniCssExtractPlugin({
57
+ filename: 'style/[name].bundle.css',
58
+ chunkFilename: 'style/[name].chunk.css',
59
+ experimentalUseImportModule: true
60
+ }),
61
+ CONFIG.bundleAnalyzer && new BundleAnalyzerPlugin(CONFIG.bundleAnalyzer),
62
+ CONFIG.splitChunk && new webpack.optimize.MinChunkSizePlugin({
63
+ minChunkSize: 10000
64
+ })
65
+ ].filter(Boolean)
66
+ });
package/lib/yarn-argv.js CHANGED
@@ -1 +1,9 @@
1
- let e=JSON.parse(process.env.npm_config_argv||"{}")?.original,a={};e?.forEach(e=>{let r=e.split("=");Object.assign(a,{[r[0]]:r[1]||!0})});export default a;
1
+ const original = JSON.parse(process.env.npm_config_argv || '{}')?.original;
2
+ const yarnArgv = {};
3
+ original?.forEach((o)=>{
4
+ const m = o.split('=');
5
+ Object.assign(yarnArgv, {
6
+ [m[0]]: m[1] || true
7
+ });
8
+ });
9
+ export default yarnArgv;
package/package.json CHANGED
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "name": "@moneko/core",
3
- "version": "3.0.0-beta.80",
3
+ "version": "3.0.0-beta.81",
4
4
  "description": "core",
5
5
  "main": "lib/index.js",
6
6
  "type": "module",
7
7
  "scripts": {
8
- "build": "swc src -d lib -C module.type=nodenext -C jsc.target=esnext -C jsc.loose=true -C jsc.minify.mangle=true -C jsc.minify.compress=true -C minify=true -D",
8
+ "build": "swc src -d lib -C module.type=nodenext -C jsc.target=esnext -C jsc.loose=false -C jsc.minify.mangle=false -C jsc.minify.compress=false -C minify=false -D",
9
9
  "prebuild": "rm -rf ./lib && tsc"
10
10
  },
11
11
  "keywords": [],
package/lib/envFlags.d.ts DELETED
@@ -1,17 +0,0 @@
1
- declare const envFlags: {
2
- projectName: string;
3
- projectCoverage: string;
4
- providerConfig: string;
5
- fallbackCompPath: string;
6
- ReactDOMPath: string;
7
- favicon: string;
8
- hasLocales: string;
9
- hasPersist: string;
10
- layoutSider: string;
11
- hasAntd: string;
12
- APPTYPE: string;
13
- APPENTRY: string;
14
- programInfo: string;
15
- 'process.env': string;
16
- };
17
- export default envFlags;
package/lib/envFlags.js DELETED
@@ -1 +0,0 @@
1
- import i from"fs";import r from"path";import{CONFIG as t}from"./common.js";import{coverage as e}from"./coverage.js";import o from"./html-plugin-option.js";import{APPTYPE as s,NODE_ENV as n,PACKAGENAME as f,PROGRAMPATH as a,hasAntd as c,programInfo as m}from"./process-env.js";import{toUpperCaseString as p}from"./utils.js";let l="library"===s?"site":"src",g=!1;try{let t=r.join(a,"./src/index.ts");i.accessSync(t,i.constants.R_OK),g=t}catch(i){g=!1}let y={projectName:JSON.stringify(p(f)),projectCoverage:JSON.stringify(e),providerConfig:JSON.stringify({prefixCls:t.prefixCls,iconPrefixCls:`${t.prefixCls}-icon`,theme:t.theme}),fallbackCompPath:JSON.stringify(t.fallbackCompPath),ReactDOMPath:JSON.stringify("react-dom/client"),favicon:JSON.stringify(o.favicon),hasLocales:JSON.stringify(i.existsSync(r.join(a,`./${l}/locales`))),hasPersist:JSON.stringify(i.existsSync(r.join(a,`./${l}/persist.ts`))),layoutSider:JSON.stringify(t.layoutSider),hasAntd:JSON.stringify(c),APPTYPE:JSON.stringify(s),APPENTRY:JSON.stringify(g),programInfo:JSON.stringify({...m,routeBaseName:t.routeBaseName,designSize:t.designSize,routerMode:t.routerMode,renderMode:t.mode}),"process.env":JSON.stringify({NODE_ENV:n,iconfont:t.iconfont,...t.env})};export default y;