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
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
  var fs = require('fs');
3
+ const {execSync} = require('child_process');
3
4
  var help = require( getPath('gina').root + '/utils/helper');
4
5
  // var child = require('child_process');
5
6
  var lib = require( getPath('gina').lib );
@@ -29,8 +30,8 @@ function Start(opt){
29
30
  //};
30
31
 
31
32
  var init = function(opt){
32
-
33
-
33
+
34
+
34
35
  self.pid = opt.pid;
35
36
  setEnvVar('GINA_PID', opt.pid);
36
37
  self.projects = require(GINA_HOMEDIR + '/projects.json');
@@ -38,10 +39,25 @@ function Start(opt){
38
39
  self.bundles = [];
39
40
 
40
41
  cleanPIDs();
42
+ // restartRunningBunldes();
43
+
41
44
  console.notice('Framework ready for connections\n');
42
45
 
43
46
  };
44
47
 
48
+ // TODO - not working with execSync ... should try with spawn, like or restart
49
+ var restartRunningBunldes = function() {
50
+ var list = fs.readdirSync(_(GINA_RUNDIR, true));
51
+ for (let i=0, len=list.length; i<len; i++ ) {
52
+ let file = list[i];
53
+ if (/^\./.test(file) || !/\.pid$/.test(file) || /^gina\-/.test(file) || /(minion)/.test(file) ) {
54
+ continue;
55
+ }
56
+ // process.stdout.write('\ngina bundle:restart '+ file.replace(/\.pid$/, '').replace(/\@/, ' @') + '\n');
57
+ execSync('gina bundle:restart '+ file.replace(/\.pid$/, '').replace(/\@/, ' @'));
58
+ }
59
+ }
60
+
45
61
  var cleanPIDs = function() {
46
62
  var f = 0
47
63
  , path = _(GINA_RUNDIR)
@@ -54,22 +70,17 @@ function Start(opt){
54
70
  files = fs.readdirSync( path );
55
71
 
56
72
  } catch (err) {
57
-
58
- //if (err.stack)
59
- // err.stack = 'Possible write privilege exception: grant access to your user or run the command as sudo/admin\n'+ err.stack;
60
-
61
- console.crit(err.stack||err.message);
62
- process.exit(1);
73
+ return end(err, 'crit')
63
74
  }
64
75
 
65
76
 
66
77
  for (;f < files.length; ++f) {
67
-
78
+
68
79
  // skip all but framework pid files
69
80
  if ( files[f] != process.title +'.pid' ) {
70
81
  continue;
71
82
  }
72
-
83
+
73
84
  let filePid = null;
74
85
  try {
75
86
  filePid = fs.readFileSync(_(path +'/'+ files[f], true)).toString().trim();
@@ -82,14 +93,26 @@ function Start(opt){
82
93
  try {
83
94
  new _(path +'/'+ files[f]).rmSync()
84
95
  } catch(err) {
85
- console.error(err.stack||err.message);
86
- process.exit(1);
96
+ return end(err)
87
97
  }
88
98
  }
89
99
  }
90
100
  }
91
101
  }
92
102
 
103
+ var end = function (err, type, messageOnly) {
104
+ if ( typeof(err) != 'undefined') {
105
+ var out = ( typeof(messageOnly) != 'undefined' && /^true$/i.test(messageOnly) ) ? err.message : (err.stack||err.message);
106
+ if ( typeof(type) != 'undefined' ) {
107
+ console[type](out)
108
+ } else {
109
+ console.error(out);
110
+ }
111
+ }
112
+
113
+ process.exit( err ? 1:0 )
114
+ }
115
+
93
116
  init(opt)
94
117
  }
95
118
 
@@ -0,0 +1,123 @@
1
+ var fs = require('fs');
2
+ const {spawn} = require('child_process');
3
+ const {execSync} = require('child_process');
4
+ //const { debug } = require('console');
5
+
6
+ var CmdHelper = require('./../helper');
7
+ var console = lib.logger;
8
+ /**
9
+ * Framework status
10
+ *
11
+ * e.g.
12
+ * gina framework:status
13
+ * or
14
+ * gina status
15
+ *
16
+ * */
17
+ function Status(opt, cmd) {
18
+ var self = {};
19
+
20
+
21
+ var init = function(opt, cmd) {
22
+
23
+ console.debug('Getting framework status');
24
+
25
+ // import CMD helpers
26
+ new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
27
+
28
+ status(opt, cmd);
29
+ }
30
+
31
+ var checkUnregistered = function(pidFiles) {
32
+ // Those not in file
33
+ var list = execSync("ps -ef | grep -v grep | grep 'gina-v' | awk '{print $2\" \"$8\" \"$9}'").toString().replace(/\n$/, '').split(/\n/g);
34
+
35
+
36
+ if (!list.length || list[0] == "") {
37
+ return;
38
+ }
39
+
40
+ // console.debug('pids list ', list);
41
+ for (let p=0, len=list.length; p<len; p++) {
42
+ if ( !/^\d+\s+gina\-/.test(list[p]) ) {
43
+ continue;
44
+ }
45
+
46
+ let pidArr = list[p].split(/\s/);
47
+ let pid = pidArr[0];
48
+ let title = pidArr[1];
49
+ let isZombie = ( typeof(pidArr[2]) != 'undefined' && /defunct/.test(pidArr[2]) ) ? true : false;
50
+
51
+ // remove defunct process
52
+ if (isZombie) {
53
+ execSync("kill -9 "+ pid);
54
+ continue;
55
+ }
56
+
57
+ let file = title +'.pid';
58
+ if ( pidFiles.indexOf( file ) < 0) {
59
+ fs.writeFileSync( _(GINA_RUNDIR +'/'+ file, true), pid );
60
+ pidFiles.push(title +'.pid');
61
+ }
62
+ }
63
+
64
+ }
65
+
66
+ var status = function(opt, cmd) {
67
+ var pidFiles = null;
68
+ try {
69
+ pidFiles = fs.readdirSync(GINA_RUNDIR);
70
+ } catch (fileError) {
71
+ throw fileError
72
+ }
73
+ checkUnregistered(pidFiles);
74
+ console.debug('Reading `'+ GINA_RUNDIR +'` ',pidFiles);
75
+
76
+ var runningVersions = [], runningLog = '';
77
+ for (let i=0, len=pidFiles.length; i<len; i++) {
78
+ let file = pidFiles[i];
79
+ if ( !/^gina\-/.test(file) ) {
80
+ continue;
81
+ }
82
+ let pid = fs.readFileSync(_(GINA_RUNDIR +'/'+ file)).toString().trim() || null;
83
+ runningVersions.push({
84
+ title : file.replace(/\.pid$/, ''),
85
+ pid : ~~pid
86
+ });
87
+
88
+ let version = file.replace(/^gina\-/, '').replace(/\.pid$/, '');
89
+ runningLog += '['+ ~~pid+'] Running: '+ version;
90
+ if (version == 'v'+GINA_VERSION ) {
91
+ runningLog += ' (default)'
92
+ }
93
+ runningLog += '\n';
94
+ }
95
+
96
+
97
+ if ( runningVersions.length > 0 ) {
98
+ console.log(runningLog);
99
+ return end()
100
+ }
101
+
102
+ console.log('Gina is not running');
103
+ end();
104
+ }
105
+
106
+ var end = function (err, type, messageOnly) {
107
+ if ( typeof(err) != 'undefined') {
108
+ var out = ( typeof(messageOnly) != 'undefined' && /^true$/i.test(messageOnly) ) ? err.message : (err.stack||err.message);
109
+ if ( typeof(type) != 'undefined' ) {
110
+ console[type](out)
111
+ } else {
112
+ console.error(out);
113
+ }
114
+ }
115
+
116
+ process.exit( err ? 1:0 )
117
+ }
118
+
119
+
120
+ init(opt, cmd)
121
+ }
122
+
123
+ module.exports = Status;
@@ -13,12 +13,12 @@ var console = lib.logger;
13
13
  * or
14
14
  * gina stop
15
15
  * or
16
- * gina stop @1.0.0
16
+ * gina stop @1.0.0
17
17
  *
18
18
  * */
19
19
  function Stop(opt, cmd) {
20
20
  var self = {
21
- // Current version of the framework by default
21
+ // Current version of the framework by default
22
22
  // But can be overriden with argument: @{version_number}
23
23
  // eg.: gina stop @1.0.0
24
24
  version: GINA_VERSION,
@@ -26,21 +26,21 @@ function Stop(opt, cmd) {
26
26
  // This is required if you don't use gina (gina/bin/cli) as a daemon
27
27
  fakeDeamonPid: false
28
28
  };
29
-
30
29
 
31
- var init = function(opt, cmd) {
30
+
31
+ var init = function(opt, cmd) {
32
32
  // import CMD helpers
33
33
  new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
34
-
34
+
35
35
  // check CMD configuration
36
36
  //if (!isCmdConfigured()) return false;
37
-
37
+
38
38
  var err = null;
39
39
  var argv = opt.argv;
40
- for (let i = 0, len = argv.length; i < len; i++) {
40
+ for (let i = 0, len = argv.length; i < len; i++) {
41
41
  // checkcking version number
42
42
  if ( /^\@/.test(argv[i]) ) {
43
- let version = argv[i].replace(/\@/, '');
43
+ let version = argv[i].replace(/\@/, '');
44
44
  let shortVersion = version.split('.').splice(0,2).join('.');
45
45
  if ( !/^\d\.\d/.test(shortVersion) ) {
46
46
  err = new Error('Wrong version: '+ version);
@@ -53,24 +53,24 @@ function Stop(opt, cmd) {
53
53
  console.log(err.message);
54
54
  break;
55
55
  }
56
-
56
+
57
57
  self.version = version;
58
58
  continue;
59
59
  }
60
60
  }
61
-
61
+
62
62
  if ( err ) {
63
63
  return;
64
64
  }
65
65
  console.debug('Stopping framework v'+ self.version);
66
-
66
+
67
67
  // if (!self.name) {
68
68
  // stop(opt, cmd, 0);
69
69
  // } else {
70
70
  stop(opt, cmd);
71
- // }
71
+ // }
72
72
  }
73
-
73
+
74
74
  var stop = function(opt, cmd) {
75
75
  var pidFiles = null, err = null;
76
76
  try {
@@ -78,23 +78,25 @@ function Stop(opt, cmd) {
78
78
  } catch (fileError) {
79
79
  throw fileError
80
80
  }
81
-
81
+
82
82
  var runningVersions = [];
83
83
  for (let i=0, len=pidFiles.length; i<len; i++) {
84
84
  let file = pidFiles[i];
85
85
  if ( !/^gina\-/.test(file) ) {
86
86
  continue;
87
87
  }
88
- let pid = fs.readFileSync(_(GINA_RUNDIR +'/'+ file)).toString().trim() || null;
88
+ let pid = fs.readFileSync(_(GINA_RUNDIR +'/'+ file, true)).toString().trim() || null;
89
+ new _(GINA_RUNDIR +'/'+ file, true).rmSync();
90
+
89
91
  runningVersions.push({
90
92
  title : file.replace(/\.pid$/, ''),
91
93
  pid : ~~pid
92
94
  });
93
95
  }
94
96
  var pid = null, fakeDaemonPid = null;
95
- if ( runningVersions.length > 0 ) {
97
+ if ( runningVersions.length > 0 && new _(GINA_HOMEDIR +'/procs.json', true).existsSync() ) {
96
98
  // retrieve running pid vs running version
97
- var runningProcs = requireJSON(_(GINA_HOMEDIR +'/procs.json', true));
99
+ var runningProcs = requireJSON(_(GINA_HOMEDIR +'/procs.json', true));
98
100
  for (let name in runningProcs) {
99
101
  if (runningProcs[name].version == self.version) {
100
102
  pid = runningProcs[name].pid;
@@ -112,7 +114,7 @@ function Stop(opt, cmd) {
112
114
  } catch (fakeDaemonErr) {
113
115
  // this only means that it does not exists or has already been killed
114
116
  }
115
-
117
+
116
118
  }
117
119
  if (pid) {
118
120
  for (let i=0, len=runningVersions.length; i<len; i++) {
@@ -122,12 +124,12 @@ function Stop(opt, cmd) {
122
124
  break;
123
125
  }
124
126
  }
125
-
127
+
126
128
  console.log('Gina v'+ self.version + ' has been stopped');
127
129
  return
128
- }
130
+ }
129
131
  }
130
-
132
+
131
133
  // Double check in case of a bug ...
132
134
  if ( !isWin32() ) {
133
135
  var out = null;
@@ -138,20 +140,34 @@ function Stop(opt, cmd) {
138
140
  if ( out && typeof(out) == 'string' && out.trim().length > 0) {
139
141
  pid = out.trim();
140
142
  console.debug('Found unlinked process ['+ pid +']\nNow trying to kill it ...');
141
-
142
- process.kill(pid, 'SIGTERM');
143
+
144
+ process.kill(pid, 'SIGKILL');
143
145
  console.log('Gina v'+ self.version + ' has been stopped');
144
- return
146
+ return
145
147
  }
146
148
  } catch(execErr) {
147
149
  // Silence is golden ...
148
150
  throw execErr
149
- }
151
+ }
150
152
  }
151
-
152
- console.log('Gina v'+ self.version + ' is not running');
153
+
154
+ console.log('Gina v'+ self.version + ' is not running');
155
+ end()
153
156
  }
154
-
157
+
158
+ var end = function (err, type, messageOnly) {
159
+ if ( typeof(err) != 'undefined') {
160
+ var out = ( typeof(messageOnly) != 'undefined' && /^true$/i.test(messageOnly) ) ? err.message : (err.stack||err.message);
161
+ if ( typeof(type) != 'undefined' ) {
162
+ console[type](out)
163
+ } else {
164
+ console.error(out);
165
+ }
166
+ }
167
+
168
+ process.exit( err ? 1:0 )
169
+ }
170
+
155
171
 
156
172
  init(opt, cmd)
157
173
  }
@@ -1,7 +1,11 @@
1
1
  var fs = require('fs');
2
+ var os = require("os");
2
3
  var util = require('util');
3
4
  var net = require('net');
4
5
 
6
+ var EventEmitter = require('events').EventEmitter;
7
+ var e = new EventEmitter();
8
+
5
9
  var CmdHelper = require('./../helper');
6
10
  var console = lib.logger;
7
11
  var LoggerHelper = require( _(GINA_FRAMEWORK_DIR + '/lib/logger/src/helper.js', true) );
@@ -18,152 +22,180 @@ var LoggerHelper = require( _(GINA_FRAMEWORK_DIR + '/lib/logger/src/helper.js
18
22
  function Tail(opt, cmd) {
19
23
  var self = {};
20
24
  var nIntervId = null;
21
- var mqPortFile = _(GINA_DIR +'/tmp/mq-listener-v'+ GINA_VERSION +'.port', true);
25
+ var mqPortFile = _(getTmpDir() +'/mq-listener-v'+ GINA_VERSION +'.port', true);
22
26
 
23
27
  var init = function(opt, cmd) {
24
-
28
+
25
29
  console.debug('Getting framework logs');
26
-
30
+
27
31
  // import CMD helpers
28
32
  new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
29
-
33
+
30
34
  // check CMD configuration
31
35
  //if (!isCmdConfigured()) return false;
32
-
36
+
33
37
  // handle server not started yet or server exited
34
38
  process.on('gina#mqlistener-started', function onGinaStarted(mqPort) {
35
39
  clearInterval(nIntervId);
36
40
  nIntervId = null;
37
- opt.port = mqPort;
41
+ opt.mqPort = mqPort;
38
42
  tail(opt, cmd);
39
43
  });
40
-
44
+
45
+ // process.on('gina#container-writting', function onGinaStarted(hostV4, mqPort, type) {
46
+ // console.info('[MQTail] Container resumed writting on `'+ hostV4 +'` on port `'+ mqPort +'` :)');
47
+ // opt.mqPort = mqPort;
48
+ // console.resumeReporting()
49
+ // tail(opt, cmd);
50
+ // });
51
+
52
+
53
+
54
+
41
55
  // if (!self.name) {
42
56
  // status(opt, cmd, 0);
43
57
  // } else {
44
58
  tail(opt, cmd);
45
- // }
59
+ // }
46
60
  }
47
-
48
-
49
- var tail = function(opt, cmd) {
50
-
51
- var port = opt.port || 8125;
61
+
62
+
63
+ var tail = function(opt, cmd, isResuming) {
64
+
65
+ var port = opt.mqPort || GINA_MQ_PORT || 8125;
66
+ var host = opt.hostV4 || GINA_HOST_V4 || '127.0.0.1';
52
67
  var clientOptions = {
68
+ host : host,
53
69
  port : port,
54
- request : 'tail'
70
+ request : 'tail'
55
71
  }
56
72
  var loggerOptions = console.getOptions();
57
73
  var loggers = console.getLoggers();
58
74
  var loggerHelper = LoggerHelper(loggerOptions, loggers);
59
75
  var format = loggerHelper.format;
60
-
76
+
61
77
  var delayedMessages = [];
62
78
  var resumeTail = function() {
63
79
  var i = 0;
64
80
  while (i < delayedMessages.length) {
65
81
  let pl = delayedMessages[i];
66
-
82
+
67
83
  process.stdout.write( format(pl.group, pl.level, pl.content) );
68
84
  i++;
69
85
  }
70
86
  delayedMessages = []
71
87
  }
72
-
73
-
88
+
89
+
90
+
91
+
92
+
74
93
  var client = net.createConnection(clientOptions, () => {
75
-
94
+
95
+ e.emit('gina#mqtail-started', true);
96
+
76
97
  // 'connect' listener.
77
98
  console.resumeReporting();
78
- console.info('[MQTail] connected to server :)');
79
-
99
+ // console.debug('[MQTail] connected with opt `'+ JSON.stringify(opt, null, 2) +'` :)');
100
+ console.info('[MQTail] Connected to server `'+ host +'` on port `'+ port +'` :)');
101
+
80
102
  // send request
81
103
  client.write( JSON.stringify(clientOptions) +'\r\n');
82
-
104
+
83
105
  });
84
106
  client.on('error', (data) => {
85
107
  var err = data.toString();
86
108
  console.error('[MQTail] ' + err + ' - Gina might not be running');
87
- console.info('[MQTail] waitting for `MQListener` to be started ...');
88
-
89
- var mqPort = null;
90
- nIntervId = setInterval(() => {
91
- try {
92
- mqPort = ~~(fs.readFileSync(mqPortFile).toString());
93
- if (mqPort) {
94
- process.emit('gina#mqlistener-started', mqPort);
95
- }
96
- } catch (fileErr) {}
97
- }, 100);
109
+ console.info('[MQTail] Waitting for `MQListener` to be started ...');
110
+
111
+ // var mqPort = null;
112
+ // nIntervId = setInterval(() => {
113
+ // try {
114
+ // mqPort = ~~(fs.readFileSync(mqPortFile).toString());
115
+ // if (mqPort) {
116
+ // process.emit('gina#mqlistener-started', mqPort, host);
117
+ // }
118
+ // } catch (fileErr) {}
119
+ // }, 100);
98
120
  });
99
-
121
+
100
122
  var payloads = null, i = null;
101
123
  client.on('data', (data) => {
102
- //console.log('[MQTail] (data): ' + data.toString());
124
+ // console.log('[MQTail] (data): ' + data.toString());
103
125
  payloads = data.toString();
104
-
126
+
105
127
  // from speakers & tail
106
128
  if ( /^(\{\"|\[\{\")/.test(payloads) ) {
107
129
  payloads = payloads.split(/\r\n/g);
108
130
  //console.log(payloads);
109
- i = -1;
110
- while(i < payloads.length) {
131
+ i = -1;
132
+ while(i < payloads.length) {
111
133
  i++;
112
134
  let payload = payloads[i];
113
- if (
135
+ if (
114
136
  /^\{/.test(payload) && /\}$/.test(payload)
115
- || /^\[\{/.test(payload) && /\}\]$/.test(payload)
137
+ || /^\[\{/.test(payload) && /\}\]$/.test(payload)
116
138
  ) {
117
139
  let pl = null;
118
140
  try {
119
141
  pl = JSON.parse(payload);
120
142
  } catch(plErr) {
121
- process.stdout.write( '[MQTail] (exception) '+ payload +'\n' );
143
+ process.stdout.write( '[MQTail] (Exception) '+ payload +'\n' );
122
144
  continue;
123
- }
124
-
125
-
126
- if (!pl.content) {
145
+ }
146
+
147
+
148
+ if (!pl.content) {
127
149
  // only for debug
128
150
  // process.stdout.write( '[MQTail] (undefined content) '+ JSON.stringify(pl, null) +'\n' );
129
-
151
+
130
152
  // updating logger context since it can run on different processes
131
153
  if ( pl.sessionId && !clientOptions.sessionId ) {
132
154
  clientOptions.sessionId = pl.sessionId;
133
155
  // acknowledging
134
156
  client.write( JSON.stringify(clientOptions) +'\r\n');
135
157
  }
136
-
158
+
137
159
  if (pl.loggers) {
138
160
  loggers = merge(loggers, pl.loggers);
139
161
  if (delayedMessages.length > 0) {
140
162
  resumeTail()
141
163
  }
142
- }
164
+ }
143
165
  continue;
144
166
  }
145
-
167
+
168
+ // resuming logging from another process
169
+ // we do not want to print twice in this case since another logger server is already running
170
+ // if (isResuming) {
171
+ // return
172
+ // }
173
+
146
174
  // only for debug
147
- //process.stdout.write( '[MQTail] '+ pl.content +'\n' );
148
-
149
- try {
175
+ // process.stdout.write( '[MQTail] '+ pl.content +'\n' );
176
+
177
+ try {
150
178
  process.stdout.write( format(pl.group, pl.level, pl.content) );
179
+ if ( /(exiting|Got exit code)(.*)(SIGKILL|SIGTERM|SIGINT)/.test(pl.content) ) {
180
+ client.destroy();
181
+ return end()
182
+ }
151
183
  } catch (writeErr) {
152
184
  // means that the related MQSpeaker is not connected yet
153
185
  // this can happen during `bundle:start` configuration
154
186
  // we'll then delay the output until MQSpeaker is ready
155
187
  delayedMessages.push(pl);
156
188
  }
157
-
158
- }
159
- }
189
+
190
+ }
191
+ }
160
192
  }
161
-
193
+
162
194
  });
163
195
  client.on('end', () => {
164
- console.warn('[MQTail] disconnected from server');
165
- console.info('[MQTail] waitting for `MQListener` to be started ...');
166
- var mqPort = null;
196
+ console.warn('[MQTail] Disconnected from server');
197
+ console.info('[MQTail] Waitting for `MQListener` to be started ...');
198
+ var mqPort = null;
167
199
  nIntervId = setInterval(() => {
168
200
  try {
169
201
  mqPort = ~~(fs.readFileSync(mqPortFile).toString());
@@ -175,9 +207,22 @@ function Tail(opt, cmd) {
175
207
  });
176
208
  // setInterval(() => {}, 1 << 30);
177
209
  }
178
-
179
210
 
180
- init(opt, cmd);
211
+ var end = function (err, type, messageOnly) {
212
+ if ( typeof(err) != 'undefined') {
213
+ var out = ( typeof(messageOnly) != 'undefined' && /^true$/i.test(messageOnly) ) ? err.message : (err.stack||err.message);
214
+ if ( typeof(type) != 'undefined' ) {
215
+ console[type](out)
216
+ } else {
217
+ console.error(out);
218
+ }
219
+ }
220
+
221
+ process.kill(process.pid, 'SIGINT')
222
+ }
223
+
224
+
225
+ init(opt, cmd);
181
226
  }
182
227
 
183
228
  module.exports = Tail;