@gct-paas/build 0.1.6-dev.1 → 0.1.6-dev.10

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/dist/constants/index.cjs +14 -3
  2. package/dist/constants/index.d.ts +0 -4
  3. package/dist/eslint/eslint-config/eslint-config.cjs +13 -1
  4. package/dist/index.cjs +11 -0
  5. package/dist/index.d.ts +1 -0
  6. package/dist/stylelint/stylelint-config/stylelint-config.cjs +1 -1
  7. package/dist/util/env-state/env-state.cjs +9 -0
  8. package/dist/util/env-state/env-state.d.ts +7 -0
  9. package/dist/util/index.cjs +7 -0
  10. package/dist/util/index.d.ts +1 -0
  11. package/dist/vite/index.cjs +18 -0
  12. package/dist/vite/index.d.ts +2 -2
  13. package/dist/vite/vite-config/vite-base-config.cjs +8 -5
  14. package/dist/vite/vite-config/vite-config.cjs +32 -6
  15. package/dist/vite/vite-config/vite-config.d.ts +8 -0
  16. package/dist/vite/vite-config/vite-pkg-dev-config.cjs +2 -2
  17. package/dist/vite/vite-config/vite-plugin-config.cjs +69 -71
  18. package/dist/vite/vite-config/vite-plugin-config.d.ts +22 -6
  19. package/dist/vite/vite-config/vite-project-config.cjs +7 -5
  20. package/dist/vite/vite-plugins/imnport-external-plugin.cjs +21 -0
  21. package/dist/vite/vite-plugins/imnport-external-plugin.d.ts +16 -0
  22. package/dist/vite/vite-plugins/inject-importmap-plugin.cjs +94 -0
  23. package/dist/vite/vite-plugins/inject-importmap-plugin.d.ts +19 -0
  24. package/es/constants/index.d.ts +0 -4
  25. package/es/constants/index.mjs +26 -9
  26. package/es/eslint/eslint-config/eslint-config.mjs +20 -1
  27. package/es/index.d.ts +1 -0
  28. package/es/index.mjs +1 -0
  29. package/es/stylelint/stylelint-config/stylelint-config.mjs +4 -1
  30. package/es/util/env-state/env-state.d.ts +7 -0
  31. package/es/util/env-state/env-state.mjs +3 -0
  32. package/es/util/index.d.ts +1 -0
  33. package/es/util/index.mjs +1 -0
  34. package/es/vite/index.d.ts +2 -2
  35. package/es/vite/index.mjs +3 -1
  36. package/es/vite/vite-config/vite-base-config.mjs +8 -4
  37. package/es/vite/vite-config/vite-config.d.ts +8 -0
  38. package/es/vite/vite-config/vite-config.mjs +34 -4
  39. package/es/vite/vite-config/vite-pkg-dev-config.mjs +12 -10
  40. package/es/vite/vite-config/vite-plugin-config.d.ts +22 -6
  41. package/es/vite/vite-config/vite-plugin-config.mjs +74 -71
  42. package/es/vite/vite-config/vite-project-config.mjs +8 -33
  43. package/es/vite/vite-plugins/imnport-external-plugin.d.ts +16 -0
  44. package/es/vite/vite-plugins/imnport-external-plugin.mjs +14 -0
  45. package/es/vite/vite-plugins/inject-importmap-plugin.d.ts +19 -0
  46. package/es/vite/vite-plugins/inject-importmap-plugin.mjs +86 -0
  47. package/package.json +14 -8
@@ -3,8 +3,19 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.PROD_MODE = exports.DEV_MODE = exports.DEFAULT_IGNORED_DEPENDENCIES = exports.DEFAULT_EXTERNAL = void 0;
6
+ exports.PROD_MODE = exports.DEV_MODE = exports.DEFAULT_EXTERNAL = void 0;
7
7
  const DEV_MODE = exports.DEV_MODE = "development";
8
8
  const PROD_MODE = exports.PROD_MODE = "production";
9
- const DEFAULT_EXTERNAL = exports.DEFAULT_EXTERNAL = ["vue", "vue-router", "vue-i18n", "axios", "dayjs", "lodash-es", "qs", "pinia", "vuedraggable", "sortablejs", "vue-grid-layout", "vant", "ant-design-vue", "@ant-design/icons-vue", "@icon-park/vue-next/es/all", "@icon-park/vue-next/icons.json", "bignumber.js", "wujie", "sql-formatter", "@gct-paas/build", "@gct-paas/api", "@gct-paas/core", "@gct-paas/core-mobile", "@gct-paas/core-web", "@gct-paas/core-pad", "@gct-paas/design", "@gct-paas/design-mobile", "@gct-paas/design-web", "@gct-paas/design-pad", "@gct-paas/render", "@gct-paas/render-mobile", "@gct-paas/render-pad", "@gct-paas/render-web", "@gct-paas/schema", "@gct-paas/scss", "@gct-paas/formula-editor", "@gct-paas/platform-icons", "systemjs"];
10
- const DEFAULT_IGNORED_DEPENDENCIES = exports.DEFAULT_IGNORED_DEPENDENCIES = ["path-browserify", "qx-util"];
9
+ const DEFAULT_EXTERNAL = exports.DEFAULT_EXTERNAL = ["@babel/standalone", "esprima-next", "estraverse", "escodegen",
10
+ // vue 相关依赖
11
+ "vue", "vue-router", "vue-i18n", "pinia",
12
+ // 第三方依赖
13
+ "axios", "dayjs", "lodash-es", "qs", "bignumber.js", "wujie", "@module-federation/runtime", "sql-formatter", "mqtt", "@fingerprintjs/fingerprintjs", "overlayscrollbars", "@jsplumb/browser-ui", "sortablejs", "interactjs", "bwip-js",
14
+ // 组件库相关依赖
15
+ "vuedraggable", "vue-grid-layout", "vant", "ant-design-vue", "vxe-table",
16
+ // 图标库相关依赖
17
+ "@ant-design/icons-vue", "@icon-park/vue-next/es/all", "@icon-park/vue-next/icons.json",
18
+ // @gct-paas 底包相关依赖
19
+ "@gct-paas/api", "@gct-paas/core", "@gct-paas/core-mobile", "@gct-paas/core-web", "@gct-paas/core-pad", "@gct-paas/design", "@gct-paas/design-mobile", "@gct-paas/design-web", "@gct-paas/design-pad", "@gct-paas/render", "@gct-paas/render-mobile", "@gct-paas/render-pad", "@gct-paas/render-web", "@gct-paas/schema", "@gct-paas/scss",
20
+ // @gct-paas 独立组件库
21
+ "@gct-paas/platform-icons", "@gct-paas/vue-pdf", "@gct-paas/vue-video-player", "@gct-paas/flow"];
@@ -10,7 +10,3 @@ export declare const PROD_MODE = "production";
10
10
  * 默认需要忽略编译的外部依赖
11
11
  */
12
12
  export declare const DEFAULT_EXTERNAL: string[];
13
- /**
14
- * 默认忽略编译的依赖列表,用于 pkg 包开发编译时
15
- */
16
- export declare const DEFAULT_IGNORED_DEPENDENCIES: string[];
@@ -80,7 +80,19 @@ function defineEslintConfig(...configs) {
80
80
  "@typescript-eslint/no-dynamic-delete": "off",
81
81
  // 其他规则覆盖
82
82
  "class-methods-use-this": "off",
83
- "prefer-destructuring": "off"
83
+ "prefer-destructuring": "off",
84
+ "no-restricted-imports": ["error", {
85
+ paths: [{
86
+ name: "@/index",
87
+ message: "\u7981\u6B62\u4ECE index \u5BFC\u5165\u5185\u5BB9"
88
+ }, {
89
+ name: "@/loader",
90
+ message: "\u7981\u6B62\u4ECE loader \u5BFC\u5165\u5185\u5BB9"
91
+ }, {
92
+ name: "..",
93
+ message: "\u7981\u6B62\u4ECE\u5185\u90E8\u5BFC\u5165\u5185\u5BB9\u81EA\u8EAB\u5185\u5BB9"
94
+ }]
95
+ }]
84
96
  }
85
97
  }, {
86
98
  name: "ts-vue-override",
package/dist/index.cjs CHANGED
@@ -14,6 +14,17 @@ Object.keys(_commitlint).forEach(function (key) {
14
14
  }
15
15
  });
16
16
  });
17
+ var _constants = require("./constants/index.cjs");
18
+ Object.keys(_constants).forEach(function (key) {
19
+ if (key === "default" || key === "__esModule") return;
20
+ if (key in exports && exports[key] === _constants[key]) return;
21
+ Object.defineProperty(exports, key, {
22
+ enumerable: true,
23
+ get: function () {
24
+ return _constants[key];
25
+ }
26
+ });
27
+ });
17
28
  var _eslint = require("./eslint/index.cjs");
18
29
  Object.keys(_eslint).forEach(function (key) {
19
30
  if (key === "default" || key === "__esModule") return;
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from './commitlint';
2
+ export * from './constants';
2
3
  export * from './eslint';
3
4
  export * from './prettier';
4
5
  export * from './stylelint';
@@ -7,7 +7,7 @@ exports.defineStylelintConfig = defineStylelintConfig;
7
7
  var _lodashEs = require("lodash-es");
8
8
  function defineStylelintConfig(config = {}) {
9
9
  return (0, _lodashEs.merge)({
10
- extends: ["stylelint-config-standard", "stylelint-config-standard-scss"],
10
+ extends: ["stylelint-config-standard-scss", "stylelint-config-recess-order"],
11
11
  rules: {
12
12
  "annotation-no-unknown": null,
13
13
  "color-no-invalid-hex": true,
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.isBuildPluginEnv = isBuildPluginEnv;
7
+ function isBuildPluginEnv() {
8
+ return process.env.BUILD_PLUGIN_ENV === "true";
9
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * 是否为需要线上插件开发环境
3
+ *
4
+ * @export
5
+ * @return {*} {boolean}
6
+ */
7
+ export declare function isBuildPluginEnv(): boolean;
@@ -15,10 +15,17 @@ Object.defineProperty(exports, "IS_NODE_MODULE", {
15
15
  return _regExp.IS_NODE_MODULE;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "isBuildPluginEnv", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _envState.isBuildPluginEnv;
22
+ }
23
+ });
18
24
  exports.mergeConfig = mergeConfig;
19
25
  exports.unixToWinPath = unixToWinPath;
20
26
  exports.winToUnixPath = winToUnixPath;
21
27
  var _lodashEs = require("lodash-es");
28
+ var _envState = require("./env-state/env-state.cjs");
22
29
  var _regExp = require("./reg-exp/reg-exp.cjs");
23
30
  var _watcher = require("./watcher/watcher.cjs");
24
31
  function winToUnixPath(pathStr) {
@@ -1,3 +1,4 @@
1
+ export { isBuildPluginEnv } from './env-state/env-state';
1
2
  export { IS_NODE_MODULE } from './reg-exp/reg-exp';
2
3
  export { CopyWatch } from './watcher/watcher';
3
4
  /**
@@ -15,18 +15,36 @@ Object.defineProperty(exports, "defineDevViteConfig", {
15
15
  return _viteDevConfig.defineDevViteConfig;
16
16
  }
17
17
  });
18
+ Object.defineProperty(exports, "defineLoaderViteConfig", {
19
+ enumerable: true,
20
+ get: function () {
21
+ return _viteConfig.defineLoaderViteConfig;
22
+ }
23
+ });
18
24
  Object.defineProperty(exports, "defineMobilePluginViteConfig", {
19
25
  enumerable: true,
20
26
  get: function () {
21
27
  return _vitePluginConfig.defineMobilePluginViteConfig;
22
28
  }
23
29
  });
30
+ Object.defineProperty(exports, "definePadPluginViteConfig", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _vitePluginConfig.definePadPluginViteConfig;
34
+ }
35
+ });
24
36
  Object.defineProperty(exports, "definePkgDevViteConfig", {
25
37
  enumerable: true,
26
38
  get: function () {
27
39
  return _vitePkgDevConfig.definePkgDevViteConfig;
28
40
  }
29
41
  });
42
+ Object.defineProperty(exports, "definePluginViteConfig", {
43
+ enumerable: true,
44
+ get: function () {
45
+ return _vitePluginConfig.definePluginViteConfig;
46
+ }
47
+ });
30
48
  Object.defineProperty(exports, "defineProjectViteConfig", {
31
49
  enumerable: true,
32
50
  get: function () {
@@ -1,6 +1,6 @@
1
1
  export { defineViteBaseConfig } from './vite-config/vite-base-config';
2
- export { defineViteConfig } from './vite-config/vite-config';
2
+ export { defineViteConfig, defineLoaderViteConfig } from './vite-config/vite-config';
3
3
  export { defineDevViteConfig } from './vite-config/vite-dev-config';
4
4
  export { definePkgDevViteConfig } from './vite-config/vite-pkg-dev-config';
5
- export { defineDesignPluginViteConfig, defineMobilePluginViteConfig, defineWebPluginViteConfig, } from './vite-config/vite-plugin-config';
5
+ export { definePluginViteConfig, defineDesignPluginViteConfig, defineMobilePluginViteConfig, definePadPluginViteConfig, defineWebPluginViteConfig, } from './vite-config/vite-plugin-config';
6
6
  export { defineProjectViteConfig } from './vite-config/vite-project-config';
@@ -7,7 +7,6 @@ exports.defineViteBaseConfig = defineViteBaseConfig;
7
7
  var _vite = require("vite");
8
8
  var _pluginVue = _interopRequireDefault(require("@vitejs/plugin-vue"));
9
9
  var _pluginVueJsx = _interopRequireDefault(require("@vitejs/plugin-vue-jsx"));
10
- var _vite2 = _interopRequireDefault(require("unocss/vite"));
11
10
  var _path = _interopRequireDefault(require("path"));
12
11
  var _constants = require("../../constants/index.cjs");
13
12
  var _util = require("../../util/index.cjs");
@@ -16,6 +15,11 @@ function defineViteBaseConfig(opts = {}) {
16
15
  const cwd = process.cwd();
17
16
  const outDir = _path.default.resolve(cwd, "dist");
18
17
  return (0, _util.mergeConfig)((0, _vite.defineConfig)({
18
+ resolve: {
19
+ alias: {
20
+ "@": _path.default.resolve(cwd, "./src")
21
+ }
22
+ },
19
23
  css: {
20
24
  preprocessorOptions: {
21
25
  scss: {
@@ -25,12 +29,11 @@ function defineViteBaseConfig(opts = {}) {
25
29
  },
26
30
  build: {
27
31
  outDir,
28
- rollupOptions: {
32
+ target: "chrome89",
33
+ rolldownOptions: {
29
34
  external: _constants.DEFAULT_EXTERNAL
30
35
  }
31
36
  },
32
- plugins: [(0, _pluginVue.default)(), (0, _pluginVueJsx.default)(), (0, _vite2.default)({
33
- hmrTopLevelAwait: false
34
- })]
37
+ plugins: [(0, _pluginVue.default)(), (0, _pluginVueJsx.default)()]
35
38
  }), opts);
36
39
  }
@@ -3,26 +3,52 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.defineLoaderViteConfig = defineLoaderViteConfig;
6
7
  exports.defineViteConfig = defineViteConfig;
7
8
  var _vite = require("vite");
8
9
  var _path = _interopRequireDefault(require("path"));
9
- var rf = _interopRequireWildcard(require("rimraf"));
10
+ var _vite2 = _interopRequireDefault(require("unocss/vite"));
10
11
  var _viteBaseConfig = require("./vite-base-config.cjs");
11
- function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
- function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
12
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
14
13
  function defineViteConfig(opts = {}) {
15
14
  const cwd = process.cwd();
16
- const outDir = _path.default.resolve(cwd, "dist");
17
- rf.sync(outDir);
18
15
  return (0, _vite.mergeConfig)((0, _viteBaseConfig.defineViteBaseConfig)((0, _vite.defineConfig)({
19
16
  build: {
17
+ minify: "terser",
18
+ terserOptions: {
19
+ // 压缩选项,控制代码压缩行为
20
+ compress: {
21
+ // 是否移除 console.* 调用;false 表示保留,避免生产环境丢失重要日志
22
+ drop_console: false,
23
+ // 是否移除永远不会执行的死代码(如 if(false){...})
24
+ dead_code: true,
25
+ // 是否移除未被引用的变量和函数,减小产物体积
26
+ unused: true,
27
+ // 压缩算法的执行轮数;多轮压缩可以发现单轮无法消除的冗余代码,但会增加构建耗时
28
+ passes: 2
29
+ },
30
+ // 是否混淆变量名、函数名等标识符,使产物更难以阅读反编译,同时进一步缩小体积
31
+ mangle: true
32
+ },
20
33
  lib: {
21
34
  entry: _path.default.resolve(cwd, "src/index.ts"),
22
35
  formats: ["es"],
23
36
  cssFileName: "index.min",
24
37
  fileName: "[name].[format].min"
25
38
  }
26
- }
39
+ },
40
+ plugins: [(0, _vite2.default)({
41
+ hmrTopLevelAwait: false
42
+ })]
27
43
  })), opts);
44
+ }
45
+ function defineLoaderViteConfig(opts = {}) {
46
+ const cwd = process.cwd();
47
+ return (0, _vite.mergeConfig)(defineViteConfig({
48
+ build: {
49
+ lib: {
50
+ entry: _path.default.resolve(cwd, "src/loader.ts")
51
+ }
52
+ }
53
+ }), opts);
28
54
  }
@@ -7,3 +7,11 @@ import { UserConfig } from 'vite';
7
7
  * @returns {*} {UserConfig}
8
8
  */
9
9
  export declare function defineViteConfig(opts?: UserConfig): UserConfig;
10
+ /**
11
+ * 构建 loader 模块的 vite 配置,基于此配置构建基于 index 模式下的上层样式加载封装
12
+ *
13
+ * @export
14
+ * @param {UserConfig} [opts={}]
15
+ * @return {*} {UserConfig}
16
+ */
17
+ export declare function defineLoaderViteConfig(opts?: UserConfig): UserConfig;
@@ -80,12 +80,12 @@ function definePkgDevViteConfig(opts = {}) {
80
80
  },
81
81
  // 排除测试目录,以及测试文件
82
82
  exclude: ["**/test/**", "**/*.test.ts", "**/*.test.tsx", "**/*.spec.ts", "**/*.spec.tsx"]
83
- }), (0, _vitePluginStaticCopy.viteStaticCopy)({
83
+ }), ...((0, _fs.existsSync)(_path.default.resolve(cwd, "src/types")) ? [(0, _vitePluginStaticCopy.viteStaticCopy)({
84
84
  targets: [{
85
85
  // 将 src/types 目录下的文件复制到编译输出目录
86
86
  src: "src/types",
87
87
  dest: "."
88
88
  }]
89
- })]
89
+ })] : [])]
90
90
  }), opts);
91
91
  }
@@ -5,96 +5,94 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.defineDesignPluginViteConfig = defineDesignPluginViteConfig;
7
7
  exports.defineMobilePluginViteConfig = defineMobilePluginViteConfig;
8
+ exports.definePadPluginViteConfig = definePadPluginViteConfig;
9
+ exports.definePluginViteConfig = definePluginViteConfig;
8
10
  exports.defineWebPluginViteConfig = defineWebPluginViteConfig;
9
11
  var _vite = require("vite");
10
12
  var _path = _interopRequireDefault(require("path"));
11
13
  var _viteBaseConfig = require("./vite-base-config.cjs");
14
+ var _constants = require("../../constants/index.cjs");
15
+ var _imnportExternalPlugin = require("../vite-plugins/imnport-external-plugin.cjs");
12
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
13
- const formats = ["system", "cjs", "es"];
14
- function formatFileName(format) {
15
- if (format === "system" || format === "systemjs") {
16
- return `[name].system.min.js`;
17
- }
18
- if (format === "cjs" || format === "commonjs") {
19
- return `[name].min.cjs`;
20
- }
21
- if (format === "es" || format === "esm" || format === "module") {
22
- return `[name].esm.min.mjs`;
23
- }
24
- return `[name].${format}.min.js`;
25
- }
26
- function assetFileNames(assetInfo, name) {
27
- if (assetInfo.names.length > 0 && assetInfo.names[0].endsWith(".css")) {
28
- return name + ".min.css";
29
- }
30
- return assetInfo.names[0];
31
- }
32
- function defineDesignPluginViteConfig(opts = {}) {
17
+ function definePluginViteConfig(opts = {}) {
33
18
  const cwd = process.cwd();
34
- const designEntry = _path.default.resolve(cwd, "src/index.ts");
19
+ const entry = _path.default.resolve(cwd, "src/index.ts");
20
+ const loaderEntry = _path.default.resolve(cwd, "src/loader.ts");
21
+ const isProd = process.env.NODE_ENV === "production";
35
22
  return (0, _vite.mergeConfig)((0, _viteBaseConfig.defineViteBaseConfig)({
23
+ optimizeDeps: {
24
+ exclude: _constants.DEFAULT_EXTERNAL
25
+ },
36
26
  build: {
37
- emptyOutDir: false,
38
- rollupOptions: {
39
- output: {
40
- assetFileNames: assetInfo => {
41
- return assetFileNames(assetInfo, "design");
42
- }
43
- }
27
+ minify: isProd ? "terser" : false,
28
+ terserOptions: {
29
+ // 压缩选项,控制代码压缩行为
30
+ compress: {
31
+ // 是否移除 console.* 调用;false 表示保留,避免生产环境丢失重要日志
32
+ drop_console: false,
33
+ // 是否移除永远不会执行的死代码(如 if(false){...}
34
+ dead_code: true,
35
+ // 是否移除未被引用的变量和函数,减小产物体积
36
+ unused: true,
37
+ // 压缩算法的执行轮数;多轮压缩可以发现单轮无法消除的冗余代码,但会增加构建耗时
38
+ passes: 2
39
+ },
40
+ // 是否混淆变量名、函数名等标识符,使产物更难以阅读反编译,同时进一步缩小体积
41
+ mangle: true
44
42
  },
45
43
  lib: {
46
- entry: {
47
- design: designEntry
48
- },
49
- formats,
50
- fileName: formatFileName
44
+ entry: isProd ? loaderEntry : entry,
45
+ formats: ["es"],
46
+ cssFileName: "index.min",
47
+ fileName: "[name].[format].min"
51
48
  }
49
+ },
50
+ plugins: [...(0, _imnportExternalPlugin.importMapExternalPlugin)(_constants.DEFAULT_EXTERNAL)
51
+ // federation({
52
+ // name: 'gct-paas-plugin',
53
+ // filename: 'remoteEntry.js',
54
+ // dts: false,
55
+ // manifest: true,
56
+ // exposes: {
57
+ // '.': './src/index.ts',
58
+ // },
59
+ // }),
60
+ ]
61
+ }), opts);
62
+ }
63
+ function defineDesignPluginViteConfig(opts = {}) {
64
+ return (0, _vite.mergeConfig)(definePluginViteConfig({
65
+ server: {
66
+ port: 7001,
67
+ host: "0.0.0.0",
68
+ allowedHosts: true
52
69
  }
53
70
  }), opts);
54
71
  }
55
72
  function defineMobilePluginViteConfig(opts = {}) {
56
- const cwd = process.cwd();
57
- const mobileEntry = _path.default.resolve(cwd, "src/index.ts");
58
- return (0, _vite.mergeConfig)((0, _viteBaseConfig.defineViteBaseConfig)({
59
- build: {
60
- emptyOutDir: false,
61
- rollupOptions: {
62
- output: {
63
- assetFileNames: assetInfo => {
64
- return assetFileNames(assetInfo, "mobile");
65
- }
66
- }
67
- },
68
- lib: {
69
- entry: {
70
- mobile: mobileEntry
71
- },
72
- formats,
73
- fileName: formatFileName
74
- }
73
+ return (0, _vite.mergeConfig)(definePluginViteConfig({
74
+ server: {
75
+ port: 7002,
76
+ host: "0.0.0.0",
77
+ allowedHosts: true
78
+ }
79
+ }), opts);
80
+ }
81
+ function definePadPluginViteConfig(opts = {}) {
82
+ return (0, _vite.mergeConfig)(definePluginViteConfig({
83
+ server: {
84
+ port: 7003,
85
+ host: "0.0.0.0",
86
+ allowedHosts: true
75
87
  }
76
88
  }), opts);
77
89
  }
78
90
  function defineWebPluginViteConfig(opts = {}) {
79
- const cwd = process.cwd();
80
- const webEntry = _path.default.resolve(cwd, "src/index.ts");
81
- return (0, _vite.mergeConfig)((0, _viteBaseConfig.defineViteBaseConfig)({
82
- build: {
83
- emptyOutDir: false,
84
- rollupOptions: {
85
- output: {
86
- assetFileNames: assetInfo => {
87
- return assetFileNames(assetInfo, "web");
88
- }
89
- }
90
- },
91
- lib: {
92
- entry: {
93
- web: webEntry
94
- },
95
- formats,
96
- fileName: formatFileName
97
- }
91
+ return (0, _vite.mergeConfig)(definePluginViteConfig({
92
+ server: {
93
+ port: 7004,
94
+ host: "0.0.0.0",
95
+ allowedHosts: true
98
96
  }
99
97
  }), opts);
100
98
  }
@@ -1,25 +1,41 @@
1
1
  import { UserConfig } from 'vite';
2
2
  /**
3
- * 设计端构建配置
3
+ * 插件构建配置
4
4
  *
5
5
  * @export
6
6
  * @param {UserConfig} [opts={}]
7
- * @returns {*} {UserConfig}
7
+ * @return {*} {UserConfig}
8
+ */
9
+ export declare function definePluginViteConfig(opts?: UserConfig): UserConfig;
10
+ /**
11
+ * 设计界面插件构建配置
12
+ *
13
+ * @export
14
+ * @param {UserConfig} [opts={}]
15
+ * @return {*} {UserConfig}
8
16
  */
9
17
  export declare function defineDesignPluginViteConfig(opts?: UserConfig): UserConfig;
10
18
  /**
11
- * 移动端插件构建配置
19
+ * 设计界面插件构建配置
12
20
  *
13
21
  * @export
14
22
  * @param {UserConfig} [opts={}]
15
- * @returns {*} {UserConfig}
23
+ * @return {*} {UserConfig}
16
24
  */
17
25
  export declare function defineMobilePluginViteConfig(opts?: UserConfig): UserConfig;
18
26
  /**
19
- * 网页端插件构建配置
27
+ * 设计界面插件构建配置
28
+ *
29
+ * @export
30
+ * @param {UserConfig} [opts={}]
31
+ * @return {*} {UserConfig}
32
+ */
33
+ export declare function definePadPluginViteConfig(opts?: UserConfig): UserConfig;
34
+ /**
35
+ * 设计界面插件构建配置
20
36
  *
21
37
  * @export
22
38
  * @param {UserConfig} [opts={}]
23
- * @returns {*} {UserConfig}
39
+ * @return {*} {UserConfig}
24
40
  */
25
41
  export declare function defineWebPluginViteConfig(opts?: UserConfig): UserConfig;
@@ -11,21 +11,23 @@ var _vite2 = _interopRequireDefault(require("unocss/vite"));
11
11
  var _path = _interopRequireDefault(require("path"));
12
12
  var _fsExtra = _interopRequireDefault(require("fs-extra"));
13
13
  var _util = require("../../util/index.cjs");
14
+ var _constants = require("../../constants/index.cjs");
15
+ var _injectImportmapPlugin = require("../vite-plugins/inject-importmap-plugin.cjs");
14
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
17
  function defineProjectViteConfig(opts = {}) {
16
18
  return (0, _vite.defineConfig)(async () => {
17
19
  const cwd = process.cwd();
18
20
  const pkg = _fsExtra.default.readJsonSync(_path.default.resolve(cwd, "package.json"));
19
21
  return (0, _util.mergeConfig)({
20
- base: "./",
21
22
  resolve: {
22
23
  alias: {
23
- "@": _path.default.resolve(cwd, "src")
24
+ "@/*": "src/*"
24
25
  }
25
26
  },
27
+ base: "./",
26
28
  build: {
27
- rollupOptions: {
28
- external: ["axios", "dayjs", "pinia", "lodash-es", "vue", "vue-i18n", "vue-router", "ant-design-vue", "pinia", "systemjs", "@gct-paas/api", "@gct-paas/core", "@gct-paas/core-mobile", "@gct-paas/core-web", "@gct-paas/core-pad", "@gct-paas/design", "@gct-paas/design-mobile", "@gct-paas/design-web", "@gct-paas/design-pad", "@gct-paas/render", "@gct-paas/render-mobile", "@gct-paas/render-pad", "@gct-paas/render-web", "@gct-paas/schema", "@gct-paas/scss", "@gct-paas/formula-editor", "@gct-paas/platform-icons"]
29
+ rolldownOptions: {
30
+ external: _constants.DEFAULT_EXTERNAL
29
31
  }
30
32
  },
31
33
  css: {
@@ -54,7 +56,7 @@ function defineProjectViteConfig(opts = {}) {
54
56
  },
55
57
  plugins: [(0, _pluginVue.default)(), (0, _pluginVueJsx.default)(), (0, _vite2.default)({
56
58
  hmrTopLevelAwait: false
57
- })]
59
+ }), (0, _injectImportmapPlugin.injectImportMapPlugin)()]
58
60
  }, opts);
59
61
  });
60
62
  }
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.importMapExternalPlugin = importMapExternalPlugin;
7
+ function importMapExternalPlugin(modules) {
8
+ return [{
9
+ name: "gct-vite-plugin:import-external",
10
+ apply: "serve",
11
+ enforce: "pre",
12
+ resolveId(id) {
13
+ if (modules.includes(id)) {
14
+ return {
15
+ id,
16
+ external: true
17
+ };
18
+ }
19
+ }
20
+ }];
21
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * 在 dev 模式下:告诉 Rollup/Rolldown 指定模块是 external
3
+ *
4
+ * @export
5
+ * @param {string[]} modules
6
+ * @return {*}
7
+ */
8
+ export declare function importMapExternalPlugin(modules: string[]): {
9
+ name: string;
10
+ apply: "serve";
11
+ enforce: "pre";
12
+ resolveId(id: string): {
13
+ id: string;
14
+ external: boolean;
15
+ } | undefined;
16
+ }[];