gant-core 0.1.52 → 0.2.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 (52) hide show
  1. package/.prettierrc.json +10 -0
  2. package/lib/cli/config/defineConfig.js +2 -0
  3. package/lib/cli/config/index.js +2 -0
  4. package/lib/cli/copyfiles/index.js +2 -0
  5. package/lib/cli/create/config/index.js +10 -0
  6. package/lib/cli/create/index.js +2 -0
  7. package/lib/cli/create/module/index.js +10 -0
  8. package/lib/cli/i18n/index.js +9 -0
  9. package/lib/cli/i18n/utils.js +2 -0
  10. package/lib/cli/index.js +1 -90275
  11. package/lib/cli/ms/index.js +23 -0
  12. package/lib/cli/msmain.js +65 -0
  13. package/lib/cli/routes/index.js +2 -0
  14. package/lib/cli/template/msentry.txt +5 -0
  15. package/lib/cli/template/tsconfig.react.template.json +1 -1
  16. package/lib/cli/template/tsconfig.vue.template.json +1 -1
  17. package/lib/cli/tsconfig/index.js +2 -0
  18. package/lib/cli/utils/getJavascriptfile.js +10 -0
  19. package/lib/cli/utils/index.js +2 -0
  20. package/lib/cli/webpack/Webpack.js +2 -0
  21. package/lib/cli/webpack/config/analyzer.config.js +2 -0
  22. package/lib/cli/webpack/config/cssRules.js +2 -0
  23. package/lib/cli/webpack/config/default.config.js +2 -0
  24. package/lib/cli/webpack/config/development.config.js +2 -0
  25. package/lib/cli/webpack/config/index.js +2 -0
  26. package/lib/cli/webpack/config/production.config.js +14 -0
  27. package/lib/cli/webpack/plugins/copy.js +2 -0
  28. package/lib/cli/webpack/plugins/index.js +2 -0
  29. package/lib/core/cache/index.js +2 -0
  30. package/lib/core/cache/index.js.map +1 -0
  31. package/lib/core/event/index.js +2 -0
  32. package/lib/core/event/index.js.map +1 -0
  33. package/lib/core/i18n/index.js +2 -0
  34. package/lib/core/i18n/index.js.map +1 -0
  35. package/lib/core/index.js +2 -0
  36. package/lib/core/index.js.map +1 -0
  37. package/lib/core/microservices/index.js +2 -0
  38. package/lib/core/microservices/index.js.map +1 -0
  39. package/lib/core/request/index.js +2 -0
  40. package/lib/core/request/index.js.map +1 -0
  41. package/lib/core/store/index.js +2 -0
  42. package/lib/core/store/index.js.map +1 -0
  43. package/lib/core/theme/index.js +2 -0
  44. package/lib/core/theme/index.js.map +1 -0
  45. package/lib/core/utils/index.js +2 -0
  46. package/lib/core/utils/index.js.map +1 -0
  47. package/lib/{index.d.ts → types/index.d.ts} +25 -10
  48. package/package.json +7 -4
  49. package/rollup.config.js +31 -14
  50. package/lib/cli/index.js.map +0 -1
  51. package/lib/index.js +0 -6423
  52. package/lib/index.js.map +0 -1
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ var path = require('path');
5
+ var concurrently = require('concurrently');
6
+
7
+ const taskAll = (msConfig) => {
8
+ const commands = Object.keys(msConfig).map(name => {
9
+ msConfig[name];
10
+ return {
11
+ command: `node ${path.resolve(__dirname, './spawn')}.js ${name}`,
12
+ name: name,
13
+ };
14
+ });
15
+ const { result } = concurrently(commands, {
16
+ prefix: 'name', // 使用名称作为日志前缀
17
+ });
18
+ result.then(() => { }, err => {
19
+ console.error(err);
20
+ });
21
+ };
22
+
23
+ exports.taskAll = taskAll;
@@ -0,0 +1,65 @@
1
+ #!/usr/bin/env node
2
+ 'use strict';
3
+
4
+ var fs = require('fs');
5
+ var config_index = require('./config/index.js');
6
+ var path = require('path');
7
+ var utils_index = require('./utils/index.js');
8
+ var tsconfig_index = require('./tsconfig/index.js');
9
+ var ms_index = require('./ms/index.js');
10
+
11
+ function MSMain(type = 'development', pageName) {
12
+ process.env.SRC = 'false';
13
+ process.env.NODE_ENV = type;
14
+ const cwd = process.cwd();
15
+ const configManager = new config_index.Config({ cwd });
16
+ let userConfig = configManager.getMsUserConfig();
17
+ const srcPath = utils_index.getSrcPath();
18
+ // 不是库模式,创建.gant临时文件
19
+ const tempPath = path.resolve(cwd, srcPath, '.gant');
20
+ if (!fs.existsSync(tempPath)) {
21
+ fs.mkdirSync(tempPath, { recursive: true });
22
+ }
23
+ const indexString = fs.readFileSync(path.resolve(__dirname, './template/core.txt'), 'utf-8');
24
+ utils_index.writeFileToJS(path.resolve(tempPath, 'index.ts'), indexString);
25
+ if (config_index.isEmpty(userConfig.ms))
26
+ return;
27
+ const msConfig = {};
28
+ const msName = userConfig?.name || 'main';
29
+ const paths = {
30
+ [msName]: cwd,
31
+ ...userConfig?.resolve?.alias,
32
+ };
33
+ const includes = [cwd];
34
+ if (userConfig.ms?.entry)
35
+ msConfig[msName] = {
36
+ entry: userConfig.ms?.entry,
37
+ publicPath: userConfig.ms?.publicPath,
38
+ port: userConfig.ms?.port,
39
+ htmlTemplatePath: userConfig.ms.htmlTemplatePath,
40
+ routes: userConfig.routes,
41
+ };
42
+ userConfig.ms.pages?.map?.(itemPage => {
43
+ const paths = typeof itemPage.path === 'string' ? [itemPage.path] : itemPage.path;
44
+ includes.push(...paths);
45
+ const config = configManager.getMsPagesUserConfig(paths);
46
+ msConfig[itemPage.name] = {
47
+ entry: itemPage.entry || userConfig.ms.subEntry,
48
+ publicPath: itemPage.publicPath,
49
+ port: itemPage.port,
50
+ htmlTemplatePath: itemPage.htmlTemplatePath,
51
+ routes: config.routes,
52
+ };
53
+ });
54
+ //生成tsconfig.json
55
+ tsconfig_index.generateTsConfig(tempPath, {
56
+ includes,
57
+ paths,
58
+ cwd,
59
+ vue: userConfig.vue,
60
+ createIncludes: false,
61
+ });
62
+ ms_index.taskAll(msConfig);
63
+ }
64
+
65
+ exports.MSMain = MSMain;
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var e=require("../utils/index.js"),n=require("path"),t=require("../config/index.js");exports.generateRoutes=(i,r)=>{const o=n.resolve(i);e.generateDir(o);let s=t.isEmpty(r)?[]:r;s=Array.isArray(r)?r:[r];const a=t.keyBy(s,"path");s=t.values(a);const l={};let c=0;!function e(n,i="root",r){n.map((n=>{const o=`${c}`;l[o]={...t.omit(n,"children"),id:o,mpaKey:r||n.mpaKey,parentId:i};const s=t.get(n,"children",[]);c++,t.isEmpty(s)||e(s,o,n.mpaKey)}))}(s),s=t.values(l);const u=`export default {\n ${Object.keys(l).map((e=>function(e,n){const i=Object.entries(n).map((([e,n])=>t.isNull(n)||t.isUndefined(n)?"":`${e}: '${n}'`)).filter((e=>!!e)).join(", ");return`'${e}': {${i}}`}(e,l[e]))).join(",\n")}\n }`;return e.writeFileToJS(n.resolve(o,"./maps.ts"),u),function(i,r="index"){const s=`\n export default {\n ${i.map((e=>function(e){const{component:n="",routes:i,...r}=e,o=Object.entries(r).map((([e,n])=>t.isNull(n)||t.isUndefined(n)?"":`${e}: '${n}'`)).filter((e=>!!e)).join(", ");return`'${e.id}': { ${n?(e=>`lazy: async () =>import('${e}'), loader:async()=> { const Page:any = await import('${e}');return Page.loader||null},`)(n):""} ${o} }`}(e))).join(",\n")}\n }\n `;e.writeFileToJS(n.resolve(o,`${r}.ts`),s)}(s,"index"),!0};
@@ -0,0 +1,5 @@
1
+ import RouesMaps from './routes';
2
+
3
+ import init from '<%=entry %>';
4
+
5
+ init(RouesMaps,()=>import('./app'));
@@ -19,5 +19,5 @@
19
19
  "paths": {}
20
20
  },
21
21
  "include": [],
22
- "exclude": ["node_modules", "dist", "**/*.js"]
22
+ "exclude": ["node_modules", "dist", "**/*.js", "public"]
23
23
  }
@@ -17,5 +17,5 @@
17
17
  "paths": {}
18
18
  },
19
19
  "include": [],
20
- "exclude": ["node_modules", "dist", "**/*.js"]
20
+ "exclude": ["node_modules", "dist", "**/*.js", "public"]
21
21
  }
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var e=require("path"),s=require("fs"),t=require("../utils/index.js");exports.generateTsConfig=(r,i)=>{const{cwd:n,vue:o,createIncludes:a=!0}=i,l=e.resolve(n),c=t.getSrcPath(),p={"@gant/*":[e.resolve(l,c,".gant/*")],"@gant":[e.resolve(l,c,".gant")],...i.paths};Object.keys(i.paths)?.map?.((e=>{p[e]=[i.paths[e]],p[e+"/*"]=[i.paths[e]+"/*"]}));const v=[e.resolve(l,c,".gant/*.ts"),e.resolve(l,c,".gant/*.d.ts"),e.resolve(l,c,".gant/**/*.ts")],u=["*.ts","*.tsx","*.d.ts","**/*.ts","**/*.d.ts","**/*.tsx","**/**/*.ts","**/**/*d.ts","**/**/*.tsx"];o&&u.push("*.vue","**/*.vue","**/**/*.vue"),i?.includes?.map?.((s=>{u.map((t=>v.push(e.resolve(s,t))))}));const d=s.readFileSync(e.resolve(__dirname,`../template/tsconfig.${o?"vue":"react"}.template.json`),"utf-8"),g=s.readFileSync(e.resolve(__dirname,"../template/types.d.txt"),"utf-8"),S=JSON.parse(d);if(S.compilerOptions.paths=p,S.include=v,t.writeFileToJSON(e.resolve(r,"tsconfig.json"),JSON.stringify(S)),t.writeFileToJS(e.resolve(r,"types.d.ts"),g),a)try{i?.includes.map((r=>{const i=e.resolve(r,c,".gant");s.existsSync(i)&&s.rmdirSync(i,{recursive:!0}),s.mkdirSync(i,{recursive:!0}),t.writeFileToJSON(e.resolve(i,"tsconfig.json"),JSON.stringify(S)),t.writeFileToJS(e.resolve(i,"types.d.ts"),g)}))}catch(e){console.error("创建配置文件错误:",e)}};
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var t=require("fs"),e=require("esbuild"),r=require("../create/config/index.js"),n=require("os"),i=require("path"),o=require("crypto"),c={exports:{}};
3
+ /*!
4
+ * Tmp
5
+ *
6
+ * Copyright (c) 2011-2017 KARASZI Istvan <github@spam.raszi.hu>
7
+ *
8
+ * MIT Licensed
9
+ */
10
+ !function(e){const r=t,c=n,s=i,u=o,a={fs:r.constants,os:c.constants},f="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",l=/XXXXXX/,p=3,d=(a.O_CREAT||a.fs.O_CREAT)|(a.O_EXCL||a.fs.O_EXCL)|(a.O_RDWR||a.fs.O_RDWR),m="win32"===c.platform(),h=a.EBADF||a.os.errno.EBADF,v=a.ENOENT||a.os.errno.ENOENT,x=[],y=r.rmdirSync.bind(r);let E=!1;function w(t,e){return r.rm(t,{recursive:!0},e)}function b(t){return r.rmSync(t,{recursive:!0})}function D(t,e){const n=q(t,e),i=n[0],o=n[1];try{A(i)}catch(t){return o(t)}let c=i.tries;!function t(){try{const e=X(i);r.stat(e,(function(r){if(!r)return c-- >0?t():o(new Error("Could not get a unique tmp filename, max tries reached "+e));o(null,e)}))}catch(t){o(t)}}()}function C(t){const e=q(t)[0];A(e);let n=e.tries;do{const t=X(e);try{r.statSync(t)}catch(e){return t}}while(n-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function g(t,e){const n=function(t){if(t&&!_(t))return e(t);e()};0<=t[0]?r.close(t[0],(function(){r.unlink(t[1],n)})):r.unlink(t[1],n)}function S(t){let e=null;try{0<=t[0]&&r.closeSync(t[0])}catch(t){if(!(n=t,B(n,-h,"EBADF")||_(t)))throw t}finally{try{r.unlinkSync(t[1])}catch(t){_(t)||(e=t)}}var n;if(null!==e)throw e}function j(t,e,r,n){const i=O(S,[e,t],n),o=O(g,[e,t],n,i);return r.keep||x.unshift(i),n?i:o}function k(t,e,n){const i=e.unsafeCleanup?w:r.rmdir.bind(r),o=O(e.unsafeCleanup?b:y,t,n),c=O(i,t,n,o);return e.keep||x.unshift(o),n?o:c}function O(t,e,r,n){let i=!1;return function o(c){if(!i){const s=n||o,u=x.indexOf(s);return u>=0&&x.splice(u,1),i=!0,r||t===y||t===b?t(e):t(e,c||function(){})}}}function N(t){let e=[],r=null;try{r=u.randomBytes(t)}catch(e){r=u.pseudoRandomBytes(t)}for(var n=0;n<t;n++)e.push(f[r[n]%f.length]);return e.join("")}function $(t){return void 0===t}function q(t,e){if("function"==typeof t)return[{},t];if($(t))return[{},e];const r={};for(const e of Object.getOwnPropertyNames(t))r[e]=t[e];return[r,e]}function X(t){const e=t.tmpdir;if(!$(t.name))return s.join(e,t.dir,t.name);if(!$(t.template))return s.join(e,t.dir,t.template).replace(l,N(6));const r=[t.prefix?t.prefix:"tmp","-",process.pid,"-",N(12),t.postfix?"-"+t.postfix:""].join("");return s.join(e,t.dir,r)}function A(t){t.tmpdir=T(t);const e=t.tmpdir;if($(t.name)||R(t.name,"name",e),$(t.dir)||R(t.dir,"dir",e),!$(t.template)&&(R(t.template,"template",e),!t.template.match(l)))throw new Error(`Invalid template, found "${t.template}".`);if(!$(t.tries)&&isNaN(t.tries)||t.tries<0)throw new Error(`Invalid tries, found "${t.tries}".`);var r;t.tries=$(t.name)?t.tries||p:1,t.keep=!!t.keep,t.detachDescriptor=!!t.detachDescriptor,t.discardDescriptor=!!t.discardDescriptor,t.unsafeCleanup=!!t.unsafeCleanup,t.dir=$(t.dir)?"":s.relative(e,F(t.dir,e)),t.template=$(t.template)?void 0:s.relative(e,F(t.template,e)),t.template=null===(r=t.template)||$(r)||!r.trim()?void 0:s.relative(t.dir,t.template),t.name=$(t.name)?void 0:t.name,t.prefix=$(t.prefix)?"":t.prefix,t.postfix=$(t.postfix)?"":t.postfix}function F(t,e){return t.startsWith(e)?s.resolve(t):s.resolve(s.join(e,t))}function R(t,e,r){if("name"===e){if(s.isAbsolute(t))throw new Error(`${e} option must not contain an absolute path, found "${t}".`);let r=s.basename(t);if(".."===r||"."===r||r!==t)throw new Error(`${e} option must not contain a path, found "${t}".`)}else{if(s.isAbsolute(t)&&!t.startsWith(r))throw new Error(`${e} option must be relative to "${r}", found "${t}".`);let n=F(t,r);if(!n.startsWith(r))throw new Error(`${e} option must be relative to "${r}", found "${n}".`)}}function _(t){return B(t,-v,"ENOENT")}function B(t,e,r){return m?t.code===r:t.code===r&&t.errno===e}function T(t){return s.resolve(t&&t.tmpdir||c.tmpdir())}process.addListener("exit",(function(){if(E)for(;x.length;)try{x[0]()}catch(t){}})),Object.defineProperty(e.exports,"tmpdir",{enumerable:!0,configurable:!1,get:function(){return T()}}),e.exports.dir=function(t,e){const n=q(t,e),i=n[0],o=n[1];D(i,(function(t,e){if(t)return o(t);r.mkdir(e,i.mode||448,(function(t){if(t)return o(t);o(null,e,k(e,i,!1))}))}))},e.exports.dirSync=function(t){const e=q(t)[0],n=C(e);return r.mkdirSync(n,e.mode||448),{name:n,removeCallback:k(n,e,!0)}},e.exports.file=function(t,e){const n=q(t,e),i=n[0],o=n[1];D(i,(function(t,e){if(t)return o(t);r.open(e,d,i.mode||384,(function(t,n){if(t)return o(t);if(i.discardDescriptor)return r.close(n,(function(t){return o(t,e,void 0,j(e,-1,i,!1))}));{const t=i.discardDescriptor||i.detachDescriptor;o(null,e,n,j(e,t?-1:n,i,!1))}}))}))},e.exports.fileSync=function(t){const e=q(t)[0],n=e.discardDescriptor||e.detachDescriptor,i=C(e);var o=r.openSync(i,d,e.mode||384);return e.discardDescriptor&&(r.closeSync(o),o=void 0),{name:i,fd:o,removeCallback:j(i,n?-1:o,e,!0)}},e.exports.tmpName=D,e.exports.tmpNameSync=C,e.exports.setGracefulCleanup=function(){E=!0}}(c);var s=c.exports,u=r.getDefaultExportFromCjs(s);exports.getJavascriptfile=function(r){try{const{outputFiles:n}=e.buildSync({entryPoints:[r],bundle:!0,format:"cjs",write:!1,platform:"node",tsconfig:i.resolve(__dirname,"../template/template.package.json")});if(n){const e=i.dirname(r),o=n[0].text,c=u.fileSync({tmpdir:e,prefix:"temp-",postfix:".js"});t.writeFileSync(c.name,o);const s=require(c.name).default;return c.removeCallback(),s}return console.error("No output files generated."),{}}catch(t){return console.log("GetJavascriptFile Error:",t),{}}};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var e=require("fs"),r=require("path"),t=require("prettier");require("esbuild"),require("./getJavascriptfile.js");var i=require("../config/index.js");function n(e,r){return i.isArray(e)&&i.isArray(r)?i.union(e,r):i.isObject(e)&&i.isObject(r)?i.mergeWith(e,r,n):r}exports.copyFolder=function t(i,n){if(e.existsSync(n)||e.mkdirSync(n),!e.existsSync(i))return;e.readdirSync(i).forEach((s=>{const c=r.join(i,s),o=r.join(n,s);e.lstatSync(c).isDirectory()?t(c,o):e.copyFileSync(c,o)}))},exports.generateDir=function(r){e.existsSync(r)&&e.rmdirSync(r,{recursive:!0}),e.mkdirSync(r,{recursive:!0})},exports.getAbsFile=function(e,t){return r.isAbsolute(e)?e:r.join(t,e)},exports.getMpasPageHtml=function(t){if(!t||e.existsSync(t)){return e.readFileSync(r.resolve(__dirname,"../template/index.html"),"utf-8")}return e.readFileSync(t,"utf-8")},exports.getSrcPath=()=>"true"===process.env.SRC?"src/":"./",exports.loadJSON=function(r){const t=e.readFileSync(r,"utf-8");return JSON.parse(t)},exports.mergeConfig=(e,r)=>({...i.mergeWith(e,r,n)}),exports.writeFileToJS=async(r,i)=>{const n=await t.format(i,{semi:!0,singleQuote:!0,parser:"babel-ts"});return e.writeFileSync(r,n,"utf-8")},exports.writeFileToJSON=async(r,i)=>{const n=await t.format(i,{parser:"json"});return e.writeFileSync(r,n,"utf-8")};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var e=require("webpack"),r=require("webpack-dev-server"),o=require("./config/index.js");exports.Webpack=class{Compiler;Config;devServer=null;constructor(r,s,t){try{let i={};i="development"===t?o.getDevConfig(r,s):"analyzer"===t?o.getAnalyzerConfig(r,s):o.getProductionConfig(r,s),this.Config=i,this.Compiler=e(i)}catch(e){console.log(e)}}runBuild=()=>{this.Compiler.run(((e,r)=>{if(e)console.log(e.message);else{console.log(r?.toString({colors:!0}));for(const e of Object.keys(r?.compilation?.assets||{}))console.log(`Generated asset: ${e}`)}}))};runServer=e=>{this.devServer=new r({...this.Config?.devServer,...e},this.Compiler),this.devServer?.start()}};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var e=require("../../utils/index.js"),n=require("./production.config.js");const r=require("webpack-bundle-analyzer").BundleAnalyzerPlugin;exports._getAnalyzerConfig=(i,u)=>e.mergeConfig({plugins:[new r]},n.getProConfig(i,u));
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ "use strict";const e=require("mini-css-extract-plugin");exports.getCssRules=s=>[{test:/\.(less)$/,exclude:/node_modules|public/,use:["development"===s?require.resolve("style-loader"):e.loader,{loader:require.resolve("css-loader"),options:{modules:{localIdentName:"[name]__[local]--[hash:base64:5]"}}},{loader:require.resolve("postcss-loader"),options:{postcssOptions:{plugins:[require.resolve("postcss-short"),require("postcss-preset-env")({browsers:["> 1%","last 2 versions"],autoprefixer:{flexbox:"no-2009"},stage:3})]}}},{loader:require.resolve("less-loader"),options:{implementation:require.resolve("less"),lessOptions:{javascriptEnabled:!0}}}]},{test:/\.(css)$/,use:["development"===s?require.resolve("style-loader"):e.loader,require.resolve("css-loader"),{loader:require.resolve("postcss-loader"),options:{postcssOptions:{plugins:[require.resolve("postcss-short"),require("postcss-preset-env")({browsers:["> 1%","last 2 versions"],autoprefixer:{flexbox:"no-2009"},stage:3})]}}}]}];
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var e=require("../../utils/index.js"),t=require("html-webpack-plugin"),s=require("./cssRules.js"),r=require("path"),i=require("webpack"),o=require("../../config/index.js");const a=["name","routes","mpas","packages","microServiceMap","base","customHistoryApiFallback","outputPathDir","define","setting","vue","library","compression","terserOptions","htmlTemplatePath","locales","mfa","publicPathDir"];exports.getDefaultConfig=(l,n)=>{const u=o.omit(n,a);let{base:c="/",routes:p,htmlTemplatePath:m,outputPathDir:d="dist",microServiceMap:g,define:v,setting:h,vue:f}=o.pick(n,a);c=/^\/.*\/$/.test(c)?c:"/";let y=n.entry||{};const b=[];if(o.isEmpty(y)&&(y.index=r.resolve(l,"src/main")),"string"==typeof y.index){const s=e.getMpasPageHtml(m);b.push(new t({templateContent:s,filename:"index.html",chunks:["index"],publicPath:c,base:c})),n.entry=y}const x=s.getCssRules(n.mode);return e.mergeConfig({entry:y,stats:"minimal",devServer:{static:{directory:r.resolve(l,"src/.gant/public"),publicPath:c},compress:!0,historyApiFallback:o.has(n,"customHistoryApiFallback")?n?.customHistoryApiFallback:{index:r.resolve(c,"index.html"),rewrites:[{from:/^\/public\/(.*)$/,to:e=>r.resolve(c,e.match[1])}]}},module:{rules:[...f?[{test:/\.vue$/,loader:require.resolve("vue-loader")}]:[],{test:/\.(ts|tsx)$/,exclude:/node_modules/,use:{loader:require.resolve("swc-loader"),options:{jsc:{parser:{syntax:"typescript",tsx:!0,dynamicImport:!0},transform:{...f?{}:{react:{runtime:"automatic",development:"development"===n.mode,refresh:"development"===n.mode}}}}}}},...x,{test:/\.html$/,use:require.resolve("html-loader")},{test:/\.(png|jpg|gif|woff|woff2|eot|ttf|svg)$/i,use:[{loader:require.resolve("url-loader"),options:{limit:8192,name:"[name][hash].[ext]",outputPath:"assets/"}}]}]},resolve:{extensions:[".tsx",".ts",".js",".jsx",".vue"]},output:{path:r.resolve(l,d),publicPath:c,charset:!0,clean:!0},plugins:[...f?[new(require("vue-loader").VueLoaderPlugin)]:[],...b,new i.ProvidePlugin({React:"react"}),new i.ProgressPlugin,new i.DefinePlugin({GANT_START_TIME:JSON.stringify(global.__gant_start_time),microServiceMap:JSON.stringify(g),BASE:JSON.stringify(c),SETTING:JSON.stringify(h||{}),...o.mapValues(v,(e=>JSON.stringify(e))),process:JSON.stringify({env:process.env})})]},u)};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var e=require("../../utils/index.js"),r=require("path"),t=require("../../config/index.js");const i=require("@pmmmwh/react-refresh-webpack-plugin");exports._getDevlopmentConfig=(o,s)=>{const{base:c="/"}=o;return e.mergeConfig({mode:"development",devServer:{port:8080,hot:!0,open:!0,client:{overlay:!1},static:{directory:r.resolve(s,"src/.gant/public"),publicPath:c},compress:!0,historyApiFallback:t.has(o,"customHistoryApiFallback")?o?.customHistoryApiFallback:{index:r.resolve(c,"index.html"),rewrites:[{from:new RegExp(`${c}public/(.*)`),to:e=>e.match&&e.match[1]?r.resolve(c,e.match[1]):c}]}},resolve:{},plugins:[new i]},o)};
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ "use strict";var e=require("./production.config.js"),t=require("./default.config.js"),n=require("./development.config.js"),o=require("./analyzer.config.js");exports.getAnalyzerConfig=(e,n)=>{const r=o._getAnalyzerConfig(e,n);return t.getDefaultConfig(n,r)},exports.getDevConfig=(e,o)=>{const r=n._getDevlopmentConfig(e,o);return t.getDefaultConfig(o,r)},exports.getProductionConfig=(n,o)=>{const r=e.getProConfig(n,o);return t.getDefaultConfig(o,r)};