piral-cli 1.0.0-pre.2296 → 1.0.1-beta.5640

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 (408) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +30 -7
  3. package/lib/api.js +23 -23
  4. package/lib/api.js.map +1 -1
  5. package/lib/apps/add-piral-instance-pilet.d.ts +26 -0
  6. package/lib/apps/add-piral-instance-pilet.js +53 -0
  7. package/lib/apps/add-piral-instance-pilet.js.map +1 -0
  8. package/lib/apps/build-pilet.d.ts +33 -2
  9. package/lib/apps/build-pilet.js +159 -32
  10. package/lib/apps/build-pilet.js.map +1 -1
  11. package/lib/apps/build-piral.d.ts +18 -1
  12. package/lib/apps/build-piral.js +68 -52
  13. package/lib/apps/build-piral.js.map +1 -1
  14. package/lib/apps/debug-pilet.d.ts +38 -2
  15. package/lib/apps/debug-pilet.js +150 -108
  16. package/lib/apps/debug-pilet.js.map +1 -1
  17. package/lib/apps/debug-piral.d.ts +23 -0
  18. package/lib/apps/debug-piral.js +63 -52
  19. package/lib/apps/debug-piral.js.map +1 -1
  20. package/lib/apps/declaration-piral.js +5 -3
  21. package/lib/apps/declaration-piral.js.map +1 -1
  22. package/lib/apps/index.d.ts +3 -0
  23. package/lib/apps/index.js +8 -1
  24. package/lib/apps/index.js.map +1 -1
  25. package/lib/apps/new-pilet.d.ts +7 -3
  26. package/lib/apps/new-pilet.js +47 -52
  27. package/lib/apps/new-pilet.js.map +1 -1
  28. package/lib/apps/new-piral.d.ts +7 -3
  29. package/lib/apps/new-piral.js +33 -23
  30. package/lib/apps/new-piral.js.map +1 -1
  31. package/lib/apps/pack-pilet.d.ts +9 -0
  32. package/lib/apps/pack-pilet.js +6 -13
  33. package/lib/apps/pack-pilet.js.map +1 -1
  34. package/lib/apps/publish-pilet.d.ts +23 -3
  35. package/lib/apps/publish-pilet.js +112 -62
  36. package/lib/apps/publish-pilet.js.map +1 -1
  37. package/lib/apps/publish-piral.d.ts +6 -2
  38. package/lib/apps/publish-piral.js +30 -26
  39. package/lib/apps/publish-piral.js.map +1 -1
  40. package/lib/apps/remove-piral-instance-pilet.d.ts +22 -0
  41. package/lib/apps/remove-piral-instance-pilet.js +52 -0
  42. package/lib/apps/remove-piral-instance-pilet.js.map +1 -0
  43. package/lib/apps/run-emulator-piral.d.ts +34 -0
  44. package/lib/apps/run-emulator-piral.js +91 -0
  45. package/lib/apps/run-emulator-piral.js.map +1 -0
  46. package/lib/apps/upgrade-pilet.d.ts +6 -2
  47. package/lib/apps/upgrade-pilet.js +41 -43
  48. package/lib/apps/upgrade-pilet.js.map +1 -1
  49. package/lib/apps/upgrade-piral.d.ts +2 -2
  50. package/lib/apps/upgrade-piral.js +21 -20
  51. package/lib/apps/upgrade-piral.js.map +1 -1
  52. package/lib/apps/validate-pilet.js +30 -36
  53. package/lib/apps/validate-pilet.js.map +1 -1
  54. package/lib/apps/validate-piral.js +13 -10
  55. package/lib/apps/validate-piral.js.map +1 -1
  56. package/lib/build/bundler-calls.d.ts +3 -0
  57. package/lib/build/bundler-calls.js +117 -0
  58. package/lib/build/bundler-calls.js.map +1 -0
  59. package/lib/build/run-build-pilet.d.ts +1 -0
  60. package/lib/build/run-build-pilet.js +65 -0
  61. package/lib/build/run-build-pilet.js.map +1 -0
  62. package/lib/build/run-build-piral.d.ts +1 -0
  63. package/lib/build/run-build-piral.js +67 -0
  64. package/lib/build/run-build-piral.js.map +1 -0
  65. package/lib/build/run-debug-mono-piral.d.ts +1 -0
  66. package/lib/build/run-debug-mono-piral.js +70 -0
  67. package/lib/build/run-debug-mono-piral.js.map +1 -0
  68. package/lib/build/run-debug-pilet.d.ts +1 -0
  69. package/lib/build/run-debug-pilet.js +89 -0
  70. package/lib/build/run-debug-pilet.js.map +1 -0
  71. package/lib/build/run-debug-piral.d.ts +1 -0
  72. package/lib/build/run-debug-piral.js +85 -0
  73. package/lib/build/run-debug-piral.js.map +1 -0
  74. package/lib/bundler.js +75 -26
  75. package/lib/bundler.js.map +1 -1
  76. package/lib/cli.js +7 -4
  77. package/lib/cli.js.map +1 -1
  78. package/lib/commands.js +266 -46
  79. package/lib/commands.js.map +1 -1
  80. package/lib/common/archive.d.ts +4 -0
  81. package/lib/common/archive.js +31 -10
  82. package/lib/common/archive.js.map +1 -1
  83. package/lib/common/browser.d.ts +2 -1
  84. package/lib/common/browser.js +17 -8
  85. package/lib/common/browser.js.map +1 -1
  86. package/lib/common/clients/index.d.ts +21 -0
  87. package/lib/common/clients/index.js +48 -0
  88. package/lib/common/clients/index.js.map +1 -0
  89. package/lib/common/clients/lerna.d.ts +7 -1
  90. package/lib/common/clients/lerna.js +93 -7
  91. package/lib/common/clients/lerna.js.map +1 -1
  92. package/lib/common/clients/npm.d.ts +6 -1
  93. package/lib/common/clients/npm.js +66 -18
  94. package/lib/common/clients/npm.js.map +1 -1
  95. package/lib/common/clients/pnp.d.ts +7 -0
  96. package/lib/common/clients/pnp.js +104 -0
  97. package/lib/common/clients/pnp.js.map +1 -0
  98. package/lib/common/clients/pnpm.d.ts +5 -0
  99. package/lib/common/clients/pnpm.js +55 -6
  100. package/lib/common/clients/pnpm.js.map +1 -1
  101. package/lib/common/clients/rush.d.ts +7 -0
  102. package/lib/common/clients/rush.js +127 -0
  103. package/lib/common/clients/rush.js.map +1 -0
  104. package/lib/common/clients/yarn.d.ts +5 -0
  105. package/lib/common/clients/yarn.js +57 -6
  106. package/lib/common/clients/yarn.js.map +1 -1
  107. package/lib/common/compatibility.js +14 -9
  108. package/lib/common/compatibility.js.map +1 -1
  109. package/lib/common/config.d.ts +52 -1
  110. package/lib/common/config.js +10 -30
  111. package/lib/common/config.js.map +1 -1
  112. package/lib/common/constants.d.ts +10 -2
  113. package/lib/common/constants.js +22 -4
  114. package/lib/common/constants.js.map +1 -1
  115. package/lib/common/declaration.d.ts +2 -1
  116. package/lib/common/declaration.js +113 -56
  117. package/lib/common/declaration.js.map +1 -1
  118. package/lib/common/emoji.d.ts +8 -0
  119. package/lib/common/emoji.js +10 -1
  120. package/lib/common/emoji.js.map +1 -1
  121. package/lib/common/emulator.d.ts +2 -2
  122. package/lib/common/emulator.js +45 -32
  123. package/lib/common/emulator.js.map +1 -1
  124. package/lib/common/enums.d.ts +0 -4
  125. package/lib/common/enums.js +1 -6
  126. package/lib/common/enums.js.map +1 -1
  127. package/lib/common/envs.js +16 -5
  128. package/lib/common/envs.js.map +1 -1
  129. package/lib/common/hash.d.ts +1 -0
  130. package/lib/common/hash.js +8 -3
  131. package/lib/common/hash.js.map +1 -1
  132. package/lib/common/http.d.ts +5 -2
  133. package/lib/common/http.js +65 -23
  134. package/lib/common/http.js.map +1 -1
  135. package/lib/common/importmap.d.ts +2 -0
  136. package/lib/common/importmap.js +202 -0
  137. package/lib/common/importmap.js.map +1 -0
  138. package/lib/common/index.d.ts +10 -0
  139. package/lib/common/index.js +15 -1
  140. package/lib/common/index.js.map +1 -1
  141. package/lib/common/info.d.ts +5 -0
  142. package/lib/common/info.js +9 -2
  143. package/lib/common/info.js.map +1 -1
  144. package/lib/common/injectors.d.ts +36 -8
  145. package/lib/common/injectors.js +46 -19
  146. package/lib/common/injectors.js.map +1 -1
  147. package/lib/common/inspect.d.ts +5 -3
  148. package/lib/common/inspect.js +15 -15
  149. package/lib/common/inspect.js.map +1 -1
  150. package/lib/common/interactive.d.ts +9 -0
  151. package/lib/common/interactive.js +60 -1
  152. package/lib/common/interactive.js.map +1 -1
  153. package/lib/common/io.d.ts +9 -3
  154. package/lib/common/io.js +219 -116
  155. package/lib/common/io.js.map +1 -1
  156. package/lib/common/language.d.ts +9 -6
  157. package/lib/common/language.js +68 -12
  158. package/lib/common/language.js.map +1 -1
  159. package/lib/common/log.d.ts +5 -3
  160. package/lib/common/log.js +34 -48
  161. package/lib/common/log.js.map +1 -1
  162. package/lib/common/npm.d.ts +17 -16
  163. package/lib/common/npm.js +262 -158
  164. package/lib/common/npm.js.map +1 -1
  165. package/lib/common/pack.js +47 -26
  166. package/lib/common/pack.js.map +1 -1
  167. package/lib/common/package.d.ts +43 -20
  168. package/lib/common/package.js +377 -213
  169. package/lib/common/package.js.map +1 -1
  170. package/lib/common/parallel.d.ts +1 -0
  171. package/lib/common/parallel.js +29 -0
  172. package/lib/common/parallel.js.map +1 -0
  173. package/lib/common/patcher.js +20 -20
  174. package/lib/common/patcher.js.map +1 -1
  175. package/lib/common/platform.d.ts +13 -0
  176. package/lib/common/platform.js +29 -0
  177. package/lib/common/platform.js.map +1 -0
  178. package/lib/common/port.d.ts +1 -0
  179. package/lib/common/port.js +14 -4
  180. package/lib/common/port.js.map +1 -1
  181. package/lib/common/rules.js +4 -4
  182. package/lib/common/rules.js.map +1 -1
  183. package/lib/common/scaffold.d.ts +18 -4
  184. package/lib/common/scaffold.js +59 -36
  185. package/lib/common/scaffold.js.map +1 -1
  186. package/lib/common/scripts.js +8 -8
  187. package/lib/common/scripts.js.map +1 -1
  188. package/lib/common/shell.d.ts +2 -0
  189. package/lib/common/shell.js +33 -0
  190. package/lib/common/shell.js.map +1 -0
  191. package/lib/common/spec.d.ts +29 -0
  192. package/lib/common/spec.js +69 -0
  193. package/lib/common/spec.js.map +1 -0
  194. package/lib/common/template.d.ts +1 -2
  195. package/lib/common/template.js +23 -22
  196. package/lib/common/template.js.map +1 -1
  197. package/lib/common/url.d.ts +1 -0
  198. package/lib/common/url.js +17 -0
  199. package/lib/common/url.js.map +1 -0
  200. package/lib/common/utils.d.ts +1 -0
  201. package/lib/common/utils.js +8 -0
  202. package/lib/common/utils.js.map +1 -0
  203. package/lib/common/version.d.ts +2 -0
  204. package/lib/common/version.js +130 -0
  205. package/lib/common/version.js.map +1 -0
  206. package/lib/common/watcher.d.ts +13 -0
  207. package/lib/common/watcher.js +78 -0
  208. package/lib/common/watcher.js.map +1 -0
  209. package/lib/external/index.js +59413 -57862
  210. package/lib/helpers.d.ts +6 -6
  211. package/lib/helpers.js +10 -25
  212. package/lib/helpers.js.map +1 -1
  213. package/lib/index.js +5 -1
  214. package/lib/index.js.map +1 -1
  215. package/lib/inject.js +2 -2
  216. package/lib/inject.js.map +1 -1
  217. package/lib/injectors/pilet-injector.d.ts +75 -0
  218. package/lib/injectors/pilet-injector.js +246 -0
  219. package/lib/injectors/pilet-injector.js.map +1 -0
  220. package/lib/injectors/{piral.d.ts → piral-injector.d.ts} +10 -2
  221. package/lib/injectors/piral-injector.js +97 -0
  222. package/lib/injectors/piral-injector.js.map +1 -0
  223. package/lib/messages.d.ts +567 -47
  224. package/lib/messages.js +638 -51
  225. package/lib/messages.js.map +1 -1
  226. package/lib/pb-cli.js +1 -1
  227. package/lib/pb-cli.js.map +1 -1
  228. package/lib/pilet-cli.js +1 -1
  229. package/lib/pilet-cli.js.map +1 -1
  230. package/lib/piral-cli.js +1 -1
  231. package/lib/piral-cli.js.map +1 -1
  232. package/lib/platforms/node.d.ts +8 -0
  233. package/lib/platforms/node.js +30 -0
  234. package/lib/platforms/node.js.map +1 -0
  235. package/lib/platforms/web.d.ts +8 -0
  236. package/lib/platforms/web.js +120 -0
  237. package/lib/platforms/web.js.map +1 -0
  238. package/lib/plugin.js +36 -11
  239. package/lib/plugin.js.map +1 -1
  240. package/lib/questionnaire.d.ts +1 -1
  241. package/lib/questionnaire.js +9 -4
  242. package/lib/questionnaire.js.map +1 -1
  243. package/lib/release.d.ts +1 -1
  244. package/lib/release.js +38 -6
  245. package/lib/release.js.map +1 -1
  246. package/lib/resolvers.js +13 -13
  247. package/lib/resolvers.js.map +1 -1
  248. package/lib/rules/index.js +8 -8
  249. package/lib/rules/index.js.map +1 -1
  250. package/lib/rules/pilet-has-externals-as-peers.d.ts +1 -1
  251. package/lib/rules/pilet-has-externals-as-peers.js +9 -7
  252. package/lib/rules/pilet-has-externals-as-peers.js.map +1 -1
  253. package/lib/rules/pilet-has-no-self-reference.d.ts +1 -1
  254. package/lib/rules/pilet-has-no-self-reference.js +2 -2
  255. package/lib/rules/pilet-has-no-self-reference.js.map +1 -1
  256. package/lib/rules/pilet-has-no-third-party-dependency.d.ts +1 -1
  257. package/lib/rules/pilet-stays-small.d.ts +1 -1
  258. package/lib/rules/pilet-stays-small.js +4 -4
  259. package/lib/rules/pilet-stays-small.js.map +1 -1
  260. package/lib/rules/pilet-uses-latest-piral.d.ts +1 -1
  261. package/lib/rules/pilet-uses-latest-piral.js +18 -9
  262. package/lib/rules/pilet-uses-latest-piral.js.map +1 -1
  263. package/lib/rules/piral-depends-on-piral.d.ts +1 -1
  264. package/lib/rules/piral-entry-ends-with-html.d.ts +1 -1
  265. package/lib/rules/piral-entry-ends-with-html.js +1 -1
  266. package/lib/rules/piral-entry-ends-with-html.js.map +1 -1
  267. package/lib/rules/piral-has-valid-devDependencies.d.ts +1 -1
  268. package/lib/rules/piral-has-valid-externals.d.ts +1 -1
  269. package/lib/rules/piral-has-valid-externals.js +10 -24
  270. package/lib/rules/piral-has-valid-externals.js.map +1 -1
  271. package/lib/rules/piral-has-valid-files.d.ts +1 -1
  272. package/lib/rules/piral-has-valid-files.js +5 -5
  273. package/lib/rules/piral-has-valid-files.js.map +1 -1
  274. package/lib/rules/piral-has-valid-scripts.d.ts +1 -1
  275. package/lib/runner.js +1 -1
  276. package/lib/runner.js.map +1 -1
  277. package/lib/select.js +6 -6
  278. package/lib/select.js.map +1 -1
  279. package/lib/types/common.d.ts +88 -8
  280. package/lib/types/common.js.map +1 -1
  281. package/lib/types/index.js +5 -1
  282. package/lib/types/index.js.map +1 -1
  283. package/lib/types/internal.d.ts +12 -13
  284. package/lib/types/public.d.ts +89 -23
  285. package/package.json +19 -16
  286. package/src/apps/add-piral-instance-pilet.ts +98 -0
  287. package/src/apps/build-pilet.ts +286 -38
  288. package/src/apps/build-piral.test.ts +20 -7
  289. package/src/apps/build-piral.ts +90 -39
  290. package/src/apps/debug-pilet.ts +229 -123
  291. package/src/apps/debug-piral.ts +121 -68
  292. package/src/apps/declaration-piral.ts +4 -2
  293. package/src/apps/index.ts +3 -0
  294. package/src/apps/new-pilet.test.ts +28 -11
  295. package/src/apps/new-pilet.ts +60 -48
  296. package/src/apps/new-piral.test.ts +25 -13
  297. package/src/apps/new-piral.ts +43 -19
  298. package/src/apps/pack-pilet.test.ts +2 -2
  299. package/src/apps/pack-pilet.ts +12 -10
  300. package/src/apps/publish-pilet.ts +148 -43
  301. package/src/apps/publish-piral.ts +38 -11
  302. package/src/apps/remove-piral-instance-pilet.ts +92 -0
  303. package/src/apps/run-emulator-piral.ts +154 -0
  304. package/src/apps/upgrade-pilet.ts +37 -31
  305. package/src/apps/upgrade-piral.ts +9 -7
  306. package/src/apps/validate-pilet.ts +30 -22
  307. package/src/apps/validate-piral.ts +5 -2
  308. package/src/build/bundler-calls.ts +133 -0
  309. package/src/build/run-build-pilet.ts +91 -0
  310. package/src/build/run-build-piral.ts +93 -0
  311. package/src/build/run-debug-mono-piral.ts +86 -0
  312. package/src/build/run-debug-pilet.ts +116 -0
  313. package/src/build/run-debug-piral.ts +105 -0
  314. package/src/bundler.test.ts +86 -68
  315. package/src/bundler.ts +74 -19
  316. package/src/cli.ts +6 -2
  317. package/src/commands.ts +273 -44
  318. package/src/common/archive.test.ts +51 -45
  319. package/src/common/archive.ts +28 -1
  320. package/src/common/browser.test.ts +20 -10
  321. package/src/common/browser.ts +13 -6
  322. package/src/common/clients/index.ts +41 -0
  323. package/src/common/clients/lerna.ts +85 -1
  324. package/src/common/clients/npm.ts +56 -14
  325. package/src/common/clients/pnp.ts +84 -0
  326. package/src/common/clients/pnpm.ts +45 -1
  327. package/src/common/clients/rush.ts +118 -0
  328. package/src/common/clients/yarn.ts +49 -3
  329. package/src/common/compatibility.ts +8 -1
  330. package/src/common/config.ts +57 -22
  331. package/src/common/constants.ts +21 -3
  332. package/src/common/declaration.ts +124 -50
  333. package/src/common/emoji.ts +9 -0
  334. package/src/common/emulator.ts +43 -23
  335. package/src/common/enums.ts +0 -5
  336. package/src/common/envs.ts +15 -3
  337. package/src/common/hash.ts +5 -0
  338. package/src/common/http.test.ts +76 -64
  339. package/src/common/http.ts +88 -24
  340. package/src/common/importmap.ts +242 -0
  341. package/src/common/index.ts +10 -0
  342. package/src/common/info.ts +9 -1
  343. package/src/common/injectors.ts +49 -22
  344. package/src/common/inspect.ts +13 -14
  345. package/src/common/interactive.test.ts +6 -0
  346. package/src/common/interactive.ts +69 -1
  347. package/src/common/io.ts +199 -82
  348. package/src/common/language.ts +87 -10
  349. package/src/common/log.ts +32 -46
  350. package/src/common/npm.test.ts +187 -166
  351. package/src/common/npm.ts +263 -119
  352. package/src/common/pack.test.ts +11 -13
  353. package/src/common/pack.ts +60 -21
  354. package/src/common/package.test.ts +59 -49
  355. package/src/common/package.ts +406 -167
  356. package/src/common/parallel.test.ts +28 -0
  357. package/src/common/parallel.ts +21 -0
  358. package/src/common/platform.ts +31 -0
  359. package/src/common/port.test.ts +4 -1
  360. package/src/common/port.ts +10 -0
  361. package/src/common/rules.test.ts +3 -3
  362. package/src/common/scaffold.ts +69 -41
  363. package/src/common/scripts.ts +5 -4
  364. package/src/common/shell.ts +34 -0
  365. package/src/common/spec.ts +69 -0
  366. package/src/common/template.ts +20 -18
  367. package/src/common/url.test.ts +28 -0
  368. package/src/common/url.ts +15 -0
  369. package/src/common/utils.ts +3 -0
  370. package/src/common/version.test.ts +233 -0
  371. package/src/common/version.ts +142 -0
  372. package/src/common/watcher.ts +89 -0
  373. package/src/external/index.test.ts +2 -2
  374. package/src/external/index.ts +7 -3
  375. package/src/external/resolve.ts +29 -0
  376. package/src/helpers.test.ts +2 -22
  377. package/src/helpers.ts +21 -30
  378. package/src/injectors/{pilet.test.ts → pilet-injector.test.ts} +13 -4
  379. package/src/injectors/pilet-injector.ts +346 -0
  380. package/src/injectors/{piral.test.ts → piral-injector.test.ts} +14 -5
  381. package/src/injectors/piral-injector.ts +130 -0
  382. package/src/messages.ts +649 -63
  383. package/src/platforms/node.ts +16 -0
  384. package/src/platforms/web.ts +148 -0
  385. package/src/plugin.ts +34 -5
  386. package/src/questionnaire.ts +17 -3
  387. package/src/release.ts +47 -5
  388. package/src/rules/index.ts +1 -1
  389. package/src/rules/pilet-has-externals-as-peers.test.ts +3 -2
  390. package/src/rules/pilet-has-externals-as-peers.ts +9 -7
  391. package/src/rules/pilet-has-no-self-reference.ts +1 -1
  392. package/src/rules/pilet-stays-small.ts +1 -1
  393. package/src/rules/pilet-uses-latest-piral.ts +22 -12
  394. package/src/rules/piral-has-valid-externals.ts +10 -29
  395. package/src/types/common.ts +99 -9
  396. package/src/types/internal.ts +14 -14
  397. package/src/types/public.ts +93 -27
  398. package/lib/external/child.js +0 -144
  399. package/lib/external/classes.trie +0 -0
  400. package/lib/external/xdg-open +0 -1066
  401. package/lib/injectors/pilet.d.ts +0 -47
  402. package/lib/injectors/pilet.js +0 -187
  403. package/lib/injectors/pilet.js.map +0 -1
  404. package/lib/injectors/piral.js +0 -62
  405. package/lib/injectors/piral.js.map +0 -1
  406. package/src/injectors/pilet.ts +0 -219
  407. package/src/injectors/piral.ts +0 -76
  408. package/templates/piral-index.js.ejs +0 -16
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2019 - 2021 smapiot
3
+ Copyright (c) 2019 - 2023 smapiot
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- [![Piral Logo](https://github.com/smapiot/piral/raw/master/docs/assets/logo.png)](https://piral.io)
1
+ [![Piral Logo](https://github.com/smapiot/piral/raw/main/docs/assets/logo.png)](https://piral.io)
2
2
 
3
- # [Piral CLI](https://piral.io) · [![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/smapiot/piral/blob/master/LICENSE) [![npm version](https://img.shields.io/npm/v/piral-cli.svg?style=flat)](https://www.npmjs.com/package/piral-cli) [![tested with jest](https://img.shields.io/badge/tested_with-jest-99424f.svg)](https://jestjs.io) [![Gitter Chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/piral-io/community)
3
+ # [Piral CLI](https://piral.io) · [![GitHub License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/smapiot/piral/blob/main/LICENSE) [![npm version](https://img.shields.io/npm/v/piral-cli.svg?style=flat)](https://www.npmjs.com/package/piral-cli) [![tested with jest](https://img.shields.io/badge/tested_with-jest-99424f.svg)](https://jestjs.io) [![Gitter Chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/piral-io/community)
4
4
 
5
5
  Piral CLI is a command-line tool that can also be used as a library. It should make common tasks such as building a pilet, scaffolding a pilet, or debugging a piral instance simple.
6
6
 
@@ -8,7 +8,7 @@ Internally, Piral CLI is build upon existing tools with connection points to the
8
8
 
9
9
  ## Documentation
10
10
 
11
- For details on the available commands check out the [documentation at Piral](https://docs.piral.io) or [on GitHub](https://github.com/smapiot/piral/tree/master/docs/commands).
11
+ For details on the available commands check out the [documentation at Piral](https://docs.piral.io) or [on GitHub](https://github.com/smapiot/piral/tree/main/docs/commands).
12
12
 
13
13
  ## Plugins
14
14
 
@@ -21,10 +21,16 @@ Right now the following generic plugins exist:
21
21
  - [**piral-cli-local-feed**](https://github.com/FlorianRappl/piral-cli-local-feed), provides the ability to start a local feed service
22
22
  - [**piral-cli-dotenv**](https://github.com/FlorianRappl/piral-cli-dotenv), provides the ability to easily integrate environment variables
23
23
 
24
- Also the following bundler plugin exists (bringing build / debug capabilities):
24
+ Also the following bundler plugin exists (bringing build/debug capabilities):
25
25
 
26
- - [**piral-cli-parcel**](https://github.com/smapiot/piral), provides an integration for Parcel as a bundler
27
- - [**piral-cli-webpack**](https://github.com/smapiot/piral), provides an integration for Webpack as a bundler
26
+ - [**piral-cli-parcel**](https://github.com/smapiot/piral-cli-parcel), provides an integration for Parcel (v1) as a bundler
27
+ - [**piral-cli-parcel2**](https://github.com/smapiot/piral-cli-parcel2), provides an integration for Parcel (v2) as a bundler
28
+ - [**piral-cli-webpack**](https://github.com/smapiot/piral-cli-webpack), provides an integration for Webpack (v4) as a bundler
29
+ - [**piral-cli-webpack5**](https://github.com/smapiot/piral), provides an integration for Webpack (v5) as a bundler
30
+ - [**piral-cli-esbuild**](https://github.com/smapiot/piral-cli-esbuild), provides an integration for ES Build as a bundler
31
+ - [**piral-cli-rollup**](https://github.com/smapiot/piral-cli-rollup), provides an integration for Rollup as a bundler
32
+ - [**piral-cli-vite**](https://github.com/smapiot/piral-cli-vite), provides an integration for Vite as a bundler
33
+ - [**piral-cli-xbuild**](https://github.com/smapiot/piral-cli-xbuild), provides the possibility of using npm scripts for building and debugging
28
34
 
29
35
  You'll find an updated list [on NPM](https://www.npmjs.com/search?q=keywords%3Apiral-cli) using the keyword **piral-cli**.
30
36
 
@@ -71,11 +77,28 @@ module.exports = function (cliApi) {
71
77
 
72
78
  The resolution for plugins is as follows:
73
79
 
74
- 1. Take the plugins from the local project (`piral-cli` must be installed / run locally)
80
+ 1. Take the plugins from the local project (`piral-cli` must be installed/run locally)
75
81
  2. Take the plugins from the global modules
76
82
 
77
83
  Plugins are never loaded twice. Local versions have precedence.
78
84
 
85
+ Using a plugin you can also attach to the hooks of the `pilet build/debug` and `piral build/debug` commands.
86
+
87
+ ```js
88
+ module.exports = function (cliApi) {
89
+ cliApi.wrapCommand('debug-pilet', (args, run) => run({
90
+ ...args,
91
+ hooks: {
92
+ afterBuild({ outFile, outDir }) {
93
+ console.log('Build done', outFile, outDir);
94
+ },
95
+ },
96
+ }));
97
+ };
98
+ ```
99
+
100
+ In this case the `afterBuild` hook of the `pilet debug` command is set. You can do whatever else hook, too. Furthermore, you are not limited to a single command - you might want to wrap multiple here.
101
+
79
102
  ## License
80
103
 
81
104
  Piral is released using the MIT license. For more information see the [license file](./LICENSE).
package/lib/api.js CHANGED
@@ -40,10 +40,10 @@ function maybeWithFlags(commandName, setter) {
40
40
  }
41
41
  function withFlags(commandName, setter) {
42
42
  if (typeof commandName !== 'string') {
43
- common_1.log('apiCommandNameInvalid_0200', 'flags');
43
+ (0, common_1.log)('apiCommandNameInvalid_0200', 'flags');
44
44
  }
45
45
  else if (typeof setter !== 'function') {
46
- common_1.log('apiArgumentInvalid_0201', 'setter', 'flags');
46
+ (0, common_1.log)('apiArgumentInvalid_0201', 'setter', 'flags');
47
47
  }
48
48
  else {
49
49
  findAll(commandName, (command) => {
@@ -56,10 +56,10 @@ function withFlags(commandName, setter) {
56
56
  exports.withFlags = withFlags;
57
57
  function wrapCommand(commandName, wrapper) {
58
58
  if (typeof commandName !== 'string') {
59
- common_1.log('apiCommandNameInvalid_0200', 'command');
59
+ (0, common_1.log)('apiCommandNameInvalid_0200', 'command');
60
60
  }
61
61
  else if (typeof wrapper !== 'function') {
62
- common_1.log('apiArgumentInvalid_0201', 'wrapper', 'command');
62
+ (0, common_1.log)('apiArgumentInvalid_0201', 'wrapper', 'command');
63
63
  }
64
64
  else {
65
65
  findAll(commandName, (command) => {
@@ -72,10 +72,10 @@ function wrapCommand(commandName, wrapper) {
72
72
  exports.wrapCommand = wrapCommand;
73
73
  function beforeCommand(commandName, before) {
74
74
  if (typeof commandName !== 'string') {
75
- common_1.log('apiCommandNameInvalid_0200', 'before command');
75
+ (0, common_1.log)('apiCommandNameInvalid_0200', 'before command');
76
76
  }
77
77
  else if (typeof before !== 'function') {
78
- common_1.log('apiArgumentInvalid_0201', 'before', 'before command');
78
+ (0, common_1.log)('apiArgumentInvalid_0201', 'before', 'before command');
79
79
  }
80
80
  else {
81
81
  wrapCommand(commandName, (args, current) => __awaiter(this, void 0, void 0, function* () {
@@ -88,10 +88,10 @@ function beforeCommand(commandName, before) {
88
88
  exports.beforeCommand = beforeCommand;
89
89
  function afterCommand(commandName, after) {
90
90
  if (typeof commandName !== 'string') {
91
- common_1.log('apiCommandNameInvalid_0200', 'after command');
91
+ (0, common_1.log)('apiCommandNameInvalid_0200', 'after command');
92
92
  }
93
93
  else if (typeof after !== 'function') {
94
- common_1.log('apiArgumentInvalid_0201', 'after', 'after command');
94
+ (0, common_1.log)('apiArgumentInvalid_0201', 'after', 'after command');
95
95
  }
96
96
  else {
97
97
  wrapCommand(commandName, (args, current) => __awaiter(this, void 0, void 0, function* () {
@@ -104,52 +104,52 @@ function afterCommand(commandName, after) {
104
104
  exports.afterCommand = afterCommand;
105
105
  function withPiralRule(name, run) {
106
106
  if (typeof name !== 'string') {
107
- common_1.log('apiValidateNameInvalid_0202', 'Piral');
107
+ (0, common_1.log)('apiValidateNameInvalid_0202', 'Piral');
108
108
  }
109
109
  else if (typeof run !== 'function') {
110
- common_1.log('apiValidateRunInvalid_0203', 'Piral');
110
+ (0, common_1.log)('apiValidateRunInvalid_0203', 'Piral');
111
111
  }
112
112
  else {
113
- rules_1.addPiralRule({ name, run });
113
+ (0, rules_1.addPiralRule)({ name, run });
114
114
  }
115
115
  return this;
116
116
  }
117
117
  exports.withPiralRule = withPiralRule;
118
118
  function withPiletRule(name, run) {
119
119
  if (typeof name !== 'string') {
120
- common_1.log('apiValidateNameInvalid_0202', 'pilet');
120
+ (0, common_1.log)('apiValidateNameInvalid_0202', 'pilet');
121
121
  }
122
122
  else if (typeof run !== 'function') {
123
- common_1.log('apiValidateRunInvalid_0203', 'pilet');
123
+ (0, common_1.log)('apiValidateRunInvalid_0203', 'pilet');
124
124
  }
125
125
  else {
126
- rules_1.addPiletRule({ name, run });
126
+ (0, rules_1.addPiletRule)({ name, run });
127
127
  }
128
128
  return this;
129
129
  }
130
130
  exports.withPiletRule = withPiletRule;
131
131
  function withPatcher(packageName, patch) {
132
132
  if (typeof packageName !== 'string') {
133
- common_1.log('apiPatchInvalid_0204', 'packageName');
133
+ (0, common_1.log)('apiPatchInvalid_0204', 'packageName');
134
134
  }
135
135
  else if (typeof patch !== 'function') {
136
- common_1.log('apiPatchInvalid_0204', 'patch');
136
+ (0, common_1.log)('apiPatchInvalid_0204', 'patch');
137
137
  }
138
138
  else {
139
- common_1.installPatch(packageName, patch);
139
+ (0, common_1.installPatch)(packageName, patch);
140
140
  }
141
141
  return this;
142
142
  }
143
143
  exports.withPatcher = withPatcher;
144
144
  function withBundler(name, actions) {
145
145
  if (typeof name !== 'string') {
146
- common_1.log('apiBundlerInvalid_0206', 'bundlerName');
146
+ (0, common_1.log)('apiBundlerInvalid_0206', 'bundlerName');
147
147
  }
148
148
  else if (typeof actions !== 'object') {
149
- common_1.log('apiBundlerInvalid_0206', 'bundler');
149
+ (0, common_1.log)('apiBundlerInvalid_0206', 'bundler');
150
150
  }
151
151
  else {
152
- bundler_1.setBundler({
152
+ (0, bundler_1.setBundler)({
153
153
  name,
154
154
  actions,
155
155
  });
@@ -163,13 +163,13 @@ function withBundler(name, actions) {
163
163
  exports.withBundler = withBundler;
164
164
  function withReleaseProvider(name, action) {
165
165
  if (typeof name !== 'string') {
166
- common_1.log('apiReleaseProviderInvalid_0207', 'providerName');
166
+ (0, common_1.log)('apiReleaseProviderInvalid_0207', 'providerName');
167
167
  }
168
168
  else if (typeof action !== 'object') {
169
- common_1.log('apiReleaseProviderInvalid_0207', 'provider');
169
+ (0, common_1.log)('apiReleaseProviderInvalid_0207', 'provider');
170
170
  }
171
171
  else {
172
- release_1.setReleaseProvider({
172
+ (0, release_1.setReleaseProvider)({
173
173
  name,
174
174
  action,
175
175
  });
package/lib/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { LogLevels, NpmClientType } from '../types';
2
+ export interface AddPiralInstancePiletOptions {
3
+ /**
4
+ * Sets the log level to use (1-5).
5
+ */
6
+ logLevel?: LogLevels;
7
+ /**
8
+ * The name of the Piral instance to add.
9
+ */
10
+ app?: string;
11
+ /**
12
+ * Sets the source directory for adding the Piral instance.
13
+ */
14
+ source?: string;
15
+ /**
16
+ * Defines if the provided Piral instance should be selected initially.
17
+ */
18
+ selected?: boolean;
19
+ /**
20
+ * The npm client to be used when scaffolding.
21
+ * @example 'yarn'
22
+ */
23
+ npmClient?: NpmClientType;
24
+ }
25
+ export declare const addPiralInstancePiletDefaults: AddPiralInstancePiletOptions;
26
+ export declare function addPiralInstancePilet(baseDir?: string, options?: AddPiralInstancePiletOptions): Promise<void>;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.addPiralInstancePilet = exports.addPiralInstancePiletDefaults = void 0;
13
+ const path_1 = require("path");
14
+ const types_1 = require("../types");
15
+ const common_1 = require("../common");
16
+ exports.addPiralInstancePiletDefaults = {
17
+ logLevel: types_1.LogLevels.info,
18
+ app: undefined,
19
+ source: '.',
20
+ selected: false,
21
+ npmClient: undefined,
22
+ };
23
+ function addPiralInstancePilet(baseDir = process.cwd(), options = {}) {
24
+ return __awaiter(this, void 0, void 0, function* () {
25
+ const { npmClient: defaultNpmClient = exports.addPiralInstancePiletDefaults.npmClient, logLevel = exports.addPiralInstancePiletDefaults.logLevel, source = exports.addPiralInstancePiletDefaults.source, selected = exports.addPiralInstancePiletDefaults.selected, app = exports.addPiralInstancePiletDefaults.app, } = options;
26
+ const fullBase = (0, path_1.resolve)(process.cwd(), baseDir);
27
+ (0, common_1.setLogLevel)(logLevel);
28
+ (0, common_1.progress)('Reading configuration ...');
29
+ const npmClient = yield (0, common_1.determineNpmClient)(fullBase, defaultNpmClient);
30
+ const allEntries = yield (0, common_1.matchAnyPilet)(fullBase, [source]);
31
+ const tasks = allEntries.map((entryModule) => __awaiter(this, void 0, void 0, function* () {
32
+ const targetDir = (0, path_1.dirname)(entryModule);
33
+ const piletJsonPath = yield (0, common_1.findFile)(targetDir, common_1.piletJson);
34
+ if (piletJsonPath) {
35
+ const piletJsonDir = (0, path_1.dirname)(piletJsonPath);
36
+ const root = yield (0, common_1.findPiletRoot)(piletJsonDir);
37
+ const oldContent = yield (0, common_1.readJson)(piletJsonDir, common_1.piletJson);
38
+ const [appName] = yield (0, common_1.installPiralInstance)(app, fullBase, root, npmClient);
39
+ const newContent = Object.assign(Object.assign({}, oldContent), { piralInstances: Object.assign(Object.assign({}, oldContent.piralInstances), { [appName]: {
40
+ selected,
41
+ } }) });
42
+ yield (0, common_1.writeJson)(piletJsonDir, common_1.piletJson, newContent, true);
43
+ }
44
+ else {
45
+ (0, common_1.log)('piletJsonNotAvailable_0180', targetDir);
46
+ }
47
+ }));
48
+ yield Promise.all(tasks);
49
+ (0, common_1.logDone)(`Added the Piral instance!`);
50
+ });
51
+ }
52
+ exports.addPiralInstancePilet = addPiralInstancePilet;
53
+ //# sourceMappingURL=add-piral-instance-pilet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-piral-instance-pilet.js","sourceRoot":"","sources":["../../src/apps/add-piral-instance-pilet.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAwC;AACxC,oCAAoD;AACpD,sCAamB;AA8BN,QAAA,6BAA6B,GAAiC;IACzE,QAAQ,EAAE,iBAAS,CAAC,IAAI;IACxB,GAAG,EAAE,SAAS;IACd,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,KAAK;IACf,SAAS,EAAE,SAAS;CACrB,CAAC;AAEF,SAAsB,qBAAqB,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,UAAwC,EAAE;;QAC7G,MAAM,EACJ,SAAS,EAAE,gBAAgB,GAAG,qCAA6B,CAAC,SAAS,EACrE,QAAQ,GAAG,qCAA6B,CAAC,QAAQ,EACjD,MAAM,GAAG,qCAA6B,CAAC,MAAM,EAC7C,QAAQ,GAAG,qCAA6B,CAAC,QAAQ,EACjD,GAAG,GAAG,qCAA6B,CAAC,GAAG,GACxC,GAAG,OAAO,CAAC;QACZ,MAAM,QAAQ,GAAG,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,CAAC;QACjD,IAAA,oBAAW,EAAC,QAAQ,CAAC,CAAC;QACtB,IAAA,iBAAQ,EAAC,2BAA2B,CAAC,CAAC;QAEtC,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAkB,EAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QACvE,MAAM,UAAU,GAAG,MAAM,IAAA,sBAAa,EAAC,QAAQ,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAE3D,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAO,WAAW,EAAE,EAAE;YACjD,MAAM,SAAS,GAAG,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC;YACvC,MAAM,aAAa,GAAG,MAAM,IAAA,iBAAQ,EAAC,SAAS,EAAE,kBAAS,CAAC,CAAC;YAE3D,IAAI,aAAa,EAAE;gBACjB,MAAM,YAAY,GAAG,IAAA,cAAO,EAAC,aAAa,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,MAAM,IAAA,sBAAa,EAAC,YAAY,CAAC,CAAC;gBAC/C,MAAM,UAAU,GAAG,MAAM,IAAA,iBAAQ,EAAC,YAAY,EAAE,kBAAS,CAAC,CAAC;gBAC3D,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,IAAA,6BAAoB,EAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;gBAE7E,MAAM,UAAU,mCACX,UAAU,KACb,cAAc,kCACT,UAAU,CAAC,cAAc,KAC5B,CAAC,OAAO,CAAC,EAAE;4BACT,QAAQ;yBACT,MAEJ,CAAC;gBAEF,MAAM,IAAA,kBAAS,EAAC,YAAY,EAAE,kBAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;aAC5D;iBAAM;gBACL,IAAA,YAAG,EAAC,4BAA4B,EAAE,SAAS,CAAC,CAAC;aAC9C;QACH,CAAC,CAAA,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAA,gBAAO,EAAC,2BAA2B,CAAC,CAAC;IACvC,CAAC;CAAA;AA5CD,sDA4CC"}
@@ -1,4 +1,4 @@
1
- import { LogLevels, PiletSchemaVersion } from '../types';
1
+ import { LogLevels, PiletBuildType, PiletSchemaVersion } from '../types';
2
2
  export interface BuildPiletOptions {
3
3
  /**
4
4
  * Sets the name of the Piral instance.
@@ -8,16 +8,28 @@ export interface BuildPiletOptions {
8
8
  * The source index file (e.g. index.tsx) for collecting all the information
9
9
  * @example './src/index'
10
10
  */
11
- entry?: string;
11
+ entry?: string | Array<string>;
12
12
  /**
13
13
  * The target file of bundling.
14
14
  * @example './dist/index.js'
15
15
  */
16
16
  target?: string;
17
+ /**
18
+ * Sets the public URL (path) of the bundle. Only for release output.
19
+ */
20
+ publicUrl?: string;
17
21
  /**
18
22
  * States if minifaction or other post-bundle transformations should be performed.
19
23
  */
20
24
  minify?: boolean;
25
+ /**
26
+ * Indicates if a declaration file should be generated.
27
+ */
28
+ declaration?: boolean;
29
+ /**
30
+ * Sets the maximum number of parallel build processes.
31
+ */
32
+ concurrency?: number;
21
33
  /**
22
34
  * Sets the log level to use (1-5).
23
35
  */
@@ -30,6 +42,10 @@ export interface BuildPiletOptions {
30
42
  * States if source maps should be created for the bundles.
31
43
  */
32
44
  sourceMaps?: boolean;
45
+ /**
46
+ * States if the build should run continuously and re-build when files change.
47
+ */
48
+ watch?: boolean;
33
49
  /**
34
50
  * Sets the bundler to use for building, if any specific.
35
51
  */
@@ -38,6 +54,10 @@ export interface BuildPiletOptions {
38
54
  * States if a content hash should be appended to the side-bundle files
39
55
  */
40
56
  contentHash?: boolean;
57
+ /**
58
+ * Selects the target type of the build (e.g. 'release'). "all" builds all target types.
59
+ */
60
+ type?: PiletBuildType;
41
61
  /**
42
62
  * States if the node modules should be included for target transpilation
43
63
  */
@@ -51,6 +71,17 @@ export interface BuildPiletOptions {
51
71
  * Additional arguments for a specific bundler.
52
72
  */
53
73
  _?: Record<string, any>;
74
+ /**
75
+ * Hooks to be triggered at various stages.
76
+ */
77
+ hooks?: {
78
+ onBegin?(e: any): Promise<void>;
79
+ beforeBuild?(e: any): Promise<void>;
80
+ afterBuild?(e: any): Promise<void>;
81
+ beforeDeclaration?(e: any): Promise<void>;
82
+ afterDeclaration?(e: any): Promise<void>;
83
+ onEnd?(e: any): Promise<void>;
84
+ };
54
85
  }
55
86
  export declare const buildPiletDefaults: BuildPiletOptions;
56
87
  export declare function buildPilet(baseDir?: string, options?: BuildPiletOptions): Promise<void>;
@@ -14,51 +14,178 @@ const path_1 = require("path");
14
14
  const types_1 = require("../types");
15
15
  const bundler_1 = require("../bundler");
16
16
  const common_1 = require("../common");
17
+ function createMetadata(outDir, outFile, pilets, publicPath) {
18
+ return (0, common_1.writeJson)(outDir, outFile, pilets.map((p) => (Object.assign({ name: p.package.name, version: p.package.version, link: `${publicPath}${p.id}/${p.outFile}` }, (0, common_1.getPiletSpecMeta)(p.path, `${publicPath}${p.id}/`)))));
19
+ }
20
+ function copyPilets(outDir, pilets) {
21
+ return Promise.all(pilets.map((p) => __awaiter(this, void 0, void 0, function* () {
22
+ const files = yield (0, common_1.getFileNames)(p.outDir);
23
+ for (const file of files) {
24
+ yield (0, common_1.copy)((0, path_1.resolve)(p.outDir, file), (0, path_1.resolve)(outDir, p.id, file), common_1.ForceOverwrite.yes);
25
+ }
26
+ })));
27
+ }
17
28
  exports.buildPiletDefaults = {
18
29
  entry: './src/index',
19
30
  target: './dist/index.js',
31
+ publicUrl: '/',
20
32
  minify: true,
21
33
  logLevel: types_1.LogLevels.info,
34
+ type: 'default',
22
35
  fresh: false,
23
36
  sourceMaps: true,
37
+ watch: false,
24
38
  contentHash: true,
25
39
  optimizeModules: false,
26
- schemaVersion: 'v1',
40
+ schemaVersion: undefined,
41
+ concurrency: common_1.cpuCount,
42
+ declaration: true,
27
43
  };
28
44
  function buildPilet(baseDir = process.cwd(), options = {}) {
45
+ var _a, _b;
29
46
  return __awaiter(this, void 0, void 0, function* () {
30
- const { entry = exports.buildPiletDefaults.entry, target = exports.buildPiletDefaults.target, minify = exports.buildPiletDefaults.minify, sourceMaps = exports.buildPiletDefaults.sourceMaps, contentHash = exports.buildPiletDefaults.contentHash, logLevel = exports.buildPiletDefaults.logLevel, fresh = exports.buildPiletDefaults.fresh, optimizeModules = exports.buildPiletDefaults.optimizeModules, schemaVersion = exports.buildPiletDefaults.schemaVersion, _ = {}, bundlerName, app, } = options;
31
- common_1.setLogLevel(logLevel);
32
- common_1.progress('Reading configuration ...');
33
- const entryFile = path_1.join(baseDir, entry);
34
- const targetDir = path_1.dirname(entryFile);
35
- const entryModule = yield common_1.findEntryModule(entryFile, targetDir);
36
- const { peerDependencies, peerModules, root, appPackage, ignored } = yield common_1.retrievePiletData(targetDir, app);
37
- const externals = [...Object.keys(peerDependencies), ...peerModules];
38
- const outDir = path_1.dirname(path_1.resolve(baseDir, target));
39
- if (fresh) {
40
- common_1.progress('Removing output directory ...');
41
- yield common_1.removeDirectory(outDir);
47
+ const { entry = exports.buildPiletDefaults.entry, target = exports.buildPiletDefaults.target, publicUrl: originalPublicUrl = exports.buildPiletDefaults.publicUrl, logLevel = exports.buildPiletDefaults.logLevel, minify = exports.buildPiletDefaults.minify, sourceMaps = exports.buildPiletDefaults.sourceMaps, watch = exports.buildPiletDefaults.watch, contentHash = exports.buildPiletDefaults.contentHash, fresh = exports.buildPiletDefaults.fresh, concurrency = exports.buildPiletDefaults.concurrency, optimizeModules = exports.buildPiletDefaults.optimizeModules, schemaVersion: originalSchemaVersion = exports.buildPiletDefaults.schemaVersion, declaration = exports.buildPiletDefaults.declaration, type = exports.buildPiletDefaults.type, _ = {}, hooks = {}, bundlerName, app, } = options;
48
+ const publicUrl = (0, common_1.normalizePublicUrl)(originalPublicUrl);
49
+ const fullBase = (0, path_1.resolve)(process.cwd(), baseDir);
50
+ const entryList = Array.isArray(entry) ? entry : [entry];
51
+ (0, common_1.setLogLevel)(logLevel);
52
+ yield ((_a = hooks.onBegin) === null || _a === void 0 ? void 0 : _a.call(hooks, { options, fullBase }));
53
+ (0, common_1.progress)('Reading configuration ...');
54
+ const allEntries = yield (0, common_1.matchAnyPilet)(fullBase, entryList);
55
+ (0, common_1.log)('generalDebug_0003', `Found the following entries: ${allEntries.join(', ')}`);
56
+ if (allEntries.length === 0) {
57
+ (0, common_1.fail)('entryFileMissing_0077');
58
+ }
59
+ const pilets = yield (0, common_1.concurrentWorkers)(allEntries, concurrency, (entryModule) => __awaiter(this, void 0, void 0, function* () {
60
+ var _c, _d, _e, _f;
61
+ const targetDir = (0, path_1.dirname)(entryModule);
62
+ const { peerDependencies, peerModules, root, apps, piletPackage, ignored, importmap, schema } = yield (0, common_1.retrievePiletData)(targetDir, app);
63
+ const schemaVersion = originalSchemaVersion || schema || common_1.config.schemaVersion || common_1.defaultSchemaVersion;
64
+ const piralInstances = apps.map(m => m.appPackage.name);
65
+ const externals = (0, common_1.combinePiletExternals)(piralInstances, peerDependencies, peerModules, importmap);
66
+ const dest = (0, path_1.resolve)(root, target);
67
+ const outDir = (0, path_1.dirname)(dest);
68
+ const outFile = (0, path_1.basename)(dest);
69
+ (0, common_1.validateSharedDependencies)(importmap);
70
+ if (fresh) {
71
+ (0, common_1.progress)('Removing output directory ...');
72
+ yield (0, common_1.removeDirectory)(outDir);
73
+ }
74
+ (0, common_1.logInfo)('Bundle pilet ...');
75
+ yield ((_c = hooks.beforeBuild) === null || _c === void 0 ? void 0 : _c.call(hooks, { root, outDir, importmap, entryModule, schemaVersion, piletPackage }));
76
+ yield (0, bundler_1.callPiletBuild)({
77
+ root,
78
+ piralInstances,
79
+ optimizeModules,
80
+ sourceMaps,
81
+ watch,
82
+ contentHash,
83
+ minify,
84
+ externals,
85
+ targetDir,
86
+ importmap,
87
+ outFile,
88
+ outDir,
89
+ entryModule: `./${(0, path_1.relative)(root, entryModule)}`,
90
+ logLevel,
91
+ version: schemaVersion,
92
+ ignored,
93
+ _,
94
+ }, bundlerName);
95
+ yield ((_d = hooks.afterBuild) === null || _d === void 0 ? void 0 : _d.call(hooks, { root, outDir, importmap, entryModule, schemaVersion, piletPackage }));
96
+ if (declaration) {
97
+ yield ((_e = hooks.beforeDeclaration) === null || _e === void 0 ? void 0 : _e.call(hooks, { root, outDir, entryModule, piletPackage }));
98
+ yield (0, common_1.createPiletDeclaration)(piletPackage.name, root, entryModule, externals, outDir, common_1.ForceOverwrite.yes, logLevel);
99
+ yield ((_f = hooks.afterDeclaration) === null || _f === void 0 ? void 0 : _f.call(hooks, { root, outDir, entryModule, piletPackage }));
100
+ }
101
+ (0, common_1.logDone)(`Pilet "${piletPackage.name}" built successfully!`);
102
+ return {
103
+ id: piletPackage.name.replace(/[^a-zA-Z0-9\-]/gi, ''),
104
+ root,
105
+ apps,
106
+ outDir,
107
+ outFile,
108
+ path: dest,
109
+ package: piletPackage,
110
+ };
111
+ }));
112
+ if (type === 'standalone') {
113
+ const distDir = (0, path_1.dirname)((0, path_1.resolve)(fullBase, target));
114
+ const outDir = (0, path_1.resolve)(distDir, 'standalone');
115
+ const { apps, root } = pilets[0];
116
+ if (apps.length === 0) {
117
+ (0, common_1.fail)('appInstancesNotGiven_0012');
118
+ }
119
+ const { appPackage, appFile } = apps[0];
120
+ const piralInstances = [appPackage.name];
121
+ const isEmulator = (0, common_1.checkAppShellPackage)(appPackage);
122
+ (0, common_1.logInfo)('Building standalone solution ...');
123
+ yield (0, common_1.removeDirectory)(outDir);
124
+ (0, common_1.progress)('Copying files ...');
125
+ yield copyPilets(outDir, pilets);
126
+ yield createMetadata(outDir, '$pilet-api', pilets, publicUrl);
127
+ if (isEmulator) {
128
+ // in case of an emulator assets are not "seen" by the bundler, so we
129
+ // just copy overthing over - this should work in most cases.
130
+ yield (0, common_1.copy)((0, path_1.dirname)(appFile), outDir, common_1.ForceOverwrite.yes);
131
+ (0, common_1.progress)('Optimizing app shell ...');
132
+ // we don't need to care about externals or other things that are already
133
+ // part of the emulator
134
+ yield (0, bundler_1.callPiralBuild)({
135
+ root,
136
+ piralInstances,
137
+ emulator: false,
138
+ standalone: true,
139
+ optimizeModules: false,
140
+ sourceMaps,
141
+ watch: false,
142
+ contentHash,
143
+ minify,
144
+ externals: [],
145
+ publicUrl,
146
+ outFile: 'index.html',
147
+ outDir,
148
+ entryFiles: appFile,
149
+ logLevel,
150
+ ignored: [],
151
+ _,
152
+ }, bundlerName);
153
+ }
154
+ else {
155
+ // in this case we can just do the same steps as if
156
+ const { ignored, externals } = yield (0, common_1.retrievePiletsInfo)(appFile);
157
+ yield (0, bundler_1.callPiralBuild)({
158
+ root,
159
+ piralInstances,
160
+ emulator: false,
161
+ standalone: true,
162
+ optimizeModules: false,
163
+ sourceMaps,
164
+ watch: false,
165
+ contentHash,
166
+ minify,
167
+ externals: externals.map(m => m.name),
168
+ publicUrl,
169
+ outFile: 'index.html',
170
+ outDir,
171
+ entryFiles: appFile,
172
+ logLevel,
173
+ ignored,
174
+ _,
175
+ }, bundlerName);
176
+ }
177
+ (0, common_1.logDone)(`Standalone app available at "${outDir}"!`);
178
+ }
179
+ else if (type === 'manifest') {
180
+ const manifest = 'pilets.json';
181
+ const outDir = (0, path_1.dirname)((0, path_1.resolve)(fullBase, target));
182
+ (0, common_1.logInfo)('Building pilet manifest ...');
183
+ (0, common_1.progress)('Copying files ...');
184
+ yield copyPilets(outDir, pilets);
185
+ yield createMetadata(outDir, manifest, pilets, publicUrl);
186
+ (0, common_1.logDone)(`Manifest available at "${outDir}/${manifest}"!`);
42
187
  }
43
- common_1.logInfo('Bundle pilet ...');
44
- yield bundler_1.callPiletBuild({
45
- root,
46
- piral: appPackage.name,
47
- optimizeModules,
48
- sourceMaps,
49
- contentHash,
50
- minify,
51
- externals,
52
- targetDir,
53
- outFile: path_1.basename(target),
54
- outDir,
55
- entryModule,
56
- logLevel,
57
- version: schemaVersion,
58
- ignored,
59
- _,
60
- }, bundlerName);
61
- common_1.logDone('Pilet built successfully!');
188
+ yield ((_b = hooks.onEnd) === null || _b === void 0 ? void 0 : _b.call(hooks, {}));
62
189
  });
63
190
  }
64
191
  exports.buildPilet = buildPilet;
@@ -1 +1 @@
1
- {"version":3,"file":"build-pilet.js","sourceRoot":"","sources":["../../src/apps/build-pilet.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+BAAwD;AACxD,oCAAyD;AACzD,wCAA4C;AAC5C,sCAQmB;AAmEN,QAAA,kBAAkB,GAAsB;IACnD,KAAK,EAAE,aAAa;IACpB,MAAM,EAAE,iBAAiB;IACzB,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,iBAAS,CAAC,IAAI;IACxB,KAAK,EAAE,KAAK;IACZ,UAAU,EAAE,IAAI;IAChB,WAAW,EAAE,IAAI;IACjB,eAAe,EAAE,KAAK;IACtB,aAAa,EAAE,IAAI;CACpB,CAAC;AAEF,SAAsB,UAAU,CAAC,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,UAA6B,EAAE;;QACvF,MAAM,EACJ,KAAK,GAAG,0BAAkB,CAAC,KAAK,EAChC,MAAM,GAAG,0BAAkB,CAAC,MAAM,EAClC,MAAM,GAAG,0BAAkB,CAAC,MAAM,EAClC,UAAU,GAAG,0BAAkB,CAAC,UAAU,EAC1C,WAAW,GAAG,0BAAkB,CAAC,WAAW,EAC5C,QAAQ,GAAG,0BAAkB,CAAC,QAAQ,EACtC,KAAK,GAAG,0BAAkB,CAAC,KAAK,EAChC,eAAe,GAAG,0BAAkB,CAAC,eAAe,EACpD,aAAa,GAAG,0BAAkB,CAAC,aAAa,EAChD,CAAC,GAAG,EAAE,EACN,WAAW,EACX,GAAG,GACJ,GAAG,OAAO,CAAC;QACZ,oBAAW,CAAC,QAAQ,CAAC,CAAC;QACtB,iBAAQ,CAAC,2BAA2B,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,WAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,cAAO,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,MAAM,wBAAe,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,EAAE,gBAAgB,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,MAAM,0BAAiB,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7G,MAAM,SAAS,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,cAAO,CAAC,cAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAEjD,IAAI,KAAK,EAAE;YACT,iBAAQ,CAAC,+BAA+B,CAAC,CAAC;YAC1C,MAAM,wBAAe,CAAC,MAAM,CAAC,CAAC;SAC/B;QAED,gBAAO,CAAC,kBAAkB,CAAC,CAAC;QAE5B,MAAM,wBAAc,CAClB;YACE,IAAI;YACJ,KAAK,EAAE,UAAU,CAAC,IAAI;YACtB,eAAe;YACf,UAAU;YACV,WAAW;YACX,MAAM;YACN,SAAS;YACT,SAAS;YACT,OAAO,EAAE,eAAQ,CAAC,MAAM,CAAC;YACzB,MAAM;YACN,WAAW;YACX,QAAQ;YACR,OAAO,EAAE,aAAa;YACtB,OAAO;YACP,CAAC;SACF,EACD,WAAW,CACZ,CAAC;QAEF,gBAAO,CAAC,2BAA2B,CAAC,CAAC;IACvC,CAAC;CAAA;AArDD,gCAqDC"}
1
+ {"version":3,"file":"build-pilet.js","sourceRoot":"","sources":["../../src/apps/build-pilet.ts"],"names":[],"mappings":"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"}