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
package/AUTHORS CHANGED
@@ -2,5 +2,6 @@
2
2
  # project in one way or another.
3
3
  #
4
4
 
5
- Martin Luther ETOUMAN <m.etouman@rhinostone.com>
5
+ Martin Luther ETOUMAN <martin-luther.etouman@gina.io>
6
+ Fabrice Delaneau <fabrice.delaneau@gina.io>
6
7
  Stephane HEAV <stephane.heav@gmail.com>
package/README.md CHANGED
@@ -23,18 +23,81 @@ Note that Gina does not rely on Connect or ExpressJS, still, you can use all plu
23
23
  ### Installing Gina
24
24
  Gina aims to be at the same time a framework, a deployment and monitoring environment for your projects. So, to fully enjoy Gina, we recommend that you install it with the `-g` option.
25
25
  > For Microsoft Windows, you might have to run the command line with Administrator privileges.
26
+ > For Linux & Mac OS X, __the use of `sudo` is discouraged.__
27
+
28
+ #### 1st method (prefered) - Custom PREFIX
29
+
30
+ This will install Gina in the user's home directory avoiding at the same time the need to use `sudo` or the `root` user.
31
+ By adding at the end the `--reset` argument, you will ensure a factory reset for the `~/.gina` preferences folder: all preferences will be lost, but your existing projects will not be erased.
32
+
33
+ ```tty
34
+ npm install -g gina@latest --prefix=~/.npm-global
35
+ ```
36
+
37
+ You can now check if Gina is properly installed.
38
+
39
+ ``` tty
40
+ gina version
41
+ ```
42
+ __NB.:__ This is a shortcut for `gina framework:version`
43
+
44
+ #### 2nd method - Classical
26
45
 
27
46
  ``` tty
28
47
  npm install -g gina@latest
29
48
  ```
30
49
 
31
- You can check if Gina is properly installed
50
+ __A few words about this method__
51
+ This method is mainly used if you wish to install gina with the `root` user.
52
+ Gina will try to install itself using the default $NPM_PREFIX (`/usr/local`). If the target is not writable you will get permission errors.
53
+
54
+ __Note that for this method__, if the user is not `root`, you can setup permissions for your user in order to be able to write to : `$NPM_PREFIX/lib/node_modules`.
55
+
56
+ If you don't already have done it, you should start with :
57
+
58
+ ```tty
59
+ sudo chown -R $USER $(npm config get prefix)/lib/node_modules
60
+ ```
61
+
62
+
63
+ > __Important :__ If you choose to use `sudo npm install -g gina`, you will also have to use the `sudo` for specific commands like `npm link gina`.
64
+ > Again, the use of `sudo` is discouraged.
65
+
66
+
67
+
68
+ You can now check if Gina is properly installed.
69
+
32
70
  ``` tty
33
71
  gina version
34
72
  ```
73
+ or
74
+ ``` tty
75
+ sudo gina version
76
+ ```
35
77
  __NB.:__ This is a shortcut for `gina framework:version`
36
78
 
37
79
 
80
+
81
+ #### 3rd method - local to your project
82
+
83
+ If you feel like you do not need to install globally Gina for some reasons like only using the framework for a single project, you can install Gina without the `-g` argument.
84
+ Go to your project's root and tap:
85
+ ```tty
86
+ npm instal gina@latest
87
+ ```
88
+
89
+ __Attention:__ to use gina CLI, you will need to run it from your project location since the CLI was not installed with the global argument `-g`.
90
+
91
+ You can now check if Gina is properly installed.
92
+
93
+ ``` tty
94
+ ./gina version
95
+ ```
96
+ __NB.:__ This is a shortcut for `./gina framework:version`
97
+
98
+
99
+
100
+
38
101
  ### Starting the framework
39
102
  Gina is at the same time a framework and a server.
40
103
  By starting the framework, you will also start the server.
@@ -50,6 +113,11 @@ A project is a collection of bundles (applicaitons or services). See it as a rep
50
113
 
51
114
  Let's create our first project and install Gina.
52
115
 
116
+ ```tty
117
+ cd ~/.Sites
118
+ ```
119
+
120
+
53
121
  ``` tty
54
122
  mkdir myproject && cd myproject
55
123
  ```
@@ -82,7 +150,7 @@ Ok ! Let's do it !
82
150
  ``` tty
83
151
  gina bundle:add frontend @myproject
84
152
  ```
85
- __NB.:__ If you are launching the command from the project directory, you don't need `@myproject`. The same goes for all bundles commands.
153
+ __NB.:__ If you are launching the command from the project directory, you don't need to add `@myproject`. The same goes for all bundles commands.
86
154
 
87
155
  We have just created a frontend application that will host our homepage.
88
156
  You will find all bundle sources under `myproject/src`.
@@ -121,7 +189,8 @@ Then restart your bundle
121
189
  gina bundle:restart frontend @myproject
122
190
  ```
123
191
 
124
- Now edit the `home` control in `src/frontend/controllers/controller.js` so that you can have `self.render(...)` instead of `self.renderJSON(...)`
192
+ Now edit the `home` control in `src/frontend/controllers/controller.content.js` so that you can have `self.render(...)` instead of `self.renderJSON(...)`
193
+
125
194
 
126
195
  Once it's done, you just need to refresh your browser.
127
196
 
@@ -137,6 +206,9 @@ Please, note that you have 2 types of environments : one for the framework, and
137
206
  > ```tty
138
207
  > gina framework:set --env=dev
139
208
  > ```
209
+ > ```tty
210
+ > gina framework:set --log-level=debug
211
+ > ```
140
212
 
141
213
  You can check which are the environments set for your projects
142
214
  ```tty
@@ -168,6 +240,7 @@ gina env:use prod @myproject
168
240
  __NB.:__ If you need to change it for a particular bundle, you still can do it at runtime using `--env=<your env>` to override the default settings. This will not set `<your env>`as the default environment for the whole project.
169
241
 
170
242
 
243
+
171
244
  #### Other operations you can apply to your environment:
172
245
  __Adding a new environment for your project__
173
246
  ```tty
@@ -183,8 +256,27 @@ __Defining an existing environment as `development` (you can only have one like
183
256
  gina env:link-dev <your new dev env>
184
257
  ```
185
258
 
186
- ### Getting the logs
187
- You will also get logs related to your running bundles.
259
+ __Benefits from using a `development` environment__
260
+ You will not have to restart your bundle anytime you modify files inside directories like :
261
+ - /controllers
262
+ - /piblic
263
+ - /templates
264
+
265
+ ### Timezone
266
+ > __Attention :__ Thiw will impact the logs output
267
+
268
+ The default timezone is set to `Africa/Douala`.
269
+ You can change it to your local timezone. For example, if you live in London:
270
+ ```tty
271
+ gina set --timezone=Europe/London
272
+ ```
273
+
274
+ ### Logs
275
+
276
+ #### Getting the logs
277
+ You will get logs for the framework and related to your running bundles.
278
+
279
+ __1st Method - The default one__
188
280
  ``` tty
189
281
  gina tail
190
282
  ```
@@ -196,17 +288,21 @@ This means that if you need Gina to handle logs storage, you need a logger conta
196
288
 
197
289
  Note that this is optional since logs are output like for other frameworks: you can catch those while writing your daemon starting script on you production server.
198
290
 
199
- So to handle log storage for your application, you have 2 options.
200
- __1) Old school way__
291
+ So to handle log storage for your application, you have 2 options: see 2nd & 3rd Methods.
292
+
293
+ __2nd Method - Old school way__
294
+
295
+ > __Attention: __ You will have to handle yourself [log rotation](https://linux.die.net/man/8/logrotate)
296
+
201
297
  ```tty
202
- gina bundle:start frontend @myproject > /usr/local/var/log/gina/frontend.myproject.domain.log 2>&1
298
+ gina bundle:start frontend @myproject --log > /usr/local/var/log/gina/frontend.myproject.domain.log 2>&1
203
299
  ```
204
300
  You can now check
205
301
  ```tty
206
302
  tail - f /usr/local/var/log/gina/frontend.myproject.domain.log
207
303
  ```
208
304
 
209
- __2) Create your own container/transport by extending gina default container__
305
+ __3rd Method - Create your own container/transport by extending gina default container__
210
306
 
211
307
 
212
308
  If you still want gina to handle logs storage, you are lucky, we have developped a file container/transport that you just need to enable.
@@ -223,6 +319,24 @@ gina restart
223
319
 
224
320
  __NB.: __For development purposes, using the CLI `gina tail` is still a better option because you will have a better overview of what is really going on for all your application at once & for the framework.
225
321
 
322
+ #### Setting default log level
323
+
324
+ By default Gina is set to `info`. Here is the list of available log level hierarchies.
325
+
326
+ | levels | Included messages |
327
+ |--------|--------|
328
+ | trace | Emergency, Alert, Critical, Error, Warning, Notice, Informational, Debug |
329
+ | debug | Emergency, Alert, Critical, Error, Warning, Notice, Informational, Debug |
330
+ | info | Emergency, Alert, Critical, Error, Warning, Notice, Informational |
331
+ | warn | Emergency, Alert, Critical, Error, Warning, Notice |
332
+ | error | Emergency, Alert, Critical, Error, Notice |
333
+ | fatal | Emergency, Alert, Critical, Notice |
334
+
335
+ If you are at the developpemnt stage of your project, you might want to get all debug messages.
336
+ ```tty
337
+ gina framework:set --log-level=debug
338
+ ```
339
+
226
340
  ## HTTPS, HTTP/2 and certificates
227
341
 
228
342
  ### Installing a certificate
@@ -240,7 +354,7 @@ __E.g:__ The `myproject.domain` folder should be placed into:
240
354
  ### Enable HTTPS scheme
241
355
  > __NB.:__ `certificate` is `required`.
242
356
  > By enabling HTTPS, you will do so for your entire poroject by default, but you can later set one per application.
243
- > And if you want to run your experimental HTTP2 implementation, you will need HTTS scheme.
357
+ > And if you want to run our experimental HTTP2 implementation, you will need HTTPS scheme.
244
358
 
245
359
  Check what is your actual scheme & protocol status
246
360
  ```tty
@@ -282,12 +396,12 @@ Error: unable to get issuer certificate
282
396
  Do not panic, and follow the steps provided in the following section.
283
397
 
284
398
  ### Local scope & certificate consideration
285
- Ignore the following instructions if you can start your application without any certificate errors.
399
+ > __Ignore__ the following instructions __if you can start your application__ without any certificate errors.
286
400
 
287
- This is `important` and you will have to take additional steps to make your certificate fully valid __while developping on your `local/dev host`__.
401
+ This is __important__ and you will have to take additional steps to make your certificate fully valid __while developping on your `local/dev host`__.
288
402
  Since in most cases you will not have the `Root Certificate` included in your certificate, you need to generate a correct certificate including the Root Certificate. __For production, it will not be a problem__ since the Root certificate is provided by the client browser.
289
403
 
290
- Let say that you have downloded your certificates from __[Ssl For Free](https://sslforfree.com)__ which you have then placed under: `~/.gina/certificates/scopes/local/myproject.domain`.
404
+ Let say that you have downloaded your certificates from __[Ssl For Free](https://sslforfree.com)__ which you have then placed under: `~/.gina/certificates/scopes/local/myproject.domain`.
291
405
 
292
406
  __Step 1__
293
407
  Go to the folder
@@ -305,11 +419,11 @@ Output should look like
305
419
  ca_bundle.crt certificate.crt private.key
306
420
  ```
307
421
 
308
-
422
+ Now, copy the content of `certificate.crt`
309
423
  ```tty
310
424
  cat certificate.crt
311
425
  ```
312
- Copy the content of `certificate.crt`
426
+
313
427
 
314
428
  Visit [https://whatsmychaincert.com](https://whatsmychaincert.com)
315
429
  Go to the `Generate the Correct Chain` tool.
@@ -335,7 +449,7 @@ We just need to override Gina default certificate paths
335
449
  ```tty
336
450
  {
337
451
  // "privateKey": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/private.key",
338
- "certificate": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/certificate.chained+root.crt",
452
+ // "certificate": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/certificate.crt",
339
453
  "ca": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/certificate.combined.pem"
340
454
  }
341
455
  ```
@@ -346,9 +460,33 @@ gina bundle:restart @myproject
346
460
  ```
347
461
 
348
462
 
463
+ ### Uninstalling Gina
464
+
465
+ > For Microsoft Windows, you might have to run the command line with Administrator privileges.
466
+
467
+ __Wihtout prefix__
468
+ ``` tty
469
+ npm uninstall -g gina
470
+ ```
471
+
472
+ Or if you have an Error like `EACCESS: permission denied, mkdir '/usr/local/lib/node_modules/gina'`
473
+
474
+ __With prefix - If Gina was installed with a prefix__
475
+ ```tty
476
+ npm uninstall -g gina --prefix=~/.npm-global
477
+ ```
478
+
479
+
480
+
349
481
 
350
482
  ## Troubleshooting
351
483
 
484
+ ### My settings are broken, I need a fresh install with the default settings
485
+ ```tty
486
+ npm install -g gina@latest --reset
487
+ ```
488
+
489
+
352
490
  ### I can't start my bundle
353
491
 
354
492
  __Are you starting for the first time ?__
@@ -356,14 +494,14 @@ __Are you starting for the first time ?__
356
494
  - If you are a __Windows user__, make sure you are running your command line with sufficient permission; like __"launching your terminal as administrator"__.
357
495
 
358
496
 
359
- - If you have just cloned Gina from GitHub, don't forget to run from the project root :
497
+ - If you have just cloned Gina from GitHub, don't forget to run from the framework root :
360
498
 
361
499
  ```tty
362
- node node_modules/gina/script/pre_install.js
500
+ node node_modules/gina/script/pre_install.js -g
363
501
  ```
364
502
 
365
503
  ```tty
366
- node node_modules/gina/script/post_install.js
504
+ node node_modules/gina/script/post_install.js -g
367
505
  ```
368
506
 
369
507
 
package/bin/cli CHANGED
@@ -1,13 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  'use strict';
3
3
 
4
- var fs = require('fs');
5
- var net = require('net');
6
- var util = require('util');
7
- var promisify = util.promisify;
4
+ var fs = require('fs');
5
+ var net = require('net');
6
+ var util = require('util');
7
+ var os = require('os');
8
+ var promisify = util.promisify;
8
9
 
9
10
  async function onExec() {
10
-
11
+
11
12
  // process.stdout.write('GINA CLI LOADED !! ' + JSON.stringify(process.argv, null, 2) + '\n');
12
13
 
13
14
  var isWin32 = (process.platform === 'win32') ? true : false;
@@ -18,13 +19,17 @@ async function onExec() {
18
19
  // loading pack
19
20
  var pack = ginaPath + '/package.json';
20
21
  pack = (isWin32) ? pack.replace(/\//g, '\\') : pack;
21
- var home = getUserHome();// jshint ignore:line
22
+ var home = null;
22
23
  var frameworkPath = null;
23
-
24
+
24
25
  var debugPort = null
25
26
  , debugBrkEnabled = false
26
27
  , isUpdateRequired = false
27
28
  , params = process.argv
29
+ , settings = null
30
+ , hostname = os.hostname() // by default
31
+ , hostV4 = null
32
+ , mqPort = null
28
33
  ;
29
34
  try {
30
35
  var packObj = require(pack);
@@ -33,53 +38,106 @@ async function onExec() {
33
38
  var generator = require(frameworkPath + '/lib/generator');
34
39
 
35
40
  require(frameworkPath + '/lib');
36
- var aliases = require(frameworkPath + '/lib/cmd/aliases.json');
37
-
41
+ // var aliases = require(frameworkPath + '/lib/cmd/aliases.json');
42
+
38
43
  // catching debug|inspect arg
39
- //process.stdout.write('params '+ params.join(', ') + '\n');
44
+ //process.stdout.write('params '+ params.join(', ') + '\n');
40
45
  if ( params.length > 0 ) {
41
46
  for (var p = 0, len = params.length; p < len; ++p) {
42
-
47
+
43
48
  if ( /^\-\-port/.test(params[p]) ) {
44
49
  let port = params[p].split(/\=/)[1];
45
50
  setEnvVar('GINA_PORT', ~~port);// jshint ignore:line
46
- isUpdateRequired = true;
51
+ isUpdateRequired = true;
52
+ continue;
53
+ }
54
+
55
+ if ( /^\-\-mq\-port/.test(params[p]) ) {
56
+ let mqPort = params[p].split(/\=/)[1];
57
+ setEnvVar('GINA_MQ_PORT', ~~mqPort);// jshint ignore:line
58
+ isUpdateRequired = true;
59
+ continue;
60
+ }
61
+
62
+ if ( /^\-\-host\-v4/.test(params[p]) ) {
63
+ let host = params[p].split(/\=/)[1];
64
+ setEnvVar('GINA_HOST_V4', host);// jshint ignore:line
65
+ isUpdateRequired = true;
66
+ continue;
67
+ }
68
+
69
+ if ( /^\-\-hostname/.test(params[p]) ) {
70
+ hostname = params[p].split(/\=/)[1];
71
+ setEnvVar('GINA_HOSTNAME', hostname);// jshint ignore:line
72
+ isUpdateRequired = true;
47
73
  continue;
48
74
  }
49
-
75
+
50
76
  if ( /^\-\-debug(\_|\-)port/.test(params[p]) ) {
51
77
  let port = params[p].split(/\=/)[1];
52
78
  setEnvVar('GINA_DEBUG_PORT', ~~port);// jshint ignore:line
53
- isUpdateRequired = true;
79
+ isUpdateRequired = true;
54
80
  continue;
55
81
  }
56
-
82
+
57
83
  if ( /^\-\-(inspect|debug)/.test(params[p]) ) {
58
84
  debugBrkEnabled = ( /\-brk/.test(params[p]) ) ? true : false;
59
85
  debugPort = params[p].split(/\=/)[1];
60
- params.splice(p,1);
86
+ params.splice(p,1);
61
87
  break;
62
88
  }
63
89
  }
64
90
  }
65
-
91
+
92
+
66
93
 
67
94
  var shortVersion = version.split('.');
68
95
  shortVersion.splice(2);
69
96
  shortVersion = shortVersion.join('.');
70
97
  setEnvVar('GINA_SHORT_VERSION', shortVersion);// jshint ignore:line
71
-
72
-
98
+
99
+ home = getUserHome();// jshint ignore:line
73
100
  if ( typeof(getEnvVar('GINA_HOMEDIR')) == 'undefined') {// jshint ignore:line
74
101
  setEnvVar('GINA_HOMEDIR', home + '/.gina')// jshint ignore:line
75
102
  }
76
103
  home = getEnvVar('GINA_HOMEDIR');// jshint ignore:line
77
-
78
- var settingsPath = _( home +'/'+ shortVersion +'/settings.json', true );// jshint ignore:line
79
- var settings = requireJSON(settingsPath);// jshint ignore:line
80
-
104
+
105
+ settings = { 'log_level': 'info'}; // First time launch or reset
106
+ if ( new _( home +'/'+ shortVersion +'/settings.json', true ).existsSync() ) {// jshint ignore:line
107
+ var settingsPath = _( home +'/'+ shortVersion +'/settings.json', true );// jshint ignore:line
108
+ settings = requireJSON(settingsPath);// jshint ignore:line
109
+ }
110
+
111
+
81
112
  setEnvVar('GINA_LOG_LEVEL', settings['log_level']);// jshint ignore:line
82
113
  setEnvVar('GINA_VERSION', version);// jshint ignore:line
114
+ setEnvVar('GINA_RUNDIR', settings['rundir']);// jshint ignore:line
115
+ setEnvVar('GINA_LOGDIR', settings['logdir']);// jshint ignore:line
116
+ setEnvVar('GINA_TMPDIR', settings['tmpdir']);// jshint ignore:line
117
+ setEnvVar('GINA_ENV', settings['env']);// jshint ignore:line
118
+
119
+ // prior to what settings says
120
+ if (hostname != settings['hostname'] && !isUpdateRequired) {
121
+ setEnvVar('GINA_TMPDIR', settings['hostname']);// jshint ignore:line
122
+ hostname = settings['hostname'];
123
+ }
124
+ hostV4 = getEnvVar('GINA_HOST_V4') || settings['host_v4'] || '127.0.0.1';// jshint ignore:line
125
+ mqPort = getEnvVar('GINA_MQ_PORT')|| settings['mq_port'] || 8125;// jshint ignore:line
126
+
127
+ if (!isUpdateRequired) {
128
+ setEnvVar('GINA_HOST_V4', settings['host_v4']);// jshint ignore:line
129
+ setEnvVar('GINA_MQ_PORT', settings['mq_port']);// jshint ignore:line
130
+ setEnvVar('GINA_HOSTNAME', settings['hostname']);// jshint ignore:line
131
+ }
132
+
133
+ if ( typeof(packObj.config) != 'undefined' ) {
134
+ if (typeof(packObj.config.prefix) != 'undefined' ) {
135
+ setEnvVar('GINA_PREFIX', packObj.config.prefix);// jshint ignore:line
136
+ }
137
+ if ( typeof(packObj.config.globalMode) != 'undefined' ) {
138
+ setEnvVar('GINA_GLOBAL_MODE', packObj.config.globalMode);// jshint ignore:line
139
+ }
140
+ }
83
141
 
84
142
  // Loading logger.
85
143
  console = lib.logger;// jshint ignore:line
@@ -88,16 +146,14 @@ async function onExec() {
88
146
  console.pauseReporting();
89
147
  }
90
148
  console.setLevel(settings['log_level'], 'gina');
91
-
149
+
92
150
  // Loading logger listner vs ~/.gina/user/extensions/logger/mq/config.json & ~/.gina/{shortVersion}/settings.json
93
151
  if ( /(gina\/bin\/cli|gina\/\/bin\/gina)$/.test(process.argv[1]) ) {
94
-
152
+
95
153
  var MQListener = require(frameworkPath + '/lib/logger/src/containers/mq/listener.js');
96
-
97
- var mqPort = 8125;
98
- var mqListener = await new MQListener({ port: 8125 });
154
+ var mqListener = await new MQListener({ port: mqPort, host: hostV4 });
99
155
  // required for tail command
100
- var mqPortFile = './tmp/mq-listener-v'+ version +'.port';
156
+ var mqPortFile = getTmpDir() + '/mq-listener-v'+ version +'.port';// jshint ignore:line
101
157
  console.debug('Writting: '+ mqPortFile);
102
158
  fs.writeFileSync( mqPortFile, ''+mqPort );
103
159
  process.on('exit', function() {
@@ -106,7 +162,7 @@ async function onExec() {
106
162
  mqListener.unref();
107
163
  })
108
164
  }
109
-
165
+
110
166
  if ( !fs.existsSync(frameworkPath) ) {
111
167
  console.alert('Could not find version ' + version + '.\nFirst try:\n$ gina framework:install ' + version);
112
168
  process.exit(1)
@@ -127,28 +183,37 @@ async function onExec() {
127
183
  filterArgs();// jshint ignore:line
128
184
  //check for $HOME path, alert if empty.
129
185
  if (!home) {
130
- console.error('No ' + ((isWin32) ? 'USERPROFILE' : 'HOME') + ' path found.')
131
- } else {
132
- setEnvVar('GINA_HOMEDIR', home);// jshint ignore:line
133
- setEnvVar('GINA_DIR', ginaPath);// jshint ignore:line
134
- setEnvVar('GINA_FRAMEWORK_DIR', frameworkPath);// jshint ignore:line
135
- setEnvVar('GINA_CORE', frameworkPath + '/core');// jshint ignore:line
186
+ console.error('No ' + ((isWin32) ? 'USERPROFILE' : 'HOME') + ' path found.');
187
+ process.exit(1);
136
188
  }
189
+
190
+ // setEnvVar('GINA_HOMEDIR', home);// jshint ignore:line
191
+ setEnvVar('GINA_DIR', ginaPath);// jshint ignore:line
192
+ setEnvVar('GINA_FRAMEWORK_DIR', frameworkPath);// jshint ignore:line
193
+ setEnvVar('GINA_CORE', frameworkPath + '/core');// jshint ignore:line
137
194
  setEnvVar('GINA_IS_WIN32', isWin32, true);// jshint ignore:line
138
195
 
139
- if (isUpdateRequired) {
140
- settings['port'] = getEnvVar('GINA_PORT') || null;// jshint ignore:line
141
- settings['debug_port'] = getEnvVar('GINA_DEBUG_PORT') || null;// jshint ignore:line
142
- console.debug('Updating debug settings: #'+ getEnvVar('GINA_DEBUG_PORT'));// jshint ignore:line
196
+ if (!settings) {
197
+ settings = requireJSON(settingsPath);// jshint ignore:line
198
+ }
199
+ if (isUpdateRequired) {
200
+ console.debug('Updating debug settings ...');// jshint ignore:line
201
+ settings['port'] = getEnvVar('GINA_PORT') || settings['port'] || null;// jshint ignore:line
202
+ settings['debug_port'] = getEnvVar('GINA_DEBUG_PORT') || settings['debug_port'] || null;// jshint ignore:line
203
+
204
+ settings['mq_port'] = getEnvVar('GINA_MQ_PORT') || settings['mq_port'] || null;// jshint ignore:line
205
+ settings['host_v4'] = getEnvVar('GINA_HOST_V4') || settings['host_v4'] || null;// jshint ignore:line
206
+ settings['hostname'] = getEnvVar('GINA_HOSTNAME') || settings['hostname'] || null;// jshint ignore:line
143
207
  generator.createFileFromDataSync(settings, settingsPath);// jshint ignore:line
144
208
  }
145
209
 
146
210
 
147
211
  /**
148
212
  * Framework port
213
+ * To change it: gina framework:set --port=<port_number>
149
214
  * TODO - Add a port scanner & compare with ~/.gina/{shortVersion}/settings.json on `post_install`
150
215
  * */
151
- var port = 8124;
216
+ var port = settings['port'] || 8124;
152
217
 
153
218
  // |-> framework/{version}/lib/cmd
154
219
  var allowedOffline = [
@@ -194,11 +259,14 @@ async function onExec() {
194
259
  frameworkPath : frameworkPath,
195
260
  homedir : home,
196
261
  port : port,
262
+ hostV4 : hostV4,
263
+ mqPort : mqPort,
264
+ hostname : hostname,
197
265
  debugPort : debugPort,
198
266
  debugBrkEnabled : debugBrkEnabled,
199
267
  pack : pack
200
268
  });
201
-
269
+
202
270
 
203
271
  } else if (
204
272
  typeof(process.argv[2]) != 'undefined'
@@ -207,13 +275,16 @@ async function onExec() {
207
275
  || process.argv[2].substr(0, 2) === '--'
208
276
  || process.argv[2].substr(0, 1) === '-'
209
277
  ) {
210
-
278
+
211
279
  require(binPath + '/cmd')({
212
280
  binPath : binPath,
213
281
  ginaPath : ginaPath,
214
282
  frameworkPath : frameworkPath,
215
283
  homedir : home,
216
284
  port : port,
285
+ hostV4 : hostV4,
286
+ mqPort : mqPort,
287
+ hostname : hostname,
217
288
  debugPort : debugPort,
218
289
  debugBrkEnabled : debugBrkEnabled,
219
290
  pack : pack
@@ -228,27 +299,27 @@ async function onExec() {
228
299
  } else {
229
300
 
230
301
  //Connect to framework.
231
- var client = net.connect({port: port},
302
+ var client = net.connect({port: port, host: hostV4},
232
303
  function() {
233
304
  //Forwarding cmd.
234
305
  // retieving debug infos
235
306
  var debugOption = null;
236
307
  if ( debugPort ) {
237
- debugOption = '--inspect=' + debugPort;
238
-
308
+ debugOption = '--inspect=' + debugPort;
309
+
239
310
  if (debugBrkEnabled) {
240
311
  debugOption = debugOption.replace(/\-\-inspect/, '--inspect-brk')
241
312
  }
242
-
313
+
243
314
  process.argv.push(debugOption)
244
315
  }
245
-
316
+
246
317
  client.write( JSON.stringify(process.argv) );
247
318
  }
248
319
  );
249
320
 
250
- client.on('data', function(data) {
251
-
321
+ client.on('data', function(data) {
322
+
252
323
  //Acknowledging ready state.
253
324
  if ( /\[ quit \]/.test(data) ) {
254
325
  client.end();
@@ -262,7 +333,7 @@ async function onExec() {
262
333
  client.end();
263
334
  return
264
335
  }
265
-
336
+
266
337
  });
267
338
 
268
339
  //client end event.
@@ -276,11 +347,11 @@ async function onExec() {
276
347
  } else {
277
348
  console.log('[ gina ] not started, try to start framework with :\n$ sudo gina start')
278
349
  }
279
-
350
+
280
351
  console.debug(err.stack||err);
281
-
352
+
282
353
  process.exit(1)
283
- });
354
+ });
284
355
  }
285
356
  }
286
357
 
package/bin/cli-debug CHANGED
@@ -3,7 +3,7 @@
3
3
  /**
4
4
  * Mainly used to debug framework CMD lib - default port should be #5858 by default
5
5
  * To modify the debug port :
6
- *
6
+ *
7
7
  * $ gina framework:set --debug-port=<your new debug port>
8
8
  */
9
9
  const fs = require('fs');
@@ -34,16 +34,16 @@ var params = argv.split(/\s+/g);
34
34
  if ( params.length > 0 ) {
35
35
  for (var p = 0, len = params.length; p < len; ++p) {
36
36
  if ( /^\-\-port/.test(params[p]) ) {
37
- setEnvVar('GINA_PORT', ~~params[p].split(/\=/)[1]);
37
+ setEnvVar('GINA_PORT', ~~params[p].split(/\=/)[1]);// jshint ignore:line
38
38
  continue;
39
39
  }
40
40
  if ( /^\-\-debug(\_|\-)port/.test(params[p]) ) {
41
- setEnvVar('GINA_DEBUG_PORT', ~~params[p].split(/\=/)[1]);
41
+ setEnvVar('GINA_DEBUG_PORT', ~~params[p].split(/\=/)[1]);// jshint ignore:line
42
42
  continue;
43
43
  }
44
44
  if ( /^\-\-(inspect|debug)/.test(params[p]) ) {
45
45
  debugPort = ~~params[p].split(/\=/)[1];
46
- process.argv.splice(p,1);
46
+ process.argv.splice(p,1);
47
47
  }
48
48
  }
49
49
  }