gina 0.1.6-alpha.12 → 0.1.6-alpha.120

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 +16 -2
  5. package/bin/gina +29 -1
  6. package/framework/{v0.1.6-alpha.12/lib/inherits → v0.1.6-alpha.120}/LICENSE +1 -1
  7. package/framework/v0.1.6-alpha.120/VERSION +1 -0
  8. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/plugin/README.md +1 -0
  9. package/framework/v0.1.6-alpha.120/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -0
  10. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +1 -1
  11. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/plugin/dist/vendor/gina/js/gina.js +617 -233
  12. package/framework/v0.1.6-alpha.120/core/asset/plugin/dist/vendor/gina/js/gina.min.js +778 -0
  13. package/framework/v0.1.6-alpha.120/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  14. package/framework/v0.1.6-alpha.120/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +8 -0
  15. package/framework/v0.1.6-alpha.120/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  16. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/config.js +157 -74
  17. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/index.js +108 -26
  18. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/connector.v4.js +124 -22
  19. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/controller/controller.js +683 -163
  20. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/controller/index.js +2 -2
  21. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/.github/workflows/ci.yml +24 -0
  22. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/.github/workflows/lint.yml +23 -0
  23. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/README.md +191 -0
  24. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +149 -0
  25. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +143 -0
  26. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +154 -0
  27. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +148 -0
  28. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +101 -0
  29. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +84 -0
  30. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/lib/index.js +57 -0
  31. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/lib/types/multipart.js +680 -0
  32. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/lib/types/urlencoded.js +350 -0
  33. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/lib/utils.js +596 -0
  34. package/framework/v0.1.6-alpha.120/core/deps/busboy-1.6.0/package.json +22 -0
  35. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/.travis.yml +4 -0
  36. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/LICENSE +21 -0
  37. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/bool.js +10 -0
  38. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/boolean_double.js +7 -0
  39. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/boolean_single.js +7 -0
  40. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/default_hash.js +8 -0
  41. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/default_singles.js +7 -0
  42. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/divide.js +8 -0
  43. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/line_count.js +20 -0
  44. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/line_count_options.js +29 -0
  45. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/line_count_wrap.js +29 -0
  46. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/nonopt.js +4 -0
  47. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/reflect.js +2 -0
  48. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/short.js +3 -0
  49. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/string.js +11 -0
  50. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/usage-options.js +19 -0
  51. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/example/xup.js +10 -0
  52. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/index.js +343 -0
  53. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/package.json +31 -0
  54. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/package.json.dist +39 -0
  55. package/framework/v0.1.6-alpha.120/core/deps/optimist-0.6.1/readme.markdown +513 -0
  56. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/HISTORY.md +498 -0
  57. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/LICENSE +7 -0
  58. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/README.md +88 -0
  59. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/bin/swig.js +161 -0
  60. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/bin/swig.js.dist +161 -0
  61. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/dist/swig.min.js +7 -0
  62. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/dist/swig.min.js.map +8 -0
  63. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/index.js +1 -0
  64. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/dateformatter.js +198 -0
  65. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/filters.js +630 -0
  66. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/lexer.js +306 -0
  67. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/loaders/filesystem.js +59 -0
  68. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/loaders/index.js +53 -0
  69. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/loaders/memory.js +63 -0
  70. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/parser.js +744 -0
  71. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/swig.js +740 -0
  72. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/autoescape.js +37 -0
  73. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/block.js +25 -0
  74. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/else.js +25 -0
  75. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/elseif.js +28 -0
  76. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/extends.js +19 -0
  77. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/filter.js +68 -0
  78. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/for.js +130 -0
  79. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/if.js +86 -0
  80. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/import.js +91 -0
  81. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/include.js +100 -0
  82. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/index.js +16 -0
  83. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/macro.js +79 -0
  84. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/parent.js +51 -0
  85. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/raw.js +23 -0
  86. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/set.js +109 -0
  87. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/tags/spaceless.js +42 -0
  88. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/lib/utils.js +184 -0
  89. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/package.json +57 -0
  90. package/framework/v0.1.6-alpha.120/core/deps/swig-1.4.2/package.json.dist +61 -0
  91. package/framework/v0.1.6-alpha.120/core/deps/swig-client/swig.js +5031 -0
  92. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/dev/index.js +1 -1
  93. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/dev/lib/factory.js +1 -1
  94. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/gna.js +104 -22
  95. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/index.js +3 -3
  96. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/src/make.js +1 -1
  97. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/mime.types +1 -0
  98. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/model/entity.js +5 -5
  99. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/model/index.js +30 -26
  100. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/model/template/entityFactory.js +1 -1
  101. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/model/template/index.js +1 -1
  102. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/index.js +3 -3
  103. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/file/package.json +2 -2
  104. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/intl/package.json +2 -2
  105. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/storage/package.json +2 -2
  106. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/validator/package.json +2 -2
  107. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/validator/src/form-validator.js +39 -27
  108. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/validator/src/main.js +388 -101
  109. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/router.js +92 -47
  110. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/server.isaac.js +91 -10
  111. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/server.js +317 -130
  112. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/status.codes +1 -11
  113. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/controllers/setup.js +2 -2
  114. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/command/gina.tpl +1 -1
  115. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/conf/env.json +19 -0
  116. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/conf/templates.json +4 -2
  117. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/console.js +1 -1
  118. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/context.js +29 -12
  119. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/data/package.json +2 -2
  120. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/data/src/main.js +1 -1
  121. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/dateFormat.js +1 -1
  122. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/index.js +1 -1
  123. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/json/package.json +2 -2
  124. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/json/src/main.js +6 -4
  125. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/path.js +31 -15
  126. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/plugins/package.json +2 -2
  127. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/plugins/src/api-error.js +2 -2
  128. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/plugins/src/main.js +1 -1
  129. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/task.js +2 -2
  130. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/text.js +1 -1
  131. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/archiver/package.json +2 -2
  132. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/archiver/src/main.js +11 -11
  133. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/add.js +2 -1
  134. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/start.js +21 -8
  135. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/get.js +1 -1
  136. package/framework/v0.1.6-alpha.120/lib/cmd/env/help.js +30 -0
  137. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/build.js +1 -1
  138. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/dot.js +21 -0
  139. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/init.js +18 -0
  140. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/link-node-modules.js +2 -3
  141. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/link.js +1 -0
  142. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/tail.js +28 -11
  143. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/version.js +15 -1
  144. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/helper.js +6 -2
  145. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/index.js +1 -1
  146. package/framework/v0.1.6-alpha.120/lib/cmd/minion/help.txt +18 -0
  147. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/add.js +3 -2
  148. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/build.js +4 -4
  149. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/list.js +1 -1
  150. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/protocol/list.js +71 -50
  151. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/collection/package.json +2 -2
  152. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/collection/src/main.js +20 -14
  153. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/config.js +1 -1
  154. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cron/package.json +2 -2
  155. package/framework/v0.1.6-alpha.120/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +15754 -0
  156. package/framework/v0.1.6-alpha.120/lib/domain/dist/public_suffix_list.dat +15754 -0
  157. package/framework/v0.1.6-alpha.120/lib/domain/exemples/backend.js +12 -0
  158. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/domain/package.json +2 -2
  159. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/domain/src/main.js +20 -6
  160. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/generator/index.js +1 -1
  161. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/index.js +1 -1
  162. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120/lib/inherits}/LICENSE +1 -1
  163. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/package.json +2 -2
  164. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/src/main.js +1 -1
  165. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/package.json +2 -2
  166. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/mq/listener.js +10 -2
  167. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/helper.js +1 -1
  168. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/main.js +1 -1
  169. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/math/index.js +1 -1
  170. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/merge/package.json +2 -2
  171. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/model.js +3 -3
  172. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/proc.js +10 -2
  173. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/routing/package.json +2 -2
  174. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/routing/src/main.js +72 -25
  175. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/session-store.js +3 -3
  176. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/swig-filters/package.json +2 -2
  177. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/swig-filters/src/main.js +70 -15
  178. package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/validator.js +2 -2
  179. package/framework/v0.1.6-alpha.120/package.json +11 -0
  180. package/package.json +3 -3
  181. package/resources/package.json.template +1 -1
  182. package/script/post_install.js +1 -1
  183. package/script/pre_install.js +1 -1
  184. package/utils/helper.js +33 -9
  185. package/framework/v0.1.6-alpha.12/VERSION +0 -1
  186. package/framework/v0.1.6-alpha.12/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +0 -1
  187. package/framework/v0.1.6-alpha.12/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -766
  188. package/framework/v0.1.6-alpha.12/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
  189. package/framework/v0.1.6-alpha.12/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -7
  190. package/framework/v0.1.6-alpha.12/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
  191. package/framework/v0.1.6-alpha.12/core/deps/busboy/.travis.yml +0 -17
  192. package/framework/v0.1.6-alpha.12/core/deps/busboy/README.md +0 -225
  193. package/framework/v0.1.6-alpha.12/core/deps/busboy/deps/encoding/encoding-indexes.js +0 -73
  194. package/framework/v0.1.6-alpha.12/core/deps/busboy/deps/encoding/encoding.js +0 -2391
  195. package/framework/v0.1.6-alpha.12/core/deps/busboy/lib/main.js +0 -89
  196. package/framework/v0.1.6-alpha.12/core/deps/busboy/lib/types/multipart.js +0 -328
  197. package/framework/v0.1.6-alpha.12/core/deps/busboy/lib/types/urlencoded.js +0 -214
  198. package/framework/v0.1.6-alpha.12/core/deps/busboy/lib/utils.js +0 -191
  199. package/framework/v0.1.6-alpha.12/core/deps/busboy/package.json +0 -69
  200. package/framework/v0.1.6-alpha.12/lib/domain/dist/public_suffix_list.dat +0 -14186
  201. package/framework/v0.1.6-alpha.12/lib/domain/exemples/backend.js +0 -0
  202. package/framework/v0.1.6-alpha.12/package.json +0 -14
  203. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/AUTHORS +0 -0
  204. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/html/nolayout.html +0 -0
  205. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/html/static.html +0 -0
  206. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/img/android-chrome-192x192.png +0 -0
  207. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/img/android-chrome-512x512.png +0 -0
  208. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/img/apple-touch-icon.png +0 -0
  209. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/img/favicon-16x16.png +0 -0
  210. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/img/favicon-32x32.png +0 -0
  211. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/img/favicon.ico +0 -0
  212. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  213. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/asset/plugin/uuid.json +0 -0
  214. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/connector.js +0 -0
  215. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  216. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  217. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/n1ql.js +0 -0
  218. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/session-store.js +0 -0
  219. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  220. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  221. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  222. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/controller/controller.framework.js +0 -0
  223. /package/framework/{v0.1.6-alpha.12/core/deps/busboy → v0.1.6-alpha.120/core/deps/busboy-1.6.0}/LICENSE +0 -0
  224. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  225. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/dev/lib/class.js +0 -0
  226. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/dev/lib/tools.js +0 -0
  227. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/README.md +0 -0
  228. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/currency.json +0 -0
  229. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/dist/language/en.json +0 -0
  230. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/dist/language/fr.json +0 -0
  231. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/dist/region/en.json +0 -0
  232. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/dist/region/fr.json +0 -0
  233. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/src/resources/currency.csv +0 -0
  234. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/src/resources/region.csv +0 -0
  235. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/locales/src/resources/region.mapping.json +0 -0
  236. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/README.md +0 -0
  237. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/file/README.md +0 -0
  238. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/file/build.json +0 -0
  239. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/intl/README.md +0 -0
  240. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/intl/build.json +0 -0
  241. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/intl/src/main.js +0 -0
  242. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/storage/README.md +0 -0
  243. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/storage/build.json +0 -0
  244. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/storage/src/main.js +0 -0
  245. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/validator/README.md +0 -0
  246. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/plugins/lib/validator/build.json +0 -0
  247. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/server.express.js +0 -0
  248. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/_gitignore +0 -0
  249. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/config/app.json +0 -0
  250. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/config/routing.json +0 -0
  251. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/config/settings.json +0 -0
  252. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  253. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/config/templates.json +0 -0
  254. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  255. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  256. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle/index.js +0 -0
  257. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  258. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  259. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  260. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  261. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  262. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_public/readme.md +0 -0
  263. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  264. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  265. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  266. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  267. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  268. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/command/gina.bat.tpl +0 -0
  269. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/conf/manifest.json +0 -0
  270. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/conf/package.json +0 -0
  271. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/conf/settings.json +0 -0
  272. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/conf/statics.json +0 -0
  273. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/error/client/json/401.json +0 -0
  274. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/error/client/json/403.json +0 -0
  275. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/error/client/json/404.json +0 -0
  276. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/error/server/html/50x.html +0 -0
  277. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/error/server/json/500.json +0 -0
  278. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/error/server/json/503.json +0 -0
  279. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/core/template/extensions/logger/config.json +0 -0
  280. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/data/LICENSE +0 -0
  281. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/data/README.md +0 -0
  282. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/json/LICENSE +0 -0
  283. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/json/README.md +0 -0
  284. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/plugins/README.md +0 -0
  285. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/helpers/prototypes.js +0 -0
  286. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/archiver/README.md +0 -0
  287. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/archiver/build.json +0 -0
  288. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/archiver/src/dep/jszip.min.js +0 -0
  289. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/aliases.json +0 -0
  290. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/arguments.json +0 -0
  291. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/copy.js +0 -0
  292. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/cp.js +0 -0
  293. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/help.js +0 -0
  294. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/help.txt +0 -0
  295. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/list.js +0 -0
  296. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/remove.js +0 -0
  297. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/rename.js +0 -0
  298. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/restart.js +0 -0
  299. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/rm.js +0 -0
  300. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/status.js +0 -0
  301. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/bundle/stop.js +0 -0
  302. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/add.js +0 -0
  303. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/help.txt +0 -0
  304. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/link-dev.js +0 -0
  305. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/list.js +0 -0
  306. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/remove.js +0 -0
  307. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/rm.js +0 -0
  308. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/set.js +0 -0
  309. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/unset.js +0 -0
  310. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/env/use.js +0 -0
  311. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/get.js +0 -0
  312. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/help.js +0 -0
  313. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/help.txt +0 -0
  314. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/msg.json +0 -0
  315. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/open.js +0 -0
  316. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/restart.js +0 -0
  317. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/set.js +0 -0
  318. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/start.js +0 -0
  319. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/status.js +0 -0
  320. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/stop.js +0 -0
  321. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/framework/update.js +0 -0
  322. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/gina-dev.1.md +0 -0
  323. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/gina-framework.1.md +0 -0
  324. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/gina.1.md +0 -0
  325. /package/framework/{v0.1.6-alpha.12/lib/cmd/env → v0.1.6-alpha.120/lib/cmd/minion}/help.js +0 -0
  326. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/msg.json +0 -0
  327. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/port/help.js +0 -0
  328. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/port/help.txt +0 -0
  329. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/port/inc/scan.js +0 -0
  330. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/port/list.js +0 -0
  331. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/port/reset.js +0 -0
  332. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/port/set.js +0 -0
  333. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/arguments.json +0 -0
  334. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/help.js +0 -0
  335. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/help.txt +0 -0
  336. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/import.js +0 -0
  337. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/move.js +0 -0
  338. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/remove.js +0 -0
  339. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/rename.js +0 -0
  340. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/restart.js +0 -0
  341. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/rm.js +0 -0
  342. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/start.js +0 -0
  343. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/status.js +0 -0
  344. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/project/stop.js +0 -0
  345. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/protocol/help.js +0 -0
  346. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/protocol/help.txt +0 -0
  347. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/protocol/set.js +0 -0
  348. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/add.js +0 -0
  349. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/help.js +0 -0
  350. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/help.txt +0 -0
  351. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/link-local.js +0 -0
  352. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/link-production.js +0 -0
  353. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/list.js +0 -0
  354. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/remove.js +0 -0
  355. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/rm.js +0 -0
  356. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/scope/use.js +0 -0
  357. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cmd/view/add.js +0 -0
  358. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/collection/README.md +0 -0
  359. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/collection/build.json +0 -0
  360. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cron/README.md +0 -0
  361. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/cron/src/main.js +0 -0
  362. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/domain/LICENSE +0 -0
  363. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/domain/README.md +0 -0
  364. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/domain/exemples/frontend.html +0 -0
  365. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/README.md +0 -0
  366. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  367. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/example/protected_inheritance.js +0 -0
  368. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/example/simple_inheritance.js +0 -0
  369. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  370. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/README.md +0 -0
  371. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/default/index.js +0 -0
  372. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/file/index.js +0 -0
  373. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  374. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  375. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/mq/index.js +0 -0
  376. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/logger/src/containers/mq/speaker.js +0 -0
  377. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/merge/README.md +0 -0
  378. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/merge/example/merge.js +0 -0
  379. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/merge/example/merge_2_literal objects.js +0 -0
  380. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/merge/example/merge_and_preserve_first.js +0 -0
  381. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/merge/src/main.js +0 -0
  382. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/routing/README.md +0 -0
  383. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/routing/build.json +0 -0
  384. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/shell.js +0 -0
  385. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/swig-filters/README.md +0 -0
  386. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/url/README.md +0 -0
  387. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/url/index.js +0 -0
  388. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/url/mocks.json +0 -0
  389. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/lib/url/routing.json +0 -0
  390. /package/framework/{v0.1.6-alpha.12 → v0.1.6-alpha.120}/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
 
@@ -1157,7 +1294,17 @@ function Server(options) {
1157
1294
  ) ? true: false
1158
1295
  ;
1159
1296
 
1160
- if (!stream.pushAllowed) {
1297
+ if (!stream.pushAllowed ) {
1298
+
1299
+ // Fix added for static sites
1300
+ if (
1301
+ !assets[ url ]
1302
+ ||
1303
+ !assets[ url ].isBinary && !assets[ url ].isHandler
1304
+ ) {
1305
+ return;
1306
+ }
1307
+
1161
1308
  asset = {
1162
1309
  url : url,
1163
1310
  filename : assets[ url ].filename,
@@ -1203,6 +1350,7 @@ function Server(options) {
1203
1350
  , header
1204
1351
  //, { onError }
1205
1352
  );
1353
+
1206
1354
  } else {
1207
1355
  stream.respond(header);
1208
1356
  stream.end();
@@ -1227,7 +1375,7 @@ function Server(options) {
1227
1375
  ':status': 301
1228
1376
  };
1229
1377
 
1230
- if (cacheless) {
1378
+ if (isCacheless) {
1231
1379
  header['cache-control'] = 'no-cache, no-store, must-revalidate';
1232
1380
  header['pragma'] = 'no-cache';
1233
1381
  header['expires'] = '0';
@@ -1300,7 +1448,7 @@ function Server(options) {
1300
1448
  header['content-length'] = fs.statSync(assets[ url ].filename).size;
1301
1449
  }
1302
1450
 
1303
- if (cacheless) {
1451
+ if (isCacheless) {
1304
1452
  // source maps integration for javascript & css
1305
1453
  if ( /(.js|.css)$/.test(asset.filename) && fs.existsSync(asset.filename +'.map') ) {
1306
1454
  //pathname = asset.filename +'.map';
@@ -1389,7 +1537,7 @@ function Server(options) {
1389
1537
  self._options.conf = bundleConf
1390
1538
  }
1391
1539
 
1392
- var cacheless = bundleConf.cacheless;
1540
+ var isCacheless = bundleConf.isCacheless;
1393
1541
  // by default
1394
1542
  var filename = bundleConf.publicPath + pathname;
1395
1543
  var isFilenameDir = null
@@ -1417,7 +1565,6 @@ function Server(options) {
1417
1565
  var key = pathname.replace(pathname.split('/').splice(-1), '');
1418
1566
  for ( ; s < sLen; ++s ) {
1419
1567
  if ( bundleConf.staticResources[s] == key ) {
1420
- // if ( eval('/^' + bundleConf.staticResources[s].replace(/\//g,'\\/') +'/').test(pathname) ) {
1421
1568
  filename = bundleConf.content.statics[ bundleConf.staticResources[s] ] +'/'+ pathname.replace(bundleConf.staticResources[s], '');
1422
1569
  break;
1423
1570
  }
@@ -1431,9 +1578,11 @@ function Server(options) {
1431
1578
 
1432
1579
 
1433
1580
  filename = decodeURIComponent(filename);
1434
- fs.exists(filename, function onStaticExists(exist) {
1581
+ let filenameObj = new _(filename, true);
1582
+ filenameObj.exists(function onStaticExists(exists) {
1583
+ // fs.exists(filename, function onStaticExists(exists) {
1435
1584
 
1436
- if (!exist) {
1585
+ if (!exists) {
1437
1586
  return throwError(response, 404, 'Page not found: \n' + pathname, next);
1438
1587
  }
1439
1588
 
@@ -1446,48 +1595,49 @@ function Server(options) {
1446
1595
  if ( !fs.existsSync(filename) ) {
1447
1596
  throwError(response, 403, 'Forbidden: \n' + pathname, next);
1448
1597
  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
- };
1598
+ }
1457
1599
 
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);
1600
+ var ext = 'html';
1601
+ if ( /http\/2/.test(protocol) ) {
1602
+ header = {
1603
+ ':status': 301,
1604
+ 'location': request.url,
1605
+ 'content-type': bundleConf.server.coreConfiguration.mime[ext]+'; charset='+ bundleConf.encoding
1606
+ };
1465
1607
 
1466
- if (!stream.destroyed) {
1467
- stream.respond(header);
1468
- stream.end();
1469
- }
1608
+ if (isCacheless) {
1609
+ header['cache-control'] = 'no-cache, no-store, must-revalidate';
1610
+ header['pragma'] = 'no-cache';
1611
+ header['expires'] = '0';
1612
+ }
1613
+ request = checkPreflightRequest(request, response);
1614
+ header = completeHeaders(header, request, response);
1470
1615
 
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()
1616
+ if (!stream.destroyed) {
1617
+ stream.respond(header);
1618
+ stream.end();
1619
+ }
1620
+
1621
+ } else {
1622
+ response.setHeader('location', request.url);
1623
+ request = checkPreflightRequest(request, response);
1624
+ completeHeaders(null, request, response);
1625
+ if (isCacheless) {
1626
+ response.writeHead(301, {
1627
+ 'cache-control': 'no-cache, no-store, must-revalidate', // preventing browsers from using cache
1628
+ 'pragma': 'no-cache',
1629
+ 'expires': '0',
1630
+ 'content-type': bundleConf.server.coreConfiguration.mime[ext]
1631
+ });
1484
1632
  }
1633
+ response.end()
1485
1634
  }
1635
+
1486
1636
  return;
1487
1637
  }
1488
1638
 
1489
1639
 
1490
- if (cacheless) {
1640
+ if (isCacheless) {
1491
1641
  delete require.cache[require.resolve(filename)];
1492
1642
  }
1493
1643
 
@@ -1537,8 +1687,12 @@ function Server(options) {
1537
1687
  request.url = ( ext != null && typeof(ext[0]) != 'undefined' ) ? request.url : request.url + 'index.html';
1538
1688
 
1539
1689
  self._responseHeaders = response.getHeaders();
1540
- if (!isBinary && typeof(self._options.template.assets[request.url]) == 'undefined')
1690
+ if (
1691
+ !isBinary
1692
+ && typeof(self._options.template.assets[request.url]) == 'undefined'
1693
+ ) {
1541
1694
  self._options.template.assets = getAssets(bundleConf, file);
1695
+ }
1542
1696
 
1543
1697
  if (
1544
1698
  typeof(self._options.template.assets[request.url]) == 'undefined'
@@ -1603,7 +1757,7 @@ function Server(options) {
1603
1757
  'location': request.url
1604
1758
  };
1605
1759
 
1606
- if (cacheless) {
1760
+ if (isCacheless) {
1607
1761
  header['cache-control'] = 'no-cache, no-store, must-revalidate';
1608
1762
  header['pragma'] = 'no-cache';
1609
1763
  header['expires'] = '0';
@@ -1674,11 +1828,11 @@ function Server(options) {
1674
1828
  'content-type': contentType + '; charset='+ bundleConf.encoding
1675
1829
  };
1676
1830
 
1677
- if (cacheless) {
1831
+ if (isCacheless) {
1678
1832
  // source maps integration for javascript & css
1679
1833
  if ( /(.js|.css)$/.test(filename) && fs.existsSync(filename +'.map') && !/sourceMappingURL/.test(file) ) {
1680
1834
  //pathname = pathname +'.map';
1681
- pathname = webroot + pathname.substr(1) +'.map';
1835
+ pathname = webroot + pathname.substring(1) +'.map';
1682
1836
  // serve without cache
1683
1837
  header['X-SourceMap'] = pathname;
1684
1838
  header['cache-control'] = 'no-cache, no-store, must-revalidate';
@@ -1708,11 +1862,11 @@ function Server(options) {
1708
1862
  response.setHeader('content-length', fs.statSync(filename).size);
1709
1863
  }
1710
1864
 
1711
- if (cacheless) {
1865
+ if (isCacheless) {
1712
1866
  // source maps integration for javascript & css
1713
1867
  if ( /(.js|.css)$/.test(filename) && fs.existsSync(filename +'.map') && !/sourceMappingURL/.test(file) ) {
1714
1868
  //pathname = pathname +'.map'
1715
- pathname = webroot + pathname.substr(1) +'.map';
1869
+ pathname = webroot + pathname.substring(1) +'.map';
1716
1870
  response.setHeader("X-SourceMap", pathname)
1717
1871
  }
1718
1872
 
@@ -1753,7 +1907,8 @@ function Server(options) {
1753
1907
  });
1754
1908
 
1755
1909
 
1756
- })
1910
+ });
1911
+ filenameObj = null;
1757
1912
  }
1758
1913
 
1759
1914
 
@@ -1765,6 +1920,28 @@ function Server(options) {
1765
1920
  // catch all (request urls)
1766
1921
  self.instance.all('*', function onInstance(request, response, next) {
1767
1922
 
1923
+ // Caching = [...]
1924
+ // TODO - handle this through a middleware
1925
+ /**
1926
+ * var cacheIndex = ['/api/document/get/b47c4dd3-f7c4-44b2-b1fb-401948be1ca4'].indexOf(request.url)
1927
+ * if ( cacheIndex > -1) {
1928
+ * // return caching[cacheIndex].content
1929
+ * }
1930
+ */
1931
+
1932
+ // Retrieving cached route
1933
+ // var cachedUrls = ['/'];
1934
+ // if (cachedUrls.indexOf(request.url) > -1) {
1935
+ // 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}');
1936
+ // 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"}');
1937
+ // for (let h in headers) {
1938
+ // response.setHeader(h, headers[h]);
1939
+ // }
1940
+
1941
+ // return local.router.route(request, response, next, request.routing);
1942
+ // }
1943
+
1944
+
1768
1945
 
1769
1946
  request.setEncoding(self.conf[self.appName][self.env].encoding);
1770
1947
  // 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 +2041,7 @@ function Server(options) {
1864
2041
  if ( typeof(ext) != 'undefined' && ext != null) {
1865
2042
  ext = ext[0];
1866
2043
  // if image with `@` found
1867
- if ( /^image/i.test(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substr(1)]) ) {
2044
+ if ( /^image/i.test(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substring(1)]) ) {
1868
2045
  isImage = true
1869
2046
  }
1870
2047
  }
@@ -1873,7 +2050,7 @@ function Server(options) {
1873
2050
  // and must not be an email
1874
2051
  && !/^(([^<>()[\]\\.,;:\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
2052
  // and must be handled by mime.types
1876
- && typeof(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substr(1)]) != 'undefined'
2053
+ && typeof(self.conf[self.appName][self.env].server.coreConfiguration.mime[ext.substring(1)]) != 'undefined'
1877
2054
  ||
1878
2055
  ext != null
1879
2056
  && isImage
@@ -1899,7 +2076,7 @@ function Server(options) {
1899
2076
 
1900
2077
  if (
1901
2078
  staticProps.isStaticFilename && staticsArr.indexOf(request.url) > -1
1902
- || staticProps.isStaticFilename && staticsArr.indexOf( request.url.replace(request.url.substr(request.url.lastIndexOf('/')+1), '') ) > -1
2079
+ || staticProps.isStaticFilename && staticsArr.indexOf( request.url.replace(request.url.substring(request.url.lastIndexOf('/')+1), '') ) > -1
1903
2080
  || staticProps.isStaticFilename && new RegExp('^'+ staticProps.firstLevel).test(request.url)
1904
2081
  || /\/$/.test(request.url) && !isWebrootHandledByRouting && !/\/engine\.io\//.test(request.url)
1905
2082
  ) {
@@ -2067,11 +2244,14 @@ function Server(options) {
2067
2244
  'method': 'POST',
2068
2245
  'bundle' : self.appName
2069
2246
  };
2070
- var busboy = new Busboy({ headers: request.headers });
2247
+ var busboy = Busboy({ headers: request.headers });
2071
2248
 
2072
2249
  // busboy.on('field', function(fieldname, val, fieldnameTruncated, valTruncated) {
2073
2250
  // console.log('Field [' + fieldname + ']: value: ' + inspect(val));
2074
2251
  // });
2252
+
2253
+ // Attention: on busboy upgrade, we needs to adapt `busboy/lib/types/multipart.js`
2254
+ // For this, check the emit method
2075
2255
  busboy.on('file', function(fieldname, file, filename, encoding, mimetype, group) {
2076
2256
 
2077
2257
  file._dataLen = 0;
@@ -2087,7 +2267,7 @@ function Server(options) {
2087
2267
  && opt.groups[group].allowedExtensions != '*'
2088
2268
  ) {
2089
2269
  var ext = opt.groups[group].allowedExtensions;
2090
- var fileExt = filename.substr(filename.lastIndexOf('.')+1)
2270
+ var fileExt = filename.substring(filename.lastIndexOf('.')+1)
2091
2271
  if ( !Array.isArray(ext) ) {
2092
2272
  ext = [ext]
2093
2273
  }
@@ -2247,8 +2427,8 @@ function Server(options) {
2247
2427
  request.body = request.body.replace(/\+/g, ' ');
2248
2428
  }
2249
2429
 
2250
- if ( request.body.substr(0,1) == '?')
2251
- request.body = request.body.substr(1);
2430
+ if ( request.body.substring(0,1) == '?')
2431
+ request.body = request.body.substring(1);
2252
2432
 
2253
2433
  try {
2254
2434
  bodyStr = decodeURIComponent(request.body); // it is already a string for sure
@@ -2399,8 +2579,8 @@ function Server(options) {
2399
2579
  request.body = request.body.replace(/\+/g, ' ');
2400
2580
  }
2401
2581
 
2402
- if ( request.body.substr(0,1) == '?')
2403
- request.body = request.body.substr(1);
2582
+ if ( request.body.substring(0,1) == '?')
2583
+ request.body = request.body.substring(1);
2404
2584
 
2405
2585
  // false & true case
2406
2586
  try {
@@ -2521,8 +2701,10 @@ function Server(options) {
2521
2701
 
2522
2702
  var config = new Config();
2523
2703
  config.setBundles(self.bundles);
2524
- var conf = config.getInstance(); // for all loaded bundles
2525
- if ( typeof(conf) != 'undefined') {//for cacheless mode
2704
+ // for all loaded bundles
2705
+ var conf = config.getInstance();
2706
+ //for cacheless mode
2707
+ if ( typeof(conf) != 'undefined') {
2526
2708
  self.conf = conf;
2527
2709
  }
2528
2710
 
@@ -2537,7 +2719,7 @@ function Server(options) {
2537
2719
  if (self.bundles.indexOf(b) < 0) continue;
2538
2720
  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
2721
  for (let s in conf[b][self.env].content.statics) {
2540
- s = (s.substr(0,1) == '/') ? s.substr(1) : s;
2722
+ s = (s.substring(0,1) == '/') ? s.substring(1) : s;
2541
2723
  if ( (new RegExp('^/'+s)).test(pathname) ) {
2542
2724
  bundle = b;
2543
2725
  break end
@@ -2572,18 +2754,18 @@ function Server(options) {
2572
2754
  }
2573
2755
 
2574
2756
  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
2757
+ var err = options.err
2758
+ , isCacheless = options.config.isCacheless()
2759
+ , pathname = options.pathname
2760
+ , req = options.req
2761
+ , res = options.res
2762
+ , config = options.conf
2763
+ , next = options.next
2764
+ , callback = options.callback
2583
2765
  ;
2584
2766
 
2585
2767
  //Reloading assets & files.
2586
- // if (!cacheless) { // all but dev & debug
2768
+ // if (!isCacheless) { // all but dev & debug
2587
2769
  callback(err, bundle, pathname, options.config, req, res, next)
2588
2770
  // } else {
2589
2771
  // config.refresh(bundle, function(err, routing) {
@@ -2706,7 +2888,7 @@ function Server(options) {
2706
2888
  , isRoute = {}
2707
2889
  , withViews = hasViews(bundle)
2708
2890
  , router = local.router
2709
- , cacheless = config.isCacheless()
2891
+ , isCacheless = config.isCacheless()
2710
2892
  , wroot = null
2711
2893
  ;
2712
2894
 
@@ -2736,6 +2918,11 @@ function Server(options) {
2736
2918
  var isMethodAllowed = null, hostname = null;
2737
2919
  out:
2738
2920
  for (let name in routing) {
2921
+ // ignoring routes out of scope
2922
+ if ( routing[name].scopes.indexOf(process.env.NODE_SCOPE) < 0 ) {
2923
+ continue;
2924
+ }
2925
+
2739
2926
  if ( typeof(routing[name]['param']) == 'undefined' ) {
2740
2927
  break;
2741
2928
  }
@@ -2961,11 +3148,11 @@ function Server(options) {
2961
3148
  , ext = null
2962
3149
  , isHtmlContent = false
2963
3150
  , hasCustomErrorFile = false
2964
- , eCode = code.toString().substr(0,1) + 'xx'
3151
+ , eCode = code.toString().substring(0,1) + 'xx'
2965
3152
  ;
2966
- var extArr = url.substr(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/);
3153
+ var extArr = url.substring(url.lastIndexOf('.')).match(/(\.[A-Za-z0-9]+)/);
2967
3154
  if (extArr) {
2968
- ext = extArr[0].substr(1);
3155
+ ext = extArr[0].substring(1);
2969
3156
  }
2970
3157
  if ( !ext || /^(html|htm)$/i.test(ext) ) {
2971
3158
  isHtmlContent = true;