gina 0.1.1-alpha.14 → 0.1.1-alpha.142

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (317) hide show
  1. package/AUTHORS +2 -1
  2. package/README.md +157 -19
  3. package/bin/cli +125 -54
  4. package/bin/cli-debug +4 -4
  5. package/bin/cmd +40 -18
  6. package/bin/gina +39 -33
  7. package/{framework/v0.1.1-alpha.14/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  8. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/AUTHORS +0 -0
  9. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/LICENSE +0 -0
  10. package/framework/v0.1.1-alpha.142/VERSION +1 -0
  11. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/html/nolayout.html +0 -0
  12. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/html/static.html +0 -0
  13. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/img/android-chrome-192x192.png +0 -0
  14. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/img/android-chrome-512x512.png +0 -0
  15. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/img/apple-touch-icon.png +0 -0
  16. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/img/favicon-16x16.png +0 -0
  17. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/img/favicon-32x32.png +0 -0
  18. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/asset/img/favicon.ico +0 -0
  19. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.js +0 -0
  20. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.js.map +0 -0
  21. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.min.css +0 -0
  22. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.min.css.map +0 -0
  23. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.min.js +0 -0
  24. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.min.js.map +0 -0
  25. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.onload.min.js +0 -0
  26. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/dist/gina.onload.min.js.map +0 -0
  27. package/framework/v0.1.1-alpha.142/core/asset/plugin/dist/toolbar/css/toolbar-min.css +1 -0
  28. package/framework/v0.1.1-alpha.142/core/asset/plugin/dist/toolbar/css/toolbar.css +3 -0
  29. package/framework/v0.1.1-alpha.142/core/asset/plugin/dist/toolbar/css/toolbar.css.map +1 -0
  30. package/framework/v0.1.1-alpha.142/core/asset/plugin/dist/toolbar/js/jquery-3.1.0.min.js +4 -0
  31. package/framework/v0.1.1-alpha.142/core/asset/plugin/dist/toolbar/main.js +1542 -0
  32. package/framework/v0.1.1-alpha.142/core/asset/plugin/dist/toolbar/toolbar.html +251 -0
  33. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/readme.md +5 -5
  34. package/framework/{v0.1.1-alpha.14/core/asset/js → v0.1.1-alpha.142/core/asset}/plugin/uuid.json +0 -0
  35. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/config.js +28 -13
  36. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/index.js +0 -0
  37. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/connector.js +0 -0
  38. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  39. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  40. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/n1ql.js +0 -0
  41. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/session-store.js +0 -0
  42. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  43. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  44. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/controller/controller.framework.js +0 -0
  45. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/controller/controller.js +664 -664
  46. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/controller/index.js +0 -0
  47. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/.travis.yml +0 -0
  48. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/LICENSE +0 -0
  49. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/README.md +0 -0
  50. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  51. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  52. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/lib/main.js +0 -0
  53. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/lib/types/multipart.js +0 -0
  54. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  55. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/lib/utils.js +0 -0
  56. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/busboy/package.json +0 -0
  57. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  58. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/dev/index.js +0 -0
  59. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/dev/lib/class.js +0 -0
  60. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/dev/lib/factory.js +0 -0
  61. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/dev/lib/tools.js +0 -0
  62. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/gna.js +0 -0
  63. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/README.md +0 -0
  64. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/currency.json +0 -0
  65. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/dist/language/en.json +0 -0
  66. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/dist/language/fr.json +0 -0
  67. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/dist/region/en.json +0 -0
  68. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/dist/region/fr.json +0 -0
  69. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/index.js +0 -0
  70. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/src/make.js +0 -0
  71. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/src/resources/currency.csv +0 -0
  72. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/src/resources/region.csv +0 -0
  73. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/locales/src/resources/region.mapping.json +0 -0
  74. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/mime.types +0 -0
  75. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/model/entity.js +0 -0
  76. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/model/index.js +0 -0
  77. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/model/template/entityFactory.js +0 -0
  78. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/model/template/index.js +0 -0
  79. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/README.md +0 -0
  80. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/index.js +0 -0
  81. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/file/README.md +0 -0
  82. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/file/build.json +0 -0
  83. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/file/package.json +0 -0
  84. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/intl/README.md +0 -0
  85. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/intl/build.json +0 -0
  86. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/intl/package.json +0 -0
  87. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/intl/src/main.js +0 -0
  88. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/storage/README.md +0 -0
  89. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/storage/build.json +0 -0
  90. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/storage/package.json +0 -0
  91. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/storage/src/main.js +0 -0
  92. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/validator/README.md +0 -0
  93. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/validator/build.json +0 -0
  94. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/validator/package.json +0 -0
  95. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/validator/src/form-validator.js +0 -0
  96. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/plugins/lib/validator/src/main.js +0 -0
  97. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/router.js +0 -0
  98. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/server.express.js +0 -0
  99. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/server.isaac.js +117 -108
  100. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/server.js +1 -0
  101. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/status.codes +0 -0
  102. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/config/app.json +0 -0
  103. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/config/routing.json +0 -0
  104. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/config/settings.json +0 -0
  105. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  106. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/config/templates.json +4 -4
  107. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  108. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  109. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  110. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle/index.js +0 -0
  111. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  112. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  113. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  114. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  115. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  116. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_public/readme.md +0 -0
  117. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  118. package/framework/v0.1.1-alpha.142/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  119. package/framework/v0.1.1-alpha.142/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  120. package/framework/v0.1.1-alpha.142/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  121. package/framework/{v0.1.1-alpha.14/core/template/boilerplate/bundle_templates/html/layout → v0.1.1-alpha.142/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  122. package/framework/v0.1.1-alpha.142/core/template/command/gina.bat.tpl +8 -0
  123. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/command/gina.tpl +0 -0
  124. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/conf/env.json +0 -0
  125. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/conf/manifest.json +0 -0
  126. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/conf/package.json +0 -0
  127. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/conf/settings.json +0 -0
  128. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/conf/statics.json +3 -3
  129. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/conf/templates.json +2 -2
  130. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/error/client/json/401.json +0 -0
  131. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/error/client/json/403.json +0 -0
  132. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/error/client/json/404.json +0 -0
  133. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/error/server/html/50x.html +0 -0
  134. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/error/server/json/500.json +0 -0
  135. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/error/server/json/503.json +0 -0
  136. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/core/template/extensions/logger/config.json +0 -0
  137. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/console.js +0 -0
  138. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/context.js +144 -4
  139. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/dateFormat.js +0 -0
  140. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/index.js +9 -4
  141. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/json/README.md +0 -0
  142. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/json/package.json +0 -0
  143. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/json/src/main.js +0 -0
  144. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/path.js +142 -88
  145. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/plugins/README.md +0 -0
  146. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/plugins/package.json +0 -0
  147. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/plugins/src/api-error.js +0 -0
  148. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/plugins/src/main.js +0 -0
  149. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/prototypes.js +35 -36
  150. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/task.js +21 -14
  151. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/helpers/text.js +0 -0
  152. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/archiver/README.md +0 -0
  153. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/archiver/build.json +0 -0
  154. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/archiver/package.json +0 -0
  155. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/archiver/src/dep/jszip.min.js +0 -0
  156. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/archiver/src/main.js +0 -0
  157. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/aliases.json +4 -1
  158. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/add.js +43 -17
  159. package/framework/v0.1.1-alpha.142/lib/cmd/bundle/arguments.json +6 -0
  160. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/copy.js +0 -0
  161. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/cp.js +0 -0
  162. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/help.js +0 -0
  163. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/help.txt +0 -0
  164. package/framework/v0.1.1-alpha.142/lib/cmd/bundle/list.js +176 -0
  165. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/remove.js +22 -22
  166. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/rename.js +0 -0
  167. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/restart.js +0 -0
  168. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/rm.js +0 -0
  169. package/framework/v0.1.1-alpha.142/lib/cmd/bundle/start.js +416 -0
  170. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/status.js +0 -0
  171. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/bundle/stop.js +93 -74
  172. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/add.js +0 -0
  173. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/get.js +0 -0
  174. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/help.js +0 -0
  175. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/help.txt +0 -0
  176. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/link-dev.js +0 -0
  177. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/list.js +0 -0
  178. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/remove.js +0 -0
  179. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/rm.js +0 -0
  180. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/set.js +0 -0
  181. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/env/unset.js +0 -0
  182. package/framework/{v0.1.1-alpha.14/lib/cmd/scope → v0.1.1-alpha.142/lib/cmd/env}/use.js +21 -1
  183. package/framework/v0.1.1-alpha.142/lib/cmd/framework/build.js +85 -0
  184. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/dot.js +0 -0
  185. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/get.js +0 -0
  186. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/help.js +0 -0
  187. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/help.txt +0 -0
  188. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/init.js +64 -16
  189. package/framework/v0.1.1-alpha.142/lib/cmd/framework/link-node-modules.js +86 -0
  190. package/framework/v0.1.1-alpha.142/lib/cmd/framework/link.js +89 -0
  191. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/msg.json +0 -0
  192. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/open.js +15 -0
  193. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/restart.js +53 -25
  194. package/framework/v0.1.1-alpha.142/lib/cmd/framework/set.js +264 -0
  195. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/start.js +35 -12
  196. package/framework/v0.1.1-alpha.142/lib/cmd/framework/status.js +123 -0
  197. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/stop.js +44 -28
  198. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/tail.js +106 -61
  199. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/update.js +0 -0
  200. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/framework/version.js +12 -3
  201. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/gina-dev.1.md +0 -0
  202. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/gina-framework.1.md +0 -0
  203. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/gina.1.md +0 -0
  204. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/helper.js +73 -4
  205. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/index.js +21 -21
  206. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/msg.json +0 -0
  207. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/port/help.js +0 -0
  208. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/port/help.txt +0 -0
  209. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/port/inc/scan.js +32 -17
  210. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/port/list.js +0 -0
  211. package/framework/v0.1.1-alpha.142/lib/cmd/port/reset.js +422 -0
  212. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/port/set.js +0 -0
  213. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/add.js +144 -120
  214. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/arguments.json +0 -0
  215. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/build.js +0 -0
  216. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/help.js +0 -0
  217. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/help.txt +0 -0
  218. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/import.js +0 -0
  219. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/list.js +0 -0
  220. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/move.js +0 -0
  221. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/remove.js +17 -17
  222. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/rename.js +0 -0
  223. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/restart.js +0 -0
  224. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/rm.js +0 -0
  225. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/start.js +0 -0
  226. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/status.js +0 -0
  227. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/project/stop.js +0 -0
  228. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/protocol/help.js +0 -0
  229. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/protocol/help.txt +0 -0
  230. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/protocol/list.js +0 -0
  231. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/protocol/set.js +239 -201
  232. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/help.js +0 -0
  233. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/help.txt +0 -0
  234. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/link-local.js +0 -0
  235. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/list.js +0 -0
  236. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/remove.js +0 -0
  237. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/rm.js +0 -0
  238. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/set.js +0 -0
  239. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/scope/unset.js +0 -0
  240. package/framework/{v0.1.1-alpha.14/lib/cmd/env → v0.1.1-alpha.142/lib/cmd/scope}/use.js +0 -0
  241. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cmd/view/add.js +34 -9
  242. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/collection/README.md +0 -0
  243. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/collection/build.json +0 -0
  244. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/collection/package.json +0 -0
  245. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/collection/src/main.js +0 -0
  246. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/config.js +0 -0
  247. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cron/README.md +0 -0
  248. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cron/package.json +0 -0
  249. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/cron/src/main.js +0 -0
  250. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/generator/index.js +0 -0
  251. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/index.js +0 -0
  252. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/LICENSE +0 -0
  253. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/README.md +0 -0
  254. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  255. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/example/protected_inheritance.js +0 -0
  256. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/example/simple_inheritance.js +0 -0
  257. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  258. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/package.json +0 -0
  259. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/inherits/src/main.js +0 -0
  260. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/README.md +0 -0
  261. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/package.json +0 -0
  262. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/default/index.js +13 -2
  263. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/file/index.js +105 -14
  264. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  265. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  266. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/mq/index.js +2 -1
  267. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/mq/listener.js +16 -14
  268. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/containers/mq/speaker.js +32 -3
  269. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/helper.js +19 -0
  270. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/logger/src/main.js +4 -1
  271. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/math/index.js +0 -0
  272. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/merge/README.md +0 -0
  273. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/merge/example/merge.js +0 -0
  274. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/merge/example/merge_2_literal objects.js +0 -0
  275. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/merge/example/merge_and_preserve_first.js +0 -0
  276. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/merge/package.json +0 -0
  277. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/merge/src/main.js +0 -0
  278. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/model.js +0 -0
  279. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/proc.js +69 -45
  280. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/routing/README.md +0 -0
  281. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/routing/build.json +0 -0
  282. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/routing/package.json +0 -0
  283. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/routing/src/main.js +0 -0
  284. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/session-store.js +0 -0
  285. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/shell.js +3 -3
  286. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/swig-filters/README.md +0 -0
  287. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/swig-filters/package.json +0 -0
  288. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/swig-filters/src/main.js +54 -51
  289. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/url/README.md +0 -0
  290. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/url/index.js +0 -0
  291. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/url/mocks.json +0 -0
  292. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/url/routing.json +0 -0
  293. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/url/test.js +0 -0
  294. package/framework/{v0.1.1-alpha.14 → v0.1.1-alpha.142}/lib/validator.js +0 -0
  295. package/framework/v0.1.1-alpha.142/package.json +14 -0
  296. package/package.json +30 -21
  297. package/resources/home/main.json +19 -1
  298. package/resources/home/settings.json +5 -0
  299. package/resources/home/user/extensions/logger/default/config.json +1 -1
  300. package/resources/package.json.template +28 -17
  301. package/script/post_install.js +394 -120
  302. package/script/post_publish.js +185 -0
  303. package/script/pre_install.js +424 -76
  304. package/script/prepare_version.js +151 -21
  305. package/utils/helper.js +230 -44
  306. package/utils/prototypes.js +9 -9
  307. package/utils/prototypes.json_clone.js +31 -31
  308. package/doc/framework/cli/doc.json +0 -9
  309. package/doc/framework/index.md +0 -60
  310. package/framework/v0.1.1-alpha.14/VERSION +0 -1
  311. package/framework/v0.1.1-alpha.14/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  312. package/framework/v0.1.1-alpha.14/lib/cmd/bundle/arguments.json +0 -4
  313. package/framework/v0.1.1-alpha.14/lib/cmd/bundle/list.js +0 -129
  314. package/framework/v0.1.1-alpha.14/lib/cmd/bundle/start.js +0 -394
  315. package/framework/v0.1.1-alpha.14/lib/cmd/framework/set.js +0 -161
  316. package/framework/v0.1.1-alpha.14/lib/cmd/framework/status.js +0 -72
  317. package/framework/v0.1.1-alpha.14/package.json +0 -14
@@ -34,7 +34,7 @@ function Remove(opt, cmd) {
34
34
  console.error('project path not defined in ~/.gina/projects.json for [ '+ self.projectName + ' ]');
35
35
  process.exit(1)
36
36
  }
37
-
37
+
38
38
  if (isDefined('project', self.projectName)) {
39
39
  removeBundle(0)
40
40
  } else {
@@ -52,8 +52,8 @@ function Remove(opt, cmd) {
52
52
 
53
53
  //var Proc = require( getPath('gina').lib + '/proc');
54
54
 
55
-
56
-
55
+
56
+
57
57
  }
58
58
 
59
59
  var removeBundle = function (b) {
@@ -69,7 +69,7 @@ function Remove(opt, cmd) {
69
69
 
70
70
 
71
71
  if (local.force) {
72
- // remove without checking
72
+ // remove without checking
73
73
  remove(local.bundle)
74
74
  } else {
75
75
  check()
@@ -80,7 +80,7 @@ function Remove(opt, cmd) {
80
80
  var check = function() {
81
81
 
82
82
 
83
- rl.setPrompt('['+ local.bundle +'@'+ self.projectName +'] Also remove bundle files ? (Y/n):');
83
+ rl.setPrompt('['+ local.bundle +'@'+ self.projectName +'] Also remove bundle files ? (Y/n):\n');
84
84
 
85
85
  rl.prompt();
86
86
 
@@ -113,26 +113,26 @@ function Remove(opt, cmd) {
113
113
  process.exit(0)
114
114
  })
115
115
  }
116
-
116
+
117
117
  var remove = function (bundle) {
118
-
118
+
119
119
  // reload assets context with changes
120
120
  loadAssets();
121
-
121
+
122
122
  var hasFolder = true, folderPath = null, folder = null;
123
123
  console.debug('Removing bundle: ', bundle);
124
124
  try {
125
125
  folderPath = _(self.projects[self.projectName].path + '/' + self.projectData.bundles[bundle].src, true);
126
126
  folder = new _(folderPath);
127
-
127
+
128
128
  if ( !folder.isValidPath() ) {
129
129
  console.warn('`'+ folder.toString() +'` is not a valid path')
130
130
  } else {
131
-
131
+
132
132
  // removing mounting point: just in case
133
133
  var coreEnv = getCoreEnv(bundle);
134
134
  new _(coreEnv.mountPath +'/'+ bundle, true).rmSync();
135
-
135
+
136
136
  // removing folder
137
137
  folder = folder.rmSync();
138
138
  if (folder instanceof Error) {
@@ -143,8 +143,8 @@ function Remove(opt, cmd) {
143
143
  } catch(folderException) {
144
144
  hasFolder = false;
145
145
  }
146
-
147
-
146
+
147
+
148
148
 
149
149
  // updating project env
150
150
  if ( typeof(self.envData) != 'undefined' && typeof(self.envData[bundle]) != 'undefined' ) (
@@ -162,8 +162,8 @@ function Remove(opt, cmd) {
162
162
  , re = null
163
163
  ;
164
164
 
165
- for (let protocol in ports) {
166
- for (let scheme in ports[protocol]) {
165
+ for (let protocol in ports) {
166
+ for (let scheme in ports[protocol]) {
167
167
  for (let port in ports[protocol][scheme]) {
168
168
  re = new RegExp(bundle +"\@"+ self.projectName +"\/");
169
169
  if ( re.test(ports[protocol][scheme][port]) ) {
@@ -172,7 +172,7 @@ function Remove(opt, cmd) {
172
172
  }
173
173
  }
174
174
  }
175
-
175
+
176
176
  for (let bundleAddress in portsReverse) {
177
177
  re = new RegExp(bundle +"\@"+ self.projectName);
178
178
  if ( re.test(bundleAddress) ) {
@@ -183,7 +183,7 @@ function Remove(opt, cmd) {
183
183
  // now writing
184
184
  lib.generator.createFileFromDataSync(ports, self.portsPath);
185
185
  lib.generator.createFileFromDataSync(portsReverse, self.portsReversePath);
186
-
186
+
187
187
  // env
188
188
  // var envData = JSON.clone(self.envData);
189
189
  // if ( typeof(envData[bundle]) != 'undefined' ) {
@@ -192,8 +192,8 @@ function Remove(opt, cmd) {
192
192
  self.envData,
193
193
  self.envPath
194
194
  );
195
- // }
196
-
195
+ // }
196
+
197
197
  // manifest
198
198
  // var projectData = JSON.clone(self.projectData);
199
199
  // if ( typeof(projectData.bundles) != 'undefined' && typeof(projectData.bundles[bundle]) != 'undefined' ) {
@@ -206,10 +206,10 @@ function Remove(opt, cmd) {
206
206
  self.projectPath
207
207
  );
208
208
  // }
209
-
209
+
210
210
 
211
211
  console.log('Bundle [ '+ bundle+'@'+self.projectName+' ] removed');
212
-
212
+
213
213
 
214
214
  ++local.b;
215
215
  removeBundle(local.b);
@@ -218,7 +218,7 @@ function Remove(opt, cmd) {
218
218
 
219
219
  var end = function() {
220
220
 
221
-
221
+
222
222
 
223
223
  process.exit(0)
224
224
  };
@@ -0,0 +1,416 @@
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
+
79
+ opt.msg = msg;
80
+ return end(opt, cmd, isBulkStart, bundleIndex, true)
81
+ }
82
+
83
+ var isStarting = false
84
+ , params = null
85
+ , index = null
86
+ , i = null
87
+ , len = null
88
+ ;
89
+
90
+ isRealApp(bundle, function(err, appPath){
91
+ if (err) {
92
+ console.error(err.stack||err.message)
93
+ } else {
94
+ if (isStarting)
95
+ return;
96
+
97
+ msg = 'Trying to start bundle [ ' + bundle + '@' + self.projectName + ' ]';
98
+ if (opt.debugPort) {
99
+ msg += ' (debug port: '+ opt.debugPort +')'
100
+ }
101
+ // To gina log
102
+ console.info(msg);
103
+ // to the terminal stdout
104
+ opt.client.write('\n\r'+msg);
105
+
106
+ process.list = (process.list == undefined) ? [] : process.list;
107
+ setContext('processList', process.list);
108
+ setContext('ginaProcess', process.pid);
109
+ setContext('debugPort', opt.debugPort);
110
+ setContext('debugBrkEnabled', opt.debugBrkEnabled);
111
+
112
+ params = [
113
+ // node arguments will be passed by gina
114
+ appPath,
115
+ JSON.stringify(getContext()), //Passing context to child.
116
+ self.projectName, // project name
117
+ bundle// bundle name
118
+ ];
119
+
120
+ // injecting node arguments
121
+ index = 0; i = 0; len = self.nodeParams.length;
122
+ if (len > 0) {
123
+ for (; i < len; ++i) {
124
+ params.splice(index, 0, self.nodeParams[i]);
125
+ ++index
126
+ }
127
+ }
128
+
129
+ i = 0; len = params.length;
130
+ for (; i < len; ++i) {
131
+ if (params[i] == '') {
132
+ params.splice(i, 1);
133
+ }
134
+ }
135
+
136
+
137
+ var child = spawn(opt.argv[0], params,
138
+ {
139
+ detached: true
140
+ }
141
+ );
142
+
143
+ child.stdout.setEncoding('utf8');//Set encoding.
144
+
145
+ // CMD Auto Exit
146
+ var retry = 0, maxRetry = 15, maxTimeout = (self.debugBrkEnabled) ? 1200000 : 4000;
147
+ var timerId = setInterval(function() {
148
+ if (!isStarting ) {
149
+ ++retry;
150
+ //opt.client.write('what is wrong ? '+ retry);
151
+ } else {
152
+ clearInterval(timerId);
153
+ }
154
+
155
+ if (retry > maxRetry) {
156
+ clearInterval(timerId);
157
+ opt.client.write('Sorry my friend, this is taking too long ! Terminating. Check your logs.');
158
+ child.kill('SIGKILL');
159
+ if (!opt.client.destroyed) {
160
+ opt.client.emit('exit');
161
+ opt.client.emit('end');
162
+ }
163
+
164
+
165
+ //end(opt, cmd, isBulkStart, bundleIndex);
166
+ }
167
+ }, maxTimeout);
168
+
169
+ var checkCaseCount = 2
170
+ // The 2 flags we need to free the child.stdout if we do not want the command to wait for a timeout
171
+ // NB.: you can place flag by using console.notice
172
+ , checkCaseRe = new RegExp('('+bundle + '@' + self.projectName + ' mounted !|Bundle started !)', 'i')
173
+ , url = null
174
+ , debuggerOn = null
175
+ ;
176
+ var port = '', errorFound = false;
177
+ child.stdout.on('data', function(data) {
178
+ // console.log(data);
179
+
180
+ // handle errors
181
+ if ( /EADDRINUSE.*port/i.test(data) && !errorFound ) {
182
+ console.log(data);
183
+ // kill the bundle starting process first
184
+ child.kill('SIGKILL');
185
+
186
+ errorFound = true;
187
+ //opt.client.write(data);
188
+ try {
189
+ port = ' #'+ data.match(/port\":\s+\d+/)[0].split(/\:/)[1].trim() +' ';
190
+ opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] has already been started, or port'+ port+'might be busy');
191
+
192
+ } catch(_err) {
193
+ opt.client.write(_err);
194
+ }
195
+
196
+
197
+ ++opt.onlineCount;
198
+ end(opt, cmd, isBulkStart, bundleIndex);
199
+ clearInterval(timerId);
200
+
201
+ return;
202
+ }
203
+
204
+ // catch fatal errors to exit
205
+ if ( /(\[|\[\s+)emerg/.test(data) ) {
206
+ console.log(data);
207
+
208
+ // kill the bundle starting process first
209
+ child.kill('SIGKILL');
210
+
211
+ opt.notStarted.push(bundle + '@' + self.projectName);
212
+ opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] aborted :( \n => Check your logs to see why.');
213
+
214
+ ++opt.onlineCount;
215
+ end(opt, cmd, isBulkStart, bundleIndex);
216
+ clearInterval(timerId);
217
+
218
+ return;
219
+ }
220
+
221
+ // Expecting 2 flags (checkCaseCount) to free the child stdout !!
222
+ if ( checkCaseRe.test(data) ) {
223
+ --checkCaseCount;
224
+ }
225
+
226
+ // cache bundle state info given by the server while starting
227
+ if ( !debuggerOn && new RegExp('Debugger listening on','gmi').test(data)) {
228
+ debuggerOn = '\n ' + data.match(new RegExp('Debugger listening on .*','gmi'));
229
+ }
230
+ if ( !url && new RegExp('This way please','gmi').test(data)) {
231
+ url = '\n ' + data.match(new RegExp('This way please -> .*','gmi'));
232
+ }
233
+
234
+
235
+
236
+ if (!opt.client.destroyed && !isStarting && !checkCaseCount) {
237
+ isStarting = true;
238
+ clearInterval(timerId);
239
+ ++opt.onlineCount;
240
+
241
+ if (!debuggerOn) {
242
+ debuggerOn = ''
243
+ }
244
+
245
+ // resume logging
246
+ process.emit('gina#bundle-logging', GINA_MQ_PORT, GINA_HOST_V4, bundle + '@' + self.projectName);
247
+ console.debug('Sent: gina#bundle-logging');
248
+
249
+
250
+ opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] started V(-.o)V'+ url + debuggerOn);
251
+
252
+
253
+
254
+
255
+ end(opt, cmd, isBulkStart, bundleIndex);
256
+ return;
257
+ }
258
+
259
+ return;
260
+
261
+ });
262
+
263
+ //when an exception is thrown, it is sent to the client
264
+ child.stderr.setEncoding('utf8');
265
+ var error = null;
266
+ child.stderr.on('data', function(err) {
267
+ error = err.toString();
268
+
269
+ if (/Debugger listening|Debugger attached|Warning|address already in use/i.test(error)) {
270
+ console.warn(error);
271
+
272
+ if (!opt.client.destroyed) {
273
+ opt.client.write(error);
274
+ }
275
+
276
+ } else {
277
+ console.error(error);
278
+ }
279
+ });
280
+
281
+ child.on('exit', function(code, signal) {
282
+ // handles only signals that cannot be cannot be caught or ignored
283
+ // ref.: `framework/<version>/lib/proc.js`
284
+ if (/(SIGKILL|SIGSTOP)/i.test(signal)) {
285
+ console.emerg('[' + this.pid + '] exiting with signal: ', signal);
286
+ cmd.proc.dismiss(this.pid, signal);
287
+ }
288
+ });
289
+
290
+
291
+ }
292
+
293
+ });//EO isRealApp
294
+
295
+ }
296
+
297
+
298
+ var end = function (opt, cmd, isBulkStart, i, error) {
299
+ if ( typeof(opt.msg) != 'undefined' ) {
300
+ opt.client.write('\n\r'+ opt.msg);
301
+ }
302
+ if (isBulkStart) {
303
+ ++i;
304
+ if ( typeof(self.bundles[i]) != 'undefined' ) {
305
+ start(opt, cmd, i)
306
+ } else {
307
+ opt.client.write('\n\r[ Online ] '+ opt.onlineCount +'/'+ self.bundles.length);
308
+ var notStartedMsg = '\nCould not start: \n - '+ opt.notStarted.join('\n');
309
+ opt.client.write(notStartedMsg);
310
+
311
+ if ( typeof(error) != 'undefined') {
312
+ process.exit(1);
313
+ }
314
+
315
+ if (!opt.client.destroyed)
316
+ opt.client.emit('end');
317
+ }
318
+ return;
319
+ }
320
+
321
+ if ( typeof(error) != 'undefined') {
322
+ process.exit(1);
323
+ }
324
+
325
+ if (!opt.client.destroyed)
326
+ opt.client.emit('end');
327
+ // Force exit in case process is stuck
328
+ setTimeout(() => {
329
+ if (!opt.client.destroyed) {
330
+ opt.client.emit('exit');
331
+ }
332
+ }, 150);
333
+ }
334
+
335
+
336
+
337
+ var isRealApp = function(bundle, callback) {
338
+ var p = null
339
+ , d = null
340
+ , env = self.projects[self.projectName]['def_env']
341
+ , isDev = ( self.projects[self.projectName]['dev_env'] == env ) ? true : false
342
+ , root = self.projectLocation
343
+ , bundleDir = null
344
+ , bundlesPath = null
345
+ , bundleInit = null
346
+ ;
347
+
348
+ try {
349
+ //This is mostly for dev.
350
+ var pkg = requireJSON( _(root+ '/manifest.json', true) ).bundles;
351
+ if ( typeof(pkg[bundle].version) == 'undefined' && typeof(pkg[bundle].tag) != 'undefined') {
352
+ pkg[bundle].version = pkg[bundle].tag
353
+ }
354
+
355
+ var path = null, version = null;
356
+ if (
357
+ pkg[bundle] != 'undefined' && pkg[bundle]['src'] != 'undefined' && isDev
358
+ ) {
359
+ path = pkg[bundle].src;
360
+
361
+ p = _( root +'/'+ path );//path.replace('/' + bundle, '')
362
+ d = _( root +'/'+ path + '/index.js' );
363
+
364
+ bundleDir = path.replace('/' + bundle, '');
365
+ setContext('bundle_dir', bundleDir);
366
+ bundlesPath = _( root +'/'+ bundleDir );
367
+ bundleInit = d;
368
+
369
+ } else {
370
+ //Others releases.
371
+ path = 'releases/'+ bundle +'/' + env +'/'+ pkg[bundle].version;
372
+ version = pkg[bundle].version;
373
+ p = _( root +'/'+ path );//path.replace('/' + bundle, '')
374
+ d = _( root +'/'+ path + '/index.js' );
375
+
376
+ bundleDir = path;
377
+ bundlesPath = _(root + '/'+ bundleDir);
378
+ bundleInit = d;
379
+ }
380
+
381
+ } catch (err) {
382
+ // default bundlesPath.
383
+ // TODO - log warn ?
384
+ console.warn(err.stack||err.message);
385
+ bundleDir = 'bundles';
386
+ bundlesPath = _(root +'/'+ bundleDir);
387
+ p = _(root +'/'+ bundleDir +'/'+ bundle);
388
+ d = _(root + '/'+ bundleDir +'/'+ bundle + '/index.js');
389
+ bundleInit = d;
390
+ }
391
+
392
+ //Checking root.
393
+ if ( new _(d, true).existsSync() ) {
394
+ //checking bundle directory.
395
+ fs.stat(p, function(err, stats) {
396
+ if (err) {
397
+ callback(err)
398
+ } else {
399
+
400
+ if (stats.isDirectory()) {
401
+ callback(false, d)
402
+ } else {
403
+ callback(new Error('[ ' + d + ' ] is not a directory'))
404
+ }
405
+ }
406
+ })
407
+ }
408
+ else {
409
+ callback(new Error('[ ' + d + ' ] does not exists'))
410
+ }
411
+ }
412
+
413
+
414
+ init(opt, cmd)
415
+ }
416
+ module.exports = Start;