@elliemae/pui-cli 7.27.1 → 8.0.0-next.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 (128) hide show
  1. package/README.md +0 -1
  2. package/{dist/esm/typescript/app.tsconfig.json → app.tsconfig.json} +2 -2
  3. package/dist/cjs/cli.js +14 -12
  4. package/dist/cjs/commands/build.js +8 -7
  5. package/dist/cjs/commands/codemod.js +6 -8
  6. package/dist/cjs/commands/gendoc.js +1 -1
  7. package/dist/cjs/commands/lint.js +20 -22
  8. package/dist/cjs/commands/pack.js +24 -19
  9. package/dist/cjs/commands/start.js +10 -9
  10. package/dist/cjs/commands/storybook.js +18 -17
  11. package/dist/cjs/commands/test.js +36 -30
  12. package/dist/cjs/commands/tscheck.js +8 -7
  13. package/dist/cjs/commands/utils.js +11 -6
  14. package/dist/cjs/commands/version.js +20 -18
  15. package/dist/cjs/commands/vitest.js +31 -27
  16. package/dist/cjs/index.cjs +0 -2
  17. package/dist/cjs/index.js +2 -2
  18. package/dist/cjs/lint-config/eslint/common.cjs +88 -85
  19. package/dist/cjs/lint-config/stylelint.config.cjs +1 -1
  20. package/dist/cjs/monorepo/delete-merged-tags.js +1 -1
  21. package/dist/cjs/monorepo/set-registry-version.js +2 -2
  22. package/dist/cjs/monorepo/set-workspace-version.js +2 -2
  23. package/dist/cjs/monorepo/utils.js +54 -0
  24. package/dist/cjs/release.config.cjs +0 -7
  25. package/dist/cjs/server/appRoutes.js +75 -0
  26. package/dist/cjs/server/csp.js +3 -4
  27. package/dist/cjs/server/index.js +13 -11
  28. package/dist/cjs/server/middlewares.js +7 -4
  29. package/dist/cjs/server/utils.js +1 -1
  30. package/dist/cjs/testing/setup-test-env.js +5 -24
  31. package/dist/cjs/testing/vitest.config.js +1 -1
  32. package/dist/cjs/transpile/esbuild.js +1 -1
  33. package/dist/cjs/utils.js +50 -0
  34. package/dist/cjs/webpack/helpers.js +3 -3
  35. package/dist/cjs/webpack/webpack.base.babel.js +3 -12
  36. package/dist/cjs/webpack/webpack.dev.babel.js +10 -7
  37. package/dist/cjs/webpack/webpack.lib.base.babel.js +4 -7
  38. package/dist/cjs/webpack/webpack.lib.dev.babel.js +1 -0
  39. package/dist/cjs/webpack/webpack.lib.prod.babel.js +1 -1
  40. package/dist/cjs/webpack/webpack.prod.babel.js +8 -16
  41. package/dist/cjs/webpack/webpack.storybook.js +27 -20
  42. package/dist/esm/cli.js +14 -12
  43. package/dist/esm/commands/build.js +8 -7
  44. package/dist/esm/commands/codemod.js +6 -8
  45. package/dist/esm/commands/gendoc.js +1 -1
  46. package/dist/esm/commands/lint.js +26 -22
  47. package/dist/esm/commands/pack.js +31 -19
  48. package/dist/esm/commands/start.js +10 -9
  49. package/dist/esm/commands/storybook.js +18 -17
  50. package/dist/esm/commands/test.js +36 -30
  51. package/dist/esm/commands/tscheck.js +8 -7
  52. package/dist/esm/commands/utils.js +10 -5
  53. package/dist/esm/commands/version.js +20 -18
  54. package/dist/esm/commands/vitest.js +31 -27
  55. package/dist/esm/index.cjs +0 -2
  56. package/dist/esm/index.js +1 -1
  57. package/dist/esm/lint-config/eslint/common.cjs +88 -85
  58. package/dist/esm/lint-config/stylelint.config.cjs +1 -1
  59. package/dist/esm/monorepo/delete-merged-tags.js +1 -1
  60. package/dist/esm/monorepo/set-registry-version.js +2 -2
  61. package/dist/esm/monorepo/set-workspace-version.js +2 -2
  62. package/dist/esm/monorepo/utils.js +24 -0
  63. package/dist/esm/release.config.cjs +0 -7
  64. package/dist/{cjs/server/app-routes.cjs → esm/server/appRoutes.js} +26 -23
  65. package/dist/esm/server/csp.js +3 -4
  66. package/dist/esm/server/index.js +13 -11
  67. package/dist/esm/server/middlewares.js +7 -4
  68. package/dist/esm/server/utils.js +1 -1
  69. package/dist/esm/testing/setup-test-env.js +5 -2
  70. package/dist/esm/testing/vitest.config.js +1 -1
  71. package/dist/esm/transpile/esbuild.js +1 -1
  72. package/dist/esm/utils.js +20 -0
  73. package/dist/esm/webpack/helpers.js +3 -3
  74. package/dist/esm/webpack/webpack.base.babel.js +3 -12
  75. package/dist/esm/webpack/webpack.dev.babel.js +10 -7
  76. package/dist/esm/webpack/webpack.lib.base.babel.js +4 -7
  77. package/dist/esm/webpack/webpack.lib.dev.babel.js +1 -0
  78. package/dist/esm/webpack/webpack.lib.prod.babel.js +2 -2
  79. package/dist/esm/webpack/webpack.prod.babel.js +9 -17
  80. package/dist/esm/webpack/webpack.storybook.js +27 -20
  81. package/dist/types/commands/build.d.ts +6 -14
  82. package/dist/types/commands/codemod.d.ts +6 -6
  83. package/dist/types/commands/gendoc.d.ts +2 -6
  84. package/dist/types/commands/lint.d.ts +8 -29
  85. package/dist/types/commands/pack.d.ts +8 -26
  86. package/dist/types/commands/start.d.ts +6 -13
  87. package/dist/types/commands/storybook.d.ts +8 -27
  88. package/dist/types/commands/test.d.ts +11 -39
  89. package/dist/types/commands/tscheck.d.ts +5 -14
  90. package/dist/types/commands/utils.d.ts +11 -11
  91. package/dist/types/commands/version.d.ts +9 -28
  92. package/dist/types/commands/vitest.d.ts +10 -35
  93. package/dist/types/index.d.cts +1 -2
  94. package/dist/types/index.d.ts +11 -11
  95. package/dist/types/lint-config/eslint/common.d.cts +58 -55
  96. package/dist/types/lint-config/eslint/non-react.d.cts +34 -31
  97. package/dist/types/lint-config/eslint/react.d.cts +58 -55
  98. package/dist/types/lint-config/eslint/typescript/non-react.d.cts +28 -28
  99. package/dist/types/lint-config/eslint/typescript/react.d.cts +52 -52
  100. package/dist/types/lint-config/stylelint.config.d.cts +0 -1
  101. package/dist/types/monorepo/delete-merged-tags.d.ts +1 -1
  102. package/dist/types/monorepo/set-registry-version.d.ts +1 -1
  103. package/dist/types/monorepo/set-workspace-version.d.ts +1 -1
  104. package/dist/types/monorepo/utils.d.ts +1 -0
  105. package/dist/types/release.config.d.cts +0 -2
  106. package/dist/types/server/appRoutes.d.ts +2 -0
  107. package/dist/types/server/csp.d.ts +12 -9
  108. package/dist/types/server/logger.d.ts +7 -4
  109. package/dist/types/server/middlewares.d.ts +6 -2
  110. package/dist/types/server/utils.d.ts +3 -3
  111. package/dist/types/testing/jest.config.d.cts +10 -10
  112. package/dist/types/testing/jest.node.config.d.cts +10 -10
  113. package/dist/types/testing/vitest.config.d.ts +1 -1
  114. package/dist/types/utils.d.ts +4 -0
  115. package/dist/types/webpack/helpers.d.ts +19 -18
  116. package/dist/types/webpack/webpack.base.babel.d.ts +3 -106
  117. package/dist/types/webpack/webpack.dev.babel.d.ts +2 -1
  118. package/dist/types/webpack/webpack.lib.base.babel.d.ts +3 -102
  119. package/dist/types/webpack/webpack.lib.dev.babel.d.ts +3 -101
  120. package/dist/types/webpack/webpack.lib.prod.babel.d.ts +2 -101
  121. package/dist/types/webpack/webpack.prod.babel.d.ts +3 -2
  122. package/dist/types/webpack/webpack.storybook.d.ts +5 -4
  123. package/{dist/cjs/typescript/library.tsconfig.json → library.tsconfig.json} +3 -3
  124. package/package.json +74 -51
  125. package/dist/cjs/typescript/app.tsconfig.json +0 -23
  126. package/dist/esm/server/app-routes.cjs +0 -42
  127. package/dist/esm/typescript/library.tsconfig.json +0 -23
  128. package/dist/types/server/app-routes.d.cts +0 -1
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+ var utils_exports = {};
30
+ __export(utils_exports, {
31
+ basePath: () => basePath,
32
+ getAppConfig: () => getAppConfig,
33
+ isApp: () => isApp
34
+ });
35
+ module.exports = __toCommonJS(utils_exports);
36
+ var import_node_fs = __toESM(require("node:fs"), 1);
37
+ var import_node_path = __toESM(require("node:path"), 1);
38
+ const basePath = (process.env.BASE_PATH || "/").replace(/\/?$/, "/");
39
+ const isApp = () => import_node_fs.default.existsSync(import_node_path.default.join(process.cwd(), "app"));
40
+ const getAppConfig = () => {
41
+ const appConfigPath = import_node_path.default.join(
42
+ process.cwd(),
43
+ isApp() ? "app" : "lib",
44
+ "app.config.json"
45
+ );
46
+ if (!import_node_fs.default.existsSync(appConfigPath))
47
+ return "{}";
48
+ const appConfig = import_node_fs.default.readFileSync(appConfigPath);
49
+ return appConfig || "{}";
50
+ };
@@ -51,8 +51,8 @@ var import_node_fs = __toESM(require("node:fs"), 1);
51
51
  var import_lodash = __toESM(require("lodash"), 1);
52
52
  var import_compression_webpack_plugin = __toESM(require("compression-webpack-plugin"), 1);
53
53
  var import_zlib = __toESM(require("zlib"), 1);
54
- var import_utils = require("../monorepo/utils.cjs");
55
- var import_utils2 = require("../utils.cjs");
54
+ var import_utils = require("../monorepo/utils.js");
55
+ var import_utils2 = require("../utils.js");
56
56
  let pathSep = import_node_path.default.sep;
57
57
  if (pathSep === "\\")
58
58
  pathSep = "\\\\";
@@ -74,7 +74,7 @@ const excludeNodeModulesExcept = (modules) => {
74
74
  };
75
75
  const getLibraryName = () => {
76
76
  const packageJson = JSON.parse(
77
- import_node_fs.default.readFileSync(import_node_path.default.join(process.cwd(), "package.json"))
77
+ import_node_fs.default.readFileSync(import_node_path.default.join(process.cwd(), "package.json")).toString()
78
78
  );
79
79
  const libraryName = packageJson ? packageJson.name : process.env.LIBRARY_NAME || "mylibrary";
80
80
  const modifiedLibName = `emui-${libraryName.replace("@elliemae/", "").replace("pui-", "")}`;
@@ -33,10 +33,10 @@ __export(webpack_base_babel_exports, {
33
33
  module.exports = __toCommonJS(webpack_base_babel_exports);
34
34
  var import_node_path = __toESM(require("node:path"), 1);
35
35
  var import_webpack = __toESM(require("webpack"), 1);
36
+ var import_webpack_dev_server = require("webpack-dev-server");
36
37
  var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
37
38
  var import_postcss_preset_env = __toESM(require("postcss-preset-env"), 1);
38
39
  var import_copy_webpack_plugin = __toESM(require("copy-webpack-plugin"), 1);
39
- var import_duplicate_package_checker_webpack_plugin = __toESM(require("duplicate-package-checker-webpack-plugin"), 1);
40
40
  var import_moment_locales_webpack_plugin = __toESM(require("moment-locales-webpack-plugin"), 1);
41
41
  var import_webpack_manifest_plugin = require("webpack-manifest-plugin");
42
42
  var import_favicons_webpack_plugin = __toESM(require("favicons-webpack-plugin"), 1);
@@ -140,7 +140,6 @@ const plugins = [
140
140
  }
141
141
  ])
142
142
  }),
143
- new import_duplicate_package_checker_webpack_plugin.default(),
144
143
  new import_moment_locales_webpack_plugin.default({ localesToKeep: ["es-us"] }),
145
144
  new import_webpack_manifest_plugin.WebpackManifestPlugin({
146
145
  fileName: "./latest/manifest.json",
@@ -154,13 +153,7 @@ const plugins = [
154
153
  outputPath: "./latest/assets",
155
154
  logo: "./app/view/images/favicon.png",
156
155
  favicons: {
157
- developerName: "ICE MT",
158
- developerURL: null,
159
- // prevent retrieving from the nearest package.json
160
- icons: {
161
- coast: false,
162
- yandex: false
163
- }
156
+ developerName: "ICE MT"
164
157
  }
165
158
  })
166
159
  ];
@@ -186,7 +179,6 @@ const baseConfig = (options) => ({
186
179
  use: {
187
180
  loader: "esbuild-loader",
188
181
  options: {
189
- loader: "jsx",
190
182
  target: (0, import_browserslist_to_esbuild.default)()
191
183
  }
192
184
  }
@@ -200,7 +192,6 @@ const baseConfig = (options) => ({
200
192
  use: {
201
193
  loader: "esbuild-loader",
202
194
  options: {
203
- loader: "tsx",
204
195
  target: (0, import_browserslist_to_esbuild.default)()
205
196
  }
206
197
  }
@@ -266,7 +257,7 @@ const baseConfig = (options) => ({
266
257
  }
267
258
  ]
268
259
  },
269
- plugins: plugins.concat(options.plugins),
260
+ plugins: options.plugins ? plugins.concat(options.plugins) : plugins,
270
261
  resolve: {
271
262
  modules: [
272
263
  "node_modules",
@@ -38,14 +38,12 @@ var import_html_webpack_plugin = __toESM(require("html-webpack-plugin"), 1);
38
38
  var import_circular_dependency_plugin = __toESM(require("circular-dependency-plugin"), 1);
39
39
  var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
40
40
  var import_react_refresh_webpack_plugin = __toESM(require("@pmmmwh/react-refresh-webpack-plugin"), 1);
41
- var import_speed_measure_webpack_plugin = __toESM(require("speed-measure-webpack-plugin"), 1);
42
41
  var import_middlewares = require("../server/middlewares.js");
43
- var import_app_routes = require("../server/app-routes.cjs");
42
+ var import_appRoutes = require("../server/appRoutes.js");
44
43
  var import_helpers = require("./helpers.js");
45
44
  var import_webpack_base_babel = require("./webpack.base.babel.js");
46
45
  const import_meta = {};
47
46
  const __filename = (0, import_node_url.fileURLToPath)(import_meta.url);
48
- const smp = new import_speed_measure_webpack_plugin.default({ disable: !process.env.MEASURE });
49
47
  const {
50
48
  appVersion,
51
49
  buildPath,
@@ -146,12 +144,17 @@ const devConfig = {
146
144
  open: [basePath],
147
145
  port: process.env.PORT || "auto",
148
146
  setupMiddlewares: (middlewares, devServer) => {
149
- (0, import_middlewares.setupDefaultMiddlewares)(devServer.app);
150
- (0, import_app_routes.loadRoutes)(devServer.app);
147
+ if (devServer.app) {
148
+ (0, import_middlewares.setupDefaultMiddlewares)(devServer.app);
149
+ (0, import_appRoutes.loadRoutes)(devServer.app).then(() => {
150
+ }).catch((err) => {
151
+ console.error(err);
152
+ });
153
+ }
151
154
  return middlewares;
152
155
  }
153
156
  }
154
157
  };
155
- const config = smp.wrap((0, import_webpack_base_babel.baseConfig)(devConfig));
156
- config.plugins = config.plugins.concat([new import_react_refresh_webpack_plugin.default({})]);
158
+ const config = (0, import_webpack_base_babel.baseConfig)(devConfig);
159
+ config.plugins = config.plugins ? config.plugins.concat([new import_react_refresh_webpack_plugin.default({})]) : [];
157
160
  var webpack_dev_babel_default = config;
@@ -33,15 +33,15 @@ __export(webpack_lib_base_babel_exports, {
33
33
  module.exports = __toCommonJS(webpack_lib_base_babel_exports);
34
34
  var import_node_path = __toESM(require("node:path"), 1);
35
35
  var import_webpack = __toESM(require("webpack"), 1);
36
+ var import_webpack_dev_server = require("webpack-dev-server");
36
37
  var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
37
38
  var import_copy_webpack_plugin = __toESM(require("copy-webpack-plugin"), 1);
38
39
  var import_postcss_preset_env = __toESM(require("postcss-preset-env"), 1);
39
- var import_duplicate_package_checker_webpack_plugin = __toESM(require("duplicate-package-checker-webpack-plugin"), 1);
40
40
  var import_moment_locales_webpack_plugin = __toESM(require("moment-locales-webpack-plugin"), 1);
41
41
  var import_resolve_typescript_plugin = __toESM(require("resolve-typescript-plugin"), 1);
42
42
  var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"), 1);
43
43
  var import_helpers = require("./helpers.js");
44
- var import_utils = require("../utils.cjs");
44
+ var import_utils = require("../utils.js");
45
45
  const minicssLoader = {
46
46
  loader: import_mini_css_extract_plugin.default.loader,
47
47
  options: {}
@@ -64,7 +64,7 @@ const plugins = [
64
64
  CI: "false"
65
65
  }),
66
66
  new import_webpack.default.DefinePlugin({
67
- APP_CONFIG: (0, import_utils.getAppConfig)(true)
67
+ APP_CONFIG: (0, import_utils.getAppConfig)()
68
68
  }),
69
69
  /* eslint-disable indent */
70
70
  ...copyPluginPatterns.length > 0 ? [
@@ -73,7 +73,6 @@ const plugins = [
73
73
  })
74
74
  ] : [],
75
75
  /* eslint-enable indent */
76
- new import_duplicate_package_checker_webpack_plugin.default(),
77
76
  new import_webpack.default.optimize.LimitChunkCountPlugin({
78
77
  maxChunks: 1
79
78
  }),
@@ -104,7 +103,6 @@ const baseConfig = (options) => ({
104
103
  use: {
105
104
  loader: "esbuild-loader",
106
105
  options: {
107
- loader: "jsx",
108
106
  target: (0, import_browserslist_to_esbuild.default)()
109
107
  }
110
108
  }
@@ -119,7 +117,6 @@ const baseConfig = (options) => ({
119
117
  use: {
120
118
  loader: "esbuild-loader",
121
119
  options: {
122
- loader: "tsx",
123
120
  target: (0, import_browserslist_to_esbuild.default)()
124
121
  }
125
122
  }
@@ -191,7 +188,7 @@ const baseConfig = (options) => ({
191
188
  }
192
189
  ]
193
190
  },
194
- plugins: plugins.concat(options.plugins || []),
191
+ plugins: options.plugins ? plugins.concat(options.plugins || []) : plugins,
195
192
  resolve: {
196
193
  modules: [
197
194
  "node_modules",
@@ -33,6 +33,7 @@ __export(webpack_lib_dev_babel_exports, {
33
33
  module.exports = __toCommonJS(webpack_lib_dev_babel_exports);
34
34
  var import_node_path = __toESM(require("node:path"), 1);
35
35
  var import_webpack = __toESM(require("webpack"), 1);
36
+ var import_webpack_dev_server = require("webpack-dev-server");
36
37
  var import_fast_glob = __toESM(require("fast-glob"), 1);
37
38
  var import_circular_dependency_plugin = __toESM(require("circular-dependency-plugin"), 1);
38
39
  var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
@@ -69,7 +69,7 @@ const prodConfig = {
69
69
  moduleIds: "deterministic",
70
70
  minimize: true,
71
71
  minimizer: [
72
- new import_esbuild_loader.ESBuildMinifyPlugin({
72
+ new import_esbuild_loader.EsbuildPlugin({
73
73
  target: (0, import_browserslist_to_esbuild.default)(),
74
74
  css: true
75
75
  })
@@ -37,7 +37,6 @@ var import_workbox_webpack_plugin = require("workbox-webpack-plugin");
37
37
  var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"), 1);
38
38
  var import_webpack_bundle_analyzer = require("webpack-bundle-analyzer");
39
39
  var import_esbuild_loader = require("esbuild-loader");
40
- var import_speed_measure_webpack_plugin = __toESM(require("speed-measure-webpack-plugin"), 1);
41
40
  var import_browserslist_to_esbuild = __toESM(require("browserslist-to-esbuild"), 1);
42
41
  var import_webpack_base_babel = require("./webpack.base.babel.js");
43
42
  var import_helpers = require("./helpers.js");
@@ -59,7 +58,7 @@ const getProdConfig = ({ latestVersion = true } = {}) => {
59
58
  optimization: {
60
59
  moduleIds: "deterministic",
61
60
  minimizer: [
62
- new import_esbuild_loader.ESBuildMinifyPlugin({
61
+ new import_esbuild_loader.EsbuildPlugin({
63
62
  target: (0, import_browserslist_to_esbuild.default)(),
64
63
  css: true
65
64
  })
@@ -82,6 +81,10 @@ const getProdConfig = ({ latestVersion = true } = {}) => {
82
81
  },
83
82
  plugins: [
84
83
  ...(0, import_helpers.getCompressionPlugins)(),
84
+ new import_mini_css_extract_plugin.default({
85
+ filename: "latest/css/[name].[contenthash].css",
86
+ chunkFilename: "latest/css/[name].[contenthash].chunk.css"
87
+ }),
85
88
  new import_webpack_bundle_analyzer.BundleAnalyzerPlugin({
86
89
  analyzerMode: "static",
87
90
  reportFilename: import_node_path.default.join(process.cwd(), "reports/bundle-stats.html"),
@@ -134,17 +137,6 @@ const htmlWebpackPlugin = new import_html_webpack_plugin.default({
134
137
  }
135
138
  });
136
139
  const config = (0, import_webpack_base_babel.baseConfig)(getProdConfig());
137
- config.plugins.push(htmlWebpackPlugin);
138
- const addSMPPlugin = (webpackConfig) => {
139
- const smpConfig = new import_speed_measure_webpack_plugin.default({
140
- disable: !process.env.MEASURE
141
- }).wrap(webpackConfig);
142
- smpConfig.plugins.push(
143
- new import_mini_css_extract_plugin.default({
144
- filename: "latest/css/[name].[contenthash].css",
145
- chunkFilename: "latest/css/[name].[contenthash].chunk.css"
146
- })
147
- );
148
- return smpConfig;
149
- };
150
- var webpack_prod_babel_default = addSMPPlugin(config);
140
+ if (config.plugins)
141
+ config.plugins.push(htmlWebpackPlugin);
142
+ var webpack_prod_babel_default = config;
@@ -37,7 +37,7 @@ var import_mini_css_extract_plugin = __toESM(require("mini-css-extract-plugin"),
37
37
  var import_copy_webpack_plugin = __toESM(require("copy-webpack-plugin"), 1);
38
38
  var import_resolve_typescript_plugin = __toESM(require("resolve-typescript-plugin"), 1);
39
39
  var import_helpers = require("./helpers.js");
40
- var import_utils = require("../utils.cjs");
40
+ var import_utils = require("../utils.js");
41
41
  const IS_APP = (0, import_utils.isApp)();
42
42
  const CWD = process.cwd();
43
43
  const getAdditionalPlugins = () => [
@@ -84,32 +84,39 @@ const getModuleRules = () => [
84
84
  type: "asset/resource"
85
85
  }
86
86
  ];
87
- const webpackFinal = async (config, { configType }) => {
87
+ const webpackFinal = (config, { configType }) => {
88
88
  const isProd = configType === "PRODUCTION";
89
- const fileLoaderRule = config.module.rules.find(
89
+ const fileLoaderRule = config?.module?.rules?.find?.(
90
90
  (rule) => rule.test?.test?.(".svg")
91
91
  );
92
- fileLoaderRule.exclude = /\.svg$/i;
93
- config.module.rules.unshift(...getModuleRules());
94
- config.plugins.push(...getAdditionalPlugins());
92
+ if (fileLoaderRule)
93
+ fileLoaderRule.exclude = /\.svg$/i;
94
+ config?.module?.rules?.unshift(...getModuleRules());
95
+ config?.plugins?.push(...getAdditionalPlugins());
95
96
  if (isProd) {
96
- config.plugins = config.plugins.concat((0, import_helpers.getCompressionPlugins)());
97
+ config.plugins = config?.plugins?.concat((0, import_helpers.getCompressionPlugins)());
98
+ }
99
+ if (config.resolve) {
100
+ config.resolve.alias = { ...config?.resolve?.alias, ...(0, import_helpers.getAlias)() };
101
+ config.resolve.fallback = { ...config.resolve.fallback, crypto: false };
102
+ config.resolve.extensions?.push(".svg");
103
+ config.resolve.plugins = [
104
+ ...config.resolve.plugins || [],
105
+ new import_resolve_typescript_plugin.default({})
106
+ ];
97
107
  }
98
- config.resolve.alias = { ...config.resolve.alias, ...(0, import_helpers.getAlias)() };
99
- config.resolve.fallback = { ...config.resolve.fallback, crypto: false };
100
- config.resolve.extensions.push(".svg");
101
- config.resolve.plugins = [
102
- ...config.resolve.plugins || [],
103
- new import_resolve_typescript_plugin.default({})
104
- ];
105
108
  config.externals = config.externals || {};
106
- config.externals["@elliemae/pui-user-monitoring"] = "emuiUserMonitoring";
107
- config.externals["@elliemae/pui-app-loader"] = "emuiAppLoader";
108
- config.externals["@elliemae/pui-diagnostics"] = "emuiDiagnostics";
109
+ if (config.externals) {
110
+ config.externals["@elliemae/pui-user-monitoring"] = "emuiUserMonitoring";
111
+ config.externals["@elliemae/pui-app-loader"] = "emuiAppLoader";
112
+ config.externals["@elliemae/pui-diagnostics"] = "emuiDiagnostics";
113
+ }
109
114
  return config;
110
115
  };
111
- const managerWebpack = async (config) => {
112
- config.plugins = config.plugins.concat((0, import_helpers.getCompressionPlugins)());
113
- config.resolve.alias = { ...config.resolve.alias, ...(0, import_helpers.getAlias)() };
116
+ const managerWebpack = (config) => {
117
+ if (config.plugins)
118
+ config.plugins = config.plugins.concat((0, import_helpers.getCompressionPlugins)());
119
+ if (config.resolve)
120
+ config.resolve.alias = { ...config.resolve.alias, ...(0, import_helpers.getAlias)() };
114
121
  return config;
115
122
  };
package/dist/esm/cli.js CHANGED
@@ -19,15 +19,17 @@ import { tscheckCmd } from "./commands/tscheck.js";
19
19
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
20
20
  envConfig();
21
21
  process.env.PATH += path.delimiter + path.join(__dirname, "..", "node_modules", ".bin");
22
- yargs(hideBin(process.argv)).command(buildCmd).help().argv;
23
- yargs(hideBin(process.argv)).command(packCmd).help().argv;
24
- yargs(hideBin(process.argv)).command(startCmd).help().argv;
25
- yargs(hideBin(process.argv)).command(testCmd).help().argv;
26
- yargs(hideBin(process.argv)).command(lintCmd).help().argv;
27
- yargs(hideBin(process.argv)).command(gendocCmd).help().argv;
28
- yargs(hideBin(process.argv)).command(codemodCmd).help().argv;
29
- yargs(hideBin(process.argv)).command(storybookCmd).help().argv;
30
- yargs(hideBin(process.argv)).command(vitestCmd).help().argv;
31
- yargs(hideBin(process.argv)).command(versionCmd).help().argv;
32
- yargs(hideBin(process.argv)).command(tscheckCmd).help().argv;
33
- notifyUpdates();
22
+ (async () => {
23
+ await yargs(hideBin(process.argv)).command(buildCmd).help().argv;
24
+ await yargs(hideBin(process.argv)).command(packCmd).help().argv;
25
+ await yargs(hideBin(process.argv)).command(startCmd).help().argv;
26
+ await yargs(hideBin(process.argv)).command(testCmd).help().argv;
27
+ await yargs(hideBin(process.argv)).command(lintCmd).help().argv;
28
+ await yargs(hideBin(process.argv)).command(gendocCmd).help().argv;
29
+ await yargs(hideBin(process.argv)).command(codemodCmd).help().argv;
30
+ await yargs(hideBin(process.argv)).command(storybookCmd).help().argv;
31
+ await yargs(hideBin(process.argv)).command(vitestCmd).help().argv;
32
+ await yargs(hideBin(process.argv)).command(versionCmd).help().argv;
33
+ await yargs(hideBin(process.argv)).command(tscheckCmd).help().argv;
34
+ await notifyUpdates();
35
+ })();
@@ -30,11 +30,17 @@ const buildService = async () => {
30
30
  srcdir: "./app",
31
31
  outdir: "build",
32
32
  esmOnly: true,
33
- target: TARGETS.node,
33
+ target: [TARGETS.node],
34
34
  injectReactShim: false,
35
35
  skipNestedPackageJSON: true
36
36
  });
37
37
  };
38
+ const cmdArgs = {
39
+ service: {
40
+ boolean: true,
41
+ default: false
42
+ }
43
+ };
38
44
  const buildCmd = {
39
45
  handler: async ({ service = false }) => {
40
46
  try {
@@ -51,12 +57,7 @@ const buildCmd = {
51
57
  },
52
58
  command: "build",
53
59
  describe: "builds front end application or NodeJS service",
54
- builder: {
55
- service: {
56
- type: "boolean",
57
- default: false
58
- }
59
- }
60
+ builder: (yargsRef) => yargsRef.options(cmdArgs).help()
60
61
  };
61
62
  export {
62
63
  buildCmd
@@ -2,7 +2,7 @@ import yargs from "yargs";
2
2
  import { exec, logInfo, logError, logSuccess } from "./utils.js";
3
3
  const transform = async (argv) => {
4
4
  logInfo("Code modification in-progress...");
5
- exec(`jscodeshift --ignore-file=.gitignore -t ${argv.transform} .`);
5
+ await exec(`jscodeshift --ignore-file=.gitignore -t ${argv.transform} .`);
6
6
  };
7
7
  const codemodCmd = {
8
8
  handler: async (argv) => {
@@ -16,13 +16,11 @@ const codemodCmd = {
16
16
  },
17
17
  command: "codemod <transform>",
18
18
  describe: "Transforms code",
19
- builder: (yargsRef) => {
20
- yargsRef.positional("transform", {
21
- describe: "path to the transform file. Can be either a local path or url",
22
- type: "string",
23
- default: "./transform.js"
24
- });
25
- }
19
+ builder: (yargsRef) => yargsRef.positional("transform", {
20
+ describe: "path to the transform file. Can be either a local path or url",
21
+ string: true,
22
+ default: "./transform.js"
23
+ }).help()
26
24
  };
27
25
  export {
28
26
  codemodCmd
@@ -19,7 +19,7 @@ const gendocCmd = {
19
19
  },
20
20
  command: "gendoc",
21
21
  describe: "Builds documentation from source files",
22
- builder: {}
22
+ builder: (yargsRef) => yargsRef.options({})
23
23
  };
24
24
  export {
25
25
  gendocCmd
@@ -1,7 +1,12 @@
1
1
  import path from "node:path";
2
2
  import yargs from "yargs";
3
- import { exec, logError, logSuccess, getCIEnv } from "./utils.js";
4
- import { isTypeScriptEnabled } from "../utils.cjs";
3
+ import {
4
+ exec,
5
+ logError,
6
+ logSuccess,
7
+ getCIEnv,
8
+ isTypeScriptEnabled
9
+ } from "./utils.js";
5
10
  const lintCSS = async (fix = false) => {
6
11
  const fixIssues = fix ? "--fix" : "";
7
12
  await exec(
@@ -17,6 +22,23 @@ const lintJS = async (fix = false) => {
17
22
  `eslint ${!getCIEnv() ? "--color" : "--no-color"} ${fixIssues} .`
18
23
  );
19
24
  };
25
+ const cmdArgs = {
26
+ css: {
27
+ boolean: true,
28
+ alias: "css",
29
+ default: true
30
+ },
31
+ js: {
32
+ boolean: true,
33
+ alias: "js",
34
+ default: true
35
+ },
36
+ fix: {
37
+ boolean: true,
38
+ alias: "fix",
39
+ default: false
40
+ }
41
+ };
20
42
  const lintCmd = {
21
43
  handler: async (argv) => {
22
44
  if (argv.js) {
@@ -29,7 +51,7 @@ const lintCmd = {
29
51
  } catch (err) {
30
52
  logError("JS linting failed");
31
53
  yargs().exit(-1, err);
32
- return -1;
54
+ return;
33
55
  }
34
56
  }
35
57
  if (argv.css) {
@@ -40,30 +62,12 @@ const lintCmd = {
40
62
  } catch (err) {
41
63
  logError("CSS linting failed");
42
64
  yargs().exit(-1, err);
43
- return -1;
44
65
  }
45
66
  }
46
- return 0;
47
67
  },
48
68
  command: "lint [options]",
49
69
  describe: "lints application code",
50
- builder: {
51
- css: {
52
- alias: "css",
53
- type: "boolean",
54
- default: true
55
- },
56
- js: {
57
- alias: "js",
58
- type: "boolean",
59
- default: true
60
- },
61
- fix: {
62
- alias: "fix",
63
- type: "boolean",
64
- default: false
65
- }
66
- }
70
+ builder: (yargsRef) => yargsRef.options(cmdArgs).help()
67
71
  };
68
72
  export {
69
73
  lintCmd
@@ -1,8 +1,14 @@
1
1
  import path from "node:path";
2
2
  import { fileURLToPath } from "node:url";
3
3
  import yargs from "yargs";
4
- import { exec, logInfo, logError, logSuccess, getCIEnv } from "./utils.js";
5
- import { isTypeScriptEnabled } from "../utils.cjs";
4
+ import {
5
+ exec,
6
+ logInfo,
7
+ logError,
8
+ logSuccess,
9
+ getCIEnv,
10
+ isTypeScriptEnabled
11
+ } from "./utils.js";
6
12
  import { esBuild } from "../transpile/esbuild.js";
7
13
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
8
14
  const compileTypeScript = async () => {
@@ -26,7 +32,11 @@ const webBuild = async (productionBuild) => {
26
32
  );
27
33
  logInfo("Building source files for browser environment completed...");
28
34
  };
29
- const pack = async ({ production, target, srcPath }) => {
35
+ const pack = async ({
36
+ production,
37
+ target,
38
+ srcPath
39
+ }) => {
30
40
  logInfo("Build in-progress...");
31
41
  await exec("rimraf ./dist");
32
42
  if (isTypeScriptEnabled()) {
@@ -40,6 +50,23 @@ const pack = async ({ production, target, srcPath }) => {
40
50
  logInfo("Building source files for nodejs environment completed.");
41
51
  }
42
52
  };
53
+ const cmdArgs = {
54
+ production: {
55
+ boolean: true,
56
+ alias: "p",
57
+ default: false
58
+ },
59
+ target: {
60
+ string: true,
61
+ alias: "t",
62
+ default: "",
63
+ description: "target environment where this library will be used. allowed values are web, node. by default libraries will be compiled for both web and nodejs environments"
64
+ },
65
+ srcPath: {
66
+ string: true,
67
+ default: "./lib"
68
+ }
69
+ };
43
70
  const packCmd = {
44
71
  handler: async (argv) => {
45
72
  try {
@@ -52,22 +79,7 @@ const packCmd = {
52
79
  },
53
80
  command: "pack",
54
81
  describe: "builds library",
55
- builder: {
56
- production: {
57
- alias: "p",
58
- type: "boolean",
59
- default: false
60
- },
61
- target: {
62
- alias: "t",
63
- type: "string",
64
- description: "target environment where this library will be used. allowed values are web, node. by default libraries will be compiled for both web and nodejs environments"
65
- },
66
- srcPath: {
67
- type: "string",
68
- default: "./lib"
69
- }
70
- }
82
+ builder: (yargsRef) => yargsRef.options(cmdArgs).help()
71
83
  };
72
84
  export {
73
85
  packCmd
@@ -5,9 +5,9 @@ import { exec, logError, logSuccess, isApp } from "./utils.js";
5
5
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
6
  const startProdServer = async () => {
7
7
  await exec(
8
- `cross-env NODE_ENV=production ts-node ${path.resolve(
8
+ `cross-env NODE_ENV=production ts-node --esm ${path.resolve(
9
9
  __dirname,
10
- "../server"
10
+ "../server/index.js"
11
11
  )} --color always`
12
12
  );
13
13
  };
@@ -20,6 +20,13 @@ const startDevServer = async () => {
20
20
  )}`
21
21
  );
22
22
  };
23
+ const cmdArgs = {
24
+ prod: {
25
+ boolean: true,
26
+ alias: "p",
27
+ default: false
28
+ }
29
+ };
23
30
  const startCmd = {
24
31
  handler: async (argv) => {
25
32
  try {
@@ -36,13 +43,7 @@ const startCmd = {
36
43
  },
37
44
  command: "start [options]",
38
45
  describe: "starts local web server to test the application",
39
- builder: {
40
- prod: {
41
- alias: "p",
42
- default: false,
43
- type: "boolean"
44
- }
45
- }
46
+ builder: (yargsRef) => yargsRef.options(cmdArgs).help()
46
47
  };
47
48
  export {
48
49
  startCmd