gina 0.1.1-alpha.156 → 0.1.1-alpha.158

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 (308) hide show
  1. package/LICENSE +1 -1
  2. package/README-4Contributors.md +17 -0
  3. package/README.md +36 -17
  4. package/bin/cli +31 -17
  5. package/bin/cli-debug +46 -15
  6. package/bin/gina +8 -3
  7. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/AUTHORS +0 -0
  8. package/framework/{v0.1.1-alpha.156/lib/inherits → v0.1.1-alpha.158}/LICENSE +1 -1
  9. package/framework/v0.1.1-alpha.158/VERSION +1 -0
  10. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/html/nolayout.html +0 -0
  11. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/html/static.html +0 -0
  12. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/img/android-chrome-192x192.png +0 -0
  13. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/img/android-chrome-512x512.png +0 -0
  14. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/img/apple-touch-icon.png +0 -0
  15. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/img/favicon-16x16.png +0 -0
  16. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/img/favicon-32x32.png +0 -0
  17. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/img/favicon.ico +0 -0
  18. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/gina.js +779 -769
  19. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/gina.js.map +3 -3
  20. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/gina.min.css +0 -0
  21. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/gina.min.css.map +0 -0
  22. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/gina.min.js +138 -138
  23. package/framework/v0.1.1-alpha.158/core/asset/plugin/dist/gina.min.js.map +8 -0
  24. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/gina.onload.min.js +0 -0
  25. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/gina.onload.min.js.map +0 -0
  26. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/toolbar/css/toolbar-min.css +0 -0
  27. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/toolbar/css/toolbar.css +0 -0
  28. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/toolbar/css/toolbar.css.map +0 -0
  29. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/toolbar/js/jquery-3.1.0.min.js +0 -0
  30. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/toolbar/main.js +0 -0
  31. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/dist/toolbar/toolbar.html +0 -0
  32. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/readme.md +0 -0
  33. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/asset/plugin/uuid.json +0 -0
  34. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/config.js +1 -1
  35. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/connectors/couchbase/index.js +18 -4
  36. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/connectors/couchbase/lib/connector.js +0 -0
  37. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  38. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  39. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/connectors/couchbase/lib/connector.v4.js +9 -2
  40. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/connectors/couchbase/lib/n1ql.js +0 -0
  41. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/connectors/couchbase/lib/session-store.js +0 -0
  42. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  43. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  44. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  45. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/controller/controller.framework.js +0 -0
  46. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/controller/controller.js +2 -2
  47. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/controller/index.js +0 -0
  48. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/deps/busboy/.travis.yml +0 -0
  49. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/deps/busboy/LICENSE +0 -0
  50. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/deps/busboy/README.md +0 -0
  51. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  52. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  53. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/deps/busboy/lib/main.js +0 -0
  54. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/deps/busboy/lib/types/multipart.js +0 -0
  55. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  56. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/deps/busboy/lib/utils.js +0 -0
  57. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/deps/busboy/package.json +0 -0
  58. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  59. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/dev/index.js +1 -1
  60. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/dev/lib/class.js +0 -0
  61. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/dev/lib/factory.js +1 -1
  62. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/dev/lib/tools.js +0 -0
  63. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/gna.js +1 -1
  64. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/locales/README.md +0 -0
  65. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/locales/currency.json +0 -0
  66. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/locales/dist/language/en.json +0 -0
  67. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/locales/dist/language/fr.json +0 -0
  68. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/locales/dist/region/en.json +0 -0
  69. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/locales/dist/region/fr.json +0 -0
  70. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/locales/index.js +2 -2
  71. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/locales/src/make.js +0 -0
  72. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/locales/src/resources/currency.csv +0 -0
  73. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/locales/src/resources/region.csv +0 -0
  74. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/locales/src/resources/region.mapping.json +0 -0
  75. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/mime.types +0 -0
  76. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/model/entity.js +1 -1
  77. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/model/index.js +4 -3
  78. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/model/template/entityFactory.js +1 -1
  79. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/model/template/index.js +1 -1
  80. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/README.md +0 -0
  81. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/index.js +1 -1
  82. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/file/README.md +0 -0
  83. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/file/build.json +0 -0
  84. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/file/package.json +1 -1
  85. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/intl/README.md +0 -0
  86. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/intl/build.json +0 -0
  87. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/intl/package.json +1 -1
  88. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/intl/src/main.js +0 -0
  89. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/storage/README.md +0 -0
  90. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/storage/build.json +0 -0
  91. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/storage/package.json +1 -1
  92. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/storage/src/main.js +0 -0
  93. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/validator/README.md +0 -0
  94. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/validator/build.json +0 -0
  95. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/validator/package.json +1 -1
  96. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/validator/src/form-validator.js +0 -0
  97. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/plugins/lib/validator/src/main.js +0 -0
  98. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/router.js +1 -1
  99. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/server.express.js +0 -0
  100. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/server.isaac.js +0 -0
  101. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/server.js +42 -0
  102. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/status.codes +0 -0
  103. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle/config/app.json +0 -0
  104. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle/config/routing.json +0 -0
  105. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle/config/settings.json +0 -0
  106. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  107. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle/config/templates.json +0 -0
  108. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  109. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  110. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  111. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle/index.js +0 -0
  112. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  113. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  114. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  115. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  116. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  117. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle_public/readme.md +0 -0
  118. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  119. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  120. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  121. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  122. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  123. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/command/gina.bat.tpl +0 -0
  124. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/command/gina.tpl +1 -1
  125. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/conf/env.json +0 -0
  126. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/conf/manifest.json +0 -0
  127. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/conf/package.json +0 -0
  128. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/conf/settings.json +0 -0
  129. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/conf/statics.json +0 -0
  130. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/conf/templates.json +0 -0
  131. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/error/client/json/401.json +0 -0
  132. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/error/client/json/403.json +0 -0
  133. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/error/client/json/404.json +0 -0
  134. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/error/server/html/50x.html +0 -0
  135. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/error/server/json/500.json +0 -0
  136. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/error/server/json/503.json +0 -0
  137. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/core/template/extensions/logger/config.json +0 -0
  138. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/console.js +1 -1
  139. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/context.js +1 -1
  140. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/dateFormat.js +1 -1
  141. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/index.js +1 -1
  142. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/json/README.md +0 -0
  143. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/json/package.json +1 -1
  144. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/json/src/main.js +22 -22
  145. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/path.js +1 -1
  146. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/plugins/README.md +0 -0
  147. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/plugins/package.json +1 -1
  148. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/plugins/src/api-error.js +0 -0
  149. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/plugins/src/main.js +2 -2
  150. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/prototypes.js +0 -0
  151. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/task.js +0 -0
  152. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/helpers/text.js +1 -1
  153. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/archiver/README.md +0 -0
  154. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/archiver/build.json +0 -0
  155. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/archiver/package.json +1 -1
  156. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/archiver/src/dep/jszip.min.js +0 -0
  157. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/archiver/src/main.js +167 -167
  158. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/aliases.json +0 -0
  159. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/add.js +0 -0
  160. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/arguments.json +0 -0
  161. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/copy.js +0 -0
  162. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/cp.js +0 -0
  163. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/help.js +0 -0
  164. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/help.txt +0 -0
  165. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/list.js +0 -0
  166. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/remove.js +0 -0
  167. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/rename.js +0 -0
  168. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/restart.js +0 -0
  169. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/rm.js +0 -0
  170. package/framework/v0.1.1-alpha.158/lib/cmd/bundle/start.js +637 -0
  171. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/status.js +0 -0
  172. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/bundle/stop.js +0 -0
  173. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/env/add.js +0 -0
  174. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/env/get.js +0 -0
  175. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/env/help.js +0 -0
  176. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/env/help.txt +0 -0
  177. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/env/link-dev.js +0 -0
  178. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/env/list.js +0 -0
  179. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/env/remove.js +0 -0
  180. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/env/rm.js +0 -0
  181. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/env/set.js +0 -0
  182. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/env/unset.js +0 -0
  183. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/env/use.js +0 -0
  184. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/build.js +0 -0
  185. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/dot.js +0 -0
  186. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/get.js +0 -0
  187. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/help.js +0 -0
  188. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/help.txt +0 -0
  189. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/init.js +108 -4
  190. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/link-node-modules.js +0 -0
  191. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/link.js +0 -0
  192. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/msg.json +0 -0
  193. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/open.js +0 -0
  194. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/restart.js +6 -2
  195. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/set.js +0 -0
  196. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/start.js +0 -0
  197. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/status.js +0 -0
  198. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/stop.js +0 -0
  199. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/tail.js +36 -3
  200. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/update.js +0 -0
  201. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/framework/version.js +0 -0
  202. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/gina-dev.1.md +0 -0
  203. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/gina-framework.1.md +0 -0
  204. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/gina.1.md +0 -0
  205. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/helper.js +0 -0
  206. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/index.js +1 -1
  207. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/msg.json +0 -0
  208. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/port/help.js +0 -0
  209. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/port/help.txt +0 -0
  210. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/port/inc/scan.js +0 -0
  211. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/port/list.js +0 -0
  212. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/port/reset.js +0 -0
  213. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/port/set.js +0 -0
  214. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/add.js +0 -0
  215. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/arguments.json +0 -0
  216. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/build.js +0 -0
  217. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/help.js +0 -0
  218. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/help.txt +0 -0
  219. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/import.js +0 -0
  220. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/list.js +16 -2
  221. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/move.js +0 -0
  222. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/remove.js +0 -0
  223. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/rename.js +0 -0
  224. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/restart.js +0 -0
  225. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/rm.js +0 -0
  226. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/start.js +0 -0
  227. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/status.js +0 -0
  228. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/project/stop.js +0 -0
  229. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/protocol/help.js +0 -0
  230. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/protocol/help.txt +0 -0
  231. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/protocol/list.js +0 -0
  232. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/protocol/set.js +0 -0
  233. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/scope/help.js +0 -0
  234. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/scope/help.txt +0 -0
  235. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/scope/link-local.js +0 -0
  236. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/scope/list.js +0 -0
  237. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/scope/remove.js +0 -0
  238. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/scope/rm.js +0 -0
  239. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/scope/set.js +0 -0
  240. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/scope/unset.js +0 -0
  241. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/scope/use.js +0 -0
  242. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cmd/view/add.js +0 -0
  243. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/collection/README.md +0 -0
  244. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/collection/build.json +0 -0
  245. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/collection/package.json +1 -1
  246. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/collection/src/main.js +0 -0
  247. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/config.js +2 -1
  248. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cron/README.md +0 -0
  249. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cron/package.json +1 -1
  250. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/cron/src/main.js +0 -0
  251. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/generator/index.js +1 -1
  252. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/index.js +1 -1
  253. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158/lib/inherits}/LICENSE +1 -1
  254. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/inherits/README.md +0 -0
  255. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  256. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/inherits/example/protected_inheritance.js +0 -0
  257. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/inherits/example/simple_inheritance.js +0 -0
  258. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  259. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/inherits/package.json +1 -1
  260. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/inherits/src/main.js +1 -1
  261. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/logger/README.md +0 -0
  262. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/logger/package.json +1 -1
  263. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/logger/src/containers/default/index.js +0 -0
  264. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/logger/src/containers/file/index.js +0 -0
  265. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  266. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  267. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/logger/src/containers/mq/index.js +0 -0
  268. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/logger/src/containers/mq/listener.js +0 -0
  269. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/logger/src/containers/mq/speaker.js +0 -0
  270. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/logger/src/helper.js +1 -1
  271. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/logger/src/main.js +1 -1
  272. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/math/index.js +7 -7
  273. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/merge/README.md +0 -0
  274. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/merge/example/merge.js +0 -0
  275. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/merge/example/merge_2_literal objects.js +0 -0
  276. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/merge/example/merge_and_preserve_first.js +0 -0
  277. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/merge/package.json +1 -1
  278. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/merge/src/main.js +0 -0
  279. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/model.js +9 -9
  280. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/proc.js +7 -3
  281. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/routing/README.md +0 -0
  282. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/routing/build.json +0 -0
  283. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/routing/package.json +1 -1
  284. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/routing/src/main.js +258 -258
  285. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/session-store.js +6 -6
  286. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/shell.js +0 -0
  287. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/swig-filters/README.md +0 -0
  288. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/swig-filters/package.json +1 -1
  289. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/swig-filters/src/main.js +1 -1
  290. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/url/README.md +0 -0
  291. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/url/index.js +0 -0
  292. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/url/mocks.json +0 -0
  293. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/url/routing.json +0 -0
  294. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/url/test.js +0 -0
  295. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/lib/validator.js +0 -0
  296. package/framework/{v0.1.1-alpha.156 → v0.1.1-alpha.158}/package.json +0 -0
  297. package/package.json +6 -6
  298. package/resources/home/main.json +11 -0
  299. package/resources/home/settings.json +1 -0
  300. package/resources/package.json.template +1 -1
  301. package/script/post_install.js +1 -1
  302. package/script/post_publish.js +1 -1
  303. package/script/pre_install.js +1 -1
  304. package/script/prepare_version.js +1 -1
  305. package/utils/helper.js +0 -141
  306. package/framework/v0.1.1-alpha.156/VERSION +0 -1
  307. package/framework/v0.1.1-alpha.156/core/asset/plugin/dist/gina.min.js.map +0 -8
  308. package/framework/v0.1.1-alpha.156/lib/cmd/bundle/start.js +0 -420
@@ -0,0 +1,637 @@
1
+ const fs = require('fs');
2
+ const { debug } = require('console');
3
+ const { EventEmitter } = require('events');
4
+ const { spawn } = require('child_process');
5
+ const { execSync } = require('child_process');
6
+ const util = require('util');
7
+ const promisify = require('util').promisify;
8
+
9
+ var CmdHelper = require('./../helper');
10
+ // `lib` is previously defiened as this file is required by anoth
11
+ var console = lib.logger;
12
+
13
+ // function resolveAfter2Seconds(opt) {
14
+
15
+ // var e = new EventEmitter();
16
+ // var trigger = 'internal_start#node-modules-installed';
17
+
18
+ // var nIntervId = null;
19
+ // var i = 0;
20
+
21
+ // var play = function(opt) {
22
+ // var done = function(nIntervId, resolve) {
23
+ // clearInterval(nIntervId);
24
+ // nIntervId = null;
25
+ // opt.client.write('\n['+ i +'] Done ...');
26
+ // e.emit(trigger, 'resolved');
27
+ // }
28
+
29
+ // nIntervId = setInterval(() => {
30
+ // i++;
31
+
32
+ // // TODO - check for file availability
33
+ // if ( i > 2 ) {
34
+ // clearInterval(nIntervId);
35
+ // return done()
36
+ // }
37
+
38
+ // opt.client.write('\n['+ i +'] Please wait ...');
39
+ // opt.client.write('\n['+ nIntervId +']');
40
+
41
+ // }, 500);
42
+ // }
43
+
44
+ // return function onDone(opt) {
45
+ // e.once(trigger, function onComplete(result) {
46
+ // opt.client.write('\n['+ i +'] Man !!!');
47
+ // return result
48
+ // });
49
+
50
+ // play(opt)
51
+ // }(opt)
52
+
53
+ // }
54
+
55
+ /**
56
+ * Start a given bundle or start all bundles at once
57
+ *
58
+ *
59
+ * e.g.
60
+ * gina bundle:start <bundle_name> @<project_name>
61
+ *
62
+ * // start all bundles within the project
63
+ * gina bundle:start @<project_name>
64
+ * or
65
+ * gina bundle:start @<project_name> --max-old-space-size=4096 --inspect=5858
66
+ *
67
+ *
68
+ * If you want to inspect/debug here, you first need to restart gina with `--inspect-gina`
69
+ * gina start --inspect-gina
70
+ * then
71
+ * gina bundle:start <bundle_name> @<project_name> --max-old-space-size=4096 --inspect=5858
72
+ *
73
+ * */
74
+ function Start(opt, cmd) {
75
+ var self = {};
76
+
77
+
78
+ var init = function(opt, cmd) {
79
+
80
+ // import CMD helpers
81
+ new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
82
+
83
+ // check CMD configuration
84
+ if (!isCmdConfigured()) return false;
85
+
86
+
87
+ // start all bundles
88
+ opt.onlineCount = 0;
89
+ opt.notStarted = [];
90
+
91
+ if (!self.name) {
92
+ start(opt, cmd, 0);
93
+ } else {
94
+ start(opt, cmd);
95
+ }
96
+ }
97
+
98
+ var checkArchAgainstNodeModules = function(opt, cb) {
99
+
100
+ var currentArch = GINA_ARCH
101
+ , projectObj = self.projects[ self.projectName ]
102
+ , packagePathObj = new _(projectObj.path +'/package.json', true)
103
+ , packagePath = packagePathObj.toString()
104
+ ;
105
+
106
+ if ( !packagePathObj.existsSync() ) {
107
+ console.warn('[checkArchAgainstNodeModules] File`'+packagePath +'` not found');
108
+ return cb(false);
109
+ }
110
+
111
+
112
+ var isNodeModulesReinstallNeeded = false;
113
+ var nodeModulesPathObj = new _(projectObj.path +'/node_modules', true);
114
+
115
+ var projectArchFileObj = new _(projectObj.path +'/.gna/arch', true);
116
+ var projectArchFile = projectArchFileObj.toString();
117
+ var nodeModulesContentArr = ( nodeModulesPathObj.existsSync() ) ? fs.readdirSync(nodeModulesPathObj.toString()) : [];
118
+ var newNodeModulesContentArr = [], n = 0;
119
+ for (let f in nodeModulesContentArr) {
120
+ if (/^\./.test(nodeModulesContentArr[f]) ) {
121
+ continue
122
+ }
123
+ newNodeModulesContentArr[n] = nodeModulesContentArr[f];
124
+ }
125
+ nodeModulesContentArr = newNodeModulesContentArr.slice();
126
+ newNodeModulesContentArr = null;
127
+
128
+ var pack = requireJSON(packagePath);
129
+
130
+ if (
131
+ !projectArchFileObj.existsSync()
132
+ ||
133
+ projectArchFileObj.existsSync() && fs.readFileSync(projectArchFile).toString() != currentArch
134
+ ||
135
+ !nodeModulesPathObj.existsSync()
136
+ ||
137
+ nodeModulesPathObj.existsSync()
138
+ && !nodeModulesContentArr.length
139
+ ||
140
+ nodeModulesPathObj.existsSync()
141
+ && nodeModulesContentArr.length == 1
142
+ && nodeModulesContentArr[0] == 'gina'
143
+ && typeof(pack.dependencies) != 'undefined'
144
+ && pack.dependencies.count() > 0
145
+ ) {
146
+ isNodeModulesReinstallNeeded = true;
147
+ }
148
+
149
+ opt.client.write('\narch: '+ currentArch);
150
+ opt.client.write('\nprojectArchFile: '+ projectArchFile);
151
+ opt.client.write('\nisNodeModulesReinstallNeeded: '+ isNodeModulesReinstallNeeded);
152
+
153
+ // TODO - Do we want this for production ?
154
+ if (isNodeModulesReinstallNeeded) {
155
+ // remove node_modules
156
+ if ( nodeModulesPathObj.existsSync() ) {
157
+ nodeModulesPathObj.rmSync();
158
+ }
159
+ }
160
+
161
+ // reinstall node_modules if needed
162
+ if ( isNodeModulesReinstallNeeded ) {
163
+ var initialDir = process.cwd();
164
+ var npmCmd = ( isWin32() ) ? 'npm.cmd install' : 'npm install';
165
+ process.chdir( _(projectObj.path, true) );
166
+
167
+ opt.client.write('\nRe-installing node_modules to match arch');
168
+ opt.client.write('\nrunning: `'+ npmCmd +'` from '+ process.cwd() );
169
+ opt.client.write('\nrunning using TMPDIR: '+ _(getTmpDir(), true) );
170
+ var oldConfigGlobal = process.env.npm_config_global;
171
+ process.env.npm_config_global = false;
172
+ var result = null; resultError = false;
173
+ try {
174
+ result = execSync(npmCmd).toString();
175
+ var ginaBin = execSync('which gina').toString().trim();
176
+ execSync(ginaBin +' framework:link @'+ self.projectName);
177
+ } catch (err) {
178
+ resultError = err;
179
+ }
180
+
181
+ process.chdir(initialDir);
182
+ process.env.npm_config_global = oldConfigGlobal;
183
+
184
+ if (resultError) {
185
+ opt.msg = resultError.stack || resultError.message || resultError;
186
+ return cb(resultError);
187
+ // return end(opt, cmd)
188
+ }
189
+
190
+ opt.client.write('\n'+result);
191
+ // lib.generator.createFileFromDataSync(GINA_ARCH, projectArchFile);
192
+
193
+ opt.client.write('\r\nPlease wait...');
194
+
195
+ // handle node_modules installed
196
+ var e = new EventEmitter();
197
+ var trigger = self.projectName +'_'+ self.name +'#node-modules-installed';
198
+ var nIntervId = null;
199
+
200
+ e.once(trigger, function onBundleStarted(done) {
201
+ clearInterval(nIntervId);
202
+ nIntervId = null;
203
+
204
+ opt.client.write('\nOk, I am ready :)');
205
+ lib.generator.createFileFromDataSync(GINA_ARCH, projectArchFile);
206
+ setTimeout(() => {
207
+ done(false)
208
+ }, 1000);
209
+
210
+ });
211
+
212
+ var nodeModulesPath = nodeModulesPathObj.toString();
213
+ var found = false;
214
+ nIntervId = setInterval(() => {
215
+ // Check for modules availability
216
+ found = new _(nodeModulesPath +'/gina', true).existsSync();
217
+
218
+ if ( found ) {
219
+ clearInterval(nIntervId);
220
+ e.emit(trigger, cb)
221
+ }
222
+ }, 200);
223
+
224
+ return;
225
+
226
+ }
227
+
228
+ cb(false);
229
+ }
230
+
231
+
232
+
233
+ var start = function(opt, cmd, bundleIndex) {
234
+
235
+ // getting the debug port
236
+ var debugStr = null;
237
+ if ( /\-\-(inspect|debug)/.test(opt.argv.join(',')) ) {
238
+ var pArr = null;
239
+ for (let i = 0, len = opt.argv.length; i<len; i++) {
240
+ if ( /\-\-(inspect|debug)/.test(opt.argv[i]) ) {
241
+ pArr = opt.argv[i].replace(/\s+/g, '').split(/=/);
242
+ opt.debugBrkEnabled = /\-brk/.test(pArr[0]);
243
+ opt.debugPort = pArr[1];
244
+ debugStr = opt.argv[i];
245
+ break;
246
+ }
247
+ }
248
+ }
249
+
250
+
251
+ var isBulkStart = (typeof(bundleIndex) != 'undefined') ? true : false;
252
+
253
+ var bundle = (isBulkStart) ? self.bundles[bundleIndex] : self.name;
254
+ // console.debug('bundle -> ', bundle);
255
+ var env = ( typeof(self.bundlesByProject[self.projectName][bundle].def_env) != 'undefined') ? self.bundlesByProject[self.projectName][bundle].def_env : self.defaultEnv;
256
+ // console.debug('env -> ', env);
257
+ var protocol = self.bundlesByProject[self.projectName][bundle].def_protocol;
258
+ // console.debug('protocol -> ', protocol);
259
+ var scheme = self.bundlesByProject[self.projectName][bundle].def_scheme;
260
+ // console.debug('scheme -> ', scheme);
261
+ var bundlePort = self.portsReverseData[bundle + '@' + self.projectName][env][protocol][scheme];
262
+ // console.debug('port -> ', bundlePort);
263
+
264
+ var msg = null;
265
+ if ( !isBulkStart && !isDefined('bundle', bundle) ) {
266
+ msg = 'Bundle [ '+ bundle +' ] is not registered inside `@'+ self.projectName +'`';
267
+ console.error(msg);
268
+ // opt.client.write(msg);
269
+ // // CMD exit
270
+ // opt.client.emit('end');
271
+
272
+ opt.msg = msg;
273
+ return end(opt, cmd, isBulkStart, bundleIndex, true)
274
+ }
275
+
276
+ var isStarting = false
277
+ , params = null
278
+ , index = null
279
+ , i = null
280
+ , len = null
281
+ ;
282
+
283
+ isRealApp(bundle, function(err, appPath){
284
+ if (err) {
285
+ console.error(err.stack||err.message)
286
+ } else {
287
+ if (isStarting)
288
+ return;
289
+
290
+
291
+ var proceedToStart = function(nodeModulesErr) {
292
+ if (nodeModulesErr) {
293
+ opt.msg = nodeModulesErr.stack;
294
+ return end(opt, cmd, isBulkStart, bundleIndex, true)
295
+ }
296
+
297
+
298
+ msg = 'Trying to start bundle [ ' + bundle + '@' + self.projectName + ' ]';
299
+ if (opt.debugPort) {
300
+ msg += ' (debug port: '+ opt.debugPort +')'
301
+ }
302
+ // To gina log
303
+ console.info(msg);
304
+ // to the terminal stdout
305
+ opt.client.write('\n\r'+msg);
306
+
307
+
308
+
309
+ process.list = (process.list == undefined) ? [] : process.list;
310
+ setContext('processList', process.list);
311
+ setContext('ginaProcess', process.pid);
312
+ setContext('debugPort', opt.debugPort);
313
+ setContext('debugBrkEnabled', opt.debugBrkEnabled);
314
+
315
+ params = [
316
+ // node arguments will be passed by gina
317
+ appPath,
318
+ JSON.stringify(getContext()), //Passing context to child.
319
+ self.projectName, // project name
320
+ bundle// bundle name
321
+ ];
322
+
323
+ // injecting node arguments
324
+ index = 0; i = 0; len = self.nodeParams.length;
325
+ if (len > 0) {
326
+ for (; i < len; ++i) {
327
+ params.splice(index, 0, self.nodeParams[i]);
328
+ ++index
329
+ }
330
+ }
331
+
332
+ i = 0; len = params.length;
333
+ for (; i < len; ++i) {
334
+ if (params[i] == '') {
335
+ params.splice(i, 1);
336
+ }
337
+ }
338
+
339
+
340
+ var child = spawn(opt.argv[0], params,
341
+ {
342
+ detached: true
343
+ }
344
+ );
345
+
346
+ child.stdout.setEncoding('utf8');//Set encoding.
347
+
348
+ // CMD Auto Exit
349
+ var retry = 0, maxRetry = 15, maxTimeout = (self.debugBrkEnabled) ? 1200000 : 4000;
350
+ var timerId = setInterval(function() {
351
+ if (!isStarting ) {
352
+ ++retry;
353
+ //opt.client.write('what is wrong ? '+ retry);
354
+ } else {
355
+ clearInterval(timerId);
356
+ }
357
+
358
+ if (retry > maxRetry) {
359
+ clearInterval(timerId);
360
+ opt.client.write('Sorry my friend, this is taking too long ! Terminating. Check your logs.');
361
+ child.kill('SIGKILL');
362
+ if (!opt.client.destroyed) {
363
+ opt.client.emit('exit');
364
+ opt.client.emit('end');
365
+ }
366
+
367
+
368
+ //end(opt, cmd, isBulkStart, bundleIndex);
369
+ }
370
+ }, maxTimeout);
371
+
372
+ var checkCaseCount = 2
373
+ // The 2 flags we need to free the child.stdout if we do not want the command to wait for a timeout
374
+ // NB.: you can place flag by using console.notice
375
+ , checkCaseRe = new RegExp('('+bundle + '@' + self.projectName + ' mounted !|Bundle started !)', 'g')
376
+ , url = null
377
+ , debuggerOn = null
378
+ ;
379
+ var port = '', errorFound = false;
380
+ child.stdout.on('data', function(data) {
381
+ // console.log(data);
382
+
383
+ // handle errors
384
+ if ( /EADDRINUSE.*port/i.test(data) && !errorFound ) {
385
+ console.log(data);
386
+ // kill the bundle starting process first
387
+ child.kill('SIGKILL');
388
+
389
+ errorFound = true;
390
+ //opt.client.write(data);
391
+ try {
392
+ port = ' #'+ data.match(/port\":\s+\d+/)[0].split(/\:/)[1].trim() +' ';
393
+ opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] has already been started, or port'+ port+'might be busy');
394
+
395
+ } catch(_err) {
396
+ opt.client.write(_err);
397
+ }
398
+
399
+
400
+ ++opt.onlineCount;
401
+ end(opt, cmd, isBulkStart, bundleIndex);
402
+ clearInterval(timerId);
403
+
404
+ return;
405
+ }
406
+
407
+ // catch fatal errors to exit
408
+ if ( /(\[|\[\s+)emerg/.test(data) ) {
409
+ console.log(data);
410
+
411
+ // kill the bundle starting process first
412
+ child.kill('SIGKILL');
413
+
414
+ opt.notStarted.push(bundle + '@' + self.projectName);
415
+ opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] aborted :( \n => Check your logs to see why.');
416
+
417
+ ++opt.onlineCount;
418
+ end(opt, cmd, isBulkStart, bundleIndex);
419
+ clearInterval(timerId);
420
+
421
+ return;
422
+ }
423
+
424
+ // Expecting 2 flags (checkCaseCount) to free the child stdout !!
425
+ // console.debug('BO case count '+ checkCaseCount);
426
+ var _matched = data.match(checkCaseRe);
427
+ if ( _matched ) {
428
+ // console.warn('case count: '+ checkCaseCount +'\nMatched: '+ _matched.length + '\n'+ checkCaseRe +'\n-> '+ data + '<-\n');
429
+ checkCaseCount -= _matched.length;
430
+ }
431
+ // console.debug('EO case count: '+ checkCaseCount + ' -> '+ data);
432
+
433
+ // cache bundle state info given by the server while starting
434
+ if ( !debuggerOn && new RegExp('Debugger listening on','gmi').test(data)) {
435
+ debuggerOn = '\n ' + data.match(new RegExp('Debugger listening on .*','gmi'));
436
+ }
437
+ if ( !url && new RegExp('This way please','gmi').test(data)) {
438
+ url = '\n ' + data.match(new RegExp('This way please -> .*','gmi'));
439
+ }
440
+
441
+
442
+
443
+ if (!opt.client.destroyed && !isStarting && !checkCaseCount) {
444
+ isStarting = true;
445
+ clearInterval(timerId);
446
+ ++opt.onlineCount;
447
+
448
+ if (!debuggerOn) {
449
+ debuggerOn = ''
450
+ }
451
+
452
+ // resume logging
453
+ process.emit('gina#bundle-logging', GINA_MQ_PORT, GINA_HOST_V4, bundle + '@' + self.projectName);
454
+ console.debug('Sent: gina#bundle-logging');
455
+
456
+
457
+ opt.client.write(' [ ' + bundle + '@' + self.projectName + ' ] started V(-.o)V'+ url + debuggerOn);
458
+
459
+
460
+ end(opt, cmd, isBulkStart, bundleIndex);
461
+ return;
462
+ }
463
+
464
+ return;
465
+
466
+ });
467
+
468
+ //when an exception is thrown, it is sent to the client
469
+ child.stderr.setEncoding('utf8');
470
+ var error = null, onException = false;
471
+ child.stderr.on('data', function(err) {
472
+ error = err.toString();
473
+
474
+ if (/Waiting for the debugger to disconnect.../.test(error) ) { // dual debug --inspect-gina && --inspect
475
+ onException = true;
476
+ }
477
+
478
+ if (/Debugger listening|Debugger attached|Warning|address already in use/i.test(error)) {
479
+
480
+ if (!opt.client.destroyed) {
481
+ opt.client.write(error);
482
+ }
483
+ }
484
+
485
+ console.error(error);
486
+ });
487
+
488
+ child.on('exit', function(code, signal) {
489
+ // handles only signals that cannot be cannot be caught or ignored
490
+ // ref.: `framework/<version>/lib/proc.js`
491
+ if (onException) { // dual debug --inspect-gina && --inspect
492
+ return end(opt, cmd, isBulkStart, bundleIndex);
493
+ }
494
+ if (/(SIGKILL|SIGSTOP)/i.test(signal)) {
495
+ console.emerg('[' + this.pid + '] `'+ self.name +'@'+ self.projectName +'` exiting with signal: ', signal);
496
+ cmd.proc.dismiss(this.pid, signal);
497
+ return;
498
+ }
499
+
500
+ });
501
+
502
+ } // EO proceedToStart
503
+
504
+ checkArchAgainstNodeModules(opt, proceedToStart);
505
+
506
+ } // EO Else
507
+
508
+ });//EO isRealApp
509
+
510
+ } //EO start
511
+
512
+
513
+
514
+
515
+ var end = function (opt, cmd, isBulkStart, i, error) {
516
+ if ( typeof(opt.msg) != 'undefined' ) {
517
+ opt.client.write('\n\r'+ opt.msg);
518
+ }
519
+
520
+ isBulkStart = ( typeof(isBulkStart) == 'undefined' ) ? false : isBulkStart;
521
+ if (isBulkStart) {
522
+ ++i;
523
+ if ( typeof(self.bundles[i]) != 'undefined' ) {
524
+ start(opt, cmd, i)
525
+ } else {
526
+ opt.client.write('\n\r[ Online ] '+ opt.onlineCount +'/'+ self.bundles.length);
527
+ var notStartedMsg = '\nCould not start: \n - '+ opt.notStarted.join('\n');
528
+ opt.client.write(notStartedMsg);
529
+
530
+ // TODO - 2023-01-08 Remove this if not needed
531
+ // if ( typeof(error) != 'undefined' && !new RegExp('gina-v').test(process.title) ) { // will also stop the framework !!!
532
+ // process.exit(1);
533
+ // }
534
+
535
+ if (!opt.client.destroyed)
536
+ opt.client.emit('end');
537
+ }
538
+ return;
539
+ }
540
+
541
+ // TODO - 2023-01-08 Remove this if not needed
542
+ // if ( typeof(error) != 'undefined' && !new RegExp('gina-v').test(process.title) ) { // will also stop the framework !!!
543
+ // process.exit(1);
544
+ // }
545
+
546
+ if (!opt.client.destroyed)
547
+ opt.client.emit('end');
548
+ // Force exit in case process is stuck
549
+ setTimeout(() => {
550
+ if (!opt.client.destroyed) {
551
+ opt.client.emit('exit');
552
+ }
553
+ }, 150);
554
+ }
555
+
556
+
557
+
558
+ var isRealApp = function(bundle, callback) {
559
+ var p = null
560
+ , d = null
561
+ , env = self.projects[self.projectName]['def_env']
562
+ , isDev = ( self.projects[self.projectName]['dev_env'] == env ) ? true : false
563
+ , root = self.projectLocation
564
+ , bundleDir = null
565
+ , bundlesPath = null
566
+ , bundleInit = null
567
+ ;
568
+
569
+ try {
570
+ //This is mostly for dev.
571
+ var pkg = requireJSON( _(root+ '/manifest.json', true) ).bundles;
572
+ if ( typeof(pkg[bundle].version) == 'undefined' && typeof(pkg[bundle].tag) != 'undefined') {
573
+ pkg[bundle].version = pkg[bundle].tag
574
+ }
575
+
576
+ var path = null, version = null;
577
+ if (
578
+ pkg[bundle] != 'undefined' && pkg[bundle]['src'] != 'undefined' && isDev
579
+ ) {
580
+ path = pkg[bundle].src;
581
+
582
+ p = _( root +'/'+ path );//path.replace('/' + bundle, '')
583
+ d = _( root +'/'+ path + '/index.js' );
584
+
585
+ bundleDir = path.replace('/' + bundle, '');
586
+ setContext('bundle_dir', bundleDir);
587
+ bundlesPath = _( root +'/'+ bundleDir );
588
+ bundleInit = d;
589
+
590
+ } else {
591
+ //Others releases.
592
+ path = 'releases/'+ bundle +'/' + env +'/'+ pkg[bundle].version;
593
+ version = pkg[bundle].version;
594
+ p = _( root +'/'+ path );//path.replace('/' + bundle, '')
595
+ d = _( root +'/'+ path + '/index.js' );
596
+
597
+ bundleDir = path;
598
+ bundlesPath = _(root + '/'+ bundleDir);
599
+ bundleInit = d;
600
+ }
601
+
602
+ } catch (err) {
603
+ // default bundlesPath.
604
+ // TODO - log warn ?
605
+ console.warn(err.stack||err.message);
606
+ bundleDir = 'bundles';
607
+ bundlesPath = _(root +'/'+ bundleDir);
608
+ p = _(root +'/'+ bundleDir +'/'+ bundle);
609
+ d = _(root + '/'+ bundleDir +'/'+ bundle + '/index.js');
610
+ bundleInit = d;
611
+ }
612
+
613
+ //Checking root.
614
+ if ( new _(d, true).existsSync() ) {
615
+ //checking bundle directory.
616
+ fs.stat(p, function(err, stats) {
617
+ if (err) {
618
+ callback(err)
619
+ } else {
620
+
621
+ if (stats.isDirectory()) {
622
+ callback(false, d)
623
+ } else {
624
+ callback(new Error('[ ' + d + ' ] is not a directory'))
625
+ }
626
+ }
627
+ })
628
+ }
629
+ else {
630
+ callback(new Error('[ ' + d + ' ] does not exists'))
631
+ }
632
+ }
633
+
634
+
635
+ init(opt, cmd)
636
+ }
637
+ module.exports = Start;