gina 0.4.0 → 0.4.1

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 (465) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +5 -11
  3. package/ROADMAP.md +18 -7
  4. package/bin/cli +12 -0
  5. package/framework/v0.4.1/VERSION +1 -0
  6. package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/js/gina.js +0 -3
  7. package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +1 -1
  8. package/framework/v0.4.1/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  9. package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
  10. package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.js +43 -0
  11. package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.render-nunjucks.js +117 -7
  12. package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.render-swig.js +21 -1
  13. package/framework/{v0.4.0 → v0.4.1}/core/server.js +23 -1
  14. package/framework/{v0.4.0 → v0.4.1}/lib/cache/src/main.js +0 -3
  15. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/add.js +24 -0
  16. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/arguments.json +3 -1
  17. package/framework/v0.4.1/lib/cmd/bundle/copy.js +467 -0
  18. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/help.txt +74 -0
  19. package/framework/v0.4.1/lib/cmd/bundle/inc/name-rewrite.js +96 -0
  20. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/list.js +7 -90
  21. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/remove.js +11 -0
  22. package/framework/v0.4.1/lib/cmd/bundle/rename.js +506 -0
  23. package/framework/v0.4.1/lib/cmd/bundle/status.js +170 -0
  24. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/list.js +2 -18
  25. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/helper.js +1 -1
  26. package/framework/v0.4.1/lib/cmd/minion/arguments.json +4 -0
  27. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/minion/help.txt +5 -1
  28. package/framework/v0.4.1/lib/cmd/minion/kill.js +336 -0
  29. package/framework/v0.4.1/lib/cmd/minion/list.js +270 -0
  30. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/port/set.js +12 -0
  31. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/help.txt +16 -0
  32. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/remove.js +11 -0
  33. package/framework/v0.4.1/lib/cmd/project/status.js +218 -0
  34. package/framework/v0.4.1/lib/cmd/protocol/arguments.json +5 -0
  35. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/protocol/help.txt +8 -3
  36. package/framework/v0.4.1/lib/cmd/protocol/remove.js +308 -0
  37. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/protocol/set.js +12 -0
  38. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/service/list.js +4 -82
  39. package/framework/{v0.4.0 → v0.4.1}/lib/cmd/view/add.js +13 -0
  40. package/framework/v0.4.1/lib/cmd-status-format/package.json +17 -0
  41. package/framework/v0.4.1/lib/cmd-status-format/src/main.js +142 -0
  42. package/framework/{v0.4.0 → v0.4.1}/lib/collection/src/main.js +0 -3
  43. package/framework/{v0.4.0 → v0.4.1}/lib/index.js +4 -0
  44. package/framework/{v0.4.0 → v0.4.1}/package.json +1 -1
  45. package/gna.js +4 -4
  46. package/llms.txt +13 -6
  47. package/package.json +2 -2
  48. package/script/sync_docs_deps.js +147 -0
  49. package/framework/v0.4.0/VERSION +0 -1
  50. package/framework/v0.4.0/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
  51. package/framework/v0.4.0/lib/cmd/bundle/copy.js +0 -18
  52. package/framework/v0.4.0/lib/cmd/bundle/rename.js +0 -7
  53. package/framework/v0.4.0/lib/cmd/bundle/status.js +0 -6
  54. package/framework/v0.4.0/lib/cmd/project/status.js +0 -3
  55. /package/framework/{v0.4.0 → v0.4.1}/AUTHORS +0 -0
  56. /package/framework/{v0.4.0 → v0.4.1}/LICENSE +0 -0
  57. /package/framework/{v0.4.0 → v0.4.1}/core/asset/html/nolayout.html +0 -0
  58. /package/framework/{v0.4.0 → v0.4.1}/core/asset/html/static.html +0 -0
  59. /package/framework/{v0.4.0 → v0.4.1}/core/asset/img/android-chrome-192x192.png +0 -0
  60. /package/framework/{v0.4.0 → v0.4.1}/core/asset/img/android-chrome-512x512.png +0 -0
  61. /package/framework/{v0.4.0 → v0.4.1}/core/asset/img/apple-touch-icon.png +0 -0
  62. /package/framework/{v0.4.0 → v0.4.1}/core/asset/img/favicon-16x16.png +0 -0
  63. /package/framework/{v0.4.0 → v0.4.1}/core/asset/img/favicon-32x32.png +0 -0
  64. /package/framework/{v0.4.0 → v0.4.1}/core/asset/img/favicon.ico +0 -0
  65. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/README.md +0 -0
  66. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
  67. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
  68. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
  69. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
  70. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
  71. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
  72. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
  73. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
  74. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
  75. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
  76. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
  77. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
  78. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
  79. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
  80. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
  81. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
  82. /package/framework/{v0.4.0 → v0.4.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
  83. /package/framework/{v0.4.0 → v0.4.1}/core/config.js +0 -0
  84. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/ai/index.js +0 -0
  85. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/ai/lib/connector.js +0 -0
  86. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/index.js +0 -0
  87. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/connector.js +0 -0
  88. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/connector.v3.js +0 -0
  89. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/connector.v4.js +0 -0
  90. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/n1ql.js +0 -0
  91. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/session-store.js +0 -0
  92. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
  93. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
  94. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/mongodb/index.js +0 -0
  95. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/mongodb/lib/connector.js +0 -0
  96. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
  97. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/mongodb/lib/session-store.js +0 -0
  98. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/mysql/index.js +0 -0
  99. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/mysql/lib/connector.js +0 -0
  100. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/postgresql/index.js +0 -0
  101. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/postgresql/lib/connector.js +0 -0
  102. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/redis/index.js +0 -0
  103. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/redis/lib/session-store.js +0 -0
  104. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/scylladb/index.js +0 -0
  105. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/scylladb/lib/connector.js +0 -0
  106. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/scylladb/lib/session-store.js +0 -0
  107. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/sql-parser.js +0 -0
  108. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/sqlite/index.js +0 -0
  109. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/sqlite/lib/connector.js +0 -0
  110. /package/framework/{v0.4.0 → v0.4.1}/core/connectors/sqlite/lib/session-store.js +0 -0
  111. /package/framework/{v0.4.0 → v0.4.1}/core/content.encoding +0 -0
  112. /package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.framework.js +0 -0
  113. /package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.render-json.js +0 -0
  114. /package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.render-stream.js +0 -0
  115. /package/framework/{v0.4.0 → v0.4.1}/core/controller/controller.render-v1.js +0 -0
  116. /package/framework/{v0.4.0 → v0.4.1}/core/controller/index.js +0 -0
  117. /package/framework/{v0.4.0 → v0.4.1}/core/controller/inspector-window-emit.js +0 -0
  118. /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/LICENSE +0 -0
  119. /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/README.md +0 -0
  120. /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/lib/index.js +0 -0
  121. /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
  122. /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
  123. /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
  124. /package/framework/{v0.4.0 → v0.4.1}/core/deps/busboy-1.6.0/package.json +0 -0
  125. /package/framework/{v0.4.0 → v0.4.1}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
  126. /package/framework/{v0.4.0 → v0.4.1}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
  127. /package/framework/{v0.4.0 → v0.4.1}/core/deps/streamsearch-1.1.0/package.json +0 -0
  128. /package/framework/{v0.4.0 → v0.4.1}/core/dev/index.js +0 -0
  129. /package/framework/{v0.4.0 → v0.4.1}/core/dev/lib/class.js +0 -0
  130. /package/framework/{v0.4.0 → v0.4.1}/core/dev/lib/factory.js +0 -0
  131. /package/framework/{v0.4.0 → v0.4.1}/core/dev/lib/tools.js +0 -0
  132. /package/framework/{v0.4.0 → v0.4.1}/core/gna.js +0 -0
  133. /package/framework/{v0.4.0 → v0.4.1}/core/locales/README.md +0 -0
  134. /package/framework/{v0.4.0 → v0.4.1}/core/locales/currency.json +0 -0
  135. /package/framework/{v0.4.0 → v0.4.1}/core/locales/dist/language/en.json +0 -0
  136. /package/framework/{v0.4.0 → v0.4.1}/core/locales/dist/language/fr.json +0 -0
  137. /package/framework/{v0.4.0 → v0.4.1}/core/locales/dist/region/en.json +0 -0
  138. /package/framework/{v0.4.0 → v0.4.1}/core/locales/dist/region/fr.json +0 -0
  139. /package/framework/{v0.4.0 → v0.4.1}/core/locales/index.js +0 -0
  140. /package/framework/{v0.4.0 → v0.4.1}/core/mime.types +0 -0
  141. /package/framework/{v0.4.0 → v0.4.1}/core/model/entity.js +0 -0
  142. /package/framework/{v0.4.0 → v0.4.1}/core/model/index.js +0 -0
  143. /package/framework/{v0.4.0 → v0.4.1}/core/model/template/entityFactory.js +0 -0
  144. /package/framework/{v0.4.0 → v0.4.1}/core/model/template/index.js +0 -0
  145. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/README.md +0 -0
  146. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/index.js +0 -0
  147. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/csrf/README.md +0 -0
  148. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/csrf/package.json +0 -0
  149. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/csrf/src/main.js +0 -0
  150. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/README.md +0 -0
  151. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/coep/README.md +0 -0
  152. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/coep/package.json +0 -0
  153. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
  154. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/coop/README.md +0 -0
  155. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/coop/package.json +0 -0
  156. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
  157. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/corp/README.md +0 -0
  158. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/corp/package.json +0 -0
  159. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
  160. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/csp/README.md +0 -0
  161. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/csp/package.json +0 -0
  162. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
  163. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
  164. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
  165. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
  166. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/hsts/README.md +0 -0
  167. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/hsts/package.json +0 -0
  168. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
  169. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
  170. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
  171. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
  172. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/package.json +0 -0
  173. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
  174. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
  175. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
  176. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/src/main.js +0 -0
  177. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
  178. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
  179. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
  180. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
  181. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
  182. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
  183. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
  184. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
  185. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
  186. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
  187. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
  188. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
  189. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
  190. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
  191. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
  192. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
  193. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
  194. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
  195. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/session/README.md +0 -0
  196. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/session/package.json +0 -0
  197. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/session/src/main.js +0 -0
  198. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/storage/README.md +0 -0
  199. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/storage/build.json +0 -0
  200. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/storage/package.json +0 -0
  201. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/storage/src/main.js +0 -0
  202. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/validator/README.md +0 -0
  203. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/validator/build.json +0 -0
  204. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/validator/package.json +0 -0
  205. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/validator/src/form-validator.js +0 -0
  206. /package/framework/{v0.4.0 → v0.4.1}/core/plugins/lib/validator/src/main.js +0 -0
  207. /package/framework/{v0.4.0 → v0.4.1}/core/router.js +0 -0
  208. /package/framework/{v0.4.0 → v0.4.1}/core/server.express.js +0 -0
  209. /package/framework/{v0.4.0 → v0.4.1}/core/server.isaac.js +0 -0
  210. /package/framework/{v0.4.0 → v0.4.1}/core/status.codes +0 -0
  211. /package/framework/{v0.4.0 → v0.4.1}/core/template/_gitignore +0 -0
  212. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/app.json +0 -0
  213. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/connectors.json +0 -0
  214. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/routing.json +0 -0
  215. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/settings.json +0 -0
  216. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
  217. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/templates.json +0 -0
  218. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/config/watchers.json +0 -0
  219. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
  220. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
  221. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
  222. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/index.js +0 -0
  223. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle/locales/en.json +0 -0
  224. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
  225. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/css/default.css +0 -0
  226. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/css/home.css +0 -0
  227. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
  228. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
  229. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
  230. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
  231. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/readme.md +0 -0
  232. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_public/sw.js +0 -0
  233. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
  234. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
  235. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
  236. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
  237. /package/framework/{v0.4.0 → v0.4.1}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
  238. /package/framework/{v0.4.0 → v0.4.1}/core/template/command/gina.bat.tpl +0 -0
  239. /package/framework/{v0.4.0 → v0.4.1}/core/template/command/gina.tpl +0 -0
  240. /package/framework/{v0.4.0 → v0.4.1}/core/template/conf/env.json +0 -0
  241. /package/framework/{v0.4.0 → v0.4.1}/core/template/conf/manifest.json +0 -0
  242. /package/framework/{v0.4.0 → v0.4.1}/core/template/conf/package.json +0 -0
  243. /package/framework/{v0.4.0 → v0.4.1}/core/template/conf/settings.json +0 -0
  244. /package/framework/{v0.4.0 → v0.4.1}/core/template/conf/statics.json +0 -0
  245. /package/framework/{v0.4.0 → v0.4.1}/core/template/conf/templates.json +0 -0
  246. /package/framework/{v0.4.0 → v0.4.1}/core/template/error/client/json/401.json +0 -0
  247. /package/framework/{v0.4.0 → v0.4.1}/core/template/error/client/json/403.json +0 -0
  248. /package/framework/{v0.4.0 → v0.4.1}/core/template/error/client/json/404.json +0 -0
  249. /package/framework/{v0.4.0 → v0.4.1}/core/template/error/server/html/50x.html +0 -0
  250. /package/framework/{v0.4.0 → v0.4.1}/core/template/error/server/json/500.json +0 -0
  251. /package/framework/{v0.4.0 → v0.4.1}/core/template/error/server/json/503.json +0 -0
  252. /package/framework/{v0.4.0 → v0.4.1}/core/template/extensions/logger/config.json +0 -0
  253. /package/framework/{v0.4.0 → v0.4.1}/helpers/console.js +0 -0
  254. /package/framework/{v0.4.0 → v0.4.1}/helpers/context.js +0 -0
  255. /package/framework/{v0.4.0 → v0.4.1}/helpers/data/LICENSE +0 -0
  256. /package/framework/{v0.4.0 → v0.4.1}/helpers/data/README.md +0 -0
  257. /package/framework/{v0.4.0 → v0.4.1}/helpers/data/package.json +0 -0
  258. /package/framework/{v0.4.0 → v0.4.1}/helpers/data/src/main.js +0 -0
  259. /package/framework/{v0.4.0 → v0.4.1}/helpers/dateFormat.js +0 -0
  260. /package/framework/{v0.4.0 → v0.4.1}/helpers/index.js +0 -0
  261. /package/framework/{v0.4.0 → v0.4.1}/helpers/json/LICENSE +0 -0
  262. /package/framework/{v0.4.0 → v0.4.1}/helpers/json/README.md +0 -0
  263. /package/framework/{v0.4.0 → v0.4.1}/helpers/json/package.json +0 -0
  264. /package/framework/{v0.4.0 → v0.4.1}/helpers/json/src/main.js +0 -0
  265. /package/framework/{v0.4.0 → v0.4.1}/helpers/path.js +0 -0
  266. /package/framework/{v0.4.0 → v0.4.1}/helpers/plugins/README.md +0 -0
  267. /package/framework/{v0.4.0 → v0.4.1}/helpers/plugins/package.json +0 -0
  268. /package/framework/{v0.4.0 → v0.4.1}/helpers/plugins/src/api-error.js +0 -0
  269. /package/framework/{v0.4.0 → v0.4.1}/helpers/plugins/src/main.js +0 -0
  270. /package/framework/{v0.4.0 → v0.4.1}/helpers/prototypes.js +0 -0
  271. /package/framework/{v0.4.0 → v0.4.1}/helpers/task.js +0 -0
  272. /package/framework/{v0.4.0 → v0.4.1}/helpers/text.js +0 -0
  273. /package/framework/{v0.4.0 → v0.4.1}/lib/archiver/README.md +0 -0
  274. /package/framework/{v0.4.0 → v0.4.1}/lib/archiver/build.json +0 -0
  275. /package/framework/{v0.4.0 → v0.4.1}/lib/archiver/package.json +0 -0
  276. /package/framework/{v0.4.0 → v0.4.1}/lib/archiver/src/dep/jszip.min.js +0 -0
  277. /package/framework/{v0.4.0 → v0.4.1}/lib/archiver/src/main.js +0 -0
  278. /package/framework/{v0.4.0 → v0.4.1}/lib/async/package.json +0 -0
  279. /package/framework/{v0.4.0 → v0.4.1}/lib/async/src/main.js +0 -0
  280. /package/framework/{v0.4.0 → v0.4.1}/lib/cache/README.md +0 -0
  281. /package/framework/{v0.4.0 → v0.4.1}/lib/cache/build.json +0 -0
  282. /package/framework/{v0.4.0 → v0.4.1}/lib/cache/package.json +0 -0
  283. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/aliases.json +0 -0
  284. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/build.js +0 -0
  285. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/cp.js +0 -0
  286. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/help.js +0 -0
  287. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/mcp-start.js +0 -0
  288. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/mcp.js +0 -0
  289. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/oas.js +0 -0
  290. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/openapi.js +0 -0
  291. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/restart.js +0 -0
  292. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/rm.js +0 -0
  293. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/start.js +0 -0
  294. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/bundle/stop.js +0 -0
  295. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/cache/stats.js +0 -0
  296. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/add.js +0 -0
  297. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/arguments.json +0 -0
  298. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/help.js +0 -0
  299. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/help.txt +0 -0
  300. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/migrate.js +0 -0
  301. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/remove.js +0 -0
  302. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/connector/rm.js +0 -0
  303. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/add.js +0 -0
  304. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/get.js +0 -0
  305. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/help.js +0 -0
  306. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/help.txt +0 -0
  307. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/link-dev.js +0 -0
  308. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/list.js +0 -0
  309. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/remove.js +0 -0
  310. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/rm.js +0 -0
  311. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/set.js +0 -0
  312. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/unset.js +0 -0
  313. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/env/use.js +0 -0
  314. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/arguments.json +0 -0
  315. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/build.js +0 -0
  316. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/dot.js +0 -0
  317. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/get.js +0 -0
  318. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/help.js +0 -0
  319. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/help.txt +0 -0
  320. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/init.js +0 -0
  321. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/link-node-modules.js +0 -0
  322. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/link.js +0 -0
  323. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/msg.json +0 -0
  324. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/open.js +0 -0
  325. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/restart.js +0 -0
  326. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/set.js +0 -0
  327. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/start.js +0 -0
  328. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/status.js +0 -0
  329. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/stop.js +0 -0
  330. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/tail.js +0 -0
  331. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/update.js +0 -0
  332. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/framework/version.js +0 -0
  333. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/gina-dev.1.md +0 -0
  334. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/gina-framework.1.md +0 -0
  335. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/gina.1.md +0 -0
  336. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/add.js +0 -0
  337. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/arguments.json +0 -0
  338. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/export.js +0 -0
  339. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/help.js +0 -0
  340. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/help.txt +0 -0
  341. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/import.js +0 -0
  342. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/i18n/scan.js +0 -0
  343. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/index.js +0 -0
  344. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/inspector/help.js +0 -0
  345. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/inspector/help.txt +0 -0
  346. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/inspector/open.js +0 -0
  347. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/minion/help.js +0 -0
  348. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/msg.json +0 -0
  349. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/port/help.js +0 -0
  350. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/port/help.txt +0 -0
  351. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/port/inc/scan.js +0 -0
  352. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/port/list.js +0 -0
  353. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/port/reset.js +0 -0
  354. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/add.js +0 -0
  355. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/arguments.json +0 -0
  356. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/build.js +0 -0
  357. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/help.js +0 -0
  358. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/import.js +0 -0
  359. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/list.js +0 -0
  360. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/move.js +0 -0
  361. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/rename.js +0 -0
  362. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/restart.js +0 -0
  363. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/rm.js +0 -0
  364. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/start.js +0 -0
  365. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/project/stop.js +0 -0
  366. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/protocol/help.js +0 -0
  367. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/protocol/list.js +0 -0
  368. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/add.js +0 -0
  369. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/help.js +0 -0
  370. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/help.txt +0 -0
  371. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/link-local.js +0 -0
  372. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/link-production.js +0 -0
  373. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/list.js +0 -0
  374. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/remove.js +0 -0
  375. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/rm.js +0 -0
  376. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/scope/use.js +0 -0
  377. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/secrets/arguments.json +0 -0
  378. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/secrets/check.js +0 -0
  379. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/secrets/help.js +0 -0
  380. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/secrets/help.txt +0 -0
  381. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/secrets/scan.js +0 -0
  382. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/service/help.js +0 -0
  383. /package/framework/{v0.4.0 → v0.4.1}/lib/cmd/service/help.txt +0 -0
  384. /package/framework/{v0.4.0 → v0.4.1}/lib/collection/README.md +0 -0
  385. /package/framework/{v0.4.0 → v0.4.1}/lib/collection/build.json +0 -0
  386. /package/framework/{v0.4.0 → v0.4.1}/lib/collection/package.json +0 -0
  387. /package/framework/{v0.4.0 → v0.4.1}/lib/config.js +0 -0
  388. /package/framework/{v0.4.0 → v0.4.1}/lib/connector-registry/package.json +0 -0
  389. /package/framework/{v0.4.0 → v0.4.1}/lib/connector-registry/src/main.js +0 -0
  390. /package/framework/{v0.4.0 → v0.4.1}/lib/cron/README.md +0 -0
  391. /package/framework/{v0.4.0 → v0.4.1}/lib/cron/package.json +0 -0
  392. /package/framework/{v0.4.0 → v0.4.1}/lib/cron/src/main.js +0 -0
  393. /package/framework/{v0.4.0 → v0.4.1}/lib/domain/LICENSE +0 -0
  394. /package/framework/{v0.4.0 → v0.4.1}/lib/domain/README.md +0 -0
  395. /package/framework/{v0.4.0 → v0.4.1}/lib/domain/package.json +0 -0
  396. /package/framework/{v0.4.0 → v0.4.1}/lib/domain/src/main.js +0 -0
  397. /package/framework/{v0.4.0 → v0.4.1}/lib/generator/index.js +0 -0
  398. /package/framework/{v0.4.0 → v0.4.1}/lib/i18n/package.json +0 -0
  399. /package/framework/{v0.4.0 → v0.4.1}/lib/i18n/src/main.js +0 -0
  400. /package/framework/{v0.4.0 → v0.4.1}/lib/inherits/LICENSE +0 -0
  401. /package/framework/{v0.4.0 → v0.4.1}/lib/inherits/README.md +0 -0
  402. /package/framework/{v0.4.0 → v0.4.1}/lib/inherits/package.json +0 -0
  403. /package/framework/{v0.4.0 → v0.4.1}/lib/inherits/src/main.js +0 -0
  404. /package/framework/{v0.4.0 → v0.4.1}/lib/inspector-redact/package.json +0 -0
  405. /package/framework/{v0.4.0 → v0.4.1}/lib/inspector-redact/src/main.js +0 -0
  406. /package/framework/{v0.4.0 → v0.4.1}/lib/instrument/package.json +0 -0
  407. /package/framework/{v0.4.0 → v0.4.1}/lib/instrument/src/main.js +0 -0
  408. /package/framework/{v0.4.0 → v0.4.1}/lib/job/package.json +0 -0
  409. /package/framework/{v0.4.0 → v0.4.1}/lib/job/src/main.js +0 -0
  410. /package/framework/{v0.4.0 → v0.4.1}/lib/logger/README.md +0 -0
  411. /package/framework/{v0.4.0 → v0.4.1}/lib/logger/package.json +0 -0
  412. /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/default/index.js +0 -0
  413. /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/file/index.js +0 -0
  414. /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
  415. /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
  416. /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/mq/index.js +0 -0
  417. /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/mq/listener.js +0 -0
  418. /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/containers/mq/speaker.js +0 -0
  419. /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/helper.js +0 -0
  420. /package/framework/{v0.4.0 → v0.4.1}/lib/logger/src/main.js +0 -0
  421. /package/framework/{v0.4.0 → v0.4.1}/lib/math/index.js +0 -0
  422. /package/framework/{v0.4.0 → v0.4.1}/lib/mcp-dispatch/package.json +0 -0
  423. /package/framework/{v0.4.0 → v0.4.1}/lib/mcp-dispatch/src/main.js +0 -0
  424. /package/framework/{v0.4.0 → v0.4.1}/lib/mcp-http/package.json +0 -0
  425. /package/framework/{v0.4.0 → v0.4.1}/lib/mcp-http/src/main.js +0 -0
  426. /package/framework/{v0.4.0 → v0.4.1}/lib/mcp-server/package.json +0 -0
  427. /package/framework/{v0.4.0 → v0.4.1}/lib/mcp-server/src/main.js +0 -0
  428. /package/framework/{v0.4.0 → v0.4.1}/lib/merge/README.md +0 -0
  429. /package/framework/{v0.4.0 → v0.4.1}/lib/merge/package.json +0 -0
  430. /package/framework/{v0.4.0 → v0.4.1}/lib/merge/src/main.js +0 -0
  431. /package/framework/{v0.4.0 → v0.4.1}/lib/metrics/package.json +0 -0
  432. /package/framework/{v0.4.0 → v0.4.1}/lib/metrics/src/main.js +0 -0
  433. /package/framework/{v0.4.0 → v0.4.1}/lib/model.js +0 -0
  434. /package/framework/{v0.4.0 → v0.4.1}/lib/nunjucks-filters/README.md +0 -0
  435. /package/framework/{v0.4.0 → v0.4.1}/lib/nunjucks-filters/package.json +0 -0
  436. /package/framework/{v0.4.0 → v0.4.1}/lib/nunjucks-filters/src/main.js +0 -0
  437. /package/framework/{v0.4.0 → v0.4.1}/lib/nunjucks-resolver/package.json +0 -0
  438. /package/framework/{v0.4.0 → v0.4.1}/lib/nunjucks-resolver/src/main.js +0 -0
  439. /package/framework/{v0.4.0 → v0.4.1}/lib/proc.js +0 -0
  440. /package/framework/{v0.4.0 → v0.4.1}/lib/routing/README.md +0 -0
  441. /package/framework/{v0.4.0 → v0.4.1}/lib/routing/build.json +0 -0
  442. /package/framework/{v0.4.0 → v0.4.1}/lib/routing/package.json +0 -0
  443. /package/framework/{v0.4.0 → v0.4.1}/lib/routing/src/main.js +0 -0
  444. /package/framework/{v0.4.0 → v0.4.1}/lib/routing/src/radix.js +0 -0
  445. /package/framework/{v0.4.0 → v0.4.1}/lib/routing-introspect/package.json +0 -0
  446. /package/framework/{v0.4.0 → v0.4.1}/lib/routing-introspect/src/main.js +0 -0
  447. /package/framework/{v0.4.0 → v0.4.1}/lib/secrets/package.json +0 -0
  448. /package/framework/{v0.4.0 → v0.4.1}/lib/secrets/src/backends/env.js +0 -0
  449. /package/framework/{v0.4.0 → v0.4.1}/lib/secrets/src/main.js +0 -0
  450. /package/framework/{v0.4.0 → v0.4.1}/lib/session-store.js +0 -0
  451. /package/framework/{v0.4.0 → v0.4.1}/lib/shell.js +0 -0
  452. /package/framework/{v0.4.0 → v0.4.1}/lib/state.js +0 -0
  453. /package/framework/{v0.4.0 → v0.4.1}/lib/swig-filters/README.md +0 -0
  454. /package/framework/{v0.4.0 → v0.4.1}/lib/swig-filters/package.json +0 -0
  455. /package/framework/{v0.4.0 → v0.4.1}/lib/swig-filters/src/main.js +0 -0
  456. /package/framework/{v0.4.0 → v0.4.1}/lib/swig-resolver/package.json +0 -0
  457. /package/framework/{v0.4.0 → v0.4.1}/lib/swig-resolver/src/main.js +0 -0
  458. /package/framework/{v0.4.0 → v0.4.1}/lib/url/README.md +0 -0
  459. /package/framework/{v0.4.0 → v0.4.1}/lib/url/index.js +0 -0
  460. /package/framework/{v0.4.0 → v0.4.1}/lib/url/routing.json +0 -0
  461. /package/framework/{v0.4.0 → v0.4.1}/lib/uuid/package.json +0 -0
  462. /package/framework/{v0.4.0 → v0.4.1}/lib/uuid/src/main.js +0 -0
  463. /package/framework/{v0.4.0 → v0.4.1}/lib/validator.js +0 -0
  464. /package/framework/{v0.4.0 → v0.4.1}/lib/watcher/package.json +0 -0
  465. /package/framework/{v0.4.0 → v0.4.1}/lib/watcher/src/main.js +0 -0
@@ -1,5 +1,6 @@
1
1
  var fs = require('fs');
2
2
  var console = lib.logger;
3
+ var fmt = lib.cmdStatusFormat;
3
4
 
4
5
  var CmdHelper = require('./../helper');
5
6
 
@@ -131,90 +132,6 @@ function List(opt, cmd) {
131
132
  }
132
133
 
133
134
 
134
- /**
135
- * Right-pads `s` with spaces to reach `width`. Used to align the port
136
- * column after the bundle name.
137
- *
138
- * @inner
139
- * @private
140
- * @param {string} s
141
- * @param {number} width
142
- * @returns {string}
143
- */
144
- var pad = function(s, width) {
145
- var out = String(s || '');
146
- while (out.length < width) {
147
- out += ' ';
148
- }
149
- return out;
150
- }
151
-
152
-
153
- /**
154
- * Picks the "preferred" port to display for a bundle: dev env, http/2.0
155
- * https first, falling back to http/1.1 https, then http/1.1 http.
156
- * Returns null when no port is allocated.
157
- *
158
- * @inner
159
- * @private
160
- * @param {object|null} ports - Port record from ports.reverse.json
161
- * @returns {{env: string, scheme: string, protocol: string, port: number}|null}
162
- */
163
- var pickPreferredPort = function(ports) {
164
- if (!ports) return null;
165
- var envKey = ports.dev ? 'dev' : Object.keys(ports)[0];
166
- if (!envKey) return null;
167
- var env = ports[envKey];
168
- if (!env) return null;
169
-
170
- if (env['http/2.0'] && env['http/2.0'].https) {
171
- return { env: envKey, scheme: 'http/2.0', protocol: 'https', port: env['http/2.0'].https };
172
- }
173
- if (env['http/1.1'] && env['http/1.1'].https) {
174
- return { env: envKey, scheme: 'http/1.1', protocol: 'https', port: env['http/1.1'].https };
175
- }
176
- if (env['http/1.1'] && env['http/1.1'].http) {
177
- return { env: envKey, scheme: 'http/1.1', protocol: 'http', port: env['http/1.1'].http };
178
- }
179
- return null;
180
- }
181
-
182
-
183
- /**
184
- * Reads `~/.gina/run/<bundle>@<project>.pid` and probes the pid with
185
- * `process.kill(pid, 0)`. Returns `running: false` on a stale pidfile
186
- * but does not delete it — clean-up stays with bundle:stop.
187
- *
188
- * @inner
189
- * @private
190
- * @param {string} bundleName
191
- * @param {string} projectName
192
- * @returns {{running: boolean, pid: number|null}}
193
- */
194
- var readPidfile = function(bundleName, projectName) {
195
- var pidPath = _(GINA_HOMEDIR + '/run/' + bundleName + '@' + projectName + '.pid');
196
- if ( !fs.existsSync(pidPath) ) {
197
- return { running: false, pid: null };
198
- }
199
- var raw;
200
- try {
201
- raw = fs.readFileSync(pidPath, 'utf8').trim();
202
- } catch (e) {
203
- return { running: false, pid: null };
204
- }
205
- var pid = parseInt(raw, 10);
206
- if ( isNaN(pid) || pid <= 0 ) {
207
- return { running: false, pid: null };
208
- }
209
- try {
210
- process.kill(pid, 0);
211
- return { running: true, pid: pid };
212
- } catch (e) {
213
- return { running: false, pid: null };
214
- }
215
- }
216
-
217
-
218
135
  /**
219
136
  * Lists bundles for every registered project.
220
137
  *
@@ -256,7 +173,7 @@ function List(opt, cmd) {
256
173
  for (b in bundles) {
257
174
  let jsonBundle = {bundle: b, project: list[p]}
258
175
  var ports = (self.portsReverseData || {})[b + '@' + list[p]] || null;
259
- var preferred = pickPreferredPort(ports);
176
+ var preferred = fmt.pickPreferredPort(ports);
260
177
  var portLabel = preferred
261
178
  ? preferred.scheme + ' ' + preferred.env + ' ' + preferred.protocol + ' ' + preferred.port
262
179
  : '(no port)';
@@ -269,8 +186,8 @@ function List(opt, cmd) {
269
186
  jsonBundle.status = '?!'
270
187
  }
271
188
  jsonBundle.ports = ports;
272
- str += prefix + pad(b, 16) + ' ' + portLabel;
273
- var runState = readPidfile(b, list[p]);
189
+ str += prefix + fmt.pad(b, 16) + ' ' + portLabel;
190
+ var runState = fmt.readPidfile(GINA_HOMEDIR + '/run', b, list[p]);
274
191
  jsonBundle.running = runState.running;
275
192
  jsonBundle.pid = runState.pid;
276
193
  str += runState.running
@@ -319,7 +236,7 @@ function List(opt, cmd) {
319
236
  for (b in bundles) {
320
237
  let jsonBundle = {bundle: b, project: self.projectName}
321
238
  var ports = (self.portsReverseData || {})[b + '@' + self.projectName] || null;
322
- var preferred = pickPreferredPort(ports);
239
+ var preferred = fmt.pickPreferredPort(ports);
323
240
  var portLabel = preferred
324
241
  ? preferred.scheme + ' ' + preferred.env + ' ' + preferred.protocol + ' ' + preferred.port
325
242
  : '(no port)';
@@ -332,8 +249,8 @@ function List(opt, cmd) {
332
249
  jsonBundle.status = '?!'
333
250
  }
334
251
  jsonBundle.ports = ports;
335
- str += prefix + pad(b, 16) + ' ' + portLabel;
336
- var runState = readPidfile(b, self.projectName);
252
+ str += prefix + fmt.pad(b, 16) + ' ' + portLabel;
253
+ var runState = fmt.readPidfile(GINA_HOMEDIR + '/run', b, self.projectName);
337
254
  jsonBundle.running = runState.running;
338
255
  jsonBundle.pid = runState.pid;
339
256
  str += runState.running
@@ -114,6 +114,17 @@ function Remove(opt, cmd) {
114
114
  */
115
115
  var check = function() {
116
116
 
117
+ // Non-interactive guard: the module-scope readline closes on stdin EOF
118
+ // when there is no TTY (container, CI, piped/detached stdin), so the
119
+ // rl.prompt() below would throw ERR_USE_AFTER_CLOSE. Fail fast instead.
120
+ if ( !process.stdin.isTTY || rl.closed ) {
121
+ console.error(
122
+ 'Bundle [ '+ local.bundle +'@'+ self.projectName +' ] removal needs a confirmation that cannot be read: stdin is not interactive (no TTY).\n'
123
+ + 'Re-run with --force to remove the bundle and its files non-interactively:\n'
124
+ + ' gina bundle:remove '+ local.bundle +' @'+ self.projectName +' --force'
125
+ );
126
+ return process.exit(1);
127
+ }
117
128
 
118
129
  rl.setPrompt('['+ local.bundle +'@'+ self.projectName +'] Also remove bundle files ? (Y/n):\n');
119
130
 
@@ -0,0 +1,506 @@
1
+ var fs = require('fs');
2
+ var console = lib.logger;
3
+
4
+ var CmdHelper = require('./../helper');
5
+ var nameRewrite = require('./inc/name-rewrite');
6
+
7
+ /**
8
+ * @module gina/lib/cmd/bundle/rename
9
+ */
10
+ /**
11
+ * Renames a bundle IN PLACE within the SAME project.
12
+ *
13
+ * Moves the source tree `src/<old>` → `src/<new>` (atomic `fs.renameSync`),
14
+ * rewrites the bundle-name footprint in the moved `.js`/`.json` files, and
15
+ * rekeys every registry surface to the new name **preserving the existing port
16
+ * numbers**: the project `manifest.json` (`bundles[<old>]` → `bundles[<new>]`,
17
+ * repointing `src`/`link`/`releases`), `env.json`, `~/.gina/ports.json` (the
18
+ * `"<old>@<project>/<env>"` values), and `~/.gina/ports.reverse.json` (the
19
+ * `"<old>@<project>"` key). The stale `bundles/<old>` mount symlink is removed
20
+ * (it is recreated under the new name on next start).
21
+ *
22
+ * Unlike `bundle:copy`, the name rewrite does NOT touch a first-bundle webroot
23
+ * of `"/"` (rename moves the only bundle — there is no collision), though it
24
+ * still rewrites a name-derived `"/<old>"` webroot via the lowercase pass.
25
+ *
26
+ * The bundle must be STOPPED — renaming a running bundle would strand its
27
+ * process (the pidfile + `ps` title still say `<old>` while `<old>` is gone).
28
+ * It refuses if the source bundle is running.
29
+ *
30
+ * Multi-surface in-place mutation is snapshot-guarded (the `bundle:add` rollback
31
+ * model): on any failure after the directory move, the move is reversed and the
32
+ * `env.json` / `manifest.json` / `ports.json` / `ports.reverse.json` files are
33
+ * restored from in-memory snapshots.
34
+ *
35
+ * Bundle-scoped, same-project: `gina bundle:rename <old> <new> @<project>`.
36
+ *
37
+ * Usage:
38
+ * gina bundle:rename <old> <new> @<project>
39
+ * gina bundle:rename <old> <new> @<project> --dry-run
40
+ * gina bundle:rename <old> <new> @<project> --dry-run --format=json
41
+ * gina bundle:rename <old> <new> @<project> --force // overwrite an existing target
42
+ *
43
+ * @class Rename
44
+ * @constructor
45
+ * @param {object} opt - Parsed command-line options
46
+ * @param {object} opt.client - Socket client for terminal output
47
+ * @param {string[]} opt.argv - Full argv array
48
+ * @param {number} [opt.debugPort] - Node.js inspector port
49
+ * @param {boolean} [opt.debugBrkEnabled] - True when --inspect-brk is active
50
+ * @param {object} cmd - The cmd dispatcher object (lib/cmd/index.js)
51
+ *
52
+ * @example
53
+ * // rename bundle `api` to `web` inside project `myproject`
54
+ * $ gina bundle:rename api web @myproject
55
+ * Bundle [ api@myproject ] renamed to [ web@myproject ].
56
+ *
57
+ * @example
58
+ * // preview only, machine-readable
59
+ * $ gina bundle:rename api web @myproject --dry-run --format=json
60
+ * {"source":"api","dest":"web","project":"myproject","dryRun":true,"overwrite":false,"rewriteSites":[{"file":"index.js","occurrences":9}]}
61
+ */
62
+ function Rename(opt, cmd) {
63
+ var self = {};
64
+ var local = { source: null, dest: null, srcDir: null, destDir: null, dirMoved: false, snapshot: null };
65
+
66
+ /**
67
+ * Wires CmdHelper, parses the two positionals (old + new name), validates
68
+ * the project, then runs the rename.
69
+ *
70
+ * @inner
71
+ * @private
72
+ */
73
+ var init = function() {
74
+
75
+ new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
76
+ if (!isCmdConfigured()) return false;
77
+
78
+ // bundle:rename takes TWO positionals (old + new). CmdHelper only sets
79
+ // self.name for a SINGLE positional, so read self.bundles directly.
80
+ var bundles = self.bundles || [];
81
+ if ( bundles.length !== 2 ) {
82
+ console.error('bundle:rename requires an old AND a new name: gina bundle:rename <old> <new> @<project>');
83
+ process.exit(1);
84
+ return;
85
+ }
86
+ local.source = bundles[0];
87
+ local.dest = bundles[1];
88
+
89
+ if ( self.projectName == null || typeof(self.projects[self.projectName]) == 'undefined' ) {
90
+ console.error('[ '+ self.projectName +' ] is not a registered project.');
91
+ process.exit(1);
92
+ return;
93
+ }
94
+
95
+ loadAssets();
96
+
97
+ run();
98
+ }
99
+
100
+
101
+ /**
102
+ * Recursively collects every file path under `dir`.
103
+ *
104
+ * @inner
105
+ * @private
106
+ * @param {string} dir
107
+ * @param {string[]} [acc]
108
+ * @returns {string[]}
109
+ */
110
+ var walkFiles = function(dir, acc) {
111
+ acc = acc || [];
112
+ var entries = [];
113
+ try { entries = fs.readdirSync(dir); } catch (e) { return acc; }
114
+ for (var i = 0; i < entries.length; i++) {
115
+ var full = dir + '/' + entries[i];
116
+ var st;
117
+ try { st = fs.statSync(full); } catch (e) { continue; }
118
+ if ( st.isDirectory() ) {
119
+ walkFiles(full, acc);
120
+ } else {
121
+ acc.push(full);
122
+ }
123
+ }
124
+ return acc;
125
+ }
126
+
127
+
128
+ /**
129
+ * Applies the name rewrite to every `.js`/`.json` file in the moved tree.
130
+ * `fixWebroot` is OFF — rename never repoints a first-bundle `"/"` webroot.
131
+ *
132
+ * @inner
133
+ * @private
134
+ * @param {string} dir - Absolute path of the moved bundle tree
135
+ * @param {string} source
136
+ * @param {string} dest
137
+ * @returns {string[]} Absolute paths of the files actually rewritten
138
+ */
139
+ var rewriteTree = function(dir, source, dest) {
140
+ var files = walkFiles(dir)
141
+ , touched = [];
142
+ for (var i = 0; i < files.length; i++) {
143
+ var f = files[i];
144
+ if ( !/\.(js|json)$/i.test(f) ) continue;
145
+ var content;
146
+ try { content = fs.readFileSync(f, 'utf8'); } catch (e) { continue; }
147
+ var updated = nameRewrite.renameContent(content, source, dest, { fixWebroot: false });
148
+ if ( updated !== content ) {
149
+ lib.generator.createFileFromDataSync(updated, f);
150
+ touched.push(f);
151
+ }
152
+ }
153
+ return touched;
154
+ }
155
+
156
+
157
+ /**
158
+ * Previews the rewrite without writing: scans the SOURCE tree's `.js`/`.json`
159
+ * files and reports, per file, how many name occurrences would be rewritten.
160
+ *
161
+ * @inner
162
+ * @private
163
+ * @param {string} srcPath
164
+ * @param {string} source
165
+ * @returns {Array<{file: string, occurrences: number}>}
166
+ */
167
+ var previewRewrite = function(srcPath, source) {
168
+ var files = walkFiles(srcPath)
169
+ , sites = [];
170
+ for (var i = 0; i < files.length; i++) {
171
+ var f = files[i];
172
+ if ( !/\.(js|json)$/i.test(f) ) continue;
173
+ var content;
174
+ try { content = fs.readFileSync(f, 'utf8'); } catch (e) { continue; }
175
+ var n = nameRewrite.countOccurrences(content, source);
176
+ if ( n > 0 ) {
177
+ sites.push({ file: f.replace(srcPath, '').replace(/^\//, ''), occurrences: n });
178
+ }
179
+ }
180
+ return sites;
181
+ }
182
+
183
+
184
+ /**
185
+ * Removes a pre-existing destination bundle (used on `--force`): deletes its
186
+ * source tree + mount symlink, and its `env.json` / `manifest.json` /
187
+ * `ports.json` / `ports.reverse.json` entries — mirrors bundle/remove.js.
188
+ * Reloads assets afterwards so the rename sees the cleaned state.
189
+ *
190
+ * @inner
191
+ * @private
192
+ * @param {string} name
193
+ */
194
+ var removeDest = function(name) {
195
+ var project = self.projectName;
196
+
197
+ try {
198
+ var entry = (self.projectData && self.projectData.bundles) ? self.projectData.bundles[name] : null;
199
+ if ( entry && entry.src ) {
200
+ var folder = new _(self.projects[project].path + '/' + entry.src, true);
201
+ if ( folder.isValidPath() ) folder.rmSync();
202
+ }
203
+ var coreEnv = getCoreEnv(name);
204
+ new _(coreEnv.mountPath + '/' + name, true).rmSync();
205
+ } catch (e) { /* best effort */ }
206
+
207
+ if ( self.envData && typeof(self.envData[name]) != 'undefined' ) {
208
+ delete self.envData[name];
209
+ lib.generator.createFileFromDataSync(self.envData, self.envPath);
210
+ }
211
+ if ( self.projectData && self.projectData.bundles && typeof(self.projectData.bundles[name]) != 'undefined' ) {
212
+ delete self.projectData.bundles[name];
213
+ lib.generator.createFileFromDataSync(self.projectData, self.projectManifestPath);
214
+ }
215
+ var ports = JSON.clone(self.portsData)
216
+ , portsReverse = JSON.clone(self.portsReverseData);
217
+ for (var protocol in ports) {
218
+ for (var scheme in ports[protocol]) {
219
+ for (var port in ports[protocol][scheme]) {
220
+ var v = ports[protocol][scheme][port];
221
+ if ( typeof(v) == 'string' && v.indexOf(name + '@' + project + '/') === 0 ) {
222
+ delete ports[protocol][scheme][port];
223
+ }
224
+ }
225
+ }
226
+ }
227
+ if ( typeof(portsReverse[name + '@' + project]) != 'undefined' ) {
228
+ delete portsReverse[name + '@' + project];
229
+ }
230
+ lib.generator.createFileFromDataSync(ports, self.portsPath);
231
+ lib.generator.createFileFromDataSync(portsReverse, self.portsReversePath);
232
+
233
+ loadAssets();
234
+ }
235
+
236
+
237
+ /**
238
+ * Rebuilds an object renaming `oldKey` → `newKey` in place (preserving the
239
+ * insertion order of every other key, for a clean config diff).
240
+ *
241
+ * @inner
242
+ * @private
243
+ * @param {object} obj
244
+ * @param {string} oldKey
245
+ * @param {string} newKey
246
+ * @param {*} newValue - The value to store under newKey
247
+ * @returns {object}
248
+ */
249
+ var rekeyInPlace = function(obj, oldKey, newKey, newValue) {
250
+ var out = {};
251
+ for (var k in obj) {
252
+ if ( k === oldKey ) {
253
+ out[newKey] = newValue;
254
+ } else {
255
+ out[k] = obj[k];
256
+ }
257
+ }
258
+ return out;
259
+ }
260
+
261
+
262
+ /**
263
+ * Restores the pre-rename state after a failure: reverses the directory move
264
+ * (if it happened) and restores the four config files from snapshots.
265
+ *
266
+ * @inner
267
+ * @private
268
+ * @param {Error} err
269
+ */
270
+ var rollback = function(err) {
271
+ console.error('could not complete bundle rename: ' + (err && (err.stack || err.message) || err));
272
+ console.warn('rolling back...');
273
+ if ( local.dirMoved ) {
274
+ try { new _(local.destDir).renameSync(local.srcDir); } catch (e) { /* leave as-is */ }
275
+ }
276
+ if ( local.snapshot ) {
277
+ try { lib.generator.createFileFromDataSync(local.snapshot.env, self.envPath); } catch (e) {}
278
+ try { lib.generator.createFileFromDataSync(local.snapshot.manifest, self.projectManifestPath); } catch (e) {}
279
+ try { lib.generator.createFileFromDataSync(local.snapshot.ports, self.portsPath); } catch (e) {}
280
+ try { lib.generator.createFileFromDataSync(local.snapshot.portsReverse, self.portsReversePath); } catch (e) {}
281
+ }
282
+ process.exit(1);
283
+ }
284
+
285
+
286
+ /**
287
+ * Prints the rename result (or dry-run preview) as text, or a
288
+ * `{ source, dest, project, dryRun, overwrite, rewriteSites }` envelope with
289
+ * `--format=json`, then exits.
290
+ *
291
+ * @inner
292
+ * @private
293
+ * @param {boolean} dryRun
294
+ * @param {string|null} format
295
+ * @param {string} source
296
+ * @param {string} dest
297
+ * @param {string} project
298
+ * @param {string} srcPath
299
+ * @param {boolean} overwrite
300
+ * @param {Array} rewriteSites - preview {file,occurrences}[] (dry-run) or touched paths[] (success)
301
+ */
302
+ var report = function(dryRun, format, source, dest, project, srcPath, overwrite, rewriteSites) {
303
+
304
+ if ( /^json?/.test(format || '') ) {
305
+ var sites = (rewriteSites || []).map(function(s) {
306
+ return (typeof s === 'string')
307
+ ? { file: s.replace(local.destDir, '').replace(/^\//, '') }
308
+ : s;
309
+ });
310
+ process.stdout.write(JSON.stringify({
311
+ source : source,
312
+ dest : dest,
313
+ project : project,
314
+ dryRun : dryRun,
315
+ overwrite : !!overwrite,
316
+ rewriteSites : sites
317
+ }));
318
+ return process.exit(0);
319
+ }
320
+
321
+ if ( dryRun ) {
322
+ console.log('[ dry-run ] would rename bundle [ '+ source +'@'+ project +' ] → [ '+ dest +'@'+ project +' ] (no changes written).');
323
+ console.log(' source : '+ srcPath + (overwrite ? ' (target EXISTS — would be overwritten)' : ''));
324
+ if ( rewriteSites.length > 0 ) {
325
+ console.log(' rename : `'+ source +'`/`'+ nameRewrite.capitalize(source) +'` → `'+ dest +'`/`'+ nameRewrite.capitalize(dest) +'` in '+ rewriteSites.length +' .js/.json file(s):');
326
+ for (var i = 0; i < rewriteSites.length; i++) {
327
+ var occ = rewriteSites[i].occurrences;
328
+ console.log(' - '+ rewriteSites[i].file +' ('+ occ +' occurrence'+ (occ === 1 ? '' : 's') +')');
329
+ }
330
+ } else {
331
+ console.log(' rename : no .js/.json occurrences of `'+ source +'` found.');
332
+ }
333
+ console.log(' ports : the existing port matrix is rekeyed (numbers preserved), not reallocated.');
334
+ return process.exit(0);
335
+ }
336
+
337
+ console.log('Bundle [ '+ source +'@'+ project +' ] renamed to [ '+ dest +'@'+ project +' ].');
338
+ var touched = (rewriteSites && rewriteSites.length) || 0;
339
+ if ( touched > 0 ) {
340
+ console.log(' rewrote the bundle name in '+ touched +' file(s).');
341
+ }
342
+ console.log(' rekeyed manifest.json, env.json and the ports registry (port numbers preserved).');
343
+ console.log('You can now start it: gina bundle:start '+ dest +' @'+ project);
344
+ process.exit(0);
345
+ }
346
+
347
+
348
+ /**
349
+ * Validates the old/new names, refuses if the source bundle is running, then
350
+ * (unless `--dry-run`) moves the directory, rewrites the name footprint, and
351
+ * rekeys every registry surface — all snapshot-guarded for rollback.
352
+ *
353
+ * @inner
354
+ * @private
355
+ */
356
+ var run = function() {
357
+ var p = self.params || {};
358
+ var dryRun = !!p['dry-run'];
359
+ var force = !!p['force'];
360
+ var format = p['format'] || null;
361
+
362
+ var source = local.source;
363
+ var dest = local.dest;
364
+ var project = self.projectName;
365
+
366
+ if ( source === dest ) {
367
+ console.error('Old and new names are identical (`'+ source +'`). Choose a different new name.');
368
+ process.exit(1);
369
+ return;
370
+ }
371
+ if ( !isValidName(dest) ) {
372
+ console.error('[ '+ dest +' ] is not a valid bundle name.');
373
+ process.exit(1);
374
+ return;
375
+ }
376
+
377
+ // source must exist (registered + on disk)
378
+ var srcEntry = (self.bundlesByProject && self.bundlesByProject[project])
379
+ ? self.bundlesByProject[project][source]
380
+ : null;
381
+ if ( !srcEntry ) {
382
+ console.error('Source bundle [ '+ source +' ] is not registered inside `@'+ project +'`.');
383
+ process.exit(1);
384
+ return;
385
+ }
386
+ local.srcDir = self.projects[project].path + '/' + srcEntry.src;
387
+ local.destDir = self.projects[project].path + '/src/' + dest;
388
+ var srcPath = _(local.srcDir, true);
389
+ if ( !fs.existsSync(srcPath) ) {
390
+ console.error('Source bundle directory `'+ srcPath +'` does not exist.');
391
+ process.exit(1);
392
+ return;
393
+ }
394
+
395
+ // destination must not already exist (unless --force)
396
+ var destInManifest = !!(self.projectData && self.projectData.bundles && self.projectData.bundles[dest]);
397
+ var destHasPorts = isDefined('bundle', dest);
398
+ var destHasDir = fs.existsSync(_(local.destDir, true));
399
+ var destExists = destInManifest || destHasPorts || destHasDir;
400
+ if ( destExists && !force ) {
401
+ console.error('Target bundle [ '+ dest +' ] already exists inside `@'+ project +'`. Re-run with --force to overwrite it, or choose a different name.');
402
+ process.exit(1);
403
+ return;
404
+ }
405
+
406
+ // refuse to rename a RUNNING bundle (no --force bypass): a live rename
407
+ // strands the process — its pidfile + `ps` title still say `<old>`.
408
+ var runDir = (typeof(GINA_RUNDIR) != 'undefined' && GINA_RUNDIR) ? GINA_RUNDIR : (GINA_HOMEDIR + '/run');
409
+ var runState = lib.cmdStatusFormat.readPidfile(runDir, source, project);
410
+ if ( runState.running ) {
411
+ console.error('Bundle [ '+ source +'@'+ project +' ] is running (pid '+ runState.pid +'). Stop it first: gina bundle:stop '+ source +' @'+ project);
412
+ process.exit(1);
413
+ return;
414
+ }
415
+
416
+ if ( dryRun ) {
417
+ return report(true, format, source, dest, project, srcPath, destExists, previewRewrite(srcPath, source));
418
+ }
419
+
420
+ if ( destExists ) {
421
+ removeDest(dest);
422
+ }
423
+
424
+ // snapshot the four config surfaces for rollback (post-removeDest state)
425
+ local.snapshot = {
426
+ env : JSON.clone(self.envData),
427
+ manifest : JSON.clone(self.projectData),
428
+ ports : JSON.clone(self.portsData),
429
+ portsReverse : JSON.clone(self.portsReverseData)
430
+ };
431
+
432
+ var rewritten = [];
433
+ try {
434
+ // 1) remove the stale mount symlink (best-effort; recreated on next start)
435
+ try {
436
+ var coreEnv = getCoreEnv(source);
437
+ new _(coreEnv.mountPath + '/' + source, true).rmSync();
438
+ } catch (e) { /* not mounted */ }
439
+
440
+ // 2) move the directory FIRST (atomic; trivial to abort if it throws)
441
+ new _(local.srcDir).renameSync(local.destDir);
442
+ local.dirMoved = true;
443
+
444
+ // 3) rewrite the name footprint in the moved tree
445
+ rewritten = rewriteTree(local.destDir, source, dest);
446
+
447
+ // 4) rekey env.json
448
+ var envData = rekeyInPlace(JSON.clone(self.envData), source, dest, self.envData[source]);
449
+ lib.generator.createFileFromDataSync(envData, self.envPath);
450
+
451
+ // 5) rekey manifest.json (clone the entry, repoint src/link/releases)
452
+ var manifest = JSON.clone(self.projectData);
453
+ var entry = JSON.clone(manifest.bundles[source]);
454
+ entry.src = 'src/' + dest;
455
+ entry.link = 'bundles/' + dest;
456
+ if ( entry.releases ) {
457
+ for (var scope in entry.releases) {
458
+ for (var env in entry.releases[scope]) {
459
+ var rel = entry.releases[scope][env];
460
+ if ( rel && rel.target ) {
461
+ rel.target = rel.target.replace('releases/' + source + '/', 'releases/' + dest + '/');
462
+ }
463
+ }
464
+ }
465
+ }
466
+ manifest.bundles = rekeyInPlace(manifest.bundles, source, dest, entry);
467
+ lib.generator.createFileFromDataSync(manifest, self.projectManifestPath);
468
+ try { delete require.cache[require.resolve(self.projectManifestPath)]; } catch (e) {}
469
+
470
+ // 6) rekey ports.json — rewrite the "<old>@<project>/<env>" VALUES
471
+ // in place (port-number keys preserved)
472
+ var ports = JSON.clone(self.portsData)
473
+ , oldOwner = source + '@' + project
474
+ , newOwner = dest + '@' + project;
475
+ for (var protocol in ports) {
476
+ for (var scheme in ports[protocol]) {
477
+ for (var portKey in ports[protocol][scheme]) {
478
+ var val = ports[protocol][scheme][portKey];
479
+ if ( typeof(val) == 'string' && val.indexOf(oldOwner + '/') === 0 ) {
480
+ ports[protocol][scheme][portKey] = val.replace(oldOwner + '/', newOwner + '/');
481
+ }
482
+ }
483
+ }
484
+ }
485
+ lib.generator.createFileFromDataSync(ports, self.portsPath);
486
+
487
+ // 7) rekey ports.reverse.json LAST — the canonical "bundle exists"
488
+ // record (isDefined reads it), so flip it once everything else is done
489
+ var portsReverse = JSON.clone(self.portsReverseData);
490
+ if ( typeof(portsReverse[oldOwner]) != 'undefined' ) {
491
+ portsReverse[newOwner] = portsReverse[oldOwner];
492
+ delete portsReverse[oldOwner];
493
+ }
494
+ lib.generator.createFileFromDataSync(portsReverse, self.portsReversePath);
495
+
496
+ } catch (err) {
497
+ return rollback(err);
498
+ }
499
+
500
+ report(false, format, source, dest, project, srcPath, destExists, rewritten);
501
+ }
502
+
503
+ init();
504
+ };
505
+
506
+ module.exports = Rename