gina 0.1.1-alpha.98 → 0.1.2-alpha.1

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 (370) hide show
  1. package/LICENSE +1 -1
  2. package/README-4Contributors.md +30 -0
  3. package/README.md +125 -39
  4. package/bin/cli +130 -41
  5. package/bin/cli-debug +46 -15
  6. package/bin/cmd +63 -41
  7. package/bin/gina +57 -49
  8. package/framework/{v0.1.1-alpha.98/lib/inherits → v0.1.2-alpha.1}/LICENSE +1 -1
  9. package/framework/v0.1.2-alpha.1/VERSION +1 -0
  10. package/framework/{v0.1.1-alpha.98/core/asset/js/plugin/readme.md → v0.1.2-alpha.1/core/asset/plugin/README.md} +34 -12
  11. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
  12. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  13. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/html/toolbar.html +251 -0
  14. package/framework/{v0.1.1-alpha.98/core/asset/js/plugin/dist → v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js}/gina.js +4588 -3416
  15. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js +765 -0
  16. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  17. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +7 -0
  18. package/framework/v0.1.2-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  19. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/config.js +315 -131
  20. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/index.js +460 -274
  21. package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/connector.js +22 -0
  22. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/connector.v2.js +51 -51
  23. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/connector.v3.js +51 -51
  24. package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/connector.v4.js +384 -0
  25. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/n1ql.js +3 -2
  26. package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/session-store.js +22 -0
  27. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/session-store.v3.js +12 -12
  28. package/framework/v0.1.2-alpha.1/core/connectors/couchbase/lib/session-store.v4.js +361 -0
  29. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/controller/controller.js +1351 -902
  30. package/framework/v0.1.2-alpha.1/core/controller/index.js +23 -0
  31. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/dev/index.js +1 -1
  32. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/dev/lib/class.js +1 -1
  33. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/dev/lib/factory.js +2 -2
  34. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/gna.js +48 -24
  35. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/README.md +5 -0
  36. package/framework/v0.1.2-alpha.1/core/locales/dist/region/en.json +5727 -0
  37. package/framework/v0.1.2-alpha.1/core/locales/dist/region/fr.json +11452 -0
  38. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/index.js +2 -2
  39. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/src/make.js +39 -41
  40. package/framework/v0.1.2-alpha.1/core/locales/src/resources/region.mapping.json +43 -0
  41. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/model/entity.js +87 -67
  42. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/model/index.js +16 -16
  43. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/model/template/entityFactory.js +1 -1
  44. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/model/template/index.js +17 -15
  45. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/index.js +1 -1
  46. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/file/package.json +1 -1
  47. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/intl/package.json +1 -1
  48. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/intl/src/main.js +5 -5
  49. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/storage/package.json +1 -1
  50. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/storage/src/main.js +6 -5
  51. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/package.json +1 -1
  52. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/src/form-validator.js +404 -300
  53. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/src/main.js +1384 -1314
  54. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/router.js +221 -122
  55. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/server.express.js +69 -65
  56. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/server.isaac.js +274 -180
  57. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/server.js +710 -615
  58. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle/config/settings.json +12 -0
  59. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/settings.server.json +4 -4
  60. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/templates.json +4 -4
  61. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/controllers/controller.content.js +1 -1
  62. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle/controllers/setup.js +111 -0
  63. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/index.js +13 -1
  64. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/content/homepage.html +8 -0
  65. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +11 -0
  66. package/framework/v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +8 -0
  67. package/framework/{v0.1.1-alpha.98/core/template/boilerplate/bundle_templates/html/layout → v0.1.2-alpha.1/core/template/boilerplate/bundle_templates/html/layouts}/main.html +10 -3
  68. package/framework/v0.1.2-alpha.1/core/template/command/gina.bat.tpl +8 -0
  69. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/command/gina.tpl +4 -4
  70. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/env.json +12 -0
  71. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/manifest.json +2 -0
  72. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/package.json +2 -2
  73. package/framework/v0.1.2-alpha.1/core/template/conf/statics.json +12 -0
  74. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/templates.json +9 -9
  75. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/console.js +3 -3
  76. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/context.js +233 -75
  77. package/framework/v0.1.2-alpha.1/helpers/data/LICENSE +9 -0
  78. package/framework/v0.1.2-alpha.1/helpers/data/README.md +12 -0
  79. package/framework/v0.1.2-alpha.1/helpers/data/package.json +20 -0
  80. package/framework/v0.1.2-alpha.1/helpers/data/src/main.js +295 -0
  81. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/dateFormat.js +9 -7
  82. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/index.js +13 -8
  83. package/framework/v0.1.2-alpha.1/helpers/json/LICENSE +9 -0
  84. package/framework/v0.1.2-alpha.1/helpers/json/README.md +12 -0
  85. package/framework/{v0.1.1-alpha.98/helpers/plugins → v0.1.2-alpha.1/helpers/json}/package.json +2 -2
  86. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/json/src/main.js +33 -28
  87. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/path.js +97 -22
  88. package/framework/{v0.1.1-alpha.98/helpers/json → v0.1.2-alpha.1/helpers/plugins}/package.json +2 -2
  89. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/plugins/src/api-error.js +23 -23
  90. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/plugins/src/main.js +3 -3
  91. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/prototypes.js +46 -38
  92. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/text.js +2 -2
  93. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/archiver/package.json +1 -1
  94. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/archiver/src/dep/jszip.min.js +3 -3
  95. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/archiver/src/main.js +183 -168
  96. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/aliases.json +4 -1
  97. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/add.js +84 -28
  98. package/framework/v0.1.2-alpha.1/lib/cmd/bundle/arguments.json +8 -0
  99. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/help.txt +4 -2
  100. package/framework/v0.1.2-alpha.1/lib/cmd/bundle/list.js +175 -0
  101. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/remove.js +39 -27
  102. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/restart.js +14 -8
  103. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/start.js +283 -49
  104. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/stop.js +93 -74
  105. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/add.js +87 -49
  106. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/list.js +26 -4
  107. package/framework/{v0.1.1-alpha.98/lib/cmd/scope → v0.1.2-alpha.1/lib/cmd/env}/remove.js +29 -24
  108. package/framework/v0.1.2-alpha.1/lib/cmd/env/use.js +106 -0
  109. package/framework/v0.1.2-alpha.1/lib/cmd/framework/build.js +93 -0
  110. package/framework/v0.1.2-alpha.1/lib/cmd/framework/init.js +932 -0
  111. package/framework/v0.1.2-alpha.1/lib/cmd/framework/link-node-modules.js +123 -0
  112. package/framework/v0.1.2-alpha.1/lib/cmd/framework/link.js +132 -0
  113. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/open.js +25 -1
  114. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/restart.js +78 -26
  115. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/set.js +120 -40
  116. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/start.js +49 -20
  117. package/framework/v0.1.2-alpha.1/lib/cmd/framework/status.js +144 -0
  118. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/stop.js +64 -31
  119. package/framework/v0.1.2-alpha.1/lib/cmd/framework/tail.js +303 -0
  120. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/version.js +19 -4
  121. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/helper.js +357 -53
  122. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/index.js +23 -23
  123. package/framework/v0.1.2-alpha.1/lib/cmd/port/inc/scan.js +142 -0
  124. package/framework/v0.1.2-alpha.1/lib/cmd/port/list.js +464 -0
  125. package/framework/v0.1.2-alpha.1/lib/cmd/port/reset.js +417 -0
  126. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/add.js +344 -157
  127. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/arguments.json +2 -1
  128. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/build.js +28 -28
  129. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/help.txt +7 -1
  130. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/list.js +22 -2
  131. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/remove.js +19 -17
  132. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/rename.js +11 -11
  133. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/protocol/set.js +260 -211
  134. package/framework/v0.1.2-alpha.1/lib/cmd/scope/add.js +129 -0
  135. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/help.txt +4 -4
  136. package/framework/{v0.1.1-alpha.98/lib/cmd/env/use.js → v0.1.2-alpha.1/lib/cmd/scope/link-production.js} +22 -21
  137. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/list.js +34 -11
  138. package/framework/v0.1.2-alpha.1/lib/cmd/scope/remove.js +122 -0
  139. package/framework/v0.1.2-alpha.1/lib/cmd/scope/use.js +68 -0
  140. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/view/add.js +35 -10
  141. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/collection/package.json +1 -1
  142. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/collection/src/main.js +247 -244
  143. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/config.js +33 -31
  144. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cron/package.json +1 -1
  145. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cron/src/main.js +16 -11
  146. package/framework/v0.1.2-alpha.1/lib/domain/LICENSE +9 -0
  147. package/framework/v0.1.2-alpha.1/lib/domain/README.md +46 -0
  148. package/framework/v0.1.2-alpha.1/lib/domain/dist/public_suffix_list.dat +14186 -0
  149. package/framework/v0.1.2-alpha.1/lib/domain/package.json +20 -0
  150. package/framework/v0.1.2-alpha.1/lib/domain/src/main.js +442 -0
  151. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/generator/index.js +5 -5
  152. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/index.js +3 -2
  153. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1/lib/inherits}/LICENSE +1 -1
  154. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/README.md +2 -2
  155. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/package.json +3 -4
  156. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/src/main.js +3 -3
  157. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/package.json +2 -2
  158. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/default/index.js +15 -2
  159. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/file/index.js +109 -14
  160. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/index.js +12 -3
  161. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/listener.js +29 -21
  162. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/mq/speaker.js +33 -4
  163. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/helper.js +22 -1
  164. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/main.js +36 -9
  165. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/math/index.js +9 -9
  166. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/README.md +2 -2
  167. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/package.json +1 -1
  168. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/src/main.js +118 -91
  169. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/model.js +10 -10
  170. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/proc.js +92 -49
  171. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/routing/package.json +1 -1
  172. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/routing/src/main.js +377 -420
  173. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/session-store.js +13 -7
  174. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/shell.js +3 -3
  175. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/swig-filters/package.json +1 -1
  176. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/swig-filters/src/main.js +140 -119
  177. package/framework/v0.1.2-alpha.1/lib/url/README.md +0 -0
  178. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/validator.js +2 -2
  179. package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/package.json +1 -1
  180. package/package.json +10 -10
  181. package/resources/home/main.json +39 -5
  182. package/resources/home/settings.json +8 -0
  183. package/resources/package.json.template +1 -1
  184. package/script/lib.js +0 -0
  185. package/script/post_install.js +180 -90
  186. package/script/pre_install.js +97 -13
  187. package/services/.gna/67fdf1b224a2ed5597e63d4b64283834468e05e3.txt +0 -0
  188. package/services/.gna/arch +1 -0
  189. package/services/.gna/locals.json +14 -0
  190. package/services/.gna/platform +1 -0
  191. package/services/configure +6 -0
  192. package/services/env.json +18 -0
  193. package/services/manifest.json +30 -0
  194. package/services/package.json +11 -0
  195. package/services/src/proxy/config/app.json +6 -0
  196. package/services/src/proxy/config/routing.json +11 -0
  197. package/services/src/proxy/config/settings.json +9 -0
  198. package/services/src/proxy/config/settings.server.json +31 -0
  199. package/services/src/proxy/config/statics.json +3 -0
  200. package/services/src/proxy/controllers/controller.content.js +58 -0
  201. package/services/src/proxy/controllers/controller.js +30 -0
  202. package/{framework/v0.1.1-alpha.98/core/template/boilerplate/bundle → services/src/proxy}/controllers/setup.js +14 -14
  203. package/services/src/proxy/index.js +31 -0
  204. package/services/src/proxy/lib/domain/README.md +48 -0
  205. package/services/src/proxy/lib/domain/src/config/public_suffix_list.dat +14186 -0
  206. package/services/src/toolbar/config/app.json +6 -0
  207. package/services/src/toolbar/config/routing.json +11 -0
  208. package/{framework/v0.1.1-alpha.98/core/template/boilerplate/bundle → services/src/toolbar}/config/settings.json +0 -0
  209. package/services/src/toolbar/config/settings.server.json +30 -0
  210. package/services/src/toolbar/controllers/controller.content.js +39 -0
  211. package/services/src/toolbar/controllers/controller.js +30 -0
  212. package/services/src/toolbar/controllers/setup.js +111 -0
  213. package/services/src/toolbar/index.js +43 -0
  214. package/utils/helper.js +25 -156
  215. package/utils/prototypes.js +9 -9
  216. package/utils/prototypes.json_clone.js +70 -37
  217. package/framework/v0.1.1-alpha.98/VERSION +0 -1
  218. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.js.map +0 -56
  219. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.min.css +0 -1
  220. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.min.css.map +0 -1
  221. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.min.js +0 -736
  222. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.min.js.map +0 -56
  223. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.onload.min.js +0 -5
  224. package/framework/v0.1.1-alpha.98/core/asset/js/plugin/dist/gina.onload.min.js.map +0 -8
  225. package/framework/v0.1.1-alpha.98/core/connectors/couchbase/lib/connector.js +0 -20
  226. package/framework/v0.1.1-alpha.98/core/connectors/couchbase/lib/session-store.js +0 -21
  227. package/framework/v0.1.1-alpha.98/core/controller/index.js +0 -27
  228. package/framework/v0.1.1-alpha.98/core/locales/dist/region/en.json +0 -9492
  229. package/framework/v0.1.1-alpha.98/core/locales/dist/region/fr.json +0 -9492
  230. package/framework/v0.1.1-alpha.98/core/locales/src/resources/region.mapping.json +0 -28
  231. package/framework/v0.1.1-alpha.98/core/template/boilerplate/bundle_templates/html/homepage.html +0 -4
  232. package/framework/v0.1.1-alpha.98/core/template/conf/statics.json +0 -10
  233. package/framework/v0.1.1-alpha.98/lib/cmd/bundle/arguments.json +0 -4
  234. package/framework/v0.1.1-alpha.98/lib/cmd/bundle/list.js +0 -129
  235. package/framework/v0.1.1-alpha.98/lib/cmd/env/remove.js +0 -150
  236. package/framework/v0.1.1-alpha.98/lib/cmd/framework/init.js +0 -541
  237. package/framework/v0.1.1-alpha.98/lib/cmd/framework/status.js +0 -72
  238. package/framework/v0.1.1-alpha.98/lib/cmd/framework/tail.js +0 -184
  239. package/framework/v0.1.1-alpha.98/lib/cmd/port/inc/scan.js +0 -108
  240. package/framework/v0.1.1-alpha.98/lib/cmd/port/list.js +0 -176
  241. package/framework/v0.1.1-alpha.98/lib/cmd/scope/set.js +0 -57
  242. package/framework/v0.1.1-alpha.98/lib/cmd/scope/unset.js +0 -44
  243. package/framework/v0.1.1-alpha.98/lib/cmd/scope/use.js +0 -79
  244. package/script/post_publish.js +0 -185
  245. package/script/prepare_version.js +0 -552
  246. /package/{framework/v0.1.1-alpha.98/core/template/command/gina.bat.tpl → bin/gina.bat} +0 -0
  247. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/AUTHORS +0 -0
  248. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/html/nolayout.html +0 -0
  249. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/html/static.html +0 -0
  250. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/android-chrome-192x192.png +0 -0
  251. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/android-chrome-512x512.png +0 -0
  252. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/apple-touch-icon.png +0 -0
  253. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/favicon-16x16.png +0 -0
  254. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/favicon-32x32.png +0 -0
  255. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/asset/img/favicon.ico +0 -0
  256. /package/framework/{v0.1.1-alpha.98/core/asset/js → v0.1.2-alpha.1/core/asset}/plugin/uuid.json +0 -0
  257. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  258. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/controller/controller.framework.js +0 -0
  259. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/.travis.yml +0 -0
  260. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/LICENSE +0 -0
  261. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/README.md +0 -0
  262. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -0
  263. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/deps/encoding/encoding.js +0 -0
  264. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/lib/main.js +0 -0
  265. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/lib/types/multipart.js +0 -0
  266. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/lib/types/urlencoded.js +0 -0
  267. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/lib/utils.js +0 -0
  268. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/busboy/package.json +0 -0
  269. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  270. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/dev/lib/tools.js +0 -0
  271. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/currency.json +0 -0
  272. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/dist/language/en.json +0 -0
  273. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/dist/language/fr.json +0 -0
  274. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/src/resources/currency.csv +0 -0
  275. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/locales/src/resources/region.csv +0 -0
  276. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/mime.types +0 -0
  277. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/README.md +0 -0
  278. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/file/README.md +0 -0
  279. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/file/build.json +0 -0
  280. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/intl/README.md +0 -0
  281. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/intl/build.json +0 -0
  282. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/storage/README.md +0 -0
  283. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/storage/build.json +0 -0
  284. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/README.md +0 -0
  285. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/plugins/lib/validator/build.json +0 -0
  286. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/status.codes +0 -0
  287. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/app.json +0 -0
  288. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/config/routing.json +0 -0
  289. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  290. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  291. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  292. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  293. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  294. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  295. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_public/readme.md +0 -0
  296. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  297. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/conf/settings.json +0 -0
  298. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/client/json/401.json +0 -0
  299. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/client/json/403.json +0 -0
  300. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/client/json/404.json +0 -0
  301. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/server/html/50x.html +0 -0
  302. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/server/json/500.json +0 -0
  303. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/error/server/json/503.json +0 -0
  304. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/core/template/extensions/logger/config.json +0 -0
  305. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/plugins/README.md +0 -0
  306. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/helpers/task.js +0 -0
  307. /package/framework/{v0.1.1-alpha.98/helpers/json → v0.1.2-alpha.1/lib/archiver}/README.md +0 -0
  308. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/archiver/build.json +0 -0
  309. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/copy.js +0 -0
  310. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/cp.js +0 -0
  311. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/help.js +0 -0
  312. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/rename.js +0 -0
  313. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/rm.js +0 -0
  314. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/bundle/status.js +0 -0
  315. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/get.js +0 -0
  316. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/help.js +0 -0
  317. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/help.txt +0 -0
  318. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/link-dev.js +0 -0
  319. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/rm.js +0 -0
  320. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/set.js +0 -0
  321. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/env/unset.js +0 -0
  322. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/dot.js +0 -0
  323. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/get.js +0 -0
  324. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/help.js +0 -0
  325. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/help.txt +0 -0
  326. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/msg.json +0 -0
  327. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/framework/update.js +0 -0
  328. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/gina-dev.1.md +0 -0
  329. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/gina-framework.1.md +0 -0
  330. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/gina.1.md +0 -0
  331. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/msg.json +0 -0
  332. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/port/help.js +0 -0
  333. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/port/help.txt +0 -0
  334. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/port/set.js +0 -0
  335. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/help.js +0 -0
  336. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/import.js +0 -0
  337. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/move.js +0 -0
  338. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/restart.js +0 -0
  339. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/rm.js +0 -0
  340. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/start.js +0 -0
  341. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/status.js +0 -0
  342. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/project/stop.js +0 -0
  343. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/protocol/help.js +0 -0
  344. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/protocol/help.txt +0 -0
  345. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/protocol/list.js +0 -0
  346. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/help.js +0 -0
  347. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/link-local.js +0 -0
  348. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cmd/scope/rm.js +0 -0
  349. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/collection/README.md +0 -0
  350. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/collection/build.json +0 -0
  351. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/cron/README.md +0 -0
  352. /package/framework/{v0.1.1-alpha.98/lib/archiver/README.md → v0.1.2-alpha.1/lib/domain/exemples/backend.js} +0 -0
  353. /package/framework/{v0.1.1-alpha.98/lib/routing/README.md → v0.1.2-alpha.1/lib/domain/exemples/frontend.html} +0 -0
  354. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  355. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/example/protected_inheritance.js +0 -0
  356. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/example/simple_inheritance.js +0 -0
  357. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  358. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/README.md +0 -0
  359. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  360. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  361. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/example/merge.js +0 -0
  362. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/example/merge_2_literal objects.js +0 -0
  363. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/merge/example/merge_and_preserve_first.js +0 -0
  364. /package/framework/{v0.1.1-alpha.98/lib/swig-filters → v0.1.2-alpha.1/lib/routing}/README.md +0 -0
  365. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/routing/build.json +0 -0
  366. /package/framework/{v0.1.1-alpha.98/lib/url → v0.1.2-alpha.1/lib/swig-filters}/README.md +0 -0
  367. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/url/index.js +0 -0
  368. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/url/mocks.json +0 -0
  369. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/url/routing.json +0 -0
  370. /package/framework/{v0.1.1-alpha.98 → v0.1.2-alpha.1}/lib/url/test.js +0 -0
@@ -1,7 +1,7 @@
1
- //"use strict";
1
+ "use strict";
2
2
  /**
3
3
  * Isaac Server Integration
4
- *
4
+ *
5
5
  */
6
6
  const fs = require('fs');
7
7
  const {EventEmitter} = require('events');
@@ -12,14 +12,19 @@ const inherits = lib.inherits;
12
12
  const merge = lib.merge;
13
13
  const console = lib.logger;
14
14
 
15
- const env = process.env.NODE_ENV
16
- , isDev = (/^true$/i.test(process.env.NODE_ENV_IS_DEV)) ? true : false;
15
+
16
+ const env = process.env.NODE_ENV
17
+ , isDev = (/^true$/i.test(process.env.NODE_ENV_IS_DEV)) ? true : false
18
+ , scope = process.env.NODE_SCOPE
19
+ , isLocalScope = (/^true$/i.test(process.env.NODE_SCOPE_IS_LOCAL)) ? true : false
20
+ , isProductionScope = (/^true$/i.test(process.env.NODE_SCOPE_IS_PRODUCTION)) ? true : false
21
+ ;
17
22
 
18
23
  var refreshCore = function() {
19
-
24
+
20
25
  var corePath = getPath('gina').core;
21
26
  var libPath = getPath('gina').lib;
22
-
27
+
23
28
  var core = new RegExp( corePath );
24
29
  var excluded = [
25
30
  _(corePath + '/gna.js', true)
@@ -31,12 +36,12 @@ var refreshCore = function() {
31
36
  }
32
37
  }
33
38
 
34
- //update lib & helpers
35
- delete require.cache[require.resolve(_(libPath +'/index.js', true))];
39
+ // Update lib & helpers
40
+ delete require.cache[require.resolve(_(libPath +'/index.js', true))];
36
41
  require.cache[_(libPath +'/index.js', true)] = require( _(libPath +'/index.js', true) );
37
- require.cache[_(corePath + '/gna.js', true)].exports.utils = require.cache[_(libPath +'/index.js', true)];
38
-
39
- //update plugins
42
+ require.cache[_(corePath + '/gna.js', true)].exports.lib = require.cache[_(libPath +'/index.js', true)];
43
+
44
+ // Update plugins
40
45
  delete require.cache[require.resolve(_(corePath +'/plugins/index.js', true))];
41
46
  require.cache[_(corePath +'/plugins/index.js', true)] = require( _(corePath +'/plugins/index.js', true) );
42
47
  require.cache[_(corePath + '/gna.js', true)].exports.plugins = require.cache[_(corePath +'/plugins/index.js', true)];
@@ -48,80 +53,89 @@ const slice = Array.prototype.slice;
48
53
 
49
54
  function ServerEngineClass(options) {
50
55
 
51
- console.debug('[ ENGINE ] Isaac says hello !');
52
-
53
-
56
+ console.debug('[ ENGINE ] Isaac says hello !');
57
+
58
+ // TOTO - See if it would be interesting to add it to Helper::Path & to extend it to also readdirSync, returning the directory content
59
+ var readSync = function(filename) {
60
+ var fileObj = new _(filename, true);
61
+ if ( fileObj.isSymlinkSync() ) {
62
+ filename = fileObj.getSymlinkSourceSync()
63
+ }
64
+
65
+ return fs.readFileSync(filename).toString()
66
+ }
67
+
54
68
  // openssl req -x509 -newkey rsa:2048 -nodes -sha256 -subj "/CN=localhost" -keyout localhost-privkey.pem -out localhost-cert.pem
55
69
  var credentials = {};
56
70
  if ( /https/.test(options.scheme) ) {
57
71
  try {
58
72
  credentials = {
59
- key: fs.readFileSync(options.credentials.privateKey),
60
- cert: fs.readFileSync(options.credentials.certificate)
73
+ key: readSync(options.credentials.privateKey),
74
+ cert: readSync(options.credentials.certificate)
61
75
  };
62
76
  } catch(err) {
63
77
  console.emerg('You are trying to start a secured server (https) wihtout suficient credentials: check your `server settings`\n'+ err.stack);
64
78
  process.exit(1)
65
79
  }
66
80
  }
67
-
68
-
81
+
82
+
69
83
  var allowHTTP1 = true; // by default
70
- if (typeof (options.allowHTTP1) != 'undefined' && options.allowHTTP1 != '' ) {
84
+ if (typeof (options.allowHTTP1) != 'undefined' && options.allowHTTP1 != '' ) {
71
85
  allowHTTP1 = options.allowHTTP1;
72
86
  }
73
87
  credentials.allowHTTP1 = allowHTTP1;
74
-
75
-
88
+
89
+
76
90
  if (typeof (options.credentials.ca) != 'undefined' && options.credentials.ca != '' )
77
91
  credentials.ca = options.credentials.ca;
78
92
 
79
93
  if (typeof (options.credentials.pfx) != 'undefined' && options.credentials.pfx != '' )
80
- credentials.pfx = fs.readFileSync(options.credentials.pfx);
81
-
94
+ credentials.pfx = readSync(options.credentials.pfx);
95
+
82
96
  if (typeof (options.credentials.passphrase) != 'undefined' && options.credentials.passphrase != '' )
83
97
  credentials.passphrase = options.credentials.passphrase;
84
-
98
+
85
99
  var server = null, http = null, ioServer = null;
86
-
100
+
87
101
  if ( /^http\/2/.test(options.protocol) ) {
88
102
  var http2 = require('http2');
89
103
  switch (options.scheme) {
90
- case 'http':
104
+ case 'http':
91
105
  server = http2.createServer({ allowHTTP1: allowHTTP1 });
92
106
  break;
93
-
94
- case 'https':
95
- server = http2.createSecureServer(credentials);
107
+
108
+ case 'https':
109
+ server = http2.createSecureServer(credentials);
96
110
  break;
97
-
111
+
98
112
  default:
99
113
  server = http2.createServer({ allowHTTP1: allowHTTP1 });
100
114
  break;
101
115
  }
102
116
  } else {
103
-
117
+
104
118
  switch (options.scheme) {
105
119
  case 'http':
106
120
  http = require('http');
107
121
  server = http.createServer();
108
122
  break;
109
-
123
+
110
124
  case 'https':
111
125
  var https = require('https');
112
126
  server = https.createServer(credentials);
113
127
  break;
114
-
128
+
115
129
  default:
116
130
  http = require('http');
117
131
  server = http.createServer();
118
132
  break;
119
133
  }
120
134
  }
121
-
122
-
135
+
136
+
123
137
  const middleware = function(path, cb) {
124
-
138
+
125
139
  // if (request.path === path) {
126
140
  // onPath.call(this, path, cb)
127
141
  // } else { // 404
@@ -131,95 +145,11 @@ function ServerEngineClass(options) {
131
145
  // });
132
146
  // stream.end('<h1>404</h1>');
133
147
  // }
134
- }
135
-
136
- if ( typeof(options.ioServer) != 'undefined' && typeof(options.ioServer.integrationMode) != 'undefined' && /^attach$/.test(options.ioServer.integrationMode) ) {
137
- console.info('[IO SERVER ] `eio` found using `'+ options.ioServer.integrationMode +'` integration mode');
138
- delete options.ioServer.integrationMode;
139
- // test done in case we would like to switch to socket.io-server
140
- ioServer = ( typeof(Eio.attach) != 'undefined' ) ? new Eio.attach(server, options.ioServer) : new Eio(server, options.ioServer);
141
-
142
- ioServer.getClientsBySessionId = function(sessionId) {
143
-
144
- if (this.clients.count() == 0)
145
- return null;
146
-
147
- var clients = null;
148
-
149
- for (var id in this.clients) {
150
-
151
- if ( typeof(this.clients[id].sessionId) == 'undefined' )
152
- continue;
153
-
154
- if (!clients) clients = {};
155
-
156
- clients[id] = this.clients[id];
157
- }
158
-
159
- if (clients) {
160
- // allowing to send for each client found sharing the same request session
161
- clients.send = function(payload, option, callback) {
162
- for ( var id in this) {
163
- if ( typeof(this[id].sessionId) == 'undefined')
164
- continue;
165
-
166
- this[id].send(payload, option, callback)
167
- }
168
- }
169
- }
170
-
171
-
172
- return clients;
173
- }
174
-
175
- server.eio = ioServer;
176
-
177
- ioServer.on('connection', function (socket) {
178
-
179
- socket.send(JSON.stringify({
180
- id: this.id,//socket.id,
181
- handshake: 'Welcomed to `'+ options.bundle +'` main socket !',
182
- // how many ms before sending a new ping packet
183
- pingTimeout: options.ioServer.pingTimeout || options.ioServer.timeout,
184
- // how many ms without a pong packet to consider the connection closed
185
- pingInterval: options.ioServer.pingInterval || options.ioServer.interval
186
- }));
187
-
188
- socket.on('message', function(payload){
189
-
190
- try {
191
- console.debug('[IO SERVER ] receiving '+ payload);
192
- payload = JSON.parse(payload);
193
- // bind to session ID
194
- if ( typeof(payload.session) != 'undefined' ) {
195
- this.sessionId = payload.session.id;
196
- }
197
- } catch(err) {
198
- console.error(err.stack||err.message|| err)
199
- }
200
-
201
- });
202
-
203
- socket.on('close', function(){
204
- console.debug('[IO SERVER ] closed socket #'+ this.id);
205
- });
206
- });
207
-
208
- server.on('upgrade', function(req, socket, head){
209
- console.debug('[IO SERVER ] upgrading socket #'+ this.id);
210
- ioServer.handleUpgrade(req, socket, head);
211
- });
212
- // httpServer.on('request', function(req, res){
213
- // ioServer.handleRequest(req, res);
214
- // });
215
-
216
-
217
148
  }
218
-
219
-
220
-
149
+
150
+
221
151
  const onPath = function(path, cb, allowAll) {
222
-
152
+
223
153
  var queryParams = null
224
154
  , i = null
225
155
  , len = null
@@ -227,45 +157,62 @@ function ServerEngineClass(options) {
227
157
  , arr = null
228
158
  , a = null
229
159
  ;
230
-
160
+
231
161
  // http2stream handle by the Router class & the SuperController class
232
- // See `${core}/router.js` & `${core}/controller/controller.js`
233
-
162
+ // See `${core}/router.js` & `${core}/controller/controller.js`
163
+
234
164
  server.on('request', (request, response) => {
235
-
165
+ // healthcheck
166
+ // TODO - add a top level API : server.api.js (check, get ...)
167
+ // TODO - on 90% RAM usage, redirect to `come back later then restart bundle`
168
+ // TODO - check url against wroot : getContext() ?
169
+ if ( /^get$/i.test(request.method) && /\_gina\/health\/check$/i.test(request.url) ) {
170
+ // server.toApi(reques, response)
171
+ // console.debug('[200] '+ request.url);
172
+ response.setHeader('content-type', 'application/json; charset=utf8' );
173
+ response.setHeader('x-powered-by', 'Gina/'+ GINA_VERSION );
174
+ return response.end('{"status":"ok"}');
175
+ }
236
176
  if (isDev) {
237
177
  refreshCore()
238
178
  }
239
-
179
+
240
180
  if ( /engine.io/.test(request.url)) {
241
181
  console.debug('io request');
242
182
  }
243
-
183
+
244
184
  if (/^\*$/.test(path) || path == request.url) {
245
185
  request.params = {};
246
186
  request.query = {};
247
-
187
+
248
188
  if ( /\?/.test(request.url) ) {
249
-
189
+
250
190
  queryParams = request.url.split(/\?/);
251
-
191
+
252
192
  len = queryParams.length;
193
+ // fixing `?` > 1 occurence
194
+ if (len > 2) {
195
+ queryParams[1] = queryParams.slice(1).join('&');
196
+ // cleanup
197
+ queryParams.splice(2);
198
+ len = queryParams.length;
199
+ }
253
200
  request.params[0] = queryParams[0];
254
-
201
+
255
202
  if ( /\&/.test(queryParams[1]) ) {
256
- i = 1;
203
+ i = 1;
257
204
  for (; i < len; ++i) {
258
-
205
+
259
206
  arr = queryParams[i].split(/\&/);
260
- p = 0;
207
+ p = 0;
261
208
  for (; p < arr.length; ++p) {
262
209
  a = arr[p].split(/\=/);
263
210
  // false & true case
264
211
  if ( /^(false|true|on)$/i.test(a[1]) )
265
212
  a[1] = ( /^(true|on)$/i.test(a[1]) ) ? true : false;
266
- else if (a[1].indexOf('%') > -1)
213
+ else if (a[1] && a[1].indexOf('%') > -1)
267
214
  a[1] = decodeURIComponent(a[1]);
268
-
215
+
269
216
  if (/^(\{|\[)/.test(a[1]) ) {
270
217
  try {
271
218
  a[1] = JSON.parse(a[1]);
@@ -273,109 +220,256 @@ function ServerEngineClass(options) {
273
220
  console.warn('[SERVER][INCOMING REQUEST]', 'Could not convert to JSON or Array this key/value to :' + a[0] + ': '+a[1] +'/nLeaving value as a string.');
274
221
  }
275
222
  }
276
- request.query[ a[0] ] = a[1]
277
- }
278
- }
223
+ request.query[ a[0] ] = a[1]
224
+ }
225
+ }
279
226
  } else {
280
227
  a = queryParams[1].split(/\=/);
281
-
228
+
282
229
  if (a.length > 1) {
283
230
  // false & true case
284
231
  if ( /^(false|true|on)$/i.test(a[1]) )
285
232
  a[1] = ( /^(true|on)$/i.test(a[1]) ) ? true : false;
286
-
287
- request.query[ a[0] ] = a[1]
233
+
234
+ request.query[ a[0] ] = a[1]
288
235
  } else { // for redirection purposes or when passing `?encodedJsonObject`
289
236
  try {
290
237
  if ( a[0].indexOf('%') > -1 ) { // encoded URI Component
291
238
  a[0] = decodeURIComponent(a[0])
292
239
  }
293
-
294
- request.query = JSON.parse(a[0]);
240
+
241
+ request.query = a[0] ? JSON.parse(a[0]) : {};
295
242
  } catch(err) {
296
243
  console.error(err.stack)
297
244
  }
298
- }
299
-
245
+ }
246
+
300
247
  }
301
- request.url = request.url.replace(/\?.*/, '')
248
+ request.url = request.url.replace(/\?.*/, '')
302
249
  } else {
303
250
  request.params[0] = request.url
304
251
  }
305
-
306
-
252
+
253
+ var referer = null
254
+ , authority = request.scheme + '://'+ request.authority
255
+ , host = null
256
+ ;
257
+ if ( typeof(request.headers.origin) != 'undefined' ) {
258
+ referer = request.headers.origin;
259
+ } else if (request.headers.referer || request.authority) {
260
+ referer = request.headers.referer || authority;
261
+ }
262
+ var a = null;
263
+ if (authority) {
264
+ a = authority.match(/^[https://|http://][a-z0-9-_.:/]+/);
265
+ if (a) {
266
+ a[0].split(/\//g);
267
+ a.splice(3);
268
+ authority = a.join('/');
269
+ host = authority;
270
+ }
271
+ }
272
+
273
+ if ( referer && /^(https\:\/\/|http\:\/\/)/.test(referer) ) {
274
+ if (referer != authority ) {
275
+ a = referer.match(/^[https://|http://][a-z0-9-_.:/]+\//)[0].split(/\//g);
276
+ a.splice(3);
277
+ referer = a.join('/');
278
+ }
279
+
280
+ a = null;
281
+ }
282
+ request.origin = referer;
283
+ if (!host && referer) {
284
+ host = referer;
285
+ } else if (!host && typeof(request.headers.host) != 'undefined' ) {
286
+ host = request.headers.host;
287
+ }
288
+
289
+ var port = null;
290
+ try {
291
+ port = host.match(/\:\d+/);
292
+ } catch (portError) {
293
+ console.warn('[SERVER] Port not in string for host `'+ host +'`.\nSetting default port to 80.');
294
+ }
295
+ if (port) {
296
+ host = host.replace(port[0], '');
297
+ port = ~~(port[0].substring(1));
298
+ } else {
299
+ port = 80;
300
+ }
301
+
302
+ if (host) {
303
+ host = host.replace(/^(https\:\/\/|http\:\/\/)/, '');
304
+
305
+ // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Origin
306
+ if ( /^http\/2/.test(options.protocol) ) {
307
+ request.headers[':host'] = host;
308
+ request.headers[':port'] = port;
309
+ } else if ( typeof(request.headers.hostname) == 'undefined') {
310
+ request.headers.host = host;
311
+ request.headers.port = port;
312
+ }
313
+
314
+ request.port = port;
315
+ request.host = host;
316
+
317
+ port = null;
318
+ referer = null;
319
+ }
320
+
321
+
307
322
  cb(request, response);
308
- }
309
- });
310
-
323
+ }
324
+ });
325
+
311
326
  }
312
-
327
+
313
328
 
314
329
  // All paths allowed
315
330
  server.all = function(path, cb) {
316
331
  onPath.call(this, path, cb, true)
317
332
  }
318
-
333
+
319
334
  // configuring express plugins|middlewares
320
335
  server._expressMiddlewares = [];
321
336
  /**
322
337
  * <server>.use()
323
338
  * Applies middleware for every single route
324
- *
339
+ *
325
340
  * @param {function} fn
326
341
  */
327
342
  server.use = function use(fn) {
328
-
343
+
329
344
  var offset = 0;
330
345
  //var path = '/';
331
-
346
+
332
347
  // default path to '/'
333
348
  // disambiguate app.use([fn])
334
349
  if (typeof fn !== 'function') {
335
350
  var arg = fn;
336
-
351
+
337
352
  while (Array.isArray(arg) && arg.length !== 0) {
338
353
  arg = arg[0];
339
354
  }
340
-
355
+
341
356
  // first arg is the path
342
357
  if (typeof arg !== 'function') {
343
358
  offset = 1;
344
359
  path = fn;
345
360
  }
346
361
  }
347
-
348
-
362
+
363
+
349
364
  var fns = merge(slice.call(arguments, offset));
350
-
365
+
351
366
  if (fns.length === 0) {
352
367
  throw new TypeError('server.use() requires a middleware function')
353
368
  }
354
-
355
- fns.forEach(function (fn) {
369
+
370
+ fns.forEach(function (fn) {
356
371
  server._expressMiddlewares[server._expressMiddlewares.length] = fn;
357
372
  });
358
-
373
+
359
374
  return this;
360
375
  }
361
-
362
-
363
-
376
+
364
377
 
365
378
  server.on('error', (err) => {
366
379
  console.error(err)
367
380
  });
368
381
 
369
- // server.on('stream', (stream, headers) => {
370
- // // stream is a Duplex
371
- // stream.respond({
372
- // 'content-type': 'text/html',
373
- // ':status': 200
374
- // });
375
- // stream.end('<h1>Hello World</h1>');
376
- // });
377
-
378
-
382
+
383
+ //------------------------------------
384
+ // Engine IO server
385
+ //------------------------------------
386
+ if (
387
+ typeof(options.ioServer) != 'undefined'
388
+ && typeof(options.ioServer.integrationMode) != 'undefined'
389
+ && /^attach$/.test(options.ioServer.integrationMode)
390
+ ) {
391
+ console.info('[IO SERVER ] `eio` found using `'+ options.ioServer.integrationMode +'` integration mode');
392
+ delete options.ioServer.integrationMode;
393
+ // test done in case we would like to switch to socket.io-server
394
+ ioServer = ( typeof(Eio.attach) != 'undefined' ) ? new Eio.attach(server, options.ioServer) : new Eio(server, options.ioServer);
395
+
396
+ ioServer.getClientsBySessionId = function(sessionId) {
397
+
398
+ if (this.clients.count() == 0)
399
+ return null;
400
+
401
+ var clients = null;
402
+
403
+ for (let id in this.clients) {
404
+
405
+ if ( typeof(this.clients[id].sessionId) == 'undefined' )
406
+ continue;
407
+
408
+ if (!clients) clients = {};
409
+
410
+ clients[id] = this.clients[id];
411
+ }
412
+
413
+ if (clients) {
414
+ // allowing to send for each client found sharing the same request session
415
+ clients.send = function(payload, option, callback) {
416
+ for ( var id in this) {
417
+ if ( typeof(this[id].sessionId) == 'undefined')
418
+ continue;
419
+
420
+ this[id].send(payload, option, callback)
421
+ }
422
+ }
423
+ }
424
+
425
+
426
+ return clients;
427
+ }
428
+
429
+ server.eio = ioServer;
430
+
431
+ ioServer.on('connection', function (socket) {
432
+
433
+ socket.send(JSON.stringify({
434
+ id: this.id,//socket.id,
435
+ handshake: 'Welcomed to `'+ options.bundle +'` main socket !',
436
+ // how many ms before sending a new ping packet
437
+ pingTimeout: options.ioServer.pingTimeout || options.ioServer.timeout,
438
+ // how many ms without a pong packet to consider the connection closed
439
+ pingInterval: options.ioServer.pingInterval || options.ioServer.interval
440
+ }));
441
+
442
+ socket.on('message', function(payload){
443
+
444
+ try {
445
+ console.debug('[IO SERVER ] receiving '+ payload);
446
+ payload = JSON.parse(payload);
447
+ // bind to session ID
448
+ if ( typeof(payload.session) != 'undefined' ) {
449
+ this.sessionId = payload.session.id;
450
+ }
451
+ } catch(err) {
452
+ console.error(err.stack||err.message|| err)
453
+ }
454
+ });
455
+
456
+ socket.on('close', function(){
457
+ console.debug('[IO SERVER ] closed socket #'+ this.id);
458
+ });
459
+ });
460
+
461
+ server.on('upgrade', function(req, socket, head){
462
+ console.debug('[IO SERVER ] upgrading socket #'+ this.id);
463
+ ioServer.handleUpgrade(req, socket, head);
464
+ });
465
+ // httpServer.on('request', function(req, res){
466
+ // ioServer.handleRequest(req, res);
467
+ // });
468
+
469
+
470
+ }
471
+
472
+
379
473
 
380
474
  return {
381
475
  instance: server,