gina 0.0.9-p91c → 0.1.1-alpha.3

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 (466) hide show
  1. package/INSTALL.md +46 -0
  2. package/{core/asset/html/static.html → Icon/r} +0 -0
  3. package/LICENSE +1 -1
  4. package/README-4Contributors.md +96 -0
  5. package/README.md +296 -104
  6. package/bin/cli +287 -0
  7. package/bin/cli-debug +60 -0
  8. package/bin/cmd +184 -0
  9. package/bin/gina +180 -0
  10. package/config/logger.json +17 -0
  11. package/doc/framework/cli/doc.json +9 -0
  12. package/doc/framework/index.md +60 -0
  13. package/framework/v0.1.1-alpha.3/AUTHORS +7 -0
  14. package/{core/utils/lib/inherits → framework/v0.1.1-alpha.3}/LICENSE +1 -1
  15. package/framework/v0.1.1-alpha.3/VERSION +1 -0
  16. package/{core/locales/dist/language/en.json → framework/v0.1.1-alpha.3/core/asset/html/nolayout.html} +0 -0
  17. package/{core/locales/dist/language/fr.json → framework/v0.1.1-alpha.3/core/asset/html/static.html} +0 -0
  18. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/android-chrome-192x192.png +0 -0
  19. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/android-chrome-512x512.png +0 -0
  20. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/apple-touch-icon.png +0 -0
  21. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/favicon-16x16.png +0 -0
  22. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/favicon-32x32.png +0 -0
  23. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/favicon.ico +0 -0
  24. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.js +20904 -0
  25. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.js.map +56 -0
  26. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.css +1 -0
  27. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.css.map +1 -0
  28. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.js +736 -0
  29. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.js.map +56 -0
  30. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.onload.min.js +5 -0
  31. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.onload.min.js.map +8 -0
  32. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/readme.md +192 -0
  33. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/uuid.json +23 -0
  34. package/framework/v0.1.1-alpha.3/core/config.js +2308 -0
  35. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/index.js +757 -0
  36. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/connector.js +20 -0
  37. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/connector.v2.js +429 -0
  38. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/connector.v3.js +432 -0
  39. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/n1ql.js +14 -0
  40. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/session-store.js +21 -0
  41. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/session-store.v2.js +258 -0
  42. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/session-store.v3.js +341 -0
  43. package/{core → framework/v0.1.1-alpha.3/core}/controller/controller.framework.js +3 -2
  44. package/framework/v0.1.1-alpha.3/core/controller/controller.js +3990 -0
  45. package/{core → framework/v0.1.1-alpha.3/core}/controller/index.js +5 -5
  46. package/framework/v0.1.1-alpha.3/core/deps/busboy/.travis.yml +17 -0
  47. package/framework/v0.1.1-alpha.3/core/deps/busboy/LICENSE +19 -0
  48. package/framework/v0.1.1-alpha.3/core/deps/busboy/README.md +225 -0
  49. package/framework/v0.1.1-alpha.3/core/deps/busboy/deps/encoding/encoding-indexes.js +73 -0
  50. package/framework/v0.1.1-alpha.3/core/deps/busboy/deps/encoding/encoding.js +2391 -0
  51. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/main.js +89 -0
  52. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/types/multipart.js +328 -0
  53. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/types/urlencoded.js +214 -0
  54. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/utils.js +191 -0
  55. package/framework/v0.1.1-alpha.3/core/deps/busboy/package.json +69 -0
  56. package/framework/v0.1.1-alpha.3/core/deps/swig-client/swig-2.0.0.min.js +5 -0
  57. package/{core → framework/v0.1.1-alpha.3/core}/dev/index.js +5 -5
  58. package/{core → framework/v0.1.1-alpha.3/core}/dev/lib/class.js +1 -1
  59. package/{core → framework/v0.1.1-alpha.3/core}/dev/lib/factory.js +1 -1
  60. package/{core → framework/v0.1.1-alpha.3/core}/dev/lib/tools.js +0 -0
  61. package/framework/v0.1.1-alpha.3/core/gna.js +1070 -0
  62. package/{core → framework/v0.1.1-alpha.3/core}/locales/README.md +41 -2
  63. package/{core → framework/v0.1.1-alpha.3/core}/locales/currency.json +0 -0
  64. package/{core/plugins/README.md → framework/v0.1.1-alpha.3/core/locales/dist/language/en.json} +0 -0
  65. package/{core/plugins/lib/intl/README.md → framework/v0.1.1-alpha.3/core/locales/dist/language/fr.json} +0 -0
  66. package/{core → framework/v0.1.1-alpha.3/core}/locales/dist/region/en.json +0 -0
  67. package/framework/v0.1.1-alpha.3/core/locales/dist/region/fr.json +9492 -0
  68. package/{core → framework/v0.1.1-alpha.3/core}/locales/index.js +5 -4
  69. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/make.js +15 -12
  70. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/resources/currency.csv +0 -0
  71. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/resources/region.csv +0 -0
  72. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/resources/region.mapping.json +0 -0
  73. package/{core → framework/v0.1.1-alpha.3/core}/mime.types +0 -0
  74. package/{core → framework/v0.1.1-alpha.3/core}/model/entity.js +156 -196
  75. package/{core → framework/v0.1.1-alpha.3/core}/model/index.js +67 -48
  76. package/{core → framework/v0.1.1-alpha.3/core}/model/template/entityFactory.js +2 -2
  77. package/{core → framework/v0.1.1-alpha.3/core}/model/template/index.js +8 -10
  78. package/{core/plugins/lib/storage → framework/v0.1.1-alpha.3/core/plugins}/README.md +0 -0
  79. package/{core → framework/v0.1.1-alpha.3/core}/plugins/index.js +3 -3
  80. package/{core/plugins/lib/validator → framework/v0.1.1-alpha.3/core/plugins/lib/file}/README.md +0 -0
  81. package/{core/plugins/lib/intl → framework/v0.1.1-alpha.3/core/plugins/lib/file}/build.json +0 -0
  82. package/framework/v0.1.1-alpha.3/core/plugins/lib/file/package.json +25 -0
  83. package/{core/utils/lib/collection → framework/v0.1.1-alpha.3/core/plugins/lib/intl}/README.md +0 -0
  84. package/{core/plugins/lib/storage → framework/v0.1.1-alpha.3/core/plugins/lib/intl}/build.json +0 -0
  85. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/intl/package.json +3 -3
  86. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/intl/src/main.js +17 -1
  87. package/{core/utils/lib/routing → framework/v0.1.1-alpha.3/core/plugins/lib/storage}/README.md +0 -0
  88. package/{core/plugins/lib/validator → framework/v0.1.1-alpha.3/core/plugins/lib/storage}/build.json +0 -0
  89. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/storage/package.json +2 -2
  90. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/storage/src/main.js +91 -85
  91. package/{core/utils/lib/url → framework/v0.1.1-alpha.3/core/plugins/lib/validator}/README.md +0 -0
  92. package/{core/utils/lib/collection → framework/v0.1.1-alpha.3/core/plugins/lib/validator}/build.json +0 -0
  93. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/validator/package.json +3 -3
  94. package/framework/v0.1.1-alpha.3/core/plugins/lib/validator/src/form-validator.js +1762 -0
  95. package/framework/v0.1.1-alpha.3/core/plugins/lib/validator/src/main.js +6917 -0
  96. package/framework/v0.1.1-alpha.3/core/router.js +664 -0
  97. package/framework/v0.1.1-alpha.3/core/server.express.js +213 -0
  98. package/framework/v0.1.1-alpha.3/core/server.isaac.js +386 -0
  99. package/framework/v0.1.1-alpha.3/core/server.js +3010 -0
  100. package/{core → framework/v0.1.1-alpha.3/core}/status.codes +8 -0
  101. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/app.json +6 -0
  102. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/routing.json +11 -0
  103. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/settings.json +9 -0
  104. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/settings.server.json +30 -0
  105. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/templates.json +42 -0
  106. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/controllers/controller.content.js +39 -0
  107. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/controllers/controller.js +30 -0
  108. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  109. package/{core/template/samples → framework/v0.1.1-alpha.3/core/template/boilerplate}/bundle/index.js +0 -0
  110. package/{core/template/samples/bundle → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_namespace}/controllers/controller.js +9 -7
  111. package/{core/template/views → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public}/css/default.css +0 -0
  112. package/{core/template/views → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public}/css/vendor/readme.md +0 -0
  113. package/{core/template/views → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public}/favicon.ico +0 -0
  114. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public/js/vendor/readme.md +1 -0
  115. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public/readme.md +1 -0
  116. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_templates/handlers/main.js +24 -0
  117. package/{core/template/views/html/default.html → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_templates/html/homepage.html} +0 -0
  118. package/{core/template/views/html/layout.html → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_templates/html/layout/main.html} +2 -2
  119. package/{core → framework/v0.1.1-alpha.3/core}/template/command/gina.bat.tpl +0 -0
  120. package/{core → framework/v0.1.1-alpha.3/core}/template/command/gina.tpl +1 -1
  121. package/framework/v0.1.1-alpha.3/core/template/conf/env.json +76 -0
  122. package/{core/template/conf/project.json → framework/v0.1.1-alpha.3/core/template/conf/manifest.json} +1 -0
  123. package/{core → framework/v0.1.1-alpha.3/core}/template/conf/package.json +2 -2
  124. package/framework/v0.1.1-alpha.3/core/template/conf/settings.json +92 -0
  125. package/framework/v0.1.1-alpha.3/core/template/conf/statics.json +10 -0
  126. package/framework/v0.1.1-alpha.3/core/template/conf/templates.json +37 -0
  127. package/{core → framework/v0.1.1-alpha.3/core}/template/error/client/json/401.json +0 -0
  128. package/{core → framework/v0.1.1-alpha.3/core}/template/error/client/json/403.json +0 -0
  129. package/{core → framework/v0.1.1-alpha.3/core}/template/error/client/json/404.json +0 -0
  130. package/{core → framework/v0.1.1-alpha.3/core}/template/error/server/html/50x.html +0 -0
  131. package/{core → framework/v0.1.1-alpha.3/core}/template/error/server/json/500.json +0 -0
  132. package/{core → framework/v0.1.1-alpha.3/core}/template/error/server/json/503.json +0 -0
  133. package/{core/utils/lib/routing/build.json → framework/v0.1.1-alpha.3/core/template/extensions/logger/config.json} +0 -0
  134. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/console.js +3 -3
  135. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/context.js +240 -49
  136. package/framework/v0.1.1-alpha.3/helpers/dateFormat.js +528 -0
  137. package/framework/v0.1.1-alpha.3/helpers/index.js +79 -0
  138. package/framework/v0.1.1-alpha.3/helpers/json/README.md +0 -0
  139. package/framework/v0.1.1-alpha.3/helpers/json/package.json +20 -0
  140. package/framework/v0.1.1-alpha.3/helpers/json/src/main.js +97 -0
  141. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/path.js +342 -140
  142. package/framework/v0.1.1-alpha.3/helpers/plugins/README.md +4 -0
  143. package/framework/v0.1.1-alpha.3/helpers/plugins/package.json +20 -0
  144. package/framework/v0.1.1-alpha.3/helpers/plugins/src/api-error.js +160 -0
  145. package/framework/v0.1.1-alpha.3/helpers/plugins/src/main.js +32 -0
  146. package/framework/v0.1.1-alpha.3/helpers/prototypes.js +218 -0
  147. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/task.js +49 -29
  148. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/text.js +7 -7
  149. package/framework/v0.1.1-alpha.3/lib/archiver/README.md +0 -0
  150. package/framework/v0.1.1-alpha.3/lib/archiver/build.json +0 -0
  151. package/framework/v0.1.1-alpha.3/lib/archiver/package.json +20 -0
  152. package/framework/v0.1.1-alpha.3/lib/archiver/src/dep/jszip.min.js +15 -0
  153. package/framework/v0.1.1-alpha.3/lib/archiver/src/main.js +499 -0
  154. package/framework/v0.1.1-alpha.3/lib/cmd/aliases.json +13 -0
  155. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/add.js +507 -0
  156. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/arguments.json +4 -0
  157. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/copy.js +15 -0
  158. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/cp.js +2 -0
  159. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/help.js +28 -0
  160. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/help.txt +67 -0
  161. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/list.js +129 -0
  162. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/remove.js +229 -0
  163. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/rename.js +4 -0
  164. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/restart.js +235 -0
  165. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/rm.js +2 -0
  166. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/start.js +394 -0
  167. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/status.js +3 -0
  168. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/stop.js +232 -0
  169. package/framework/v0.1.1-alpha.3/lib/cmd/env/add.js +436 -0
  170. package/framework/v0.1.1-alpha.3/lib/cmd/env/get.js +62 -0
  171. package/framework/v0.1.1-alpha.3/lib/cmd/env/help.js +28 -0
  172. package/framework/v0.1.1-alpha.3/lib/cmd/env/help.txt +33 -0
  173. package/framework/v0.1.1-alpha.3/lib/cmd/env/link-dev.js +80 -0
  174. package/framework/v0.1.1-alpha.3/lib/cmd/env/list.js +111 -0
  175. package/framework/v0.1.1-alpha.3/lib/cmd/env/remove.js +150 -0
  176. package/framework/v0.1.1-alpha.3/lib/cmd/env/rm.js +2 -0
  177. package/framework/v0.1.1-alpha.3/lib/cmd/env/set.js +57 -0
  178. package/framework/v0.1.1-alpha.3/lib/cmd/env/unset.js +44 -0
  179. package/framework/v0.1.1-alpha.3/lib/cmd/env/use.js +79 -0
  180. package/framework/v0.1.1-alpha.3/lib/cmd/framework/dot.js +70 -0
  181. package/framework/v0.1.1-alpha.3/lib/cmd/framework/get.js +0 -0
  182. package/framework/v0.1.1-alpha.3/lib/cmd/framework/help.js +39 -0
  183. package/framework/v0.1.1-alpha.3/lib/cmd/framework/help.txt +31 -0
  184. package/framework/v0.1.1-alpha.3/lib/cmd/framework/init.js +514 -0
  185. package/{core/utils/lib/cmd → framework/v0.1.1-alpha.3/lib/cmd/framework}/msg.json +3 -3
  186. package/framework/v0.1.1-alpha.3/lib/cmd/framework/open.js +50 -0
  187. package/framework/v0.1.1-alpha.3/lib/cmd/framework/restart.js +124 -0
  188. package/framework/v0.1.1-alpha.3/lib/cmd/framework/set.js +161 -0
  189. package/framework/v0.1.1-alpha.3/lib/cmd/framework/start.js +96 -0
  190. package/framework/v0.1.1-alpha.3/lib/cmd/framework/status.js +72 -0
  191. package/framework/v0.1.1-alpha.3/lib/cmd/framework/stop.js +159 -0
  192. package/framework/v0.1.1-alpha.3/lib/cmd/framework/tail.js +183 -0
  193. package/framework/v0.1.1-alpha.3/lib/cmd/framework/update.js +0 -0
  194. package/framework/v0.1.1-alpha.3/lib/cmd/framework/version.js +44 -0
  195. package/framework/v0.1.1-alpha.3/lib/cmd/gina-dev.1.md +66 -0
  196. package/framework/v0.1.1-alpha.3/lib/cmd/gina-framework.1.md +100 -0
  197. package/framework/v0.1.1-alpha.3/lib/cmd/gina.1.md +79 -0
  198. package/framework/v0.1.1-alpha.3/lib/cmd/helper.js +1147 -0
  199. package/framework/v0.1.1-alpha.3/lib/cmd/index.js +170 -0
  200. package/framework/v0.1.1-alpha.3/lib/cmd/msg.json +20 -0
  201. package/framework/v0.1.1-alpha.3/lib/cmd/port/help.js +28 -0
  202. package/framework/v0.1.1-alpha.3/lib/cmd/port/help.txt +31 -0
  203. package/framework/v0.1.1-alpha.3/lib/cmd/port/inc/scan.js +108 -0
  204. package/framework/v0.1.1-alpha.3/lib/cmd/port/list.js +176 -0
  205. package/framework/v0.1.1-alpha.3/lib/cmd/port/set.js +0 -0
  206. package/framework/v0.1.1-alpha.3/lib/cmd/project/add.js +528 -0
  207. package/framework/v0.1.1-alpha.3/lib/cmd/project/arguments.json +9 -0
  208. package/framework/v0.1.1-alpha.3/lib/cmd/project/build.js +115 -0
  209. package/framework/v0.1.1-alpha.3/lib/cmd/project/help.js +28 -0
  210. package/framework/v0.1.1-alpha.3/lib/cmd/project/help.txt +76 -0
  211. package/framework/v0.1.1-alpha.3/lib/cmd/project/import.js +2 -0
  212. package/framework/v0.1.1-alpha.3/lib/cmd/project/list.js +55 -0
  213. package/framework/v0.1.1-alpha.3/lib/cmd/project/move.js +0 -0
  214. package/framework/v0.1.1-alpha.3/lib/cmd/project/remove.js +144 -0
  215. package/framework/v0.1.1-alpha.3/lib/cmd/project/rename.js +162 -0
  216. package/framework/v0.1.1-alpha.3/lib/cmd/project/restart.js +0 -0
  217. package/framework/v0.1.1-alpha.3/lib/cmd/project/rm.js +2 -0
  218. package/framework/v0.1.1-alpha.3/lib/cmd/project/start.js +0 -0
  219. package/framework/v0.1.1-alpha.3/lib/cmd/project/status.js +3 -0
  220. package/framework/v0.1.1-alpha.3/lib/cmd/project/stop.js +0 -0
  221. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/help.js +27 -0
  222. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/help.txt +57 -0
  223. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/list.js +239 -0
  224. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/set.js +631 -0
  225. package/framework/v0.1.1-alpha.3/lib/cmd/scope/help.js +28 -0
  226. package/framework/v0.1.1-alpha.3/lib/cmd/scope/help.txt +33 -0
  227. package/framework/v0.1.1-alpha.3/lib/cmd/scope/link-local.js +80 -0
  228. package/framework/v0.1.1-alpha.3/lib/cmd/scope/list.js +116 -0
  229. package/framework/v0.1.1-alpha.3/lib/cmd/scope/remove.js +150 -0
  230. package/framework/v0.1.1-alpha.3/lib/cmd/scope/rm.js +2 -0
  231. package/framework/v0.1.1-alpha.3/lib/cmd/scope/set.js +57 -0
  232. package/framework/v0.1.1-alpha.3/lib/cmd/scope/unset.js +44 -0
  233. package/framework/v0.1.1-alpha.3/lib/cmd/scope/use.js +79 -0
  234. package/framework/v0.1.1-alpha.3/lib/cmd/view/add.js +311 -0
  235. package/framework/v0.1.1-alpha.3/lib/collection/README.md +5 -0
  236. package/framework/v0.1.1-alpha.3/lib/collection/build.json +0 -0
  237. package/{core/utils → framework/v0.1.1-alpha.3}/lib/collection/package.json +2 -2
  238. package/framework/v0.1.1-alpha.3/lib/collection/src/main.js +1459 -0
  239. package/{core/utils → framework/v0.1.1-alpha.3}/lib/config.js +49 -34
  240. package/framework/v0.1.1-alpha.3/lib/cron/README.md +7 -0
  241. package/framework/v0.1.1-alpha.3/lib/cron/package.json +20 -0
  242. package/framework/v0.1.1-alpha.3/lib/cron/src/main.js +176 -0
  243. package/{core/utils → framework/v0.1.1-alpha.3}/lib/generator/index.js +8 -4
  244. package/framework/v0.1.1-alpha.3/lib/index.js +116 -0
  245. package/framework/v0.1.1-alpha.3/lib/inherits/LICENSE +19 -0
  246. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/README.md +0 -0
  247. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  248. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/protected_inheritance.js +0 -0
  249. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/simple_inheritance.js +0 -0
  250. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  251. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/package.json +2 -2
  252. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/src/main.js +18 -19
  253. package/framework/v0.1.1-alpha.3/lib/logger/README.md +7 -0
  254. package/framework/v0.1.1-alpha.3/lib/logger/package.json +20 -0
  255. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/default/index.js +55 -0
  256. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/file/index.js +251 -0
  257. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/file/lib/logrotator/README.md +100 -0
  258. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/file/lib/logrotator/index.js +274 -0
  259. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/mq/index.js +52 -0
  260. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/mq/listener.js +302 -0
  261. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/mq/speaker.js +118 -0
  262. package/framework/v0.1.1-alpha.3/lib/logger/src/helper.js +131 -0
  263. package/framework/v0.1.1-alpha.3/lib/logger/src/main.js +739 -0
  264. package/{core/utils → framework/v0.1.1-alpha.3}/lib/math/index.js +58 -35
  265. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/README.md +5 -0
  266. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/example/merge.js +1 -1
  267. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/example/merge_2_literal objects.js +0 -0
  268. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/example/merge_and_preserve_first.js +2 -0
  269. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/package.json +2 -2
  270. package/framework/v0.1.1-alpha.3/lib/merge/src/main.js +531 -0
  271. package/{core/utils → framework/v0.1.1-alpha.3}/lib/model.js +42 -19
  272. package/framework/v0.1.1-alpha.3/lib/proc.js +518 -0
  273. package/framework/v0.1.1-alpha.3/lib/routing/README.md +0 -0
  274. package/framework/v0.1.1-alpha.3/lib/routing/build.json +0 -0
  275. package/{core/utils → framework/v0.1.1-alpha.3}/lib/routing/package.json +2 -2
  276. package/framework/v0.1.1-alpha.3/lib/routing/src/main.js +1492 -0
  277. package/framework/v0.1.1-alpha.3/lib/session-store.js +33 -0
  278. package/{core/utils → framework/v0.1.1-alpha.3}/lib/shell.js +43 -30
  279. package/framework/v0.1.1-alpha.3/lib/swig-filters/README.md +0 -0
  280. package/framework/v0.1.1-alpha.3/lib/swig-filters/package.json +20 -0
  281. package/framework/v0.1.1-alpha.3/lib/swig-filters/src/main.js +322 -0
  282. package/framework/v0.1.1-alpha.3/lib/url/README.md +0 -0
  283. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/index.js +2 -1
  284. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/mocks.json +0 -0
  285. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/routing.json +9 -9
  286. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/test.js +0 -0
  287. package/{core/utils → framework/v0.1.1-alpha.3}/lib/validator.js +7 -7
  288. package/framework/v0.1.1-alpha.3/package.json +14 -0
  289. package/package.json +35 -33
  290. package/resources/etc/init.d/debian/gina +117 -0
  291. package/resources/home/framework/env.json +34 -0
  292. package/resources/home/framework/locals.json +14 -0
  293. package/resources/home/framework/project.json +48 -0
  294. package/resources/home/framework/projects.json +6 -0
  295. package/resources/home/main.json +47 -0
  296. package/resources/home/settings.json +22 -0
  297. package/resources/home/user/extensions/logger/default/config.json +77 -0
  298. package/resources/home/user/extensions/logger/file/config.json +11 -0
  299. package/resources/img/android-chrome-192x192.png +0 -0
  300. package/resources/img/android-chrome-512x512.png +0 -0
  301. package/resources/img/apple-touch-icon.png +0 -0
  302. package/resources/img/favicon-16x16.png +0 -0
  303. package/resources/img/favicon-32x32.png +0 -0
  304. package/resources/img/favicon.ico +0 -0
  305. package/resources/package.json.template +50 -0
  306. package/script/lib.js +24 -0
  307. package/script/post_install.js +449 -157
  308. package/script/pre_install.js +277 -36
  309. package/script/prepare_version.js +425 -0
  310. package/utils/helper.js +438 -0
  311. package/utils/prototypes.js +239 -0
  312. package/utils/prototypes.json_clone.js +175 -0
  313. package/.npmignore +0 -6
  314. package/MIDDLEWARE +0 -1
  315. package/SUCCESS +0 -1
  316. package/VERSION +0 -1
  317. package/core/asset/html/nolayout.html +0 -1
  318. package/core/asset/js/plugin/build.dev.json +0 -28
  319. package/core/asset/js/plugin/build.json +0 -31
  320. package/core/asset/js/plugin/dist/gina.min.css +0 -1
  321. package/core/asset/js/plugin/dist/gina.min.css.map +0 -1
  322. package/core/asset/js/plugin/dist/gina.min.js +0 -13732
  323. package/core/asset/js/plugin/dist/gina.min.js.map +0 -42
  324. package/core/asset/js/plugin/dist/gina.onload.min.js +0 -3
  325. package/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
  326. package/core/asset/js/plugin/readme.md +0 -152
  327. package/core/asset/js/plugin/src/gina/main.js +0 -132
  328. package/core/asset/js/plugin/src/gina/popin/css/design.css +0 -23
  329. package/core/asset/js/plugin/src/gina/popin/css/main.css +0 -1112
  330. package/core/asset/js/plugin/src/gina/popin/css/popin.css +0 -3
  331. package/core/asset/js/plugin/src/gina/popin/css/popin.css.map +0 -1
  332. package/core/asset/js/plugin/src/gina/popin/doc/TOC.md +0 -29
  333. package/core/asset/js/plugin/src/gina/popin/doc/css.md +0 -162
  334. package/core/asset/js/plugin/src/gina/popin/doc/extend.md +0 -663
  335. package/core/asset/js/plugin/src/gina/popin/doc/faq.md +0 -46
  336. package/core/asset/js/plugin/src/gina/popin/doc/html.md +0 -227
  337. package/core/asset/js/plugin/src/gina/popin/doc/js.md +0 -37
  338. package/core/asset/js/plugin/src/gina/popin/doc/misc.md +0 -178
  339. package/core/asset/js/plugin/src/gina/popin/doc/usage.md +0 -130
  340. package/core/asset/js/plugin/src/gina/popin/main.js +0 -783
  341. package/core/asset/js/plugin/src/gina/popin/sass/config.sass +0 -37
  342. package/core/asset/js/plugin/src/gina/popin/sass/gina-design.sass +0 -622
  343. package/core/asset/js/plugin/src/gina/popin/sass/gina-popin.sass +0 -54
  344. package/core/asset/js/plugin/src/gina/popin/sass/helper.scss +0 -73
  345. package/core/asset/js/plugin/src/gina/toolbar/.npmignore +0 -19
  346. package/core/asset/js/plugin/src/gina/toolbar/css/toolbar.css +0 -433
  347. package/core/asset/js/plugin/src/gina/toolbar/css/toolbar.css.map +0 -1
  348. package/core/asset/js/plugin/src/gina/toolbar/index.html +0 -285
  349. package/core/asset/js/plugin/src/gina/toolbar/index.kit +0 -120
  350. package/core/asset/js/plugin/src/gina/toolbar/jquery-3.1.0.min.js +0 -4
  351. package/core/asset/js/plugin/src/gina/toolbar/main.js +0 -693
  352. package/core/asset/js/plugin/src/gina/toolbar/mock.gina.json +0 -1
  353. package/core/asset/js/plugin/src/gina/toolbar/mock.user.json +0 -1
  354. package/core/asset/js/plugin/src/gina/toolbar/readme.md +0 -7
  355. package/core/asset/js/plugin/src/gina/toolbar/sass/toolbar.sass +0 -563
  356. package/core/asset/js/plugin/src/gina/toolbar/svg-src/Info-color.svg +0 -1
  357. package/core/asset/js/plugin/src/gina/toolbar/svg-src/Info-grey.svg +0 -1
  358. package/core/asset/js/plugin/src/gina/toolbar/svg-src/error-color.svg +0 -1
  359. package/core/asset/js/plugin/src/gina/toolbar/svg-src/error-grey.svg +0 -1
  360. package/core/asset/js/plugin/src/gina/toolbar/svg-src/info-optim.svg +0 -13
  361. package/core/asset/js/plugin/src/gina/toolbar/svg-src/logo-gina.svg +0 -1
  362. package/core/asset/js/plugin/src/gina/toolbar/svg-src/settings-big.svg +0 -1
  363. package/core/asset/js/plugin/src/gina/toolbar/svg-src/settings.afdesign +0 -0
  364. package/core/asset/js/plugin/src/gina/toolbar/svg-src/settings.svg +0 -1
  365. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-calendar-optim.svg +0 -1
  366. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-calendar.svg +0 -1
  367. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-card-optim.svg +0 -1
  368. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-card.svg +0 -1
  369. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-lock-optim.svg +0 -1
  370. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-lock.svg +0 -1
  371. package/core/asset/js/plugin/src/gina/toolbar/svg-src/warning-color.svg +0 -1
  372. package/core/asset/js/plugin/src/gina/toolbar/svg-src/warning-grey.svg +0 -1
  373. package/core/asset/js/plugin/src/gina/toolbar/test.jpg +0 -0
  374. package/core/asset/js/plugin/src/gina/toolbar/toolbar.html +0 -104
  375. package/core/asset/js/plugin/src/gina/utils/dom.js +0 -24
  376. package/core/asset/js/plugin/src/gina/utils/events.js +0 -201
  377. package/core/asset/js/plugin/src/gina/utils/loader.js +0 -57
  378. package/core/asset/js/plugin/src/main.js +0 -235
  379. package/core/asset/js/plugin/src/vendor/jquery/1.11.1-css-event_alias.min.js +0 -5
  380. package/core/asset/js/plugin/src/vendor/jquery/1.12.4.min.js +0 -5
  381. package/core/asset/js/plugin/src/vendor/jquery/2.1.1-css-event_alias-sizzle.min.js +0 -4
  382. package/core/asset/js/plugin/src/vendor/jquery/README.md +0 -14
  383. package/core/asset/js/plugin/src/vendor/jquery/slim-3.1.1.min.js +0 -4
  384. package/core/config.js +0 -1225
  385. package/core/controller/controller.js +0 -1860
  386. package/core/gna.js +0 -908
  387. package/core/plugins/lib/validator/src/form-validator.js +0 -789
  388. package/core/plugins/lib/validator/src/main.js +0 -2056
  389. package/core/router.js +0 -717
  390. package/core/server.js +0 -1363
  391. package/core/template/conf/env.json +0 -70
  392. package/core/template/conf/settings.json +0 -48
  393. package/core/template/conf/statics.json +0 -6
  394. package/core/template/conf/views.json +0 -16
  395. package/core/template/samples/bundle/config/app.json +0 -4
  396. package/core/template/samples/bundle/config/routing.json +0 -9
  397. package/core/template/samples/bundle/controllers/setup.js +0 -33
  398. package/core/template/views/js/vendor/readme.md +0 -1
  399. package/core/template/views/readme.md +0 -1
  400. package/core/utils/helpers/dateFormat.js +0 -264
  401. package/core/utils/helpers/index.js +0 -202
  402. package/core/utils/index.js +0 -75
  403. package/core/utils/lib/cmd/app.js +0 -686
  404. package/core/utils/lib/cmd/basic.help.txt +0 -40
  405. package/core/utils/lib/cmd/basic.js +0 -141
  406. package/core/utils/lib/cmd/gina-add-bundle.js +0 -328
  407. package/core/utils/lib/cmd/gina-add-views.js +0 -99
  408. package/core/utils/lib/cmd/gina-build.js +0 -218
  409. package/core/utils/lib/cmd/gina-clean.js +0 -26
  410. package/core/utils/lib/cmd/gina-connect.js +0 -176
  411. package/core/utils/lib/cmd/gina-delete-bundle.js +0 -176
  412. package/core/utils/lib/cmd/gina-deploy.js +0 -452
  413. package/core/utils/lib/cmd/gina-init-project.js +0 -83
  414. package/core/utils/lib/cmd/gina-start-bundle.js +0 -3
  415. package/core/utils/lib/cmd/gina-start.js +0 -3
  416. package/core/utils/lib/cmd/index.js +0 -157
  417. package/core/utils/lib/cmd/project.js +0 -14
  418. package/core/utils/lib/collection/src/main.js +0 -650
  419. package/core/utils/lib/logger/containers/file.js +0 -11
  420. package/core/utils/lib/logger/index.js +0 -260
  421. package/core/utils/lib/merge/src/main.js +0 -344
  422. package/core/utils/lib/proc.js +0 -416
  423. package/core/utils/lib/routing/src/main.js +0 -165
  424. package/documentation/css/default.css +0 -3
  425. package/documentation/html/home.html +0 -6
  426. package/documentation/html/inc/_footer.html +0 -5
  427. package/documentation/html/layout.html +0 -21
  428. package/documentation/img/debug-conf1.png +0 -0
  429. package/documentation/img/debug-conf2.png +0 -0
  430. package/documentation/img/debug-conf3.png +0 -0
  431. package/documentation/img/debug-conf4.png +0 -0
  432. package/documentation/img/debug-conf5.png +0 -0
  433. package/documentation/img/debug-conf6.png +0 -0
  434. package/documentation/img/debug-conf7.png +0 -0
  435. package/documentation/img/debug-new1.png +0 -0
  436. package/documentation/img/debug-new2.png +0 -0
  437. package/documentation/img/debug-start.png +0 -0
  438. package/documentation/md/api/controller/main.md +0 -74
  439. package/migration_note.md +0 -7
  440. package/package-lock.json +0 -611
  441. package/script/pre_publish.js +0 -207
  442. package/tutorial/Commands/README.md +0 -56
  443. package/tutorial/Commands/add-bundle-result.png +0 -0
  444. package/tutorial/Commands/add-bundle.png +0 -0
  445. package/tutorial/Commands/delete-bundle.png +0 -0
  446. package/tutorial/Commands/help.png +0 -0
  447. package/tutorial/Commands/init-project.png +0 -0
  448. package/tutorial/Commands/start-bundle-result.png +0 -0
  449. package/tutorial/Commands/start-bundle-stop.png +0 -0
  450. package/tutorial/Commands/start-bundle.png +0 -0
  451. package/tutorial/Commands/version.png +0 -0
  452. package/tutorial/ETC/README.md +0 -74
  453. package/tutorial/ETC/add-bundle-result.png +0 -0
  454. package/tutorial/ETC/add-bundle.png +0 -0
  455. package/tutorial/ETC/init-project.png +0 -0
  456. package/tutorial/Install/README.md +0 -54
  457. package/tutorial/Install/git-get.png +0 -0
  458. package/tutorial/Install/git-install-end.png +0 -0
  459. package/tutorial/Install/git-install-result.png +0 -0
  460. package/tutorial/Install/git-install-start.png +0 -0
  461. package/tutorial/Install/install-end.png +0 -0
  462. package/tutorial/Install/install-result.png +0 -0
  463. package/tutorial/Install/install-start.png +0 -0
  464. package/tutorial/WebStorm/README.md +0 -30
  465. package/tutorial/WebStorm/closure-compiler.png +0 -0
  466. package/tutorial/WebStorm/sass.png +0 -0
@@ -0,0 +1,394 @@
1
+ const { debug } = require('console');
2
+ var fs = require('fs');
3
+ const { spawn } = require('child_process');
4
+
5
+ var CmdHelper = require('./../helper');
6
+ var console = lib.logger;
7
+ /**
8
+ * Start a given bundle or start all bundles at once
9
+ *
10
+ * e.g.
11
+ * gina bundle:start <bundle_name> @<project_name>
12
+ *
13
+ * // start all bundles within the project
14
+ * gina bundle:start @<project_name>
15
+ *
16
+ * */
17
+ function Start(opt, cmd) {
18
+ var self = {};
19
+
20
+
21
+ var init = function(opt, cmd) {
22
+
23
+ // import CMD helpers
24
+ new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
25
+
26
+ // check CMD configuration
27
+ if (!isCmdConfigured()) return false;
28
+
29
+
30
+ // start all bundles
31
+ opt.onlineCount = 0;
32
+ opt.notStarted = [];
33
+
34
+ if (!self.name) {
35
+ start(opt, cmd, 0);
36
+ } else {
37
+ start(opt, cmd);
38
+ }
39
+ }
40
+
41
+ var start = function(opt, cmd, bundleIndex) {
42
+ // getting the debug port
43
+ var debugStr = null;
44
+ if ( /\-\-(inspect|debug)/.test(opt.argv.join(',')) ) {
45
+ var pArr = null;
46
+ for (let i = 0, len = opt.argv.length; i<len; i++) {
47
+ if ( /\-\-(inspect|debug)/.test(opt.argv[i]) ) {
48
+ pArr = opt.argv[i].replace(/\s+/g, '').split(/=/);
49
+ opt.debugBrkEnabled = /\-brk/.test(pArr[0]);
50
+ opt.debugPort = pArr[1];
51
+ debugStr = opt.argv[i];
52
+ break;
53
+ }
54
+ }
55
+ }
56
+
57
+
58
+ var isBulkStart = (typeof(bundleIndex) != 'undefined') ? true : false;
59
+
60
+ var bundle = (isBulkStart) ? self.bundles[bundleIndex] : self.name;
61
+ // console.debug('bundle -> ', bundle);
62
+ var env = ( typeof(self.bundlesByProject[self.projectName][bundle].def_env) != 'undefined') ? self.bundlesByProject[self.projectName][bundle].def_env : self.defaultEnv;
63
+ // console.debug('env -> ', env);
64
+ var protocol = self.bundlesByProject[self.projectName][bundle].def_protocol;
65
+ // console.debug('protocol -> ', protocol);
66
+ var scheme = self.bundlesByProject[self.projectName][bundle].def_scheme;
67
+ // console.debug('scheme -> ', scheme);
68
+ var bundlePort = self.portsReverseData[bundle + '@' + self.projectName][env][protocol][scheme];
69
+ // console.debug('port -> ', bundlePort);
70
+
71
+ var msg = null;
72
+ if ( !isBulkStart && !isDefined('bundle', bundle) ) {
73
+ msg = 'Bundle [ '+ bundle +' ] is not registered inside `@'+ self.projectName +'`';
74
+ console.error(msg);
75
+ opt.client.write(msg);
76
+ // CMD exit
77
+ opt.client.emit('end');
78
+ } else {
79
+
80
+ var isStarting = false
81
+ , params = null
82
+ , index = null
83
+ , i = null
84
+ , len = null
85
+ ;
86
+
87
+ isRealApp(bundle, function(err, appPath){
88
+ if (err) {
89
+ console.error(err.stack||err.message)
90
+ } else {
91
+ if (isStarting)
92
+ return;
93
+
94
+ msg = 'Trying to start bundle [ ' + bundle + '@' + self.projectName + ' ]';
95
+ if (opt.debugPort) {
96
+ msg += ' (debug port: '+ opt.debugPort +')'
97
+ }
98
+ // To gina log
99
+ console.info(msg);
100
+ // to the terminal stdout
101
+ opt.client.write('\n\r'+msg);
102
+
103
+ process.list = (process.list == undefined) ? [] : process.list;
104
+ setContext('processList', process.list);
105
+ setContext('ginaProcess', process.pid);
106
+ setContext('debugPort', opt.debugPort);
107
+ setContext('debugBrkEnabled', opt.debugBrkEnabled);
108
+
109
+ params = [
110
+ // node arguments will be passed by gina
111
+ appPath,
112
+ JSON.stringify(getContext()), //Passing context to child.
113
+ self.projectName, // project name
114
+ bundle// bundle name
115
+ ];
116
+
117
+ // injecting node arguments
118
+ index = 0; i = 0; len = self.nodeParams.length;
119
+ if (len > 0) {
120
+ for (; i < len; ++i) {
121
+ params.splice(index, 0, self.nodeParams[i]);
122
+ ++index
123
+ }
124
+ }
125
+
126
+ i = 0; len = params.length;
127
+ for (; i < len; ++i) {
128
+ if (params[i] == '') {
129
+ params.splice(i, 1);
130
+ }
131
+ }
132
+
133
+
134
+ var child = spawn(opt.argv[0], params,
135
+ {
136
+ detached: true
137
+ }
138
+ );
139
+
140
+ child.stdout.setEncoding('utf8');//Set encoding.
141
+
142
+ // CMD Auto Exit
143
+ var retry = 0, maxRetry = 15, maxTimeout = (self.debugBrkEnabled) ? 1200000 : 4000;
144
+ var timerId = setInterval(function() {
145
+ if (!isStarting ) {
146
+ ++retry;
147
+ //opt.client.write('what is wrong ? '+ retry);
148
+ } else {
149
+ clearInterval(timerId);
150
+ }
151
+
152
+ if (retry > maxRetry) {
153
+ clearInterval(timerId);
154
+ opt.client.write('Sorry my friend, this is taking too long ! Terminating. Check your logs.');
155
+ child.kill('SIGKILL');
156
+ if (!opt.client.destroyed) {
157
+ opt.client.emit('exit');
158
+ opt.client.emit('end');
159
+ }
160
+
161
+
162
+ //end(opt, cmd, isBulkStart, bundleIndex);
163
+ }
164
+ }, maxTimeout);
165
+
166
+ var checkCaseCount = 2
167
+ // The 2 flags we need to free the child.stdout if we do not want the command to wait for a timeout
168
+ // NB.: you can place flag by using console.notice
169
+ , checkCaseRe = new RegExp('('+bundle + '@' + self.projectName + ' mounted !|Bundle started !)', 'i')
170
+ , url = null
171
+ , debuggerOn = null
172
+ ;
173
+ var port = '', errorFound = false;
174
+ child.stdout.on('data', function(data) {
175
+ // console.log(data);
176
+
177
+ // handle errors
178
+ if ( /EADDRINUSE.*port/i.test(data) && !errorFound ) {
179
+ console.log(data);
180
+ // kill the bundle starting process first
181
+ child.kill('SIGKILL');
182
+
183
+ errorFound = true;
184
+ //opt.client.write(data);
185
+ try {
186
+ port = ' #'+ data.match(/port\":\s+\d+/)[0].split(/\:/)[1].trim() +' ';
187
+ opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] has already been started, or port'+ port+'might be busy');
188
+
189
+ } catch(_err) {
190
+ opt.client.write(_err);
191
+ }
192
+
193
+
194
+ ++opt.onlineCount;
195
+ end(opt, cmd, isBulkStart, bundleIndex);
196
+ clearInterval(timerId);
197
+
198
+ return;
199
+ }
200
+
201
+ // catch fatal errors to exit
202
+ if ( /(\[|\[\s+)emerg/.test(data) ) {
203
+ console.log(data);
204
+
205
+ // kill the bundle starting process first
206
+ child.kill('SIGKILL');
207
+
208
+ opt.notStarted.push(bundle + '@' + self.projectName);
209
+ opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] aborted :( \n => Check your logs to see why.');
210
+
211
+ ++opt.onlineCount;
212
+ end(opt, cmd, isBulkStart, bundleIndex);
213
+ clearInterval(timerId);
214
+
215
+ return;
216
+ }
217
+
218
+ // Expecting 2 flags (checkCaseCount) to free the child stdout !!
219
+ if ( checkCaseRe.test(data) ) {
220
+ --checkCaseCount;
221
+ }
222
+
223
+ // cache bundle state info given by the server while starting
224
+ if ( !debuggerOn && new RegExp('Debugger listening on','gmi').test(data)) {
225
+ debuggerOn = '\n ' + data.match(new RegExp('Debugger listening on .*','gmi'));
226
+ }
227
+ if ( !url && new RegExp('This way please','gmi').test(data)) {
228
+ url = '\n ' + data.match(new RegExp('This way please -> .*','gmi'));
229
+ }
230
+
231
+
232
+
233
+ if (!opt.client.destroyed && !isStarting && !checkCaseCount) {
234
+ isStarting = true;
235
+ clearInterval(timerId);
236
+ ++opt.onlineCount;
237
+
238
+ if (!debuggerOn) {
239
+ debuggerOn = ''
240
+ }
241
+ opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] started V(-.o)V'+ url + debuggerOn);
242
+
243
+
244
+ end(opt, cmd, isBulkStart, bundleIndex);
245
+ return;
246
+ }
247
+
248
+ return;
249
+
250
+ });
251
+
252
+ //when an exception is thrown, it is sent to the client
253
+ child.stderr.setEncoding('utf8');
254
+ var error = null;
255
+ child.stderr.on('data', function(err) {
256
+ error = err.toString();
257
+
258
+ if (/Debugger listening|Debugger attached|Warning|address already in use/i.test(error)) {
259
+ console.warn(error);
260
+
261
+ if (!opt.client.destroyed) {
262
+ opt.client.write(error);
263
+ }
264
+
265
+ } else {
266
+ console.error(error);
267
+ }
268
+ });
269
+
270
+ child.on('exit', function(code, signal) {
271
+ // handles only signals that cannot be cannot be caught or ignored
272
+ // ref.: `framework/<version>/lib/proc.js`
273
+ if (/(SIGKILL|SIGSTOP)/i.test(signal)) {
274
+ console.emerg('[' + this.pid + '] exiting with signal: ', signal);
275
+ cmd.proc.dismiss(this.pid, signal);
276
+ }
277
+ });
278
+
279
+
280
+ }
281
+
282
+ });//EO isRealApp
283
+
284
+ }
285
+ }
286
+
287
+
288
+ var end = function (opt, cmd, isBulkStart, i) {
289
+ if (isBulkStart) {
290
+ ++i;
291
+ if ( typeof(self.bundles[i]) != 'undefined' ) {
292
+ start(opt, cmd, i)
293
+ } else {
294
+ opt.client.write('\n\r[ Online ] '+ opt.onlineCount +'/'+ self.bundles.length);
295
+ var notStartedMsg = '\nCould not start: \n - '+ opt.notStarted.join('\n');
296
+ opt.client.write(notStartedMsg);
297
+ if (!opt.client.destroyed)
298
+ opt.client.emit('end');
299
+ }
300
+ return;
301
+ }
302
+
303
+ if (!opt.client.destroyed)
304
+ opt.client.emit('end');
305
+ // Force exit in case process is stuck
306
+ setTimeout(() => {
307
+ if (!opt.client.destroyed) {
308
+ opt.client.emit('exit');
309
+ }
310
+ }, 150);
311
+ }
312
+
313
+
314
+
315
+ var isRealApp = function(bundle, callback) {
316
+ var p = null
317
+ , d = null
318
+ , env = self.projects[self.projectName]['def_env']
319
+ , isDev = ( self.projects[self.projectName]['dev_env'] == env ) ? true : false
320
+ , root = self.projectLocation
321
+ , bundleDir = null
322
+ , bundlesPath = null
323
+ , bundleInit = null
324
+ ;
325
+
326
+ try {
327
+ //This is mostly for dev.
328
+ var pkg = requireJSON( _(root+ '/manifest.json', true) ).bundles;
329
+ if ( typeof(pkg[bundle].version) == 'undefined' && typeof(pkg[bundle].tag) != 'undefined') {
330
+ pkg[bundle].version = pkg[bundle].tag
331
+ }
332
+
333
+ var path = null, version = null;
334
+ if (
335
+ pkg[bundle] != 'undefined' && pkg[bundle]['src'] != 'undefined' && isDev
336
+ ) {
337
+ path = pkg[bundle].src;
338
+
339
+ p = _( root +'/'+ path );//path.replace('/' + bundle, '')
340
+ d = _( root +'/'+ path + '/index.js' );
341
+
342
+ bundleDir = path.replace('/' + bundle, '');
343
+ setContext('bundle_dir', bundleDir);
344
+ bundlesPath = _( root +'/'+ bundleDir );
345
+ bundleInit = d;
346
+
347
+ } else {
348
+ //Others releases.
349
+ path = 'releases/'+ bundle +'/' + env +'/'+ pkg[bundle].version;
350
+ version = pkg[bundle].version;
351
+ p = _( root +'/'+ path );//path.replace('/' + bundle, '')
352
+ d = _( root +'/'+ path + '/index.js' );
353
+
354
+ bundleDir = path;
355
+ bundlesPath = _(root + '/'+ bundleDir);
356
+ bundleInit = d;
357
+ }
358
+
359
+ } catch (err) {
360
+ // default bundlesPath.
361
+ // TODO - log warn ?
362
+ console.warn(err.stack||err.message);
363
+ bundleDir = 'bundles';
364
+ bundlesPath = _(root +'/'+ bundleDir);
365
+ p = _(root +'/'+ bundleDir +'/'+ bundle);
366
+ d = _(root + '/'+ bundleDir +'/'+ bundle + '/index.js');
367
+ bundleInit = d;
368
+ }
369
+
370
+ //Checking root.
371
+ if ( new _(d, true).existsSync() ) {
372
+ //checking bundle directory.
373
+ fs.stat(p, function(err, stats) {
374
+ if (err) {
375
+ callback(err)
376
+ } else {
377
+
378
+ if (stats.isDirectory()) {
379
+ callback(false, d)
380
+ } else {
381
+ callback(new Error('[ ' + d + ' ] is not a directory'))
382
+ }
383
+ }
384
+ })
385
+ }
386
+ else {
387
+ callback(new Error('[ ' + d + ' ] does not exists'))
388
+ }
389
+ }
390
+
391
+
392
+ init(opt, cmd)
393
+ }
394
+ module.exports = Start;
@@ -0,0 +1,3 @@
1
+ /**
2
+ * Created by martinlutheretouman on 2/5/15.
3
+ */
@@ -0,0 +1,232 @@
1
+ var fs = require('fs');
2
+ var exec = require('child_process').exec;
3
+
4
+ var CmdHelper = require('./../helper');
5
+ var console = lib.logger;
6
+ /**
7
+ * Stop a given bundle or start all bundles at once
8
+ *
9
+ * e.g.
10
+ * gina bundle:stop <bundle_name> @<project_name>
11
+ *
12
+ * // stop all bundles within the project
13
+ * gina bundle:stop @<project_name>
14
+ *
15
+ * */
16
+ function Stop(opt, cmd) {
17
+ var self = {};
18
+
19
+ var init = function(opt, cmd) {
20
+
21
+ // import CMD helpers
22
+ new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
23
+
24
+ // check CMD configuration
25
+ if (!isCmdConfigured()) return false;
26
+
27
+ // start all bundles
28
+ opt.offlineCount = 0;
29
+ opt.notStopped = [];
30
+
31
+ if (!self.name) {
32
+ stop(opt, cmd, 0);
33
+ } else {
34
+ stop(opt, cmd);
35
+ }
36
+ }
37
+
38
+ var stop = function(opt, cmd, bundleIndex) {
39
+
40
+ var isBulkStop = (typeof(bundleIndex) != 'undefined') ? true : false;
41
+ var bundle = (isBulkStop) ? self.bundles[bundleIndex] : self.name;
42
+
43
+ var msg = null;
44
+ if (!isBulkStop && !isDefined('bundle', bundle)) {
45
+ msg = 'Bundle [ ' + bundle + ' ] is not registered inside `@' + self.projectName + '`';
46
+ console.error(msg);
47
+ end(opt, cmd, isBulkStop, bundleIndex, true)
48
+
49
+ } else {
50
+
51
+ isRealApp(bundle, function(err, appPath) {
52
+
53
+ if (err) {
54
+ console.error(err.stack || err.message)
55
+ }
56
+
57
+ //console.info('Trying to stop bundle [ ' + bundle + '@' + self.projectName + ' ]');
58
+ var error = null;
59
+ exec('ps -Af|grep "gina: ' + bundle + '@' + self.projectName + '"', function(err, data) {
60
+
61
+ if (err) {
62
+ error = err.toString();
63
+ console.error(error);
64
+ opt.notStopped.push(bundle + '@' + self.projectName);
65
+ end(opt, cmd, isBulkStop, bundleIndex, true)
66
+ //process.exit(1)
67
+ }
68
+
69
+ var row = data.split(/\n/g)
70
+ , r = 0
71
+ , len = row.length
72
+ , arr = row[0].replace(/(?:\\[rn]|[\r\n])/g, '').split(/\s+/g)
73
+ , proc = (arr[2] != '') ? arr[2] : arr[3]; // arr[4] is for minions;
74
+
75
+ // matching `grep` CMD PID to be excluded in the next test
76
+ var re = new RegExp('(\\bgrep\\W+)(gina: '+ bundle+'@'+ self.projectName+')');
77
+ msg = 'Trying to stop bundle [ ' + bundle + '@' + self.projectName + ' ]\n\r';
78
+ opt.client.write('\n\r'+msg);
79
+
80
+ if ( !re.test(row[0]) ) {
81
+ //console.debug('\n'+ row.join('\n'));
82
+ //console.debug('kill -TERM ', proc, arr);
83
+
84
+ exec('kill -9 ' + proc, function(err, data) {
85
+ if (!err) {
86
+ ++opt.offlineCount;
87
+ //console.info('Bundle [ ' + bundle + '@' + self.projectName + ' ] with PID [ ' + proc + ' ] stopped !');
88
+ opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] with PID [ ' + proc + ' ] stopped !\n');
89
+
90
+ end(opt, cmd, isBulkStop, bundleIndex)
91
+ } else {
92
+ console.error( err.toString())
93
+ }
94
+ })
95
+ } else { // not running
96
+ //console.info('Bundle `' + bundle + '@' + self.projectName + '` is not running');
97
+ opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] is not running\n');
98
+
99
+ ++opt.offlineCount;
100
+ opt.notStopped.push(bundle + '@' + self.projectName);
101
+ end(opt, cmd, isBulkStop, bundleIndex)
102
+ }
103
+ });
104
+ })//EO isRealApp
105
+ }
106
+ }
107
+
108
+ var end = function (opt, cmd, isBulkStop, i, error) {
109
+ if (isBulkStop) {
110
+ ++i;
111
+ if ( typeof(self.bundles[i]) != 'undefined' ) {
112
+ stop(opt, cmd, i)
113
+ } else {
114
+ opt.client.write('\n\r[ Offline ] '+ opt.offlineCount +'/'+ self.bundles.length +'\r');
115
+ var notStoppedMsg = '';
116
+ if (opt.notStopped.length > 1) {
117
+ notStoppedMsg = '\nThe following bundles could not be stopped or were not running: \n - '+ opt.notStopped.join('\n - ') + '\n\r';
118
+ opt.client.write(notStoppedMsg);
119
+ }
120
+
121
+
122
+ if ( typeof(error) != 'undefined') {
123
+ process.exit(1);
124
+ }
125
+ if (!opt.client.destroyed)
126
+ opt.client.emit('end');
127
+
128
+ process.exit(0);
129
+ }
130
+ } else {
131
+ if ( typeof(error) != 'undefined') {
132
+ process.exit(1);
133
+ }
134
+
135
+ if (!opt.client.destroyed)
136
+ opt.client.emit('end');
137
+
138
+ process.exit(0);
139
+ }
140
+ }
141
+
142
+
143
+
144
+ var isRealApp = function(bundle, callback) {
145
+
146
+ var p = null
147
+ , d = null
148
+ , env = self.projects[self.projectName]['def_env']
149
+ , isDev = GINA_ENV_IS_DEV
150
+ , root = self.projects[self.projectName].path
151
+ , bundleDir = null
152
+ , bundlesPath = null
153
+ , bundleInit = null
154
+ ;
155
+
156
+ try {
157
+ //This is mostly for dev.
158
+ var pkg = requireJSON(_(root + '/manifest.json')).bundles;
159
+
160
+ if ( typeof(pkg[bundle].version) == 'undefined' && typeof (pkg[bundle].tag) != 'undefined' ) {
161
+ pkg[bundle].version = pkg[bundle].tag
162
+ }
163
+ if (
164
+ pkg[bundle] != 'undefined' && pkg[bundle]['src'] != 'undefined' && isDev
165
+ ) {
166
+ var path = pkg[bundle].src;
167
+
168
+ p = _(root + '/' + path);//path.replace('/' + bundle, '')
169
+ d = _(root + '/' + path + '/index.js');
170
+
171
+ bundleDir = path.replace('/' + bundle, '');
172
+ setContext('bundle_dir', bundleDir);
173
+ bundlesPath = _(root + '/' + bundleDir);
174
+ bundleInit = d;
175
+
176
+ } else {
177
+ //Others releases.
178
+ var path = 'releases/' + bundle + '/' + env + '/' + pkg[bundle].version;
179
+ var version = pkg[bundle].version;
180
+ p = _(root + '/' + path);//path.replace('/' + bundle, '')
181
+ d = _(root + '/' + path + '/index.js');
182
+
183
+ bundleDir = path;
184
+ bundlesPath = _(root + '/' + bundleDir);
185
+ bundleInit = d;
186
+ }
187
+
188
+ } catch (err) {
189
+ // default bundlesPath.
190
+ // TODO - log warn ?
191
+ console.warn(err.stack || err.message);
192
+ bundleDir = 'bundles';
193
+ bundlesPath = _(root + '/' + bundleDir);
194
+ p = _(root + '/' + bundleDir + '/' + bundle);
195
+ d = _(root + '/' + bundleDir + '/' + bundle + '/index.js');
196
+ bundleInit = d;
197
+ }
198
+
199
+ // removing mounting point
200
+ var coreEnv = getCoreEnv(bundle);
201
+ new _(coreEnv.mountPath +'/'+ bundle, true).rmSync();
202
+
203
+
204
+ //Checking root.
205
+ if ( new _(d, true).existsSync() ) {
206
+ //checking bundle directory.
207
+ fs.stat(p, function(err, stats) {
208
+
209
+ if (err) {
210
+ callback(err)
211
+ } else {
212
+
213
+ if (stats.isDirectory()) {
214
+ callback(false, d)
215
+ } else {
216
+ callback(new Error('[ ' + d + ' ] is not a directory'))
217
+ }
218
+ }
219
+ })
220
+ } else {
221
+ //callback(new Error('[ ' + d + ' ] does not exists'))
222
+ console.debug('[ ' + d + ' ] does not exists');
223
+ callback(false)
224
+ }
225
+ }
226
+
227
+
228
+
229
+ init(opt, cmd)
230
+ };
231
+
232
+ module.exports = Stop