gina 0.1.6-alpha.145 → 0.1.6-alpha.146

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 (385) hide show
  1. package/framework/v0.1.6-alpha.146/VERSION +1 -0
  2. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  3. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.map +1 -1
  4. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/plugin/dist/vendor/gina/html/toolbar.html.gz +0 -0
  5. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/plugin/dist/vendor/gina/js/gina.js +5687 -5581
  6. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +616 -613
  7. package/framework/v0.1.6-alpha.146/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  8. package/framework/v0.1.6-alpha.146/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  9. package/framework/v0.1.6-alpha.146/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +8 -0
  10. package/framework/v0.1.6-alpha.146/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +9 -0
  11. package/framework/v0.1.6-alpha.146/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  12. package/framework/v0.1.6-alpha.146/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  13. package/framework/v0.1.6-alpha.146/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +8 -0
  14. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/config.js +3 -0
  15. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/controller/controller.js +435 -1332
  16. package/framework/v0.1.6-alpha.146/core/controller/controller.renderSwig.js +932 -0
  17. package/framework/v0.1.6-alpha.146/core/controller/controller.renderv1.js +911 -0
  18. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/dist/swig.min.js.map +2 -2
  19. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/gna.js +12 -0
  20. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/validator/src/main.js +4 -5
  21. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/server.isaac.js +140 -14
  22. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/server.js +41 -7
  23. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/conf/env.json +1 -2
  24. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/path.js +1 -1
  25. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/prototypes.js +8 -1
  26. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/tail.js +1 -1
  27. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/helper.js +23 -0
  28. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/domain/src/main.js +1 -1
  29. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/logger/src/containers/file/index.js +2 -0
  30. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/routing/src/main.js +21 -9
  31. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/swig-filters/src/main.js +25 -3
  32. package/package.json +2 -2
  33. package/framework/v0.1.6-alpha.145/VERSION +0 -1
  34. package/framework/v0.1.6-alpha.145/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  35. package/framework/v0.1.6-alpha.145/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  36. package/framework/v0.1.6-alpha.145/core/asset/plugin/dist/vendor/gina/js/gina.min.js.map +0 -8
  37. package/framework/v0.1.6-alpha.145/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -8
  38. package/framework/v0.1.6-alpha.145/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  39. package/framework/v0.1.6-alpha.145/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  40. package/framework/v0.1.6-alpha.145/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.map +0 -8
  41. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/AUTHORS +0 -0
  42. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/LICENSE +0 -0
  43. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/html/nolayout.html +0 -0
  44. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/html/static.html +0 -0
  45. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/img/android-chrome-192x192.png +0 -0
  46. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/img/android-chrome-512x512.png +0 -0
  47. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/img/apple-touch-icon.png +0 -0
  48. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/img/favicon-16x16.png +0 -0
  49. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/img/favicon-32x32.png +0 -0
  50. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/img/favicon.ico +0 -0
  51. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/plugin/README.md +0 -0
  52. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  53. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  54. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +0 -0
  55. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/plugin/dist/vendor/gina/html/toolbar.html.br +0 -0
  56. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/asset/plugin/uuid.json +0 -0
  57. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/connectors/couchbase/index.js +0 -0
  58. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/connectors/couchbase/lib/connector.js +0 -0
  59. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  60. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  61. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  62. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/connectors/couchbase/lib/n1ql.js +0 -0
  63. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/connectors/couchbase/lib/session-store.js +0 -0
  64. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  65. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  66. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  67. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/content.encoding +0 -0
  68. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/controller/controller.framework.js +0 -0
  69. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/controller/index.js +0 -0
  70. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/.github/workflows/ci.yml +0 -0
  71. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/.github/workflows/lint.yml +0 -0
  72. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/LICENSE +0 -0
  73. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/README.md +0 -0
  74. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-big.js +0 -0
  75. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/bench/bench-multipart-fields-100mb-small.js +0 -0
  76. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-big.js +0 -0
  77. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/bench/bench-multipart-files-100mb-small.js +0 -0
  78. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-100pairs-small.js +0 -0
  79. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/bench/bench-urlencoded-fields-900pairs-small-alt.js +0 -0
  80. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/lib/index.js +0 -0
  81. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
  82. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
  83. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
  84. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/busboy-1.6.0/package.json +0 -0
  85. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/.travis.yml +0 -0
  86. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/LICENSE +0 -0
  87. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/bool.js +0 -0
  88. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/boolean_double.js +0 -0
  89. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/boolean_single.js +0 -0
  90. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/default_hash.js +0 -0
  91. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/default_singles.js +0 -0
  92. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/divide.js +0 -0
  93. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/line_count.js +0 -0
  94. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/line_count_options.js +0 -0
  95. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/line_count_wrap.js +0 -0
  96. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/nonopt.js +0 -0
  97. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/reflect.js +0 -0
  98. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/short.js +0 -0
  99. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/string.js +0 -0
  100. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/usage-options.js +0 -0
  101. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/example/xup.js +0 -0
  102. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/index.js +0 -0
  103. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/package.json +0 -0
  104. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/package.json.dist +0 -0
  105. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/optimist-0.6.1/readme.markdown +0 -0
  106. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/HISTORY.md +0 -0
  107. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/LICENSE +0 -0
  108. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/README.md +0 -0
  109. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/bin/swig.js +0 -0
  110. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/bin/swig.js.dist +0 -0
  111. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/dist/swig.min.js +0 -0
  112. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/index.js +0 -0
  113. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/dateformatter.js +0 -0
  114. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/filters.js +0 -0
  115. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/lexer.js +0 -0
  116. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/loaders/filesystem.js +0 -0
  117. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/loaders/index.js +0 -0
  118. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/loaders/memory.js +0 -0
  119. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/parser.js +0 -0
  120. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/swig.js +0 -0
  121. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/autoescape.js +0 -0
  122. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/block.js +0 -0
  123. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/else.js +0 -0
  124. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/elseif.js +0 -0
  125. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/extends.js +0 -0
  126. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/filter.js +0 -0
  127. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/for.js +0 -0
  128. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/if.js +0 -0
  129. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/import.js +0 -0
  130. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/include.js +0 -0
  131. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/index.js +0 -0
  132. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/macro.js +0 -0
  133. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/parent.js +0 -0
  134. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/raw.js +0 -0
  135. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/set.js +0 -0
  136. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/tags/spaceless.js +0 -0
  137. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/lib/utils.js +0 -0
  138. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/package.json +0 -0
  139. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-1.4.2/package.json.dist +0 -0
  140. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  141. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/deps/swig-client/swig.js +0 -0
  142. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/dev/index.js +0 -0
  143. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/dev/lib/class.js +0 -0
  144. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/dev/lib/factory.js +0 -0
  145. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/dev/lib/tools.js +0 -0
  146. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/locales/README.md +0 -0
  147. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/locales/currency.json +0 -0
  148. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/locales/dist/language/en.json +0 -0
  149. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/locales/dist/language/fr.json +0 -0
  150. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/locales/dist/region/en.json +0 -0
  151. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/locales/dist/region/fr.json +0 -0
  152. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/locales/index.js +0 -0
  153. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/locales/src/make.js +0 -0
  154. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/locales/src/resources/currency.csv +0 -0
  155. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/locales/src/resources/region.csv +0 -0
  156. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/locales/src/resources/region.mapping.json +0 -0
  157. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/mime.types +0 -0
  158. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/model/entity.js +0 -0
  159. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/model/index.js +0 -0
  160. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/model/template/entityFactory.js +0 -0
  161. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/model/template/index.js +0 -0
  162. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/README.md +0 -0
  163. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/index.js +0 -0
  164. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/file/README.md +0 -0
  165. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/file/build.json +0 -0
  166. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/file/package.json +0 -0
  167. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/intl/README.md +0 -0
  168. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/intl/build.json +0 -0
  169. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/intl/package.json +0 -0
  170. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/intl/src/main.js +0 -0
  171. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/storage/README.md +0 -0
  172. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/storage/build.json +0 -0
  173. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/storage/package.json +0 -0
  174. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/storage/src/main.js +0 -0
  175. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/validator/README.md +0 -0
  176. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/validator/build.json +0 -0
  177. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/validator/package.json +0 -0
  178. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/plugins/lib/validator/src/form-validator.js +0 -0
  179. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/router.js +0 -0
  180. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/server.express.js +0 -0
  181. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/status.codes +0 -0
  182. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/_gitignore +0 -0
  183. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle/config/app.json +0 -0
  184. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle/config/routing.json +0 -0
  185. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle/config/settings.json +0 -0
  186. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  187. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle/config/templates.json +0 -0
  188. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  189. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  190. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  191. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle/index.js +0 -0
  192. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  193. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  194. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  195. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  196. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  197. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle_public/readme.md +0 -0
  198. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  199. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  200. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  201. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  202. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  203. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/command/gina.bat.tpl +0 -0
  204. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/command/gina.tpl +0 -0
  205. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/conf/manifest.json +0 -0
  206. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/conf/package.json +0 -0
  207. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/conf/settings.json +0 -0
  208. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/conf/statics.json +0 -0
  209. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/conf/templates.json +0 -0
  210. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/error/client/json/401.json +0 -0
  211. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/error/client/json/403.json +0 -0
  212. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/error/client/json/404.json +0 -0
  213. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/error/server/html/50x.html +0 -0
  214. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/error/server/json/500.json +0 -0
  215. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/error/server/json/503.json +0 -0
  216. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/core/template/extensions/logger/config.json +0 -0
  217. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/console.js +0 -0
  218. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/context.js +0 -0
  219. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/data/LICENSE +0 -0
  220. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/data/README.md +0 -0
  221. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/data/package.json +0 -0
  222. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/data/src/main.js +0 -0
  223. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/dateFormat.js +0 -0
  224. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/index.js +0 -0
  225. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/json/LICENSE +0 -0
  226. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/json/README.md +0 -0
  227. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/json/package.json +0 -0
  228. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/json/src/main.js +0 -0
  229. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/plugins/README.md +0 -0
  230. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/plugins/package.json +0 -0
  231. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/plugins/src/api-error.js +0 -0
  232. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/plugins/src/main.js +0 -0
  233. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/task.js +0 -0
  234. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/helpers/text.js +0 -0
  235. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/archiver/README.md +0 -0
  236. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/archiver/build.json +0 -0
  237. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/archiver/package.json +0 -0
  238. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/archiver/src/dep/jszip.min.js +0 -0
  239. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/archiver/src/main.js +0 -0
  240. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/aliases.json +0 -0
  241. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/add.js +0 -0
  242. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/arguments.json +0 -0
  243. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/copy.js +0 -0
  244. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/cp.js +0 -0
  245. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/help.js +0 -0
  246. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/help.txt +0 -0
  247. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/list.js +0 -0
  248. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/remove.js +0 -0
  249. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/rename.js +0 -0
  250. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/restart.js +0 -0
  251. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/rm.js +0 -0
  252. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/start.js +0 -0
  253. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/status.js +0 -0
  254. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/bundle/stop.js +0 -0
  255. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/env/add.js +0 -0
  256. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/env/get.js +0 -0
  257. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/env/help.js +0 -0
  258. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/env/help.txt +0 -0
  259. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/env/link-dev.js +0 -0
  260. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/env/list.js +0 -0
  261. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/env/remove.js +0 -0
  262. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/env/rm.js +0 -0
  263. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/env/set.js +0 -0
  264. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/env/unset.js +0 -0
  265. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/env/use.js +0 -0
  266. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/arguments.json +0 -0
  267. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/build.js +0 -0
  268. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/dot.js +0 -0
  269. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/get.js +0 -0
  270. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/help.js +0 -0
  271. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/help.txt +0 -0
  272. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/init.js +0 -0
  273. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/link-node-modules.js +0 -0
  274. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/link.js +0 -0
  275. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/msg.json +0 -0
  276. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/open.js +0 -0
  277. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/restart.js +0 -0
  278. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/set.js +0 -0
  279. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/start.js +0 -0
  280. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/status.js +0 -0
  281. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/stop.js +0 -0
  282. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/update.js +0 -0
  283. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/framework/version.js +0 -0
  284. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/gina-dev.1.md +0 -0
  285. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/gina-framework.1.md +0 -0
  286. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/gina.1.md +0 -0
  287. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/index.js +0 -0
  288. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/minion/help.js +0 -0
  289. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/minion/help.txt +0 -0
  290. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/msg.json +0 -0
  291. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/port/help.js +0 -0
  292. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/port/help.txt +0 -0
  293. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/port/inc/scan.js +0 -0
  294. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/port/list.js +0 -0
  295. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/port/reset.js +0 -0
  296. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/port/set.js +0 -0
  297. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/add.js +0 -0
  298. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/arguments.json +0 -0
  299. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/build.js +0 -0
  300. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/help.js +0 -0
  301. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/help.txt +0 -0
  302. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/import.js +0 -0
  303. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/list.js +0 -0
  304. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/move.js +0 -0
  305. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/remove.js +0 -0
  306. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/rename.js +0 -0
  307. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/restart.js +0 -0
  308. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/rm.js +0 -0
  309. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/start.js +0 -0
  310. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/status.js +0 -0
  311. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/project/stop.js +0 -0
  312. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/protocol/help.js +0 -0
  313. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/protocol/help.txt +0 -0
  314. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/protocol/list.js +0 -0
  315. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/protocol/set.js +0 -0
  316. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/scope/add.js +0 -0
  317. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/scope/help.js +0 -0
  318. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/scope/help.txt +0 -0
  319. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/scope/link-local.js +0 -0
  320. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/scope/link-production.js +0 -0
  321. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/scope/list.js +0 -0
  322. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/scope/remove.js +0 -0
  323. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/scope/rm.js +0 -0
  324. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/scope/use.js +0 -0
  325. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cmd/view/add.js +0 -0
  326. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/collection/README.md +0 -0
  327. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/collection/build.json +0 -0
  328. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/collection/package.json +0 -0
  329. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/collection/src/main.js +0 -0
  330. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/config.js +0 -0
  331. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cron/README.md +0 -0
  332. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cron/package.json +0 -0
  333. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/cron/src/main.js +0 -0
  334. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/domain/LICENSE +0 -0
  335. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/domain/README.md +0 -0
  336. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +0 -0
  337. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/domain/dist/public_suffix_list.dat +0 -0
  338. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/domain/dist/public_suffix_list.dat.br +0 -0
  339. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/domain/dist/public_suffix_list.dat.gz +0 -0
  340. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/domain/exemples/backend.js +0 -0
  341. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/domain/exemples/frontend.html +0 -0
  342. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/domain/package.json +0 -0
  343. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/generator/index.js +0 -0
  344. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/index.js +0 -0
  345. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/inherits/LICENSE +0 -0
  346. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/inherits/README.md +0 -0
  347. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/inherits/example/inheriting_eventemitter.js +0 -0
  348. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/inherits/example/protected_inheritance.js +0 -0
  349. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/inherits/example/simple_inheritance.js +0 -0
  350. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/inherits/example/super_attribute_overridden_by_child_on_init.js +0 -0
  351. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/inherits/package.json +0 -0
  352. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/inherits/src/main.js +0 -0
  353. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/logger/README.md +0 -0
  354. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/logger/package.json +0 -0
  355. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/logger/src/containers/default/index.js +0 -0
  356. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  357. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  358. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/logger/src/containers/mq/index.js +0 -0
  359. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/logger/src/containers/mq/listener.js +0 -0
  360. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/logger/src/containers/mq/speaker.js +0 -0
  361. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/logger/src/helper.js +0 -0
  362. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/logger/src/main.js +0 -0
  363. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/math/index.js +0 -0
  364. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/merge/README.md +0 -0
  365. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/merge/example/merge.js +0 -0
  366. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/merge/example/merge_2_literal objects.js +0 -0
  367. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/merge/example/merge_and_preserve_first.js +0 -0
  368. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/merge/package.json +0 -0
  369. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/merge/src/main.js +0 -0
  370. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/model.js +0 -0
  371. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/proc.js +0 -0
  372. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/routing/README.md +0 -0
  373. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/routing/build.json +0 -0
  374. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/routing/package.json +0 -0
  375. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/session-store.js +0 -0
  376. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/shell.js +0 -0
  377. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/swig-filters/README.md +0 -0
  378. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/swig-filters/package.json +0 -0
  379. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/url/README.md +0 -0
  380. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/url/index.js +0 -0
  381. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/url/mocks.json +0 -0
  382. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/url/routing.json +0 -0
  383. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/url/test.js +0 -0
  384. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/lib/validator.js +0 -0
  385. package/framework/{v0.1.6-alpha.145 → v0.1.6-alpha.146}/package.json +1 -1
@@ -0,0 +1,932 @@
1
+ const fs = require('fs');
2
+
3
+ var lib = require('./../../lib') || require.cache[require.resolve('./../../lib')];
4
+ var Collection = lib.Collection;
5
+ // Inherited from controller
6
+ var self = null
7
+ , local = null
8
+ , getData = null
9
+ , hasViews = null
10
+ , setResources = null
11
+ // Default filters
12
+ , SwigFilters = null
13
+ , headersSent = null
14
+ , cachedTemplates = null
15
+ , cachePath = null
16
+ ;
17
+ /**
18
+ * Render HTML templates : Swig is the default template engine
19
+ *
20
+ * Extend default filters
21
+ * - length
22
+ *
23
+ * Available filters:
24
+ * - getWebroot()
25
+ * - getUrl()
26
+ *
27
+ * N.B.: Filters can be extended through your `<project>/src/<bundle>/templates/swig/filters.js`
28
+ *
29
+ *
30
+ * @param {object} userData
31
+ * @param {boolean} [displayToolbar]
32
+ * @param {object} [errOptions]
33
+ *
34
+ * @returns {void}
35
+ * */
36
+ async function render(userData, displayToolbar, errOptions) {
37
+
38
+ // Using server cache to cache compileTemplates
39
+ cachedTemplates = self.serverInstance._cached.templates;
40
+ cachePath = self.serverInstance._cachePath;
41
+
42
+ var err = null;
43
+ var isRenderingCustomError = (
44
+ typeof(userData.isRenderingCustomError) != 'undefined'
45
+ && /^true$/i.test(userData.isRenderingCustomError)
46
+ ) ? true : false;
47
+ if (isRenderingCustomError)
48
+ delete userData.isRenderingCustomError;
49
+
50
+ var localOptions = (errOptions) ? errOptions : local.options;
51
+ localOptions.renderingStack.push( self.name );
52
+ // preventing multiple call of self.render() when controller is rendering from another required controller
53
+ if ( localOptions.renderingStack.length > 1 && !isRenderingCustomError ) {
54
+ return false;
55
+ }
56
+
57
+
58
+ var data = null
59
+ , layout = null
60
+ , newLayoutFilename = null
61
+ , fd = null
62
+ , buffer = null
63
+ , compiledTemplate = null
64
+ , template = null
65
+ , file = null
66
+ , path = null
67
+ , plugin = null
68
+ // By default
69
+ , isWithoutLayout = (localOptions.isWithoutLayout) ? true : false
70
+ ;
71
+
72
+ try {
73
+ data = getData();
74
+ // Display session
75
+ if (
76
+ typeof(local.req.session) != 'undefined'
77
+ ) {
78
+ if ( typeof(data.page.data) == 'undefined' ) {
79
+ data.page.data = {};
80
+ }
81
+
82
+ if ( typeof(local.req.session.cookie._expires) != 'undefined' ) {
83
+ var dateEnd = local.req.session.cookie._expires;
84
+ var dateStart = ( typeof(local.req.session.lastModified) != 'undefined')
85
+ ? new Date(local.req.session.lastModified)
86
+ : new Date()
87
+ ;
88
+ var elapsed = dateEnd - dateStart;
89
+ // var expiresAt =
90
+ if ( typeof(data.page.data.session) == 'undefined' ) {
91
+ data.page.data.session = {
92
+ id : local.req.session.id,
93
+ lastModified: local.req.session.lastModified
94
+ };
95
+ }
96
+ // In milliseconds
97
+ data.page.data.session.createdAt = local.req.session.createdAt;
98
+ data.page.data.session.expiresAt = dateEnd.format('isoDateTime');
99
+ data.page.data.session.timeout = elapsed;
100
+
101
+ dateEnd = null;
102
+ dateStart = null;
103
+ elapsed = null;
104
+ }
105
+ }
106
+
107
+ // in case `local.req.routing.param.file` has been changed on the fly
108
+ if (
109
+ local.req.routing.param.file
110
+ && local.req.routing.param.file != data.page.view.file
111
+ ) {
112
+ data.page.view.file = local.req.routing.param.file;
113
+ }
114
+ if (
115
+ local.req.routing.param.ext
116
+ && local.req.routing.param.ext != data.page.view.ext
117
+ ) {
118
+ data.page.view.ext = local.req.routing.param.ext;
119
+ }
120
+ file = (isRenderingCustomError) ? localOptions.file : data.page.view.file;
121
+ // making path thru [namespace &] file
122
+ if ( typeof(localOptions.namespace) != 'undefined' && localOptions.namespace ) {
123
+ // excepted for custom paths
124
+ var fileNamingConvention = file.replace(localOptions.namespace+'-', '');
125
+ if ( !/^(\.|\/|\\)/.test(file) && file != fileNamingConvention ) {
126
+ var _ext = data.page.view.ext;
127
+
128
+ console.warn('file `'+ file +'` used in routing `'+ localOptions.rule +'` does not respect gina naming convention ! You should rename the file `'+ file + _ext +'` to `'+ ''+ fileNamingConvention + _ext +'`');
129
+ console.warn('The reason you are getting this message is because your filename begeins with `<namespace>-`\n If you don\‘t want to rename, use template path like ./../'+ localOptions.namespace +'/'+file);
130
+ file = ''+ file.replace(localOptions.namespace+'-', '');
131
+ }
132
+ fileNamingConvention = null;
133
+ _ext = null;
134
+
135
+
136
+ // means that rule name === namespace -> pointing to root namespace dir
137
+ if (!file || file === localOptions.namespace) {
138
+ file = 'index'
139
+ }
140
+ path = (isRenderingCustomError) ? _(file) : _(localOptions.template.html +'/'+ localOptions.namespace + '/' + file)
141
+ } else {
142
+ if ( localOptions.path && !/(\?|\#)/.test(localOptions.path) ) {
143
+ path = _(localOptions.path);
144
+ var re = new RegExp( data.page.view.ext+'$');
145
+ if ( data.page.view.ext && re.test(data.page.view.file) ) {
146
+ data.page.view.path = path.replace('/'+ data.page.view.file, '');
147
+
148
+ path = path.replace(re, '');
149
+ data.page.view.file = data.page.view.file.replace(re, '');
150
+
151
+ } else {
152
+ data.page.view.path = path.replace('/'+ data.page.view.file, '');
153
+ }
154
+ re = null;
155
+ } else {
156
+ path = (!isRenderingCustomError && !/^(\.|\/|\\)/.test(file))
157
+ ? _(localOptions.template.html +'/'+ file)
158
+ : file
159
+ }
160
+ }
161
+
162
+ if (data.page.view.ext && !new RegExp(data.page.view.ext+ '$').test(file) ) {
163
+ path += data.page.view.ext
164
+ }
165
+
166
+ data.page.view.path = path;
167
+ } catch (dataErr) {
168
+ return self.throwError(dataErr);
169
+ }
170
+
171
+ // isWithoutLayout from content
172
+ var pageContentObj = new _(data.page.view.path);
173
+ var _templateContent = null;
174
+ try {
175
+ _templateContent = fs.readFileSync(path).toString()
176
+ } catch (pathException) {
177
+ console.warn("Path exception: ", pathException);
178
+ }
179
+ var hasLayoutInPath = /\{\%(\s+extends|extends)/.test(_templateContent) || false;
180
+ var layoutPath = null;
181
+ var subFolder = path.split(/\//g).slice(0, -1).join('/').replace(localOptions.template.html, '') || '';
182
+ var hasSubFolder = (subFolder && subFolder != '') ? true : false;
183
+
184
+ if (
185
+ !isWithoutLayout
186
+ && !isRenderingCustomError
187
+ && pageContentObj.existsSync()
188
+ && !hasLayoutInPath
189
+ ) {
190
+ isWithoutLayout = true;
191
+ }
192
+ pageContentObj = null;
193
+
194
+ // Retrieve layoutPath from content
195
+ if (
196
+ hasLayoutInPath
197
+ && _templateContent
198
+ && typeof(cachedTemplates[ localOptions.bundle + subFolder +'/'+ data.page.view.file ]) == 'undefined'
199
+ ) {
200
+
201
+ // subFolder = path.split(/\//g).slice(0, -1).join('/').replace(localOptions.template.html, '');
202
+ // hasSubFolder = (subFolder) ? true : false;
203
+ var extendFound = _templateContent.match(/\{\%(\s+extends|extends)(.*)\%}/);
204
+ if (extendFound && Array.isArray(extendFound)) {
205
+ try {
206
+ // localOptions.template.templates +'/'+
207
+ layoutPath = extendFound[0].match(/(\"|\')(.*)(\"|\')/)[0].replace(/(\"|\')/g, '');
208
+
209
+ // adding layout
210
+ var newLayoutPath = 'swig' + subFolder +'/'+ layoutPath;
211
+ newLayoutFilename = _(cachePath +'/'+ localOptions.bundle +'/'+ newLayoutPath, true);
212
+ if ( !fs.existsSync( newLayoutFilename ) ) {
213
+ var newLayoutDir = newLayoutFilename.split(/\//g).slice(0, -1).join('/');
214
+ var newLayoutDirObj = new _(newLayoutDir);
215
+ if ( !newLayoutDirObj.existsSync() ) {
216
+ newLayoutDirObj.mkdirSync()
217
+ }
218
+ newLayoutDirObj = null;
219
+ fd = fs.openSync(newLayoutFilename, 'w'); // Open file for writing
220
+ buffer = Buffer.from( fs.readFileSync(localOptions.template.html + '/'+ layoutPath) );
221
+ fs.writeSync(fd, buffer, 0, buffer.length, 0); // Write the buffer
222
+ buffer = null;
223
+ fs.closeSync(fd); // Close the file descriptor
224
+ fd = null;
225
+ }
226
+
227
+ // updating extends
228
+ _templateContent = _templateContent.replace(layoutPath, '../../../../cache/'+ localOptions.bundle +'/'+ newLayoutPath);
229
+
230
+ // override layout path
231
+ layoutPath = newLayoutPath;
232
+
233
+ data.page.view.layout = layoutPath;
234
+ layoutPath = cachePath +'/'+ localOptions.bundle +'/'+ layoutPath;
235
+
236
+ localOptions.template.layout = layoutPath;
237
+
238
+ } catch (extendErr) {
239
+ // nothing to do
240
+ }
241
+ }
242
+ extendFound = null;
243
+ }
244
+
245
+ localOptions.debugMode = ( typeof(displayToolbar) == 'undefined' ) ? undefined : ( (/true/i.test(displayToolbar)) ? true : false ); // only active for dev env
246
+
247
+ // specific override
248
+ if (
249
+ self.isCacheless()
250
+ && typeof(local.req[ local.req.method.toLowerCase() ]) != 'undefined'
251
+ && typeof(local.req[ local.req.method.toLowerCase() ].debug) != 'undefined'
252
+ ) {
253
+ if ( !/^(true|false)$/i.test(local.req[ local.req.method.toLowerCase() ].debug) ) {
254
+ console.warn('Detected wrong value for `debug`: '+ local.req[ local.req.method.toLowerCase() ].debug);
255
+ console.warn('Switching `debug` to `true` as `cacheless` mode is enabled');
256
+ local.req[ local.req.method.toLowerCase() ].debug = true;
257
+ }
258
+ localOptions.debugMode = ( /^true$/i.test(local.req[ local.req.method.toLowerCase() ].debug) ) ? true : false;
259
+ } else if (
260
+ self.isCacheless()
261
+ && hasViews()
262
+ && !isWithoutLayout
263
+ && localOptions.debugMode == undefined
264
+ ) {
265
+ localOptions.debugMode = true;
266
+ } else if ( localOptions.debugMode == undefined ) {
267
+ localOptions.debugMode = self.isCacheless()
268
+ }
269
+
270
+ try {
271
+
272
+ if (!userData) {
273
+ userData = { page: { view: {}}}
274
+ } else if ( userData && !userData['page']) {
275
+
276
+ if ( typeof(data['page']['data']) == 'undefined' )
277
+ data['page']['data'] = userData;
278
+ else
279
+ data['page']['data'] = (isRenderingCustomError) ? userData : merge( userData, data['page']['data'] );
280
+ } else {
281
+ data = (isRenderingCustomError) ? userData : merge(userData, data)
282
+ }
283
+
284
+ template = localOptions.rule.replace('\@'+ localOptions.bundle, '');
285
+ var localTemplateConf = localOptions.template;
286
+ if ( isWithoutLayout ) {
287
+ localTemplateConf = JSON.clone(localOptions.template);
288
+ localTemplateConf.javascripts = new Collection(localTemplateConf.javascripts).find({ isCommon: false}, { isCommon: true, name: 'gina' });
289
+ localTemplateConf.stylesheets = new Collection(localTemplateConf.stylesheets).find({ isCommon: false}, { isCommon: true, name: 'gina' });
290
+ }
291
+ setResources(localTemplateConf);
292
+
293
+ // Allowing file & ext override
294
+ if (
295
+ typeof(local.req.routing.param.file) != 'undefined'
296
+ && data.page.view.file !== local.req.routing.param.file
297
+ ) {
298
+ data.page.view.file = localOptions.file = local.req.routing.param.file
299
+ }
300
+ if (
301
+ typeof(local.req.routing.param.ext) != 'undefined'
302
+ && data.page.view.ext !== local.req.routing.param.ext
303
+ ) {
304
+ data.page.view.ext = localOptions.template.ext = local.req.routing.param.ext
305
+ }
306
+
307
+
308
+ // pre-compiling variables
309
+ data = merge(data, getData()); // needed !!
310
+
311
+ if (typeof(data.page.data) == 'undefined' ) {
312
+ data.page.data = {}
313
+ }
314
+
315
+
316
+ if (
317
+ !localOptions.isRenderingCustomError
318
+ && typeof(data.page.data.status) != 'undefined'
319
+ && !/^2/.test(data.page.data.status)
320
+ && typeof(data.page.data.error) != 'undefined'
321
+ ) {
322
+
323
+ var errorObject = {
324
+ status : data.page.data.status,
325
+ error : statusCodes[data.page.data.status] || msg.error || msg,
326
+ message : data.page.data.message || data.page.data.error,
327
+ stack : data.page.data.stack
328
+ };
329
+ if ( typeof(data.page.data.session) != 'undefined' ) {
330
+ errorObject.session = data.page.data.session;
331
+ }
332
+
333
+ return self.throwError(errorObject);
334
+ }
335
+
336
+
337
+ // data.page.view.path = path;
338
+
339
+ var dic = {}, msg = '';
340
+ for (let d in data.page) {
341
+ dic['page.'+d] = data.page[d]
342
+ }
343
+
344
+
345
+
346
+ // please, do not start with a slashe when including...
347
+ // ex.:
348
+ // /inc/_partial.html (BAD)
349
+ // inc/_partial.html (GOOD)
350
+ // ./namespace/page.html (GOOD)
351
+
352
+ if ( !fs.existsSync(path) ) {
353
+ msg = 'could not open "'+ path +'"' +
354
+ '\n1) The requested file does not exists in your templates/html (check your template directory). Can you find: '+path +
355
+ '\n2) Check the following rule in your `'+localOptions.conf.bundlePath+'/config/routing.json` and look around `param` to make sure that nothing is wrong with your file declaration: '+
356
+ '\n' + localOptions.rule +':'+ JSON.stringify(localOptions.conf.content.routing[localOptions.rule], null, 4) +
357
+ '\n3) At this point, if you still have problems trying to run this portion of code, you can contact us telling us how to reproduce the bug.'
358
+ //'\n\r[ stack trace ] '
359
+ ;
360
+ err = new ApiError(msg, 500);
361
+ console.error(err.stack);
362
+ self.throwError(err);
363
+ return;
364
+ }
365
+
366
+ var localRequestPort = local.req.headers.port || local.req.headers[':port'];
367
+ var isProxyHost = (
368
+ typeof(local.req.headers.host) != 'undefined'
369
+ && typeof(localRequestPort) != 'undefined'
370
+ && /^(80|443)$/.test(localRequestPort)
371
+ && localOptions.conf.server.scheme +'://'+ local.req.headers.host+':'+ localRequestPort != localOptions.conf.hostname.replace(/\:\d+$/, '') +':'+ localOptions.conf.server.port
372
+ ||
373
+ typeof(local.req.headers[':authority']) != 'undefined'
374
+ && localOptions.conf.server.scheme +'://'+ local.req.headers[':authority'] != localOptions.conf.hostname
375
+ ||
376
+ typeof(local.req.headers.host) != 'undefined'
377
+ && typeof(localRequestPort) != 'undefined'
378
+ && /^(80|443)$/.test(localRequestPort)
379
+ && local.req.headers.host == localOptions.conf.host
380
+ ||
381
+ typeof(local.req.headers['x-nginx-proxy']) != 'undefined'
382
+ && /^true$/i.test(local.req.headers['x-nginx-proxy'])
383
+ ||
384
+ typeof(process.gina.PROXY_HOSTNAME) != 'undefined'
385
+ ) ? true : false;
386
+
387
+
388
+ // Setup swig default filters
389
+ var filters = SwigFilters({
390
+ options : JSON.clone(localOptions),
391
+ isProxyHost : isProxyHost,
392
+ throwError : self.throwError,
393
+ req : local.req,
394
+ res : local.res
395
+ });
396
+ try {
397
+
398
+ // To extends default filters with user defined filters, go to controllers/setup.js
399
+
400
+ // Allows you to get a bundle web root
401
+ // e.g.: swig.setFilter('getWebroot', filters.getWebroot);
402
+ // e.g.: swig.setFilter('nl2br', filters.nl2br);
403
+ for (let filter in filters) {
404
+ if ( typeof(filters[filter]) == 'function' && !/^getConfig$/.test(filter) ) {
405
+ swig.setFilter(filter, filters[filter]);
406
+ }
407
+ }
408
+ } catch (err) {
409
+ self.throwError(local.res, 500, new Error('[SwigFilters] template filters setup exception encoutered: [ '+path+' ]\n'+(err.stack||err.message)));
410
+ return;
411
+ }
412
+
413
+
414
+ var assets = null
415
+ , mapping = null
416
+ , XHRData = null
417
+ , XHRView = null
418
+ , isDeferModeEnabled = null
419
+ , hasExternalsPlugins = null
420
+ , viewInfos = null
421
+ , filename = null
422
+ , isWithSwigLayout = null
423
+ , isUsingGinaLayout = (!isWithoutLayout && typeof(localOptions.template.layout) != 'undefined' && fs.existsSync(localOptions.template.layout)) ? true : false
424
+ ;
425
+
426
+ if ( isWithoutLayout || isUsingGinaLayout ) {
427
+ layoutPath = (isWithoutLayout) ? localOptions.template.noLayout : localOptions.template.layout;
428
+ // user layout override
429
+ if ( isUsingGinaLayout && !isWithoutLayout ) {
430
+ layoutPath = localOptions.template.layout;
431
+ }
432
+ if (isWithoutLayout) {
433
+ data.page.view.layout = layoutPath;
434
+ }
435
+ }
436
+ // without layout case
437
+ else if (!hasLayoutInPath) {
438
+
439
+ // by default
440
+ layoutPath = localOptions.template.layout;
441
+ if ( !/^\//.test(layoutPath)) {
442
+ layoutPath = localOptions.template.templates +'/'+ layoutPath;
443
+ }
444
+ // default layout
445
+ if (
446
+ !isWithoutLayout && !fs.existsSync(layoutPath) && layoutPath == localOptions.template.templates +'/index.html'
447
+ ) {
448
+ console.warn('Layout '+ localOptions.template.layout +' not found, replacing with `nolayout`: '+ localOptions.template.noLayout);
449
+ layoutPath = localOptions.template.noLayout
450
+ isWithoutLayout = true;
451
+ data.page.view.layout = layoutPath;
452
+ }
453
+ // user defined layout
454
+ else if ( !isWithoutLayout && !fs.existsSync(layoutPath) ) {
455
+ isWithSwigLayout = true;
456
+ layoutPath = localOptions.template.noLayout;
457
+ data.page.view.layout = layoutPath;
458
+ }
459
+ // layout defiendd but not found
460
+ else if (!fs.existsSync(layoutPath) ) {
461
+ err = new ApiError(localOptions.bundle +' SuperController exception while trying to load your layout `'+ layoutPath +'`.\nIt seems like you have defined a layout, but gina could not locate the file.\nFor more informations, check your `config/templates.json` declaration around `'+ localOptions.rule.replace(/\@(.*)/g, '') +'`', 500);
462
+ self.throwError(err);
463
+ return;
464
+ }
465
+ }
466
+
467
+
468
+ // errors first
469
+ if (!headersSent) {
470
+
471
+ //catching errors
472
+ local.res.statusCode = ( typeof(localOptions.conf.server.coreConfiguration.statusCodes[data.page.data.status]) != 'undefined' ) ? data.page.data.status : 200; // by default
473
+
474
+ // HTTP/2 (RFC7540 8.1.2.4):
475
+ // This standard for HTTP/2 explicitly states that status messages are not supported.
476
+ // In HTTP/2, the status is conveyed solely by the numerical status code (e.g., 200, 404, 500),
477
+ // and there is no field for a human-readable status message.
478
+ if (
479
+ typeof(data.page.data.errno) != 'undefined'
480
+ && /^2/.test(data.page.data.status)
481
+ && typeof(localOptions.conf.server.coreConfiguration.statusCodes[data.page.data.status]) != 'undefined'
482
+ && !/http\/2/.test(localOptions.conf.server.protocol)
483
+ ||
484
+ typeof(data.page.data.status) != 'undefined'
485
+ && !/^2/.test(data.page.data.status)
486
+ && typeof(localOptions.conf.server.coreConfiguration.statusCodes[data.page.data.status]) != 'undefined'
487
+ && !/http\/2/.test(localOptions.conf.server.protocol)
488
+ ) {
489
+
490
+ try {
491
+ local.res.statusMessage = localOptions.conf.server.coreConfiguration.statusCodes[data.page.data.status];
492
+ } catch (err){
493
+ local.res.statusCode = 500;
494
+ local.res.statusMessage = err.stack||err.message||localOptions.conf.server.coreConfiguration.statusCodes[local.res.statusCode];
495
+ }
496
+ }
497
+
498
+ local.res.setHeader('content-type', localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding );
499
+
500
+ try {
501
+
502
+ // escape special chars
503
+ var blacklistRe = new RegExp('[\<\>]', 'g');
504
+ // DO NOT REPLACE IT BY JSON.clone() !!!!
505
+
506
+ data.page.data = JSON.parse(JSON.stringify(data.page.data).replace(blacklistRe, '\$&'));
507
+ blacklistRe = null;
508
+ } catch (err) {
509
+ filename = localOptions.template.html;
510
+ filename += ( typeof(data.page.view.namespace) != 'undefined' && data.page.view.namespace != '' && new RegExp('^' + data.page.view.namespace +'-').test(data.page.view.file) ) ? '/' + data.page.view.namespace + data.page.view.file.split(data.page.view.namespace +'-').join('/') + ( (data.page.view.ext != '') ? data.page.view.ext: '' ) : '/' + data.page.view.file+ ( (data.page.view.ext != '') ? data.page.view.ext: '' );
511
+ self.throwError(local.res, 500, new Error('Controller::render(...) compilation error encountered while trying to process template `'+ filename + '`\n' + (err.stack||err.message||err) ));
512
+ filename = null;
513
+ blacklistRe = null;
514
+ return;
515
+ }
516
+ }
517
+
518
+
519
+ var isLoadingPartial = false;
520
+ assets = {assets:"${assets}"};
521
+ layout = fs.readFileSync(layoutPath, 'utf8');
522
+ // Loading from cache
523
+ if (
524
+ /**!self.isCacheless()
525
+ &&*/
526
+ typeof(cachedTemplates[ localOptions.bundle + subFolder +'/'+ data.page.view.file ]) != 'undefined'
527
+ ) {
528
+ compiledTemplate = cachedTemplates[ localOptions.bundle + subFolder +'/'+ data.page.view.file ];
529
+
530
+ if ( !headersSent() ) {
531
+ if ( localOptions.isRenderingCustomError ) {
532
+ localOptions.isRenderingCustomError = false;
533
+ }
534
+ console.info(local.req.method +' ['+local.res.statusCode +'] '+ local.req.url);
535
+ local.res.end( compiledTemplate(data) );
536
+ layout = null;
537
+ }
538
+
539
+ if ( typeof(local.next) != 'undefined' ) {
540
+ return local.next();
541
+ }
542
+ return;
543
+ } // EO if ( cachedTemplates[ ... ] )
544
+
545
+
546
+
547
+ isLoadingPartial = (
548
+ !/\<html/i.test(layout)
549
+ || !/\<head/i.test(layout)
550
+ || !/\<body/i.test(layout)
551
+ ) ? true : false;
552
+
553
+ // if (isLoadingPartial) {
554
+ // console.warn('----------------> loading partial `'+ path);
555
+ // }
556
+
557
+ isDeferModeEnabled = localOptions.template.javascriptsDeferEnabled || localOptions.conf.content.templates._common.javascriptsDeferEnabled || false;
558
+ hasExternalsPlugins = (localOptions.template.externalPlugins.length > 0) ? true : false;
559
+
560
+ // iframe case - without HTML TAG
561
+ if (!self.isXMLRequest() && !/\<html/.test(layout) ) {
562
+ layout = '<html>\n\t<head></head>\n\t<body class="gina-iframe-body">\n\t\t'+ layout +'\n\t</body>\n</html>';
563
+ }
564
+
565
+ // adding stylesheets
566
+ if (!isWithoutLayout && data.page.view.stylesheets && !/\{\{\s+(page\.view\.stylesheets)\s+\}\}/.test(layout) ) {
567
+ layout = layout.replace(/\<\/head\>/i, '\n\t{{ page.view.stylesheets }}\n</head>')
568
+ }
569
+
570
+ if (hasViews() && isWithoutLayout) {
571
+ // $.getScript(...)
572
+ //var isProxyHost = ( typeof(local.req.headers.host) != 'undefined' && localOptions.conf.server.scheme +'://'+ local.req.headers.host != localOptions.conf.hostname || typeof(local.req.headers[':authority']) != 'undefined' && localOptions.conf.server.scheme +'://'+ local.req.headers[':authority'] != localOptions.conf.hostname ) ? true : false;
573
+ //var hostname = (isProxyHost) ? localOptions.conf.hostname.replace(/\:\d+$/, '') : localOptions.conf.hostname;
574
+
575
+
576
+
577
+ var scripts = data.page.view.scripts;
578
+ scripts = scripts.replace(/\s+\<script/g, '\n<script');
579
+
580
+ if (!isProxyHost) {
581
+ var webroot = data.page.environment.webroot;
582
+ scripts = scripts.replace(/src\=\"\/(.*)\"/g, 'src="'+ webroot +'$1"');
583
+ //stylesheets = stylesheets.replace(/href\=\"\/(.*)\"/g, 'href="'+ webroot +'$1"')
584
+ webroot = null;
585
+ }
586
+
587
+ // iframe case - without HTML TAG
588
+ if (self.isXMLRequest() || !/\<html/.test(layout) ) {
589
+ layout += scripts;
590
+ //layout += stylesheets;
591
+ }
592
+
593
+ }
594
+
595
+ // Adding plugins
596
+ // Means that we don't want GFF context or we already have it loaded
597
+ viewInfos = JSON.clone(data.page.view);
598
+ if ( !isWithoutLayout )
599
+ viewInfos.assets = assets;
600
+
601
+ if (
602
+ hasViews() && self.isCacheless() && !isWithoutLayout
603
+ && localOptions.debugMode
604
+ ||
605
+ hasViews() && self.isCacheless() && !isWithoutLayout
606
+ && typeof(localOptions.debugMode) == 'undefined'
607
+ ||
608
+ hasViews() && localOptions.debugMode
609
+ ) {
610
+ if ( !/\{\%\- set ginaDataInspector/.test(layout) ) {
611
+ layout = ''
612
+ // + '{%- set ginaDataInspector = JSON.clone(page) -%}'
613
+ + '{%- set ginaDataInspector = JSON.clone(page) -%}'
614
+ // + '{%- set ginaDataInspector = { view: {}, environment: { routing: {}}} -%}'
615
+ + '{%- set ginaDataInspector.view.assets = {} -%}'
616
+ + '{%- set ginaDataInspector.view.scripts = "ignored-by-toolbar" -%}'
617
+ + '{%- set ginaDataInspector.view.stylesheets = "ignored-by-toolbar" -%}'
618
+ + layout
619
+ ;
620
+ }
621
+
622
+
623
+ plugin = '\t'
624
+ + '{# Gina Toolbar #}'
625
+ + '{%- set userDataInspector = JSON.clone(page) -%}'
626
+ + '{%- set userDataInspector.view.scripts = "ignored-by-toolbar" -%}'
627
+ + '{%- set userDataInspector.view.stylesheets = "ignored-by-toolbar" -%}'
628
+ + '{%- set userDataInspector.view.assets = '+ JSON.stringify(assets) +' -%}'
629
+ + '{# END Gina Toolbar #}'
630
+ + '{%- include "'+ getPath('gina').core +'/asset/plugin/dist/vendor/gina/html/toolbar.html" with { gina: ginaDataInspector, user: userDataInspector } -%}'// jshint ignore:line
631
+ ;
632
+
633
+
634
+ if (isWithoutLayout && localOptions.debugMode || localOptions.debugMode ) {
635
+ if (self.isXMLRequest()) {
636
+ XHRData = '\t<input type="hidden" id="gina-without-layout-xhr-data" value="'+ encodeRFC5987ValueChars(JSON.stringify(data.page.data)) +'">\n\r';
637
+ XHRView = '\n<input type="hidden" id="gina-without-layout-xhr-view" value="'+ encodeRFC5987ValueChars(JSON.stringify(viewInfos)) +'">';
638
+ if ( /<\/body>/i.test(layout) ) {
639
+ layout = layout.replace(/<\/body>/i, XHRData + XHRView + '\n\t</body>');
640
+ } else {
641
+ // Popin case
642
+ // Fix added on 2023-01-25
643
+ layout += XHRData + XHRView + '\n\t'
644
+ }
645
+ }
646
+ }
647
+
648
+
649
+ if (
650
+ self.isCacheless()
651
+ && !/\{\# Gina Toolbar \#\}/.test(layout)
652
+ ||
653
+ localOptions.debugMode
654
+ && !/\{\# Gina Toolbar \#\}/.test(layout)
655
+ ) {
656
+ layout = layout.replace(/<\/body>/i, plugin + '\n\t</body>');
657
+ }
658
+
659
+ // adding javascripts
660
+ layout.replace('{{ page.view.scripts }}', '');
661
+ // placed in the HEAD excepted when rendering a partial or when `isDeferModeEnabled` == true
662
+ if (isLoadingPartial) {
663
+ if ( !/\{\{ page\.view\.scripts \}\}/.test(layout) ) {
664
+ layout += '\t{{ page.view.scripts }}';
665
+ }
666
+ } else {
667
+ // placed in the HEAD
668
+ if ( isDeferModeEnabled ) {
669
+ layout = layout.replace(/\<\/head\>/i, '\t{{ page.view.scripts }}\n\t</head>');
670
+ }
671
+ // placed in the BODY
672
+ else {
673
+ if ( !/\{\{ page\.view\.scripts \}\}/.test(layout) ) {
674
+ layout = layout.replace(/\<\/body\>/i, '\t{{ page.view.scripts }}\n</body>');
675
+ }
676
+ if (hasExternalsPlugins) {
677
+ for (let i =0, len = localOptions.template.externalPlugins.length; i<len; i++) {
678
+ layout = layout.replace(/\<\/head\>/i, '\t'+ localOptions.template.externalPlugins +'\n</head>');
679
+ }
680
+ }
681
+ }
682
+ }
683
+
684
+ // ginaLoader cannot be deferred
685
+ if ( !localOptions.template.javascriptsExcluded || localOptions.template.javascriptsExcluded != '**' ) {
686
+ layout = layout.replace(/\<\/head\>/i, '\t'+ localOptions.template.ginaLoader +'\n</head>');
687
+ }
688
+
689
+ } else if ( hasViews() && self.isCacheless() && self.isXMLRequest() ) {
690
+
691
+ if (isWithoutLayout) {
692
+ delete data.page.view.scripts;
693
+ delete data.page.view.stylesheets;
694
+ }
695
+ // means that we don't want GFF context or we already have it loaded
696
+ // viewInfos = JSON.clone(data.page.view);
697
+ // if ( !isWithoutLayout )
698
+ // viewInfos.assets = assets;
699
+
700
+
701
+ XHRData = '\n<input type="hidden" id="gina-without-layout-xhr-data" value="'+ encodeRFC5987ValueChars(JSON.stringify(data.page.data)) +'">';
702
+ XHRView = '\n<input type="hidden" id="gina-without-layout-xhr-view" value="'+ encodeRFC5987ValueChars(JSON.stringify(viewInfos)) +'">';
703
+ if ( /<\/body>/i.test(layout) ) {
704
+ layout = layout.replace(/<\/body>/i, XHRData + XHRView + '\n\t</body>');
705
+ } else {
706
+ // Popin case
707
+ // Fix added on 2023-01-25
708
+ layout += XHRData + XHRView + '\n\t'
709
+ }
710
+
711
+ // layout += XHRData + XHRView;
712
+
713
+ } else { // other envs like prod ...
714
+ // adding javascripts
715
+ layout.replace('{{ page.view.scripts }}', '');
716
+ if (isLoadingPartial) {
717
+ if ( !/\{\{ page\.view\.scripts \}\}/.test(layout) ) {
718
+ layout += '\t{{ page.view.scripts }}\n';
719
+ }
720
+ if ( !localOptions.template.javascriptsExcluded || localOptions.template.javascriptsExcluded != '**' ) {
721
+ layout += '\t'+ localOptions.template.ginaLoader +'\n';
722
+ }
723
+ } else {
724
+ // placed in the HEAD
725
+ if (
726
+ isDeferModeEnabled && /\<\/head\>/i.test(layout)
727
+ && !/\{\{ page\.view\.scripts \}\}/.test(layout)
728
+ ) { // placed in the HEAD
729
+ layout = layout.replace(/\<\/head\>/i, '\t{{ page.view.scripts }}\n\t</head>');
730
+ }
731
+ // placed in the BODY
732
+ else {
733
+ if ( !/\{\{ page\.view\.scripts \}\}/.test(layout) ) {
734
+ layout = layout.replace(/\<\/body\>/i, '\t{{ page.view.scripts }}\n</body>');
735
+ }
736
+ if (hasExternalsPlugins) {
737
+ for (let i =0, len = localOptions.template.externalPlugins.length; i<len; i++) {
738
+ layout = layout.replace(/\<\/head\>/i, '\t'+ localOptions.template.externalPlugins +'\n</head>');
739
+ }
740
+ }
741
+ }
742
+ // ginaLoader cannot be deferred
743
+ if ( !localOptions.template.javascriptsExcluded || localOptions.template.javascriptsExcluded != '**' ) {
744
+ layout = layout.replace(/\<\/head\>/i, '\t'+ localOptions.template.ginaLoader +'\n</head>');
745
+ }
746
+ }
747
+ }
748
+
749
+
750
+ layout = whisper(dic, layout, /\{{ ([a-zA-Z.]+) \}}/g );
751
+ dic['page.content'] = layout;
752
+
753
+
754
+ if ( !headersSent() ) {
755
+ // //catching errors
756
+ // local.res.statusCode = ( typeof(localOptions.conf.server.coreConfiguration.statusCodes[data.page.data.status]) != 'undefined' ) ? data.page.data.status : 200; // by default
757
+
758
+ // // HTTP/2 (RFC7540 8.1.2.4):
759
+ // // This standard for HTTP/2 explicitly states that status messages are not supported.
760
+ // // In HTTP/2, the status is conveyed solely by the numerical status code (e.g., 200, 404, 500),
761
+ // // and there is no field for a human-readable status message.
762
+ // if (
763
+ // typeof(data.page.data.errno) != 'undefined'
764
+ // && /^2/.test(data.page.data.status)
765
+ // && typeof(localOptions.conf.server.coreConfiguration.statusCodes[data.page.data.status]) != 'undefined'
766
+ // && !/http\/2/.test(localOptions.conf.server.protocol)
767
+ // ||
768
+ // typeof(data.page.data.status) != 'undefined'
769
+ // && !/^2/.test(data.page.data.status)
770
+ // && typeof(localOptions.conf.server.coreConfiguration.statusCodes[data.page.data.status]) != 'undefined'
771
+ // && !/http\/2/.test(localOptions.conf.server.protocol)
772
+ // ) {
773
+
774
+ // try {
775
+ // local.res.statusMessage = localOptions.conf.server.coreConfiguration.statusCodes[data.page.data.status];
776
+ // } catch (err){
777
+ // local.res.statusCode = 500;
778
+ // local.res.statusMessage = err.stack||err.message||localOptions.conf.server.coreConfiguration.statusCodes[local.res.statusCode];
779
+ // }
780
+ // }
781
+
782
+ // local.res.setHeader('content-type', localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding );
783
+
784
+ // try {
785
+
786
+ // // escape special chars
787
+ // var blacklistRe = new RegExp('[\<\>]', 'g');
788
+ // // DO NOT REPLACE IT BY JSON.clone() !!!!
789
+
790
+ // data.page.data = JSON.parse(JSON.stringify(data.page.data).replace(blacklistRe, '\$&'));
791
+ // blacklistRe = null;
792
+ // } catch (err) {
793
+ // filename = localOptions.template.html;
794
+ // filename += ( typeof(data.page.view.namespace) != 'undefined' && data.page.view.namespace != '' && new RegExp('^' + data.page.view.namespace +'-').test(data.page.view.file) ) ? '/' + data.page.view.namespace + data.page.view.file.split(data.page.view.namespace +'-').join('/') + ( (data.page.view.ext != '') ? data.page.view.ext: '' ) : '/' + data.page.view.file+ ( (data.page.view.ext != '') ? data.page.view.ext: '' );
795
+ // self.throwError(local.res, 500, new Error('Controller::render(...) compilation error encountered while trying to process template `'+ filename + '`\n' + (err.stack||err.message||err) ));
796
+ // filename = null;
797
+ // blacklistRe = null;
798
+ // return;
799
+ // }
800
+
801
+
802
+
803
+ // Only available for http/2.0 for now
804
+ if ( !self.isXMLRequest() && /http\/2/.test(localOptions.conf.server.protocol) ) {
805
+ var assets = null;
806
+ try {
807
+ // TODO - button in toolbar to empty url assets cache
808
+ if ( /** self.isCacheless() ||*/ typeof(localOptions.template.assets) == 'undefined' || typeof(localOptions.template.assets[local.req.url]) == 'undefined' ) {
809
+ // assets string -> object
810
+ //assets = self.serverInstance.getAssets(localOptions.conf, layout.toString(), swig, data);
811
+ assets = self.serverInstance.getAssets(localOptions.conf, layout, swig, data);
812
+ localOptions.template.assets = JSON.parse(assets);
813
+ }
814
+
815
+ // only for toolbar - TODO hasToolbar()
816
+ if (
817
+ self.isCacheless() && hasViews() && !isWithoutLayout
818
+ || hasViews() && localOptions.debugMode
819
+ || self.isCacheless() && hasViews() && self.isXMLRequest()
820
+ ) {
821
+ layout = layout.replace('{"assets":"${assets}"}', assets );
822
+ }
823
+
824
+ if ( !self.isCacheless() ) {
825
+ var links = localOptions.template.h2Links;
826
+ for (let l in localOptions.template.assets) {
827
+ let link = localOptions.template.assets[l]
828
+ if (
829
+ /^_/.test(l)
830
+ || typeof(link.as) == 'undefined'
831
+ || typeof(link.as) != 'undefined'
832
+ && link.as != 'null'
833
+ && !link.isAvailable
834
+ || !link.as
835
+ ) {
836
+ // ignoring
837
+ continue;
838
+ }
839
+
840
+ links += '<'+ l +'>; as='+ link.as +'; '
841
+ if ( link.imagesrcset) {
842
+ links += 'imagesrcset='+ link.imagesrcset +'; ';
843
+ }
844
+ if ( link.imagesizes) {
845
+ links += 'imagesizes='+ link.imagesizes +'; ';
846
+ }
847
+ links += 'rel=preload,'
848
+
849
+ }
850
+ if ( /\,$/.test(links) ) {
851
+ links = links.substring(0, links.length-1);
852
+ }
853
+ local.res.setHeader('link', links);
854
+ links = null;
855
+ }
856
+
857
+ assets = null;
858
+
859
+ } catch (err) {
860
+ assets = null;
861
+ self.throwError(local.res, 500, new Error('Controller::render(...) calling getAssets(...) \n' + (err.stack||err.message||err) ));
862
+ return;
863
+ }
864
+ }
865
+
866
+ if (newLayoutFilename) {
867
+ fd = fs.openSync(newLayoutFilename, 'w'); // Open file for writing
868
+ buffer = Buffer.from( layout );
869
+ fs.writeSync(fd, buffer, 0, buffer.length, 0); // Write the buffer
870
+ buffer = null;
871
+ fs.closeSync(fd); // Close the file descriptor
872
+ fd = null;
873
+ }
874
+
875
+
876
+
877
+ // Last compilation before rendering
878
+ // Now we can use `data` instead of `swigData`
879
+ mapping = { filename: path };
880
+ compiledTemplate = swig.compile(_templateContent, mapping);
881
+ if ( !self.isCacheless && hasLayoutInPath) {
882
+ // Caching template
883
+ cachedTemplates[ localOptions.bundle + subFolder +'/'+ data.page.view.file ] = compiledTemplate;
884
+ }
885
+
886
+ if ( !headersSent() ) {
887
+ if ( localOptions.isRenderingCustomError ) {
888
+ localOptions.isRenderingCustomError = false;
889
+ }
890
+ console.info(local.req.method +' ['+local.res.statusCode +'] '+ local.req.url);
891
+ local.res.end( compiledTemplate(data) );
892
+ layout = null;
893
+ }
894
+
895
+ // console.info(local.req.method +' ['+local.res.statusCode +'] '+ local.req.url);
896
+
897
+ if ( typeof(local.next) != 'undefined' ) {
898
+ return local.next();
899
+ }
900
+ return;
901
+ }
902
+
903
+
904
+ if ( typeof(local.req.params.errorObject) != 'undefined' ) {
905
+ return self.throwError(local.req.params.errorObject);
906
+ }
907
+ local.res.end('Unexpected controller error while trying to render.');
908
+
909
+ if (typeof(local.next) != 'undefined') {
910
+ return local.next();
911
+ }
912
+
913
+ return;
914
+
915
+ } catch (err) {
916
+ return self.throwError(local.res, 500, err);
917
+ }
918
+ }
919
+
920
+ module.exports = function onDeps(deps) {
921
+
922
+ self = deps.self;
923
+ local = deps.local;
924
+ getData = deps.getData;
925
+ hasViews = deps.hasViews;
926
+ setResources = deps.setResources;
927
+ swig = deps.swig;
928
+ SwigFilters = deps.SwigFilters;
929
+ headersSent = deps.headersSent;
930
+
931
+ return render;
932
+ };