gina 0.0.9-p91c → 0.1.1-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (466) hide show
  1. package/INSTALL.md +46 -0
  2. package/{core/asset/html/static.html → Icon/r} +0 -0
  3. package/LICENSE +1 -1
  4. package/README-4Contributors.md +96 -0
  5. package/README.md +296 -104
  6. package/bin/cli +287 -0
  7. package/bin/cli-debug +60 -0
  8. package/bin/cmd +184 -0
  9. package/bin/gina +180 -0
  10. package/config/logger.json +17 -0
  11. package/doc/framework/cli/doc.json +9 -0
  12. package/doc/framework/index.md +60 -0
  13. package/framework/v0.1.1-alpha.3/AUTHORS +7 -0
  14. package/{core/utils/lib/inherits → framework/v0.1.1-alpha.3}/LICENSE +1 -1
  15. package/framework/v0.1.1-alpha.3/VERSION +1 -0
  16. package/{core/locales/dist/language/en.json → framework/v0.1.1-alpha.3/core/asset/html/nolayout.html} +0 -0
  17. package/{core/locales/dist/language/fr.json → framework/v0.1.1-alpha.3/core/asset/html/static.html} +0 -0
  18. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/android-chrome-192x192.png +0 -0
  19. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/android-chrome-512x512.png +0 -0
  20. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/apple-touch-icon.png +0 -0
  21. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/favicon-16x16.png +0 -0
  22. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/favicon-32x32.png +0 -0
  23. package/{core → framework/v0.1.1-alpha.3/core}/asset/img/favicon.ico +0 -0
  24. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.js +20904 -0
  25. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.js.map +56 -0
  26. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.css +1 -0
  27. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.css.map +1 -0
  28. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.js +736 -0
  29. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.min.js.map +56 -0
  30. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.onload.min.js +5 -0
  31. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/dist/gina.onload.min.js.map +8 -0
  32. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/readme.md +192 -0
  33. package/framework/v0.1.1-alpha.3/core/asset/js/plugin/uuid.json +23 -0
  34. package/framework/v0.1.1-alpha.3/core/config.js +2308 -0
  35. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/index.js +757 -0
  36. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/connector.js +20 -0
  37. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/connector.v2.js +429 -0
  38. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/connector.v3.js +432 -0
  39. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/n1ql.js +14 -0
  40. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/session-store.js +21 -0
  41. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/session-store.v2.js +258 -0
  42. package/framework/v0.1.1-alpha.3/core/connectors/couchbase/lib/session-store.v3.js +341 -0
  43. package/{core → framework/v0.1.1-alpha.3/core}/controller/controller.framework.js +3 -2
  44. package/framework/v0.1.1-alpha.3/core/controller/controller.js +3990 -0
  45. package/{core → framework/v0.1.1-alpha.3/core}/controller/index.js +5 -5
  46. package/framework/v0.1.1-alpha.3/core/deps/busboy/.travis.yml +17 -0
  47. package/framework/v0.1.1-alpha.3/core/deps/busboy/LICENSE +19 -0
  48. package/framework/v0.1.1-alpha.3/core/deps/busboy/README.md +225 -0
  49. package/framework/v0.1.1-alpha.3/core/deps/busboy/deps/encoding/encoding-indexes.js +73 -0
  50. package/framework/v0.1.1-alpha.3/core/deps/busboy/deps/encoding/encoding.js +2391 -0
  51. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/main.js +89 -0
  52. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/types/multipart.js +328 -0
  53. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/types/urlencoded.js +214 -0
  54. package/framework/v0.1.1-alpha.3/core/deps/busboy/lib/utils.js +191 -0
  55. package/framework/v0.1.1-alpha.3/core/deps/busboy/package.json +69 -0
  56. package/framework/v0.1.1-alpha.3/core/deps/swig-client/swig-2.0.0.min.js +5 -0
  57. package/{core → framework/v0.1.1-alpha.3/core}/dev/index.js +5 -5
  58. package/{core → framework/v0.1.1-alpha.3/core}/dev/lib/class.js +1 -1
  59. package/{core → framework/v0.1.1-alpha.3/core}/dev/lib/factory.js +1 -1
  60. package/{core → framework/v0.1.1-alpha.3/core}/dev/lib/tools.js +0 -0
  61. package/framework/v0.1.1-alpha.3/core/gna.js +1070 -0
  62. package/{core → framework/v0.1.1-alpha.3/core}/locales/README.md +41 -2
  63. package/{core → framework/v0.1.1-alpha.3/core}/locales/currency.json +0 -0
  64. package/{core/plugins/README.md → framework/v0.1.1-alpha.3/core/locales/dist/language/en.json} +0 -0
  65. package/{core/plugins/lib/intl/README.md → framework/v0.1.1-alpha.3/core/locales/dist/language/fr.json} +0 -0
  66. package/{core → framework/v0.1.1-alpha.3/core}/locales/dist/region/en.json +0 -0
  67. package/framework/v0.1.1-alpha.3/core/locales/dist/region/fr.json +9492 -0
  68. package/{core → framework/v0.1.1-alpha.3/core}/locales/index.js +5 -4
  69. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/make.js +15 -12
  70. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/resources/currency.csv +0 -0
  71. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/resources/region.csv +0 -0
  72. package/{core → framework/v0.1.1-alpha.3/core}/locales/src/resources/region.mapping.json +0 -0
  73. package/{core → framework/v0.1.1-alpha.3/core}/mime.types +0 -0
  74. package/{core → framework/v0.1.1-alpha.3/core}/model/entity.js +156 -196
  75. package/{core → framework/v0.1.1-alpha.3/core}/model/index.js +67 -48
  76. package/{core → framework/v0.1.1-alpha.3/core}/model/template/entityFactory.js +2 -2
  77. package/{core → framework/v0.1.1-alpha.3/core}/model/template/index.js +8 -10
  78. package/{core/plugins/lib/storage → framework/v0.1.1-alpha.3/core/plugins}/README.md +0 -0
  79. package/{core → framework/v0.1.1-alpha.3/core}/plugins/index.js +3 -3
  80. package/{core/plugins/lib/validator → framework/v0.1.1-alpha.3/core/plugins/lib/file}/README.md +0 -0
  81. package/{core/plugins/lib/intl → framework/v0.1.1-alpha.3/core/plugins/lib/file}/build.json +0 -0
  82. package/framework/v0.1.1-alpha.3/core/plugins/lib/file/package.json +25 -0
  83. package/{core/utils/lib/collection → framework/v0.1.1-alpha.3/core/plugins/lib/intl}/README.md +0 -0
  84. package/{core/plugins/lib/storage → framework/v0.1.1-alpha.3/core/plugins/lib/intl}/build.json +0 -0
  85. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/intl/package.json +3 -3
  86. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/intl/src/main.js +17 -1
  87. package/{core/utils/lib/routing → framework/v0.1.1-alpha.3/core/plugins/lib/storage}/README.md +0 -0
  88. package/{core/plugins/lib/validator → framework/v0.1.1-alpha.3/core/plugins/lib/storage}/build.json +0 -0
  89. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/storage/package.json +2 -2
  90. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/storage/src/main.js +91 -85
  91. package/{core/utils/lib/url → framework/v0.1.1-alpha.3/core/plugins/lib/validator}/README.md +0 -0
  92. package/{core/utils/lib/collection → framework/v0.1.1-alpha.3/core/plugins/lib/validator}/build.json +0 -0
  93. package/{core → framework/v0.1.1-alpha.3/core}/plugins/lib/validator/package.json +3 -3
  94. package/framework/v0.1.1-alpha.3/core/plugins/lib/validator/src/form-validator.js +1762 -0
  95. package/framework/v0.1.1-alpha.3/core/plugins/lib/validator/src/main.js +6917 -0
  96. package/framework/v0.1.1-alpha.3/core/router.js +664 -0
  97. package/framework/v0.1.1-alpha.3/core/server.express.js +213 -0
  98. package/framework/v0.1.1-alpha.3/core/server.isaac.js +386 -0
  99. package/framework/v0.1.1-alpha.3/core/server.js +3010 -0
  100. package/{core → framework/v0.1.1-alpha.3/core}/status.codes +8 -0
  101. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/app.json +6 -0
  102. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/routing.json +11 -0
  103. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/settings.json +9 -0
  104. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/settings.server.json +30 -0
  105. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/config/templates.json +42 -0
  106. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/controllers/controller.content.js +39 -0
  107. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/controllers/controller.js +30 -0
  108. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  109. package/{core/template/samples → framework/v0.1.1-alpha.3/core/template/boilerplate}/bundle/index.js +0 -0
  110. package/{core/template/samples/bundle → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_namespace}/controllers/controller.js +9 -7
  111. package/{core/template/views → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public}/css/default.css +0 -0
  112. package/{core/template/views → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public}/css/vendor/readme.md +0 -0
  113. package/{core/template/views → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public}/favicon.ico +0 -0
  114. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public/js/vendor/readme.md +1 -0
  115. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_public/readme.md +1 -0
  116. package/framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_templates/handlers/main.js +24 -0
  117. package/{core/template/views/html/default.html → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_templates/html/homepage.html} +0 -0
  118. package/{core/template/views/html/layout.html → framework/v0.1.1-alpha.3/core/template/boilerplate/bundle_templates/html/layout/main.html} +2 -2
  119. package/{core → framework/v0.1.1-alpha.3/core}/template/command/gina.bat.tpl +0 -0
  120. package/{core → framework/v0.1.1-alpha.3/core}/template/command/gina.tpl +1 -1
  121. package/framework/v0.1.1-alpha.3/core/template/conf/env.json +76 -0
  122. package/{core/template/conf/project.json → framework/v0.1.1-alpha.3/core/template/conf/manifest.json} +1 -0
  123. package/{core → framework/v0.1.1-alpha.3/core}/template/conf/package.json +2 -2
  124. package/framework/v0.1.1-alpha.3/core/template/conf/settings.json +92 -0
  125. package/framework/v0.1.1-alpha.3/core/template/conf/statics.json +10 -0
  126. package/framework/v0.1.1-alpha.3/core/template/conf/templates.json +37 -0
  127. package/{core → framework/v0.1.1-alpha.3/core}/template/error/client/json/401.json +0 -0
  128. package/{core → framework/v0.1.1-alpha.3/core}/template/error/client/json/403.json +0 -0
  129. package/{core → framework/v0.1.1-alpha.3/core}/template/error/client/json/404.json +0 -0
  130. package/{core → framework/v0.1.1-alpha.3/core}/template/error/server/html/50x.html +0 -0
  131. package/{core → framework/v0.1.1-alpha.3/core}/template/error/server/json/500.json +0 -0
  132. package/{core → framework/v0.1.1-alpha.3/core}/template/error/server/json/503.json +0 -0
  133. package/{core/utils/lib/routing/build.json → framework/v0.1.1-alpha.3/core/template/extensions/logger/config.json} +0 -0
  134. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/console.js +3 -3
  135. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/context.js +240 -49
  136. package/framework/v0.1.1-alpha.3/helpers/dateFormat.js +528 -0
  137. package/framework/v0.1.1-alpha.3/helpers/index.js +79 -0
  138. package/framework/v0.1.1-alpha.3/helpers/json/README.md +0 -0
  139. package/framework/v0.1.1-alpha.3/helpers/json/package.json +20 -0
  140. package/framework/v0.1.1-alpha.3/helpers/json/src/main.js +97 -0
  141. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/path.js +342 -140
  142. package/framework/v0.1.1-alpha.3/helpers/plugins/README.md +4 -0
  143. package/framework/v0.1.1-alpha.3/helpers/plugins/package.json +20 -0
  144. package/framework/v0.1.1-alpha.3/helpers/plugins/src/api-error.js +160 -0
  145. package/framework/v0.1.1-alpha.3/helpers/plugins/src/main.js +32 -0
  146. package/framework/v0.1.1-alpha.3/helpers/prototypes.js +218 -0
  147. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/task.js +49 -29
  148. package/{core/utils → framework/v0.1.1-alpha.3}/helpers/text.js +7 -7
  149. package/framework/v0.1.1-alpha.3/lib/archiver/README.md +0 -0
  150. package/framework/v0.1.1-alpha.3/lib/archiver/build.json +0 -0
  151. package/framework/v0.1.1-alpha.3/lib/archiver/package.json +20 -0
  152. package/framework/v0.1.1-alpha.3/lib/archiver/src/dep/jszip.min.js +15 -0
  153. package/framework/v0.1.1-alpha.3/lib/archiver/src/main.js +499 -0
  154. package/framework/v0.1.1-alpha.3/lib/cmd/aliases.json +13 -0
  155. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/add.js +507 -0
  156. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/arguments.json +4 -0
  157. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/copy.js +15 -0
  158. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/cp.js +2 -0
  159. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/help.js +28 -0
  160. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/help.txt +67 -0
  161. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/list.js +129 -0
  162. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/remove.js +229 -0
  163. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/rename.js +4 -0
  164. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/restart.js +235 -0
  165. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/rm.js +2 -0
  166. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/start.js +394 -0
  167. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/status.js +3 -0
  168. package/framework/v0.1.1-alpha.3/lib/cmd/bundle/stop.js +232 -0
  169. package/framework/v0.1.1-alpha.3/lib/cmd/env/add.js +436 -0
  170. package/framework/v0.1.1-alpha.3/lib/cmd/env/get.js +62 -0
  171. package/framework/v0.1.1-alpha.3/lib/cmd/env/help.js +28 -0
  172. package/framework/v0.1.1-alpha.3/lib/cmd/env/help.txt +33 -0
  173. package/framework/v0.1.1-alpha.3/lib/cmd/env/link-dev.js +80 -0
  174. package/framework/v0.1.1-alpha.3/lib/cmd/env/list.js +111 -0
  175. package/framework/v0.1.1-alpha.3/lib/cmd/env/remove.js +150 -0
  176. package/framework/v0.1.1-alpha.3/lib/cmd/env/rm.js +2 -0
  177. package/framework/v0.1.1-alpha.3/lib/cmd/env/set.js +57 -0
  178. package/framework/v0.1.1-alpha.3/lib/cmd/env/unset.js +44 -0
  179. package/framework/v0.1.1-alpha.3/lib/cmd/env/use.js +79 -0
  180. package/framework/v0.1.1-alpha.3/lib/cmd/framework/dot.js +70 -0
  181. package/framework/v0.1.1-alpha.3/lib/cmd/framework/get.js +0 -0
  182. package/framework/v0.1.1-alpha.3/lib/cmd/framework/help.js +39 -0
  183. package/framework/v0.1.1-alpha.3/lib/cmd/framework/help.txt +31 -0
  184. package/framework/v0.1.1-alpha.3/lib/cmd/framework/init.js +514 -0
  185. package/{core/utils/lib/cmd → framework/v0.1.1-alpha.3/lib/cmd/framework}/msg.json +3 -3
  186. package/framework/v0.1.1-alpha.3/lib/cmd/framework/open.js +50 -0
  187. package/framework/v0.1.1-alpha.3/lib/cmd/framework/restart.js +124 -0
  188. package/framework/v0.1.1-alpha.3/lib/cmd/framework/set.js +161 -0
  189. package/framework/v0.1.1-alpha.3/lib/cmd/framework/start.js +96 -0
  190. package/framework/v0.1.1-alpha.3/lib/cmd/framework/status.js +72 -0
  191. package/framework/v0.1.1-alpha.3/lib/cmd/framework/stop.js +159 -0
  192. package/framework/v0.1.1-alpha.3/lib/cmd/framework/tail.js +183 -0
  193. package/framework/v0.1.1-alpha.3/lib/cmd/framework/update.js +0 -0
  194. package/framework/v0.1.1-alpha.3/lib/cmd/framework/version.js +44 -0
  195. package/framework/v0.1.1-alpha.3/lib/cmd/gina-dev.1.md +66 -0
  196. package/framework/v0.1.1-alpha.3/lib/cmd/gina-framework.1.md +100 -0
  197. package/framework/v0.1.1-alpha.3/lib/cmd/gina.1.md +79 -0
  198. package/framework/v0.1.1-alpha.3/lib/cmd/helper.js +1147 -0
  199. package/framework/v0.1.1-alpha.3/lib/cmd/index.js +170 -0
  200. package/framework/v0.1.1-alpha.3/lib/cmd/msg.json +20 -0
  201. package/framework/v0.1.1-alpha.3/lib/cmd/port/help.js +28 -0
  202. package/framework/v0.1.1-alpha.3/lib/cmd/port/help.txt +31 -0
  203. package/framework/v0.1.1-alpha.3/lib/cmd/port/inc/scan.js +108 -0
  204. package/framework/v0.1.1-alpha.3/lib/cmd/port/list.js +176 -0
  205. package/framework/v0.1.1-alpha.3/lib/cmd/port/set.js +0 -0
  206. package/framework/v0.1.1-alpha.3/lib/cmd/project/add.js +528 -0
  207. package/framework/v0.1.1-alpha.3/lib/cmd/project/arguments.json +9 -0
  208. package/framework/v0.1.1-alpha.3/lib/cmd/project/build.js +115 -0
  209. package/framework/v0.1.1-alpha.3/lib/cmd/project/help.js +28 -0
  210. package/framework/v0.1.1-alpha.3/lib/cmd/project/help.txt +76 -0
  211. package/framework/v0.1.1-alpha.3/lib/cmd/project/import.js +2 -0
  212. package/framework/v0.1.1-alpha.3/lib/cmd/project/list.js +55 -0
  213. package/framework/v0.1.1-alpha.3/lib/cmd/project/move.js +0 -0
  214. package/framework/v0.1.1-alpha.3/lib/cmd/project/remove.js +144 -0
  215. package/framework/v0.1.1-alpha.3/lib/cmd/project/rename.js +162 -0
  216. package/framework/v0.1.1-alpha.3/lib/cmd/project/restart.js +0 -0
  217. package/framework/v0.1.1-alpha.3/lib/cmd/project/rm.js +2 -0
  218. package/framework/v0.1.1-alpha.3/lib/cmd/project/start.js +0 -0
  219. package/framework/v0.1.1-alpha.3/lib/cmd/project/status.js +3 -0
  220. package/framework/v0.1.1-alpha.3/lib/cmd/project/stop.js +0 -0
  221. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/help.js +27 -0
  222. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/help.txt +57 -0
  223. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/list.js +239 -0
  224. package/framework/v0.1.1-alpha.3/lib/cmd/protocol/set.js +631 -0
  225. package/framework/v0.1.1-alpha.3/lib/cmd/scope/help.js +28 -0
  226. package/framework/v0.1.1-alpha.3/lib/cmd/scope/help.txt +33 -0
  227. package/framework/v0.1.1-alpha.3/lib/cmd/scope/link-local.js +80 -0
  228. package/framework/v0.1.1-alpha.3/lib/cmd/scope/list.js +116 -0
  229. package/framework/v0.1.1-alpha.3/lib/cmd/scope/remove.js +150 -0
  230. package/framework/v0.1.1-alpha.3/lib/cmd/scope/rm.js +2 -0
  231. package/framework/v0.1.1-alpha.3/lib/cmd/scope/set.js +57 -0
  232. package/framework/v0.1.1-alpha.3/lib/cmd/scope/unset.js +44 -0
  233. package/framework/v0.1.1-alpha.3/lib/cmd/scope/use.js +79 -0
  234. package/framework/v0.1.1-alpha.3/lib/cmd/view/add.js +311 -0
  235. package/framework/v0.1.1-alpha.3/lib/collection/README.md +5 -0
  236. package/framework/v0.1.1-alpha.3/lib/collection/build.json +0 -0
  237. package/{core/utils → framework/v0.1.1-alpha.3}/lib/collection/package.json +2 -2
  238. package/framework/v0.1.1-alpha.3/lib/collection/src/main.js +1459 -0
  239. package/{core/utils → framework/v0.1.1-alpha.3}/lib/config.js +49 -34
  240. package/framework/v0.1.1-alpha.3/lib/cron/README.md +7 -0
  241. package/framework/v0.1.1-alpha.3/lib/cron/package.json +20 -0
  242. package/framework/v0.1.1-alpha.3/lib/cron/src/main.js +176 -0
  243. package/{core/utils → framework/v0.1.1-alpha.3}/lib/generator/index.js +8 -4
  244. package/framework/v0.1.1-alpha.3/lib/index.js +116 -0
  245. package/framework/v0.1.1-alpha.3/lib/inherits/LICENSE +19 -0
  246. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/README.md +0 -0
  247. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  248. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/protected_inheritance.js +0 -0
  249. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/simple_inheritance.js +0 -0
  250. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  251. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/package.json +2 -2
  252. package/{core/utils → framework/v0.1.1-alpha.3}/lib/inherits/src/main.js +18 -19
  253. package/framework/v0.1.1-alpha.3/lib/logger/README.md +7 -0
  254. package/framework/v0.1.1-alpha.3/lib/logger/package.json +20 -0
  255. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/default/index.js +55 -0
  256. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/file/index.js +251 -0
  257. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/file/lib/logrotator/README.md +100 -0
  258. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/file/lib/logrotator/index.js +274 -0
  259. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/mq/index.js +52 -0
  260. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/mq/listener.js +302 -0
  261. package/framework/v0.1.1-alpha.3/lib/logger/src/containers/mq/speaker.js +118 -0
  262. package/framework/v0.1.1-alpha.3/lib/logger/src/helper.js +131 -0
  263. package/framework/v0.1.1-alpha.3/lib/logger/src/main.js +739 -0
  264. package/{core/utils → framework/v0.1.1-alpha.3}/lib/math/index.js +58 -35
  265. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/README.md +5 -0
  266. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/example/merge.js +1 -1
  267. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/example/merge_2_literal objects.js +0 -0
  268. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/example/merge_and_preserve_first.js +2 -0
  269. package/{core/utils → framework/v0.1.1-alpha.3}/lib/merge/package.json +2 -2
  270. package/framework/v0.1.1-alpha.3/lib/merge/src/main.js +531 -0
  271. package/{core/utils → framework/v0.1.1-alpha.3}/lib/model.js +42 -19
  272. package/framework/v0.1.1-alpha.3/lib/proc.js +518 -0
  273. package/framework/v0.1.1-alpha.3/lib/routing/README.md +0 -0
  274. package/framework/v0.1.1-alpha.3/lib/routing/build.json +0 -0
  275. package/{core/utils → framework/v0.1.1-alpha.3}/lib/routing/package.json +2 -2
  276. package/framework/v0.1.1-alpha.3/lib/routing/src/main.js +1492 -0
  277. package/framework/v0.1.1-alpha.3/lib/session-store.js +33 -0
  278. package/{core/utils → framework/v0.1.1-alpha.3}/lib/shell.js +43 -30
  279. package/framework/v0.1.1-alpha.3/lib/swig-filters/README.md +0 -0
  280. package/framework/v0.1.1-alpha.3/lib/swig-filters/package.json +20 -0
  281. package/framework/v0.1.1-alpha.3/lib/swig-filters/src/main.js +322 -0
  282. package/framework/v0.1.1-alpha.3/lib/url/README.md +0 -0
  283. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/index.js +2 -1
  284. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/mocks.json +0 -0
  285. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/routing.json +9 -9
  286. package/{core/utils → framework/v0.1.1-alpha.3}/lib/url/test.js +0 -0
  287. package/{core/utils → framework/v0.1.1-alpha.3}/lib/validator.js +7 -7
  288. package/framework/v0.1.1-alpha.3/package.json +14 -0
  289. package/package.json +35 -33
  290. package/resources/etc/init.d/debian/gina +117 -0
  291. package/resources/home/framework/env.json +34 -0
  292. package/resources/home/framework/locals.json +14 -0
  293. package/resources/home/framework/project.json +48 -0
  294. package/resources/home/framework/projects.json +6 -0
  295. package/resources/home/main.json +47 -0
  296. package/resources/home/settings.json +22 -0
  297. package/resources/home/user/extensions/logger/default/config.json +77 -0
  298. package/resources/home/user/extensions/logger/file/config.json +11 -0
  299. package/resources/img/android-chrome-192x192.png +0 -0
  300. package/resources/img/android-chrome-512x512.png +0 -0
  301. package/resources/img/apple-touch-icon.png +0 -0
  302. package/resources/img/favicon-16x16.png +0 -0
  303. package/resources/img/favicon-32x32.png +0 -0
  304. package/resources/img/favicon.ico +0 -0
  305. package/resources/package.json.template +50 -0
  306. package/script/lib.js +24 -0
  307. package/script/post_install.js +449 -157
  308. package/script/pre_install.js +277 -36
  309. package/script/prepare_version.js +425 -0
  310. package/utils/helper.js +438 -0
  311. package/utils/prototypes.js +239 -0
  312. package/utils/prototypes.json_clone.js +175 -0
  313. package/.npmignore +0 -6
  314. package/MIDDLEWARE +0 -1
  315. package/SUCCESS +0 -1
  316. package/VERSION +0 -1
  317. package/core/asset/html/nolayout.html +0 -1
  318. package/core/asset/js/plugin/build.dev.json +0 -28
  319. package/core/asset/js/plugin/build.json +0 -31
  320. package/core/asset/js/plugin/dist/gina.min.css +0 -1
  321. package/core/asset/js/plugin/dist/gina.min.css.map +0 -1
  322. package/core/asset/js/plugin/dist/gina.min.js +0 -13732
  323. package/core/asset/js/plugin/dist/gina.min.js.map +0 -42
  324. package/core/asset/js/plugin/dist/gina.onload.min.js +0 -3
  325. package/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
  326. package/core/asset/js/plugin/readme.md +0 -152
  327. package/core/asset/js/plugin/src/gina/main.js +0 -132
  328. package/core/asset/js/plugin/src/gina/popin/css/design.css +0 -23
  329. package/core/asset/js/plugin/src/gina/popin/css/main.css +0 -1112
  330. package/core/asset/js/plugin/src/gina/popin/css/popin.css +0 -3
  331. package/core/asset/js/plugin/src/gina/popin/css/popin.css.map +0 -1
  332. package/core/asset/js/plugin/src/gina/popin/doc/TOC.md +0 -29
  333. package/core/asset/js/plugin/src/gina/popin/doc/css.md +0 -162
  334. package/core/asset/js/plugin/src/gina/popin/doc/extend.md +0 -663
  335. package/core/asset/js/plugin/src/gina/popin/doc/faq.md +0 -46
  336. package/core/asset/js/plugin/src/gina/popin/doc/html.md +0 -227
  337. package/core/asset/js/plugin/src/gina/popin/doc/js.md +0 -37
  338. package/core/asset/js/plugin/src/gina/popin/doc/misc.md +0 -178
  339. package/core/asset/js/plugin/src/gina/popin/doc/usage.md +0 -130
  340. package/core/asset/js/plugin/src/gina/popin/main.js +0 -783
  341. package/core/asset/js/plugin/src/gina/popin/sass/config.sass +0 -37
  342. package/core/asset/js/plugin/src/gina/popin/sass/gina-design.sass +0 -622
  343. package/core/asset/js/plugin/src/gina/popin/sass/gina-popin.sass +0 -54
  344. package/core/asset/js/plugin/src/gina/popin/sass/helper.scss +0 -73
  345. package/core/asset/js/plugin/src/gina/toolbar/.npmignore +0 -19
  346. package/core/asset/js/plugin/src/gina/toolbar/css/toolbar.css +0 -433
  347. package/core/asset/js/plugin/src/gina/toolbar/css/toolbar.css.map +0 -1
  348. package/core/asset/js/plugin/src/gina/toolbar/index.html +0 -285
  349. package/core/asset/js/plugin/src/gina/toolbar/index.kit +0 -120
  350. package/core/asset/js/plugin/src/gina/toolbar/jquery-3.1.0.min.js +0 -4
  351. package/core/asset/js/plugin/src/gina/toolbar/main.js +0 -693
  352. package/core/asset/js/plugin/src/gina/toolbar/mock.gina.json +0 -1
  353. package/core/asset/js/plugin/src/gina/toolbar/mock.user.json +0 -1
  354. package/core/asset/js/plugin/src/gina/toolbar/readme.md +0 -7
  355. package/core/asset/js/plugin/src/gina/toolbar/sass/toolbar.sass +0 -563
  356. package/core/asset/js/plugin/src/gina/toolbar/svg-src/Info-color.svg +0 -1
  357. package/core/asset/js/plugin/src/gina/toolbar/svg-src/Info-grey.svg +0 -1
  358. package/core/asset/js/plugin/src/gina/toolbar/svg-src/error-color.svg +0 -1
  359. package/core/asset/js/plugin/src/gina/toolbar/svg-src/error-grey.svg +0 -1
  360. package/core/asset/js/plugin/src/gina/toolbar/svg-src/info-optim.svg +0 -13
  361. package/core/asset/js/plugin/src/gina/toolbar/svg-src/logo-gina.svg +0 -1
  362. package/core/asset/js/plugin/src/gina/toolbar/svg-src/settings-big.svg +0 -1
  363. package/core/asset/js/plugin/src/gina/toolbar/svg-src/settings.afdesign +0 -0
  364. package/core/asset/js/plugin/src/gina/toolbar/svg-src/settings.svg +0 -1
  365. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-calendar-optim.svg +0 -1
  366. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-calendar.svg +0 -1
  367. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-card-optim.svg +0 -1
  368. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-card.svg +0 -1
  369. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-lock-optim.svg +0 -1
  370. package/core/asset/js/plugin/src/gina/toolbar/svg-src/stripe-lock.svg +0 -1
  371. package/core/asset/js/plugin/src/gina/toolbar/svg-src/warning-color.svg +0 -1
  372. package/core/asset/js/plugin/src/gina/toolbar/svg-src/warning-grey.svg +0 -1
  373. package/core/asset/js/plugin/src/gina/toolbar/test.jpg +0 -0
  374. package/core/asset/js/plugin/src/gina/toolbar/toolbar.html +0 -104
  375. package/core/asset/js/plugin/src/gina/utils/dom.js +0 -24
  376. package/core/asset/js/plugin/src/gina/utils/events.js +0 -201
  377. package/core/asset/js/plugin/src/gina/utils/loader.js +0 -57
  378. package/core/asset/js/plugin/src/main.js +0 -235
  379. package/core/asset/js/plugin/src/vendor/jquery/1.11.1-css-event_alias.min.js +0 -5
  380. package/core/asset/js/plugin/src/vendor/jquery/1.12.4.min.js +0 -5
  381. package/core/asset/js/plugin/src/vendor/jquery/2.1.1-css-event_alias-sizzle.min.js +0 -4
  382. package/core/asset/js/plugin/src/vendor/jquery/README.md +0 -14
  383. package/core/asset/js/plugin/src/vendor/jquery/slim-3.1.1.min.js +0 -4
  384. package/core/config.js +0 -1225
  385. package/core/controller/controller.js +0 -1860
  386. package/core/gna.js +0 -908
  387. package/core/plugins/lib/validator/src/form-validator.js +0 -789
  388. package/core/plugins/lib/validator/src/main.js +0 -2056
  389. package/core/router.js +0 -717
  390. package/core/server.js +0 -1363
  391. package/core/template/conf/env.json +0 -70
  392. package/core/template/conf/settings.json +0 -48
  393. package/core/template/conf/statics.json +0 -6
  394. package/core/template/conf/views.json +0 -16
  395. package/core/template/samples/bundle/config/app.json +0 -4
  396. package/core/template/samples/bundle/config/routing.json +0 -9
  397. package/core/template/samples/bundle/controllers/setup.js +0 -33
  398. package/core/template/views/js/vendor/readme.md +0 -1
  399. package/core/template/views/readme.md +0 -1
  400. package/core/utils/helpers/dateFormat.js +0 -264
  401. package/core/utils/helpers/index.js +0 -202
  402. package/core/utils/index.js +0 -75
  403. package/core/utils/lib/cmd/app.js +0 -686
  404. package/core/utils/lib/cmd/basic.help.txt +0 -40
  405. package/core/utils/lib/cmd/basic.js +0 -141
  406. package/core/utils/lib/cmd/gina-add-bundle.js +0 -328
  407. package/core/utils/lib/cmd/gina-add-views.js +0 -99
  408. package/core/utils/lib/cmd/gina-build.js +0 -218
  409. package/core/utils/lib/cmd/gina-clean.js +0 -26
  410. package/core/utils/lib/cmd/gina-connect.js +0 -176
  411. package/core/utils/lib/cmd/gina-delete-bundle.js +0 -176
  412. package/core/utils/lib/cmd/gina-deploy.js +0 -452
  413. package/core/utils/lib/cmd/gina-init-project.js +0 -83
  414. package/core/utils/lib/cmd/gina-start-bundle.js +0 -3
  415. package/core/utils/lib/cmd/gina-start.js +0 -3
  416. package/core/utils/lib/cmd/index.js +0 -157
  417. package/core/utils/lib/cmd/project.js +0 -14
  418. package/core/utils/lib/collection/src/main.js +0 -650
  419. package/core/utils/lib/logger/containers/file.js +0 -11
  420. package/core/utils/lib/logger/index.js +0 -260
  421. package/core/utils/lib/merge/src/main.js +0 -344
  422. package/core/utils/lib/proc.js +0 -416
  423. package/core/utils/lib/routing/src/main.js +0 -165
  424. package/documentation/css/default.css +0 -3
  425. package/documentation/html/home.html +0 -6
  426. package/documentation/html/inc/_footer.html +0 -5
  427. package/documentation/html/layout.html +0 -21
  428. package/documentation/img/debug-conf1.png +0 -0
  429. package/documentation/img/debug-conf2.png +0 -0
  430. package/documentation/img/debug-conf3.png +0 -0
  431. package/documentation/img/debug-conf4.png +0 -0
  432. package/documentation/img/debug-conf5.png +0 -0
  433. package/documentation/img/debug-conf6.png +0 -0
  434. package/documentation/img/debug-conf7.png +0 -0
  435. package/documentation/img/debug-new1.png +0 -0
  436. package/documentation/img/debug-new2.png +0 -0
  437. package/documentation/img/debug-start.png +0 -0
  438. package/documentation/md/api/controller/main.md +0 -74
  439. package/migration_note.md +0 -7
  440. package/package-lock.json +0 -611
  441. package/script/pre_publish.js +0 -207
  442. package/tutorial/Commands/README.md +0 -56
  443. package/tutorial/Commands/add-bundle-result.png +0 -0
  444. package/tutorial/Commands/add-bundle.png +0 -0
  445. package/tutorial/Commands/delete-bundle.png +0 -0
  446. package/tutorial/Commands/help.png +0 -0
  447. package/tutorial/Commands/init-project.png +0 -0
  448. package/tutorial/Commands/start-bundle-result.png +0 -0
  449. package/tutorial/Commands/start-bundle-stop.png +0 -0
  450. package/tutorial/Commands/start-bundle.png +0 -0
  451. package/tutorial/Commands/version.png +0 -0
  452. package/tutorial/ETC/README.md +0 -74
  453. package/tutorial/ETC/add-bundle-result.png +0 -0
  454. package/tutorial/ETC/add-bundle.png +0 -0
  455. package/tutorial/ETC/init-project.png +0 -0
  456. package/tutorial/Install/README.md +0 -54
  457. package/tutorial/Install/git-get.png +0 -0
  458. package/tutorial/Install/git-install-end.png +0 -0
  459. package/tutorial/Install/git-install-result.png +0 -0
  460. package/tutorial/Install/git-install-start.png +0 -0
  461. package/tutorial/Install/install-end.png +0 -0
  462. package/tutorial/Install/install-result.png +0 -0
  463. package/tutorial/Install/install-start.png +0 -0
  464. package/tutorial/WebStorm/README.md +0 -30
  465. package/tutorial/WebStorm/closure-compiler.png +0 -0
  466. package/tutorial/WebStorm/sass.png +0 -0
package/INSTALL.md ADDED
@@ -0,0 +1,46 @@
1
+ # INSTALL
2
+
3
+ ## Manual installation
4
+ Link globally gina to your user local env
5
+ ```tty
6
+ cd /usr/local/bin
7
+ ```
8
+ ```tty
9
+ ln -s ../lib/node_modules/gina/bin/cli ./gina
10
+ ```
11
+
12
+ Copy the `.gina` sample folder to you home directory
13
+
14
+ ## Setup permissions
15
+
16
+ In order to run Gina properly with no re
17
+
18
+ Skip this step if you are running gina from `root` or through `sudo`
19
+ Create `/var/run/gina` (pid folder) and allow access to your user :
20
+
21
+
22
+ > **Attention:** this step must be repeated everytime the machine is restarted because `/var/run` folder will be cleanned up
23
+
24
+ e.g.:
25
+ ```tty
26
+ sudo mkdir /var/run/gina
27
+ ```
28
+ ```tty
29
+ sudo chown -R myuser:mygroup /var/run/gina
30
+ ```
31
+
32
+ Then run the following command line to start the framework service
33
+
34
+ ```tty
35
+ gina framework:start
36
+ ```
37
+
38
+ hit `ctrl+c` to end the process
39
+ ```tty
40
+ sudo chown <youruser>:<yourgroup> /var/run/gina
41
+ ```
42
+
43
+ Now you can start the service with your usual user
44
+ ```tty
45
+ gina framework:start
46
+ ```
File without changes
package/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2015 Rhinostone <gina@rhinostone.com>
1
+ Copyright (c) 2009-2022 Rhinostone <contact@gina.io>
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  of this software and associated documentation files (the "Software"), to deal
@@ -0,0 +1,96 @@
1
+ # The contributor's guide
2
+ > This is a document is a work in progress.
3
+ > If you would like to contribute, you can contact us at `contact@gina.io`
4
+
5
+ ### Installing Gina
6
+ ---
7
+
8
+ You __cannot__ just install the framework with the `NPM` CLI. You will need to fetch/fork sources from the [github page](https://github.com/Rhinostone/gina) since all files are not published to `NPM`.
9
+
10
+
11
+
12
+ | Requirements | Description
13
+ |--------|--------|
14
+ | OS | Mac OS X or Linux |
15
+ | Node js | Node js v16.x or later |
16
+ | NPM | v8.x or later |
17
+
18
+
19
+
20
+ __NB.:__ Gina is meant to be install globaly
21
+ > [A Note on Permissions](http://npm.github.io/installation-setup-docs/installing/a-note-on-permissions.html)
22
+ > [Alternatives to installing npm packages globally](https://2ality.com/2022/06/global-npm-install-alternatives.html)
23
+
24
+
25
+ #### Check your prefix
26
+
27
+
28
+
29
+ ```tty
30
+ npm config get prefix
31
+ ```
32
+
33
+ > Default `prefix` should be:
34
+ > For libraries `/usr/local`
35
+
36
+ Targeted folder should be: `{prefix}/lib/node_modules/gina`
37
+ Make sure you have the appropriate permissions to write.
38
+
39
+ #### Clone gina
40
+
41
+ Then go to `{prefix}/lib/node_modules` in order to clone the project
42
+ ```tty
43
+ cd {prefix}/lib/node_modules
44
+ ```
45
+
46
+ ```tty
47
+ git clone https://github.com/Rhinostone/gina.git gina
48
+ ```
49
+
50
+ ```tty
51
+ cd gina && git checkout develop
52
+ ```
53
+
54
+ #### Complete installation
55
+
56
+ Run the `pre installation script` in order to setup permissions
57
+ ```tty
58
+ node ./script/pre_install.js
59
+ ```
60
+
61
+ Then run the `post installation script`
62
+ ```tty
63
+ node ./script/post_install.js
64
+ ```
65
+
66
+ Check if everything is working fine
67
+ ```tty
68
+ gina version
69
+ ```
70
+
71
+ ```tty
72
+ gina start
73
+ ```
74
+
75
+ #### Setting the framework default environment
76
+
77
+ > By default, Gina comes with 2 environments : `dev` and `prod`. The default is `prod`. But if you are contributing to the framework we advise you you to use the `dev` environment: you will get a lot of debug messages, but it is easier to track what is being done in background.
78
+
79
+ __Changing default env__
80
+ By default, Gina is installed with `dev` environment which allow you to display the toolbar.
81
+ If you need to change this:
82
+ ```tty
83
+ gina framework:set --env=prod
84
+ ```
85
+
86
+ This only means that if you omit the env in the command line while trying to start the framework, it will automatically add `--env=prod` for you.
87
+
88
+ > __NB:__ Unlike for the projects `envs`, the framework env list cannot be changed; it is `dev` or `prod`.
89
+
90
+
91
+ ### Publishing
92
+ ---
93
+
94
+
95
+ ### Troubleshooting
96
+ ---
package/README.md CHANGED
@@ -1,82 +1,88 @@
1
- Gina![Gina I/O](https://raw.githubusercontent.com/Rhinostone/gina/master/core/asset/img/favicon-16x16.png)
1
+ # Gina
2
+ [![GitHub version](https://badge.fury.io/gh/Rhinostone%2Fgina.svg)](https://badge.fury.io/gh/Rhinostone%2Fgina) [![npm version](https://badge.fury.io/js/gina.svg)](https://badge.fury.io/js/gina)
2
3
 
3
- > Gina was designed to be accessible, flexible, scalable and maintainable. Our main purpose was to allow developpers to create easier and faster web applications.
4
- >
5
- > Essential features are available at this moment, but most of the things we don't have yet can be replaced by some alternatives written in other languages like: Ruby, PHP, .net, Python or C++. You are free to use such alternatives until we implement similar features.
4
+ <strong>Gina I/O</strong> - Node.js MVC and Event Driven framework
6
5
 
6
+ > This is a `preview release`. We are looking for people to help us test and improve `Windows` support.
7
+ > Meanwhile, __Windows users__ can use Docker or an alternative to run Gina and their projects.
8
+ >
9
+ > Some commands or features might not work since the framework is still under development & testing
10
+ >
11
+ > We have some applications using the framework in production and we are improving our code in order to release the `1.0.0` version: which should come by the end of 2022. Thank you for your patience.
7
12
 
13
+ ## Philosophy behind
8
14
 
9
- ## Compatibility
15
+ Gina was designed to be accessible, flexible, scalable and maintainable. Our main purpose was to allow developers to create easier and faster web applications.
10
16
 
11
- __Gina works fine with the following versions of Node.js:__
12
- - `v8.x.x`,
13
- - `v7.x.x`,
14
- - `v6.x.x` (Between Node.js 5.x and 6.3, NPM is broken, use manual installation: by cloning),
15
- - `v5.x.x` (Between Node.js 5.x and 6.3, NPM is broken, use manual installation: by cloning),
16
- - `v4.x.x`,
17
- - `v0.12.x`,
18
- - `v0.11.x`,
19
- - `v0.10.x`
17
+ Gina comes with essential features at this moment, but most of the things we don't have yet can be replaced by some alternatives written in other languages like: Ruby, PHP, .net, Python or C++. You are free to use such alternatives until we implement similar features.
20
18
 
19
+ Note that Gina does not rely on Connect or ExpressJS, still, you can use all plugins or middlewares designed for those frameworks ;-)
21
20
 
22
21
  ## Getting started with Gina I/O
23
22
 
24
- ### Initializing a project
25
- Let's create our first project and install gina.
26
- Type everything after the __`$`__
23
+ ### Installing Gina
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
+ > For Microsoft Windows, you might have to run the command line with Administrator privileges.
27
26
 
28
- ``` tty
29
- $ mkdir myproject
27
+ ``` tty
28
+ npm install -g gina@latest
30
29
  ```
31
30
 
32
- ``` tty
33
- $ cd myproject
31
+ You can check if Gina is properly installed
32
+ ``` tty
33
+ gina version
34
34
  ```
35
+ __NB.:__ This is a shortcut for `gina framework:version`
35
36
 
36
- You can now install the framework using npm:
37
37
 
38
- ``` tty
39
- $ npm install gina@latest
38
+ ### Starting the framework
39
+ Gina is at the same time a framework and a server.
40
+ By starting the framework, you will also start the server.
41
+
42
+ ``` tty
43
+ gina start
40
44
  ```
41
- **OR by cloning (manual installation)**
42
- ```tty
43
- $ mkdir node_modules
44
- $ mkdir node_modules/gina
45
- $ git clone https://github.com/Rhinostone/gina.git ./node_modules/gina
46
- $ node ./node_modules/gina/script/post_install.js
45
+ __NB.:__ This is an alias for `gina framework:start`
46
+
47
+
48
+ ### Initializing a project
49
+ A project is a collection of bundles (applicaitons or services). See it as a representation of your domain.
50
+
51
+ Let's create our first project and install Gina.
52
+
53
+ ``` tty
54
+ mkdir myproject && cd myproject
47
55
  ```
48
56
 
57
+
49
58
  Then you need to __initialize your project__
50
59
 
51
- > On Mac Os X or on Linux
60
+ > On Windows from the Windows CLI, you might need admin privileges.
52
61
 
53
62
  ``` tty
54
- $ ./gina.sh -i myproject
63
+ gina project:add @myproject
55
64
  ```
56
65
 
57
- > on Windows from the Windows CLI - __NEED TO BE ADMIN !!__
58
-
66
+ If you need to remove this project later
59
67
  ``` tty
60
- $ gina -i myproject
68
+ gina project:rm @myproject
61
69
  ```
62
70
 
71
+ ### Creating a bundle (application or service)
63
72
 
64
- __NB:__ All gina commands are launched from the project root.
65
-
66
- ### Creating a bundle (application)
67
-
68
- A project is a set of bundles. Gina lets you create all kind of bundles :
69
- * api & webservices
73
+ A project is a set of bundles. Gina lets you create all kinds of bundles :
74
+ * API & web services
70
75
  * frontend & backend applications
71
76
  * command lines
72
77
 
73
- Note that the default bundle type is api.
78
+ Note that the default bundle type is API.
74
79
 
75
80
  Ok ! Let's do it !
76
81
 
77
82
  ``` tty
78
- $ ./gina.sh -a frontend
83
+ gina bundle:add frontend @myproject
79
84
  ```
85
+ __NB.:__ If you are launching the command from the project directory, you don't need `@myproject`. The same goes for all bundles commands.
80
86
 
81
87
  We have just created a frontend application that will host our homepage.
82
88
  You will find all bundle sources under `myproject/src`.
@@ -84,62 +90,262 @@ You will find all bundle sources under `myproject/src`.
84
90
  You can start the bundle with the following command:
85
91
 
86
92
  ```tty
87
- $ ./gina.sh -s frontend dev
93
+ gina bundle:start frontend @myproject
88
94
  ```
89
- Now, visite http://127.0.0.1:3100/ to check your homepage.
95
+
96
+
97
+ Now, visit http://127.0.0.1:3100/ to check your homepage.
90
98
  Isn't it sexy !?
91
99
 
92
- If you need to stop it, just hit `ctrl+c`.
100
+ If you need to stop your bundle
101
+ ```tty
102
+ gina bundle:stop frontend @myproject
103
+ ```
93
104
 
105
+ If you need to restart you bundle
106
+ ```tty
107
+ gina bundle:restart frontend @myproject
108
+ ```
94
109
 
95
- ### Adding views
110
+ ### Adding templates
96
111
 
97
- The default bundle renders a json representation of a "Hello World" message.
112
+ The default bundle renders a JSON representation of a "Hello World" message.
98
113
 
99
- Let's add views on our frontend
114
+ Let's add a view on our frontend
100
115
 
101
116
  ```tty
102
- $ ./gina.sh -av frontend
117
+ gina view:add frontend @myproject
118
+ ```
119
+ Then restart your bundle
120
+ ```tty
121
+ gina bundle:restart frontend @myproject
103
122
  ```
104
- Now edit the `init` action in `src/frontend/controllers/controller.js` so that you can have `self.render(...)` instead of `self.renderJSON(...)`
123
+
124
+ Now edit the `home` control in `src/frontend/controllers/controller.js` so that you can have `self.render(...)` instead of `self.renderJSON(...)`
105
125
 
106
126
  Once it's done, you just need to refresh your browser.
107
127
 
108
- Gina is shipped with [Swig](http://node-swig.github.io/swig-templates/docs/) as the default template engine. If you are more comfortable with another template engine, you can use your own.
128
+ Gina is shipped with [Swig](https://node-swig.github.io/swig-templates/) as the default template engine. If you are more comfortable with another template engine, you can use your own.
129
+
130
+
131
+
132
+ ### Setting your default environment
133
+
134
+ Please, note that you have 2 types of environments : one for the framework, and one for your project & your bundles.
135
+
136
+ > By default, Gina (the framework) comes with 2 environments : `dev` and `prod`. The default is `prod`. if you are [contributing](./README-4Contributors.md) to the framework or prototyping your application or service, we advise using the `dev` environment.
137
+ > ```tty
138
+ > gina framework:set --env=dev
139
+ > ```
140
+
141
+ You can check which are the environments set for your projects
142
+ ```tty
143
+ gina env:list
144
+ ```
145
+ __or for a particular project__
146
+ ```tty
147
+ gina env:list @myproject
148
+ ```
149
+
150
+ __NB.:__ when adding an environement, you will do so for the entire project.
151
+
152
+ #### Setting your application starting environment on runtime
153
+ > This method does not memorize the selected environment as the default one for your application
154
+
155
+ You can have multiple environments for your project and decide to pick one as the starting env by using `--env=your_env` every time you have to run a bundle.
156
+
157
+ ```tty
158
+ gina bundle:start frontend @myproject --env=prod
159
+ ```
160
+ __NB.:__ Omitting `--env=<env>` will fallback to your project default environment.
109
161
 
110
- ## Debugging in Gina
162
+ #### Setting your project or your application default environment
111
163
 
112
- You can attach a remote debuger like [Visual Studio Code](https://code.visualstudio.com/Download) to Gina.
164
+ For the entire project & for all bundles inside by default
165
+ ```tty
166
+ gina env:use prod @myproject
167
+ ```
168
+ __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.
113
169
 
114
- 1. Open your project
115
- ![New window](./documentation/img/debug-new1.png)
116
- ![New window](./documentation/img/debug-new2.png)
117
- 2. Click to the `Debug` tab
118
- ![New conf](./documentation/img/debug-conf1.png)
119
- 3. Open your configuration file and select `Node.js`
120
- ![New conf](./documentation/img/debug-conf2.png)
121
- ![New conf](./documentation/img/debug-conf3.png)
122
- 4. Select `Attach` and clean your configuration
123
- ![New conf](./documentation/img/debug-conf4.png)
124
- ![New conf](./documentation/img/debug-conf5.png)
125
- 5. Change the __port number__ to match the one you will be listening from Gina (e.g.: `5959`)
126
- ![New conf](./documentation/img/debug-conf6.png)
127
170
 
128
- 6. Save, and go back to your terminal to start your bundle with the debug argument:
129
- Before Node.js `v8.x.x`
130
- ```tty
131
- $ ./gina.sh -s frontend dev --debug-brk=5959
171
+ #### Other operations you can apply to your environment:
172
+ __Adding a new environment for your project__
173
+ ```tty
174
+ gina env:add staging @myproject
132
175
  ```
133
- After Node.js `v8.x.x`
134
- ```tty
135
- $ ./gina.sh -s frontend dev --inspect-brk=5959
176
+ __Removing an existing environment for your project__
177
+ ```tty
178
+ gina env:rm staging @myproject
136
179
  ```
137
- > Gina will be waiting for you to launch the remote debugger.
138
180
 
139
- 7. Launch your remote debugger & have fun !
140
- ![New conf](./documentation/img/debug-conf7.png)
141
- Debugger in action
142
- ![Debugger in action](./documentation/img/debug-start.png)
181
+ __Defining an existing environment as `development` (you can only have one like this)__
182
+ ```tty
183
+ gina env:link-dev <your new dev env>
184
+ ```
185
+
186
+ ### Getting the logs
187
+ You will also get logs related to your running bundles.
188
+ ``` tty
189
+ gina tail
190
+ ```
191
+ __NB.:__ This is an alias for `gina framework:tail`
192
+
193
+ By default, Gina does not store logs. Logs are treated like any other events then printed out to the `process.stdout`.
194
+
195
+ This means that if you need Gina to handle logs storage, you need a logger container (or transport) to receive and output your logs.
196
+
197
+ 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
+
199
+ So to handle log storage for your application, you have 2 options.
200
+ __1) Old school way__
201
+ ```tty
202
+ gina bundle:start frontend @myproject > /usr/local/var/log/gina/frontend.myproject.domain.log 2>&1
203
+ ```
204
+ You can now check
205
+ ```tty
206
+ tail - f /usr/local/var/log/gina/frontend.myproject.domain.log
207
+ ```
208
+
209
+ __2) Create your own container/transport by extending gina default container__
210
+
211
+
212
+ 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.
213
+
214
+ > This feature is still experimental.
215
+
216
+ You can edit `~/.gina/user/extensions/logger/default/config.json` to add `"file"` container to the `flows`.
217
+
218
+ You might need to restart the gina :
219
+
220
+ ```tty
221
+ gina restart
222
+ ```
223
+
224
+ __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
+
226
+ ## HTTPS, HTTP/2 and certificates
227
+
228
+ ### Installing a certificate
229
+ You now want to install a certificate for your project in order to run your project with HTTPS scheme or with HTTP/2 protocol ?
230
+ At this moment, Gina does not generate a cetificate for you, but you can use a service like [sslforfree](https://www.sslforfree.com) to genreate a free 90 days certificate, then install it into your Gina home directory depending on the scope of your host (targeted machine: local or production).
231
+ [SSL For Free](https://www.sslforfree.com) will provide you with a folder named with the domain you have used to setup your certificate. You just need to paste its content into the right location.
232
+
233
+ The directory should be located @`~/.gina/certificates/scopes`.
234
+ By default, `local` scope is set. But when you will go live, you should set the scope to production and paste your certificate into the right folder.
235
+ __E.g:__ The `myproject.domain` folder should be placed into:
236
+ - `~/.gina/certificates/scopes/local` for your dev host
237
+ - `~/.gina/certificates/scopes/production` for you production host
238
+
239
+
240
+ ### Enable HTTPS scheme
241
+ > __NB.:__ `certificate` is `required`.
242
+ > 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.
244
+
245
+ Check what is your actual scheme & protocol status
246
+ ```tty
247
+ gina protocol:list @myproject
248
+ ```
249
+
250
+ Setup HTTPS for the whole project
251
+ ```tty
252
+ gina protocol:set @myproject
253
+ ```
254
+
255
+ Setup HTTPS for a specific application
256
+ ```tty
257
+ gina protocol:set frontend @myproject
258
+ ```
259
+
260
+ Now, you just need to restart your bundle. You should tail your logs in order to get more details if an error is preventing you from starting.
261
+
262
+ ```tty
263
+ gina tail
264
+ ```
265
+
266
+ Open another terminal window
267
+ ```tty
268
+ gina bundle:restart frontend @myproject
269
+ ```
270
+
271
+
272
+ Depending on how you have managed to get your certificate for you dev environment, you might get this kind of mesaage preventing your application to start :
273
+
274
+ ```tty
275
+ Error: unable to get issuer certificate
276
+ at TLSSocket.onConnectSecure (node:_tls_wrap:1530:34)
277
+ at TLSSocket.emit (node:events:390:28)
278
+ at TLSSocket._finishInit (node:_tls_wrap:944:8)
279
+ at TLSWrap.ssl.onhandshakedone (node:_tls_wrap:725:12)
280
+ ```
281
+
282
+ Do not panic, and follow the steps provided in the following section.
283
+
284
+ ### Local scope & certificate consideration
285
+ Ignore the following instructions if you can start your application without any certificate errors.
286
+
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`__.
288
+ 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
+
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`.
291
+
292
+ __Step 1__
293
+ Go to the folder
294
+ ```tty
295
+ cd ~/.gina/certificates/scopes/local/myproject.domain
296
+ ```
297
+
298
+ List your files
299
+ ```tty
300
+ ls
301
+ ```
302
+
303
+ Output should look like
304
+ ```tty
305
+ ca_bundle.crt certificate.crt private.key
306
+ ```
307
+
308
+
309
+ ```tty
310
+ cat certificate.crt
311
+ ```
312
+ Copy the content of `certificate.crt`
313
+
314
+ Visit [https://whatsmychaincert.com](https://whatsmychaincert.com)
315
+ Go to the `Generate the Correct Chain` tool.
316
+ Paste the content you have just copied out of your `certificate.crt` into the field, then __do not forget to check the option__ `Include Root Certificate`.
317
+
318
+ __It will download a chained certificate__.
319
+ Rename it to `certificate.chained+root.crt` and copy/paste the file to your certificates location (~/.gina/certificates/scopes/local/myproject.domain)
320
+
321
+ __Step 2__
322
+ You now need to combine your private key with your new certificate
323
+ Still @ `~/.gina/certificates/scopes/local/myproject.domain` ?
324
+
325
+ ```tty
326
+ cat private.key certificate.chained+root.crt > certificate.combined.pem
327
+ ```
328
+
329
+ __Final step__
330
+
331
+ Go to your project src to add or edit your bundle config the following file : `/path/to/myproject/src/frontend/config/settings.server.credentials.dev.json`
332
+ Where `frontend` is you bundle/application
333
+
334
+ We just need to override Gina default certificate paths
335
+ ```tty
336
+ {
337
+ // "privateKey": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/private.key",
338
+ "certificate": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/certificate.chained+root.crt",
339
+ "ca": "{GINA_HOMEDIR}/certificates/scopes/{scope}/{host}/certificate.combined.pem"
340
+ }
341
+ ```
342
+
343
+ Do this for all of you `myproject`'s bundles, then restart your bundles
344
+ ```tty
345
+ gina bundle:restart @myproject
346
+ ```
347
+
348
+
143
349
 
144
350
  ## Troubleshooting
145
351
 
@@ -150,25 +356,23 @@ __Are you starting for the first time ?__
150
356
  - If you are a __Windows user__, make sure you are running your command line with sufficient permission; like __"launching your terminal as administrator"__.
151
357
 
152
358
 
153
- - If you have just cloned Gina from github, don't forget to run from the project root :
359
+ - If you have just cloned Gina from GitHub, don't forget to run from the project root :
360
+
154
361
  ```tty
155
- $ node node_modules/gina/script/post_install.js
362
+ node node_modules/gina/script/pre_install.js
156
363
  ```
157
364
 
158
- - Have you noticed the __environment argument__ ( dev ) ?
159
- ``` tty
160
- $ ./gina.sh -s frontend dev
161
- ```
162
- Without the __dev__ argument, Gina is going to understand that you want to use the production environment. If it's really what you want to achieve, just __build__ :
163
365
  ```tty
164
- $ ./gina.sh -b frontend prod
366
+ node node_modules/gina/script/post_install.js
165
367
  ```
166
- NB.: `prod` is optional here; if you don't add it, it will build for prod by default.
167
368
 
168
369
 
169
370
  __Are you trying to restart after a crash ?__
170
371
 
171
- Gina uses 2 processes today: one master, one slave (it will change very soon). Once an excepion is thrown and the program crashes, one of the 2 process can remain in the tasks/processes list.
372
+ Before v0.1.0, Gina used 2 processes for each bundle: one master, one slave.
373
+ Once an exception is thrown and the program crashes, one of the 2 processes can remain in the `tasks/processes` list.
374
+
375
+ Gina only uses one process per bundle or one per project if you have decided to merge bundles execution.
172
376
  This has been mostly observed for Windows users.
173
377
 
174
378
  - If you are on a POSIX OS, you should look for `gina`, then kill it !
@@ -177,27 +381,15 @@ This has been mostly observed for Windows users.
177
381
 
178
382
  After this, try again to start, it should run better.
179
383
 
180
- ### I can't re install Gina
181
-
182
- __Are you trying to reinstall from the project root ?__
183
384
 
184
- - Go to your project root (where you can see `env.json` & `project.json`)
185
- - Remove the file `gina`. This bug is related to npm since node 0.12.x and only found on POSIX Operating Systems
186
- ``` tty
187
- $ rm ./gina
188
- ```
189
- - You can now reinstall
190
- ``` tty
191
- $ npm install gina
192
- ```
193
385
 
194
386
 
195
- More documentation and tutorials are coming !
387
+ More documentation and tutorials are coming soon !
196
388
 
197
389
 
198
390
  ## License (MIT)
199
391
 
200
- Copyright (c) 2009-2016 [Rhinostone](http://www.rhinostone.com/)
392
+ Copyright © 2009-2022 [Rhinostone](http://www.rhinostone.com/)
201
393
 
202
394
  Permission is hereby granted, free of charge, to any person obtaining a copy
203
395
  of this software and associated documentation files (the "Software"), to deal
@@ -215,4 +407,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
215
407
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
216
408
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
217
409
  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
218
- THE SOFTWARE.
410
+ THE SOFTWARE.