@modern-js/utils 1.3.6 → 1.3.8-canary.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 (317) hide show
  1. package/.eslintrc.js +9 -0
  2. package/CHANGELOG.md +6 -0
  3. package/compiled/browserslist/index.d.ts +178 -0
  4. package/compiled/browserslist/index.js +1 -0
  5. package/compiled/browserslist/license +20 -0
  6. package/compiled/browserslist/package.json +1 -0
  7. package/compiled/chalk/index.d.ts +415 -0
  8. package/compiled/chalk/index.js +1 -0
  9. package/compiled/chalk/license +9 -0
  10. package/compiled/chalk/package.json +1 -0
  11. package/compiled/chokidar/anymatch/index.d.ts +19 -0
  12. package/compiled/chokidar/fsevents.node +0 -0
  13. package/compiled/chokidar/index.js +40 -0
  14. package/compiled/chokidar/license +21 -0
  15. package/compiled/chokidar/package.json +1 -0
  16. package/compiled/chokidar/types/index.d.ts +188 -0
  17. package/compiled/commander/index.js +1 -0
  18. package/compiled/commander/license +22 -0
  19. package/compiled/commander/package.json +1 -0
  20. package/compiled/commander/typings/index.d.ts +774 -0
  21. package/compiled/debug/index.d.ts +54 -0
  22. package/compiled/debug/index.js +1 -0
  23. package/compiled/debug/license +20 -0
  24. package/compiled/debug/ms/index.d.ts +25 -0
  25. package/compiled/debug/package.json +1 -0
  26. package/compiled/execa/index.d.ts +564 -0
  27. package/compiled/execa/index.js +1 -0
  28. package/compiled/execa/license +9 -0
  29. package/compiled/execa/package.json +1 -0
  30. package/compiled/filesize/filesize.d.ts +131 -0
  31. package/compiled/filesize/index.js +9 -0
  32. package/compiled/filesize/license +28 -0
  33. package/compiled/filesize/package.json +1 -0
  34. package/compiled/fs-extra/index.d.ts +563 -0
  35. package/compiled/fs-extra/index.js +1 -0
  36. package/compiled/fs-extra/license +15 -0
  37. package/compiled/fs-extra/package.json +1 -0
  38. package/compiled/glob/index.d.ts +91 -0
  39. package/compiled/glob/index.js +1 -0
  40. package/compiled/glob/license +21 -0
  41. package/compiled/glob/minimatch/index.d.ts +204 -0
  42. package/compiled/glob/package.json +1 -0
  43. package/compiled/gzip-size/index.d.ts +96 -0
  44. package/compiled/gzip-size/index.js +1 -0
  45. package/compiled/gzip-size/license +9 -0
  46. package/compiled/gzip-size/package.json +1 -0
  47. package/compiled/import-lazy/index.d.ts +26 -0
  48. package/compiled/import-lazy/index.js +1 -0
  49. package/compiled/import-lazy/license +9 -0
  50. package/compiled/import-lazy/package.json +1 -0
  51. package/compiled/js-yaml/index.d.ts +154 -0
  52. package/compiled/js-yaml/index.js +1 -0
  53. package/compiled/js-yaml/license +21 -0
  54. package/compiled/js-yaml/package.json +1 -0
  55. package/compiled/lodash/common/array.d.ts +2126 -0
  56. package/compiled/lodash/common/collection.d.ts +1930 -0
  57. package/compiled/lodash/common/common.d.ts +280 -0
  58. package/compiled/lodash/common/date.d.ts +23 -0
  59. package/compiled/lodash/common/function.d.ts +1446 -0
  60. package/compiled/lodash/common/lang.d.ts +1693 -0
  61. package/compiled/lodash/common/math.d.ts +405 -0
  62. package/compiled/lodash/common/number.d.ts +131 -0
  63. package/compiled/lodash/common/object.d.ts +2519 -0
  64. package/compiled/lodash/common/seq.d.ts +210 -0
  65. package/compiled/lodash/common/string.d.ts +788 -0
  66. package/compiled/lodash/common/util.d.ts +1220 -0
  67. package/compiled/lodash/index.d.ts +46 -0
  68. package/compiled/lodash/index.js +9 -0
  69. package/compiled/lodash/license +47 -0
  70. package/compiled/lodash/package.json +1 -0
  71. package/compiled/pkg-up/index.d.ts +48 -0
  72. package/compiled/pkg-up/index.js +1 -0
  73. package/compiled/pkg-up/license +9 -0
  74. package/compiled/pkg-up/package.json +1 -0
  75. package/compiled/recursive-readdir/index.d.ts +21 -0
  76. package/compiled/recursive-readdir/index.js +1 -0
  77. package/compiled/recursive-readdir/license +21 -0
  78. package/compiled/recursive-readdir/package.json +1 -0
  79. package/compiled/signale/index.d.ts +162 -0
  80. package/compiled/signale/index.js +1 -0
  81. package/compiled/signale/package.json +1 -0
  82. package/compiled/strip-ansi/index.d.ts +17 -0
  83. package/compiled/strip-ansi/index.js +1 -0
  84. package/compiled/strip-ansi/license +9 -0
  85. package/compiled/strip-ansi/package.json +1 -0
  86. package/compiled/upath/index.js +1 -0
  87. package/compiled/upath/license +22 -0
  88. package/compiled/upath/package.json +1 -0
  89. package/compiled/upath/upath.d.ts +241 -0
  90. package/dist/FileSizeReporter.d.ts +16 -0
  91. package/dist/FileSizeReporter.js +151 -0
  92. package/dist/alias.d.ts +21 -0
  93. package/dist/alias.js +62 -0
  94. package/dist/applyOptionsChain.d.ts +6 -0
  95. package/dist/applyOptionsChain.js +30 -0
  96. package/dist/clearConsole.d.ts +1 -0
  97. package/dist/clearConsole.js +9 -0
  98. package/dist/compatRequire.d.ts +8 -0
  99. package/dist/compatRequire.js +28 -0
  100. package/dist/compiled.d.ts +21 -0
  101. package/dist/compiled.js +33 -0
  102. package/dist/constants.d.ts +222 -0
  103. package/dist/constants.js +277 -0
  104. package/dist/{js/modern/debug.js → debug.d.ts} +1 -3
  105. package/dist/debug.js +11 -0
  106. package/dist/emptyDir.d.ts +1 -0
  107. package/dist/emptyDir.js +19 -0
  108. package/dist/{js/modern/ensureAbsolutePath.js → ensureAbsolutePath.d.ts} +1 -3
  109. package/dist/ensureAbsolutePath.js +15 -0
  110. package/dist/findExists.d.ts +6 -0
  111. package/dist/findExists.js +21 -0
  112. package/dist/format.d.ts +16 -0
  113. package/dist/format.js +113 -0
  114. package/dist/generateMetaTags.d.ts +16 -0
  115. package/dist/generateMetaTags.js +48 -0
  116. package/dist/getBrowserslist.d.ts +2 -0
  117. package/dist/getBrowserslist.js +7 -0
  118. package/dist/getCacheIdentifier.d.ts +7 -0
  119. package/dist/getCacheIdentifier.js +24 -0
  120. package/dist/getEntryOptions.d.ts +1 -0
  121. package/dist/getEntryOptions.js +26 -0
  122. package/dist/getPackageManager.d.ts +1 -0
  123. package/dist/getPackageManager.js +47 -0
  124. package/dist/getPort.d.ts +7 -0
  125. package/dist/getPort.js +62 -0
  126. package/dist/getServerConfig.d.ts +1 -0
  127. package/dist/getServerConfig.js +39 -0
  128. package/dist/import.d.ts +5 -0
  129. package/dist/import.js +10 -0
  130. package/dist/index.d.ts +33 -0
  131. package/dist/index.js +45 -0
  132. package/dist/is/index.d.ts +34 -0
  133. package/dist/is/index.js +82 -0
  134. package/dist/is/node-env.d.ts +4 -0
  135. package/dist/is/node-env.js +12 -0
  136. package/dist/is/platform.d.ts +2 -0
  137. package/dist/is/platform.js +10 -0
  138. package/dist/is/type.d.ts +8 -0
  139. package/dist/is/type.js +38 -0
  140. package/dist/js/modern/monorepo.js +4 -5
  141. package/dist/js/node/monorepo.js +5 -7
  142. package/dist/js/treeshaking/monorepo.js +7 -6
  143. package/dist/logger.d.ts +63 -0
  144. package/dist/logger.js +128 -0
  145. package/dist/monorepo.d.ts +11 -0
  146. package/dist/monorepo.js +80 -0
  147. package/dist/nodeEnv.d.ts +3 -0
  148. package/dist/nodeEnv.js +49 -0
  149. package/dist/path.d.ts +3 -0
  150. package/dist/path.js +14 -0
  151. package/dist/{types/pkgUp.d.ts → pkgUp.d.ts} +1 -1
  152. package/dist/pkgUp.js +8 -0
  153. package/dist/prettyInstructions.d.ts +6 -0
  154. package/dist/prettyInstructions.js +64 -0
  155. package/dist/printBuildError.d.ts +8 -0
  156. package/dist/printBuildError.js +43 -0
  157. package/dist/readTsConfig.d.ts +2 -0
  158. package/dist/readTsConfig.js +19 -0
  159. package/dist/removeSlash.d.ts +3 -0
  160. package/dist/removeSlash.js +9 -0
  161. package/dist/runtimeExports.d.ts +4 -0
  162. package/dist/runtimeExports.js +53 -0
  163. package/dist/ssrHelpers.d.ts +4 -0
  164. package/dist/ssrHelpers.js +7 -0
  165. package/dist/storage.d.ts +5 -0
  166. package/dist/storage.js +61 -0
  167. package/dist/types/FileSizeReporter.d.ts +5 -5
  168. package/dist/types/alias.d.ts +12 -14
  169. package/dist/types/applyOptionsChain.d.ts +5 -5
  170. package/dist/types/clearConsole.d.ts +1 -1
  171. package/dist/types/compatRequire.d.ts +1 -1
  172. package/dist/types/compiled.d.ts +17 -0
  173. package/dist/types/constants.d.ts +165 -162
  174. package/dist/types/debug.d.ts +1 -3
  175. package/dist/types/emptyDir.d.ts +1 -1
  176. package/dist/types/ensureAbsolutePath.d.ts +1 -1
  177. package/dist/types/findExists.d.ts +1 -1
  178. package/dist/types/format.d.ts +5 -5
  179. package/dist/types/generateMetaTags.d.ts +3 -3
  180. package/dist/types/getBrowserslist.d.ts +1 -1
  181. package/dist/types/getCacheIdentifier.d.ts +3 -3
  182. package/dist/types/getEntryOptions.d.ts +1 -1
  183. package/dist/types/getPackageManager.d.ts +1 -1
  184. package/dist/types/getPort.d.ts +1 -1
  185. package/dist/types/getServerConfig.d.ts +1 -0
  186. package/dist/types/import.d.ts +2 -2
  187. package/dist/types/index.d.ts +3 -4
  188. package/dist/types/is/index.d.ts +1 -4
  189. package/dist/types/is/node-env.d.ts +1 -1
  190. package/dist/types/is/platform.d.ts +1 -1
  191. package/dist/types/is/type.d.ts +1 -1
  192. package/dist/types/logger.d.ts +49 -49
  193. package/dist/types/monorepo.d.ts +3 -3
  194. package/dist/types/nodeEnv.d.ts +1 -1
  195. package/dist/types/path.d.ts +1 -1
  196. package/dist/types/prettyInstructions.d.ts +2 -2
  197. package/dist/types/printBuildError.d.ts +1 -1
  198. package/dist/types/readTsConfig.d.ts +1 -1
  199. package/dist/types/removeSlash.d.ts +1 -1
  200. package/dist/types/runtimeExports.d.ts +3 -3
  201. package/dist/types/wait.d.ts +1 -1
  202. package/dist/types/watch.d.ts +4 -4
  203. package/dist/wait.d.ts +2 -0
  204. package/dist/wait.js +7 -0
  205. package/dist/watch.d.ts +8 -0
  206. package/dist/watch.js +64 -0
  207. package/jest.config.js +0 -1
  208. package/package.json +57 -40
  209. package/tests/debug.test.ts +2 -2
  210. package/tests/is.test.ts +27 -0
  211. package/tests/isPlatform.test.ts +19 -0
  212. package/tests/prettyInstructions.test.ts +1 -1
  213. package/tsconfig.json +3 -5
  214. package/dist/js/modern/FileSizeReporter.js +0 -156
  215. package/dist/js/modern/alias.js +0 -74
  216. package/dist/js/modern/applyOptionsChain.js +0 -27
  217. package/dist/js/modern/chalk.js +0 -2
  218. package/dist/js/modern/clearConsole.js +0 -5
  219. package/dist/js/modern/compatRequire.js +0 -26
  220. package/dist/js/modern/constants.js +0 -333
  221. package/dist/js/modern/emptyDir.js +0 -6
  222. package/dist/js/modern/findExists.js +0 -16
  223. package/dist/js/modern/format.js +0 -137
  224. package/dist/js/modern/generateMetaTags.js +0 -49
  225. package/dist/js/modern/getBrowserslist.js +0 -5
  226. package/dist/js/modern/getCacheIdentifier.js +0 -20
  227. package/dist/js/modern/getEntryOptions.js +0 -24
  228. package/dist/js/modern/getPackageManager.js +0 -37
  229. package/dist/js/modern/getPort.js +0 -52
  230. package/dist/js/modern/import.js +0 -11
  231. package/dist/js/modern/index.js +0 -34
  232. package/dist/js/modern/is/index.js +0 -77
  233. package/dist/js/modern/is/node-env.js +0 -5
  234. package/dist/js/modern/is/platform.js +0 -2
  235. package/dist/js/modern/is/type.js +0 -27
  236. package/dist/js/modern/logger.js +0 -152
  237. package/dist/js/modern/nodeEnv.js +0 -31
  238. package/dist/js/modern/path.js +0 -5
  239. package/dist/js/modern/pkgUp.js +0 -2
  240. package/dist/js/modern/prettyInstructions.js +0 -79
  241. package/dist/js/modern/printBuildError.js +0 -40
  242. package/dist/js/modern/readTsConfig.js +0 -13
  243. package/dist/js/modern/removeSlash.js +0 -3
  244. package/dist/js/modern/runtimeExports.js +0 -52
  245. package/dist/js/modern/wait.js +0 -5
  246. package/dist/js/modern/watch.js +0 -43
  247. package/dist/js/node/FileSizeReporter.js +0 -175
  248. package/dist/js/node/alias.js +0 -97
  249. package/dist/js/node/applyOptionsChain.js +0 -37
  250. package/dist/js/node/chalk.js +0 -15
  251. package/dist/js/node/clearConsole.js +0 -14
  252. package/dist/js/node/compatRequire.js +0 -41
  253. package/dist/js/node/constants.js +0 -353
  254. package/dist/js/node/debug.js +0 -19
  255. package/dist/js/node/emptyDir.js +0 -18
  256. package/dist/js/node/ensureAbsolutePath.js +0 -20
  257. package/dist/js/node/findExists.js +0 -27
  258. package/dist/js/node/format.js +0 -141
  259. package/dist/js/node/generateMetaTags.js +0 -58
  260. package/dist/js/node/getBrowserslist.js +0 -17
  261. package/dist/js/node/getCacheIdentifier.js +0 -27
  262. package/dist/js/node/getEntryOptions.js +0 -35
  263. package/dist/js/node/getPackageManager.js +0 -51
  264. package/dist/js/node/getPort.js +0 -67
  265. package/dist/js/node/import.js +0 -19
  266. package/dist/js/node/index.js +0 -465
  267. package/dist/js/node/is/index.js +0 -150
  268. package/dist/js/node/is/node-env.js +0 -23
  269. package/dist/js/node/is/platform.js +0 -14
  270. package/dist/js/node/is/type.js +0 -48
  271. package/dist/js/node/logger.js +0 -162
  272. package/dist/js/node/nodeEnv.js +0 -45
  273. package/dist/js/node/path.js +0 -24
  274. package/dist/js/node/pkgUp.js +0 -15
  275. package/dist/js/node/prettyInstructions.js +0 -95
  276. package/dist/js/node/printBuildError.js +0 -52
  277. package/dist/js/node/readTsConfig.js +0 -28
  278. package/dist/js/node/removeSlash.js +0 -18
  279. package/dist/js/node/runtimeExports.js +0 -68
  280. package/dist/js/node/wait.js +0 -12
  281. package/dist/js/node/watch.js +0 -61
  282. package/dist/js/treeshaking/FileSizeReporter.js +0 -185
  283. package/dist/js/treeshaking/alias.js +0 -72
  284. package/dist/js/treeshaking/applyOptionsChain.js +0 -31
  285. package/dist/js/treeshaking/chalk.js +0 -2
  286. package/dist/js/treeshaking/clearConsole.js +0 -5
  287. package/dist/js/treeshaking/compatRequire.js +0 -29
  288. package/dist/js/treeshaking/constants.js +0 -333
  289. package/dist/js/treeshaking/debug.js +0 -10
  290. package/dist/js/treeshaking/emptyDir.js +0 -37
  291. package/dist/js/treeshaking/ensureAbsolutePath.js +0 -11
  292. package/dist/js/treeshaking/findExists.js +0 -33
  293. package/dist/js/treeshaking/format.js +0 -167
  294. package/dist/js/treeshaking/generateMetaTags.js +0 -55
  295. package/dist/js/treeshaking/getBrowserslist.js +0 -7
  296. package/dist/js/treeshaking/getCacheIdentifier.js +0 -35
  297. package/dist/js/treeshaking/getEntryOptions.js +0 -26
  298. package/dist/js/treeshaking/getPackageManager.js +0 -101
  299. package/dist/js/treeshaking/getPort.js +0 -103
  300. package/dist/js/treeshaking/import.js +0 -11
  301. package/dist/js/treeshaking/index.js +0 -34
  302. package/dist/js/treeshaking/is/index.js +0 -81
  303. package/dist/js/treeshaking/is/node-env.js +0 -13
  304. package/dist/js/treeshaking/is/platform.js +0 -6
  305. package/dist/js/treeshaking/is/type.js +0 -29
  306. package/dist/js/treeshaking/logger.js +0 -188
  307. package/dist/js/treeshaking/nodeEnv.js +0 -108
  308. package/dist/js/treeshaking/path.js +0 -11
  309. package/dist/js/treeshaking/pkgUp.js +0 -2
  310. package/dist/js/treeshaking/prettyInstructions.js +0 -100
  311. package/dist/js/treeshaking/printBuildError.js +0 -40
  312. package/dist/js/treeshaking/readTsConfig.js +0 -13
  313. package/dist/js/treeshaking/removeSlash.js +0 -9
  314. package/dist/js/treeshaking/runtimeExports.js +0 -61
  315. package/dist/js/treeshaking/wait.js +0 -8
  316. package/dist/js/treeshaking/watch.js +0 -112
  317. package/dist/types/chalk.d.ts +0 -2
@@ -1,63 +1,63 @@
1
- import { Color } from 'chalk';
1
+ import { Color } from '../compiled/chalk';
2
2
  declare type LogLevel = 'debug' | 'info' | 'warn' | 'error';
3
3
  interface LoggerConfiguration {
4
- color?: typeof Color;
5
- label?: string;
6
- level?: LogLevel;
4
+ color?: typeof Color;
5
+ label?: string;
6
+ level?: LogLevel;
7
7
  }
8
8
  interface InstanceConfiguration {
9
- displayLabel?: boolean;
10
- underlineLabel?: boolean;
11
- uppercaseLabel?: boolean;
9
+ displayLabel?: boolean;
10
+ underlineLabel?: boolean;
11
+ uppercaseLabel?: boolean;
12
12
  }
13
13
  interface ConstructorOptions {
14
- config?: InstanceConfiguration;
15
- types?: Record<string, LoggerConfiguration>;
14
+ config?: InstanceConfiguration;
15
+ types?: Record<string, LoggerConfiguration>;
16
16
  }
17
17
  declare type LoggerFunction = (message?: number | string | Error, ...args: any[]) => void;
18
18
  declare const LOG_TYPES: {
19
- error: {
20
- color: string;
21
- label: string;
22
- level: string;
23
- };
24
- info: {
25
- color: string;
26
- label: string;
27
- level: string;
28
- };
29
- warn: {
30
- color: string;
31
- label: string;
32
- level: string;
33
- };
34
- debug: {
35
- color: string;
36
- label: string;
37
- level: string;
38
- };
39
- log: {
40
- level: string;
41
- };
19
+ error: {
20
+ color: string;
21
+ label: string;
22
+ level: string;
23
+ };
24
+ info: {
25
+ color: string;
26
+ label: string;
27
+ level: string;
28
+ };
29
+ warn: {
30
+ color: string;
31
+ label: string;
32
+ level: string;
33
+ };
34
+ debug: {
35
+ color: string;
36
+ label: string;
37
+ level: string;
38
+ };
39
+ log: {
40
+ level: string;
41
+ };
42
42
  };
43
-
44
43
  declare class Logger {
45
- private readonly logCount;
46
- private history;
47
- private readonly config;
48
- private readonly types;
49
- private readonly longestLabel;
50
- [key: string]: any;
51
- constructor(options?: ConstructorOptions);
52
- private retainLog;
53
- private _log;
54
- private getLongestLabel;
55
- private get longestUnderlinedLabel();
56
- getRetainedLogs(type: string): string[];
57
- clearRetainedLogs(type: string): void;
44
+ private readonly logCount;
45
+ private history;
46
+ private readonly config;
47
+ private readonly types;
48
+ private readonly longestLabel;
49
+ [key: string]: any;
50
+ constructor(options?: ConstructorOptions);
51
+ private retainLog;
52
+ private _log;
53
+ private getLongestLabel;
54
+ private get longestUnderlinedLabel();
55
+ getRetainedLogs(type: string): string[];
56
+ clearRetainedLogs(type: string): void;
58
57
  }
59
-
60
- declare type LoggerInterface = { [key in keyof typeof LOG_TYPES]: LoggerFunction };
58
+ declare type LoggerInterface = {
59
+ [key in keyof typeof LOG_TYPES]: LoggerFunction;
60
+ };
61
61
  declare const logger: Logger & LoggerInterface;
62
62
  export { logger };
63
- export type { LoggerInterface };
63
+ export type { LoggerInterface };
@@ -6,6 +6,6 @@ export declare const isMonorepo: (root: string) => boolean;
6
6
  export declare const isModernjsMonorepo: (root: string) => boolean;
7
7
  export declare const findMonorepoRoot: (appDirectory: string, maxDepth?: number) => string | undefined;
8
8
  export declare const getMonorepoPackages: (root: string) => {
9
- name: string;
10
- path: string;
11
- }[];
9
+ name: string;
10
+ path: string;
11
+ }[];
@@ -1,3 +1,3 @@
1
1
  export declare function canUseNpm(): Promise<boolean>;
2
2
  export declare function canUseYarn(): Promise<boolean>;
3
- export declare function canUsePnpm(): Promise<boolean>;
3
+ export declare function canUsePnpm(): Promise<boolean>;
@@ -1,3 +1,3 @@
1
1
  export declare const isRelativePath: (test: string) => boolean;
2
2
  export declare const normalizeOutputPath: (s: string) => string;
3
- export declare const normalizeToPosixPath: (p: string) => string;
3
+ export declare const normalizeToPosixPath: (p: string) => string;
@@ -1,6 +1,6 @@
1
1
  interface EntryPoint {
2
- entryName: string;
2
+ entryName: string;
3
3
  }
4
4
  export declare const isSingleEntry: (entrypoints: EntryPoint[]) => boolean;
5
5
  export declare const prettyInstructions: (appContext: any, config: any) => string;
6
- export {};
6
+ export {};
@@ -5,4 +5,4 @@
5
5
  * LICENSE file at
6
6
  * https://github.com/facebook/create-react-app/blob/master/LICENSE
7
7
  */
8
- export declare function printBuildError(err: Error): void;
8
+ export declare function printBuildError(err: Error): void;
@@ -1,2 +1,2 @@
1
1
  export declare const readTsConfig: (root: string) => any;
2
- export declare const readTsConfigByFile: (filename: string) => any;
2
+ export declare const readTsConfigByFile: (filename: string) => any;
@@ -1,3 +1,3 @@
1
1
  export declare const removeLeadingSlash: (s: string) => string;
2
2
  export declare const removeTailSlash: (s: string) => string;
3
- export declare const removeSlash: (s: string) => string;
3
+ export declare const removeSlash: (s: string) => string;
@@ -1,4 +1,4 @@
1
1
  export declare const createRuntimeExportsUtils: (pwd: any, namespace: string, ts?: any) => {
2
- addExport: (statement: string) => void;
3
- getPath: () => string;
4
- };
2
+ addExport: (statement: string) => void;
3
+ getPath: () => string;
4
+ };
@@ -1,2 +1,2 @@
1
1
  declare const wait: (time?: number) => Promise<unknown>;
2
- export { wait };
2
+ export { wait };
@@ -1,8 +1,8 @@
1
1
  export declare type WatchChangeTypeValueT = 'add' | 'unlink' | 'change';
2
2
  export declare const WatchChangeType: Record<'ADD' | 'UNLINK' | 'CHANGE', WatchChangeTypeValueT>;
3
3
  declare type RunTaskType = (option: {
4
- changedFilePath: string;
5
- changeType: WatchChangeTypeValueT;
4
+ changedFilePath: string;
5
+ changeType: WatchChangeTypeValueT;
6
6
  }) => void | Promise<void>;
7
- export declare const watch: (watchDir: string | string[], runTask: RunTaskType, ignored?: string[]) => import("chokidar").FSWatcher;
8
- export {};
7
+ export declare const watch: (watchDir: string | string[], runTask: RunTaskType, ignored?: string[]) => import("./compiled").FSWatcher;
8
+ export {};
package/dist/wait.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ declare const wait: (time?: number) => Promise<unknown>;
2
+ export { wait };
package/dist/wait.js ADDED
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.wait = void 0;
4
+ const wait = (time = 0) => new Promise(resolve => {
5
+ setTimeout(resolve, time);
6
+ });
7
+ exports.wait = wait;
@@ -0,0 +1,8 @@
1
+ export declare type WatchChangeTypeValueT = 'add' | 'unlink' | 'change';
2
+ export declare const WatchChangeType: Record<'ADD' | 'UNLINK' | 'CHANGE', WatchChangeTypeValueT>;
3
+ declare type RunTaskType = (option: {
4
+ changedFilePath: string;
5
+ changeType: WatchChangeTypeValueT;
6
+ }) => void | Promise<void>;
7
+ export declare const watch: (watchDir: string | string[], runTask: RunTaskType, ignored?: string[]) => import("./compiled").FSWatcher;
8
+ export {};
package/dist/watch.js ADDED
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports.watch = exports.WatchChangeType = void 0;
32
+ const path = __importStar(require("path"));
33
+ const compiled_1 = require("./compiled");
34
+ exports.WatchChangeType = {
35
+ ADD: 'add',
36
+ UNLINK: 'unlink',
37
+ CHANGE: 'change',
38
+ };
39
+ const watch = (watchDir, runTask, ignored = []) => {
40
+ let ready = false;
41
+ const watcher = compiled_1.chokidar.watch(watchDir, {
42
+ ignored,
43
+ });
44
+ watcher.on('ready', () => (ready = true));
45
+ watcher.on('change', (filePath) => __awaiter(void 0, void 0, void 0, function* () {
46
+ const changedFilePath = path.resolve(filePath);
47
+ yield runTask({ changedFilePath, changeType: exports.WatchChangeType.CHANGE });
48
+ }));
49
+ watcher.on('add', (filePath) => __awaiter(void 0, void 0, void 0, function* () {
50
+ const changedFilePath = path.resolve(filePath);
51
+ if (ready) {
52
+ yield runTask({ changedFilePath, changeType: exports.WatchChangeType.ADD });
53
+ }
54
+ }));
55
+ watcher.on('unlink', (filePath) => __awaiter(void 0, void 0, void 0, function* () {
56
+ const changedFilePath = path.resolve(filePath);
57
+ yield runTask({ changedFilePath, changeType: exports.WatchChangeType.UNLINK });
58
+ }));
59
+ watcher.on('error', err => {
60
+ throw err;
61
+ });
62
+ return watcher;
63
+ };
64
+ exports.watch = watch;
package/jest.config.js CHANGED
@@ -2,7 +2,6 @@ const sharedConfig = require('@scripts/jest-config');
2
2
 
3
3
  /** @type {import('@jest/types').Config.InitialOptions} */
4
4
  module.exports = {
5
- // eslint-disable-next-line node/no-unsupported-features/es-syntax
6
5
  ...sharedConfig,
7
6
  rootDir: __dirname,
8
7
  modulePathIgnorePatterns: [
package/package.json CHANGED
@@ -11,81 +11,98 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "1.3.6",
14
+ "version": "1.3.8-canary.0",
15
15
  "jsnext:source": "./src/index.ts",
16
- "types": "./dist/types/index.d.ts",
17
- "main": "./dist/js/node/index.js",
18
- "module": "./dist/js/treeshaking/index.js",
19
- "jsnext:modern": "./dist/js/modern/index.js",
16
+ "types": "./dist/index.d.ts",
17
+ "main": "./dist/index.js",
18
+ "module": "./dist/index.js",
19
+ "jsnext:modern": "./dist/index.js",
20
20
  "exports": {
21
21
  ".": {
22
- "node": {
23
- "jsnext:source": "./src/index.ts",
24
- "import": "./dist/js/modern/index.js",
25
- "require": "./dist/js/node/index.js"
26
- },
27
- "default": "./dist/js/treeshaking/index.js"
22
+ "jsnext:source": "./src/index.ts",
23
+ "default": "./dist/index.js"
28
24
  },
29
25
  "./format": {
30
26
  "jsnext:source": "./src/format.ts",
31
- "default": "./dist/js/treeshaking/format.js"
27
+ "default": "./dist/format.js"
32
28
  },
33
29
  "./constants": {
34
30
  "jsnext:source": "./src/constants.ts",
35
- "default": "./dist/js/treeshaking/constants.js"
31
+ "default": "./dist/constants.js"
32
+ },
33
+ "./lodash": {
34
+ "jsnext:source": "./compiled/lodash/index.js",
35
+ "default": "./compiled/lodash/index.js"
36
+ },
37
+ "./strip-ansi": {
38
+ "jsnext:source": "./compiled/strip-ansi/index.js",
39
+ "default": "./compiled/strip-ansi/index.js"
36
40
  }
37
41
  },
38
42
  "typesVersions": {
39
43
  "*": {
40
44
  "format": [
41
- "./dist/types/format.d.ts"
45
+ "./dist/format.d.ts"
42
46
  ],
43
47
  "constants": [
44
- "./dist/types/constants.d.ts"
48
+ "./dist/constants.d.ts"
49
+ ],
50
+ "lodash": [
51
+ "./compiled/lodash/index.d.ts"
52
+ ],
53
+ "strip-ansi": [
54
+ "./compiled/strip-ansi/index.d.ts"
45
55
  ]
46
56
  }
47
57
  },
48
58
  "dependencies": {
49
59
  "@babel/runtime": "^7",
50
- "@types/fs-extra": "^9.0.12",
51
- "browserslist": "^4.16.7",
52
- "chalk": "^4.1.2",
53
- "chokidar": "^3.5.2",
54
- "debug": "^4.3.2",
55
- "filesize": "^7.0.0",
56
- "fs-extra": "^10.0.0",
57
- "glob": "^7.1.7",
58
- "gzip-size": "^6.0.0",
59
- "import-lazy": "^4.0.0",
60
- "pkg-up": "^3.1.0",
61
- "recursive-readdir": "^2.2.2",
62
- "strip-ansi": "6.0.0",
63
- "upath": "^2.0.1",
64
- "yaml": "^1.10.2",
65
- "execa": "5",
66
60
  "typescript": "^4"
67
61
  },
68
62
  "devDependencies": {
69
- "@types/debug": "^4.1.7",
70
- "@types/fs-extra": "^9.0.12",
63
+ "@modern-js/types": "^1.3.6",
64
+ "@scripts/build": "0.0.0",
65
+ "@scripts/jest-config": "0.0.0",
66
+ "@types/debug": "4.1.7",
67
+ "@types/fs-extra": "9.0.13",
71
68
  "@types/glob": "^7.1.4",
72
69
  "@types/jest": "^26",
70
+ "@types/js-yaml": "4.0.5",
71
+ "@types/lodash": "4.14.181",
73
72
  "@types/node": "^14",
74
- "@types/recursive-readdir": "^2.2.0",
75
- "webpack": "^5.54.0",
76
- "@scripts/build": "0.0.0",
73
+ "@types/recursive-readdir": "2.2.0",
74
+ "@types/signale": "1.4.4",
75
+ "browserslist": "4.20.2",
76
+ "chalk": "4.1.2",
77
+ "chokidar": "3.5.3",
78
+ "commander": "8.3.0",
79
+ "debug": "4.3.4",
80
+ "execa": "5.1.1",
81
+ "filesize": "8.0.7",
82
+ "fs-extra": "10.0.1",
83
+ "glob": "7.2.0",
84
+ "gzip-size": "6.0.0",
85
+ "import-lazy": "4.0.0",
77
86
  "jest": "^27",
78
- "@scripts/jest-config": "0.0.0",
79
- "@modern-js/types": "^1.3.5"
87
+ "js-yaml": "4.1.0",
88
+ "lodash": "4.17.21",
89
+ "pkg-up": "3.1.0",
90
+ "recursive-readdir": "2.2.2",
91
+ "signale": "1.4.0",
92
+ "strip-ansi": "6.0.1",
93
+ "upath": "2.0.1",
94
+ "webpack": "^5.71.0"
80
95
  },
81
96
  "sideEffects": false,
82
97
  "publishConfig": {
83
98
  "registry": "https://registry.npmjs.org/",
84
- "access": "public"
99
+ "access": "public",
100
+ "types": "./dist/index.d.ts"
85
101
  },
86
102
  "scripts": {
87
103
  "new": "modern new",
88
- "build": "modern build",
104
+ "dev": "tsc --watch",
105
+ "build": "tsc",
89
106
  "test": "jest --passWithNoTests"
90
107
  },
91
108
  "readme": "\n<p align=\"center\">\n <a href=\"https://modernjs.dev\" target=\"blank\"><img src=\"https://lf3-static.bytednsdoc.com/obj/eden-cn/ylaelkeh7nuhfnuhf/modernjs-cover.png\" width=\"300\" alt=\"Modern.js Logo\" /></a>\n</p>\n<p align=\"center\">\n现代 Web 工程体系\n <br/>\n <a href=\"https://modernjs.dev\" target=\"blank\">\n modernjs.dev\n </a>\n</p>\n<p align=\"center\">\n The meta-framework suite designed from scratch for frontend-focused modern web development\n</p>\n\n# Introduction\n\n> The doc site ([modernjs.dev](https://modernjs.dev)) and articles are only available in Chinese for now, we are planning to add English versions soon.\n\n- [Modern.js: Hello, World!](https://zhuanlan.zhihu.com/p/426707646)\n\n## Getting Started\n\n- [Quick Start](https://modernjs.dev/docs/start)\n- [Guides](https://modernjs.dev/docs/guides)\n- [API References](https://modernjs.dev/docs/apis)\n\n## Contributing\n\n- [Contributing Guide](https://github.com/modern-js-dev/modern.js/blob/main/CONTRIBUTING.md)\n"
@@ -1,5 +1,5 @@
1
- import debug from 'debug';
2
- import stripAnsi from 'strip-ansi';
1
+ import { debug } from '../src/compiled';
2
+ import { stripAnsi } from '../src';
3
3
  import { createDebugger } from '../src/debug';
4
4
 
5
5
  describe('debug utility', () => {
@@ -0,0 +1,27 @@
1
+ import { isEmpty, isFastRefresh } from '../src/is';
2
+
3
+ describe('validate', () => {
4
+ it('should validate empty object correctly', () => {
5
+ expect(isEmpty({})).toBeTruthy();
6
+ expect(isEmpty({ foo: 'bar' })).toBeFalsy();
7
+ });
8
+
9
+ it('should validate fast refresh correctly', () => {
10
+ const { NODE_ENV, FAST_REFRESH } = process.env;
11
+
12
+ process.env.NODE_ENV = 'development';
13
+ process.env.FAST_REFRESH = 'true';
14
+ expect(isFastRefresh()).toBeTruthy();
15
+
16
+ process.env.NODE_ENV = 'production';
17
+ process.env.FAST_REFRESH = 'true';
18
+ expect(isFastRefresh()).toBeFalsy();
19
+
20
+ process.env.NODE_ENV = 'development';
21
+ process.env.FAST_REFRESH = 'false';
22
+ expect(isFastRefresh()).toBeFalsy();
23
+
24
+ process.env.NODE_ENV = NODE_ENV;
25
+ process.env.FAST_REFRESH = FAST_REFRESH;
26
+ });
27
+ });
@@ -0,0 +1,19 @@
1
+ import { isNodeJS, isBrowser } from '../src/is/platform';
2
+
3
+ describe('validate platform', () => {
4
+ it('should validate Node.js correctly', () => {
5
+ expect(isNodeJS()).toBeTruthy();
6
+ });
7
+
8
+ it('should validate browser correctly', () => {
9
+ const windowSpy = jest.spyOn(window, 'window', 'get');
10
+
11
+ windowSpy.mockImplementation((): any => undefined);
12
+ expect(isBrowser()).toBeFalsy();
13
+
14
+ windowSpy.mockImplementation((): any => global);
15
+ expect(isBrowser()).toBeTruthy();
16
+
17
+ windowSpy.mockRestore();
18
+ });
19
+ });
@@ -57,7 +57,7 @@ jest.mock('os', () => {
57
57
  };
58
58
  });
59
59
 
60
- jest.mock('chalk', () => ({
60
+ jest.mock('../compiled/chalk', () => ({
61
61
  __esModule: true,
62
62
  default: {
63
63
  bold: jest.fn(str => str),
package/tsconfig.json CHANGED
@@ -1,12 +1,10 @@
1
1
  {
2
2
  "extends": "@modern-js/tsconfig/base",
3
3
  "compilerOptions": {
4
- "declaration": false,
5
- "allowJs": true,
6
- "jsx": "preserve",
4
+ "declaration": true,
5
+ "outDir": "./dist",
7
6
  "baseUrl": "./",
8
- "isolatedModules": true,
9
- "paths": {}
7
+ "isolatedModules": true
10
8
  },
11
9
  "include": ["src"]
12
10
  }