gina 0.1.6-alpha.11 → 0.1.6-alpha.110

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 (390) hide show
  1. package/LICENSE +1 -1
  2. package/README-4Contributors.md +14 -8
  3. package/README.md +4 -4
  4. package/bin/cli +14 -0
  5. package/bin/gina +29 -1
  6. package/framework/{v0.1.6-alpha.11/lib/inherits → v0.1.6-alpha.110}/LICENSE +1 -1
  7. package/framework/v0.1.6-alpha.110/VERSION +1 -0
  8. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/plugin/README.md +1 -0
  9. package/framework/v0.1.6-alpha.110/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  10. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +1 -1
  11. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/plugin/dist/vendor/gina/js/gina.js +582 -217
  12. package/framework/v0.1.6-alpha.110/core/asset/plugin/dist/vendor/gina/js/gina.min.js +777 -0
  13. package/framework/v0.1.6-alpha.110/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  14. package/framework/v0.1.6-alpha.110/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +8 -0
  15. package/framework/v0.1.6-alpha.110/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  16. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/config.js +157 -80
  17. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/connectors/couchbase/index.js +105 -25
  18. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/connectors/couchbase/lib/connector.v4.js +124 -22
  19. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/controller/controller.js +653 -160
  20. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/controller/index.js +2 -2
  21. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/.github/workflows/ci.yml +24 -0
  22. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/.github/workflows/lint.yml +23 -0
  23. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/README.md +191 -0
  24. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +149 -0
  25. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +143 -0
  26. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +154 -0
  27. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +148 -0
  28. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
  29. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
  30. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/lib/index.js +57 -0
  31. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/lib/types/multipart.js +680 -0
  32. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/lib/types/urlencoded.js +350 -0
  33. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/lib/utils.js +596 -0
  34. package/framework/v0.1.6-alpha.110/core/deps/busboy-1.6.0/package.json +22 -0
  35. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/.travis.yml +4 -0
  36. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/LICENSE +21 -0
  37. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/bool.js +10 -0
  38. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/boolean_double.js +7 -0
  39. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/boolean_single.js +7 -0
  40. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/default_hash.js +8 -0
  41. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/default_singles.js +7 -0
  42. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/divide.js +8 -0
  43. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/line_count.js +20 -0
  44. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/line_count_options.js +29 -0
  45. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/line_count_wrap.js +29 -0
  46. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/nonopt.js +4 -0
  47. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/reflect.js +2 -0
  48. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/short.js +3 -0
  49. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/string.js +11 -0
  50. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/usage-options.js +19 -0
  51. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/example/xup.js +10 -0
  52. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/index.js +343 -0
  53. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/package.json +31 -0
  54. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/package.json.dist +39 -0
  55. package/framework/v0.1.6-alpha.110/core/deps/optimist-0.6.1/readme.markdown +513 -0
  56. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/HISTORY.md +498 -0
  57. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/LICENSE +7 -0
  58. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/README.md +88 -0
  59. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/bin/swig.js +161 -0
  60. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/bin/swig.js.dist +161 -0
  61. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/dist/swig.min.js +7 -0
  62. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/dist/swig.min.js.map +8 -0
  63. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/index.js +1 -0
  64. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/dateformatter.js +198 -0
  65. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/filters.js +630 -0
  66. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/lexer.js +306 -0
  67. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/loaders/filesystem.js +59 -0
  68. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/loaders/index.js +53 -0
  69. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/loaders/memory.js +63 -0
  70. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/parser.js +744 -0
  71. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/swig.js +740 -0
  72. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/autoescape.js +37 -0
  73. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/block.js +25 -0
  74. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/else.js +25 -0
  75. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/elseif.js +28 -0
  76. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/extends.js +19 -0
  77. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/filter.js +68 -0
  78. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/for.js +130 -0
  79. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/if.js +86 -0
  80. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/import.js +91 -0
  81. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/include.js +100 -0
  82. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/index.js +16 -0
  83. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/macro.js +79 -0
  84. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/parent.js +51 -0
  85. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/raw.js +23 -0
  86. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/set.js +109 -0
  87. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/tags/spaceless.js +42 -0
  88. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/lib/utils.js +184 -0
  89. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/package.json +57 -0
  90. package/framework/v0.1.6-alpha.110/core/deps/swig-1.4.2/package.json.dist +61 -0
  91. package/framework/v0.1.6-alpha.110/core/deps/swig-client/swig.js +5031 -0
  92. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/dev/index.js +1 -1
  93. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/dev/lib/factory.js +1 -1
  94. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/gna.js +104 -22
  95. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/locales/index.js +3 -3
  96. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/locales/src/make.js +1 -1
  97. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/mime.types +1 -0
  98. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/model/entity.js +5 -5
  99. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/model/index.js +30 -26
  100. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/model/template/entityFactory.js +1 -1
  101. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/model/template/index.js +1 -1
  102. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/index.js +3 -3
  103. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/file/package.json +2 -2
  104. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/intl/package.json +2 -2
  105. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/storage/package.json +2 -2
  106. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/validator/package.json +2 -2
  107. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/validator/src/form-validator.js +39 -27
  108. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/validator/src/main.js +360 -85
  109. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/router.js +92 -47
  110. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/server.isaac.js +91 -10
  111. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/server.js +305 -129
  112. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/status.codes +1 -11
  113. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
  114. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/command/gina.tpl +1 -1
  115. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/conf/env.json +19 -0
  116. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/conf/templates.json +4 -2
  117. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/console.js +1 -1
  118. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/context.js +29 -12
  119. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/data/package.json +2 -2
  120. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/data/src/main.js +1 -1
  121. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/dateFormat.js +1 -1
  122. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/index.js +1 -1
  123. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/json/package.json +2 -2
  124. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/json/src/main.js +6 -4
  125. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/path.js +31 -15
  126. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/plugins/package.json +2 -2
  127. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/plugins/src/api-error.js +2 -2
  128. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/plugins/src/main.js +1 -1
  129. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/task.js +2 -2
  130. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/text.js +1 -1
  131. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/archiver/package.json +2 -2
  132. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/archiver/src/main.js +11 -11
  133. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/add.js +2 -1
  134. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/start.js +21 -8
  135. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/env/get.js +1 -1
  136. package/framework/v0.1.6-alpha.110/lib/cmd/env/help.js +30 -0
  137. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/build.js +1 -1
  138. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/init.js +18 -0
  139. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/link-node-modules.js +2 -3
  140. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/link.js +1 -0
  141. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/tail.js +28 -11
  142. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/version.js +15 -1
  143. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/helper.js +6 -2
  144. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/index.js +1 -1
  145. package/framework/v0.1.6-alpha.110/lib/cmd/minion/help.txt +18 -0
  146. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/add.js +3 -2
  147. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/build.js +4 -4
  148. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/list.js +1 -1
  149. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/protocol/list.js +71 -50
  150. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/collection/package.json +2 -2
  151. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/collection/src/main.js +20 -14
  152. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/config.js +1 -1
  153. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cron/package.json +2 -2
  154. package/framework/v0.1.6-alpha.110/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +15754 -0
  155. package/framework/v0.1.6-alpha.110/lib/domain/dist/public_suffix_list.dat +15754 -0
  156. package/framework/v0.1.6-alpha.110/lib/domain/exemples/backend.js +12 -0
  157. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/domain/package.json +2 -2
  158. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/domain/src/main.js +20 -6
  159. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/generator/index.js +1 -1
  160. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/index.js +1 -1
  161. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110/lib/inherits}/LICENSE +1 -1
  162. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/inherits/package.json +2 -2
  163. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/inherits/src/main.js +1 -1
  164. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/logger/package.json +2 -2
  165. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/logger/src/containers/mq/listener.js +10 -2
  166. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/logger/src/helper.js +1 -1
  167. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/logger/src/main.js +1 -1
  168. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/math/index.js +1 -1
  169. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/merge/package.json +2 -2
  170. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/model.js +3 -3
  171. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/proc.js +10 -2
  172. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/routing/package.json +2 -2
  173. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/routing/src/main.js +72 -25
  174. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/session-store.js +3 -3
  175. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/swig-filters/package.json +2 -2
  176. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/swig-filters/src/main.js +70 -15
  177. package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/validator.js +2 -2
  178. package/framework/v0.1.6-alpha.110/package.json +11 -0
  179. package/package.json +3 -3
  180. package/resources/package.json.template +1 -1
  181. package/script/post_install.js +1 -1
  182. package/script/pre_install.js +1 -1
  183. package/utils/helper.js +24 -0
  184. package/framework/v0.1.6-alpha.11/VERSION +0 -1
  185. package/framework/v0.1.6-alpha.11/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
  186. package/framework/v0.1.6-alpha.11/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -766
  187. package/framework/v0.1.6-alpha.11/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
  188. package/framework/v0.1.6-alpha.11/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
  189. package/framework/v0.1.6-alpha.11/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
  190. package/framework/v0.1.6-alpha.11/core/deps/busboy/.travis.yml +0 -17
  191. package/framework/v0.1.6-alpha.11/core/deps/busboy/README.md +0 -225
  192. package/framework/v0.1.6-alpha.11/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -73
  193. package/framework/v0.1.6-alpha.11/core/deps/busboy/deps/encoding/encoding.js +0 -2391
  194. package/framework/v0.1.6-alpha.11/core/deps/busboy/lib/main.js +0 -89
  195. package/framework/v0.1.6-alpha.11/core/deps/busboy/lib/types/multipart.js +0 -328
  196. package/framework/v0.1.6-alpha.11/core/deps/busboy/lib/types/urlencoded.js +0 -214
  197. package/framework/v0.1.6-alpha.11/core/deps/busboy/lib/utils.js +0 -191
  198. package/framework/v0.1.6-alpha.11/core/deps/busboy/package.json +0 -69
  199. package/framework/v0.1.6-alpha.11/lib/domain/dist/public_suffix_list.dat +0 -14186
  200. package/framework/v0.1.6-alpha.11/lib/domain/exemples/backend.js +0 -0
  201. package/framework/v0.1.6-alpha.11/package.json +0 -14
  202. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/AUTHORS +0 -0
  203. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/html/nolayout.html +0 -0
  204. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/html/static.html +0 -0
  205. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/img/android-chrome-192x192.png +0 -0
  206. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/img/android-chrome-512x512.png +0 -0
  207. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/img/apple-touch-icon.png +0 -0
  208. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/img/favicon-16x16.png +0 -0
  209. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/img/favicon-32x32.png +0 -0
  210. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/img/favicon.ico +0 -0
  211. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  212. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/asset/plugin/uuid.json +0 -0
  213. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/connectors/couchbase/lib/connector.js +0 -0
  214. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  215. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  216. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/connectors/couchbase/lib/n1ql.js +0 -0
  217. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/connectors/couchbase/lib/session-store.js +0 -0
  218. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  219. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  220. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  221. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/controller/controller.framework.js +0 -0
  222. /package/framework/{v0.1.6-alpha.11/core/deps/busboy → v0.1.6-alpha.110/core/deps/busboy-1.6.0}/LICENSE +0 -0
  223. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  224. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/dev/lib/class.js +0 -0
  225. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/dev/lib/tools.js +0 -0
  226. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/locales/README.md +0 -0
  227. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/locales/currency.json +0 -0
  228. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/locales/dist/language/en.json +0 -0
  229. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/locales/dist/language/fr.json +0 -0
  230. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/locales/dist/region/en.json +0 -0
  231. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/locales/dist/region/fr.json +0 -0
  232. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/locales/src/resources/currency.csv +0 -0
  233. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/locales/src/resources/region.csv +0 -0
  234. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/locales/src/resources/region.mapping.json +0 -0
  235. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/README.md +0 -0
  236. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/file/README.md +0 -0
  237. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/file/build.json +0 -0
  238. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/intl/README.md +0 -0
  239. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/intl/build.json +0 -0
  240. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/intl/src/main.js +0 -0
  241. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/storage/README.md +0 -0
  242. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/storage/build.json +0 -0
  243. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/storage/src/main.js +0 -0
  244. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/validator/README.md +0 -0
  245. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/plugins/lib/validator/build.json +0 -0
  246. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/server.express.js +0 -0
  247. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/_gitignore +0 -0
  248. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle/config/app.json +0 -0
  249. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle/config/routing.json +0 -0
  250. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle/config/settings.json +0 -0
  251. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  252. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle/config/templates.json +0 -0
  253. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  254. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  255. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle/index.js +0 -0
  256. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  257. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  258. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  259. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  260. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  261. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle_public/readme.md +0 -0
  262. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  263. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  264. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  265. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  266. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  267. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/command/gina.bat.tpl +0 -0
  268. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/conf/manifest.json +0 -0
  269. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/conf/package.json +0 -0
  270. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/conf/settings.json +0 -0
  271. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/conf/statics.json +0 -0
  272. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/error/client/json/401.json +0 -0
  273. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/error/client/json/403.json +0 -0
  274. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/error/client/json/404.json +0 -0
  275. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/error/server/html/50x.html +0 -0
  276. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/error/server/json/500.json +0 -0
  277. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/error/server/json/503.json +0 -0
  278. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/core/template/extensions/logger/config.json +0 -0
  279. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/data/LICENSE +0 -0
  280. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/data/README.md +0 -0
  281. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/json/LICENSE +0 -0
  282. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/json/README.md +0 -0
  283. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/plugins/README.md +0 -0
  284. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/helpers/prototypes.js +0 -0
  285. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/archiver/README.md +0 -0
  286. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/archiver/build.json +0 -0
  287. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/archiver/src/dep/jszip.min.js +0 -0
  288. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/aliases.json +0 -0
  289. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/arguments.json +0 -0
  290. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/copy.js +0 -0
  291. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/cp.js +0 -0
  292. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/help.js +0 -0
  293. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/help.txt +0 -0
  294. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/list.js +0 -0
  295. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/remove.js +0 -0
  296. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/rename.js +0 -0
  297. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/restart.js +0 -0
  298. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/rm.js +0 -0
  299. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/status.js +0 -0
  300. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/bundle/stop.js +0 -0
  301. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/env/add.js +0 -0
  302. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/env/help.txt +0 -0
  303. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/env/link-dev.js +0 -0
  304. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/env/list.js +0 -0
  305. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/env/remove.js +0 -0
  306. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/env/rm.js +0 -0
  307. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/env/set.js +0 -0
  308. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/env/unset.js +0 -0
  309. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/env/use.js +0 -0
  310. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/dot.js +0 -0
  311. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/get.js +0 -0
  312. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/help.js +0 -0
  313. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/help.txt +0 -0
  314. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/msg.json +0 -0
  315. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/open.js +0 -0
  316. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/restart.js +0 -0
  317. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/set.js +0 -0
  318. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/start.js +0 -0
  319. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/status.js +0 -0
  320. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/stop.js +0 -0
  321. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/framework/update.js +0 -0
  322. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/gina-dev.1.md +0 -0
  323. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/gina-framework.1.md +0 -0
  324. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/gina.1.md +0 -0
  325. /package/framework/{v0.1.6-alpha.11/lib/cmd/env → v0.1.6-alpha.110/lib/cmd/minion}/help.js +0 -0
  326. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/msg.json +0 -0
  327. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/port/help.js +0 -0
  328. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/port/help.txt +0 -0
  329. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/port/inc/scan.js +0 -0
  330. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/port/list.js +0 -0
  331. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/port/reset.js +0 -0
  332. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/port/set.js +0 -0
  333. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/arguments.json +0 -0
  334. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/help.js +0 -0
  335. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/help.txt +0 -0
  336. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/import.js +0 -0
  337. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/move.js +0 -0
  338. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/remove.js +0 -0
  339. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/rename.js +0 -0
  340. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/restart.js +0 -0
  341. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/rm.js +0 -0
  342. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/start.js +0 -0
  343. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/status.js +0 -0
  344. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/project/stop.js +0 -0
  345. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/protocol/help.js +0 -0
  346. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/protocol/help.txt +0 -0
  347. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/protocol/set.js +0 -0
  348. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/scope/add.js +0 -0
  349. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/scope/help.js +0 -0
  350. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/scope/help.txt +0 -0
  351. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/scope/link-local.js +0 -0
  352. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/scope/link-production.js +0 -0
  353. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/scope/list.js +0 -0
  354. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/scope/remove.js +0 -0
  355. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/scope/rm.js +0 -0
  356. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/scope/use.js +0 -0
  357. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cmd/view/add.js +0 -0
  358. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/collection/README.md +0 -0
  359. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/collection/build.json +0 -0
  360. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cron/README.md +0 -0
  361. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/cron/src/main.js +0 -0
  362. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/domain/LICENSE +0 -0
  363. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/domain/README.md +0 -0
  364. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/domain/exemples/frontend.html +0 -0
  365. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/inherits/README.md +0 -0
  366. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  367. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/inherits/example/protected_inheritance.js +0 -0
  368. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/inherits/example/simple_inheritance.js +0 -0
  369. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  370. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/logger/README.md +0 -0
  371. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/logger/src/containers/default/index.js +0 -0
  372. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/logger/src/containers/file/index.js +0 -0
  373. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  374. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  375. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/logger/src/containers/mq/index.js +0 -0
  376. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/logger/src/containers/mq/speaker.js +0 -0
  377. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/merge/README.md +0 -0
  378. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/merge/example/merge.js +0 -0
  379. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/merge/example/merge_2_literal objects.js +0 -0
  380. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/merge/example/merge_and_preserve_first.js +0 -0
  381. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/merge/src/main.js +0 -0
  382. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/routing/README.md +0 -0
  383. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/routing/build.json +0 -0
  384. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/shell.js +0 -0
  385. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/swig-filters/README.md +0 -0
  386. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/url/README.md +0 -0
  387. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/url/index.js +0 -0
  388. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/url/mocks.json +0 -0
  389. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/url/routing.json +0 -0
  390. /package/framework/{v0.1.6-alpha.11 → v0.1.6-alpha.110}/lib/url/test.js +0 -0
@@ -4,14 +4,15 @@ const fs = require('fs');
4
4
  const os = require('os');
5
5
  const path = require('path');
6
6
  const EventEmitter = require('events').EventEmitter;
7
- const Busboy = require('./deps/busboy');
7
+ const swig = require('./deps/swig-1.4.2');
8
+ const Busboy = require('./deps/busboy-1.6.0');
8
9
  const Stream = require('stream');
9
10
  const zlib = require('zlib'); // gzip / deflate
10
11
  const util = require('util');
11
12
  var https = require('https');
12
13
  const sslChecker = require('ssl-checker');
13
14
 
14
- const swig = require( _(GINA_FRAMEWORK_DIR +'/node_modules/swig', true) );
15
+
15
16
  var Config = require('./config');
16
17
  var Router = require('./router');
17
18
  var lib = require('./../lib');
@@ -21,6 +22,8 @@ var merge = lib.merge;
21
22
  var Proc = lib.Proc;
22
23
  var console = lib.logger;
23
24
  var SwigFilters = lib.SwigFilters;
25
+ var Domain = lib.Domain;
26
+ var domainLib = new Domain();
24
27
 
25
28
  function Server(options) {
26
29
 
@@ -48,7 +51,7 @@ function Server(options) {
48
51
  var swigOptions = {
49
52
  autoescape: ( typeof(conf.autoescape) != 'undefined') ? conf.autoescape: false,
50
53
  loader: swig.loaders.fs(dir),
51
- cache: (conf.cacheless) ? false : 'memory'
54
+ cache: (conf.isCacheless) ? false : 'memory'
52
55
  };
53
56
 
54
57
  swig.setDefaults(swigOptions);
@@ -293,6 +296,24 @@ function Server(options) {
293
296
 
294
297
  if (failed) {
295
298
  if (sslDetails.daysRemaining > -1) {
299
+ var isProxyHost = getContext('isProxyHost');
300
+ if ( /^true$/i.test(isProxyHost) ) {
301
+ console.warn("Host is behind a reverse proxy, skipping server.verifyCertificate(...) ");
302
+ return;
303
+ }
304
+ var rootDomain = domainLib.getRootDomain(endpoint).value;
305
+ hasMatchedEntry = false;
306
+ for (let i in sslDetails.validFor) {
307
+ if ( new RegExp(sslDetails.validFor[i].replace(/^\*\./, '') + '$').test(rootDomain) ) {
308
+ hasMatchedEntry = true;
309
+ break;
310
+ }
311
+ }
312
+ if (!hasMatchedEntry) {
313
+ console.warn(`[Certificate] "${endpoint}" : Root domain not matching your certificate. If you plan to run your service behind a revese proxy, please do not forget to add "proxy.json" at the root of your project while going to production.${'\n'} ${humanView}`);
314
+ return;
315
+ }
316
+ // sslDetails.validFor
296
317
  console.emerg(`[Certificate] ${endpoint} : It is like there is a problem with your CA certificate${'\n'} ${humanView}`);
297
318
  return;
298
319
  }
@@ -331,7 +352,7 @@ function Server(options) {
331
352
  , serverCoreConf = self.conf.core
332
353
  , routing = {}
333
354
  , reverseRouting = {}
334
- , cacheless = config.isCacheless()
355
+ , isCacheless = config.isCacheless()
335
356
  , env = self.env
336
357
  , scope = self.scope
337
358
  , apps = conf.allBundles // conf.bundles
@@ -371,7 +392,7 @@ function Server(options) {
371
392
  filename = main
372
393
  }
373
394
 
374
- if (cacheless) {
395
+ if (isCacheless) {
375
396
  delete require.cache[require.resolve(_(filename, true))]
376
397
  }
377
398
 
@@ -424,15 +445,15 @@ function Server(options) {
424
445
  }
425
446
 
426
447
  if (typeof(tmp[rule].url) != 'object') {
427
- if (tmp[rule].url.length > 1 && tmp[rule].url.substr(0,1) != '/') {
448
+ if (tmp[rule].url.length > 1 && tmp[rule].url.substring(0,1) != '/') {
428
449
  tmp[rule].url = '/'+tmp[rule].url
429
450
  }
430
- /** else if (tmp[rule].url.length > 1 && conf.envConf[apps[i]][env].server.webroot.substr(conf.envConf[apps[i]][env].server.webroot.length-1,1) == '/') {
431
- tmp[rule].url = tmp[rule].url.substr(1)
451
+ /** else if (tmp[rule].url.length > 1 && conf.envConf[apps[i]][env].server.webroot.substring(conf.envConf[apps[i]][env].server.webroot.length-1,1) == '/') {
452
+ tmp[rule].url = tmp[rule].url.substring(1)
432
453
  }*/
433
454
  else {
434
- if (wroot.substr(wroot.length-1,1) == '/') {
435
- wroot = wroot.substr(wroot.length-1,1).replace('/', '')
455
+ if (wroot.substring(wroot.length-1,1) == '/') {
456
+ wroot = wroot.substring(wroot.length-1,1).replace('/', '')
436
457
  }
437
458
  }
438
459
 
@@ -448,8 +469,8 @@ function Server(options) {
448
469
  localWroot = '/'+ routing[rule].bundle;
449
470
  conf.envConf[tmp[rule].bundle][env].server.webroot = localWroot
450
471
  }
451
- if (localWroot.substr(localWroot.length-1,1) == '/') {
452
- localWroot = localWroot.substr(localWroot.length-1,1).replace('/', '')
472
+ if (localWroot.substring(localWroot.length-1,1) == '/') {
473
+ localWroot = localWroot.substring(localWroot.length-1,1).replace('/', '')
453
474
  }
454
475
  if ( typeof(tmp[rule].param.ignoreWebRoot) == 'undefined' || !tmp[rule].param.ignoreWebRoot )
455
476
  tmp[rule].url = localWroot + tmp[rule].url
@@ -463,11 +484,11 @@ function Server(options) {
463
484
  } else {
464
485
 
465
486
  for (var u=0; u<tmp[rule].url.length; ++u) {
466
- if (tmp[rule].url[u].length > 1 && tmp[rule].url[u].substr(0,1) != '/') {
487
+ if (tmp[rule].url[u].length > 1 && tmp[rule].url[u].substring(0,1) != '/') {
467
488
  tmp[rule].url[u] = '/'+tmp[rule].url[u]
468
489
  } else {
469
- if (wroot.substr(wroot.length-1,1) == '/') {
470
- wroot = wroot.substr(wroot.length-1,1).replace('/', '')
490
+ if (wroot.substring(wroot.length-1,1) == '/') {
491
+ wroot = wroot.substring(wroot.length-1,1).replace('/', '')
471
492
  }
472
493
  }
473
494
  if ( typeof(tmp[rule].param.ignoreWebRoot) == 'undefined' || !tmp[rule].param.ignoreWebRoot )
@@ -584,7 +605,7 @@ function Server(options) {
584
605
  ) {
585
606
 
586
607
  // by default
587
- path = url.replace(url.substr(url.lastIndexOf('/')+1), '');
608
+ path = url.replace(url.substring(url.lastIndexOf('/')+1), '');
588
609
  if ( typeof(altConf) != 'undefined' && altConf ) {
589
610
  bundleConf = self.conf[altConf.split(/\@/)[1]][bundleConf.env];
590
611
  backedupPath = path;
@@ -592,7 +613,7 @@ function Server(options) {
592
613
  }
593
614
 
594
615
 
595
- // catch `statics.json` defined paths || bundleConf.staticResources.indexOf(url.replace(url.substr(url.lastIndexOf('/')+1), '')) > -1
616
+ // catch `statics.json` defined paths || bundleConf.staticResources.indexOf(url.replace(url.substring(url.lastIndexOf('/')+1), '')) > -1
596
617
  if ( bundleConf.staticResources.indexOf(path) > -1 || bundleConf.staticResources.indexOf(staticProps.firstLevel) > -1 ) {
597
618
  if ( typeof(altConf) != 'undefined' && altConf && backedupPath ) {
598
619
  filename = (bundleConf.staticResources.indexOf(path) > -1) ? bundleConf.content.statics[path] + url.replace(backedupPath, '/') : bundleConf.content.statics[staticProps.firstLevel] + url.replace(staticProps.firstLevel, '/');
@@ -631,8 +652,8 @@ function Server(options) {
631
652
  */
632
653
  var getAssets = function (bundleConf, layoutStr, swig, data) {
633
654
 
634
- // layout search for <link|script|img>
635
- var layoutAssets = layoutStr.match(/<link .*?<\/link>|<link .*?(rel\=\"(stylesheet|icon|manifest|(.*)\-icon))(.*)|<script.*?<\/script>|<img .*?(.*)/g) || [];
655
+ // layout search for <link|source|script|img>
656
+ var layoutAssets = layoutStr.match(/<link .*?<\/link>|<link .*?(rel\=\"(stylesheet|icon|manifest|(.*)\-icon))(.*)|<source .*?(type\=\"(image))(.*)|<script.*?<\/script>|<img .*?(.*)/g) || [];
636
657
 
637
658
  var assets = {}
638
659
  , cssFiles = []
@@ -652,63 +673,150 @@ function Server(options) {
652
673
  // layout assets
653
674
  i = 0;
654
675
  len = layoutAssets.length;
655
- var type = null
656
- , isAvailable = null
657
- , tag = null
658
- , properties = null
659
- , p = 0
660
- , pArr = []
676
+ var type = null
677
+ , isAvailable = null
678
+ , tag = null
679
+ , properties = null
680
+ , p = 0
681
+ , pArr = []
682
+ , sourceTagSrcSetStr = ''
661
683
  ;
662
684
  for (; i < len; ++i) {
663
685
 
664
686
  if (
665
- !/(\<img|\<link|\<script)/g.test(layoutAssets[i])
666
- || /\<img/.test(layoutAssets[i]) && /srcset/.test(layoutAssets[i]) // not able to handle this case for now
687
+ !/(\<img|\<link|\<source|\<script)/g.test(layoutAssets[i])
688
+ // ||
689
+ // not able to handle srcset case for now
690
+ /**
691
+ /\<img/.test(layoutAssets[i])
692
+ && /srcset/.test(layoutAssets[i])*/
667
693
  ) {
668
694
  continue;
669
695
  }
670
696
 
697
+ // https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel/preload
698
+ let asType = null;
699
+
671
700
  if ( /\<img/.test(layoutAssets[i]) ) {
672
701
  type = 'image';
673
702
  tag = 'img';
703
+ asType = type;
674
704
  }
675
705
 
676
- if ( /\<script/.test(layoutAssets[i]) ) {
677
- type = 'javascript';
678
- tag = 'script';
679
- }
706
+
680
707
 
681
708
  if ( /\<link/.test(layoutAssets[i]) ) {
682
- if ( /rel\=\"stylesheet/.test(layoutAssets[i]) ) {
683
- type = 'stylesheet';
684
- } else if ( /rel\=\"(icon|(.*)\-icon)/.test(layoutAssets[i]) ) {
685
- type = 'image';
686
- } else {
687
- type = 'file';
709
+ // if ( /rel\=\"stylesheet/.test(layoutAssets[i]) ) {
710
+ // type = 'stylesheet';
711
+ // } else if ( /rel\=\"(icon|(.*)\-icon)/.test(layoutAssets[i]) ) {
712
+ // type = 'image';
713
+ // } else {
714
+ // type = 'file';
715
+ // }
716
+ type = layoutAssets[i].match(/rel=\"[-a-z 0-9]+\"/)[0] || null;
717
+ if (type) {
718
+ type = type.replace(/^rel\=\"|"$/g, '');
719
+ }
720
+
721
+
722
+ switch (type) {
723
+ case /stylesheet/.test(type):
724
+ asType = 'style';
725
+ break;
726
+
727
+ case /javascript/.test(type):
728
+ asType = 'script';
729
+ break;
730
+
731
+ default:
732
+ asType = null;
733
+ if ( /icon/.test(type) ) {
734
+ asType = 'image';
735
+ // ignoring all (fav)icons type: rel="*icon*" case
736
+ continue;
737
+ }
738
+ if ( /font/.test(type) ) {
739
+ asType = 'font';
740
+ }
741
+ // if ( /manifest/.test(type) ) {
742
+ // asType = 'webmanifest';
743
+ // }
744
+ break;
688
745
  }
689
746
 
690
747
  tag = 'link';
691
748
  }
692
749
 
750
+ if ( /\<source/.test(layoutAssets[i]) ) {
751
+ if ( /type\=\"image/.test(layoutAssets[i]) ) {
752
+ type = 'image';
753
+ }
754
+
755
+ tag = 'source';
756
+ }
757
+
758
+ if ( /\<script/.test(layoutAssets[i]) ) {
759
+ type = 'javascript';
760
+ tag = 'script';
761
+ }
762
+
693
763
  domain = null;
764
+ let isEncodedContent = false;
765
+ // repsonsive images
766
+ // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset
767
+ let srcset = null;
768
+ // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesizes
769
+ let sizes = null;
770
+ let urlArr = null;
694
771
  try {
695
- url = layoutAssets[i].match(/(src|href)\=(\".*?\"|\'.*?\')/)[0];
772
+ urlArr = layoutAssets[i].match(/(src|href|srcset)\=(\".*?\"|\'.*?\')/g);
773
+ for (let u=0, uLen=urlArr.length; u<uLen; u++) {
774
+ if ( /data\:/.test(urlArr[u]) ) {
775
+ isEncodedContent = true;
776
+ break;
777
+ }
778
+ if ( /^srcset\=/.test(urlArr[u]) ) {
779
+ srcset = urlArr[u]
780
+ .replace(/((src|href|srcset)\=\"|(src|href|srcset)\=\')/g, '')
781
+ .replace(/\"/g, '');
782
+ if ( /source/i.test(tag) ) {
783
+ sourceTagSrcSetStr += srcset + ','
784
+ }
785
+ }
786
+ if ( /^(src|href)\=/.test(urlArr[u]) ) {
787
+ url = urlArr[u]
788
+ .replace(/((src|href|srcset)\=\"|(src|href|srcset)\=\')/g, '')
789
+ .replace(/\"/g, '');
790
+ }
791
+ }
792
+ if ( isEncodedContent ) { // ignoring "data:..."
793
+ continue
794
+ }
795
+ // url = urlArr[0];
696
796
  } catch (err) {
697
- console.warn('Problem with this asset ('+ i +'/'+ len +'): '+ layoutAssets[i].substr(0, 80) +'...');
797
+ console.warn('Problem with this asset ('+ i +'/'+ len +'): '+ layoutAssets[i].substring(0, 80) +'...');
698
798
  continue;
699
799
  }
700
800
 
701
-
702
- if ( /data\:/.test(url) ) { // ignoring "data:..."
703
- continue
801
+ if ( /source/i.test(tag) ) {
802
+ continue;
704
803
  }
804
+
805
+
806
+ // if ( /data\:/.test(url) ) { // ignoring "data:..."
807
+ // continue
808
+ // }
705
809
  //url = url.replace(/((src|href)\=\"|(src|href)\=\'|\"|\')/g, '');
706
- url = url.replace(/((src|href)\=\"|(src|href)\=\')/g, '');
810
+ // url = url
811
+ // .replace(/((src|href|srcset)\=\"|(src|href|srcset)\=\')/g, '')
812
+ // .replace(/\"/g, '')
813
+ // ;
707
814
  if ( !/^\{\{/.test(url) ) {
708
815
  url = url.replace(/(\"|\')/g, '');
709
816
  }
710
- if (swig && /^\{\{/.test(url) )
817
+ if (swig && /^\{\{/.test(url) ) {
711
818
  url = swig.compile(url, swig.getOptions())(data);
819
+ }
712
820
 
713
821
  if (!/(\:\/\/|^\/\/)/.test(url) ) {
714
822
  filename = getAssetFilenameFromUrl(bundleConf, url);
@@ -728,7 +836,7 @@ function Server(options) {
728
836
  isAvailable = ( /404/.test(filename) ) ? false : true;
729
837
  if ( isAvailable ) {
730
838
  try {
731
- ext = url.substr(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/)[0];
839
+ ext = url.substring(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/)[0];
732
840
  } catch(err) {
733
841
 
734
842
  console.warn('No extension found for `'+ filename +'`\n'+ err.stack );
@@ -739,15 +847,41 @@ function Server(options) {
739
847
 
740
848
  assets[key] = {
741
849
  type : type,
850
+ as : asType,
742
851
  url : url,
743
852
  ext : ext,
744
- mime : (!ext) ? 'NA' : (bundleConf.server.coreConfiguration.mime[ext.substr(1)] || 'NA'),
853
+ mime : (!ext) ? 'NA' : (bundleConf.server.coreConfiguration.mime[ext.substring(1)] || 'NA'),
745
854
  filename : ( /404/.test(filename) ) ? 'not found' : filename,
746
855
  isAvailable : isAvailable
747
856
  };
748
857
 
749
- if (domain)
858
+ //sourceTagSrcSetStr
859
+ if (sourceTagSrcSetStr.length > 0) {
860
+ assets[key]['imagesrcset'] = sourceTagSrcSetStr.substring(0, sourceTagSrcSetStr.length-1);
861
+ // reset
862
+ sourceTagSrcSetStr = '';
863
+ }
864
+
865
+ if (srcset) {
866
+ if ( typeof(assets[key]['imagesrcset']) != 'undefined' ) {
867
+ assets[key]['imagesrcset'] += ', '+ srcset;
868
+ } else {
869
+ assets[key]['imagesrcset'] = srcset;
870
+ }
871
+
872
+ }
873
+
874
+ if (sizes) {
875
+ if ( typeof(assets[key]['imagesizes']) != 'undefined' ) {
876
+ assets[key]['imagesizes'] += ', '+ sizes;
877
+ } else {
878
+ assets[key]['imagesizes'] = sizes;
879
+ }
880
+ }
881
+
882
+ if (domain) {
750
883
  assets[key].domain = domain;
884
+ }
751
885
 
752
886
  if ( type == 'stylesheet' && !/not found/.test(assets[key].filename) ) {
753
887
  cssFiles.push(assets[key].filename)
@@ -873,14 +1007,14 @@ function Server(options) {
873
1007
  //key = (( /404/.test(filename) ) ? '[404]' : '[200]') +' '+ url;
874
1008
  key = url;
875
1009
  isAvailable = ( /404/.test(filename) ) ? false : true;
876
- ext = url.substr(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/)[0];
1010
+ ext = url.substring(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/)[0];
877
1011
  assets[key] = {
878
1012
  referrer : cssFiles[i],
879
1013
  definition : definition,
880
1014
  type : type,
881
1015
  url : url,
882
1016
  ext : ext,
883
- mime : bundleConf.server.coreConfiguration.mime[ext.substr(1)] || 'NA',
1017
+ mime : bundleConf.server.coreConfiguration.mime[ext.substring(1)] || 'NA',
884
1018
  filename : ( /404/.test(filename) ) ? 'not found' : filename
885
1019
  };
886
1020
 
@@ -1035,8 +1169,8 @@ function Server(options) {
1035
1169
  return name
1036
1170
  }
1037
1171
 
1038
- var env = self.conf.env
1039
- , scope = self.conf.scope
1172
+ var env = self.conf.env || self.env
1173
+ , scope = self.conf.scope || self.scope
1040
1174
  ;
1041
1175
 
1042
1176
  for (let i=0, len=matched.length; i<len; ++i) {
@@ -1054,6 +1188,9 @@ function Server(options) {
1054
1188
  project = arr[0];
1055
1189
  env = (arr[1]) ? arr[1] : env;
1056
1190
  }
1191
+ if ( typeof(self.conf[bundle]) == 'undefined' ) {
1192
+ continue;
1193
+ }
1057
1194
  scheme = self.conf[bundle][env].server.scheme;
1058
1195
  hostname = ( !self.conf[bundle][env].hostname ) ? self.conf[bundle][env].server.scheme + '://' + self.conf[bundle][env].host + ':' + self.conf[bundle][env].server.port : self.conf[bundle][env].hostname;
1059
1196
  name = name.replace(oldHost, hostname);
@@ -1122,13 +1259,13 @@ function Server(options) {
1122
1259
  }
1123
1260
 
1124
1261
  this.onHttp2Stream = function(stream, headers, response) {
1125
- var header = null
1126
- , isWebroot = false
1127
- , pathname = null
1128
- , asset = null
1129
- , assets = this._options.template.assets
1130
- , conf = this._options.conf
1131
- , cacheless = conf.cacheless
1262
+ var header = null
1263
+ , isWebroot = false
1264
+ , pathname = null
1265
+ , asset = null
1266
+ , assets = this._options.template.assets
1267
+ , conf = this._options.conf
1268
+ , isCacheless = conf.isCacheless
1132
1269
  ;
1133
1270
 
1134
1271
 
@@ -1227,7 +1364,7 @@ function Server(options) {
1227
1364
  ':status': 301
1228
1365
  };
1229
1366
 
1230
- if (cacheless) {
1367
+ if (isCacheless) {
1231
1368
  header['cache-control'] = 'no-cache, no-store, must-revalidate';
1232
1369
  header['pragma'] = 'no-cache';
1233
1370
  header['expires'] = '0';
@@ -1300,7 +1437,7 @@ function Server(options) {
1300
1437
  header['content-length'] = fs.statSync(assets[ url ].filename).size;
1301
1438
  }
1302
1439
 
1303
- if (cacheless) {
1440
+ if (isCacheless) {
1304
1441
  // source maps integration for javascript & css
1305
1442
  if ( /(.js|.css)$/.test(asset.filename) && fs.existsSync(asset.filename +'.map') ) {
1306
1443
  //pathname = asset.filename +'.map';
@@ -1389,7 +1526,7 @@ function Server(options) {
1389
1526
  self._options.conf = bundleConf
1390
1527
  }
1391
1528
 
1392
- var cacheless = bundleConf.cacheless;
1529
+ var isCacheless = bundleConf.isCacheless;
1393
1530
  // by default
1394
1531
  var filename = bundleConf.publicPath + pathname;
1395
1532
  var isFilenameDir = null
@@ -1417,7 +1554,6 @@ function Server(options) {
1417
1554
  var key = pathname.replace(pathname.split('/').splice(-1), '');
1418
1555
  for ( ; s < sLen; ++s ) {
1419
1556
  if ( bundleConf.staticResources[s] == key ) {
1420
- // if ( eval('/^' + bundleConf.staticResources[s].replace(/\//g,'\\/') +'/').test(pathname) ) {
1421
1557
  filename = bundleConf.content.statics[ bundleConf.staticResources[s] ] +'/'+ pathname.replace(bundleConf.staticResources[s], '');
1422
1558
  break;
1423
1559
  }
@@ -1431,9 +1567,11 @@ function Server(options) {
1431
1567
 
1432
1568
 
1433
1569
  filename = decodeURIComponent(filename);
1434
- fs.exists(filename, function onStaticExists(exist) {
1570
+ let filenameObj = new _(filename, true);
1571
+ filenameObj.exists(function onStaticExists(exists) {
1572
+ // fs.exists(filename, function onStaticExists(exists) {
1435
1573
 
1436
- if (!exist) {
1574
+ if (!exists) {
1437
1575
  return throwError(response, 404, 'Page not found: \n' + pathname, next);
1438
1576
  }
1439
1577
 
@@ -1446,48 +1584,49 @@ function Server(options) {
1446
1584
  if ( !fs.existsSync(filename) ) {
1447
1585
  throwError(response, 403, 'Forbidden: \n' + pathname, next);
1448
1586
  return;
1449
- } else {
1450
- var ext = 'html';
1451
- if ( /http\/2/.test(protocol) ) {
1452
- header = {
1453
- ':status': 301,
1454
- 'location': request.url,
1455
- 'content-type': bundleConf.server.coreConfiguration.mime[ext]+'; charset='+ bundleConf.encoding
1456
- };
1587
+ }
1457
1588
 
1458
- if (cacheless) {
1459
- header['cache-control'] = 'no-cache, no-store, must-revalidate';
1460
- header['pragma'] = 'no-cache';
1461
- header['expires'] = '0';
1462
- }
1463
- request = checkPreflightRequest(request, response);
1464
- header = completeHeaders(header, request, response);
1589
+ var ext = 'html';
1590
+ if ( /http\/2/.test(protocol) ) {
1591
+ header = {
1592
+ ':status': 301,
1593
+ 'location': request.url,
1594
+ 'content-type': bundleConf.server.coreConfiguration.mime[ext]+'; charset='+ bundleConf.encoding
1595
+ };
1465
1596
 
1466
- if (!stream.destroyed) {
1467
- stream.respond(header);
1468
- stream.end();
1469
- }
1597
+ if (isCacheless) {
1598
+ header['cache-control'] = 'no-cache, no-store, must-revalidate';
1599
+ header['pragma'] = 'no-cache';
1600
+ header['expires'] = '0';
1601
+ }
1602
+ request = checkPreflightRequest(request, response);
1603
+ header = completeHeaders(header, request, response);
1470
1604
 
1471
- } else {
1472
- response.setHeader('location', request.url);
1473
- request = checkPreflightRequest(request, response);
1474
- completeHeaders(null, request, response);
1475
- if (cacheless) {
1476
- response.writeHead(301, {
1477
- 'cache-control': 'no-cache, no-store, must-revalidate', // preventing browsers from using cache
1478
- 'pragma': 'no-cache',
1479
- 'expires': '0',
1480
- 'content-type': bundleConf.server.coreConfiguration.mime[ext]
1481
- });
1482
- }
1483
- response.end()
1605
+ if (!stream.destroyed) {
1606
+ stream.respond(header);
1607
+ stream.end();
1484
1608
  }
1609
+
1610
+ } else {
1611
+ response.setHeader('location', request.url);
1612
+ request = checkPreflightRequest(request, response);
1613
+ completeHeaders(null, request, response);
1614
+ if (isCacheless) {
1615
+ response.writeHead(301, {
1616
+ 'cache-control': 'no-cache, no-store, must-revalidate', // preventing browsers from using cache
1617
+ 'pragma': 'no-cache',
1618
+ 'expires': '0',
1619
+ 'content-type': bundleConf.server.coreConfiguration.mime[ext]
1620
+ });
1621
+ }
1622
+ response.end()
1485
1623
  }
1624
+
1486
1625
  return;
1487
1626
  }
1488
1627
 
1489
1628
 
1490
- if (cacheless) {
1629
+ if (isCacheless) {
1491
1630
  delete require.cache[require.resolve(filename)];
1492
1631
  }
1493
1632
 
@@ -1537,8 +1676,12 @@ function Server(options) {
1537
1676
  request.url = ( ext != null && typeof(ext[0]) != 'undefined' ) ? request.url : request.url + 'index.html';
1538
1677
 
1539
1678
  self._responseHeaders = response.getHeaders();
1540
- if (!isBinary && typeof(self._options.template.assets[request.url]) == 'undefined')
1679
+ if (
1680
+ !isBinary
1681
+ && typeof(self._options.template.assets[request.url]) == 'undefined'
1682
+ ) {
1541
1683
  self._options.template.assets = getAssets(bundleConf, file);
1684
+ }
1542
1685
 
1543
1686
  if (
1544
1687
  typeof(self._options.template.assets[request.url]) == 'undefined'
@@ -1603,7 +1746,7 @@ function Server(options) {
1603
1746
  'location': request.url
1604
1747
  };
1605
1748
 
1606
- if (cacheless) {
1749
+ if (isCacheless) {
1607
1750
  header['cache-control'] = 'no-cache, no-store, must-revalidate';
1608
1751
  header['pragma'] = 'no-cache';
1609
1752
  header['expires'] = '0';
@@ -1674,11 +1817,11 @@ function Server(options) {
1674
1817
  'content-type': contentType + '; charset='+ bundleConf.encoding
1675
1818
  };
1676
1819
 
1677
- if (cacheless) {
1820
+ if (isCacheless) {
1678
1821
  // source maps integration for javascript & css
1679
1822
  if ( /(.js|.css)$/.test(filename) && fs.existsSync(filename +'.map') && !/sourceMappingURL/.test(file) ) {
1680
1823
  //pathname = pathname +'.map';
1681
- pathname = webroot + pathname.substr(1) +'.map';
1824
+ pathname = webroot + pathname.substring(1) +'.map';
1682
1825
  // serve without cache
1683
1826
  header['X-SourceMap'] = pathname;
1684
1827
  header['cache-control'] = 'no-cache, no-store, must-revalidate';
@@ -1708,11 +1851,11 @@ function Server(options) {
1708
1851
  response.setHeader('content-length', fs.statSync(filename).size);
1709
1852
  }
1710
1853
 
1711
- if (cacheless) {
1854
+ if (isCacheless) {
1712
1855
  // source maps integration for javascript & css
1713
1856
  if ( /(.js|.css)$/.test(filename) && fs.existsSync(filename +'.map') && !/sourceMappingURL/.test(file) ) {
1714
1857
  //pathname = pathname +'.map'
1715
- pathname = webroot + pathname.substr(1) +'.map';
1858
+ pathname = webroot + pathname.substring(1) +'.map';
1716
1859
  response.setHeader("X-SourceMap", pathname)
1717
1860
  }
1718
1861
 
@@ -1753,7 +1896,8 @@ function Server(options) {
1753
1896
  });
1754
1897
 
1755
1898
 
1756
- })
1899
+ });
1900
+ filenameObj = null;
1757
1901
  }
1758
1902
 
1759
1903
 
@@ -1765,6 +1909,28 @@ function Server(options) {
1765
1909
  // catch all (request urls)
1766
1910
  self.instance.all('*', function onInstance(request, response, next) {
1767
1911
 
1912
+ // Caching = [...]
1913
+ // TODO - handle this through a middleware
1914
+ /**
1915
+ * var cacheIndex = ['/api/document/get/b47c4dd3-f7c4-44b2-b1fb-401948be1ca4'].indexOf(request.url)
1916
+ * if ( cacheIndex > -1) {
1917
+ * // return caching[cacheIndex].content
1918
+ * }
1919
+ */
1920
+
1921
+ // Retrieving cached route
1922
+ // var cachedUrls = ['/'];
1923
+ // if (cachedUrls.indexOf(request.url) > -1) {
1924
+ // request.routing = JSON.parse('{"method":"GET","namespace":"home","url":"/","rule":"home@public","param":{"control":"home","file":"../home"},"middleware":["middlewares.maintenance.check"],"bundle":"public","isXMLRequest":false,"isWithCredentials":false}');
1925
+ // var headers = JSON.parse('{"x-powered-by":"Gina I/O - v0.1.6-alpha.94","access-control-allow-headers":"X-Requested-With, Content-Type","access-control-allow-methods":"GET","access-control-allow-credentials":true,"vary":"Origin","accept-language":"en-US,en;q=0.8,fr;q=0.6"}');
1926
+ // for (let h in headers) {
1927
+ // response.setHeader(h, headers[h]);
1928
+ // }
1929
+
1930
+ // return local.router.route(request, response, next, request.routing);
1931
+ // }
1932
+
1933
+
1768
1934
 
1769
1935
  request.setEncoding(self.conf[self.appName][self.env].encoding);
1770
1936
  // be carfull, if you are using jQuery + cross domain, you have to set the header manually in your $.ajax query -> headers: {'X-Requested-With': 'XMLHttpRequest'}
@@ -1864,7 +2030,7 @@ function Server(options) {
1864
2030
  if ( typeof(ext) != 'undefined' && ext != null) {
1865
2031
  ext = ext[0];
1866
2032
  // if image with `@` found
1867
- if ( /^image/i.test(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substr(1)]) ) {
2033
+ if ( /^image/i.test(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substring(1)]) ) {
1868
2034
  isImage = true
1869
2035
  }
1870
2036
  }
@@ -1873,7 +2039,7 @@ function Server(options) {
1873
2039
  // and must not be an email
1874
2040
  && !/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/.test(request.url)
1875
2041
  // and must be handled by mime.types
1876
- && typeof(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substr(1)]) != 'undefined'
2042
+ && typeof(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substring(1)]) != 'undefined'
1877
2043
  ||
1878
2044
  ext != null
1879
2045
  && isImage
@@ -1899,7 +2065,7 @@ function Server(options) {
1899
2065
 
1900
2066
  if (
1901
2067
  staticProps.isStaticFilename && staticsArr.indexOf(request.url) > -1
1902
- || staticProps.isStaticFilename && staticsArr.indexOf( request.url.replace(request.url.substr(request.url.lastIndexOf('/')+1), '') ) > -1
2068
+ || staticProps.isStaticFilename && staticsArr.indexOf( request.url.replace(request.url.substring(request.url.lastIndexOf('/')+1), '') ) > -1
1903
2069
  || staticProps.isStaticFilename && new RegExp('^'+ staticProps.firstLevel).test(request.url)
1904
2070
  || /\/$/.test(request.url) && !isWebrootHandledByRouting && !/\/engine\.io\//.test(request.url)
1905
2071
  ) {
@@ -2067,11 +2233,14 @@ function Server(options) {
2067
2233
  'method': 'POST',
2068
2234
  'bundle' : self.appName
2069
2235
  };
2070
- var busboy = new Busboy({ headers: request.headers });
2236
+ var busboy = Busboy({ headers: request.headers });
2071
2237
 
2072
2238
  // busboy.on('field', function(fieldname, val, fieldnameTruncated, valTruncated) {
2073
2239
  // console.log('Field [' + fieldname + ']: value: ' + inspect(val));
2074
2240
  // });
2241
+
2242
+ // Attention: on busboy upgrade, we needs to adapt `busboy/lib/types/multipart.js`
2243
+ // For this, check the emit method
2075
2244
  busboy.on('file', function(fieldname, file, filename, encoding, mimetype, group) {
2076
2245
 
2077
2246
  file._dataLen = 0;
@@ -2087,7 +2256,7 @@ function Server(options) {
2087
2256
  && opt.groups[group].allowedExtensions != '*'
2088
2257
  ) {
2089
2258
  var ext = opt.groups[group].allowedExtensions;
2090
- var fileExt = filename.substr(filename.lastIndexOf('.')+1)
2259
+ var fileExt = filename.substring(filename.lastIndexOf('.')+1)
2091
2260
  if ( !Array.isArray(ext) ) {
2092
2261
  ext = [ext]
2093
2262
  }
@@ -2247,8 +2416,8 @@ function Server(options) {
2247
2416
  request.body = request.body.replace(/\+/g, ' ');
2248
2417
  }
2249
2418
 
2250
- if ( request.body.substr(0,1) == '?')
2251
- request.body = request.body.substr(1);
2419
+ if ( request.body.substring(0,1) == '?')
2420
+ request.body = request.body.substring(1);
2252
2421
 
2253
2422
  try {
2254
2423
  bodyStr = decodeURIComponent(request.body); // it is already a string for sure
@@ -2399,8 +2568,8 @@ function Server(options) {
2399
2568
  request.body = request.body.replace(/\+/g, ' ');
2400
2569
  }
2401
2570
 
2402
- if ( request.body.substr(0,1) == '?')
2403
- request.body = request.body.substr(1);
2571
+ if ( request.body.substring(0,1) == '?')
2572
+ request.body = request.body.substring(1);
2404
2573
 
2405
2574
  // false & true case
2406
2575
  try {
@@ -2521,8 +2690,10 @@ function Server(options) {
2521
2690
 
2522
2691
  var config = new Config();
2523
2692
  config.setBundles(self.bundles);
2524
- var conf = config.getInstance(); // for all loaded bundles
2525
- if ( typeof(conf) != 'undefined') {//for cacheless mode
2693
+ // for all loaded bundles
2694
+ var conf = config.getInstance();
2695
+ //for cacheless mode
2696
+ if ( typeof(conf) != 'undefined') {
2526
2697
  self.conf = conf;
2527
2698
  }
2528
2699
 
@@ -2537,7 +2708,7 @@ function Server(options) {
2537
2708
  if (self.bundles.indexOf(b) < 0) continue;
2538
2709
  if ( typeof(conf[b][self.env].content) != 'undefined' && typeof(conf[b][self.env].content.statics) != 'undefined' && conf[b][self.env].content.statics.count() > 0 ) {
2539
2710
  for (let s in conf[b][self.env].content.statics) {
2540
- s = (s.substr(0,1) == '/') ? s.substr(1) : s;
2711
+ s = (s.substring(0,1) == '/') ? s.substring(1) : s;
2541
2712
  if ( (new RegExp('^/'+s)).test(pathname) ) {
2542
2713
  bundle = b;
2543
2714
  break end
@@ -2572,18 +2743,18 @@ function Server(options) {
2572
2743
  }
2573
2744
 
2574
2745
  var onBundleConfigLoaded = function(bundle, options) {
2575
- var err = options.err
2576
- , cacheless = options.config.isCacheless()
2577
- , pathname = options.pathname
2578
- , req = options.req
2579
- , res = options.res
2580
- , config = options.conf
2581
- , next = options.next
2582
- , callback = options.callback
2746
+ var err = options.err
2747
+ , isCacheless = options.config.isCacheless()
2748
+ , pathname = options.pathname
2749
+ , req = options.req
2750
+ , res = options.res
2751
+ , config = options.conf
2752
+ , next = options.next
2753
+ , callback = options.callback
2583
2754
  ;
2584
2755
 
2585
2756
  //Reloading assets & files.
2586
- // if (!cacheless) { // all but dev & debug
2757
+ // if (!isCacheless) { // all but dev & debug
2587
2758
  callback(err, bundle, pathname, options.config, req, res, next)
2588
2759
  // } else {
2589
2760
  // config.refresh(bundle, function(err, routing) {
@@ -2706,7 +2877,7 @@ function Server(options) {
2706
2877
  , isRoute = {}
2707
2878
  , withViews = hasViews(bundle)
2708
2879
  , router = local.router
2709
- , cacheless = config.isCacheless()
2880
+ , isCacheless = config.isCacheless()
2710
2881
  , wroot = null
2711
2882
  ;
2712
2883
 
@@ -2736,6 +2907,11 @@ function Server(options) {
2736
2907
  var isMethodAllowed = null, hostname = null;
2737
2908
  out:
2738
2909
  for (let name in routing) {
2910
+ // ignoring routes out of scope
2911
+ if ( routing[name].scopes.indexOf(process.env.NODE_SCOPE) < 0 ) {
2912
+ continue;
2913
+ }
2914
+
2739
2915
  if ( typeof(routing[name]['param']) == 'undefined' ) {
2740
2916
  break;
2741
2917
  }
@@ -2961,11 +3137,11 @@ function Server(options) {
2961
3137
  , ext = null
2962
3138
  , isHtmlContent = false
2963
3139
  , hasCustomErrorFile = false
2964
- , eCode = code.toString().substr(0,1) + 'xx'
3140
+ , eCode = code.toString().substring(0,1) + 'xx'
2965
3141
  ;
2966
- var extArr = url.substr(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/);
3142
+ var extArr = url.substring(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/);
2967
3143
  if (extArr) {
2968
- ext = extArr[0].substr(1);
3144
+ ext = extArr[0].substring(1);
2969
3145
  }
2970
3146
  if ( !ext || /^(html|htm)$/i.test(ext) ) {
2971
3147
  isHtmlContent = true;