gina 0.5.4 → 0.5.5
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.
- package/CHANGELOG.md +26 -0
- package/README.md +12 -12
- package/ROADMAP.md +11 -6
- package/bin/cli-debug +7 -1
- package/bin/gina +25 -4
- package/framework/v0.5.5/VERSION +1 -0
- package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/js/gina.js +85 -30
- package/framework/v0.5.5/core/asset/plugin/dist/vendor/gina/js/gina.min.js +573 -0
- package/framework/v0.5.5/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.5.5/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/{v0.5.4 → v0.5.5}/core/config.js +18 -4
- package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.js +48 -6
- package/framework/{v0.5.4 → v0.5.5}/core/gna.js +70 -4
- package/framework/{v0.5.4 → v0.5.5}/core/server.isaac.js +115 -6
- package/framework/{v0.5.4 → v0.5.5}/core/server.js +74 -0
- package/framework/{v0.5.4 → v0.5.5}/lib/archiver/src/main.js +109 -0
- package/framework/v0.5.5/lib/cmd/bundle/man.js +10 -0
- package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/start.js +17 -3
- package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/status.js +22 -10
- package/framework/v0.5.5/lib/cmd/framework/add.js +498 -0
- package/framework/v0.5.5/lib/cmd/framework/arguments.json +13 -0
- package/framework/v0.5.5/lib/cmd/framework/help.txt +62 -0
- package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/init.js +52 -10
- package/framework/v0.5.5/lib/cmd/framework/list.js +352 -0
- package/framework/v0.5.5/lib/cmd/framework/man.js +9 -0
- package/framework/v0.5.5/lib/cmd/framework/remove.js +411 -0
- package/framework/v0.5.5/lib/cmd/framework/reset.js +206 -0
- package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/tail.js +9 -1
- package/framework/v0.5.5/lib/cmd/framework/update.js +477 -0
- package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/version.js +12 -1
- package/framework/{v0.5.4 → v0.5.5}/lib/cmd/gina-framework.1.md +10 -1
- package/framework/{v0.5.4 → v0.5.5}/lib/cmd/helper.js +4 -2
- package/framework/v0.5.5/lib/cmd/man-render.js +144 -0
- package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/arguments.json +2 -0
- package/framework/v0.5.5/lib/cmd/project/backup.js +228 -0
- package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/help.txt +18 -8
- package/framework/v0.5.5/lib/cmd/project/man.js +10 -0
- package/framework/v0.5.5/lib/cmd/project/move.js +215 -0
- package/framework/v0.5.5/lib/cmd/project/restore.js +221 -0
- package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/status.js +24 -12
- package/framework/v0.5.5/lib/cmd/service/man.js +10 -0
- package/framework/{v0.5.4 → v0.5.5}/lib/index.js +8 -0
- package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/mq/listener.js +6 -1
- package/framework/{v0.5.4 → v0.5.5}/lib/proc.js +7 -0
- package/framework/v0.5.5/lib/ws-query/package.json +10 -0
- package/framework/v0.5.5/lib/ws-query/src/main.js +145 -0
- package/framework/{v0.5.4 → v0.5.5}/package.json +2 -2
- package/gna.js +4 -4
- package/llms.txt +20 -4
- package/package.json +8 -6
- package/script/post_install.js +7 -1
- package/script/smoke_in_container.js +336 -0
- package/script/smoke_test_tarball.js +283 -0
- package/utils/helper.js +34 -7
- package/utils/runtime.js +103 -0
- package/framework/v0.5.4/VERSION +0 -1
- package/framework/v0.5.4/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -572
- package/framework/v0.5.4/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.5.4/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/v0.5.4/lib/cmd/framework/arguments.json +0 -7
- package/framework/v0.5.4/lib/cmd/framework/help.txt +0 -36
- package/framework/v0.5.4/lib/cmd/framework/update.js +0 -0
- package/framework/v0.5.4/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/AUTHORS +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/LICENSE +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/html/static.html +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/mongodb/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/mongodb/lib/connector.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/mongodb/lib/session-store.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/mysql/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/postgresql/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/redis/lib/session-store.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/scylladb/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/scylladb/lib/connector.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/scylladb/lib/session-store.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/sql-parser.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/sqlite/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/sqlite/lib/connector.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/connectors/sqlite/lib/session-store.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/content.encoding +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-json.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-nunjucks-async.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-nunjucks.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-swig-async.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-swig.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/controller/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/controller/inspector-window-emit.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/LICENSE +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/lib/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/deps/busboy-1.6.0/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/deps/streamsearch-1.1.0/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/dev/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/locales/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/locales/currency.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/locales/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/mime.types +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/model/entity.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/model/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/model/template/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/csrf/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/csrf/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/csrf/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/coep/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/coep/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/coop/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/coop/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/corp/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/corp/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/csp/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/csp/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/hsts/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/hsts/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/session/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/session/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/session/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/storage/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/validator/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/validator/src/form-validator.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/plugins/lib/validator/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/router.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/server.express.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/status.codes +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/_gitignore +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle/locales/en.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_public/sw.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/conf/env.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/conf/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/conf/templates.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/console.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/context.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/data/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/data/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/data/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/json/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/json/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/json/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/path.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/plugins/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/plugins/src/api-error.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/prototypes.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/task.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/helpers/text.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/admin/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/admin/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/archiver/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/archiver/build.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/archiver/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/async/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/async/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cache/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cache/build.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cache/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cache/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/add.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/build.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/mcp-start.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/mcp.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/oas.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/openapi.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/add.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/arguments.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/help.txt +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/list.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/migrate.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/remove.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/connector/rm.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/build.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/link.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/add.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/arguments.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/export.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/help.txt +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/import.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/i18n/scan.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/inspector/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/inspector/help.txt +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/inspector/open.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/minion/arguments.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/minion/help.txt +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/minion/kill.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/minion/list.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/add.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/build.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/protocol/arguments.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/protocol/remove.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/secrets/arguments.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/secrets/check.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/secrets/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/secrets/help.txt +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/secrets/scan.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/service/help.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/service/help.txt +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/service/list.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/service/start.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd-status-format/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cmd-status-format/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/collection/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/collection/build.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/collection/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/collection/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/config.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/connector-registry/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/connector-registry/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cron/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cron/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/domain/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/domain/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/generator/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/i18n/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/i18n/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/inherits/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/inherits/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/inherits/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/inspector-redact/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/inspector-redact/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/instrument/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/instrument/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/job/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/job/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/logger/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/logger/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/logger/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/math/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/mcp-dispatch/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/mcp-dispatch/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/mcp-http/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/mcp-http/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/mcp-server/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/mcp-server/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/merge/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/merge/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/metrics/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/metrics/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/model.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/nunjucks-filters/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/nunjucks-filters/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/nunjucks-filters/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/nunjucks-resolver/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/nunjucks-resolver/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/routing/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/routing/build.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/routing/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/routing/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/routing/src/radix.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/routing-introspect/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/routing-introspect/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/secrets/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/secrets/src/backends/env.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/secrets/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/session-store.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/shell.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/state.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/swig-filters/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/swig-filters/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/swig-resolver/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/swig-resolver/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/template-loaders/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/template-loaders/src/loaders/http.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/template-loaders/src/loaders/memory.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/template-loaders/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/url/README.md +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/url/index.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/url/routing.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/uuid/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/uuid/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/validator.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/watcher/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/watcher/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/ws-framing/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/ws-framing/src/main.js +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/ws-session/package.json +0 -0
- /package/framework/{v0.5.4 → v0.5.5}/lib/ws-session/src/main.js +0 -0
|
@@ -0,0 +1,228 @@
|
|
|
1
|
+
var fs = require('fs');
|
|
2
|
+
var path = require('path');
|
|
3
|
+
|
|
4
|
+
var CmdHelper = require('./../helper');
|
|
5
|
+
var console = lib.logger;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @module gina/lib/cmd/project/backup
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Archives a registered project's SOURCE TREE into a single `.zip`.
|
|
12
|
+
*
|
|
13
|
+
* The archive is produced with `lib/archiver`'s ARRAY form: the handler walks the
|
|
14
|
+
* project source itself and hands `compress()` an explicit `{ input, output }`
|
|
15
|
+
* file list. This is deliberate — the directory form (`compress(dir, ...)`) walks
|
|
16
|
+
* with `fs.statSync`, which FOLLOWS symlinks, so it would recurse the project's
|
|
17
|
+
* absolute `node_modules/gina` link into the entire framework install (and it also
|
|
18
|
+
* leaks absolute paths into the entries). The self-walk skips symlinks and
|
|
19
|
+
* excludes `node_modules` by name, so the archive holds only the real source tree
|
|
20
|
+
* with clean relative paths.
|
|
21
|
+
*
|
|
22
|
+
* The artifact is a DEFLATE `.zip` (`@<project>-<YYYYMMDD-HHMMSS>.zip`), not a
|
|
23
|
+
* `.tar.gz`: `lib/archiver` has no tar producer — it builds zips via JSZip. The
|
|
24
|
+
* timestamp keeps repeated backups from clobbering each other.
|
|
25
|
+
*
|
|
26
|
+
* The output directory is given with `--out=` (default: the current working
|
|
27
|
+
* directory). It is deliberately NOT `--path`: `--path` carries add/import
|
|
28
|
+
* semantics in the shared CmdHelper bootstrap (it pre-creates the directory and
|
|
29
|
+
* can point `projectLocation` at it when the basename matches the project name —
|
|
30
|
+
* helper.js:345/358), whereas `--out` is opaque to the bootstrap.
|
|
31
|
+
*
|
|
32
|
+
* Backup is READ-ONLY on the project: it never mutates the source tree, never
|
|
33
|
+
* writes the `~/.gina` registry, and never touches the port matrix. There is no
|
|
34
|
+
* refuse-if-running guard — a source snapshot of a live project is safe (the
|
|
35
|
+
* mutable runtime state lives under the `~/.<project>` home, outside the source).
|
|
36
|
+
*
|
|
37
|
+
* `--with-password` is advertised in help.txt but has no backing (the archiver's
|
|
38
|
+
* encryption hooks are unimplemented and JSZip cannot produce encrypted zips), so
|
|
39
|
+
* it is REFUSED rather than silently producing a plaintext archive when a caller
|
|
40
|
+
* explicitly asked for encryption.
|
|
41
|
+
*
|
|
42
|
+
* Project-scoped, offline: `gina project:backup @<project> [ --out=/dump ]`.
|
|
43
|
+
*
|
|
44
|
+
* @class Backup
|
|
45
|
+
* @constructor
|
|
46
|
+
* @param {object} opt - Parsed command-line options
|
|
47
|
+
* @param {object} opt.client - Socket client for terminal output
|
|
48
|
+
* @param {string[]} opt.argv - Full argv array
|
|
49
|
+
* @param {number} [opt.debugPort] - Node.js inspector port
|
|
50
|
+
* @param {boolean} [opt.debugBrkEnabled] - True when --inspect-brk is active
|
|
51
|
+
* @param {object} cmd - The cmd dispatcher object (lib/cmd/index.js)
|
|
52
|
+
*
|
|
53
|
+
* @example
|
|
54
|
+
* // back up project `myproject` into /var/dump
|
|
55
|
+
* $ gina project:backup @myproject --out=/var/dump
|
|
56
|
+
* project [ myproject ] backed up to [ /var/dump/myproject-20260619-124016.zip ]
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* // no --out: writes the archive into the current directory
|
|
60
|
+
* $ gina project:backup @myproject
|
|
61
|
+
*/
|
|
62
|
+
function Backup(opt, cmd) {
|
|
63
|
+
|
|
64
|
+
var self = {};
|
|
65
|
+
var local = { project: null, source: null, outDir: null, archive: null, count: 0 };
|
|
66
|
+
|
|
67
|
+
/**
|
|
68
|
+
* Wires CmdHelper, validates the project is registered and has an on-disk
|
|
69
|
+
* source, refuses the unimplemented `--with-password`, resolves the `--out`
|
|
70
|
+
* output directory (default cwd), then runs the backup.
|
|
71
|
+
*
|
|
72
|
+
* @inner
|
|
73
|
+
* @private
|
|
74
|
+
*/
|
|
75
|
+
var init = function() {
|
|
76
|
+
|
|
77
|
+
new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
|
|
78
|
+
if ( !isCmdConfigured() ) return false;
|
|
79
|
+
|
|
80
|
+
local.project = self.projectName;
|
|
81
|
+
|
|
82
|
+
if ( local.project == null || typeof(self.projects[local.project]) == 'undefined' ) {
|
|
83
|
+
console.error('[ '+ local.project +' ] is not a registered project.');
|
|
84
|
+
process.exit(1);
|
|
85
|
+
return;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
// --with-password is advertised but unimplemented (no encryption backing).
|
|
89
|
+
// Refuse rather than hand back a plaintext archive when a caller explicitly
|
|
90
|
+
// asked for one. A bare `--with-password` stays on argv; `--with-password=x`
|
|
91
|
+
// is hoisted to GINA_WITH_PASSWORD by filterArgs — check both.
|
|
92
|
+
var wantsPassword = process.argv.some(function(a){ return /^--with-password(=|$)/.test(a); })
|
|
93
|
+
|| typeof(process.gina.GINA_WITH_PASSWORD) != 'undefined';
|
|
94
|
+
if ( wantsPassword ) {
|
|
95
|
+
console.error('project:backup: --with-password is not supported yet (archives are NOT encrypted). No archive was created.');
|
|
96
|
+
process.exit(1);
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
local.source = self.projects[local.project].path;
|
|
101
|
+
if ( !local.source || local.source === '' ) {
|
|
102
|
+
console.error('Project [ '+ local.project +' ] has no source path to back up.');
|
|
103
|
+
process.exit(1);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
if ( !fs.existsSync(local.source) ) {
|
|
107
|
+
console.error('Project source path [ '+ local.source +' ] does not exist on disk.');
|
|
108
|
+
process.exit(1);
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
// Output directory: --out (opaque to the bootstrap, unlike --path).
|
|
113
|
+
// Default to the current working directory. Read off argv directly (the
|
|
114
|
+
// move.js precedent) — argv survives filterArgs for project:* tasks.
|
|
115
|
+
var outArg = process.argv.find(function(a){ return /^--out=/.test(a); }) || null;
|
|
116
|
+
var outVal = outArg ? outArg.split('=').slice(1).join('=').replace(/['"]/g, '') : null;
|
|
117
|
+
local.outDir = outVal ? path.resolve(outVal) : process.cwd();
|
|
118
|
+
|
|
119
|
+
run();
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* Recursively collects the project source files as an archiver
|
|
124
|
+
* `{ input, output }` list — EXCLUDING `node_modules` (regenerable + the
|
|
125
|
+
* symlink-recursion hazard) and SKIPPING symlinks (the absolute
|
|
126
|
+
* `node_modules/gina` link would otherwise pull in the whole framework).
|
|
127
|
+
*
|
|
128
|
+
* @inner
|
|
129
|
+
* @private
|
|
130
|
+
* @param {string} dir - directory to scan
|
|
131
|
+
* @param {number} baseLen - length of the source root prefix to strip for the relative output path
|
|
132
|
+
* @param {object[]} out - accumulator of `{ input, output }` entries
|
|
133
|
+
*/
|
|
134
|
+
var collectFiles = function(dir, baseLen, out) {
|
|
135
|
+
var entries = fs.readdirSync(dir, { withFileTypes: true });
|
|
136
|
+
for ( var i = 0; i < entries.length; ++i ) {
|
|
137
|
+
var e = entries[i];
|
|
138
|
+
if ( e.isSymbolicLink() ) {
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
var abs = dir + '/' + e.name;
|
|
142
|
+
if ( e.isDirectory() ) {
|
|
143
|
+
if ( e.name === 'node_modules' ) {
|
|
144
|
+
continue;
|
|
145
|
+
}
|
|
146
|
+
collectFiles(abs, baseLen, out);
|
|
147
|
+
} else if ( e.isFile() ) {
|
|
148
|
+
out.push({ input: abs, output: abs.substring(baseLen) });
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
};
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* @inner
|
|
155
|
+
* @private
|
|
156
|
+
* @returns {string} a `YYYYMMDD-HHMMSS` stamp for the archive name
|
|
157
|
+
*/
|
|
158
|
+
var timestamp = function() {
|
|
159
|
+
var d = new Date();
|
|
160
|
+
var p = function(n) { return (n < 10 ? '0' : '') + n; };
|
|
161
|
+
return '' + d.getFullYear() + p(d.getMonth() + 1) + p(d.getDate())
|
|
162
|
+
+ '-' + p(d.getHours()) + p(d.getMinutes()) + p(d.getSeconds());
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Collects the source file list, then compresses it into
|
|
167
|
+
* `<outDir>/<project>-<timestamp>.zip` via the archiver ARRAY form. Reports
|
|
168
|
+
* the path the archiver actually wrote and asserts it exists before declaring
|
|
169
|
+
* success.
|
|
170
|
+
*
|
|
171
|
+
* @inner
|
|
172
|
+
* @private
|
|
173
|
+
*/
|
|
174
|
+
var run = function() {
|
|
175
|
+
|
|
176
|
+
var files = [];
|
|
177
|
+
try {
|
|
178
|
+
collectFiles(local.source, local.source.replace(/\/+$/, '').length + 1, files);
|
|
179
|
+
} catch ( walkErr ) {
|
|
180
|
+
console.error('Could not read the project source [ '+ local.source +' ]: '+ (walkErr && (walkErr.stack || walkErr.message) || walkErr));
|
|
181
|
+
process.exit(1);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
if ( files.length === 0 ) {
|
|
186
|
+
console.error('Nothing to back up in [ '+ local.source +' ].');
|
|
187
|
+
process.exit(1);
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
local.count = files.length;
|
|
191
|
+
|
|
192
|
+
var base = local.project + '-' + timestamp();
|
|
193
|
+
local.archive = path.join(local.outDir, base + '.zip');
|
|
194
|
+
|
|
195
|
+
try {
|
|
196
|
+
if ( !fs.existsSync(local.outDir) ) {
|
|
197
|
+
fs.mkdirSync(local.outDir, { recursive: true });
|
|
198
|
+
}
|
|
199
|
+
} catch ( mkdirErr ) {
|
|
200
|
+
console.error('Could not create the output directory [ '+ local.outDir +' ]: '+ (mkdirErr && (mkdirErr.message || mkdirErr)));
|
|
201
|
+
process.exit(1);
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
lib.archiver.compress(files, local.outDir + '/', { method: 'gzip', name: base, level: 9 })
|
|
206
|
+
.onComplete(function onBackupComplete(err, archivePath) {
|
|
207
|
+
if ( err ) {
|
|
208
|
+
console.error('project:backup failed: '+ (err && (err.stack || err.message) || err));
|
|
209
|
+
process.exit(1);
|
|
210
|
+
return;
|
|
211
|
+
}
|
|
212
|
+
var finalPath = archivePath || local.archive;
|
|
213
|
+
if ( !finalPath || !fs.existsSync(finalPath) ) {
|
|
214
|
+
console.error('project:backup: the archive was not created.');
|
|
215
|
+
process.exit(1);
|
|
216
|
+
return;
|
|
217
|
+
}
|
|
218
|
+
var bytes = fs.statSync(finalPath).size;
|
|
219
|
+
console.log('project [ '+ local.project +' ] backed up to [ '+ finalPath +' ] ('+ local.count +' files, '+ bytes +' bytes)');
|
|
220
|
+
console.log(' node_modules was excluded — run `npm install` after restoring.');
|
|
221
|
+
process.exit(0);
|
|
222
|
+
});
|
|
223
|
+
};
|
|
224
|
+
|
|
225
|
+
init();
|
|
226
|
+
};
|
|
227
|
+
|
|
228
|
+
module.exports = Backup
|
|
@@ -84,23 +84,33 @@
|
|
|
84
84
|
$ gina project:rename @<project_name> @<new_project_name>
|
|
85
85
|
|
|
86
86
|
|
|
87
|
+
[ Move project ]
|
|
88
|
+
|
|
89
|
+
Relocates the project source tree to a new path. The project name and its
|
|
90
|
+
~/.<project_name> home are unchanged; all bundles must be stopped first.
|
|
91
|
+
|
|
92
|
+
$ gina project:move @<project_name> --to=/new/path
|
|
93
|
+
|
|
94
|
+
|
|
87
95
|
[ Build project ]
|
|
88
96
|
|
|
89
97
|
$ gina project:build @<project_name> --scope=local --env=prod
|
|
90
98
|
|
|
91
99
|
[ Backup project ]
|
|
92
100
|
|
|
93
|
-
|
|
101
|
+
Archives the project source tree (excluding node_modules) into a .zip.
|
|
102
|
+
|
|
103
|
+
$ gina project:backup @<project_name> [ --out=/var/dump ] (if no --out given, writes to the current path)
|
|
94
104
|
|
|
95
|
-
|
|
105
|
+
N.B.: --with-password is not implemented yet — archives are NOT encrypted.
|
|
96
106
|
|
|
97
107
|
|
|
98
108
|
[ Restore project ]
|
|
99
109
|
|
|
100
|
-
|
|
110
|
+
Rebuilds a project from a project:backup .zip: extracts the source tree to
|
|
111
|
+
--to and re-registers the project (entry, ports, and the gina symlink).
|
|
112
|
+
|
|
113
|
+
$ gina project:restore @<project_name> <archive.zip> --to=/new/path
|
|
101
114
|
|
|
102
|
-
|
|
103
|
-
or
|
|
104
|
-
$ gina project:restore myproject.tar.gz (will restore from current path to current path: myproject.gna must be under the PWD)
|
|
105
|
-
or
|
|
106
|
-
$ gina project:restore /var/dump/myproject.tar.gz —-path=/other/path
|
|
115
|
+
N.B.: node_modules is not in the backup — run `npm install` afterwards.
|
|
116
|
+
Pass --force to overwrite an already-registered name or a non-empty target.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module gina/lib/cmd/project/man
|
|
3
|
+
* @description `gina project:man` — shows the project manual. No
|
|
4
|
+
* `gina-project.1.md` source exists yet, so the shared engine falls back to
|
|
5
|
+
* `lib/cmd/project/help.txt`. Thin re-export of
|
|
6
|
+
* {@link module:gina/lib/cmd/man-render}, which picks the group from
|
|
7
|
+
* `opt.task.topic`.
|
|
8
|
+
*/
|
|
9
|
+
// alias
|
|
10
|
+
module.exports = require('../man-render');
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
var fs = require('fs');
|
|
2
|
+
var path = require('path');
|
|
3
|
+
|
|
4
|
+
var CmdHelper = require('./../helper');
|
|
5
|
+
var console = lib.logger;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @module gina/lib/cmd/project/move
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Relocates a registered project's source tree to a new filesystem path.
|
|
12
|
+
*
|
|
13
|
+
* Unlike `project:rename` (which changes the project NAME and therefore rekeys
|
|
14
|
+
* `ports.json` / `ports.reverse.json` by owner), `project:move` changes only the
|
|
15
|
+
* filesystem location. The project name, its `~/.<project>` home directory, the
|
|
16
|
+
* homedir-derived paths (`bundles_path` / `releases_path` / `logs_path` /
|
|
17
|
+
* `tmp_path`), the port matrix, and the per-bundle RELATIVE manifest paths are
|
|
18
|
+
* all preserved — only the registry `path` field (and any other field rooted at
|
|
19
|
+
* the old source path) is rewritten.
|
|
20
|
+
*
|
|
21
|
+
* The target is given with `--to=`, NOT `--path=`. `--path` carries add/import
|
|
22
|
+
* semantics in the shared CmdHelper bootstrap (it pre-creates the directory and
|
|
23
|
+
* can even point `projectLocation` at it when the basename matches the project
|
|
24
|
+
* name — helper.js:345/358), which would clobber a move target. `--to` is opaque
|
|
25
|
+
* to the bootstrap, so the move owns the target's creation entirely.
|
|
26
|
+
*
|
|
27
|
+
* The move uses an atomic `fs.renameSync` (symlink-preserving — the absolute
|
|
28
|
+
* `node_modules/gina` link survives). A cross-filesystem target (EXDEV) is
|
|
29
|
+
* REFUSED with guidance to use `project:import` after a manual copy, rather than
|
|
30
|
+
* silently falling back to a slow, symlink-dereferencing copy.
|
|
31
|
+
*
|
|
32
|
+
* Every bundle in the project must be STOPPED — moving a project whose bundles
|
|
33
|
+
* are serving would strand their processes against a path that no longer exists.
|
|
34
|
+
* It refuses if any bundle is running (no `--force` bypass). The stale bundle
|
|
35
|
+
* mount symlinks (recreated on next start) are removed best-effort after the
|
|
36
|
+
* move. On any post-move failure the rename is reversed so disk and registry
|
|
37
|
+
* stay consistent.
|
|
38
|
+
*
|
|
39
|
+
* Project-scoped, offline: `gina project:move @<project> --to=/new/path`.
|
|
40
|
+
*
|
|
41
|
+
* @class Move
|
|
42
|
+
* @constructor
|
|
43
|
+
* @param {object} opt - Parsed command-line options
|
|
44
|
+
* @param {object} opt.client - Socket client for terminal output
|
|
45
|
+
* @param {string[]} opt.argv - Full argv array
|
|
46
|
+
* @param {number} [opt.debugPort] - Node.js inspector port
|
|
47
|
+
* @param {boolean} [opt.debugBrkEnabled] - True when --inspect-brk is active
|
|
48
|
+
* @param {object} cmd - The cmd dispatcher object (lib/cmd/index.js)
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* // move project `myproject` to /srv/apps/myproject
|
|
52
|
+
* $ gina project:move @myproject --to=/srv/apps/myproject
|
|
53
|
+
* project [ myproject ] moved to [ /srv/apps/myproject ]
|
|
54
|
+
*/
|
|
55
|
+
function Move(opt, cmd) {
|
|
56
|
+
|
|
57
|
+
var self = {};
|
|
58
|
+
var local = { project: null, source: null, target: null, moved: false };
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Wires CmdHelper, parses the single project token + the required `--to`,
|
|
62
|
+
* validates that the project is registered and the target is a fresh,
|
|
63
|
+
* different location, then runs the move.
|
|
64
|
+
*
|
|
65
|
+
* @inner
|
|
66
|
+
* @private
|
|
67
|
+
*/
|
|
68
|
+
var init = function() {
|
|
69
|
+
|
|
70
|
+
new CmdHelper(self, opt.client, { port: opt.debugPort, brkEnabled: opt.debugBrkEnabled });
|
|
71
|
+
if ( !isCmdConfigured() ) return false;
|
|
72
|
+
|
|
73
|
+
local.project = self.projectName;
|
|
74
|
+
|
|
75
|
+
if ( local.project == null || typeof(self.projects[local.project]) == 'undefined' ) {
|
|
76
|
+
console.error('[ '+ local.project +' ] is not a registered project.');
|
|
77
|
+
process.exit(1);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
// --to is REQUIRED (the new location). It is deliberately NOT --path:
|
|
82
|
+
// the bootstrap pre-creates a --path directory (add/import semantics).
|
|
83
|
+
var toArg = process.argv.find(function(a){ return /^--to=/.test(a); }) || null;
|
|
84
|
+
var newPath = toArg ? toArg.split('=').slice(1).join('=').replace(/['"]/g, '') : null;
|
|
85
|
+
if ( !newPath ) {
|
|
86
|
+
console.error('project:move requires a target path: gina project:move @'+ local.project +' --to=/new/path');
|
|
87
|
+
process.exit(1);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
local.source = self.projects[local.project].path;
|
|
92
|
+
if ( !local.source || local.source === '' ) {
|
|
93
|
+
console.error('Project [ '+ local.project +' ] has no source path to move.');
|
|
94
|
+
process.exit(1);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// resolve the target to an absolute, normalized path
|
|
99
|
+
local.target = path.resolve(newPath);
|
|
100
|
+
|
|
101
|
+
if ( local.target === path.resolve(local.source) ) {
|
|
102
|
+
console.error('Target path is the project current location ('+ local.source +'). Nothing to move.');
|
|
103
|
+
process.exit(1);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
if ( fs.existsSync(local.target) ) {
|
|
108
|
+
console.error('Target path [ '+ local.target +' ] already exists. Choose a path that does not exist yet.');
|
|
109
|
+
process.exit(1);
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
run();
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Refuses if any bundle in the project is running, moves the source tree
|
|
118
|
+
* (atomic rename), rewrites the registry path, removes stale mount symlinks,
|
|
119
|
+
* and writes projects.json. Reverses the move on any post-move failure.
|
|
120
|
+
*
|
|
121
|
+
* @inner
|
|
122
|
+
* @private
|
|
123
|
+
*/
|
|
124
|
+
var run = function() {
|
|
125
|
+
|
|
126
|
+
var project = local.project;
|
|
127
|
+
var bundles = self.bundles || [];
|
|
128
|
+
|
|
129
|
+
// refuse to move a project with a RUNNING bundle (no --force bypass): a
|
|
130
|
+
// live move would strand processes against a path that no longer exists.
|
|
131
|
+
var runDir = (typeof(GINA_RUNDIR) != 'undefined' && GINA_RUNDIR) ? GINA_RUNDIR : (GINA_HOMEDIR + '/run');
|
|
132
|
+
var running = [];
|
|
133
|
+
for ( var i = 0; i < bundles.length; ++i ) {
|
|
134
|
+
var st = lib.cmdStatusFormat.readPidfile(runDir, bundles[i], project);
|
|
135
|
+
if ( st && st.running ) {
|
|
136
|
+
running.push(bundles[i] + ' (pid '+ st.pid +')');
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if ( running.length > 0 ) {
|
|
140
|
+
console.error('Cannot move [ '+ project +' ]: these bundles are running — stop them first (gina project:stop @'+ project +'):\n - '+ running.join('\n - '));
|
|
141
|
+
process.exit(1);
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// ensure the target parent exists so renameSync does not ENOENT
|
|
146
|
+
var parent = path.dirname(local.target);
|
|
147
|
+
try {
|
|
148
|
+
if ( !fs.existsSync(parent) ) {
|
|
149
|
+
fs.mkdirSync(parent, { recursive: true });
|
|
150
|
+
}
|
|
151
|
+
} catch ( mkdirErr ) {
|
|
152
|
+
console.error('Could not create the target parent directory [ '+ parent +' ]: '+ (mkdirErr.message || mkdirErr));
|
|
153
|
+
process.exit(1);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// move the tree (atomic, symlink-preserving)
|
|
158
|
+
try {
|
|
159
|
+
new _(local.source).renameSync(local.target);
|
|
160
|
+
local.moved = true;
|
|
161
|
+
} catch ( mvErr ) {
|
|
162
|
+
if ( mvErr && mvErr.code === 'EXDEV' ) {
|
|
163
|
+
console.error('Target path [ '+ local.target +' ] is on a different filesystem. Copy the tree there manually, then re-register it: gina project:import @'+ project +' --path='+ local.target);
|
|
164
|
+
} else {
|
|
165
|
+
console.error('Could not move the project tree: '+ (mvErr && (mvErr.stack || mvErr.message) || mvErr));
|
|
166
|
+
}
|
|
167
|
+
process.exit(1);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// rewrite the registry: the `path` field (exact match) plus any other
|
|
172
|
+
// string field rooted UNDER the old source path. The homedir-derived
|
|
173
|
+
// fields live under ~/.<project> and never match, so they are preserved.
|
|
174
|
+
try {
|
|
175
|
+
var entry = self.projects[project];
|
|
176
|
+
var oldDir = local.source;
|
|
177
|
+
for ( var k in entry ) {
|
|
178
|
+
if ( typeof(entry[k]) === 'string' ) {
|
|
179
|
+
if ( entry[k] === oldDir ) {
|
|
180
|
+
entry[k] = local.target;
|
|
181
|
+
} else if ( entry[k].indexOf(oldDir + '/') === 0 ) {
|
|
182
|
+
entry[k] = local.target + entry[k].slice(oldDir.length);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
// remove stale mount symlinks — they point at the old source and are
|
|
188
|
+
// recreated under the new path on the next start (mirrors bundle:rename).
|
|
189
|
+
for ( var b = 0; b < bundles.length; ++b ) {
|
|
190
|
+
try {
|
|
191
|
+
var coreEnv = getCoreEnv(bundles[b]);
|
|
192
|
+
if ( coreEnv && coreEnv.mountPath ) {
|
|
193
|
+
new _(coreEnv.mountPath + '/' + bundles[b], true).rmSync();
|
|
194
|
+
}
|
|
195
|
+
} catch ( unmountErr ) { /* not mounted — fine */ }
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
lib.generator.createFileFromDataSync(self.projects, _(GINA_HOMEDIR + '/projects.json'));
|
|
199
|
+
} catch ( regErr ) {
|
|
200
|
+
// reverse the move so the registry and disk stay consistent
|
|
201
|
+
try { new _(local.target).renameSync(local.source); } catch ( revErr ) { /* leave as-is */ }
|
|
202
|
+
console.error('Could not update the project registry; reverted the move: '+ (regErr && (regErr.stack || regErr.message) || regErr));
|
|
203
|
+
process.exit(1);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
console.log('project [ '+ project +' ] moved to [ '+ local.target +' ]');
|
|
208
|
+
console.log(' restart it to refresh bundle mounts: gina project:start @'+ project);
|
|
209
|
+
process.exit(0);
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
init();
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
module.exports = Move
|