@unpackjs/core 2.1.0 → 2.3.0

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 (153) hide show
  1. package/compiled/css-loader/index.js +49 -49
  2. package/compiled/less-loader/index.js +8 -8
  3. package/compiled/postcss-loader/index.js +37 -37
  4. package/compiled/sass-loader/index.js +8 -8
  5. package/dist/bundler-config/cache.cjs +113 -0
  6. package/dist/bundler-config/cache.d.ts +7 -0
  7. package/dist/bundler-config/cache.d.ts.map +1 -0
  8. package/dist/bundler-config/cache.js +71 -0
  9. package/dist/bundler-config/chunkSplit.d.ts.map +1 -1
  10. package/dist/bundler-config/chunkSplit.js +8 -8
  11. package/dist/bundler-config/css.cjs +15 -16
  12. package/dist/bundler-config/css.d.ts.map +1 -1
  13. package/dist/bundler-config/css.js +44 -45
  14. package/dist/bundler-config/experimentCss.cjs +14 -12
  15. package/dist/bundler-config/experimentCss.d.ts.map +1 -1
  16. package/dist/bundler-config/experimentCss.js +39 -37
  17. package/dist/bundler-config/{helper.cjs → helpers.cjs} +2 -2
  18. package/dist/bundler-config/{helper.d.ts → helpers.d.ts} +1 -1
  19. package/dist/bundler-config/helpers.d.ts.map +1 -0
  20. package/dist/bundler-config/helpers.js +39 -0
  21. package/dist/bundler-config/index.cjs +63 -25
  22. package/dist/bundler-config/index.d.ts.map +1 -1
  23. package/dist/bundler-config/index.js +103 -65
  24. package/dist/bundler-config/jsMinify.cjs +9 -11
  25. package/dist/bundler-config/jsMinify.d.ts +2 -10
  26. package/dist/bundler-config/jsMinify.d.ts.map +1 -1
  27. package/dist/bundler-config/jsMinify.js +14 -16
  28. package/dist/bundler-config/oxlint/.oxlintrc.json +29 -0
  29. package/dist/bundler-config/oxlint/plugin.cjs +143 -0
  30. package/dist/bundler-config/oxlint/plugin.d.ts +10 -0
  31. package/dist/bundler-config/oxlint/plugin.d.ts.map +1 -0
  32. package/dist/bundler-config/oxlint/plugin.js +104 -0
  33. package/dist/{plugin-progress/helper.cjs → bundler-config/progress/helpers.cjs} +24 -11
  34. package/dist/{plugin-progress/helper.d.ts → bundler-config/progress/helpers.d.ts} +1 -1
  35. package/dist/bundler-config/progress/helpers.d.ts.map +1 -0
  36. package/dist/bundler-config/progress/helpers.js +81 -0
  37. package/dist/{plugin-progress → bundler-config/progress}/rspack.cjs +11 -11
  38. package/dist/{plugin-progress → bundler-config/progress}/rspack.d.ts +2 -2
  39. package/dist/bundler-config/progress/rspack.d.ts.map +1 -0
  40. package/dist/bundler-config/progress/rspack.js +37 -0
  41. package/dist/{plugin-progress → bundler-config/progress}/webpack.cjs +14 -12
  42. package/dist/bundler-config/progress/webpack.d.ts +9 -0
  43. package/dist/bundler-config/progress/webpack.d.ts.map +1 -0
  44. package/dist/bundler-config/progress/webpack.js +44 -0
  45. package/dist/colors.cjs +3 -4
  46. package/dist/colors.d.ts +1 -2
  47. package/dist/colors.d.ts.map +1 -1
  48. package/dist/colors.js +4 -5
  49. package/dist/config.cjs +11 -3
  50. package/dist/config.d.ts +1 -0
  51. package/dist/config.d.ts.map +1 -1
  52. package/dist/config.js +25 -21
  53. package/dist/constants.cjs +21 -17
  54. package/dist/constants.d.ts +2 -1
  55. package/dist/constants.d.ts.map +1 -1
  56. package/dist/constants.js +11 -10
  57. package/dist/createUnpack.cjs +25 -33
  58. package/dist/createUnpack.d.ts +9 -4
  59. package/dist/createUnpack.d.ts.map +1 -1
  60. package/dist/createUnpack.js +36 -34
  61. package/dist/fs.cjs +91 -0
  62. package/dist/fs.d.ts +12 -0
  63. package/dist/fs.d.ts.map +1 -0
  64. package/dist/fs.js +34 -0
  65. package/dist/global.js +1 -1
  66. package/dist/index.cjs +71 -59
  67. package/dist/index.d.ts +9 -9
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +12 -47
  70. package/dist/lightningcss/loader.cjs +0 -2
  71. package/dist/lightningcss/loader.d.ts.map +1 -1
  72. package/dist/lightningcss/loader.js +5 -7
  73. package/dist/lightningcss/minimizer.cjs +14 -17
  74. package/dist/lightningcss/minimizer.d.ts +2 -2
  75. package/dist/lightningcss/minimizer.d.ts.map +1 -1
  76. package/dist/lightningcss/minimizer.js +16 -19
  77. package/dist/loadEnv.cjs +122 -0
  78. package/dist/loadEnv.d.ts +64 -0
  79. package/dist/loadEnv.d.ts.map +1 -0
  80. package/dist/loadEnv.js +80 -0
  81. package/dist/loadingAnimation.cjs +76 -0
  82. package/dist/loadingAnimation.d.ts +9 -0
  83. package/dist/loadingAnimation.d.ts.map +1 -0
  84. package/dist/loadingAnimation.js +44 -0
  85. package/dist/logger.cjs +6 -7
  86. package/dist/logger.d.ts.map +1 -1
  87. package/dist/logger.js +14 -14
  88. package/dist/openBrowser.d.ts.map +1 -1
  89. package/dist/openBrowser.js +8 -8
  90. package/dist/plugin.js +1 -1
  91. package/dist/prebundleDeps.cjs +31 -10
  92. package/dist/prebundleDeps.d.ts.map +1 -1
  93. package/dist/prebundleDeps.js +74 -52
  94. package/dist/progressBar.cjs +5 -12
  95. package/dist/progressBar.d.ts +2 -0
  96. package/dist/progressBar.d.ts.map +1 -1
  97. package/dist/progressBar.js +8 -5
  98. package/dist/reporter.cjs +15 -11
  99. package/dist/reporter.d.ts.map +1 -1
  100. package/dist/reporter.js +28 -23
  101. package/dist/run/build.cjs +4 -4
  102. package/dist/run/build.d.ts +1 -1
  103. package/dist/run/build.d.ts.map +1 -1
  104. package/dist/run/build.js +11 -11
  105. package/dist/run/dev.cjs +23 -16
  106. package/dist/run/dev.d.ts +1 -1
  107. package/dist/run/dev.d.ts.map +1 -1
  108. package/dist/run/dev.js +41 -33
  109. package/dist/run/index.js +1 -1
  110. package/dist/typed-css-modules/loader.cjs +2 -2
  111. package/dist/typed-css-modules/loader.d.ts.map +1 -1
  112. package/dist/typed-css-modules/loader.js +15 -15
  113. package/dist/typed-css-modules/plugin.cjs +1 -1
  114. package/dist/typed-css-modules/plugin.js +14 -14
  115. package/dist/typed-css-modules/utils.d.ts.map +1 -1
  116. package/dist/typed-css-modules/utils.js +7 -7
  117. package/dist/types/chunkSplit.js +1 -1
  118. package/dist/types/config.d.ts +32 -6
  119. package/dist/types/config.d.ts.map +1 -1
  120. package/dist/types/config.js +1 -1
  121. package/dist/types/index.cjs +15 -15
  122. package/dist/types/index.d.ts +3 -2
  123. package/dist/types/index.d.ts.map +1 -1
  124. package/dist/types/index.js +3 -3
  125. package/dist/types/lightningcss.d.ts +2 -2
  126. package/dist/types/lightningcss.d.ts.map +1 -1
  127. package/dist/types/lightningcss.js +1 -1
  128. package/dist/types/logger.js +1 -1
  129. package/dist/types/oxc.cjs +18 -0
  130. package/dist/types/oxc.d.ts +10 -0
  131. package/dist/types/oxc.d.ts.map +1 -0
  132. package/dist/types/oxc.js +2 -0
  133. package/dist/types/plugin.d.ts +2 -2
  134. package/dist/types/plugin.d.ts.map +1 -1
  135. package/dist/types/plugin.js +1 -1
  136. package/dist/utils.cjs +28 -38
  137. package/dist/utils.d.ts +0 -1
  138. package/dist/utils.d.ts.map +1 -1
  139. package/dist/utils.js +19 -25
  140. package/dist/watchFiles.cjs +1 -1
  141. package/dist/watchFiles.d.ts +1 -1
  142. package/dist/watchFiles.d.ts.map +1 -1
  143. package/dist/watchFiles.js +6 -6
  144. package/package.json +6 -5
  145. package/dist/bundler-config/helper.d.ts.map +0 -1
  146. package/dist/bundler-config/helper.js +0 -39
  147. package/dist/plugin-progress/helper.d.ts.map +0 -1
  148. package/dist/plugin-progress/helper.js +0 -67
  149. package/dist/plugin-progress/rspack.d.ts.map +0 -1
  150. package/dist/plugin-progress/rspack.js +0 -37
  151. package/dist/plugin-progress/webpack.d.ts +0 -8
  152. package/dist/plugin-progress/webpack.d.ts.map +0 -1
  153. package/dist/plugin-progress/webpack.js +0 -42
@@ -0,0 +1,64 @@
1
+ export type LoadEnvOptions = {
2
+ /**
3
+ * The root path to load the env file
4
+ * @default process.cwd()
5
+ */
6
+ cwd?: string;
7
+ /**
8
+ * Used to specify the name of the .env.[mode] file
9
+ * @default process.env.NODE_ENV
10
+ */
11
+ mode?: string;
12
+ /**
13
+ * The prefix of public variables
14
+ * @default ['PUBLIC_']
15
+ */
16
+ prefixes?: string | string[];
17
+ /**
18
+ * Specify a target object to store environment variables.
19
+ * If not provided, variables will be written to `process.env`.
20
+ * @default process.env
21
+ */
22
+ processEnv?: Record<string, string>;
23
+ };
24
+ export type LoadEnvResult = {
25
+ /**
26
+ * All env variables in the .env file
27
+ */
28
+ parsed: Record<string, string>;
29
+ /**
30
+ * The absolute paths to all env files
31
+ */
32
+ filePaths: string[];
33
+ /**
34
+ * Env variables that start with prefixes.
35
+ *
36
+ * @example
37
+ * ```ts
38
+ * {
39
+ * PUBLIC_FOO: 'bar',
40
+ * }
41
+ * ```
42
+ **/
43
+ rawPublicVars: Record<string, string | undefined>;
44
+ /**
45
+ * Formatted env variables that start with prefixes.
46
+ * The keys contain the prefixes `process.env.*` and `import.meta.env.*`.
47
+ * The values are processed by `JSON.stringify`.
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * {
52
+ * 'process.env.PUBLIC_FOO': '"bar"',
53
+ * 'import.meta.env.PUBLIC_FOO': '"bar"',
54
+ * }
55
+ * ```
56
+ **/
57
+ publicVars: Record<string, string>;
58
+ /**
59
+ * Clear the env variables mounted on `process.env`
60
+ */
61
+ cleanup: () => void;
62
+ };
63
+ export declare function loadEnv({ cwd, mode, prefixes, processEnv, }?: LoadEnvOptions): LoadEnvResult;
64
+ //# sourceMappingURL=loadEnv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadEnv.d.ts","sourceRoot":"","sources":["../src/loadEnv.ts"],"names":[],"mappings":"AAkDA,MAAM,MAAM,cAAc,GAAG;IAC3B;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACpC,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B;;OAEG;IACH,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB;;;;;;;;;QASI;IACJ,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAA;IACjD;;;;;;;;;;;;QAYI;IACJ,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC;;OAEG;IACH,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB,CAAA;AAED,wBAAgB,OAAO,CAAC,EACtB,GAAmB,EACnB,IAAmB,EACnB,QAAsB,EACtB,UAAkD,GACnD,GAAE,cAAmB,GAAG,aAAa,CA0ErC"}
@@ -0,0 +1,80 @@
1
+ import 'module';
2
+ /*#__PURE__*/ import.meta.url;
3
+ import node_fs from "node:fs";
4
+ import { join } from "node:path";
5
+ import { expand } from "dotenv-expand";
6
+ import { colors } from "./colors.js";
7
+ import { isFileSync } from "./fs.js";
8
+ import { logger } from "./logger.js";
9
+ import { getNodeEnv } from "./utils.js";
10
+ const DOTENV_LINE = /(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/gm;
11
+ function parse(src) {
12
+ const obj = {};
13
+ let lines = src.toString();
14
+ lines = lines.replace(/\r\n?/gm, '\n');
15
+ let match;
16
+ while(null != (match = DOTENV_LINE.exec(lines))){
17
+ const key = match[1];
18
+ let value = match[2] || '';
19
+ value = value.trim();
20
+ const maybeQuote = value[0];
21
+ value = value.replace(/^(['"`])([\s\S]*)\1$/gm, '$2');
22
+ if ('"' === maybeQuote) {
23
+ value = value.replace(/\\n/g, '\n');
24
+ value = value.replace(/\\r/g, '\r');
25
+ }
26
+ obj[key] = value;
27
+ }
28
+ return obj;
29
+ }
30
+ function loadEnv({ cwd = process.cwd(), mode = getNodeEnv(), prefixes = [
31
+ 'PUBLIC_'
32
+ ], processEnv = process.env } = {}) {
33
+ if ('local' === mode) throw new Error(`${colors.yellow('local')} cannot be used as a value for env mode, because ${colors.yellow('.env.local')} represents a temporary local file. Please use another value.`);
34
+ const filenames = [
35
+ '.env',
36
+ '.env.local',
37
+ `.env.${mode}`,
38
+ `.env.${mode}.local`
39
+ ];
40
+ const filePaths = filenames.map((filename)=>join(cwd, filename)).filter(isFileSync);
41
+ const parsed = {};
42
+ for (const envPath of filePaths){
43
+ Object.assign(parsed, parse(node_fs.readFileSync(envPath)));
44
+ logger.debug('loaded env file:', envPath);
45
+ }
46
+ if (parsed.NODE_ENV) processEnv.NODE_ENV = parsed.NODE_ENV;
47
+ expand({
48
+ parsed,
49
+ processEnv
50
+ });
51
+ const publicVars = {};
52
+ const rawPublicVars = {};
53
+ const normalizedPrefixes = Array.isArray(prefixes) ? prefixes : [
54
+ prefixes
55
+ ];
56
+ for (const key of Object.keys(processEnv))if (normalizedPrefixes.some((prefix)=>key.startsWith(prefix))) {
57
+ const val = processEnv[key];
58
+ publicVars[`import.meta.env.${key}`] = JSON.stringify(val);
59
+ publicVars[`process.env.${key}`] = JSON.stringify(val);
60
+ rawPublicVars[key] = val;
61
+ }
62
+ publicVars['import.meta.env'] = JSON.stringify(rawPublicVars);
63
+ publicVars['process.env'] = JSON.stringify(rawPublicVars);
64
+ let cleaned = false;
65
+ const cleanup = ()=>{
66
+ if (cleaned) return;
67
+ for (const key of Object.keys(parsed))if ('NODE_ENV' !== key) {
68
+ if (processEnv[key] === parsed[key]) delete processEnv[key];
69
+ }
70
+ cleaned = true;
71
+ };
72
+ return {
73
+ parsed,
74
+ cleanup,
75
+ filePaths,
76
+ publicVars,
77
+ rawPublicVars
78
+ };
79
+ }
80
+ export { loadEnv };
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ LoadingAnimation: ()=>LoadingAnimation
28
+ });
29
+ function _define_property(obj, key, value) {
30
+ if (key in obj) Object.defineProperty(obj, key, {
31
+ value: value,
32
+ enumerable: true,
33
+ configurable: true,
34
+ writable: true
35
+ });
36
+ else obj[key] = value;
37
+ return obj;
38
+ }
39
+ class LoadingAnimation {
40
+ getCurrentChar() {
41
+ const now = Date.now();
42
+ if (now - this.lastUpdateTime >= this.interval) {
43
+ this.currentIndex = (this.currentIndex + 1) % this.chars.length;
44
+ this.lastUpdateTime = now;
45
+ }
46
+ return this.chars[this.currentIndex];
47
+ }
48
+ reset() {
49
+ this.currentIndex = 0;
50
+ this.lastUpdateTime = 0;
51
+ }
52
+ constructor(){
53
+ _define_property(this, "chars", [
54
+ "\u280B",
55
+ "\u2819",
56
+ "\u2839",
57
+ "\u2838",
58
+ "\u283C",
59
+ "\u2834",
60
+ "\u2826",
61
+ "\u2827",
62
+ "\u2807",
63
+ "\u280F"
64
+ ]);
65
+ _define_property(this, "currentIndex", 0);
66
+ _define_property(this, "lastUpdateTime", 0);
67
+ _define_property(this, "interval", 150);
68
+ }
69
+ }
70
+ exports.LoadingAnimation = __webpack_exports__.LoadingAnimation;
71
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
72
+ "LoadingAnimation"
73
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
74
+ Object.defineProperty(exports, '__esModule', {
75
+ value: true
76
+ });
@@ -0,0 +1,9 @@
1
+ export declare class LoadingAnimation {
2
+ private chars;
3
+ private currentIndex;
4
+ private lastUpdateTime;
5
+ private interval;
6
+ getCurrentChar(): string;
7
+ reset(): void;
8
+ }
9
+ //# sourceMappingURL=loadingAnimation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadingAnimation.d.ts","sourceRoot":"","sources":["../src/loadingAnimation.ts"],"names":[],"mappings":"AAAA,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,KAAK,CAA+D;IAC5E,OAAO,CAAC,YAAY,CAAI;IACxB,OAAO,CAAC,cAAc,CAAI;IAC1B,OAAO,CAAC,QAAQ,CAAM;IAEtB,cAAc,IAAI,MAAM;IASxB,KAAK,IAAI,IAAI;CAId"}
@@ -0,0 +1,44 @@
1
+ import 'module';
2
+ /*#__PURE__*/ import.meta.url;
3
+ function _define_property(obj, key, value) {
4
+ if (key in obj) Object.defineProperty(obj, key, {
5
+ value: value,
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true
9
+ });
10
+ else obj[key] = value;
11
+ return obj;
12
+ }
13
+ class LoadingAnimation {
14
+ getCurrentChar() {
15
+ const now = Date.now();
16
+ if (now - this.lastUpdateTime >= this.interval) {
17
+ this.currentIndex = (this.currentIndex + 1) % this.chars.length;
18
+ this.lastUpdateTime = now;
19
+ }
20
+ return this.chars[this.currentIndex];
21
+ }
22
+ reset() {
23
+ this.currentIndex = 0;
24
+ this.lastUpdateTime = 0;
25
+ }
26
+ constructor(){
27
+ _define_property(this, "chars", [
28
+ "\u280B",
29
+ "\u2819",
30
+ "\u2839",
31
+ "\u2838",
32
+ "\u283C",
33
+ "\u2834",
34
+ "\u2826",
35
+ "\u2827",
36
+ "\u2807",
37
+ "\u280F"
38
+ ]);
39
+ _define_property(this, "currentIndex", 0);
40
+ _define_property(this, "lastUpdateTime", 0);
41
+ _define_property(this, "interval", 150);
42
+ }
43
+ }
44
+ export { LoadingAnimation };
package/dist/logger.cjs CHANGED
@@ -38,7 +38,6 @@ __webpack_require__.d(__webpack_exports__, {
38
38
  const external_node_readline_namespaceObject = require("node:readline");
39
39
  var external_node_readline_default = /*#__PURE__*/ __webpack_require__.n(external_node_readline_namespaceObject);
40
40
  const external_colors_cjs_namespaceObject = require("./colors.cjs");
41
- var external_colors_cjs_default = /*#__PURE__*/ __webpack_require__.n(external_colors_cjs_namespaceObject);
42
41
  const index_cjs_namespaceObject = require("./types/index.cjs");
43
42
  const external_utils_cjs_namespaceObject = require("./utils.cjs");
44
43
  const prefixes = {
@@ -48,11 +47,11 @@ const prefixes = {
48
47
  info: "\u2139",
49
48
  ready: "\u2713",
50
49
  event: "\xbb",
51
- debug: "\u2699"
50
+ debug: '-'
52
51
  };
53
52
  const createLogger = ()=>{
54
53
  const log = (type, message, ...args)=>{
55
- const label = external_colors_cjs_default()[index_cjs_namespaceObject.LogColor[type]](external_colors_cjs_default().bold(prefixes[type]));
54
+ const label = external_colors_cjs_namespaceObject.colors[index_cjs_namespaceObject.LogColor[type]](prefixes[type]);
56
55
  let text = '';
57
56
  switch(type){
58
57
  case 'error':
@@ -62,12 +61,12 @@ const createLogger = ()=>{
62
61
  name = name.slice(7);
63
62
  rest = rest.map((line)=>line.slice(2));
64
63
  }
65
- text = `${external_colors_cjs_default().red(name)}\n${external_colors_cjs_default().dim(rest.join('\n'))}`;
66
- } else text = external_colors_cjs_default().red(message.message);
67
- else text = external_colors_cjs_default().red(message);
64
+ text = `${external_colors_cjs_namespaceObject.colors.red(name)}\n${external_colors_cjs_namespaceObject.colors.dim(rest.join('\n'))}`;
65
+ } else text = external_colors_cjs_namespaceObject.colors.red(message.message);
66
+ else text = external_colors_cjs_namespaceObject.colors.red(message);
68
67
  break;
69
68
  case 'warn':
70
- text = external_colors_cjs_default().yellow(message);
69
+ text = external_colors_cjs_namespaceObject.colors.yellow(message);
71
70
  break;
72
71
  default:
73
72
  text = message;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,OAAO,EAA0B,KAAK,MAAM,EAAE,MAAM,iBAAiB,CAAA;AA2ErE,eAAO,MAAM,MAAM,QAAiB,CAAA"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAY,KAAK,MAAM,EAAgB,MAAM,iBAAiB,CAAA;AA2ErE,eAAO,MAAM,MAAM,QAAiB,CAAA"}
package/dist/logger.js CHANGED
@@ -1,9 +1,9 @@
1
- import __rslib_shim_module__ from 'module';
1
+ import 'module';
2
2
  /*#__PURE__*/ import.meta.url;
3
- import * as __WEBPACK_EXTERNAL_MODULE_node_readline_91c31510__ from "node:readline";
4
- import * as __WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__ from "./colors.js";
5
- import * as __WEBPACK_EXTERNAL_MODULE__types_index_js_63ede62f__ from "./types/index.js";
6
- import * as __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__ from "./utils.js";
3
+ import node_readline from "node:readline";
4
+ import { colors } from "./colors.js";
5
+ import { LogColor } from "./types/index.js";
6
+ import { isDebug } from "./utils.js";
7
7
  const prefixes = {
8
8
  wait: "\u25CB",
9
9
  error: "\u2A2F",
@@ -11,11 +11,11 @@ const prefixes = {
11
11
  info: "\u2139",
12
12
  ready: "\u2713",
13
13
  event: "\xbb",
14
- debug: "\u2699"
14
+ debug: '-'
15
15
  };
16
16
  const createLogger = ()=>{
17
17
  const log = (type, message, ...args)=>{
18
- const label = __WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__["default"][__WEBPACK_EXTERNAL_MODULE__types_index_js_63ede62f__.LogColor[type]](__WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__["default"].bold(prefixes[type]));
18
+ const label = colors[LogColor[type]](prefixes[type]);
19
19
  let text = '';
20
20
  switch(type){
21
21
  case 'error':
@@ -25,18 +25,18 @@ const createLogger = ()=>{
25
25
  name = name.slice(7);
26
26
  rest = rest.map((line)=>line.slice(2));
27
27
  }
28
- text = `${__WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__["default"].red(name)}\n${__WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__["default"].dim(rest.join('\n'))}`;
29
- } else text = __WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__["default"].red(message.message);
30
- else text = __WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__["default"].red(message);
28
+ text = `${colors.red(name)}\n${colors.dim(rest.join('\n'))}`;
29
+ } else text = colors.red(message.message);
30
+ else text = colors.red(message);
31
31
  break;
32
32
  case 'warn':
33
- text = __WEBPACK_EXTERNAL_MODULE__colors_js_b738ede3__["default"].yellow(message);
33
+ text = colors.yellow(message);
34
34
  break;
35
35
  default:
36
36
  text = message;
37
37
  break;
38
38
  }
39
- if ('debug' === type && !(0, __WEBPACK_EXTERNAL_MODULE__utils_js_d88b7fe1__.isDebug)()) return;
39
+ if ('debug' === type && !isDebug()) return;
40
40
  console.log(`${label} ${text}`, ...args);
41
41
  };
42
42
  const logger = {
@@ -44,8 +44,8 @@ const createLogger = ()=>{
44
44
  const repeatCount = process.stdout.rows - 2;
45
45
  const blank = repeatCount > 0 ? '\n'.repeat(repeatCount) : '';
46
46
  console.log(blank);
47
- __WEBPACK_EXTERNAL_MODULE_node_readline_91c31510__["default"].cursorTo(process.stdout, 0, 0);
48
- __WEBPACK_EXTERNAL_MODULE_node_readline_91c31510__["default"].clearScreenDown(process.stdout);
47
+ node_readline.cursorTo(process.stdout, 0, 0);
48
+ node_readline.clearScreenDown(process.stdout);
49
49
  },
50
50
  greet: (msg)=>{
51
51
  const { npm_execpath, npm_lifecycle_event } = process.env;
@@ -1 +1 @@
1
- {"version":3,"file":"openBrowser.d.ts","sourceRoot":"","sources":["../src/openBrowser.ts"],"names":[],"mappings":"AAKA,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,oBAkC5C"}
1
+ {"version":3,"file":"openBrowser.d.ts","sourceRoot":"","sources":["../src/openBrowser.ts"],"names":[],"mappings":"AAMA,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,oBAkC5C"}
@@ -1,11 +1,11 @@
1
- import __rslib_shim_module__ from 'module';
1
+ import 'module';
2
2
  /*#__PURE__*/ import.meta.url;
3
3
  import { fileURLToPath as __webpack_fileURLToPath__ } from "node:url";
4
4
  import { dirname as __webpack_dirname__ } from "node:path";
5
5
  import * as __WEBPACK_EXTERNAL_MODULE_open__ from "open";
6
- import * as __WEBPACK_EXTERNAL_MODULE_node_child_process_27f17141__ from "node:child_process";
7
- import * as __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__ from "node:path";
8
- import * as __WEBPACK_EXTERNAL_MODULE__logger_js_c2be5186__ from "./logger.js";
6
+ import { exec } from "node:child_process";
7
+ import node_path from "node:path";
8
+ import { logger } from "./logger.js";
9
9
  var __webpack_modules__ = {
10
10
  open: function(module) {
11
11
  module.exports = __WEBPACK_EXTERNAL_MODULE_open__;
@@ -39,24 +39,24 @@ async function openBrowser(url) {
39
39
  const openedBrowser = supportedChromiumBrowsers.find((b)=>ps.includes(b));
40
40
  if (openedBrowser) {
41
41
  await execAsync(`osascript openChrome.applescript "${encodeURI(url)}" "${openedBrowser}"`, {
42
- cwd: __WEBPACK_EXTERNAL_MODULE_node_path_c5b9b54f__["default"].join(openBrowser_dirname, '../bin')
42
+ cwd: node_path.join(openBrowser_dirname, '../bin')
43
43
  });
44
44
  return true;
45
45
  }
46
46
  } catch (err) {
47
- __WEBPACK_EXTERNAL_MODULE__logger_js_c2be5186__.logger.error(err);
47
+ logger.error(err);
48
48
  }
49
49
  try {
50
50
  openBrowser_open(url).catch(()=>{});
51
51
  return true;
52
52
  } catch (err) {
53
- __WEBPACK_EXTERNAL_MODULE__logger_js_c2be5186__.logger.error(err);
53
+ logger.error(err);
54
54
  return false;
55
55
  }
56
56
  }
57
57
  function execAsync(command, options) {
58
58
  return new Promise((resolve, reject)=>{
59
- (0, __WEBPACK_EXTERNAL_MODULE_node_child_process_27f17141__.exec)(command, options, (error, stdout)=>{
59
+ exec(command, options, (error, stdout)=>{
60
60
  if (error) reject(error);
61
61
  else resolve(stdout.toString());
62
62
  });
package/dist/plugin.js CHANGED
@@ -1,4 +1,4 @@
1
- import __rslib_shim_module__ from 'module';
1
+ import 'module';
2
2
  /*#__PURE__*/ import.meta.url;
3
3
  function getNormalizedPluginsByHook(hook, plugins) {
4
4
  const pluginMap = new Map();
@@ -48,12 +48,24 @@ const external_html_webpack_plugin_namespaceObject = require("html-webpack-plugi
48
48
  var external_html_webpack_plugin_default = /*#__PURE__*/ __webpack_require__.n(external_html_webpack_plugin_namespaceObject);
49
49
  const external_tinyglobby_namespaceObject = require("tinyglobby");
50
50
  const external_colors_cjs_namespaceObject = require("./colors.cjs");
51
- var external_colors_cjs_default = /*#__PURE__*/ __webpack_require__.n(external_colors_cjs_namespaceObject);
52
51
  const external_constants_cjs_namespaceObject = require("./constants.cjs");
52
+ const external_fs_cjs_namespaceObject = require("./fs.cjs");
53
53
  const external_global_cjs_namespaceObject = require("./global.cjs");
54
54
  const external_logger_cjs_namespaceObject = require("./logger.cjs");
55
55
  const external_utils_cjs_namespaceObject = require("./utils.cjs");
56
56
  const CACHE_DIR = 'umd';
57
+ const FAILED_DEPS_CACHE_FILE = 'failed-deps.json';
58
+ const getFailedDepsCache = (failedDepsCachePath)=>{
59
+ if (external_node_fs_default().existsSync(failedDepsCachePath)) return JSON.parse(external_node_fs_default().readFileSync(failedDepsCachePath, 'utf-8'));
60
+ return {};
61
+ };
62
+ const saveFailedDepsCache = (failedDepsCachePath, cache)=>{
63
+ const cacheDir = external_node_path_default().dirname(failedDepsCachePath);
64
+ if (!external_node_fs_default().existsSync(cacheDir)) external_node_fs_default().mkdirSync(cacheDir, {
65
+ recursive: true
66
+ });
67
+ external_node_fs_default().writeFileSync(failedDepsCachePath, JSON.stringify(cache, null, 2), 'utf-8');
68
+ };
57
69
  const getExternalLibraryName = (pkgName)=>{
58
70
  const externalAlias = {
59
71
  react: 'React',
@@ -94,11 +106,13 @@ const prebundleDeps = async ({ unpackConfig })=>{
94
106
  bundled: 0
95
107
  };
96
108
  const failedDeps = [];
109
+ const { root } = unpackConfig;
110
+ const failedDepsCachePath = external_node_path_default().resolve(root, external_constants_cjs_namespaceObject.TEMP_DIR, FAILED_DEPS_CACHE_FILE);
111
+ const failedCache = getFailedDepsCache(failedDepsCachePath);
97
112
  const updateProgress = ()=>{
98
- (0, external_utils_cjs_namespaceObject.logUpdate)(`${external_colors_cjs_default().magenta(external_colors_cjs_default().bold("\xbb"))} optimizing dependencies (${count.bundled}/${count.total})`);
113
+ (0, external_utils_cjs_namespaceObject.logUpdate)(`${external_colors_cjs_namespaceObject.colors.magenta("\xbb")} optimizing dependencies (${count.bundled}/${count.total})`);
99
114
  if (count.total === count.bundled + failedDeps.length) console.log();
100
115
  };
101
- const { root } = unpackConfig;
102
116
  const bundleDep = ({ name, entry, version })=>new Promise((resolve)=>{
103
117
  const pkgDir = external_node_path_default().resolve(root, external_constants_cjs_namespaceObject.TEMP_DIR, CACHE_DIR, name);
104
118
  const outDir = external_node_path_default().resolve(pkgDir, version);
@@ -113,7 +127,6 @@ const prebundleDeps = async ({ unpackConfig })=>{
113
127
  };
114
128
  };
115
129
  if (external_node_fs_default().existsSync(outDir)) return void resolve(getResult());
116
- (0, external_utils_cjs_namespaceObject.removeDir)(pkgDir);
117
130
  count.total++;
118
131
  updateProgress();
119
132
  const getSwcOptions = ({ tsx })=>({
@@ -224,7 +237,8 @@ const prebundleDeps = async ({ unpackConfig })=>{
224
237
  if (null == stats ? void 0 : stats.hasErrors()) {
225
238
  isFailed = true;
226
239
  failedDeps.push(name);
227
- (0, external_utils_cjs_namespaceObject.removeDir)(outDir);
240
+ failedCache[name] = version;
241
+ (0, external_fs_cjs_namespaceObject.removeDir)(outDir);
228
242
  } else count.bundled++;
229
243
  updateProgress();
230
244
  compiler.close(()=>{
@@ -244,17 +258,23 @@ const prebundleDeps = async ({ unpackConfig })=>{
244
258
  const noEntryDeps = [];
245
259
  const needBundleDeps = shouldIncludeDeps.map((pkgName)=>{
246
260
  const packageJson = JSON.parse(external_node_fs_default().readFileSync(external_node_path_default().resolve(root, 'node_modules', pkgName, 'package.json'), 'utf-8'));
261
+ const version = packageJson.version;
262
+ if (failedCache[pkgName] === version) return;
247
263
  const entry = getPkgEntry(packageJson);
248
- if (!entry) return void noEntryDeps.push(pkgName);
264
+ if (!entry) {
265
+ noEntryDeps.push(pkgName);
266
+ failedCache[pkgName] = version;
267
+ return;
268
+ }
249
269
  return {
250
270
  name: pkgName,
251
271
  entry: external_node_path_default().resolve(root, 'node_modules', pkgName, entry),
252
- version: packageJson.version
272
+ version
253
273
  };
254
274
  }).filter(Boolean);
255
- if (noEntryDeps[0]) external_logger_cjs_namespaceObject.logger.warn(`could not find entry for "${external_colors_cjs_default().bold(noEntryDeps.join(', '))}"`);
256
275
  const bundledDeps = await Promise.all(needBundleDeps.map((depInfo)=>bundleDep(depInfo)));
257
- if (failedDeps[0]) external_logger_cjs_namespaceObject.logger.warn(`something went wrong while optimizing "${external_colors_cjs_default().bold(failedDeps.join(', '))}"`);
276
+ saveFailedDepsCache(failedDepsCachePath, failedCache);
277
+ if (failedDeps[0]) external_logger_cjs_namespaceObject.logger.warn(`something went wrong while optimizing "${external_colors_cjs_namespaceObject.colors.bold(failedDeps.join(', '))}"`);
258
278
  const cachePath = external_node_path_default().resolve(root, external_constants_cjs_namespaceObject.TEMP_DIR, CACHE_DIR);
259
279
  const app = external_express_default()();
260
280
  app.use(external_cors_default()());
@@ -309,7 +329,8 @@ const prebundleDeps = async ({ unpackConfig })=>{
309
329
  apply: (compiler)=>{
310
330
  compiler.hooks.compilation.tap(PLUGIN_NAME, (compilation)=>{
311
331
  HtmlPlugin.getCompilationHooks(compilation).beforeAssetTagGeneration.tapPromise(PLUGIN_NAME, async (args)=>{
312
- args.assets.js.unshift(...preJsAssets.sort((a, b)=>a.order - b.order).map((item)=>item.path), ...jsAssets);
332
+ const sortedPreJsAssets = preJsAssets.sort((a, b)=>a.order - b.order).map((item)=>item.path);
333
+ args.assets.js.unshift(...sortedPreJsAssets, ...jsAssets);
313
334
  args.assets.css.unshift(...cssAssets);
314
335
  return args;
315
336
  });
@@ -1 +1 @@
1
- {"version":3,"file":"prebundleDeps.d.ts","sourceRoot":"","sources":["../src/prebundleDeps.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AA2D3C,eAAO,MAAM,aAAa,sBAEvB;IACD,YAAY,EAAE,YAAY,CAAA;CAC3B,KAAG,OAAO,CAAC,YAAY,CAgRvB,CAAA"}
1
+ {"version":3,"file":"prebundleDeps.d.ts","sourceRoot":"","sources":["../src/prebundleDeps.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AA0E3C,eAAO,MAAM,aAAa,GAAU,mBAEjC;IACD,YAAY,EAAE,YAAY,CAAA;CAC3B,KAAG,OAAO,CAAC,YAAY,CAuRvB,CAAA"}