gina 0.1.8-alpha.1 → 0.1.8

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 (349) hide show
  1. package/.github/dependabot.yml +12 -0
  2. package/CHANGELOG.md +11 -0
  3. package/CONTRIBUTING.md +190 -0
  4. package/GOVERNANCE.md +20 -0
  5. package/README.md +5 -1
  6. package/ROADMAP.md +46 -5
  7. package/framework/v0.1.8/VERSION +1 -0
  8. package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  9. package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/dist/vendor/gina/html/toolbar.html.gz +0 -0
  10. package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/dist/vendor/gina/js/gina.js +16 -0
  11. package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +235 -234
  12. package/framework/v0.1.8/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  13. package/framework/v0.1.8/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  14. package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  15. package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/connectors/couchbase/index.js +23 -3
  16. package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/server.isaac.js +13 -0
  17. package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/domain/dist/public_suffix_list.dat.gz +0 -0
  18. package/package.json +3 -3
  19. package/framework/v0.1.8-alpha.1/VERSION +0 -1
  20. package/framework/v0.1.8-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  21. package/framework/v0.1.8-alpha.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  22. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/AUTHORS +0 -0
  23. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/LICENSE +0 -0
  24. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/html/nolayout.html +0 -0
  25. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/html/static.html +0 -0
  26. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/img/android-chrome-192x192.png +0 -0
  27. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/img/android-chrome-512x512.png +0 -0
  28. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/img/apple-touch-icon.png +0 -0
  29. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/img/favicon-16x16.png +0 -0
  30. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/img/favicon-32x32.png +0 -0
  31. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/img/favicon.ico +0 -0
  32. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/README.md +0 -0
  33. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  34. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  35. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +0 -0
  36. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/dist/vendor/gina/html/toolbar.html.br +0 -0
  37. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  38. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  39. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/asset/plugin/uuid.json +0 -0
  40. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/config.js +0 -0
  41. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/connectors/couchbase/lib/connector.js +0 -0
  42. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/connectors/couchbase/lib/connector.v2.js +0 -0
  43. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  44. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  45. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/connectors/couchbase/lib/n1ql.js +0 -0
  46. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/connectors/couchbase/lib/session-store.js +0 -0
  47. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
  48. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  49. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  50. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/content.encoding +0 -0
  51. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/controller/controller.framework.js +0 -0
  52. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/controller/controller.js +0 -0
  53. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/controller/controller.render-json.js +0 -0
  54. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/controller/controller.render-swig.js +0 -0
  55. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/controller/controller.render-v1.js +0 -0
  56. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/controller/index.js +0 -0
  57. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/busboy-1.6.0/LICENSE +0 -0
  58. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/busboy-1.6.0/README.md +0 -0
  59. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/busboy-1.6.0/lib/index.js +0 -0
  60. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
  61. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
  62. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
  63. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/busboy-1.6.0/package.json +0 -0
  64. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/optimist-0.6.1/LICENSE +0 -0
  65. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/optimist-0.6.1/index.js +0 -0
  66. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/optimist-0.6.1/package.json +0 -0
  67. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/optimist-0.6.1/readme.markdown +0 -0
  68. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/HISTORY.md +0 -0
  69. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/LICENSE +0 -0
  70. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/README.md +0 -0
  71. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/bin/swig.js +0 -0
  72. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/dist/swig.min.js +0 -0
  73. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/index.js +0 -0
  74. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/dateformatter.js +0 -0
  75. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/filters.js +0 -0
  76. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/lexer.js +0 -0
  77. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/loaders/filesystem.js +0 -0
  78. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/loaders/index.js +0 -0
  79. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/loaders/memory.js +0 -0
  80. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/parser.js +0 -0
  81. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/swig.js +0 -0
  82. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/autoescape.js +0 -0
  83. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/block.js +0 -0
  84. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/else.js +0 -0
  85. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/elseif.js +0 -0
  86. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/extends.js +0 -0
  87. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/filter.js +0 -0
  88. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/for.js +0 -0
  89. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/if.js +0 -0
  90. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/import.js +0 -0
  91. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/include.js +0 -0
  92. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/index.js +0 -0
  93. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/macro.js +0 -0
  94. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/parent.js +0 -0
  95. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/raw.js +0 -0
  96. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/set.js +0 -0
  97. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/tags/spaceless.js +0 -0
  98. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/lib/utils.js +0 -0
  99. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-1.4.2/package.json +0 -0
  100. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
  101. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/deps/swig-client/swig.js +0 -0
  102. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/dev/index.js +0 -0
  103. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/dev/lib/class.js +0 -0
  104. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/dev/lib/factory.js +0 -0
  105. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/dev/lib/tools.js +0 -0
  106. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/gna.js +0 -0
  107. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/locales/README.md +0 -0
  108. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/locales/currency.json +0 -0
  109. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/locales/dist/language/en.json +0 -0
  110. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/locales/dist/language/fr.json +0 -0
  111. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/locales/dist/region/en.json +0 -0
  112. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/locales/dist/region/fr.json +0 -0
  113. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/locales/index.js +0 -0
  114. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/mime.types +0 -0
  115. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/model/entity.js +0 -0
  116. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/model/index.js +0 -0
  117. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/model/template/entityFactory.js +0 -0
  118. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/model/template/index.js +0 -0
  119. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/README.md +0 -0
  120. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/index.js +0 -0
  121. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/file/README.md +0 -0
  122. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/file/build.json +0 -0
  123. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/file/package.json +0 -0
  124. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/intl/README.md +0 -0
  125. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/intl/build.json +0 -0
  126. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/intl/package.json +0 -0
  127. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/intl/src/main.js +0 -0
  128. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/storage/README.md +0 -0
  129. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/storage/build.json +0 -0
  130. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/storage/package.json +0 -0
  131. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/storage/src/main.js +0 -0
  132. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/validator/README.md +0 -0
  133. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/validator/build.json +0 -0
  134. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/validator/package.json +0 -0
  135. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/validator/src/form-validator.js +0 -0
  136. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/plugins/lib/validator/src/main.js +0 -0
  137. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/router.js +0 -0
  138. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/server.express.js +0 -0
  139. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/server.js +0 -0
  140. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/status.codes +0 -0
  141. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/_gitignore +0 -0
  142. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle/config/app.json +0 -0
  143. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  144. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle/config/routing.json +0 -0
  145. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle/config/settings.json +0 -0
  146. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  147. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle/config/templates.json +0 -0
  148. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  149. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  150. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  151. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle/index.js +0 -0
  152. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  153. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  154. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  155. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  156. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  157. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  158. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle_public/readme.md +0 -0
  159. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  160. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  161. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  162. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  163. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  164. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/command/gina.bat.tpl +0 -0
  165. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/command/gina.tpl +0 -0
  166. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/conf/env.json +0 -0
  167. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/conf/manifest.json +0 -0
  168. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/conf/package.json +0 -0
  169. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/conf/settings.json +0 -0
  170. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/conf/statics.json +0 -0
  171. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/conf/templates.json +0 -0
  172. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/error/client/json/401.json +0 -0
  173. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/error/client/json/403.json +0 -0
  174. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/error/client/json/404.json +0 -0
  175. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/error/server/html/50x.html +0 -0
  176. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/error/server/json/500.json +0 -0
  177. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/error/server/json/503.json +0 -0
  178. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/core/template/extensions/logger/config.json +0 -0
  179. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/console.js +0 -0
  180. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/context.js +0 -0
  181. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/data/LICENSE +0 -0
  182. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/data/README.md +0 -0
  183. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/data/package.json +0 -0
  184. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/data/src/main.js +0 -0
  185. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/dateFormat.js +0 -0
  186. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/index.js +0 -0
  187. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/json/LICENSE +0 -0
  188. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/json/README.md +0 -0
  189. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/json/package.json +0 -0
  190. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/json/src/main.js +0 -0
  191. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/path.js +0 -0
  192. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/plugins/README.md +0 -0
  193. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/plugins/package.json +0 -0
  194. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/plugins/src/api-error.js +0 -0
  195. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/plugins/src/main.js +0 -0
  196. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/prototypes.js +0 -0
  197. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/task.js +0 -0
  198. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/helpers/text.js +0 -0
  199. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/archiver/README.md +0 -0
  200. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/archiver/build.json +0 -0
  201. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/archiver/package.json +0 -0
  202. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/archiver/src/dep/jszip.min.js +0 -0
  203. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/archiver/src/main.js +0 -0
  204. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cache/README.md +0 -0
  205. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cache/build.json +0 -0
  206. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cache/package.json +0 -0
  207. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cache/src/main.js +0 -0
  208. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/aliases.json +0 -0
  209. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/add.js +0 -0
  210. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/arguments.json +0 -0
  211. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/build.js +0 -0
  212. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/copy.js +0 -0
  213. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/cp.js +0 -0
  214. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/help.js +0 -0
  215. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/help.txt +0 -0
  216. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/list.js +0 -0
  217. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/remove.js +0 -0
  218. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/rename.js +0 -0
  219. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/restart.js +0 -0
  220. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/rm.js +0 -0
  221. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/start.js +0 -0
  222. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/status.js +0 -0
  223. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/bundle/stop.js +0 -0
  224. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/cache/stats.js +0 -0
  225. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/env/add.js +0 -0
  226. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/env/get.js +0 -0
  227. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/env/help.js +0 -0
  228. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/env/help.txt +0 -0
  229. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/env/link-dev.js +0 -0
  230. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/env/list.js +0 -0
  231. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/env/remove.js +0 -0
  232. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/env/rm.js +0 -0
  233. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/env/set.js +0 -0
  234. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/env/unset.js +0 -0
  235. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/env/use.js +0 -0
  236. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/arguments.json +0 -0
  237. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/build.js +0 -0
  238. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/dot.js +0 -0
  239. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/get.js +0 -0
  240. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/help.js +0 -0
  241. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/help.txt +0 -0
  242. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/init.js +0 -0
  243. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/link-node-modules.js +0 -0
  244. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/link.js +0 -0
  245. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/msg.json +0 -0
  246. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/open.js +0 -0
  247. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/restart.js +0 -0
  248. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/set.js +0 -0
  249. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/start.js +0 -0
  250. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/status.js +0 -0
  251. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/stop.js +0 -0
  252. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/tail.js +0 -0
  253. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/update.js +0 -0
  254. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/framework/version.js +0 -0
  255. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/gina-dev.1.md +0 -0
  256. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/gina-framework.1.md +0 -0
  257. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/gina.1.md +0 -0
  258. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/helper.js +0 -0
  259. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/index.js +0 -0
  260. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/minion/help.js +0 -0
  261. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/minion/help.txt +0 -0
  262. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/msg.json +0 -0
  263. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/port/help.js +0 -0
  264. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/port/help.txt +0 -0
  265. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/port/inc/scan.js +0 -0
  266. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/port/list.js +0 -0
  267. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/port/reset.js +0 -0
  268. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/port/set.js +0 -0
  269. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/add.js +0 -0
  270. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/arguments.json +0 -0
  271. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/build.js +0 -0
  272. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/help.js +0 -0
  273. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/help.txt +0 -0
  274. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/import.js +0 -0
  275. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/list.js +0 -0
  276. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/move.js +0 -0
  277. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/remove.js +0 -0
  278. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/rename.js +0 -0
  279. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/restart.js +0 -0
  280. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/rm.js +0 -0
  281. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/start.js +0 -0
  282. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/status.js +0 -0
  283. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/project/stop.js +0 -0
  284. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/protocol/help.js +0 -0
  285. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/protocol/help.txt +0 -0
  286. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/protocol/list.js +0 -0
  287. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/protocol/set.js +0 -0
  288. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/scope/add.js +0 -0
  289. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/scope/help.js +0 -0
  290. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/scope/help.txt +0 -0
  291. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/scope/link-local.js +0 -0
  292. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/scope/link-production.js +0 -0
  293. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/scope/list.js +0 -0
  294. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/scope/remove.js +0 -0
  295. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/scope/rm.js +0 -0
  296. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/scope/use.js +0 -0
  297. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cmd/view/add.js +0 -0
  298. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/collection/README.md +0 -0
  299. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/collection/build.json +0 -0
  300. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/collection/package.json +0 -0
  301. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/collection/src/main.js +0 -0
  302. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/config.js +0 -0
  303. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cron/README.md +0 -0
  304. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cron/package.json +0 -0
  305. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/cron/src/main.js +0 -0
  306. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/domain/LICENSE +0 -0
  307. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/domain/README.md +0 -0
  308. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +0 -0
  309. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/domain/dist/public_suffix_list.dat +0 -0
  310. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/domain/dist/public_suffix_list.dat.br +0 -0
  311. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/domain/package.json +0 -0
  312. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/domain/src/main.js +0 -0
  313. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/generator/index.js +0 -0
  314. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/index.js +0 -0
  315. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/inherits/LICENSE +0 -0
  316. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/inherits/README.md +0 -0
  317. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/inherits/package.json +0 -0
  318. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/inherits/src/main.js +0 -0
  319. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/logger/README.md +0 -0
  320. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/logger/package.json +0 -0
  321. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/logger/src/containers/default/index.js +0 -0
  322. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/logger/src/containers/file/index.js +0 -0
  323. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  324. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  325. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/logger/src/containers/mq/index.js +0 -0
  326. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/logger/src/containers/mq/listener.js +0 -0
  327. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/logger/src/containers/mq/speaker.js +0 -0
  328. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/logger/src/helper.js +0 -0
  329. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/logger/src/main.js +0 -0
  330. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/math/index.js +0 -0
  331. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/merge/README.md +0 -0
  332. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/merge/package.json +0 -0
  333. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/merge/src/main.js +0 -0
  334. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/model.js +0 -0
  335. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/proc.js +0 -0
  336. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/routing/README.md +0 -0
  337. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/routing/build.json +0 -0
  338. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/routing/package.json +0 -0
  339. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/routing/src/main.js +0 -0
  340. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/session-store.js +0 -0
  341. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/shell.js +0 -0
  342. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/swig-filters/README.md +0 -0
  343. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/swig-filters/package.json +0 -0
  344. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/swig-filters/src/main.js +0 -0
  345. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/url/README.md +0 -0
  346. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/url/index.js +0 -0
  347. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/url/routing.json +0 -0
  348. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/lib/validator.js +0 -0
  349. /package/framework/{v0.1.8-alpha.1 → v0.1.8}/package.json +0 -0
@@ -0,0 +1,12 @@
1
+ version: 2
2
+ updates:
3
+ - package-ecosystem: "npm"
4
+ directory: "/"
5
+ schedule:
6
+ interval: "weekly"
7
+ ignore:
8
+ # Vendored dependencies under framework/v*/ are managed manually.
9
+ # They are not installed via npm — do not auto-update them.
10
+ - dependency-name: "*"
11
+ update-types: ["version-update:semver-patch"]
12
+ open-pull-requests-limit: 5
package/CHANGELOG.md CHANGED
@@ -6,6 +6,17 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
6
6
  and is generated by [Changie](https://github.com/miniscruff/changie).
7
7
 
8
8
 
9
+ ## 0.1.8 - 2026-03-27
10
+ ### Added
11
+ * Added .github/dependabot.yml — weekly npm dependency updates for root package.json; vendored framework deps excluded
12
+ * Added _debugLog / _isDebugLog to server.isaac.js (LOG_LEVEL=debug|trace outputs gray-coded timestamps with [gina:isaac] group tag, matching gna.js and server.js)
13
+ ### Changed
14
+ * package.json description updated to: Node.js MVC framework with built-in HTTP/2, multi-bundle architecture, and scope-based data isolation — no Express dependency
15
+ ### Fixed
16
+ * Removed swig devDependency declarations (package.json.dist) from git — eliminated 6 Dependabot false-positive alerts (lodash, express, phantomjs are swig test-only deps, never installed or reachable at runtime)
17
+ * Popin overlay stuck active after form submit: data-gina-popin-loading attribute was set on XHR readyState 1/3 but never removed on readyState 4 (response complete), leaving the overlay blocking subsequent interactions. Cleared in xhr.onreadystatechange readyState==4, popinClose, and popinReset.
18
+ * Couchbase connector: @include directives sent raw to Couchbase in dev mode — the dev-mode SQL re-read refreshed the query body without re-expanding @include tokens, causing N1QL syntax errors. Dev-mode re-read now applies the same @include expansion as the startup parser.
19
+
9
20
  ## 0.1.8-alpha.1 - 2026-03-26
10
21
  ### Added
11
22
  * Config variable interpolation now accepts \${variable} syntax in addition to {variable}. Both forms work in all config files (routing.json, app.json, settings.json, etc.). The {variable} syntax continues to work unchanged — migration to \${variable} is optional and will be documented in a future release.
@@ -0,0 +1,190 @@
1
+ # Contributing to Gina
2
+
3
+ Gina follows a BDFL governance model — see [GOVERNANCE.md](./GOVERNANCE.md) for how decisions are made. Contributions of all experience levels are welcome.
4
+
5
+ ---
6
+
7
+ ## Table of contents
8
+
9
+ - [Requirements](#requirements)
10
+ - [Getting started locally](#getting-started-locally)
11
+ - [Running the tests](#running-the-tests)
12
+ - [Development environment](#development-environment)
13
+ - [Debugging](#debugging)
14
+ - [Branch model](#branch-model)
15
+ - [Commit style](#commit-style)
16
+ - [Changelog](#changelog)
17
+ - [Pull request checklist](#pull-request-checklist)
18
+ - [Reporting bugs](#reporting-bugs)
19
+ - [Proposing features](#proposing-features)
20
+
21
+ ---
22
+
23
+ ## Requirements
24
+
25
+ | Requirement | Version |
26
+ | --- | --- |
27
+ | OS | macOS or Linux (Windows: Docker only) |
28
+ | Node.js | >= 18 |
29
+ | npm | >= 8 |
30
+ | Changie | >= 1.24 |
31
+
32
+ ---
33
+
34
+ ## Getting started locally
35
+
36
+ Gina must be installed globally — the CLI and framework bootstrapper expect to run from the npm global prefix. Contributors clone directly into that location instead of using `npm install -g .`.
37
+
38
+ #### 1. Find your global prefix
39
+
40
+ ```bash
41
+ npm config get prefix --quiet
42
+ ```
43
+
44
+ The default is `/usr/local` (system) or `~/.npm-global` (user). The target directory is `${prefix}/lib/node_modules/gina`.
45
+
46
+ #### 2. Clone into the prefix
47
+
48
+ ```bash
49
+ cd $(npm config get prefix)/lib/node_modules
50
+ git clone https://github.com/Rhinostone/gina.git gina
51
+ cd gina && git checkout develop
52
+ ```
53
+
54
+ #### 3. Run the install scripts
55
+
56
+ ```bash
57
+ node ./script/pre_install.js
58
+ node ./script/post_install.js
59
+ ```
60
+
61
+ #### 4. Verify
62
+
63
+ ```bash
64
+ gina version
65
+ ```
66
+
67
+ ---
68
+
69
+ ## Running the tests
70
+
71
+ The test suite uses Node's built-in `node:test` runner — no additional test dependencies needed.
72
+
73
+ ```bash
74
+ # Run all tests
75
+ node --test test/**/*.test.js
76
+
77
+ # Run a single file
78
+ node --test test/core/controller.test.js
79
+ ```
80
+
81
+ ---
82
+
83
+ ## Development environment
84
+
85
+ When contributing to the framework, use the `dev` environment. It enables hot-reload, the debug toolbar, and verbose logging that makes it easier to follow what the framework is doing internally.
86
+
87
+ ```bash
88
+ gina framework:set --env=dev
89
+ ```
90
+
91
+ This sets the default environment so you can omit `--env=dev` from subsequent commands. To start the framework:
92
+
93
+ ```bash
94
+ gina start
95
+ ```
96
+
97
+ To follow logs in real time:
98
+
99
+ ```bash
100
+ gina tail --follow
101
+ ```
102
+
103
+ To revert to production defaults:
104
+
105
+ ```bash
106
+ gina framework:set --env=prod
107
+ ```
108
+
109
+ ---
110
+
111
+ ## Debugging
112
+
113
+ ### Framework
114
+
115
+ ```bash
116
+ gina start --inspect-gina
117
+ ```
118
+
119
+ ### Bundle
120
+
121
+ ```bash
122
+ gina bundle:restart <bundle_name> @<project_name> --inspect=<port_number>
123
+ ```
124
+
125
+ ---
126
+
127
+ ## Branch model
128
+
129
+ | Branch | Purpose |
130
+ | --- | --- |
131
+ | `master` | Stable — merged from `develop` via PR at release time |
132
+ | `develop` | Working branch — all PRs target this branch |
133
+
134
+ Always branch from `develop` and open your PR against `develop`.
135
+
136
+ ---
137
+
138
+ ## Commit style
139
+
140
+ Use imperative or gerund sentences, matching the existing log:
141
+
142
+ ```text
143
+ Fixed GlobalContext::whisper() memory leak
144
+ Added _debugLog to server.isaac.js
145
+ Allowing bundle:build to build for dev env
146
+ ```
147
+
148
+ - One logical change per commit
149
+ - No references to AI tools in commit messages, comments, or files
150
+
151
+ ---
152
+
153
+ ## Changelog
154
+
155
+ Gina uses [changie](https://changie.dev) for changelog management. After any user-facing change, run:
156
+
157
+ ```bash
158
+ changie new
159
+ ```
160
+
161
+ Pick the kind (`Added`, `Changed`, `Fixed`, `Removed`, `Security`) and write the body from the user's perspective. Do **not** edit `CHANGELOG.md` directly — changie generates it at release time from entries in `.changes/unreleased/`.
162
+
163
+ ---
164
+
165
+ ## Pull request checklist
166
+
167
+ Before opening a PR against `develop`:
168
+
169
+ - [ ] Tests pass — `node --test test/**/*.test.js`
170
+ - [ ] New behaviour is covered by a test (or an explanation is provided for why it cannot be)
171
+ - [ ] A `changie new` entry exists for any user-facing change
172
+ - [ ] Commit messages follow the style above
173
+ - [ ] Docs updated if public API, CLI, or config schema changed
174
+
175
+ ---
176
+
177
+ ## Reporting bugs
178
+
179
+ Open a [GitHub issue](https://github.com/Rhinostone/gina/issues) and include:
180
+
181
+ - Node.js version (`node --version`)
182
+ - Gina version (`gina --version`)
183
+ - Minimal reproduction steps
184
+ - Expected vs actual behaviour
185
+
186
+ ---
187
+
188
+ ## Proposing features
189
+
190
+ Open a GitHub issue describing the use case **before** writing code. Features that align with the [roadmap](./ROADMAP.md) and architecture are most likely to be accepted. Significant API changes go through a public discussion period before being finalised.
package/GOVERNANCE.md ADDED
@@ -0,0 +1,20 @@
1
+ # Governance
2
+
3
+ Gina follows the **BDFL** (Benevolent Dictator For Life) model with a commitment to transparency.
4
+
5
+ Gina is developed and maintained by **Martin Luther** ([Rhinostone](https://www.rhinostone.com/)). Final decisions on direction, API design, and releases rest with the maintainer. Community contributions and RFCs are welcome and taken seriously.
6
+
7
+ ## How decisions are made
8
+
9
+ - **Patches and bug fixes** — reviewed and merged by the maintainer. Open a pull request against `develop`.
10
+ - **New features** — open a GitHub issue describing the use case before writing code. Features that align with the roadmap and architecture are most likely to be accepted.
11
+ - **Breaking changes and API design** — decided by the maintainer after considering community input. Significant changes go through a public discussion period on GitHub before being finalised.
12
+ - **Releases** — scheduled and cut by the maintainer following the [roadmap](./ROADMAP.md).
13
+
14
+ ## Contributing
15
+
16
+ See [CONTRIBUTING.md](./CONTRIBUTING.md) for how to set up the project locally, the commit style, and the PR checklist.
17
+
18
+ ## Code of Conduct
19
+
20
+ Be respectful. Contributions of all experience levels are welcome.
package/README.md CHANGED
@@ -229,7 +229,7 @@ Gina is shipped with [Swig](https://node-swig.github.io/swig-templates/) as the
229
229
 
230
230
  Please, note that you have 2 types of environments : one for the framework, and one for your project & your bundles.
231
231
 
232
- > By default, Gina (the framework) comes with 2 environments : `dev` and `prod`. The default is `prod`. If you are [contributing](./README-4Contributors.md) to the framework or prototyping your application or service, we advise using the `dev` environment.
232
+ > By default, Gina (the framework) comes with 2 environments : `dev` and `prod`. The default is `prod`. If you are [contributing](./CONTRIBUTING.md) to the framework or prototyping your application or service, we advise using the `dev` environment.
233
233
  >
234
234
  > ```tty
235
235
  > gina framework:set --env=dev
@@ -619,6 +619,10 @@ More documentation and tutorials are coming soon !
619
619
 
620
620
  For the full documentation, visit [https://gina.io/docs/](https://gina.io/docs/)
621
621
 
622
+ ## Governance
623
+
624
+ Gina is led by Martin Luther (Rhinostone). Final decisions on direction, API design, and releases rest with the maintainer. Community contributions and RFCs are welcome and taken seriously. See [GOVERNANCE.md](./GOVERNANCE.md) for details.
625
+
622
626
  ## License (MIT)
623
627
 
624
628
  Copyright © 2009-2026 [Rhinostone](http://www.rhinostone.com/)
package/ROADMAP.md CHANGED
@@ -11,10 +11,11 @@ This roadmap covers planned features, architectural improvements, new connectors
11
11
  | Period | Version | Focus |
12
12
  | --- | --- | --- |
13
13
  | **Apr 2026** | `0.1.8` ✅ | Scaffold correctness · K8s support · Dependency injection · Automatic version migration |
14
- | **Q2 2026** | `0.2.0` | Stability · WatcherService · Redis & SQLite connectors · K8s session storage |
15
- | **Q3 2026** | `0.3.0` | Async/await · Dev hot-reload · MySQL & PostgreSQL connectors · AI Phase 2 |
16
- | **Q4 2026** | `0.4.0` | TypeScript declarations · AI agents (OpenAPI, MCP) · ScyllaDB connector |
14
+ | **Q2 2026** | `0.2.0` | Stability · WatcherService · Redis & SQLite connectors · K8s session storage · Startup cache |
15
+ | **Q3 2026** | `0.3.0` | Async/await · Dev hot-reload · MySQL & PostgreSQL connectors · AI Phase 2 · Tutorials · Mobile backend guide · Route radix tree |
16
+ | **Q4 2026** | `0.4.0` | TypeScript declarations · AI agents (OpenAPI, MCP) · ScyllaDB connector · PWA scaffold · Advanced tutorial · Website redesign · Bun investigation |
17
17
  | **Q1 2027** | `0.5.0` | ESM support · Template engine migration · Structured logging |
18
+ | **Q3 2027** | `1.0.0` | First stable release — Windows alpha compatibility is a hard gate |
18
19
 
19
20
  ---
20
21
 
@@ -24,6 +25,7 @@ This roadmap covers planned features, architectural improvements, new connectors
24
25
  | --- | --- | --- | --- |
25
26
  | ✅ | **Automatic version migration** — Upgrading or downgrading gina (e.g. `0.1.x → 0.2.0`, `0.5.x → 1.0.0`) automatically migrates `~/.gina/` config to the new version on first startup. Downgrade is free — old version data is never removed. | `0.1.8` | 2026-03-26 |
26
27
  | 📋 | **`watchers.json`** — First-class bundle config for file watchers. Declare watchers on config files with event-based notification (no polling). Foundation for the dev-mode hot-reload system. | `0.2.0` | Q2 2026 |
28
+ | 📋 | **PWA scaffold** — `gina bundle:add` drops `manifest.json`, a service worker stub (`sw.js`), and the required `<meta>` / `<link>` tags into the bundle boilerplate. Zero runtime dependency. Enables Gina apps to be installed on mobile as PWAs without additional tooling. | `0.4.0` | Q4 2026 |
27
29
 
28
30
  ---
29
31
 
@@ -63,7 +65,7 @@ This roadmap covers planned features, architectural improvements, new connectors
63
65
  | Status | Feature | Version | Target |
64
66
  | --- | --- | --- | --- |
65
67
  | 📋 | **ESM compatibility layer** — Dual CJS/ESM entry points via `"exports"` in `package.json`. Framework internals stay CJS; public API gets ESM re-exports. | `0.5.0` | Q1 2027 |
66
- | 📋 | **Template engine migration** — Replace the abandoned Swig 1.4.2 with a maintained engine. Leading candidate: Nunjucks (identical Jinja2-style syntax existing templates require no changes). | `0.5.0` | Q1 2027 |
68
+ | 📋 | **Pluggable template engine** — Swig 1.4.2 stays fully integrated and remains the default. Nunjucks added as a supported alternative (opt-in per project via config). The render layer is abstracted behind a common interface so both engines co-exist. Switching to Nunjucks requires a per-project migration guide (breaking differences: `{% parent %}` → `{{ super() }}`, filter renames, autoescape default, `date` format strings, no `{% spaceless %}` — see docs). | `0.5.0` | Q1 2027 |
67
69
  | 📋 | **Structured logging** — JSON log output (`{ level, message, bundle, requestId, durationMs }`). Additive — existing consumers are unaffected. Enables log aggregation (Loki, Datadog, CloudWatch). | `0.5.0` | Q1 2027 |
68
70
 
69
71
  ---
@@ -121,4 +123,43 @@ New database connectors follow the same interface as the existing Couchbase conn
121
123
 
122
124
  ---
123
125
 
124
- *Last updated: 2026-03-26 · To suggest a feature, [open an issue](https://github.com/Rhinostone/gina/issues).*
126
+ ## Performance
127
+
128
+ | Status | Feature | Version | Target | Notes |
129
+ | --- | --- | --- | --- | --- |
130
+ | 📋 | **`NODE_COMPILE_CACHE` — V8 bytecode startup cache** | `0.2.0` | Q2 2026 | Node.js 22.8+ caches compiled V8 bytecode to disk. Set once at startup — 30–60% faster cold start on subsequent runs with zero code changes to user bundles. No-op on Node < 22.8, so safe to ship unconditionally. |
131
+ | 📋 | **Route radix tree — compile `routing.json` at startup** | `0.3.0` | Q3 2026 | Current router does linear matching against `routing.json` on every request. Pre-compile routes into a radix tree at bundle startup for O(log n) matching. 2–3x faster routing layer. Internal change — no user-facing API change. |
132
+ | 📋 | **Bun runtime compatibility investigation** | `0.4.0` | Q4 2026 | Prototype Gina under Bun. Two blockers to verify: `require.cache` deletion (dev hot-reload) and `node:http2` completeness. If both pass, Bun gives 3–10x faster startup and meaningful throughput gains. Deliverable: a compatibility report. |
133
+
134
+ ---
135
+
136
+ ## Windows
137
+
138
+ Windows compatibility is a hard requirement for `1.0.0`. The alpha scope covers all core features: install, scaffold, bundle start/stop, routing, rendering, and basic CLI. Full production-grade parity is post-1.0.0.
139
+
140
+ | Status | Feature | Version | Target |
141
+ | --- | --- | --- | --- |
142
+ | 📋 | **Windows alpha compatibility** — Install scripts, path handling, symlinks, and bundle lifecycle (start/stop/restart) work correctly on Windows. `bin/gina.bat` kept in sync with `bin/gina`. CI Windows runner required before this can be marked done. Out of scope for alpha: full build system (bash-based), Windows service integration, production-grade process management. | `1.0.0` | Q3 2027 |
143
+
144
+ ---
145
+
146
+ ## Tutorials
147
+
148
+ | Status | Tutorial | Duration | Version | Target |
149
+ | --- | --- | --- | --- | --- |
150
+ | 📋 | **Using Gina as a mobile backend** — REST API patterns, JSON-only bundles, token auth, CORS, HTTP/2, and the path to OpenAPI/MCP for SDK generation. Docs only — no code changes. | — | `0.3.0` | Q3 2026 |
151
+ | 📋 | **Beginner** — Your first Gina app: install, scaffold, one route, one controller, browser response. Starts from `gina new` — no prior project needed. | 5 min | `0.3.0` | Q3 2026 |
152
+ | 📋 | **Intermediate** — Multi-bundle setup, routing with URL params, entity + connector wiring, template rendering, form handling. Starts from scratch. | ~30 min | `0.3.0` | Q3 2026 |
153
+ | 📋 | **Advanced** — Full production project: authentication, scoped data isolation, async/await, HTTP/2, structured logging, Docker/K8s deployment. Starts from the intermediate tutorial's finished state. | ~60 min | `0.4.0` | Q4 2026 |
154
+
155
+ ---
156
+
157
+ ## Website
158
+
159
+ | Status | Feature | Version | Target |
160
+ | --- | --- | --- | --- |
161
+ | 📋 | **Official website redesign + docs integration** — Refactor gina.io as a proper project homepage (landing page, feature highlights, showcase) with the documentation fully integrated. Single coherent web presence. Prerequisite: tutorials complete. | `0.4.0` | Q4 2026 |
162
+
163
+ ---
164
+
165
+ *Last updated: 2026-03-27 · To suggest a feature, [open an issue](https://github.com/Rhinostone/gina/issues).*
@@ -0,0 +1 @@
1
+ 0.1.8
@@ -21590,6 +21590,16 @@ define('gina/popin', [ 'require', 'vendor/uuid', 'jquery', 'lib/domain', 'lib/me
21590
21590
  }
21591
21591
  }
21592
21592
  if (xhr.readyState == 4) {
21593
+ // Fixed: clear loading state on response complete — data-gina-popin-loading
21594
+ // was set on readyState 1|3 but never removed, leaving the overlay blocked.
21595
+ $popin.target.removeAttribute('data-gina-popin-loading');
21596
+ if ($popinTrigger) {
21597
+ if ( /^A$/i.test($popinTrigger.tagName) ) {
21598
+ $popinTrigger.removeAttribute('aria-disabled');
21599
+ } else {
21600
+ $popinTrigger.removeAttribute('disabled');
21601
+ }
21602
+ }
21593
21603
  // 200, 201, 201' etc ...
21594
21604
  var result = null;
21595
21605
 
@@ -22079,6 +22089,9 @@ define('gina/popin', [ 'require', 'vendor/uuid', 'jquery', 'lib/domain', 'lib/me
22079
22089
  $el.className = $el.className.replace(/\sgina-popin-is-active|gina-popin-is-active|gina-popin-is-active\s/, '');
22080
22090
  $el.innerHTML = '';
22081
22091
  }
22092
+ // Fixed: clear loading state on reset — defensive cleanup for navigation
22093
+ // within a popin that was in loading state when reset was called.
22094
+ $el.removeAttribute('data-gina-popin-loading');
22082
22095
 
22083
22096
  // removing from FormValidator instance
22084
22097
  if ($validatorInstance) {
@@ -22188,6 +22201,9 @@ define('gina/popin', [ 'require', 'vendor/uuid', 'jquery', 'lib/domain', 'lib/me
22188
22201
  $popinTrigger.removeAttribute('disabled', true);
22189
22202
  }
22190
22203
  }
22204
+ // Fixed: clear loading state on explicit close — defensive cleanup in case
22205
+ // the popin is closed before the XHR completes or after a non-XHR flow.
22206
+ $el.removeAttribute('data-gina-popin-loading');
22191
22207
  triggerEvent(gina, $popin.target, 'close.'+ $popin.id, $popin);
22192
22208
  }
22193
22209
  }