gina 0.6.33 → 0.7.0

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 (631) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/CONVENTIONS.md +1 -1
  3. package/README.md +61 -79
  4. package/ROADMAP.md +21 -16
  5. package/SECURITY.md +37 -0
  6. package/bin/gina +11 -7
  7. package/framework/v0.7.0/VERSION +1 -0
  8. package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/js/gina.js +124 -90
  9. package/framework/v0.7.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js +720 -0
  10. package/framework/v0.7.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  11. package/framework/v0.7.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  12. package/framework/{v0.6.33 → v0.7.0}/core/config.js +15 -0
  13. package/framework/v0.7.0/core/config.requirements-anchor.js +218 -0
  14. package/framework/{v0.6.33 → v0.7.0}/core/controller/controller.js +101 -7
  15. package/framework/{v0.6.33 → v0.7.0}/core/controller/controller.render-swig-async.js +7 -3
  16. package/framework/{v0.6.33 → v0.7.0}/core/controller/controller.render-swig.js +53 -13
  17. package/framework/{v0.6.33 → v0.7.0}/core/gna.js +16 -3
  18. package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/validator/src/form-validator.js +74 -16
  19. package/framework/{v0.6.33 → v0.7.0}/core/server.express.js +143 -10
  20. package/framework/{v0.6.33 → v0.7.0}/core/server.isaac.js +6 -1
  21. package/framework/{v0.6.33 → v0.7.0}/core/server.js +240 -255
  22. package/framework/v0.7.0/core/server.route-candidates.js +326 -0
  23. package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle/config/connectors.json +1 -1
  24. package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle/config/settings.json +6 -0
  25. package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle/controllers/setup.js +9 -2
  26. package/framework/{v0.6.33 → v0.7.0}/helpers/path.js +36 -6
  27. package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/restart.js +100 -31
  28. package/framework/{v0.6.33 → v0.7.0}/lib/cmd/connector/list.js +20 -2
  29. package/framework/{v0.6.33 → v0.7.0}/lib/cmd/env/add.js +34 -7
  30. package/framework/{v0.6.33 → v0.7.0}/lib/cmd/env/set.js +4 -0
  31. package/framework/{v0.6.33 → v0.7.0}/lib/cmd/env/unset.js +4 -0
  32. package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/init.js +76 -19
  33. package/framework/{v0.6.33 → v0.7.0}/lib/cmd/helper.js +16 -4
  34. package/framework/{v0.6.33 → v0.7.0}/lib/cmd/port/list.js +13 -4
  35. package/framework/{v0.6.33 → v0.7.0}/lib/cmd/port/reset.js +28 -7
  36. package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/add.js +63 -20
  37. package/framework/v0.7.0/lib/cmd/project/rename.js +285 -0
  38. package/framework/{v0.6.33 → v0.7.0}/lib/cmd/protocol/set.js +3 -0
  39. package/framework/{v0.6.33 → v0.7.0}/lib/logger/src/containers/mq/listener.js +20 -5
  40. package/framework/{v0.6.33 → v0.7.0}/lib/routing/src/main.js +48 -71
  41. package/framework/{v0.6.33 → v0.7.0}/lib/swig-filters/src/main.js +85 -0
  42. package/framework/{v0.6.33 → v0.7.0}/package.json +1 -1
  43. package/gna.js +5 -4
  44. package/llms.txt +36 -34
  45. package/package.json +4 -4
  46. package/schema/routing.json +2 -2
  47. package/schema/settings.json +3 -3
  48. package/script/generate_gna_types.js +1 -1
  49. package/script/post_install.js +100 -26
  50. package/script/pre_install.js +49 -8
  51. package/types/globals.d.ts +3 -1
  52. package/types/gna.d.ts +8 -2
  53. package/types/index.d.ts +1 -0
  54. package/utils/helper.js +60 -10
  55. package/framework/v0.6.33/VERSION +0 -1
  56. package/framework/v0.6.33/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -721
  57. package/framework/v0.6.33/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  58. package/framework/v0.6.33/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  59. package/framework/v0.6.33/lib/cmd/project/rename.js +0 -199
  60. package/framework/v0.6.33/lib/routing/src/radix.js +0 -114
  61. /package/framework/{v0.6.33 → v0.7.0}/AUTHORS +0 -0
  62. /package/framework/{v0.6.33 → v0.7.0}/LICENSE +0 -0
  63. /package/framework/{v0.6.33 → v0.7.0}/core/asset/html/nolayout.html +0 -0
  64. /package/framework/{v0.6.33 → v0.7.0}/core/asset/html/static.html +0 -0
  65. /package/framework/{v0.6.33 → v0.7.0}/core/asset/img/android-chrome-192x192.png +0 -0
  66. /package/framework/{v0.6.33 → v0.7.0}/core/asset/img/android-chrome-512x512.png +0 -0
  67. /package/framework/{v0.6.33 → v0.7.0}/core/asset/img/apple-touch-icon.png +0 -0
  68. /package/framework/{v0.6.33 → v0.7.0}/core/asset/img/favicon-16x16.png +0 -0
  69. /package/framework/{v0.6.33 → v0.7.0}/core/asset/img/favicon-32x32.png +0 -0
  70. /package/framework/{v0.6.33 → v0.7.0}/core/asset/img/favicon.ico +0 -0
  71. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/README.md +0 -0
  72. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  73. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  74. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  75. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  76. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  77. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  78. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  79. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  80. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  81. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  82. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  83. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
  84. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  85. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  86. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  87. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  88. /package/framework/{v0.6.33 → v0.7.0}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  89. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/ai/index.js +0 -0
  90. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/ai/lib/connector.js +0 -0
  91. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/couchbase/index.js +0 -0
  92. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/couchbase/lib/connector.js +0 -0
  93. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  94. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  95. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/couchbase/lib/n1ql.js +0 -0
  96. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/couchbase/lib/session-store.js +0 -0
  97. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  98. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  99. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/couchbase/lib/storage-store.js +0 -0
  100. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/duckdb/index.js +0 -0
  101. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/duckdb/lib/connector.js +0 -0
  102. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/mongodb/index.js +0 -0
  103. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/mongodb/lib/connector.js +0 -0
  104. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/mongodb/lib/job-store.js +0 -0
  105. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
  106. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/mongodb/lib/session-store.js +0 -0
  107. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/mysql/index.js +0 -0
  108. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/mysql/lib/connector.js +0 -0
  109. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/param-redact.js +0 -0
  110. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/postgresql/index.js +0 -0
  111. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/postgresql/lib/connector.js +0 -0
  112. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/redis/index.js +0 -0
  113. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/redis/lib/connector.js +0 -0
  114. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/redis/lib/job-store.js +0 -0
  115. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/redis/lib/kv-store.js +0 -0
  116. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/redis/lib/render-cache-store.js +0 -0
  117. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/redis/lib/session-store.js +0 -0
  118. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/scylladb/index.js +0 -0
  119. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/scylladb/lib/connector.js +0 -0
  120. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/scylladb/lib/session-store.js +0 -0
  121. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/settle-once.js +0 -0
  122. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/sql-parser.js +0 -0
  123. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/sqlite/index.js +0 -0
  124. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/sqlite/lib/connector.js +0 -0
  125. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/sqlite/lib/job-store.js +0 -0
  126. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/sqlite/lib/kv-store.js +0 -0
  127. /package/framework/{v0.6.33 → v0.7.0}/core/connectors/sqlite/lib/session-store.js +0 -0
  128. /package/framework/{v0.6.33 → v0.7.0}/core/content.encoding +0 -0
  129. /package/framework/{v0.6.33 → v0.7.0}/core/controller/controller.framework.js +0 -0
  130. /package/framework/{v0.6.33 → v0.7.0}/core/controller/controller.render-json.js +0 -0
  131. /package/framework/{v0.6.33 → v0.7.0}/core/controller/controller.render-nunjucks-async.js +0 -0
  132. /package/framework/{v0.6.33 → v0.7.0}/core/controller/controller.render-nunjucks.js +0 -0
  133. /package/framework/{v0.6.33 → v0.7.0}/core/controller/controller.render-stream.js +0 -0
  134. /package/framework/{v0.6.33 → v0.7.0}/core/controller/controller.render-v1.js +0 -0
  135. /package/framework/{v0.6.33 → v0.7.0}/core/controller/controller.render-xml.js +0 -0
  136. /package/framework/{v0.6.33 → v0.7.0}/core/controller/index.js +0 -0
  137. /package/framework/{v0.6.33 → v0.7.0}/core/controller/inline-script.js +0 -0
  138. /package/framework/{v0.6.33 → v0.7.0}/core/controller/inspector-window-emit.js +0 -0
  139. /package/framework/{v0.6.33 → v0.7.0}/core/controller/release-banner.js +0 -0
  140. /package/framework/{v0.6.33 → v0.7.0}/core/dev/index.js +0 -0
  141. /package/framework/{v0.6.33 → v0.7.0}/core/dev/lib/class.js +0 -0
  142. /package/framework/{v0.6.33 → v0.7.0}/core/dev/lib/factory.js +0 -0
  143. /package/framework/{v0.6.33 → v0.7.0}/core/dev/lib/tools.js +0 -0
  144. /package/framework/{v0.6.33 → v0.7.0}/core/locales/README.md +0 -0
  145. /package/framework/{v0.6.33 → v0.7.0}/core/locales/currency.json +0 -0
  146. /package/framework/{v0.6.33 → v0.7.0}/core/locales/dist/language/en.json +0 -0
  147. /package/framework/{v0.6.33 → v0.7.0}/core/locales/dist/language/fr.json +0 -0
  148. /package/framework/{v0.6.33 → v0.7.0}/core/locales/dist/region/en.json +0 -0
  149. /package/framework/{v0.6.33 → v0.7.0}/core/locales/dist/region/fr.json +0 -0
  150. /package/framework/{v0.6.33 → v0.7.0}/core/locales/index.js +0 -0
  151. /package/framework/{v0.6.33 → v0.7.0}/core/mime.types +0 -0
  152. /package/framework/{v0.6.33 → v0.7.0}/core/model/entity.js +0 -0
  153. /package/framework/{v0.6.33 → v0.7.0}/core/model/index.js +0 -0
  154. /package/framework/{v0.6.33 → v0.7.0}/core/model/template/entityFactory.js +0 -0
  155. /package/framework/{v0.6.33 → v0.7.0}/core/model/template/index.js +0 -0
  156. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/README.md +0 -0
  157. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/index.js +0 -0
  158. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/csrf/README.md +0 -0
  159. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/csrf/package.json +0 -0
  160. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/csrf/src/main.js +0 -0
  161. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/README.md +0 -0
  162. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/coep/README.md +0 -0
  163. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/coep/package.json +0 -0
  164. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
  165. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/coop/README.md +0 -0
  166. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/coop/package.json +0 -0
  167. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
  168. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/corp/README.md +0 -0
  169. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/corp/package.json +0 -0
  170. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
  171. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/csp/README.md +0 -0
  172. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/csp/package.json +0 -0
  173. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
  174. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
  175. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
  176. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
  177. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/hsts/README.md +0 -0
  178. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/hsts/package.json +0 -0
  179. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
  180. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
  181. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
  182. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
  183. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/package.json +0 -0
  184. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
  185. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
  186. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
  187. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/src/main.js +0 -0
  188. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
  189. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
  190. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
  191. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
  192. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
  193. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
  194. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
  195. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
  196. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
  197. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
  198. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
  199. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
  200. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
  201. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
  202. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
  203. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
  204. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
  205. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
  206. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/session/README.md +0 -0
  207. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/session/package.json +0 -0
  208. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/session/src/main.js +0 -0
  209. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/storage/README.md +0 -0
  210. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/storage/build.json +0 -0
  211. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/storage/package.json +0 -0
  212. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/storage/src/main.js +0 -0
  213. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/validator/README.md +0 -0
  214. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/validator/build.json +0 -0
  215. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/validator/package.json +0 -0
  216. /package/framework/{v0.6.33 → v0.7.0}/core/plugins/lib/validator/src/main.js +0 -0
  217. /package/framework/{v0.6.33 → v0.7.0}/core/router.js +0 -0
  218. /package/framework/{v0.6.33 → v0.7.0}/core/server.isaac.rapid-reset.js +0 -0
  219. /package/framework/{v0.6.33 → v0.7.0}/core/status.codes +0 -0
  220. /package/framework/{v0.6.33 → v0.7.0}/core/template/_gitignore +0 -0
  221. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle/config/app.json +0 -0
  222. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle/config/routing.json +0 -0
  223. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  224. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle/config/templates.json +0 -0
  225. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  226. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  227. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  228. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle/index.js +0 -0
  229. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle/locales/en.json +0 -0
  230. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  231. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  232. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  233. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  234. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  235. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_public/js/components/x-checklist.js +0 -0
  236. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  237. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
  238. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_public/readme.md +0 -0
  239. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_public/sw.js +0 -0
  240. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  241. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  242. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  243. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  244. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_templates/html/includes/x-checklist.html +0 -0
  245. /package/framework/{v0.6.33 → v0.7.0}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  246. /package/framework/{v0.6.33 → v0.7.0}/core/template/command/gina.bat.tpl +0 -0
  247. /package/framework/{v0.6.33 → v0.7.0}/core/template/command/gina.tpl +0 -0
  248. /package/framework/{v0.6.33 → v0.7.0}/core/template/conf/env.json +0 -0
  249. /package/framework/{v0.6.33 → v0.7.0}/core/template/conf/manifest.json +0 -0
  250. /package/framework/{v0.6.33 → v0.7.0}/core/template/conf/package.json +0 -0
  251. /package/framework/{v0.6.33 → v0.7.0}/core/template/conf/settings.json +0 -0
  252. /package/framework/{v0.6.33 → v0.7.0}/core/template/conf/statics.json +0 -0
  253. /package/framework/{v0.6.33 → v0.7.0}/core/template/conf/templates.json +0 -0
  254. /package/framework/{v0.6.33 → v0.7.0}/core/template/error/client/json/401.json +0 -0
  255. /package/framework/{v0.6.33 → v0.7.0}/core/template/error/client/json/403.json +0 -0
  256. /package/framework/{v0.6.33 → v0.7.0}/core/template/error/client/json/404.json +0 -0
  257. /package/framework/{v0.6.33 → v0.7.0}/core/template/error/server/html/50x.html +0 -0
  258. /package/framework/{v0.6.33 → v0.7.0}/core/template/error/server/json/500.json +0 -0
  259. /package/framework/{v0.6.33 → v0.7.0}/core/template/error/server/json/503.json +0 -0
  260. /package/framework/{v0.6.33 → v0.7.0}/core/template/extensions/logger/config.json +0 -0
  261. /package/framework/{v0.6.33 → v0.7.0}/helpers/console.js +0 -0
  262. /package/framework/{v0.6.33 → v0.7.0}/helpers/context.js +0 -0
  263. /package/framework/{v0.6.33 → v0.7.0}/helpers/data/LICENSE +0 -0
  264. /package/framework/{v0.6.33 → v0.7.0}/helpers/data/README.md +0 -0
  265. /package/framework/{v0.6.33 → v0.7.0}/helpers/data/package.json +0 -0
  266. /package/framework/{v0.6.33 → v0.7.0}/helpers/data/src/main.js +0 -0
  267. /package/framework/{v0.6.33 → v0.7.0}/helpers/dateFormat.js +0 -0
  268. /package/framework/{v0.6.33 → v0.7.0}/helpers/index.js +0 -0
  269. /package/framework/{v0.6.33 → v0.7.0}/helpers/json/LICENSE +0 -0
  270. /package/framework/{v0.6.33 → v0.7.0}/helpers/json/README.md +0 -0
  271. /package/framework/{v0.6.33 → v0.7.0}/helpers/json/package.json +0 -0
  272. /package/framework/{v0.6.33 → v0.7.0}/helpers/json/src/main.js +0 -0
  273. /package/framework/{v0.6.33 → v0.7.0}/helpers/plugins/README.md +0 -0
  274. /package/framework/{v0.6.33 → v0.7.0}/helpers/plugins/package.json +0 -0
  275. /package/framework/{v0.6.33 → v0.7.0}/helpers/plugins/src/api-error.js +0 -0
  276. /package/framework/{v0.6.33 → v0.7.0}/helpers/plugins/src/main.js +0 -0
  277. /package/framework/{v0.6.33 → v0.7.0}/helpers/prototypes.js +0 -0
  278. /package/framework/{v0.6.33 → v0.7.0}/helpers/task.js +0 -0
  279. /package/framework/{v0.6.33 → v0.7.0}/helpers/text.js +0 -0
  280. /package/framework/{v0.6.33 → v0.7.0}/lib/admin/package.json +0 -0
  281. /package/framework/{v0.6.33 → v0.7.0}/lib/admin/src/main.js +0 -0
  282. /package/framework/{v0.6.33 → v0.7.0}/lib/archiver/README.md +0 -0
  283. /package/framework/{v0.6.33 → v0.7.0}/lib/archiver/build.json +0 -0
  284. /package/framework/{v0.6.33 → v0.7.0}/lib/archiver/package.json +0 -0
  285. /package/framework/{v0.6.33 → v0.7.0}/lib/archiver/src/dep/jszip.min.js +0 -0
  286. /package/framework/{v0.6.33 → v0.7.0}/lib/archiver/src/main.js +0 -0
  287. /package/framework/{v0.6.33 → v0.7.0}/lib/async/package.json +0 -0
  288. /package/framework/{v0.6.33 → v0.7.0}/lib/async/src/main.js +0 -0
  289. /package/framework/{v0.6.33 → v0.7.0}/lib/audit/package.json +0 -0
  290. /package/framework/{v0.6.33 → v0.7.0}/lib/audit/src/main.js +0 -0
  291. /package/framework/{v0.6.33 → v0.7.0}/lib/audit-store.js +0 -0
  292. /package/framework/{v0.6.33 → v0.7.0}/lib/authn/package.json +0 -0
  293. /package/framework/{v0.6.33 → v0.7.0}/lib/authn/src/lockout.js +0 -0
  294. /package/framework/{v0.6.33 → v0.7.0}/lib/authn/src/main.js +0 -0
  295. /package/framework/{v0.6.33 → v0.7.0}/lib/authn/src/totp.js +0 -0
  296. /package/framework/{v0.6.33 → v0.7.0}/lib/authz-gate/package.json +0 -0
  297. /package/framework/{v0.6.33 → v0.7.0}/lib/authz-gate/src/main.js +0 -0
  298. /package/framework/{v0.6.33 → v0.7.0}/lib/cache/README.md +0 -0
  299. /package/framework/{v0.6.33 → v0.7.0}/lib/cache/build.json +0 -0
  300. /package/framework/{v0.6.33 → v0.7.0}/lib/cache/package.json +0 -0
  301. /package/framework/{v0.6.33 → v0.7.0}/lib/cache/src/main.js +0 -0
  302. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/aliases.json +0 -0
  303. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/audit/arguments.json +0 -0
  304. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/audit/help.txt +0 -0
  305. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/audit/verify.js +0 -0
  306. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/add.js +0 -0
  307. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/arguments.json +0 -0
  308. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/build.js +0 -0
  309. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/copy.js +0 -0
  310. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/cp.js +0 -0
  311. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/help.js +0 -0
  312. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/help.txt +0 -0
  313. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
  314. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/list.js +0 -0
  315. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/man.js +0 -0
  316. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/mcp-start.js +0 -0
  317. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/mcp.js +0 -0
  318. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/oas.js +0 -0
  319. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/openapi.js +0 -0
  320. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/remove.js +0 -0
  321. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/rename.js +0 -0
  322. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/rm.js +0 -0
  323. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/start.js +0 -0
  324. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/status.js +0 -0
  325. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/stop.js +0 -0
  326. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/bundle/types.js +0 -0
  327. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/cache/arguments.json +0 -0
  328. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/cache/clear.js +0 -0
  329. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/cache/help.txt +0 -0
  330. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/cache/stats.js +0 -0
  331. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/connector/add.js +0 -0
  332. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/connector/arguments.json +0 -0
  333. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/connector/help.js +0 -0
  334. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/connector/help.txt +0 -0
  335. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/connector/infer.js +0 -0
  336. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/connector/migrate.js +0 -0
  337. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/connector/models.js +0 -0
  338. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/connector/remove.js +0 -0
  339. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/connector/rm.js +0 -0
  340. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/connector/test.js +0 -0
  341. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/container/arguments.json +0 -0
  342. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/container/help.js +0 -0
  343. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/container/help.txt +0 -0
  344. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/container/man.js +0 -0
  345. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/container/ps.js +0 -0
  346. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/container/stop.js +0 -0
  347. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/controller/add.js +0 -0
  348. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/controller/arguments.json +0 -0
  349. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/controller/help.txt +0 -0
  350. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/controller/inc/args.js +0 -0
  351. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/controller/inc/namespace.js +0 -0
  352. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/controller/inc/reference-rewrite.js +0 -0
  353. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/controller/inc/reference-scan.js +0 -0
  354. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/controller/inc/scaffold.js +0 -0
  355. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/controller/remove.js +0 -0
  356. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/controller/rename.js +0 -0
  357. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/controller/rm.js +0 -0
  358. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/env/get.js +0 -0
  359. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/env/help.js +0 -0
  360. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/env/help.txt +0 -0
  361. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/env/inc/name.js +0 -0
  362. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/env/link-dev.js +0 -0
  363. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/env/list.js +0 -0
  364. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/env/remove.js +0 -0
  365. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/env/rm.js +0 -0
  366. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/env/use.js +0 -0
  367. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/add.js +0 -0
  368. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/arguments.json +0 -0
  369. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/build.js +0 -0
  370. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/dot.js +0 -0
  371. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/get.js +0 -0
  372. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/help.js +0 -0
  373. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/help.txt +0 -0
  374. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/link-node-modules.js +0 -0
  375. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/link.js +0 -0
  376. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/list.js +0 -0
  377. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/man.js +0 -0
  378. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/msg.json +0 -0
  379. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/open.js +0 -0
  380. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/remove.js +0 -0
  381. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/reset.js +0 -0
  382. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/restart.js +0 -0
  383. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/set.js +0 -0
  384. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/start.js +0 -0
  385. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/status.js +0 -0
  386. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/stop.js +0 -0
  387. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/tail.js +0 -0
  388. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/update.js +0 -0
  389. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/framework/version.js +0 -0
  390. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/gina-dev.1.md +0 -0
  391. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/gina-framework.1.md +0 -0
  392. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/gina.1.md +0 -0
  393. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/i18n/add.js +0 -0
  394. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/i18n/arguments.json +0 -0
  395. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/i18n/export.js +0 -0
  396. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/i18n/help.js +0 -0
  397. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/i18n/help.txt +0 -0
  398. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/i18n/import.js +0 -0
  399. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/i18n/scan.js +0 -0
  400. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/image/_host.js +0 -0
  401. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/image/arguments.json +0 -0
  402. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/image/build.js +0 -0
  403. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/image/help.js +0 -0
  404. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/image/help.txt +0 -0
  405. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/image/list.js +0 -0
  406. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/image/man.js +0 -0
  407. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/image/rm.js +0 -0
  408. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/image/run.js +0 -0
  409. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/index.js +0 -0
  410. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/inspector/help.js +0 -0
  411. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/inspector/help.txt +0 -0
  412. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/inspector/open.js +0 -0
  413. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/man-render.js +0 -0
  414. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/minion/arguments.json +0 -0
  415. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/minion/help.js +0 -0
  416. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/minion/help.txt +0 -0
  417. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/minion/kill.js +0 -0
  418. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/minion/list.js +0 -0
  419. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/msg.json +0 -0
  420. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/port/help.js +0 -0
  421. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/port/help.txt +0 -0
  422. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/port/inc/scan.js +0 -0
  423. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/port/set.js +0 -0
  424. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/arguments.json +0 -0
  425. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/backup.js +0 -0
  426. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/build.js +0 -0
  427. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/help.js +0 -0
  428. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/help.txt +0 -0
  429. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/import.js +0 -0
  430. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/list.js +0 -0
  431. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/man.js +0 -0
  432. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/move.js +0 -0
  433. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/remove.js +0 -0
  434. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/restart.js +0 -0
  435. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/restore.js +0 -0
  436. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/rm.js +0 -0
  437. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/start.js +0 -0
  438. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/status.js +0 -0
  439. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/project/stop.js +0 -0
  440. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/protocol/arguments.json +0 -0
  441. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/protocol/help.js +0 -0
  442. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/protocol/help.txt +0 -0
  443. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/protocol/list.js +0 -0
  444. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/protocol/remove.js +0 -0
  445. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/scope/add.js +0 -0
  446. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/scope/help.js +0 -0
  447. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/scope/help.txt +0 -0
  448. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/scope/inc/name.js +0 -0
  449. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/scope/link-local.js +0 -0
  450. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/scope/link-production.js +0 -0
  451. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/scope/list.js +0 -0
  452. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/scope/remove.js +0 -0
  453. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/scope/rm.js +0 -0
  454. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/scope/use.js +0 -0
  455. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/secrets/arguments.json +0 -0
  456. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/secrets/check.js +0 -0
  457. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/secrets/help.js +0 -0
  458. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/secrets/help.txt +0 -0
  459. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/secrets/scan.js +0 -0
  460. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/service/help.js +0 -0
  461. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/service/help.txt +0 -0
  462. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/service/list.js +0 -0
  463. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/service/man.js +0 -0
  464. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/service/start.js +0 -0
  465. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/storage/arguments.json +0 -0
  466. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/storage/gc.js +0 -0
  467. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/storage/help.txt +0 -0
  468. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/storage/stats.js +0 -0
  469. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/storage/verify.js +0 -0
  470. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd/view/add.js +0 -0
  471. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd-status-format/package.json +0 -0
  472. /package/framework/{v0.6.33 → v0.7.0}/lib/cmd-status-format/src/main.js +0 -0
  473. /package/framework/{v0.6.33 → v0.7.0}/lib/collection/README.md +0 -0
  474. /package/framework/{v0.6.33 → v0.7.0}/lib/collection/build.json +0 -0
  475. /package/framework/{v0.6.33 → v0.7.0}/lib/collection/package.json +0 -0
  476. /package/framework/{v0.6.33 → v0.7.0}/lib/collection/src/main.js +0 -0
  477. /package/framework/{v0.6.33 → v0.7.0}/lib/conf-view/package.json +0 -0
  478. /package/framework/{v0.6.33 → v0.7.0}/lib/conf-view/src/main.js +0 -0
  479. /package/framework/{v0.6.33 → v0.7.0}/lib/config.js +0 -0
  480. /package/framework/{v0.6.33 → v0.7.0}/lib/connector-config/package.json +0 -0
  481. /package/framework/{v0.6.33 → v0.7.0}/lib/connector-config/src/main.js +0 -0
  482. /package/framework/{v0.6.33 → v0.7.0}/lib/connector-error/package.json +0 -0
  483. /package/framework/{v0.6.33 → v0.7.0}/lib/connector-error/src/main.js +0 -0
  484. /package/framework/{v0.6.33 → v0.7.0}/lib/connector-registry/package.json +0 -0
  485. /package/framework/{v0.6.33 → v0.7.0}/lib/connector-registry/src/main.js +0 -0
  486. /package/framework/{v0.6.33 → v0.7.0}/lib/cron/README.md +0 -0
  487. /package/framework/{v0.6.33 → v0.7.0}/lib/cron/package.json +0 -0
  488. /package/framework/{v0.6.33 → v0.7.0}/lib/cron/src/main.js +0 -0
  489. /package/framework/{v0.6.33 → v0.7.0}/lib/domain/LICENSE +0 -0
  490. /package/framework/{v0.6.33 → v0.7.0}/lib/domain/README.md +0 -0
  491. /package/framework/{v0.6.33 → v0.7.0}/lib/domain/package.json +0 -0
  492. /package/framework/{v0.6.33 → v0.7.0}/lib/domain/src/main.js +0 -0
  493. /package/framework/{v0.6.33 → v0.7.0}/lib/dto/package.json +0 -0
  494. /package/framework/{v0.6.33 → v0.7.0}/lib/dto/src/main.js +0 -0
  495. /package/framework/{v0.6.33 → v0.7.0}/lib/dto-pipe/package.json +0 -0
  496. /package/framework/{v0.6.33 → v0.7.0}/lib/dto-pipe/src/main.js +0 -0
  497. /package/framework/{v0.6.33 → v0.7.0}/lib/dto-types/package.json +0 -0
  498. /package/framework/{v0.6.33 → v0.7.0}/lib/dto-types/src/main.js +0 -0
  499. /package/framework/{v0.6.33 → v0.7.0}/lib/duration/package.json +0 -0
  500. /package/framework/{v0.6.33 → v0.7.0}/lib/duration/src/main.js +0 -0
  501. /package/framework/{v0.6.33 → v0.7.0}/lib/generator/index.js +0 -0
  502. /package/framework/{v0.6.33 → v0.7.0}/lib/i18n/package.json +0 -0
  503. /package/framework/{v0.6.33 → v0.7.0}/lib/i18n/src/main.js +0 -0
  504. /package/framework/{v0.6.33 → v0.7.0}/lib/idempotency/package.json +0 -0
  505. /package/framework/{v0.6.33 → v0.7.0}/lib/idempotency/src/main.js +0 -0
  506. /package/framework/{v0.6.33 → v0.7.0}/lib/image-build/package.json +0 -0
  507. /package/framework/{v0.6.33 → v0.7.0}/lib/image-build/src/main.js +0 -0
  508. /package/framework/{v0.6.33 → v0.7.0}/lib/index.js +0 -0
  509. /package/framework/{v0.6.33 → v0.7.0}/lib/inherits/LICENSE +0 -0
  510. /package/framework/{v0.6.33 → v0.7.0}/lib/inherits/README.md +0 -0
  511. /package/framework/{v0.6.33 → v0.7.0}/lib/inherits/package.json +0 -0
  512. /package/framework/{v0.6.33 → v0.7.0}/lib/inherits/src/main.js +0 -0
  513. /package/framework/{v0.6.33 → v0.7.0}/lib/inspector-events/package.json +0 -0
  514. /package/framework/{v0.6.33 → v0.7.0}/lib/inspector-events/src/main.js +0 -0
  515. /package/framework/{v0.6.33 → v0.7.0}/lib/inspector-redact/package.json +0 -0
  516. /package/framework/{v0.6.33 → v0.7.0}/lib/inspector-redact/src/main.js +0 -0
  517. /package/framework/{v0.6.33 → v0.7.0}/lib/instrument/package.json +0 -0
  518. /package/framework/{v0.6.33 → v0.7.0}/lib/instrument/src/main.js +0 -0
  519. /package/framework/{v0.6.33 → v0.7.0}/lib/job/package.json +0 -0
  520. /package/framework/{v0.6.33 → v0.7.0}/lib/job/src/main.js +0 -0
  521. /package/framework/{v0.6.33 → v0.7.0}/lib/job-store.js +0 -0
  522. /package/framework/{v0.6.33 → v0.7.0}/lib/json-config-header/package.json +0 -0
  523. /package/framework/{v0.6.33 → v0.7.0}/lib/json-config-header/src/main.js +0 -0
  524. /package/framework/{v0.6.33 → v0.7.0}/lib/kv/package.json +0 -0
  525. /package/framework/{v0.6.33 → v0.7.0}/lib/kv/src/main.js +0 -0
  526. /package/framework/{v0.6.33 → v0.7.0}/lib/kv-store.js +0 -0
  527. /package/framework/{v0.6.33 → v0.7.0}/lib/loading-state/package.json +0 -0
  528. /package/framework/{v0.6.33 → v0.7.0}/lib/loading-state/src/main.js +0 -0
  529. /package/framework/{v0.6.33 → v0.7.0}/lib/logger/README.md +0 -0
  530. /package/framework/{v0.6.33 → v0.7.0}/lib/logger/package.json +0 -0
  531. /package/framework/{v0.6.33 → v0.7.0}/lib/logger/src/containers/default/index.js +0 -0
  532. /package/framework/{v0.6.33 → v0.7.0}/lib/logger/src/containers/file/index.js +0 -0
  533. /package/framework/{v0.6.33 → v0.7.0}/lib/logger/src/containers/mq/index.js +0 -0
  534. /package/framework/{v0.6.33 → v0.7.0}/lib/logger/src/containers/mq/speaker.js +0 -0
  535. /package/framework/{v0.6.33 → v0.7.0}/lib/logger/src/helper.js +0 -0
  536. /package/framework/{v0.6.33 → v0.7.0}/lib/logger/src/main.js +0 -0
  537. /package/framework/{v0.6.33 → v0.7.0}/lib/logger/src/redact.js +0 -0
  538. /package/framework/{v0.6.33 → v0.7.0}/lib/maintenance/package.json +0 -0
  539. /package/framework/{v0.6.33 → v0.7.0}/lib/maintenance/src/main.js +0 -0
  540. /package/framework/{v0.6.33 → v0.7.0}/lib/math/index.js +0 -0
  541. /package/framework/{v0.6.33 → v0.7.0}/lib/mcp-dispatch/package.json +0 -0
  542. /package/framework/{v0.6.33 → v0.7.0}/lib/mcp-dispatch/src/main.js +0 -0
  543. /package/framework/{v0.6.33 → v0.7.0}/lib/mcp-http/package.json +0 -0
  544. /package/framework/{v0.6.33 → v0.7.0}/lib/mcp-http/src/main.js +0 -0
  545. /package/framework/{v0.6.33 → v0.7.0}/lib/mcp-server/package.json +0 -0
  546. /package/framework/{v0.6.33 → v0.7.0}/lib/mcp-server/src/main.js +0 -0
  547. /package/framework/{v0.6.33 → v0.7.0}/lib/merge/README.md +0 -0
  548. /package/framework/{v0.6.33 → v0.7.0}/lib/merge/package.json +0 -0
  549. /package/framework/{v0.6.33 → v0.7.0}/lib/merge/src/main.js +0 -0
  550. /package/framework/{v0.6.33 → v0.7.0}/lib/message-validator/package.json +0 -0
  551. /package/framework/{v0.6.33 → v0.7.0}/lib/message-validator/src/main.js +0 -0
  552. /package/framework/{v0.6.33 → v0.7.0}/lib/metrics/package.json +0 -0
  553. /package/framework/{v0.6.33 → v0.7.0}/lib/metrics/src/main.js +0 -0
  554. /package/framework/{v0.6.33 → v0.7.0}/lib/model.js +0 -0
  555. /package/framework/{v0.6.33 → v0.7.0}/lib/money/package.json +0 -0
  556. /package/framework/{v0.6.33 → v0.7.0}/lib/money/src/main.js +0 -0
  557. /package/framework/{v0.6.33 → v0.7.0}/lib/multipart/package.json +0 -0
  558. /package/framework/{v0.6.33 → v0.7.0}/lib/multipart/src/main.js +0 -0
  559. /package/framework/{v0.6.33 → v0.7.0}/lib/net-locality/package.json +0 -0
  560. /package/framework/{v0.6.33 → v0.7.0}/lib/net-locality/src/main.js +0 -0
  561. /package/framework/{v0.6.33 → v0.7.0}/lib/nunjucks-filters/README.md +0 -0
  562. /package/framework/{v0.6.33 → v0.7.0}/lib/nunjucks-filters/package.json +0 -0
  563. /package/framework/{v0.6.33 → v0.7.0}/lib/nunjucks-filters/src/main.js +0 -0
  564. /package/framework/{v0.6.33 → v0.7.0}/lib/nunjucks-resolver/package.json +0 -0
  565. /package/framework/{v0.6.33 → v0.7.0}/lib/nunjucks-resolver/src/main.js +0 -0
  566. /package/framework/{v0.6.33 → v0.7.0}/lib/priority/package.json +0 -0
  567. /package/framework/{v0.6.33 → v0.7.0}/lib/priority/src/main.js +0 -0
  568. /package/framework/{v0.6.33 → v0.7.0}/lib/proc.js +0 -0
  569. /package/framework/{v0.6.33 → v0.7.0}/lib/push/package.json +0 -0
  570. /package/framework/{v0.6.33 → v0.7.0}/lib/push/src/main.js +0 -0
  571. /package/framework/{v0.6.33 → v0.7.0}/lib/rate-limit/package.json +0 -0
  572. /package/framework/{v0.6.33 → v0.7.0}/lib/rate-limit/src/main.js +0 -0
  573. /package/framework/{v0.6.33 → v0.7.0}/lib/release-watch/package.json +0 -0
  574. /package/framework/{v0.6.33 → v0.7.0}/lib/release-watch/src/main.js +0 -0
  575. /package/framework/{v0.6.33 → v0.7.0}/lib/render-cache/package.json +0 -0
  576. /package/framework/{v0.6.33 → v0.7.0}/lib/render-cache/src/main.js +0 -0
  577. /package/framework/{v0.6.33 → v0.7.0}/lib/render-cache-store.js +0 -0
  578. /package/framework/{v0.6.33 → v0.7.0}/lib/routing/README.md +0 -0
  579. /package/framework/{v0.6.33 → v0.7.0}/lib/routing/build.json +0 -0
  580. /package/framework/{v0.6.33 → v0.7.0}/lib/routing/package.json +0 -0
  581. /package/framework/{v0.6.33 → v0.7.0}/lib/routing-introspect/package.json +0 -0
  582. /package/framework/{v0.6.33 → v0.7.0}/lib/routing-introspect/src/main.js +0 -0
  583. /package/framework/{v0.6.33 → v0.7.0}/lib/secrets/package.json +0 -0
  584. /package/framework/{v0.6.33 → v0.7.0}/lib/secrets/src/backends/env.js +0 -0
  585. /package/framework/{v0.6.33 → v0.7.0}/lib/secrets/src/backends/exec.js +0 -0
  586. /package/framework/{v0.6.33 → v0.7.0}/lib/secrets/src/backends/file.js +0 -0
  587. /package/framework/{v0.6.33 → v0.7.0}/lib/secrets/src/declaration.js +0 -0
  588. /package/framework/{v0.6.33 → v0.7.0}/lib/secrets/src/env-file.js +0 -0
  589. /package/framework/{v0.6.33 → v0.7.0}/lib/secrets/src/main.js +0 -0
  590. /package/framework/{v0.6.33 → v0.7.0}/lib/secrets/src/sources.js +0 -0
  591. /package/framework/{v0.6.33 → v0.7.0}/lib/security-headers-emitter/package.json +0 -0
  592. /package/framework/{v0.6.33 → v0.7.0}/lib/security-headers-emitter/src/main.js +0 -0
  593. /package/framework/{v0.6.33 → v0.7.0}/lib/session-lifetime/package.json +0 -0
  594. /package/framework/{v0.6.33 → v0.7.0}/lib/session-lifetime/src/main.js +0 -0
  595. /package/framework/{v0.6.33 → v0.7.0}/lib/session-store.js +0 -0
  596. /package/framework/{v0.6.33 → v0.7.0}/lib/shell.js +0 -0
  597. /package/framework/{v0.6.33 → v0.7.0}/lib/sqlite-driver.js +0 -0
  598. /package/framework/{v0.6.33 → v0.7.0}/lib/sri/package.json +0 -0
  599. /package/framework/{v0.6.33 → v0.7.0}/lib/sri/src/main.js +0 -0
  600. /package/framework/{v0.6.33 → v0.7.0}/lib/state.js +0 -0
  601. /package/framework/{v0.6.33 → v0.7.0}/lib/storage/package.json +0 -0
  602. /package/framework/{v0.6.33 → v0.7.0}/lib/storage/src/local-cas.js +0 -0
  603. /package/framework/{v0.6.33 → v0.7.0}/lib/storage/src/local-stream.js +0 -0
  604. /package/framework/{v0.6.33 → v0.7.0}/lib/storage/src/local.js +0 -0
  605. /package/framework/{v0.6.33 → v0.7.0}/lib/storage/src/main.js +0 -0
  606. /package/framework/{v0.6.33 → v0.7.0}/lib/storage/src/meta-store.js +0 -0
  607. /package/framework/{v0.6.33 → v0.7.0}/lib/storage/src/s3.js +0 -0
  608. /package/framework/{v0.6.33 → v0.7.0}/lib/storage/src/util.js +0 -0
  609. /package/framework/{v0.6.33 → v0.7.0}/lib/storage-store.js +0 -0
  610. /package/framework/{v0.6.33 → v0.7.0}/lib/swig-filters/README.md +0 -0
  611. /package/framework/{v0.6.33 → v0.7.0}/lib/swig-filters/package.json +0 -0
  612. /package/framework/{v0.6.33 → v0.7.0}/lib/swig-resolver/package.json +0 -0
  613. /package/framework/{v0.6.33 → v0.7.0}/lib/swig-resolver/src/main.js +0 -0
  614. /package/framework/{v0.6.33 → v0.7.0}/lib/template-loaders/package.json +0 -0
  615. /package/framework/{v0.6.33 → v0.7.0}/lib/template-loaders/src/loaders/http.js +0 -0
  616. /package/framework/{v0.6.33 → v0.7.0}/lib/template-loaders/src/loaders/memory.js +0 -0
  617. /package/framework/{v0.6.33 → v0.7.0}/lib/template-loaders/src/main.js +0 -0
  618. /package/framework/{v0.6.33 → v0.7.0}/lib/url/README.md +0 -0
  619. /package/framework/{v0.6.33 → v0.7.0}/lib/url/index.js +0 -0
  620. /package/framework/{v0.6.33 → v0.7.0}/lib/url/routing.json +0 -0
  621. /package/framework/{v0.6.33 → v0.7.0}/lib/uuid/package.json +0 -0
  622. /package/framework/{v0.6.33 → v0.7.0}/lib/uuid/src/main.js +0 -0
  623. /package/framework/{v0.6.33 → v0.7.0}/lib/validator.js +0 -0
  624. /package/framework/{v0.6.33 → v0.7.0}/lib/watcher/package.json +0 -0
  625. /package/framework/{v0.6.33 → v0.7.0}/lib/watcher/src/main.js +0 -0
  626. /package/framework/{v0.6.33 → v0.7.0}/lib/ws-framing/package.json +0 -0
  627. /package/framework/{v0.6.33 → v0.7.0}/lib/ws-framing/src/main.js +0 -0
  628. /package/framework/{v0.6.33 → v0.7.0}/lib/ws-query/package.json +0 -0
  629. /package/framework/{v0.6.33 → v0.7.0}/lib/ws-query/src/main.js +0 -0
  630. /package/framework/{v0.6.33 → v0.7.0}/lib/ws-session/package.json +0 -0
  631. /package/framework/{v0.6.33 → v0.7.0}/lib/ws-session/src/main.js +0 -0
@@ -0,0 +1,326 @@
1
+ 'use strict';
2
+ /**
3
+ * Route-candidate index for the cold routing path of `server.js` (#P46).
4
+ *
5
+ * `_handleDispatch` matches a request by walking the bundle's routing table in
6
+ * declaration order and running `lib/routing`'s `compareUrls` on each rule: a cold
7
+ * match costs about 1.1 µs per rule scanned, and a request no rule matches pays for
8
+ * the whole table (≈ 440 µs at 380 rules, measured 2026-09-25). This module answers,
9
+ * for one request, the SET of rule names that could match it; the loop skips every
10
+ * other rule. The loop, its order and every per-rule check are unchanged, so the
11
+ * first match in declaration order still wins.
12
+ *
13
+ * The set is a SUPERSET of the rules the loop can accept, never a subset:
14
+ *
15
+ * - a URL variant is split on `,` exactly as `compareUrls` splits it (untrimmed);
16
+ * - a segment holding a `:` ANYWHERE is a parameter (`hasParams` in lib/routing
17
+ * tests `/\:/`), so an inline parameter such as `page:number` is one;
18
+ * - a static segment must equal the request's segment exactly, as `parseRouting`
19
+ * compares it;
20
+ * - the loop's own equality clause (`pathname == routing[name].url`) compares the
21
+ * RAW pathname with the WHOLE raw url string, so every rule is also indexed under
22
+ * its raw url and looked up with the raw pathname;
23
+ * - a rule the path index cannot model is evaluated for every request (`always`):
24
+ * one declaring two or more requirements that are not bound as a whole `:key`
25
+ * segment (for GET and DELETE, `parseRouting` writes each such request key over
26
+ * the compared segments from index 0, so two or more replace real path segments),
27
+ * one variant with a requirement of that kind that does not start with `/` (its
28
+ * index 0 is a real segment), a variant with surrounding whitespace, `?` or `#`,
29
+ * and a url that is not a string (the loop still evaluates it; `compareUrls`
30
+ * throws on it and the loop answers 500, which stays so).
31
+ *
32
+ * `lookup()` returns `null` — "no filter, scan every rule", today's behaviour — for
33
+ * a path the index does not model: one that does not start with `/`, holds `?` or
34
+ * `#` (express keeps the query in the pathname), or has an empty segment after the
35
+ * leading `/` (`/`, a trailing `/`, `//`: a parameter whose requirement accepts `''`
36
+ * can match an empty segment, and these paths are few and meet the warm route cache
37
+ * after their first request).
38
+ *
39
+ * A rule skipped by the index no longer runs `compareUrls`, so two things it used to
40
+ * do stop: its `validator::` requirements no longer run for that request (a throwing
41
+ * validator on a rule that cannot match the URL no longer answers 500), and it no
42
+ * longer leaves captured values in `req.params` / the method bag when no rule matches
43
+ * (visible only to a custom error page).
44
+ *
45
+ * The index is built once per routing table object and bundle (a `WeakMap`), from the
46
+ * table `config.getRouting()` returns. Nothing adds or removes a rule in that table
47
+ * after boot: the per-request writes go to copies (`router.js` per-rule copy,
48
+ * ws-query's `JSON.clone`), and a table object replaced by a reload is indexed anew.
49
+ *
50
+ * Server-only: not part of the browser bundle. It lives under `core/` on purpose — the
51
+ * pre-commit gate treats `lib/routing/src/` as bundled source.
52
+ *
53
+ * @module gina/core/server.route-candidates
54
+ */
55
+
56
+ /**
57
+ * The result of classifying one URL variant of a rule.
58
+ *
59
+ * @constant
60
+ * @type {{TRIE: number, SKIP: number, ALWAYS: number}}
61
+ */
62
+ var CLASS = { TRIE: 1, SKIP: 2, ALWAYS: 3 };
63
+
64
+ /**
65
+ * One node of the path index.
66
+ *
67
+ * @typedef {object} RouteIndexNode
68
+ * @property {Object<string, RouteIndexNode>} s - static children, keyed by the exact segment (a null-prototype map, so `toString` or `__proto__` is an ordinary key)
69
+ * @property {RouteIndexNode|null} p - the parameter child: any segment holding a `:`
70
+ * @property {string[]} n - the rule names whose url variant ends at this node
71
+ */
72
+
73
+ /**
74
+ * The candidate index of one bundle's rules in one routing table.
75
+ *
76
+ * @typedef {object} RouteIndex
77
+ * @property {RouteIndexNode} root - the path index; the leading empty segment is not stored
78
+ * @property {Object<string, string[]>} literal - raw url string → rule names (null-prototype map)
79
+ * @property {string[]} always - rule names evaluated for every request the index models
80
+ * @property {number} size - the number of rules indexed (all three parts together)
81
+ */
82
+
83
+ /**
84
+ * Indexes built so far: routing table object → Map(bundle → RouteIndex).
85
+ *
86
+ * @type {WeakMap<object, Map<string, RouteIndex>>}
87
+ */
88
+ var _indexes = new WeakMap();
89
+
90
+ /**
91
+ * A new, empty path-index node.
92
+ *
93
+ * @inner
94
+ * @returns {RouteIndexNode}
95
+ */
96
+ function createNode() {
97
+ return { s: Object.create(null), p: null, n: [] };
98
+ }
99
+
100
+ /**
101
+ * Counts a rule's own requirements that are NOT bound as a whole `:key` segment of
102
+ * one url variant — the keys `parseRouting` may write over the compared segments for
103
+ * a GET or DELETE request carrying them (#B650 limited them to the rule's OWN keys).
104
+ * A requirement used only inside a segment (`page:number`) counts, as it does there.
105
+ * Exported for the unit tests.
106
+ *
107
+ * @private
108
+ * @param {*} requirements - the rule's `requirements`
109
+ * @param {string[]} segments - the variant split on `/`
110
+ * @returns {number} the count, or `Infinity` when `requirements` is not an object
111
+ */
112
+ function countUnboundRequirements(requirements, segments) {
113
+ if (typeof requirements === 'undefined' || requirements === null) {
114
+ return 0;
115
+ }
116
+ if (typeof requirements !== 'object') {
117
+ // lib/routing tests these with hasOwnProperty.call: a string or a function has
118
+ // own properties (`length`, `name`) that would count — never model it
119
+ return Infinity;
120
+ }
121
+ var keys = Object.getOwnPropertyNames(requirements), count = 0;
122
+ for (var i = 0; i < keys.length; i++) {
123
+ if (typeof requirements[keys[i]] === 'undefined') continue;
124
+ if (segments.indexOf(':' + keys[i]) < 0) ++count;
125
+ }
126
+ return count;
127
+ }
128
+
129
+ /**
130
+ * Decides how one url variant of a rule is indexed. Exported for the unit tests.
131
+ *
132
+ * @private
133
+ * @param {*} requirements - the rule's `requirements`
134
+ * @param {string} variant - one comma-separated part of the rule's url, untrimmed
135
+ * @returns {number} `CLASS.TRIE` (insert it), `CLASS.SKIP` (it cannot match a path the index models) or `CLASS.ALWAYS` (evaluate the rule for every request)
136
+ */
137
+ function classifyVariant(requirements, variant) {
138
+ if (variant !== variant.trim() || /[?#]/.test(variant)) {
139
+ return CLASS.ALWAYS;
140
+ }
141
+ var segments = variant.split('/');
142
+ var unbound = countUnboundRequirements(requirements, segments);
143
+ if (unbound >= 2) {
144
+ return CLASS.ALWAYS;
145
+ }
146
+ if (variant.charAt(0) !== '/') {
147
+ // index 0 is a real segment here, and one unbound key replaces it; without
148
+ // one, the variant has one segment fewer than any path starting with `/`
149
+ return (unbound >= 1) ? CLASS.ALWAYS : CLASS.SKIP;
150
+ }
151
+ for (var i = 1; i < segments.length; i++) {
152
+ // an empty segment can only equal an empty request segment, and lookup()
153
+ // returns null for every path holding one
154
+ if (segments[i] === '') return CLASS.SKIP;
155
+ }
156
+ return CLASS.TRIE;
157
+ }
158
+
159
+ /**
160
+ * Inserts one url variant (starting with `/`, no empty segment after it).
161
+ *
162
+ * @inner
163
+ * @param {RouteIndexNode} root
164
+ * @param {string} variant
165
+ * @param {string} name - the rule name
166
+ * @returns {void}
167
+ */
168
+ function insert(root, variant, name) {
169
+ var segments = variant.split('/'), node = root;
170
+ for (var i = 1; i < segments.length; i++) {
171
+ var s = segments[i];
172
+ if (s.indexOf(':') > -1) {
173
+ if (node.p === null) node.p = createNode();
174
+ node = node.p;
175
+ } else {
176
+ if (typeof node.s[s] === 'undefined') node.s[s] = createNode();
177
+ node = node.s[s];
178
+ }
179
+ }
180
+ if (node.n.indexOf(name) < 0) node.n.push(name);
181
+ }
182
+
183
+ /**
184
+ * Builds the candidate index of one bundle's rules. Walks the table the way the
185
+ * routing loop does (`for…in`, non-object entries skipped, `bundle` compared with
186
+ * `!=`), so a rule the loop would skip for another bundle is left out.
187
+ *
188
+ * @param {object} routing - the table `config.getRouting(bundle, env)` returns
189
+ * @param {string} bundle - the bundle being routed
190
+ * @returns {RouteIndex}
191
+ *
192
+ * @example
193
+ * var index = build({
194
+ * 'item@api': { bundle: 'api', url: '/items/:id', method: 'GET', param: { control: 'get', id: ':id' } }
195
+ * }, 'api');
196
+ * lookup(index, '/items/7', '/items/7'); // Set { 'item@api' }
197
+ */
198
+ function build(routing, bundle) {
199
+ var index = { root: createNode(), literal: Object.create(null), always: [], size: 0 };
200
+ for (var name in routing) {
201
+ var rule = routing[name];
202
+ if (typeof rule !== 'object' || rule === null) continue;
203
+ if (rule.bundle != bundle) continue;
204
+ ++index.size;
205
+
206
+ var url = rule.url;
207
+ if (typeof url !== 'string') {
208
+ index.always.push(name);
209
+ continue;
210
+ }
211
+
212
+ if (typeof index.literal[url] === 'undefined') index.literal[url] = [];
213
+ index.literal[url].push(name);
214
+
215
+ var variants = url.split(/\,/g), toInsert = [], always = false;
216
+ for (var v = 0; v < variants.length; v++) {
217
+ var c = classifyVariant(rule.requirements, variants[v]);
218
+ if (c === CLASS.ALWAYS) { always = true; break; }
219
+ if (c === CLASS.TRIE) toInsert.push(variants[v]);
220
+ }
221
+ if (always) {
222
+ index.always.push(name);
223
+ continue;
224
+ }
225
+ for (var i = 0; i < toInsert.length; i++) {
226
+ insert(index.root, toInsert[i], name);
227
+ }
228
+ }
229
+ return index;
230
+ }
231
+
232
+ /**
233
+ * Collects the rule names whose variant structurally matches `segments[i…]`.
234
+ *
235
+ * @inner
236
+ * @param {RouteIndexNode} node
237
+ * @param {string[]} segments - the decoded request path split on `/`
238
+ * @param {number} i - the next segment to match
239
+ * @param {Set<string>} out
240
+ * @returns {void}
241
+ */
242
+ function collect(node, segments, i, out) {
243
+ if (i === segments.length) {
244
+ for (var k = 0; k < node.n.length; k++) out.add(node.n[k]);
245
+ return;
246
+ }
247
+ var child = node.s[segments[i]];
248
+ if (typeof child !== 'undefined') collect(child, segments, i + 1, out);
249
+ if (node.p !== null) collect(node.p, segments, i + 1, out);
250
+ }
251
+
252
+ /**
253
+ * The candidate rule names for one request.
254
+ *
255
+ * @param {RouteIndex} index
256
+ * @param {string} rawPathname - the request path as the routing loop compares it (`pathname`)
257
+ * @param {string} decodedPathname - the same path through `safeDecodeURI`, as `compareUrls` receives it
258
+ * @returns {Set<string>|null} the candidates (possibly empty: no rule can match), or `null` when the path is one the index does not model — scan every rule
259
+ *
260
+ * @example
261
+ * lookup(index, '/items/7', '/items/7'); // Set { 'item@api' }
262
+ * lookup(index, '/nothing', '/nothing'); // Set {} — a 404 without scanning
263
+ * lookup(index, '/items/', '/items/'); // null — full scan
264
+ */
265
+ function lookup(index, rawPathname, decodedPathname) {
266
+ if (typeof decodedPathname !== 'string' || decodedPathname.charAt(0) !== '/' || /[?#]/.test(decodedPathname)) {
267
+ return null;
268
+ }
269
+ var segments = decodedPathname.split('/');
270
+ for (var i = 1; i < segments.length; i++) {
271
+ if (segments[i] === '') return null;
272
+ }
273
+
274
+ var out = new Set();
275
+ collect(index.root, segments, 1, out);
276
+
277
+ var literal = index.literal[rawPathname];
278
+ if (typeof literal !== 'undefined') {
279
+ for (var l = 0; l < literal.length; l++) out.add(literal[l]);
280
+ }
281
+ for (var a = 0; a < index.always.length; a++) out.add(index.always[a]);
282
+ return out;
283
+ }
284
+
285
+ /**
286
+ * The candidate rule names for one request against a routing table, building and
287
+ * caching the table's index on first use. Any unexpected error yields `null` (scan
288
+ * every rule, as before): the caller awaits nothing here and has no `try` around it.
289
+ *
290
+ * @param {object} routing - the table `config.getRouting(bundle, env)` returns
291
+ * @param {string} bundle - the bundle being routed
292
+ * @param {string} rawPathname - the request path as the routing loop compares it
293
+ * @param {string} decodedPathname - `safeDecodeURI(rawPathname)`
294
+ * @returns {Set<string>|null}
295
+ *
296
+ * @example
297
+ * var candidates = candidatesFor(routing, bundle, pathname, safeDecodeURI(pathname));
298
+ * // in the loop: if ( candidates !== null && !candidates.has(name) ) continue;
299
+ */
300
+ function candidatesFor(routing, bundle, rawPathname, decodedPathname) {
301
+ try {
302
+ if (routing === null || typeof routing !== 'object') return null;
303
+ var byBundle = _indexes.get(routing);
304
+ if (typeof byBundle === 'undefined') {
305
+ byBundle = new Map();
306
+ _indexes.set(routing, byBundle);
307
+ }
308
+ var index = byBundle.get(bundle);
309
+ if (typeof index === 'undefined') {
310
+ index = build(routing, bundle);
311
+ byBundle.set(bundle, index);
312
+ }
313
+ return lookup(index, rawPathname, decodedPathname);
314
+ } catch (err) {
315
+ return null;
316
+ }
317
+ }
318
+
319
+ module.exports = {
320
+ CLASS : CLASS,
321
+ build : build,
322
+ lookup : lookup,
323
+ candidatesFor : candidatesFor,
324
+ classifyVariant : classifyVariant,
325
+ countUnboundRequirements : countUnboundRequirements
326
+ };
@@ -9,7 +9,7 @@
9
9
  // "database" : "${bundle}",
10
10
  // "username" : "appuser",
11
11
  // "password" : "secret",
12
- // "ping" : "2m"
12
+ // "pingInterval" : "2m"
13
13
  // }
14
14
  //
15
15
  // For local overrides without touching this file:
@@ -10,5 +10,11 @@
10
10
  "date": "${dateFormat}",
11
11
  // https://en.wikipedia.org/wiki/List_of_tz_database_time_zones — e.g. Africa/Douala, America/New_York, Europe/Paris
12
12
  "timeZone": "${timeZone}"
13
+ },
14
+ // Swig output auto-escaping, an XSS defence: `true` HTML-escapes every {{ x }}.
15
+ // Mark a variable that carries HTML on purpose with `| safe`, e.g. {{ gina.csrfInput | safe }}.
16
+ // A bundle that leaves it unset renders unescaped until 0.8.0, which makes `true` the default.
17
+ "swig": {
18
+ "autoescape": true
13
19
  }
14
20
  }
@@ -47,6 +47,12 @@ function SetupClass(req, res, next){
47
47
  * Will replace all `\n` by `<br/>`
48
48
  * e.g.:
49
49
  * {{ contact.address | nl2br }}
50
+ * With `settings.swig.autoescape: true` (this scaffold's setting) nl2br escapes the text
51
+ * and keeps the `<br/>` as markup: no `| safe` needed.
52
+ *
53
+ * [ | safe ]
54
+ * With `settings.swig.autoescape: true`, mark a variable that carries HTML on purpose:
55
+ * {{ gina.csrfInput | safe }}
50
56
  */
51
57
 
52
58
 
@@ -75,8 +81,9 @@ function SetupClass(req, res, next){
75
81
 
76
82
  // /*
77
83
  // * markdown filter
78
- // * Usage:
79
- // * <p>{{ 'once **upon** a time\nthere was a princess' | markdown('strong','em') }}"</p>
84
+ // * Usage (`| safe` keeps the HTML as markup when autoescape is on — only for markdown you trust,
85
+ // * the converter does not sanitize it):
86
+ // * <p>{{ 'once **upon** a time\nthere was a princess' | markdownToHtml | safe }}</p>
80
87
  // *
81
88
  // * @param {string} text - markdown text string
82
89
  // *
@@ -1187,8 +1187,9 @@ function PathHelper() {
1187
1187
  * @param {Array} [excluded] - Filenames (strings) or RegExps to skip
1188
1188
  *
1189
1189
  * @callback callback
1190
- * @param {boolean|Error} err - `false` on success, an `Error` on failure
1191
- * (was a plain string pre-#B227)
1190
+ * @param {boolean|Error} err - `false` on success, an `Error` with a string
1191
+ * `stack` on failure (was a plain string
1192
+ * pre-#B227; could lack `stack` on Bun, #B654)
1192
1193
  * @param {string} source
1193
1194
  * @param {number} i
1194
1195
  * */
@@ -1280,38 +1281,67 @@ function PathHelper() {
1280
1281
  * never observe a truncated destination and a failed copy never destroys
1281
1282
  * the previous content.
1282
1283
  *
1284
+ * On failure the temp file is removed once its stream has closed, and only
1285
+ * then does the callback run (#B649): its open runs on a worker thread and
1286
+ * can create the file after the failure is reported.
1287
+ *
1283
1288
  * @inner
1284
1289
  * @param {string} source
1285
1290
  * @param {string} destination
1286
1291
  * @param {number} i - Caller's iteration cursor, passed back untouched
1287
1292
  *
1288
1293
  * @callback callback
1289
- * @param {boolean|Error} err - `false` on success, an `Error` on failure
1290
- * (was a plain string pre-#B227)
1294
+ * @param {boolean|Error} err - `false` on success, an `Error` with a string
1295
+ * `stack` on failure (was a plain string
1296
+ * pre-#B227; could lack `stack` on Bun, #B654)
1291
1297
  * @param {number} i
1292
1298
  * */
1293
1299
  var copyFile = function(source, destination, i, callback) {
1294
1300
 
1295
1301
  var _tmpTarget = destination + '.' + process.pid + '.' + Math.random().toString(36).slice(2, 8) + '.tmp';
1296
1302
  var _settled = false;
1303
+ // #B649 — true once the temp stream has closed: only then is its open (an
1304
+ // O_CREAT on a worker thread) known to be over, so only then does a reap
1305
+ // find the file that open may have created
1306
+ var _tmpClosed = false;
1297
1307
 
1298
1308
  var sourceStream = fs.createReadStream(source);
1299
1309
  // #B227 — no direct write to the final name
1300
1310
  // was: var destinationStream = fs.createWriteStream(destination);
1301
1311
  var destinationStream = fs.createWriteStream(_tmpTarget);
1312
+ // #B649 — registered before the pipe's 'close' handler below, so the flag
1313
+ // is already set when that handler runs
1314
+ destinationStream.once('close', function() { _tmpClosed = true });
1302
1315
 
1303
1316
  var onCopyError = function(err) {
1304
1317
  if (_settled) return;
1305
1318
  _settled = true;
1306
1319
  try { destinationStream.destroy() } catch (_e) {}
1307
- try { if ( fs.existsSync(_tmpTarget) ) fs.unlinkSync(_tmpTarget) } catch (_e) {}
1308
1320
  // #B227 — propagate a real Error (was a plain string, so callers
1309
1321
  // printing `err.stack` logged `undefined`); keep the historical
1310
1322
  // message prefix for log continuity
1311
1323
  if ( !(err instanceof Error) ) {
1312
1324
  err = new Error('Error on Path.cp(...): could not copy `'+ source +'` to `'+ destination +'`');
1313
1325
  }
1314
- callback(err, i)
1326
+ // #B654 — Bun (1.3, 1.4) reports stream errors as an Error with no
1327
+ // `stack` at all, and callers print `err.stack`: give it one, keeping
1328
+ // the error itself (its `code` and message)
1329
+ else if ( typeof(err.stack) != 'string' ) {
1330
+ try { Error.captureStackTrace(err) } catch (_e) {}
1331
+ }
1332
+ // #B649 — reap and settle only once the temp stream has closed. A source
1333
+ // that fails at open can be reported before the temp file's own open has
1334
+ // run, so checking for the file here could find nothing and leave the
1335
+ // file that open created a moment later on disk (destroy() only closes
1336
+ // the descriptor).
1337
+ // was: try { if ( fs.existsSync(_tmpTarget) ) fs.unlinkSync(_tmpTarget) } catch (_e) {}
1338
+ // callback(err, i)
1339
+ var reapAndSettle = function() {
1340
+ try { fs.unlinkSync(_tmpTarget) } catch (_e) {} // ENOENT when the open never created it
1341
+ callback(err, i)
1342
+ };
1343
+ if (_tmpClosed) return reapAndSettle();
1344
+ destinationStream.once('close', reapAndSettle);
1315
1345
  };
1316
1346
 
1317
1347
  // #B227 — the source stream previously had NO error listener: an
@@ -1,6 +1,8 @@
1
1
  var fs = require('fs');
2
2
  const { runMain } = require('module');
3
- var exec = require('child_process').exec;
3
+ // #B663 (2026-09-25) — execFile: bundle:stop and bundle:start run from argument vectors, without a shell.
4
+ // var exec = require('child_process').exec;
5
+ var execFile = require('child_process').execFile;
4
6
 
5
7
  var CmdHelper = require('./../helper');
6
8
  var console = lib.logger;
@@ -33,10 +35,16 @@ function Restart(opt, cmd) {
33
35
  /**
34
36
  * Validates configuration and triggers single-bundle or bulk restart.
35
37
  *
38
+ * Takes the runtime and CLI script paths off `process.argv` as an argument pair
39
+ * (`self.cliArgv`), and keeps the `--` flags it was given as a list
40
+ * (`self.inheritedArgv`), for the stop and start children, which run without
41
+ * a shell (#B663).
42
+ *
36
43
  * @inner
37
44
  * @private
38
45
  * @param {object} opt - Parsed command-line options
39
46
  * @param {object} cmd - The cmd dispatcher object
47
+ * @returns {(boolean|void)} false when the CLI is not configured
40
48
  */
41
49
  var init = function(opt, cmd) {
42
50
  // import CMD helpers
@@ -45,7 +53,10 @@ function Restart(opt, cmd) {
45
53
  // check CMD configuration
46
54
  if (!isCmdConfigured()) return false;
47
55
 
48
- self.cmdStr = process.argv.splice(0, 2).join(' ');
56
+ // #B663 (2026-09-25) — the runtime and CLI script paths stay an argument pair: the
57
+ // children run without a shell (the pair was joined into a command line).
58
+ // self.cmdStr = process.argv.splice(0, 2).join(' ');
59
+ self.cliArgv = process.argv.splice(0, 2);
49
60
 
50
61
  self.inheritedArgv = [];
51
62
  for (let i = 0, len = process.argv.length; i < len; i++) {
@@ -54,7 +65,8 @@ function Restart(opt, cmd) {
54
65
  }
55
66
  }
56
67
 
57
- self.inheritedArgv = self.inheritedArgv.join(' ');
68
+ // #B663 (2026-09-25) — kept as a list: each flag reaches bundle:start as one argument.
69
+ // self.inheritedArgv = self.inheritedArgv.join(' ');
58
70
 
59
71
  // start all bundles
60
72
  opt.onlineCount = 0;
@@ -76,11 +88,17 @@ function Restart(opt, cmd) {
76
88
  /**
77
89
  * Executes a stop-then-start sequence for one bundle, optionally in bulk.
78
90
  *
91
+ * `bundle:stop` and `bundle:start` run as two `execFile` children of the same
92
+ * runtime and CLI script, each from an argument vector, without a shell (#B663).
93
+ * The start runs only once the stop has succeeded, and only the start gets the
94
+ * inherited `--` flags and the debug flag.
95
+ *
79
96
  * @inner
80
97
  * @private
81
98
  * @param {object} opt - Parsed command-line options (includes client, debugPort)
82
- * @param {object} cmd - Overwritten internally with the shell command string
99
+ * @param {object} cmd - Overwritten internally with a display string of the two commands (the debug line; nothing runs it)
83
100
  * @param {number} [bundleIndex] - When provided, performs a bulk restart at this index
101
+ * @returns {void}
84
102
  */
85
103
  var restart = function(opt, cmd, bundleIndex) {
86
104
 
@@ -120,44 +138,95 @@ function Restart(opt, cmd) {
120
138
  //console.debug(' OPTIONS => ', opt.debugPort, opt.debugBrkEnabled);
121
139
  //console.info('running: gina bundle:restart '+ bundle + '@' + self.projectName);
122
140
  msg = 'Restarting, please wait ...';
123
- cmd = '$gina bundle:stop ' + bundle + ' @' + self.projectName + ' && $gina bundle:start ' + bundle + ' @' + self.projectName;
124
- if (self.inheritedArgv != '') {
125
- cmd += ' '+ self.inheritedArgv;
126
- }
141
+ // #B663 (2026-09-25) — two argument vectors run without a shell: bundle:stop, then
142
+ // bundle:start only once the stop has succeeded (what the shell's `&&` did). The
143
+ // command line spliced the CLI path, the bundle and project names and every
144
+ // inherited `--` flag in unquoted, so a path containing a space broke the restart
145
+ // and shell syntax in a flag ran.
146
+ // cmd = '$gina bundle:stop ' + bundle + ' @' + self.projectName + ' && $gina bundle:start ' + bundle + ' @' + self.projectName;
147
+ // if (self.inheritedArgv != '') {
148
+ // cmd += ' '+ self.inheritedArgv;
149
+ // }
150
+ // if (opt.debugPort) {
151
+ // cmd += ' --inspect';
152
+ // if (opt.debugBrkEnabled) {
153
+ // cmd += '-brk'
154
+ // }
155
+ // cmd += '='+ opt.debugPort;
156
+ // msg = 'You should now start your debug session on port #'+opt.debugPort;
157
+ // }
158
+ // cmd = cmd.replace(/\$(gina)/g, self.cmdStr);
159
+ var stopArgv = [self.cliArgv[1], 'bundle:stop', bundle, '@' + self.projectName];
160
+ var startArgv = [self.cliArgv[1], 'bundle:start', bundle, '@' + self.projectName].concat(self.inheritedArgv);
127
161
  if (opt.debugPort) {
128
- cmd += ' --inspect';
129
- if (opt.debugBrkEnabled) {
130
- cmd += '-brk'
131
- }
132
- cmd += '='+ opt.debugPort;
162
+ startArgv.push('--inspect' + (opt.debugBrkEnabled ? '-brk' : '') + '=' + opt.debugPort);
133
163
  msg = 'You should now start your debug session on port #'+opt.debugPort;
134
164
  }
135
- cmd = cmd.replace(/\$(gina)/g, self.cmdStr);
165
+ // for the debug line only: nothing runs this string
166
+ cmd = [self.cliArgv[0]].concat(stopArgv).join(' ') + ' && ' + [self.cliArgv[0]].concat(startArgv).join(' ');
136
167
 
137
168
  console.debug('Executing: '+cmd);
138
169
 
139
170
  opt.client.write('\n\r'+msg +'\n');
140
171
 
141
- // If it is stuck, the problem is not here ... cmd.start should be a good start
142
- exec(cmd, function(err, stdout, stderr) {
172
+ /**
173
+ * Ends this bundle's restart on a failed step: logs the error, then moves on
174
+ * to the next bundle (bulk restart) or exits 1.
175
+ *
176
+ * @inner
177
+ * @private
178
+ * @param {Error} err - The failed child's error
179
+ * @returns {object} The pending timer
180
+ */
181
+ var onFailed = function(err) {
182
+ error = err.toString();
183
+ console.error(error);
184
+ //opt.notStopped.push(bundle + '@' + self.projectName);
185
+ return setTimeout(() => {
186
+ end(opt, cmd, isBulkRestart, bundleIndex, true)
187
+ }, 250); // 500
188
+ };
143
189
 
190
+ // If it is stuck, the problem is not here ... cmd.start should be a good start
191
+ // #B663 (2026-09-25) — replaced by the two execFile calls below.
192
+ // exec(cmd, function(err, stdout, stderr) {
193
+ //
194
+ // if (err) {
195
+ // error = err.toString();
196
+ // console.error(error);
197
+ // //opt.notStopped.push(bundle + '@' + self.projectName);
198
+ // return setTimeout(() => {
199
+ // end(opt, cmd, isBulkRestart, bundleIndex, true)
200
+ // }, 250); // 500
201
+ // }
202
+ //
203
+ // // retrieve messages from the parent stdout
204
+ // if (stdout) {
205
+ // console.log(stdout.replace(/\n\rTrying to.*/gm, ''));
206
+ // }
207
+ // setTimeout(() => {
208
+ // //opt.client.write(' => bundle [ ' + bundle + '@' + self.projectName + ' ] restarted on port #'+ bundlePort+' :D\n');
209
+ // end(opt, cmd, isBulkRestart, bundleIndex)
210
+ // }, 250); // 500
211
+ // })
212
+ execFile(self.cliArgv[0], stopArgv, function onStopped(err, stopStdout) {
144
213
  if (err) {
145
- error = err.toString();
146
- console.error(error);
147
- //opt.notStopped.push(bundle + '@' + self.projectName);
148
- return setTimeout(() => {
149
- end(opt, cmd, isBulkRestart, bundleIndex, true)
150
- }, 250); // 500
151
- }
152
-
153
- // retrieve messages from the parent stdout
154
- if (stdout) {
155
- console.log(stdout.replace(/\n\rTrying to.*/gm, ''));
214
+ return onFailed(err);
156
215
  }
157
- setTimeout(() => {
158
- //opt.client.write(' => bundle [ ' + bundle + '@' + self.projectName + ' ] restarted on port #'+ bundlePort+' :D\n');
159
- end(opt, cmd, isBulkRestart, bundleIndex)
160
- }, 250); // 500
216
+ execFile(self.cliArgv[0], startArgv, function onStarted(err, startStdout) {
217
+ if (err) {
218
+ return onFailed(err);
219
+ }
220
+ // retrieve messages from the parent stdout
221
+ var stdout = (stopStdout || '') + (startStdout || '');
222
+ if (stdout) {
223
+ console.log(stdout.replace(/\n\rTrying to.*/gm, ''));
224
+ }
225
+ setTimeout(() => {
226
+ //opt.client.write(' => bundle [ ' + bundle + '@' + self.projectName + ' ] restarted on port #'+ bundlePort+' :D\n');
227
+ end(opt, cmd, isBulkRestart, bundleIndex)
228
+ }, 250); // 500
229
+ })
161
230
  })
162
231
  })//EO isRealApp
163
232
  }