@celljs/cli 3.0.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 (384) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +1 -0
  3. package/bin/cell +2 -0
  4. package/lib/build/build-manager.d.ts +9 -0
  5. package/lib/build/build-manager.d.ts.map +1 -0
  6. package/lib/build/build-manager.js +41 -0
  7. package/lib/build/build-manager.js.map +1 -0
  8. package/lib/build/build.d.ts +6 -0
  9. package/lib/build/build.d.ts.map +1 -0
  10. package/lib/build/build.js +16 -0
  11. package/lib/build/build.js.map +1 -0
  12. package/lib/cell-main.d.ts +2 -0
  13. package/lib/cell-main.d.ts.map +1 -0
  14. package/lib/cell-main.js +110 -0
  15. package/lib/cell-main.js.map +1 -0
  16. package/lib/cell.d.ts +2 -0
  17. package/lib/cell.d.ts.map +1 -0
  18. package/lib/cell.js +190 -0
  19. package/lib/cell.js.map +1 -0
  20. package/lib/config/config.d.ts +12 -0
  21. package/lib/config/config.d.ts.map +1 -0
  22. package/lib/config/config.js +48 -0
  23. package/lib/config/config.js.map +1 -0
  24. package/lib/deploy/deploy.d.ts +7 -0
  25. package/lib/deploy/deploy.d.ts.map +1 -0
  26. package/lib/deploy/deploy.js +27 -0
  27. package/lib/deploy/deploy.js.map +1 -0
  28. package/lib/index.d.ts +1 -0
  29. package/lib/index.d.ts.map +1 -0
  30. package/lib/index.js +1 -0
  31. package/lib/index.js.map +1 -0
  32. package/lib/info/info.d.ts +6 -0
  33. package/lib/info/info.d.ts.map +1 -0
  34. package/lib/info/info.js +21 -0
  35. package/lib/info/info.js.map +1 -0
  36. package/lib/init/init-manager.d.ts +33 -0
  37. package/lib/init/init-manager.d.ts.map +1 -0
  38. package/lib/init/init-manager.js +138 -0
  39. package/lib/init/init-manager.js.map +1 -0
  40. package/lib/init/init.d.ts +4 -0
  41. package/lib/init/init.d.ts.map +1 -0
  42. package/lib/init/init.js +17 -0
  43. package/lib/init/init.js.map +1 -0
  44. package/lib/init/templates.d.ts +2 -0
  45. package/lib/init/templates.d.ts.map +1 -0
  46. package/lib/init/templates.js +25 -0
  47. package/lib/init/templates.js.map +1 -0
  48. package/lib/malagu-main.d.ts +2 -0
  49. package/lib/malagu-main.d.ts.map +1 -0
  50. package/lib/malagu-main.js +110 -0
  51. package/lib/malagu-main.js.map +1 -0
  52. package/lib/malagu.d.ts +2 -0
  53. package/lib/malagu.d.ts.map +1 -0
  54. package/lib/malagu.js +190 -0
  55. package/lib/malagu.js.map +1 -0
  56. package/lib/package.spec.d.ts +1 -0
  57. package/lib/package.spec.d.ts.map +1 -0
  58. package/lib/package.spec.js +4 -0
  59. package/lib/package.spec.js.map +1 -0
  60. package/lib/props/props.d.ts +9 -0
  61. package/lib/props/props.d.ts.map +1 -0
  62. package/lib/props/props.js +46 -0
  63. package/lib/props/props.js.map +1 -0
  64. package/lib/serve/serve-manager.d.ts +8 -0
  65. package/lib/serve/serve-manager.d.ts.map +1 -0
  66. package/lib/serve/serve-manager.js +44 -0
  67. package/lib/serve/serve-manager.js.map +1 -0
  68. package/lib/serve/serve.d.ts +7 -0
  69. package/lib/serve/serve.d.ts.map +1 -0
  70. package/lib/serve/serve.js +16 -0
  71. package/lib/serve/serve.js.map +1 -0
  72. package/lib/update/update.d.ts +9 -0
  73. package/lib/update/update.d.ts.map +1 -0
  74. package/lib/update/update.js +56 -0
  75. package/lib/update/update.js.map +1 -0
  76. package/lib/utils/banner-util.d.ts +6 -0
  77. package/lib/utils/banner-util.d.ts.map +1 -0
  78. package/lib/utils/banner-util.js +44 -0
  79. package/lib/utils/banner-util.js.map +1 -0
  80. package/lib/utils/index.d.ts +2 -0
  81. package/lib/utils/index.d.ts.map +1 -0
  82. package/lib/utils/index.js +18 -0
  83. package/lib/utils/index.js.map +1 -0
  84. package/package.json +63 -0
  85. package/src/build/build-manager.ts +50 -0
  86. package/src/build/build.ts +17 -0
  87. package/src/cell-main.ts +125 -0
  88. package/src/cell.ts +214 -0
  89. package/src/config/config.ts +56 -0
  90. package/src/deploy/deploy.ts +31 -0
  91. package/src/index.ts +0 -0
  92. package/src/info/info.ts +23 -0
  93. package/src/init/init-manager.ts +163 -0
  94. package/src/init/init.ts +15 -0
  95. package/src/init/templates.ts +21 -0
  96. package/src/package.spec.ts +4 -0
  97. package/src/props/props.ts +48 -0
  98. package/src/serve/serve-manager.ts +51 -0
  99. package/src/serve/serve.ts +19 -0
  100. package/src/update/update.ts +61 -0
  101. package/src/utils/banner-util.ts +41 -0
  102. package/src/utils/index.ts +1 -0
  103. package/templates/accounts/README.md +92 -0
  104. package/templates/accounts/cell-database.yml +17 -0
  105. package/templates/accounts/cell-locale.yml +17 -0
  106. package/templates/accounts/cell-oauth2.0.yml +8 -0
  107. package/templates/accounts/cell-theme.yml +9 -0
  108. package/templates/accounts/cell.yml +10 -0
  109. package/templates/accounts/favicon.ico +0 -0
  110. package/templates/accounts/package.json +48 -0
  111. package/templates/accounts/src/browser/home.view.tsx +86 -0
  112. package/templates/accounts/src/browser/index.ts +3 -0
  113. package/templates/accounts/src/browser/login.view.tsx +78 -0
  114. package/templates/accounts/src/browser/module.ts +3 -0
  115. package/templates/accounts/src/common/entity-protocol.ts +7 -0
  116. package/templates/accounts/src/common/index.ts +1 -0
  117. package/templates/accounts/src/node/authentication/authentication-success-handler.ts +69 -0
  118. package/templates/accounts/src/node/authentication/index.ts +1 -0
  119. package/templates/accounts/src/node/entity/base-entity.ts +13 -0
  120. package/templates/accounts/src/node/entity/connection.ts +52 -0
  121. package/templates/accounts/src/node/entity/index.ts +1 -0
  122. package/templates/accounts/src/node/entity/user.ts +73 -0
  123. package/templates/accounts/src/node/error/error.ts +14 -0
  124. package/templates/accounts/src/node/error/index.ts +1 -0
  125. package/templates/accounts/src/node/index.ts +2 -0
  126. package/templates/accounts/src/node/module.ts +9 -0
  127. package/templates/accounts/src/node/user/index.ts +4 -0
  128. package/templates/accounts/src/node/user/user-protocol.ts +19 -0
  129. package/templates/accounts/src/node/user/user-repository.ts +72 -0
  130. package/templates/accounts/src/node/user/user-service.ts +36 -0
  131. package/templates/accounts/tsconfig.json +29 -0
  132. package/templates/admin-app/.github/workflows/deploy.yml +25 -0
  133. package/templates/admin-app/.vscode/launch.json +23 -0
  134. package/templates/admin-app/README.md +92 -0
  135. package/templates/admin-app/cell-database.yml +7 -0
  136. package/templates/admin-app/cell.yml +93 -0
  137. package/templates/admin-app/package.json +37 -0
  138. package/templates/admin-app/src/browser/module.ts +3 -0
  139. package/templates/admin-app/src/browser/user.view.tsx +40 -0
  140. package/templates/admin-app/src/common/index.ts +1 -0
  141. package/templates/admin-app/src/common/user-protocol.ts +23 -0
  142. package/templates/admin-app/src/node/entity/index.ts +1 -0
  143. package/templates/admin-app/src/node/entity/user.ts +15 -0
  144. package/templates/admin-app/src/node/module.ts +8 -0
  145. package/templates/admin-app/src/node/user-service.ts +41 -0
  146. package/templates/admin-app/tsconfig.json +29 -0
  147. package/templates/backend-app/.github/workflows/deploy.yml +25 -0
  148. package/templates/backend-app/.vscode/launch.json +23 -0
  149. package/templates/backend-app/README.md +92 -0
  150. package/templates/backend-app/cell.yml +0 -0
  151. package/templates/backend-app/package.json +33 -0
  152. package/templates/backend-app/src/home-controller.ts +11 -0
  153. package/templates/backend-app/src/module.ts +4 -0
  154. package/templates/backend-app/src/user-controller.ts +48 -0
  155. package/templates/backend-app/test/home-controller.spec.ts +16 -0
  156. package/templates/backend-app/tsconfig.json +29 -0
  157. package/templates/cell-component/.eslintrc.js +10 -0
  158. package/templates/cell-component/README.md +36 -0
  159. package/templates/cell-component/cell.yml +0 -0
  160. package/templates/cell-component/package.json +29 -0
  161. package/templates/cell-component/src/echo-service.ts +16 -0
  162. package/templates/cell-component/src/index.ts +1 -0
  163. package/templates/cell-component/src/module.ts +4 -0
  164. package/templates/cell-component/src/package.spec.ts +4 -0
  165. package/templates/cell-component/tsconfig.json +11 -0
  166. package/templates/database-app/.github/workflows/deploy.yml +25 -0
  167. package/templates/database-app/.vscode/launch.json +23 -0
  168. package/templates/database-app/README.md +92 -0
  169. package/templates/database-app/cell.yml +17 -0
  170. package/templates/database-app/package.json +31 -0
  171. package/templates/database-app/src/entity/index.ts +1 -0
  172. package/templates/database-app/src/entity/user.ts +13 -0
  173. package/templates/database-app/src/home-controller.ts +11 -0
  174. package/templates/database-app/src/module.ts +8 -0
  175. package/templates/database-app/src/user-controller.ts +43 -0
  176. package/templates/database-app/tsconfig.json +29 -0
  177. package/templates/docker-app/.github/workflows/deploy.yml +25 -0
  178. package/templates/docker-app/.vscode/launch.json +23 -0
  179. package/templates/docker-app/Dockerfile +27 -0
  180. package/templates/docker-app/README.md +93 -0
  181. package/templates/docker-app/cell.yml +0 -0
  182. package/templates/docker-app/package.json +31 -0
  183. package/templates/docker-app/src/browser/assets/logo.png +0 -0
  184. package/templates/docker-app/src/browser/css-shims.d.ts +30 -0
  185. package/templates/docker-app/src/browser/hello.view.tsx +31 -0
  186. package/templates/docker-app/src/browser/module.ts +3 -0
  187. package/templates/docker-app/src/browser/style/hello.module.scss +4 -0
  188. package/templates/docker-app/src/common/welcome-protocol.ts +5 -0
  189. package/templates/docker-app/src/node/module.ts +3 -0
  190. package/templates/docker-app/src/node/welcome-server.ts +9 -0
  191. package/templates/docker-app/tsconfig.json +30 -0
  192. package/templates/file-service/.github/workflows/deploy.yml +25 -0
  193. package/templates/file-service/.vscode/launch.json +23 -0
  194. package/templates/file-service/README.md +92 -0
  195. package/templates/file-service/cell.yml +12 -0
  196. package/templates/file-service/package.json +34 -0
  197. package/templates/file-service/src/file-controller.ts +47 -0
  198. package/templates/file-service/src/home-controller.ts +11 -0
  199. package/templates/file-service/src/module.ts +5 -0
  200. package/templates/file-service/tsconfig.json +29 -0
  201. package/templates/jwt-app/.github/workflows/deploy.yml +25 -0
  202. package/templates/jwt-app/.vscode/launch.json +23 -0
  203. package/templates/jwt-app/README.md +92 -0
  204. package/templates/jwt-app/cell.yml +4 -0
  205. package/templates/jwt-app/package.json +36 -0
  206. package/templates/jwt-app/src/context.ts +16 -0
  207. package/templates/jwt-app/src/error-handler.ts +30 -0
  208. package/templates/jwt-app/src/error.ts +4 -0
  209. package/templates/jwt-app/src/home-controller.ts +23 -0
  210. package/templates/jwt-app/src/index.ts +5 -0
  211. package/templates/jwt-app/src/jwt-middleware.ts +36 -0
  212. package/templates/jwt-app/src/module.ts +3 -0
  213. package/templates/jwt-app/test/home-controller.spec.ts +16 -0
  214. package/templates/jwt-app/tsconfig.json +29 -0
  215. package/templates/koa-app/app.js +8 -0
  216. package/templates/koa-app/package.json +9 -0
  217. package/templates/microservice/.github/workflows/deploy.yml +28 -0
  218. package/templates/microservice/.vscode/launch.json +24 -0
  219. package/templates/microservice/README.md +92 -0
  220. package/templates/microservice/examples/backend-app/README.md +92 -0
  221. package/templates/microservice/examples/backend-app/cell-remote.yml +4 -0
  222. package/templates/microservice/examples/backend-app/cell.yml +3 -0
  223. package/templates/microservice/examples/backend-app/package.json +32 -0
  224. package/templates/microservice/examples/backend-app/src/api-controller.ts +31 -0
  225. package/templates/microservice/examples/backend-app/src/module.ts +3 -0
  226. package/templates/microservice/examples/backend-app/tsconfig.json +29 -0
  227. package/templates/microservice/lerna.json +19 -0
  228. package/templates/microservice/package.json +23 -0
  229. package/templates/microservice/packages/api/README.md +92 -0
  230. package/templates/microservice/packages/api/cell.yml +0 -0
  231. package/templates/microservice/packages/api/package.json +25 -0
  232. package/templates/microservice/packages/api/src/common/api-protocol.ts +10 -0
  233. package/templates/microservice/packages/api/src/common/index.ts +1 -0
  234. package/templates/microservice/packages/api/tsconfig.json +27 -0
  235. package/templates/microservice/packages/serviceA/.vscode/launch.json +23 -0
  236. package/templates/microservice/packages/serviceA/README.md +92 -0
  237. package/templates/microservice/packages/serviceA/cell.yml +6 -0
  238. package/templates/microservice/packages/serviceA/package.json +29 -0
  239. package/templates/microservice/packages/serviceA/src/node/module.ts +3 -0
  240. package/templates/microservice/packages/serviceA/src/node/service-a.ts +9 -0
  241. package/templates/microservice/packages/serviceA/tsconfig.json +27 -0
  242. package/templates/microservice/packages/serviceB/README.md +92 -0
  243. package/templates/microservice/packages/serviceB/cell.yml +5 -0
  244. package/templates/microservice/packages/serviceB/package.json +29 -0
  245. package/templates/microservice/packages/serviceB/src/node/module.ts +3 -0
  246. package/templates/microservice/packages/serviceB/src/node/service-b.ts +9 -0
  247. package/templates/microservice/packages/serviceB/tsconfig.json +27 -0
  248. package/templates/microservice/tsconfig.json +29 -0
  249. package/templates/monorepo/.editorconfig +12 -0
  250. package/templates/monorepo/.eslintrc.js +18 -0
  251. package/templates/monorepo/.yarnrc +1 -0
  252. package/templates/monorepo/CHANGELOG.md +5 -0
  253. package/templates/monorepo/README.md +0 -0
  254. package/templates/monorepo/apps/sample-app/cell.yml +0 -0
  255. package/templates/monorepo/apps/sample-app/package.json +33 -0
  256. package/templates/monorepo/apps/sample-app/src/browser/assets/logo.png +0 -0
  257. package/templates/monorepo/apps/sample-app/src/browser/css-shims.d.ts +30 -0
  258. package/templates/monorepo/apps/sample-app/src/browser/hello.view.tsx +31 -0
  259. package/templates/monorepo/apps/sample-app/src/browser/module.ts +3 -0
  260. package/templates/monorepo/apps/sample-app/src/browser/style/hello.module.scss +4 -0
  261. package/templates/monorepo/apps/sample-app/src/common/welcome-protocol.ts +5 -0
  262. package/templates/monorepo/apps/sample-app/src/node/module.ts +3 -0
  263. package/templates/monorepo/apps/sample-app/src/node/welcome-server.ts +9 -0
  264. package/templates/monorepo/apps/sample-app/tsconfig.json +30 -0
  265. package/templates/monorepo/configs/root-compilation.tsconfig.json +14 -0
  266. package/templates/monorepo/configs/typedoc-tsconfig.json +6 -0
  267. package/templates/monorepo/configs/typedoc.json +23 -0
  268. package/templates/monorepo/lerna.json +17 -0
  269. package/templates/monorepo/package.json +46 -0
  270. package/templates/monorepo/packages/core/.eslintrc.js +10 -0
  271. package/templates/monorepo/packages/core/README.md +1 -0
  272. package/templates/monorepo/packages/core/cell.yml +0 -0
  273. package/templates/monorepo/packages/core/compile.tsconfig.json +13 -0
  274. package/templates/monorepo/packages/core/package.json +40 -0
  275. package/templates/monorepo/packages/core/src/browser/index.ts +0 -0
  276. package/templates/monorepo/packages/core/src/browser/module.ts +4 -0
  277. package/templates/monorepo/packages/core/src/common/index.ts +0 -0
  278. package/templates/monorepo/packages/core/src/common/module.ts +4 -0
  279. package/templates/monorepo/packages/core/src/node/index.ts +0 -0
  280. package/templates/monorepo/packages/core/src/node/module.ts +4 -0
  281. package/templates/monorepo/packages/core/src/package.spec.ts +4 -0
  282. package/templates/monorepo/scripts/check-publish.js +40 -0
  283. package/templates/monorepo/scripts/compile-references.js +286 -0
  284. package/templates/monorepo/tsconfig.json +20 -0
  285. package/templates/monorepo/tsfmt.json +3 -0
  286. package/templates/mycli/.vscode/launch.json +33 -0
  287. package/templates/mycli/bin/mycli +2 -0
  288. package/templates/mycli/bin/mycli-deploy +2 -0
  289. package/templates/mycli/bin/mycli-init +2 -0
  290. package/templates/mycli/package.json +33 -0
  291. package/templates/mycli/src/bootstrap.ts +7 -0
  292. package/templates/mycli/src/constants.ts +1 -0
  293. package/templates/mycli/src/deploy/deploy-manager.ts +12 -0
  294. package/templates/mycli/src/deploy/deploy.ts +16 -0
  295. package/templates/mycli/src/deploy/index.ts +1 -0
  296. package/templates/mycli/src/index.ts +2 -0
  297. package/templates/mycli/src/init/index.ts +1 -0
  298. package/templates/mycli/src/init/init-manager.ts +85 -0
  299. package/templates/mycli/src/init/init.ts +25 -0
  300. package/templates/mycli/src/init/templates.ts +3 -0
  301. package/templates/mycli/src/module.ts +3 -0
  302. package/templates/mycli/src/mycli.ts +13 -0
  303. package/templates/mycli/templates/application-template/README.md +0 -0
  304. package/templates/mycli/tsconfig.json +29 -0
  305. package/templates/nest-app/.eslintrc.js +25 -0
  306. package/templates/nest-app/.prettierrc +4 -0
  307. package/templates/nest-app/README.md +73 -0
  308. package/templates/nest-app/nest-cli.json +8 -0
  309. package/templates/nest-app/package.json +69 -0
  310. package/templates/nest-app/src/app.controller.spec.ts +22 -0
  311. package/templates/nest-app/src/app.controller.ts +12 -0
  312. package/templates/nest-app/src/app.module.ts +10 -0
  313. package/templates/nest-app/src/app.service.ts +8 -0
  314. package/templates/nest-app/src/main.ts +8 -0
  315. package/templates/nest-app/test/app.e2e-spec.ts +24 -0
  316. package/templates/nest-app/test/jest-e2e.json +9 -0
  317. package/templates/nest-app/tsconfig.build.json +4 -0
  318. package/templates/nest-app/tsconfig.json +21 -0
  319. package/templates/nextjs-app/.eslintrc.json +3 -0
  320. package/templates/nextjs-app/README.md +34 -0
  321. package/templates/nextjs-app/next.config.js +6 -0
  322. package/templates/nextjs-app/package.json +20 -0
  323. package/templates/nextjs-app/pages/_app.js +7 -0
  324. package/templates/nextjs-app/pages/api/hello.js +5 -0
  325. package/templates/nextjs-app/pages/index.js +69 -0
  326. package/templates/nextjs-app/public/favicon.ico +0 -0
  327. package/templates/nextjs-app/public/vercel.svg +4 -0
  328. package/templates/nextjs-app/styles/Home.module.css +116 -0
  329. package/templates/nextjs-app/styles/globals.css +16 -0
  330. package/templates/puppeteer/.github/workflows/deploy.yml +25 -0
  331. package/templates/puppeteer/.vscode/launch.json +23 -0
  332. package/templates/puppeteer/README.md +92 -0
  333. package/templates/puppeteer/cell.yml +11 -0
  334. package/templates/puppeteer/package.json +31 -0
  335. package/templates/puppeteer/src/home-controller.ts +11 -0
  336. package/templates/puppeteer/src/module.ts +5 -0
  337. package/templates/puppeteer/src/puppeteer-controller.ts +26 -0
  338. package/templates/puppeteer/tsconfig.json +29 -0
  339. package/templates/sample-app/.github/workflows/deploy.yml +25 -0
  340. package/templates/sample-app/.vscode/launch.json +23 -0
  341. package/templates/sample-app/README.md +92 -0
  342. package/templates/sample-app/cell.yml +0 -0
  343. package/templates/sample-app/package.json +31 -0
  344. package/templates/sample-app/src/browser/assets/logo.png +0 -0
  345. package/templates/sample-app/src/browser/css-shims.d.ts +30 -0
  346. package/templates/sample-app/src/browser/hello.view.tsx +31 -0
  347. package/templates/sample-app/src/browser/module.ts +3 -0
  348. package/templates/sample-app/src/browser/style/hello.module.scss +4 -0
  349. package/templates/sample-app/src/common/welcome-protocol.ts +5 -0
  350. package/templates/sample-app/src/node/module.ts +3 -0
  351. package/templates/sample-app/src/node/welcome-server.ts +9 -0
  352. package/templates/sample-app/tsconfig.json +29 -0
  353. package/templates/schedule/.github/workflows/deploy.yml +25 -0
  354. package/templates/schedule/.vscode/launch.json +23 -0
  355. package/templates/schedule/README.md +92 -0
  356. package/templates/schedule/cell.yml +1 -0
  357. package/templates/schedule/package.json +29 -0
  358. package/templates/schedule/src/module.ts +3 -0
  359. package/templates/schedule/src/scheduler.ts +10 -0
  360. package/templates/schedule/tsconfig.json +29 -0
  361. package/templates/standalone-app/package.json +17 -0
  362. package/templates/standalone-app/src/app.service.ts +10 -0
  363. package/templates/standalone-app/src/main.ts +14 -0
  364. package/templates/standalone-app/src/module.ts +3 -0
  365. package/templates/standalone-app/tsconfig.json +27 -0
  366. package/templates/vue-app/.github/workflows/deploy.yml +25 -0
  367. package/templates/vue-app/.vscode/launch.json +23 -0
  368. package/templates/vue-app/README.md +92 -0
  369. package/templates/vue-app/cell.yml +0 -0
  370. package/templates/vue-app/package.json +32 -0
  371. package/templates/vue-app/src/browser/App.vue +32 -0
  372. package/templates/vue-app/src/browser/app.ts +7 -0
  373. package/templates/vue-app/src/browser/components/HelloWorld.vue +42 -0
  374. package/templates/vue-app/src/browser/declare.d.ts +7 -0
  375. package/templates/vue-app/src/browser/images/logo.png +0 -0
  376. package/templates/vue-app/src/browser/module.ts +3 -0
  377. package/templates/vue-app/src/browser/router.ts +13 -0
  378. package/templates/vue-app/src/browser/shims-vue.d.ts +5 -0
  379. package/templates/vue-app/src/browser/views/About.vue +5 -0
  380. package/templates/vue-app/src/browser/views/Root.vue +37 -0
  381. package/templates/vue-app/src/common/welcome-protocol.ts +5 -0
  382. package/templates/vue-app/src/node/module.ts +3 -0
  383. package/templates/vue-app/src/node/welcome-server.ts +9 -0
  384. package/templates/vue-app/tsconfig.json +30 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"info.js","sourceRoot":"","sources":["../../src/info/info.ts"],"names":[],"mappings":";;AACA,6EAAoF;AACpF,0EAAsE;AAItE,kBAAe,KAAK,EAAE,GAAe,EAAE,OAAoB,EAAE,EAAE;IAC3D,IAAI;QACA,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;QACtB,MAAM,YAAY,GAAG,IAAI,4BAAY,EAAE,CAAC;QACxC,MAAM,YAAY,CAAC,gBAAgB,CAAC,GAAG,EAAE,yBAAS,CAAC,MAAM,CAAC,CAAC;QAE3D,wBAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC3B,wBAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;QAC1B,wBAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAC7B,wBAAU,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;QAEhC,MAAM,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;KAC5C;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACpB;AACL,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { CliContext } from '@celljs/cli-common/lib/context/context-protocol';
2
+ export interface Template {
3
+ name: string;
4
+ location: string;
5
+ }
6
+ export interface InitOptions {
7
+ template?: string;
8
+ packager?: 'pnpm' | 'yarn' | 'npm';
9
+ outputDir: string;
10
+ }
11
+ export declare class InitManager {
12
+ protected readonly opts: InitOptions;
13
+ protected source: any[];
14
+ protected templateName: string;
15
+ protected location: string;
16
+ protected cliContext: CliContext;
17
+ constructor(opts: InitOptions);
18
+ output(): Promise<void>;
19
+ render(): Promise<void>;
20
+ install(): Promise<void>;
21
+ executeHooks(): Promise<void>;
22
+ protected getCliContext(): Promise<CliContext>;
23
+ protected get outputDir(): string;
24
+ protected checkOutputDir(): Promise<void>;
25
+ protected toOfficialTemplate(name: string, location: string): any;
26
+ protected toThirdPartyTemplate(item: any): any;
27
+ protected selectTemplate(): Promise<void>;
28
+ protected get realLocation(): string;
29
+ protected doOutput(): Promise<void>;
30
+ protected outputLocalTemplate(): Promise<void>;
31
+ protected outputRemoteTempate(): Promise<any>;
32
+ }
33
+ //# sourceMappingURL=init-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-manager.d.ts","sourceRoot":"","sources":["../../src/init/init-manager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAgB7E,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,WAAW;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,WAAW;IAMR,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW;IAJhD,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC;IACxB,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;gBACF,IAAI,EAAE,WAAW;IAI1C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAMvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAWvB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAOxB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;cAQnB,aAAa,IAAI,OAAO,CAAC,UAAU,CAAC;IASpD,SAAS,KAAK,SAAS,IAAI,MAAM,CAEhC;cAEe,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB/C,SAAS,CAAC,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,GAAG;IAIjE,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;cAI9B,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC/C,SAAS,KAAK,YAAY,WAEzB;cAEe,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;cAOzB,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpD,SAAS,CAAC,mBAAmB,IAAI,OAAO,CAAC,GAAG,CAAC;CAIhD"}
@@ -0,0 +1,138 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InitManager = void 0;
4
+ const path_1 = require("path");
5
+ const fs_extra_1 = require("fs-extra");
6
+ const templates_1 = require("./templates");
7
+ const utils_1 = require("@celljs/cli-common/lib/packager/utils");
8
+ const hook_executor_1 = require("@celljs/cli-common/lib/hook/hook-executor");
9
+ const command_util_1 = require("@celljs/cli-common/lib/utils/command-util");
10
+ const prompts_1 = require("prompts");
11
+ const ora = require("ora");
12
+ const rimraf = require('rimraf');
13
+ const chalk = require('chalk');
14
+ const assert_1 = require("assert");
15
+ const cli_runtime_1 = require("@celljs/cli-runtime");
16
+ const version = require('../../package.json').version;
17
+ const PLACEHOLD = '{{ templatePath }}';
18
+ const remoteTemplateRegex = /^(https?:|git@)/i;
19
+ class InitManager {
20
+ constructor(opts) {
21
+ this.opts = opts;
22
+ }
23
+ async output() {
24
+ await this.selectTemplate();
25
+ await this.checkOutputDir();
26
+ await this.doOutput();
27
+ }
28
+ async render() {
29
+ const packageJsonPath = (0, path_1.resolve)(this.outputDir, 'package.json');
30
+ if ((0, fs_extra_1.existsSync)(packageJsonPath)) {
31
+ let packageJsonStr = await (0, fs_extra_1.readFile)(packageJsonPath, { encoding: 'utf8' });
32
+ packageJsonStr = packageJsonStr.replace(/{{\s*version\s*}}/g, version);
33
+ const packageJson = JSON.parse(packageJsonStr);
34
+ packageJson.name = (0, path_1.basename)(this.outputDir);
35
+ await (0, fs_extra_1.writeJSON)(packageJsonPath, packageJson, { encoding: 'utf8', spaces: 2 });
36
+ }
37
+ }
38
+ async install() {
39
+ var _a;
40
+ const pkg = command_util_1.CommandUtil.getPkg(undefined, this.outputDir);
41
+ const packager = this.opts.packager || ((_a = pkg.rootComponentPackage.cellComponent) === null || _a === void 0 ? void 0 : _a.packager);
42
+ await (0, utils_1.getPackager)(packager, this.outputDir).install({}, this.outputDir);
43
+ }
44
+ async executeHooks() {
45
+ const outputDir = this.outputDir;
46
+ const initContext = await this.getCliContext();
47
+ await new hook_executor_1.HookExecutor().executeHooks(initContext, 'initHooks');
48
+ console.log(chalk `{bold.green Success!} Initialized "${this.templateName}" example in {bold.blue ${outputDir}}.`);
49
+ process.exit(0);
50
+ }
51
+ async getCliContext() {
52
+ if (!this.cliContext) {
53
+ this.cliContext = await cli_runtime_1.RuntimeUtil.initRuntimeAndLoadContext(this.outputDir);
54
+ this.cliContext.location = this.realLocation;
55
+ this.cliContext.outputDir = this.outputDir;
56
+ }
57
+ return this.cliContext;
58
+ }
59
+ get outputDir() {
60
+ return (0, path_1.resolve)(process.cwd(), this.opts.outputDir ? this.opts.outputDir : this.location.split('/').pop().replace('.git', ''));
61
+ }
62
+ async checkOutputDir() {
63
+ if ((0, fs_extra_1.existsSync)(this.outputDir)) {
64
+ // eslint-disable-next-line @typescript-eslint/await-thenable
65
+ await prompts_1.prompts.confirm({
66
+ name: 'remove',
67
+ type: 'confirm',
68
+ message: `App already exists, remove the app (dir: ${(0, path_1.join)((0, path_1.relative)(process.cwd(), this.outputDir))})`,
69
+ onState: ({ value }) => {
70
+ if (value === true) {
71
+ rimraf.sync(this.outputDir);
72
+ }
73
+ else {
74
+ process.exit(0);
75
+ }
76
+ }
77
+ });
78
+ }
79
+ }
80
+ toOfficialTemplate(name, location) {
81
+ return { title: `${name} ${chalk.italic.gray('Official')}`, value: { location, name } };
82
+ }
83
+ toThirdPartyTemplate(item) {
84
+ return { title: `${item.name} ${chalk.italic.gray(item.stargazers_count + '⭑')}`, value: { location: item.clone_url, name: item.name } };
85
+ }
86
+ async selectTemplate() {
87
+ const { template } = this.opts;
88
+ if (template) {
89
+ this.templateName = template;
90
+ if (remoteTemplateRegex.test(template)) {
91
+ this.location = template;
92
+ }
93
+ else {
94
+ Object.keys(templates_1.templates).forEach(key => {
95
+ if (key === template) {
96
+ this.location = templates_1.templates[key];
97
+ }
98
+ });
99
+ (0, assert_1.ok)(this.location, `"${template}" template not found`);
100
+ }
101
+ return;
102
+ }
103
+ const spinner = ora({ text: 'loading...', discardStdin: false }).start();
104
+ const officialTemplates = Object.keys(templates_1.templates).map(key => this.toOfficialTemplate(key, templates_1.templates[key]));
105
+ const choices = officialTemplates;
106
+ spinner.stop();
107
+ const answer = await prompts_1.prompts.autocomplete({
108
+ type: 'autocomplete',
109
+ name: 'template',
110
+ limit: 12,
111
+ message: 'Select a template to init',
112
+ choices,
113
+ suggest: async (input) => choices.filter(item => !input || item.title.toLowerCase().includes(input.toLowerCase()))
114
+ });
115
+ this.templateName = answer.name;
116
+ this.location = answer.location;
117
+ }
118
+ get realLocation() {
119
+ return this.location.replace(PLACEHOLD, (0, path_1.resolve)(__dirname, '..', '..', 'templates'));
120
+ }
121
+ async doOutput() {
122
+ if (remoteTemplateRegex.test(this.location)) {
123
+ await this.outputRemoteTempate();
124
+ }
125
+ else {
126
+ await this.outputLocalTemplate();
127
+ }
128
+ }
129
+ async outputLocalTemplate() {
130
+ await (0, fs_extra_1.copy)(this.realLocation, this.outputDir);
131
+ }
132
+ outputRemoteTempate() {
133
+ const dir = this.opts.outputDir ? [this.opts.outputDir] : [];
134
+ return (0, utils_1.spawnProcess)('git', ['clone', '--depth=1', this.location, ...dir], { stdio: 'inherit' });
135
+ }
136
+ }
137
+ exports.InitManager = InitManager;
138
+ //# sourceMappingURL=init-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init-manager.js","sourceRoot":"","sources":["../../src/init/init-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { InitOptions } from './init-manager';
2
+ declare const _default: (options: InitOptions) => Promise<void>;
3
+ export default _default;
4
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/init/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,MAAM,gBAAgB,CAAC;kCAE3B,WAAW;AAA1C,wBAYE"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const init_manager_1 = require("./init-manager");
4
+ exports.default = async (options) => {
5
+ try {
6
+ const initManager = new init_manager_1.InitManager(options);
7
+ await initManager.output();
8
+ await initManager.render();
9
+ await initManager.install();
10
+ await initManager.executeHooks();
11
+ }
12
+ catch (error) {
13
+ console.error(error);
14
+ process.exit(-1);
15
+ }
16
+ };
17
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/init/init.ts"],"names":[],"mappings":";;AAAA,iDAA0D;AAE1D,kBAAe,KAAK,EAAE,OAAoB,EAAE,EAAE;IAC1C,IAAI;QACA,MAAM,WAAW,GAAG,IAAI,0BAAW,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,WAAW,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,WAAW,CAAC,YAAY,EAAE,CAAC;KACpC;IAAC,OAAO,KAAK,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACpB;AAEL,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const templates: any;
2
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,EAAE,GAoBvB,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.templates = void 0;
4
+ exports.templates = {
5
+ 'backend-app': '{{ templatePath }}/backend-app',
6
+ 'sample-app': '{{ templatePath }}/sample-app',
7
+ 'cell-component': '{{ templatePath }}/cell-component',
8
+ 'docker-app': '{{ templatePath }}/docker-app',
9
+ 'monorepo': '{{ templatePath }}/monorepo',
10
+ 'nest-app': '{{ templatePath }}/nest-app',
11
+ 'nextjs-app': '{{ templatePath }}/nextjs-app',
12
+ 'koa-app': '{{ templatePath }}/koa-app',
13
+ 'vue-app': '{{ templatePath }}/vue-app',
14
+ 'database-app': '{{ templatePath }}/database-app',
15
+ 'jwt-app': '{{ templatePath }}/jwt-app',
16
+ 'accounts': '{{ templatePath }}/accounts',
17
+ 'schedule': '{{ templatePath }}/schedule',
18
+ 'admin-app': '{{ templatePath }}/admin-app',
19
+ 'microservice': '{{ templatePath }}/microservice',
20
+ 'standalone-app': '{{ templatePath }}/standalone-app',
21
+ 'file-service': '{{ templatePath }}/file-service',
22
+ 'puppeteer': '{{ templatePath }}/puppeteer',
23
+ 'mycli': '{{ templatePath }}/mycli'
24
+ };
25
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/init/templates.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAQ;IAC1B,aAAa,EAAE,gCAAgC;IAC/C,YAAY,EAAE,+BAA+B;IAC7C,gBAAgB,EAAE,mCAAmC;IACrD,YAAY,EAAE,+BAA+B;IAC7C,UAAU,EAAE,6BAA6B;IACzC,UAAU,EAAE,6BAA6B;IACzC,YAAY,EAAE,+BAA+B;IAC7C,SAAS,EAAE,4BAA4B;IACvC,SAAS,EAAE,4BAA4B;IACvC,cAAc,EAAE,iCAAiC;IACjD,SAAS,EAAE,4BAA4B;IACvC,UAAU,EAAE,6BAA6B;IACzC,UAAU,EAAE,6BAA6B;IACzC,WAAW,EAAE,8BAA8B;IAC3C,cAAc,EAAE,iCAAiC;IACjD,gBAAgB,EAAE,mCAAmC;IACrD,cAAc,EAAE,iCAAiC;IACjD,WAAW,EAAE,8BAA8B;IAC3C,OAAO,EAAE,0BAA0B;CACtC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=malagu-main.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malagu-main.d.ts","sourceRoot":"","sources":["../src/malagu-main.ts"],"names":[],"mappings":""}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const child_process_1 = require("child_process");
4
+ const path_util_1 = require("@malagu/cli-common/lib/utils/path-util");
5
+ const command_util_1 = require("@malagu/cli-common/lib/utils/command-util");
6
+ const path_1 = require("path");
7
+ const runtime_util_1 = require("@malagu/cli-runtime/lib/util/runtime-util");
8
+ const dotenv_1 = require("dotenv");
9
+ const Watchpack = require('watchpack');
10
+ (0, dotenv_1.config)();
11
+ const argv = [...process.argv];
12
+ argv.shift();
13
+ argv.shift();
14
+ let current;
15
+ const exitListener = (code) => {
16
+ // eslint-disable-next-line no-null/no-null
17
+ if (code !== null) {
18
+ process.exit(code);
19
+ }
20
+ else {
21
+ process.exit(-1);
22
+ }
23
+ };
24
+ async function execute() {
25
+ var _a;
26
+ const pkg = command_util_1.CommandUtil.getPkg();
27
+ let projectPath = (_a = pkg.rootComponentPackage.malaguComponent) === null || _a === void 0 ? void 0 : _a.projectPath;
28
+ projectPath = projectPath ? (0, path_1.resolve)(process.cwd(), projectPath) : process.cwd();
29
+ try {
30
+ const malaguMainPath = require.resolve('@malagu/cli/lib/malagu-main', { paths: [projectPath] });
31
+ if ((0, path_1.dirname)(malaguMainPath) !== __dirname) {
32
+ const subprocess = (0, child_process_1.fork)(malaguMainPath, argv, { stdio: 'inherit', cwd: projectPath });
33
+ subprocess.on('exit', exitListener);
34
+ subprocess.on('error', () => process.exit(-1));
35
+ return;
36
+ }
37
+ }
38
+ catch (error) {
39
+ if ((error === null || error === void 0 ? void 0 : error.code) !== 'MODULE_NOT_FOUND') {
40
+ throw error;
41
+ }
42
+ }
43
+ if ((current === null || current === void 0 ? void 0 : current.killed) === false) {
44
+ current.removeListener('exit', exitListener);
45
+ current.kill();
46
+ }
47
+ const { runtime, framework, settings } = await runtime_util_1.RuntimeUtil.initRuntime(projectPath);
48
+ const nodePaths = Array.from(new Set([
49
+ (0, path_1.join)(projectPath, 'node_modules'),
50
+ (0, path_1.join)(projectPath, '..', 'node_modules'),
51
+ (0, path_1.join)(projectPath, '..', '..', 'node_modules'),
52
+ (0, path_1.join)(projectPath, '..', '..', '..', 'node_modules')
53
+ ]));
54
+ process.env.MALAGU_RFS = JSON.stringify({ runtime, settings, framework });
55
+ const runtimePath = path_util_1.PathUtil.getRuntimePath(runtime);
56
+ if (runtimePath !== projectPath) {
57
+ nodePaths.push((0, path_1.join)(runtimePath, 'node_modules'));
58
+ }
59
+ process.env.NODE_PATH = nodePaths.join(path_1.delimiter);
60
+ const malaguPath = require.resolve('@malagu/cli/lib/malagu', { paths: [__dirname] });
61
+ current = (0, child_process_1.fork)(malaguPath, argv, { stdio: 'inherit', cwd: projectPath });
62
+ // eslint-disable-next-line no-null/no-null
63
+ current.on('exit', exitListener);
64
+ current.on('error', () => process.exit(-1));
65
+ current.on('message', (messageEvent) => {
66
+ if (messageEvent.type === 'cliContext') {
67
+ const { components, webpackHookModules, configHookModules, buildHookModules, serveHookModules, deployHookModules, propsHookModules, infoHookModules } = messageEvent.data;
68
+ const files = [
69
+ ...(webpackHookModules || []).map(m => m.path),
70
+ ...(configHookModules || []).map(m => m.path),
71
+ ...(buildHookModules || []).map(m => m.path),
72
+ ...(serveHookModules || []).map(m => m.path),
73
+ ...(deployHookModules || []).map(m => m.path),
74
+ ...(propsHookModules || []).map(m => m.path),
75
+ ...(infoHookModules || []).map(m => m.path),
76
+ ...(components || []).reduce((prev, curr) => prev.concat(curr.configFiles), [])
77
+ ];
78
+ const watchpack = new Watchpack({
79
+ aggregateTimeout: 1500
80
+ });
81
+ watchpack.watch({
82
+ files: files.map(f => f === null || f === void 0 ? void 0 : f.split('/').join(path_1.sep))
83
+ });
84
+ watchpack.on('aggregated', () => {
85
+ watchpack.close();
86
+ execute();
87
+ });
88
+ }
89
+ else if (messageEvent.type === 'address') {
90
+ if (process.send) {
91
+ process.send(messageEvent);
92
+ }
93
+ }
94
+ });
95
+ }
96
+ function exit() {
97
+ if ((current === null || current === void 0 ? void 0 : current.killed) === false) {
98
+ current.kill();
99
+ }
100
+ }
101
+ process.on('exit', exit);
102
+ process.on('SIGINT', exit);
103
+ try {
104
+ execute();
105
+ }
106
+ catch (error) {
107
+ exit();
108
+ process.exit(-1);
109
+ }
110
+ //# sourceMappingURL=malagu-main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malagu-main.js","sourceRoot":"","sources":["../src/malagu-main.ts"],"names":[],"mappings":";;AAAA,iDAAmD;AACnD,sEAAkE;AAElE,4EAAwE;AACxE,+BAA8D;AAC9D,4EAAwE;AACxE,mCAAgC;AAChC,MAAM,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;AACvC,IAAA,eAAM,GAAE,CAAC;AAET,MAAM,IAAI,GAAG,CAAE,GAAG,OAAO,CAAC,IAAI,CAAE,CAAC;AACjC,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,IAAI,CAAC,KAAK,EAAE,CAAC;AAEb,IAAI,OAAqB,CAAC;AAa1B,MAAM,YAAY,GAAG,CAAC,IAAmB,EAAE,EAAE;IACzC,2CAA2C;IAC3C,IAAI,IAAI,KAAK,IAAI,EAAE;QACf,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACtB;SAAM;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;KACpB;AAEL,CAAC,CAAC;AAEF,KAAK,UAAU,OAAO;;IAClB,MAAM,GAAG,GAAG,0BAAW,CAAC,MAAM,EAAE,CAAC;IACjC,IAAI,WAAW,GAAG,MAAA,GAAG,CAAC,oBAAoB,CAAC,eAAe,0CAAE,WAAW,CAAC;IACxE,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;IAChF,IAAI;QACA,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,KAAK,EAAE,CAAE,WAAW,CAAE,EAAE,CAAC,CAAC;QAClG,IAAI,IAAA,cAAO,EAAC,cAAc,CAAC,KAAK,SAAS,EAAE;YACvC,MAAM,UAAU,GAAG,IAAA,oBAAI,EAAC,cAAc,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;YACtF,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;YACpC,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/C,OAAO;SACV;KACJ;IAAC,OAAO,KAAK,EAAE;QACZ,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,kBAAkB,EAAE;YACpC,MAAM,KAAK,CAAC;SACf;KACJ;IAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,KAAK,EAAE;QAC3B,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,EAAE,CAAC;KAClB;IACD,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,MAAM,0BAAW,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;IAEpF,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAS;QACzC,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,CAAC;QACjC,IAAA,WAAI,EAAC,WAAW,EAAE,IAAI,EAAE,cAAc,CAAC;QACvC,IAAA,WAAI,EAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;QAC7C,IAAA,WAAI,EAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC;KACtD,CAAC,CAAC,CAAC;IAEJ,OAAO,CAAC,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;IAC1E,MAAM,WAAW,GAAG,oBAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,WAAW,KAAK,WAAW,EAAE;QAC7B,SAAS,CAAC,IAAI,CAAC,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;KACrD;IACD,OAAO,CAAC,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,gBAAS,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,CAAE,SAAS,CAAE,EAAE,CAAC,CAAC;IACvF,OAAO,GAAG,IAAA,oBAAI,EAAC,UAAU,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;IACzE,2CAA2C;IAC3C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,YAAgC,EAAE,EAAE;QACvD,IAAI,YAAY,CAAC,IAAI,KAAK,YAAY,EAAE;YACpC,MAAM,EAAE,UAAU,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EACvE,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,eAAe,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC;YACjG,MAAM,KAAK,GAAG;gBACV,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC9C,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7C,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5C,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5C,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC7C,GAAG,CAAC,gBAAgB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC5C,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC3C,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CAAW,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;aAC5F,CAAC;YACF,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;gBAC5B,gBAAgB,EAAE,IAAI;aACzB,CAAC,CAAC;YACH,SAAS,CAAC,KAAK,CAAC;gBACZ,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,UAAG,CAAC,CAAC;aACjD,CAAC,CAAC;YACH,SAAS,CAAC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;gBAC5B,SAAS,CAAC,KAAK,EAAE,CAAC;gBAClB,OAAO,EAAE,CAAC;YACd,CAAC,CAAC,CAAC;SACN;aAAM,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE;YACxC,IAAI,OAAO,CAAC,IAAI,EAAE;gBACd,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;aAC9B;SACJ;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,IAAI;IACT,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,MAAK,KAAK,EAAE;QAC3B,OAAO,CAAC,IAAI,EAAE,CAAC;KAClB;AACL,CAAC;AAED,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACzB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;AAC3B,IAAI;IACA,OAAO,EAAE,CAAC;CACb;AAAC,OAAO,KAAK,EAAE;IACZ,IAAI,EAAE,CAAC;IACP,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;CACpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=malagu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malagu.d.ts","sourceRoot":"","sources":["../src/malagu.ts"],"names":[],"mappings":""}
package/lib/malagu.js ADDED
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const leven = require('leven');
4
+ const ora = require("ora");
5
+ const hook_executor_1 = require("@malagu/cli-common/lib/hook/hook-executor");
6
+ const command_util_1 = require("@malagu/cli-common/lib/utils/command-util");
7
+ const command_protocol_1 = require("@malagu/cli-common/lib/command/command-protocol");
8
+ const banner_util_1 = require("./utils/banner-util");
9
+ const build_1 = require("./build/build");
10
+ const serve_1 = require("./serve/serve");
11
+ const deploy_1 = require("./deploy/deploy");
12
+ const chalk = require('chalk');
13
+ const updateNotifier = require('update-notifier');
14
+ const pkg = require('../package.json');
15
+ const version = pkg.version;
16
+ updateNotifier({ pkg }).notify();
17
+ const spinner = ora({ text: chalk.italic.gray('loading command line context...\n'), discardStdin: false });
18
+ (async () => {
19
+ const { runtime, framework, settings } = JSON.parse(process.env.MALAGU_RFS);
20
+ banner_util_1.BannerUtil.print(version, settings, runtime, framework);
21
+ spinner.start();
22
+ const context = await command_util_1.CommandUtil.loadContext(settings, framework, runtime, undefined, spinner);
23
+ await new hook_executor_1.HookExecutor().executeHooks(context, 'cliHooks', hook_executor_1.HookStage.before);
24
+ const { componentPackages, configHookModules, webpackHookModules, serveHookModules, buildHookModules, deployHookModules, infoHookModules, propsHookModules } = context.pkg;
25
+ if (command_util_1.CommandUtil.includesCommand(context.args, settings.compileCommands)) {
26
+ process.send({
27
+ type: 'cliContext',
28
+ data: {
29
+ components: componentPackages.map(c => c.malaguComponent),
30
+ configHookModules,
31
+ webpackHookModules,
32
+ serveHookModules,
33
+ buildHookModules,
34
+ deployHookModules,
35
+ infoHookModules,
36
+ propsHookModules
37
+ }
38
+ });
39
+ }
40
+ command_protocol_1.program
41
+ .version(version, '-V, --version', 'version for malagu')
42
+ .option('-t, --targets [targets]', 'targets for malagu', value => value ? value.split(',') : [])
43
+ .option('-m, --mode [mode]', 'mode for malagu', value => value ? value.split(',') : [])
44
+ .option('--props-dir [propsDir]', 'props directory for malagu')
45
+ .option('--props-file [propsFile]', 'props file for malagu')
46
+ .option('--skip-auto-install [skipAutoInstall]', 'skip automatic installation of components for malagu')
47
+ .usage('<command> [options]');
48
+ command_protocol_1.program
49
+ .command('init [template]')
50
+ .option('-o, --output-dir [path]', 'output directory')
51
+ .option('-p --packager [packager]', 'package manager(pnpm, yarn, npm)')
52
+ .description('init a application')
53
+ .action((template, options) => {
54
+ require('./init/init').default(Object.assign({ template }, options));
55
+ });
56
+ command_protocol_1.program
57
+ .command('serve')
58
+ .option('-p, --port [port]', 'port used by the server')
59
+ .description('serve a applicaton')
60
+ .action((entry, options) => {
61
+ (0, serve_1.default)(context, Object.assign({ entry }, options));
62
+ });
63
+ command_protocol_1.program
64
+ .command('build')
65
+ .description('build a application')
66
+ .action((entry, options) => {
67
+ (0, build_1.default)(context, Object.assign({ entry }, options));
68
+ });
69
+ command_protocol_1.program
70
+ .command('deploy')
71
+ .option('-s, --skip-build [skipBuild]', 'skip the build process')
72
+ .description('deploy a applicaton')
73
+ .action((entry, options) => {
74
+ (0, deploy_1.default)(context, Object.assign({ entry }, options));
75
+ });
76
+ command_protocol_1.program
77
+ .command('props')
78
+ .description('display properties about application')
79
+ .option('-n, --name [name]', 'get the property value of the specified name')
80
+ .option('-f, --frontend [frontend]', 'frontend properties')
81
+ .option('-b, --backend [backend]', 'backend properties')
82
+ .action(options => {
83
+ require('./props/props').default(context, Object.assign({}, options));
84
+ });
85
+ command_protocol_1.program
86
+ .command('info')
87
+ .description('display information about application')
88
+ .action(options => {
89
+ require('./info/info').default(context, Object.assign({}, options));
90
+ });
91
+ command_protocol_1.program
92
+ .command('config')
93
+ .option('--default-runtime [defaultRuntime]', 'default runtime')
94
+ .option('--default-mode [defaultMode]', 'default mode', value => value ? value.split(',') : [])
95
+ .option('--frameworks-url [frameworksUrl]', 'frameworks url')
96
+ .option('--frameworks-upstream-url [frameworksUpStreamUrl]', 'frameworks upstream url')
97
+ .option('--config-file-alias [configFileAlias]', 'config file alias')
98
+ .option('--show [show]', 'show properties for the application')
99
+ .description('configure properties for the application')
100
+ .action(options => {
101
+ require('./config/config').default(context, Object.assign({}, options));
102
+ });
103
+ command_protocol_1.program
104
+ .command('update')
105
+ .option('-v, --version [version]', 'version for malagu')
106
+ .option('-d, --dist-tag [distTag]', 'Which dist-tag to use to find the latest version')
107
+ .option('-s, --skip-installing-component [skipIntallingComponent]', 'skip installing components')
108
+ .description('update malagu cli and current project\'s malagu components')
109
+ .action(options => {
110
+ require('./update/update').default(context, Object.assign({}, options));
111
+ });
112
+ const runtimeCmd = command_protocol_1.program
113
+ .command('runtime [command]')
114
+ .alias('r')
115
+ .description('management runtime');
116
+ runtimeCmd
117
+ .command('install [runtime] [alias]')
118
+ .alias('i')
119
+ .description('install a runtime')
120
+ .option('-f, --force-installing-component [forceInstallingComponent]', 'force installing component')
121
+ .option('-o, --overwrite [overwrite]', 'overwrite existing runtime')
122
+ .option('-v, --version [version]', 'specify runtime version', 'latest')
123
+ .action((r, alias, options) => {
124
+ require('@malagu/cli-runtime/lib/install/install').default(Object.assign({ runtime: r, alias }, options));
125
+ });
126
+ runtimeCmd
127
+ .command('use [runtime]')
128
+ .description('use a runtime')
129
+ .action(r => {
130
+ require('@malagu/cli-runtime/lib/use/use').default({ runtime: r });
131
+ });
132
+ runtimeCmd
133
+ .command('list')
134
+ .alias('ls')
135
+ .description('list all runtimes')
136
+ .action(() => {
137
+ require('@malagu/cli-runtime/lib/list/list').default({});
138
+ });
139
+ runtimeCmd
140
+ .command('uninstall [runtime]')
141
+ .alias('u')
142
+ .description('uninstall a runtime')
143
+ .action(r => {
144
+ require('@malagu/cli-runtime/lib/uninstall/uninstall').default({ runtime: r });
145
+ });
146
+ await new hook_executor_1.HookExecutor().executeHooks(context, 'cliHooks');
147
+ spinner.stop();
148
+ command_protocol_1.program
149
+ .arguments('[command]')
150
+ .action(cmd => {
151
+ command_protocol_1.program.outputHelp();
152
+ if (cmd) {
153
+ console.log();
154
+ console.log(chalk.red(`Unknown command ${chalk.yellow(cmd)}.`));
155
+ console.log();
156
+ suggestCommands(cmd, command_protocol_1.program);
157
+ }
158
+ });
159
+ runtimeCmd
160
+ .arguments('[command]')
161
+ .action(cmd => {
162
+ runtimeCmd.outputHelp();
163
+ if (cmd) {
164
+ console.log();
165
+ console.log(chalk.red(`Unknown command ${chalk.yellow(cmd)}.`));
166
+ console.log();
167
+ suggestCommands(cmd, runtimeCmd);
168
+ }
169
+ });
170
+ command_protocol_1.program.addHelpText('after', '\nUse "malagu [command] --help" for more information about a command.');
171
+ command_protocol_1.program.parse(process.argv);
172
+ })().catch(error => {
173
+ spinner.stop();
174
+ console.error(error);
175
+ process.exit(-1);
176
+ });
177
+ function suggestCommands(unknownCommand, main) {
178
+ const availableCommands = main.commands.map((cmd) => cmd.name());
179
+ let suggestion = '';
180
+ availableCommands.forEach((cmd) => {
181
+ const isBestMatch = leven(cmd, unknownCommand) < leven(suggestion, unknownCommand);
182
+ if (leven(cmd, unknownCommand) <= 3 && isBestMatch) {
183
+ suggestion = cmd;
184
+ }
185
+ });
186
+ if (suggestion) {
187
+ console.log(` ${chalk.yellow(`Did you mean ${chalk.green(suggestion)}?`)}`);
188
+ }
189
+ }
190
+ //# sourceMappingURL=malagu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"malagu.js","sourceRoot":"","sources":["../src/malagu.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=package.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.spec.d.ts","sourceRoot":"","sources":["../src/package.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,4 @@
1
+ describe('cli package', () => {
2
+ it('support code coverage statistics', () => { });
3
+ });
4
+ //# sourceMappingURL=package.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package.spec.js","sourceRoot":"","sources":["../src/package.spec.ts"],"names":[],"mappings":"AAAA,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAEzB,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { CliContext } from '@celljs/cli-common/lib/context/context-protocol';
2
+ export interface PropsOptions {
3
+ backend?: boolean;
4
+ frontend?: boolean;
5
+ name?: string;
6
+ }
7
+ declare const _default: (ctx: CliContext, options: PropsOptions) => Promise<void>;
8
+ export default _default;
9
+ //# sourceMappingURL=props.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.d.ts","sourceRoot":"","sources":["../../src/props/props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iDAAiD,CAAC;AAM7E,MAAM,WAAW,YAAY;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;8BAE0B,UAAU,WAAW,YAAY;AAA5D,wBAmCE"}