@modern-js/utils 1.3.7 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (317) hide show
  1. package/.eslintrc.js +9 -0
  2. package/CHANGELOG.md +31 -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/{types/FileSizeReporter.d.ts → FileSizeReporter.d.ts} +5 -5
  91. package/dist/FileSizeReporter.js +151 -0
  92. package/dist/{types/alias.d.ts → alias.d.ts} +12 -14
  93. package/dist/alias.js +62 -0
  94. package/dist/analyzeProject.d.ts +1 -0
  95. package/dist/analyzeProject.js +44 -0
  96. package/dist/applyOptionsChain.d.ts +6 -0
  97. package/dist/applyOptionsChain.js +30 -0
  98. package/dist/clearConsole.d.ts +1 -0
  99. package/dist/clearConsole.js +9 -0
  100. package/dist/{types/compatRequire.d.ts → compatRequire.d.ts} +1 -1
  101. package/dist/compatRequire.js +28 -0
  102. package/dist/compiled.d.ts +21 -0
  103. package/dist/compiled.js +33 -0
  104. package/dist/constants.d.ts +222 -0
  105. package/dist/constants.js +277 -0
  106. package/dist/{js/modern/debug.js → debug.d.ts} +1 -3
  107. package/dist/debug.js +11 -0
  108. package/dist/emptyDir.d.ts +1 -0
  109. package/dist/emptyDir.js +19 -0
  110. package/dist/{types/ensureAbsolutePath.d.ts → ensureAbsolutePath.d.ts} +1 -1
  111. package/dist/ensureAbsolutePath.js +15 -0
  112. package/dist/{types/findExists.d.ts → findExists.d.ts} +1 -1
  113. package/dist/findExists.js +21 -0
  114. package/dist/{types/format.d.ts → format.d.ts} +3 -3
  115. package/dist/format.js +113 -0
  116. package/dist/{types/generateMetaTags.d.ts → generateMetaTags.d.ts} +3 -3
  117. package/dist/generateMetaTags.js +48 -0
  118. package/dist/{types/getBrowserslist.d.ts → getBrowserslist.d.ts} +1 -1
  119. package/dist/getBrowserslist.js +7 -0
  120. package/dist/{types/getCacheIdentifier.d.ts → getCacheIdentifier.d.ts} +3 -3
  121. package/dist/getCacheIdentifier.js +24 -0
  122. package/dist/{types/getEntryOptions.d.ts → getEntryOptions.d.ts} +1 -1
  123. package/dist/getEntryOptions.js +26 -0
  124. package/dist/{types/getPackageManager.d.ts → getPackageManager.d.ts} +1 -1
  125. package/dist/getPackageManager.js +47 -0
  126. package/dist/{types/getPort.d.ts → getPort.d.ts} +1 -1
  127. package/dist/getPort.js +62 -0
  128. package/dist/getServerConfig.d.ts +1 -0
  129. package/dist/getServerConfig.js +39 -0
  130. package/dist/{types/import.d.ts → import.d.ts} +2 -2
  131. package/dist/import.js +10 -0
  132. package/dist/{types/index.d.ts → index.d.ts} +5 -4
  133. package/dist/index.js +46 -0
  134. package/dist/{types/is → is}/index.d.ts +1 -4
  135. package/dist/is/index.js +82 -0
  136. package/dist/{types/is → is}/node-env.d.ts +1 -1
  137. package/dist/is/node-env.js +12 -0
  138. package/dist/is/platform.d.ts +2 -0
  139. package/dist/is/platform.js +10 -0
  140. package/dist/{types/is → is}/type.d.ts +1 -1
  141. package/dist/is/type.js +38 -0
  142. package/dist/logger.d.ts +63 -0
  143. package/dist/logger.js +128 -0
  144. package/dist/{types/monorepo.d.ts → monorepo.d.ts} +3 -3
  145. package/dist/monorepo.js +80 -0
  146. package/dist/{types/nodeEnv.d.ts → nodeEnv.d.ts} +1 -1
  147. package/dist/nodeEnv.js +49 -0
  148. package/dist/{types/path.d.ts → path.d.ts} +1 -1
  149. package/dist/path.js +14 -0
  150. package/dist/{types/prettyInstructions.d.ts → prettyInstructions.d.ts} +2 -2
  151. package/dist/prettyInstructions.js +64 -0
  152. package/dist/{types/printBuildError.d.ts → printBuildError.d.ts} +1 -1
  153. package/dist/printBuildError.js +43 -0
  154. package/dist/{types/readTsConfig.d.ts → readTsConfig.d.ts} +1 -1
  155. package/dist/readTsConfig.js +19 -0
  156. package/dist/{types/removeSlash.d.ts → removeSlash.d.ts} +1 -1
  157. package/dist/removeSlash.js +9 -0
  158. package/dist/{types/runtimeExports.d.ts → runtimeExports.d.ts} +3 -3
  159. package/dist/runtimeExports.js +53 -0
  160. package/dist/ssrHelpers.d.ts +4 -0
  161. package/dist/ssrHelpers.js +7 -0
  162. package/dist/storage.d.ts +5 -0
  163. package/dist/storage.js +61 -0
  164. package/dist/{types/wait.d.ts → wait.d.ts} +1 -1
  165. package/dist/wait.js +7 -0
  166. package/dist/{types/watch.d.ts → watch.d.ts} +4 -4
  167. package/dist/watch.js +64 -0
  168. package/package.json +55 -37
  169. package/tsconfig.json +3 -5
  170. package/dist/js/modern/FileSizeReporter.js +0 -156
  171. package/dist/js/modern/alias.js +0 -74
  172. package/dist/js/modern/applyOptionsChain.js +0 -27
  173. package/dist/js/modern/chalk.js +0 -2
  174. package/dist/js/modern/clearConsole.js +0 -5
  175. package/dist/js/modern/compatRequire.js +0 -26
  176. package/dist/js/modern/constants.js +0 -333
  177. package/dist/js/modern/emptyDir.js +0 -6
  178. package/dist/js/modern/ensureAbsolutePath.js +0 -9
  179. package/dist/js/modern/findExists.js +0 -16
  180. package/dist/js/modern/format.js +0 -137
  181. package/dist/js/modern/generateMetaTags.js +0 -49
  182. package/dist/js/modern/getBrowserslist.js +0 -5
  183. package/dist/js/modern/getCacheIdentifier.js +0 -20
  184. package/dist/js/modern/getEntryOptions.js +0 -24
  185. package/dist/js/modern/getPackageManager.js +0 -37
  186. package/dist/js/modern/getPort.js +0 -52
  187. package/dist/js/modern/import.js +0 -11
  188. package/dist/js/modern/index.js +0 -34
  189. package/dist/js/modern/is/index.js +0 -77
  190. package/dist/js/modern/is/node-env.js +0 -5
  191. package/dist/js/modern/is/platform.js +0 -2
  192. package/dist/js/modern/is/type.js +0 -25
  193. package/dist/js/modern/logger.js +0 -152
  194. package/dist/js/modern/monorepo.js +0 -84
  195. package/dist/js/modern/nodeEnv.js +0 -31
  196. package/dist/js/modern/path.js +0 -5
  197. package/dist/js/modern/pkgUp.js +0 -2
  198. package/dist/js/modern/prettyInstructions.js +0 -79
  199. package/dist/js/modern/printBuildError.js +0 -40
  200. package/dist/js/modern/readTsConfig.js +0 -13
  201. package/dist/js/modern/removeSlash.js +0 -3
  202. package/dist/js/modern/runtimeExports.js +0 -52
  203. package/dist/js/modern/wait.js +0 -5
  204. package/dist/js/modern/watch.js +0 -43
  205. package/dist/js/node/FileSizeReporter.js +0 -175
  206. package/dist/js/node/alias.js +0 -97
  207. package/dist/js/node/applyOptionsChain.js +0 -37
  208. package/dist/js/node/chalk.js +0 -15
  209. package/dist/js/node/clearConsole.js +0 -14
  210. package/dist/js/node/compatRequire.js +0 -41
  211. package/dist/js/node/constants.js +0 -353
  212. package/dist/js/node/debug.js +0 -19
  213. package/dist/js/node/emptyDir.js +0 -18
  214. package/dist/js/node/ensureAbsolutePath.js +0 -20
  215. package/dist/js/node/findExists.js +0 -27
  216. package/dist/js/node/format.js +0 -141
  217. package/dist/js/node/generateMetaTags.js +0 -58
  218. package/dist/js/node/getBrowserslist.js +0 -17
  219. package/dist/js/node/getCacheIdentifier.js +0 -27
  220. package/dist/js/node/getEntryOptions.js +0 -35
  221. package/dist/js/node/getPackageManager.js +0 -51
  222. package/dist/js/node/getPort.js +0 -67
  223. package/dist/js/node/import.js +0 -19
  224. package/dist/js/node/index.js +0 -465
  225. package/dist/js/node/is/index.js +0 -150
  226. package/dist/js/node/is/node-env.js +0 -23
  227. package/dist/js/node/is/platform.js +0 -14
  228. package/dist/js/node/is/type.js +0 -46
  229. package/dist/js/node/logger.js +0 -162
  230. package/dist/js/node/monorepo.js +0 -118
  231. package/dist/js/node/nodeEnv.js +0 -45
  232. package/dist/js/node/path.js +0 -24
  233. package/dist/js/node/pkgUp.js +0 -15
  234. package/dist/js/node/prettyInstructions.js +0 -95
  235. package/dist/js/node/printBuildError.js +0 -52
  236. package/dist/js/node/readTsConfig.js +0 -28
  237. package/dist/js/node/removeSlash.js +0 -18
  238. package/dist/js/node/runtimeExports.js +0 -68
  239. package/dist/js/node/wait.js +0 -12
  240. package/dist/js/node/watch.js +0 -61
  241. package/dist/js/treeshaking/FileSizeReporter.js +0 -185
  242. package/dist/js/treeshaking/alias.js +0 -72
  243. package/dist/js/treeshaking/applyOptionsChain.js +0 -31
  244. package/dist/js/treeshaking/chalk.js +0 -2
  245. package/dist/js/treeshaking/clearConsole.js +0 -5
  246. package/dist/js/treeshaking/compatRequire.js +0 -29
  247. package/dist/js/treeshaking/constants.js +0 -333
  248. package/dist/js/treeshaking/debug.js +0 -10
  249. package/dist/js/treeshaking/emptyDir.js +0 -37
  250. package/dist/js/treeshaking/ensureAbsolutePath.js +0 -11
  251. package/dist/js/treeshaking/findExists.js +0 -33
  252. package/dist/js/treeshaking/format.js +0 -167
  253. package/dist/js/treeshaking/generateMetaTags.js +0 -55
  254. package/dist/js/treeshaking/getBrowserslist.js +0 -7
  255. package/dist/js/treeshaking/getCacheIdentifier.js +0 -35
  256. package/dist/js/treeshaking/getEntryOptions.js +0 -26
  257. package/dist/js/treeshaking/getPackageManager.js +0 -101
  258. package/dist/js/treeshaking/getPort.js +0 -103
  259. package/dist/js/treeshaking/import.js +0 -11
  260. package/dist/js/treeshaking/index.js +0 -34
  261. package/dist/js/treeshaking/is/index.js +0 -81
  262. package/dist/js/treeshaking/is/node-env.js +0 -13
  263. package/dist/js/treeshaking/is/platform.js +0 -6
  264. package/dist/js/treeshaking/is/type.js +0 -27
  265. package/dist/js/treeshaking/logger.js +0 -188
  266. package/dist/js/treeshaking/monorepo.js +0 -95
  267. package/dist/js/treeshaking/nodeEnv.js +0 -108
  268. package/dist/js/treeshaking/path.js +0 -11
  269. package/dist/js/treeshaking/pkgUp.js +0 -2
  270. package/dist/js/treeshaking/prettyInstructions.js +0 -100
  271. package/dist/js/treeshaking/printBuildError.js +0 -40
  272. package/dist/js/treeshaking/readTsConfig.js +0 -13
  273. package/dist/js/treeshaking/removeSlash.js +0 -9
  274. package/dist/js/treeshaking/runtimeExports.js +0 -61
  275. package/dist/js/treeshaking/wait.js +0 -8
  276. package/dist/js/treeshaking/watch.js +0 -112
  277. package/dist/types/applyOptionsChain.d.ts +0 -6
  278. package/dist/types/chalk.d.ts +0 -2
  279. package/dist/types/clearConsole.d.ts +0 -1
  280. package/dist/types/constants.d.ts +0 -219
  281. package/dist/types/debug.d.ts +0 -8
  282. package/dist/types/emptyDir.d.ts +0 -1
  283. package/dist/types/is/platform.d.ts +0 -2
  284. package/dist/types/logger.d.ts +0 -63
  285. package/dist/types/pkgUp.d.ts +0 -2
  286. package/tests/.eslintrc.js +0 -6
  287. package/tests/__snapshots__/prettyInstructions.test.ts.snap +0 -19
  288. package/tests/applyOptionsChain.test.ts +0 -100
  289. package/tests/compatRequire.test.ts +0 -32
  290. package/tests/debug.test.ts +0 -25
  291. package/tests/ensureAbsolutePath.test.ts +0 -16
  292. package/tests/findExists.test.ts +0 -22
  293. package/tests/fixtures/browserlist/develop/package.json +0 -11
  294. package/tests/fixtures/browserlist/dotfile/.browserslistrc +0 -3
  295. package/tests/fixtures/browserlist/pkg/package.json +0 -7
  296. package/tests/fixtures/compat-require/cjs.js +0 -1
  297. package/tests/fixtures/compat-require/empty.js +0 -1
  298. package/tests/fixtures/compat-require/esm.js +0 -5
  299. package/tests/fixtures/compat-require/foo.js +0 -3
  300. package/tests/fixtures/file-exists/a.ejs +0 -0
  301. package/tests/fixtures/file-exists/a.js/.gitkeep +0 -0
  302. package/tests/fixtures/file-exists/a.mjs +0 -0
  303. package/tests/fixtures/file-exists/a.ts +0 -0
  304. package/tests/format.test.ts +0 -60
  305. package/tests/generateMetaTags.test.ts +0 -19
  306. package/tests/getBrowserslist.test.ts +0 -32
  307. package/tests/getCacheIdentifier.test.ts +0 -37
  308. package/tests/getEntryOptions.test.ts +0 -53
  309. package/tests/index.test.ts +0 -18
  310. package/tests/is.test.ts +0 -27
  311. package/tests/isPlatform.test.ts +0 -19
  312. package/tests/isType.test.ts +0 -85
  313. package/tests/logger.test.ts +0 -53
  314. package/tests/prettyInstructions.test.ts +0 -139
  315. package/tests/removeSlash.test.ts +0 -19
  316. package/tests/tsconfig.json +0 -11
  317. package/tests/wait.ts +0 -38
@@ -1,32 +0,0 @@
1
- import path from 'path';
2
- import { getBrowserslist, defaults } from '../src/getBrowserslist';
3
-
4
- describe('get browserslist', () => {
5
- const fixture = path.resolve(__dirname, './fixtures/browserlist');
6
-
7
- test(`should load browserslist from package.json`, () => {
8
- expect(getBrowserslist(path.join(fixture, 'pkg'))).toEqual([
9
- 'not IE 11',
10
- 'maintained node versions',
11
- ]);
12
- });
13
-
14
- test(`should load browerslist from .browserslistrc`, () => {
15
- expect(getBrowserslist(path.join(fixture, 'dotfile'))).toEqual([
16
- 'defaults',
17
- 'not IE 11',
18
- 'maintained node versions',
19
- ]);
20
- });
21
-
22
- test(`should load browserslist base on environment`, () => {
23
- process.env.NODE_ENV = 'development';
24
- expect(getBrowserslist(path.join(fixture, 'develop'))).toEqual([
25
- 'last 1 chrome version',
26
- ]);
27
- });
28
-
29
- test(`should return default browserslist config`, () => {
30
- expect(getBrowserslist(path.join(fixture))).toEqual(defaults);
31
- });
32
- });
@@ -1,37 +0,0 @@
1
- import { getCacheIdentifier } from '../src/getCacheIdentifier';
2
-
3
- describe('get cache identifier', () => {
4
- test('should use package name and version', () => {
5
- expect(
6
- getCacheIdentifier([
7
- {
8
- name: 'package-a',
9
- version: '0.1.0',
10
- },
11
- {
12
- name: 'package-b',
13
- version: '1.0.1',
14
- },
15
- ]),
16
- ).toEqual(`test:package-a@0.1.0:package-b@1.0.1`);
17
- });
18
-
19
- test(`should return identifier with node environment`, () => {
20
- const packages = [
21
- {
22
- name: 'a',
23
- version: '0.1.0',
24
- },
25
- ];
26
-
27
- process.env.NODE_ENV = 'development';
28
- expect(getCacheIdentifier(packages)).toEqual('development:a@0.1.0');
29
-
30
- process.env.NODE_ENV = 'production';
31
- expect(getCacheIdentifier(packages)).toEqual('production:a@0.1.0');
32
-
33
- process.env.NODE_ENV = '';
34
-
35
- expect(getCacheIdentifier(packages)).toEqual(`:a@0.1.0`);
36
- });
37
- });
@@ -1,53 +0,0 @@
1
- import { getEntryOptions } from '../src/getEntryOptions';
2
-
3
- describe('get entry options', () => {
4
- test('should return default options', () => {
5
- expect(getEntryOptions('page-a', 'default value')).toEqual('default value');
6
-
7
- expect(
8
- getEntryOptions('page-a', 'default value', { 'page-b': 'a' }),
9
- ).toEqual('default value');
10
- });
11
-
12
- test(`should return options from optionsByEntries`, () => {
13
- expect(
14
- getEntryOptions('page-a', 'default value', { 'page-a': 'a' }),
15
- ).toEqual('a');
16
- });
17
-
18
- test(`should compatible with main entry using packageName as key`, () => {
19
- expect(
20
- getEntryOptions(
21
- 'main',
22
- 'default value',
23
- { 'package-name': 'a' },
24
- 'package-name',
25
- ),
26
- ).toEqual('a');
27
- });
28
-
29
- expect(
30
- getEntryOptions(
31
- 'page-a',
32
- { name: 'a' },
33
- {
34
- 'page-a': {
35
- name: 'page-a',
36
- about: 'b',
37
- },
38
- },
39
- ),
40
- ).toEqual({
41
- name: 'page-a',
42
- about: 'b',
43
- });
44
-
45
- expect(
46
- getEntryOptions<
47
- | {
48
- [name: string]: string;
49
- }
50
- | boolean
51
- >('page-a', { name: 'a' }, { 'page-a': false }),
52
- ).toEqual(false);
53
- });
@@ -1,18 +0,0 @@
1
- import { canUseNpm, canUsePnpm, canUseYarn } from '../src';
2
-
3
- jest.setTimeout(40000);
4
-
5
- describe('test generator utils', () => {
6
- test('test canUseNpm', async () => {
7
- const npmAbility = await canUseNpm();
8
- expect(typeof npmAbility === 'boolean').toBe(true);
9
- });
10
- test('test canUsePnpm', async () => {
11
- const pnpmAbility = await canUsePnpm();
12
- expect(typeof pnpmAbility === 'boolean').toBe(true);
13
- });
14
- test('test canUseYarn', async () => {
15
- const yarnAbility = await canUseYarn();
16
- expect(typeof yarnAbility === 'boolean').toBe(true);
17
- });
18
- });
package/tests/is.test.ts DELETED
@@ -1,27 +0,0 @@
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
- });
@@ -1,19 +0,0 @@
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
- });
@@ -1,85 +0,0 @@
1
- import {
2
- isArray,
3
- isObject,
4
- isString,
5
- isRegExp,
6
- isPromise,
7
- isUndefined,
8
- isPlainObject,
9
- } from '../src/is/type';
10
-
11
- describe('validate type', () => {
12
- it('should validate string correctly', () => {
13
- expect(isString('')).toBeTruthy();
14
- expect(isString('foo')).toBeTruthy();
15
- expect(isString(null)).toBeFalsy();
16
- expect(isString(123)).toBeFalsy();
17
- });
18
-
19
- it('should validate undefined correctly', () => {
20
- expect(isUndefined(undefined)).toBeTruthy();
21
- expect(isUndefined(null)).toBeFalsy();
22
- expect(isUndefined('')).toBeFalsy();
23
- expect(isUndefined(123)).toBeFalsy();
24
- });
25
-
26
- it('should validate array correctly', () => {
27
- expect(isArray(undefined)).toBeFalsy();
28
- expect(isArray(null)).toBeFalsy();
29
- expect(isArray('')).toBeFalsy();
30
- expect(isArray(123)).toBeFalsy();
31
- expect(isArray({})).toBeFalsy();
32
- expect(isArray([])).toBeTruthy();
33
- });
34
-
35
- it('should validate object correctly', () => {
36
- expect(isObject(1)).toBeFalsy();
37
- expect(isObject('1')).toBeFalsy();
38
- expect(isObject(undefined)).toBeFalsy();
39
- expect(isObject(null)).toBeFalsy();
40
- // eslint-disable-next-line @typescript-eslint/no-empty-function
41
- expect(isObject(() => {})).toBeFalsy();
42
- expect(isObject({})).toBeTruthy();
43
- expect(isObject([])).toBeTruthy();
44
- expect(isObject(/foo/)).toBeTruthy();
45
- });
46
-
47
- it('should validate plain object correctly', () => {
48
- expect(isPlainObject(1)).toBeFalsy();
49
- expect(isPlainObject('1')).toBeFalsy();
50
- expect(isPlainObject(undefined)).toBeFalsy();
51
- expect(isPlainObject(null)).toBeFalsy();
52
- // eslint-disable-next-line @typescript-eslint/no-empty-function
53
- expect(isPlainObject(() => {})).toBeFalsy();
54
- expect(isPlainObject({})).toBeTruthy();
55
- expect(isPlainObject([])).toBeFalsy();
56
- expect(isPlainObject(/foo/)).toBeFalsy();
57
- });
58
-
59
- it('should validate RegExp correctly', () => {
60
- expect(isRegExp(1)).toBeFalsy();
61
- expect(isRegExp('1')).toBeFalsy();
62
- expect(isRegExp(undefined)).toBeFalsy();
63
- expect(isRegExp(null)).toBeFalsy();
64
- expect(isRegExp({})).toBeFalsy();
65
- expect(isRegExp([])).toBeFalsy();
66
- expect(isRegExp(/foo/)).toBeTruthy();
67
- });
68
-
69
- it('should validate Promise correctly', () => {
70
- expect(isPromise(1)).toBeFalsy();
71
- expect(isPromise('1')).toBeFalsy();
72
- expect(isPromise(undefined)).toBeFalsy();
73
- expect(isPromise(null)).toBeFalsy();
74
- expect(isPromise({})).toBeFalsy();
75
- expect(isPromise([])).toBeFalsy();
76
- expect(isPromise(/foo/)).toBeFalsy();
77
- expect(
78
- isPromise(
79
- new Promise<void>(resolve => {
80
- resolve();
81
- }),
82
- ),
83
- ).toBeTruthy();
84
- });
85
- });
@@ -1,53 +0,0 @@
1
- import { logger } from '../src/logger';
2
-
3
- describe('logger', () => {
4
- test('should log', () => {
5
- // eslint-disable-next-line no-console
6
- console.log = jest.fn();
7
-
8
- logger.log('this is a log message');
9
-
10
- // eslint-disable-next-line no-console
11
- expect((console.log as jest.Mock).mock.calls[0][0]).toBe(
12
- 'this is a log message',
13
- );
14
-
15
- logger.info('this is an info message');
16
-
17
- logger.warn('this is a warn message');
18
-
19
- logger.error(new Error('this is an error message'));
20
-
21
- // eslint-disable-next-line no-console
22
- expect(console.log as jest.Mock).toHaveBeenCalledTimes(4);
23
- });
24
-
25
- test('should create new logger', () => {
26
- // eslint-disable-next-line no-console
27
- console.log = jest.fn();
28
-
29
- const customLogger = new logger.Logger({
30
- config: {
31
- displayLabel: true,
32
- underlineLabel: false,
33
- uppercaseLabel: false,
34
- },
35
- types: {
36
- custom: {
37
- color: 'blue',
38
- label: 'custom',
39
- level: 'info',
40
- },
41
- },
42
- });
43
-
44
- customLogger.custom('custom log');
45
-
46
- const reg = new RegExp(`custom.*custom log$`);
47
- // eslint-disable-next-line no-console
48
- expect((console.log as jest.Mock).mock.calls[0][0]).toMatch(reg);
49
-
50
- // eslint-disable-next-line no-console
51
- expect(console.log as jest.Mock).toHaveBeenCalledTimes(1);
52
- });
53
- });
@@ -1,139 +0,0 @@
1
- import { prettyInstructions } from '../src/prettyInstructions';
2
-
3
- const mockNetworkInterfaces = {
4
- lo0: [
5
- {
6
- address: '127.0.0.1',
7
- netmask: '255.0.0.0',
8
- family: 'IPv4',
9
- mac: '00:00:00:00:00:00',
10
- internal: true,
11
- cidr: '127.0.0.1/8',
12
- },
13
- ],
14
- en5: [
15
- {
16
- address: 'fe80::aede:48ff:fe00:1122',
17
- netmask: 'ffff:ffff:ffff:ffff::',
18
- family: 'IPv6',
19
- mac: 'ac:de:48:00:11:22',
20
- internal: false,
21
- cidr: 'fe80::aede:48ff:fe00:1122/64',
22
- scopeid: 4,
23
- },
24
- ],
25
- en0: [
26
- {
27
- address: '11.11.111.11',
28
- netmask: '255.255.252.0',
29
- family: 'IPv4',
30
- mac: '90:9c:4a:cf:11:d2',
31
- internal: false,
32
- cidr: '10.85.117.60/22',
33
- },
34
- ],
35
- utun2: [
36
- {
37
- address: '10.100.100.100',
38
- netmask: '255.255.224.0',
39
- family: 'IPv4',
40
- mac: '00:00:00:00:00:00',
41
- internal: false,
42
- cidr: '10.255.182.172/19',
43
- },
44
- ],
45
- };
46
-
47
- jest.mock('os', () => {
48
- const originalModule = jest.requireActual('os');
49
- return {
50
- __esModule: true,
51
- ...originalModule,
52
- default: {
53
- networkInterfaces() {
54
- return mockNetworkInterfaces;
55
- },
56
- },
57
- };
58
- });
59
-
60
- jest.mock('chalk', () => ({
61
- __esModule: true,
62
- default: {
63
- bold: jest.fn(str => str),
64
- green: jest.fn(str => str),
65
- red: jest.fn(str => str),
66
- yellow: jest.fn(str => str),
67
- cyanBright: jest.fn(str => str),
68
- },
69
- }));
70
-
71
- describe('prettyInstructions', () => {
72
- test('basic usage', () => {
73
- const mockAppContext = {
74
- entrypoints: [
75
- {
76
- entryName: 'main',
77
- entry: '/example/node_modules/.modern-js/main/index.js',
78
- isAutoMount: true,
79
- customBootstrap: false,
80
- },
81
- ],
82
- serverRoutes: [
83
- {
84
- urlPath: '/',
85
- entryName: 'main',
86
- entryPath: 'html/main/index.html',
87
- isSPA: true,
88
- isSSR: false,
89
- enableModernMode: false,
90
- },
91
- {
92
- urlPath: '/api',
93
- isApi: true,
94
- entryPath: '',
95
- isSPA: false,
96
- isSSR: false,
97
- },
98
- ],
99
- port: 8080,
100
- existSrc: true,
101
- };
102
- const mockConfig = {
103
- dev: {
104
- https: true,
105
- },
106
- };
107
-
108
- const message = prettyInstructions(mockAppContext, mockConfig);
109
-
110
- expect(message).toMatchSnapshot();
111
- });
112
-
113
- test('The src directory does not exist', () => {
114
- const mockAppContext = {
115
- entrypoints: [],
116
- serverRoutes: [
117
- {
118
- urlPath: '/api',
119
- isApi: true,
120
- entryPath: '',
121
- isSPA: false,
122
- isSSR: false,
123
- },
124
- ],
125
- port: 8080,
126
- existSrc: false,
127
- };
128
-
129
- const mockConfig = {
130
- dev: {
131
- https: true,
132
- },
133
- };
134
-
135
- const message = prettyInstructions(mockAppContext, mockConfig);
136
-
137
- expect(message).toMatchSnapshot();
138
- });
139
- });
@@ -1,19 +0,0 @@
1
- import {
2
- removeLeadingSlash,
3
- removeSlash,
4
- removeTailSlash,
5
- } from '../src/removeSlash';
6
-
7
- describe('remove slash', () => {
8
- test(`should remove leading slash`, () => {
9
- expect(removeLeadingSlash('///yuck/example//')).toEqual('yuck/example//');
10
- });
11
-
12
- test(`should remove tail slash`, () => {
13
- expect(removeTailSlash('///yuck/example//')).toEqual('///yuck/example');
14
- });
15
-
16
- test(`should remove slash`, () => {
17
- expect(removeSlash('///yuck/example//')).toEqual('yuck/example');
18
- });
19
- });
@@ -1,11 +0,0 @@
1
- {
2
- "extends": "@modern-js/tsconfig/base",
3
- "compilerOptions": {
4
- "declaration": false,
5
- "jsx": "preserve",
6
- "baseUrl": "./",
7
- "isolatedModules": true,
8
- "paths": {},
9
- "types": ["node", "jest"]
10
- }
11
- }
package/tests/wait.ts DELETED
@@ -1,38 +0,0 @@
1
- import { wait } from '../src/wait';
2
-
3
- jest.useRealTimers();
4
-
5
- describe('wait', () => {
6
- test('basic usage', async () => {
7
- const fn1 = jest.fn();
8
- const fn2 = jest.fn();
9
- const fn3 = async () => {
10
- fn1();
11
- await wait();
12
- fn2();
13
- };
14
-
15
- fn3();
16
- expect(fn1).toBeCalled();
17
- expect(fn2).not.toBeCalled();
18
- await wait();
19
- expect(fn2).toBeCalled();
20
- });
21
-
22
- test('delay', async () => {
23
- const fn1 = jest.fn();
24
- const fn2 = jest.fn();
25
- const time = 100;
26
- const fn3 = async () => {
27
- fn1();
28
- await wait(time);
29
- fn2();
30
- };
31
-
32
- fn3();
33
- expect(fn1).toBeCalled();
34
- expect(fn2).not.toBeCalled();
35
- await wait(time);
36
- expect(fn2).toBeCalled();
37
- });
38
- });