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
|
@@ -6,6 +6,9 @@ const util = require('util');
|
|
|
6
6
|
const promisify = require('util').promisify;
|
|
7
7
|
|
|
8
8
|
var CmdHelper = require('./../helper');
|
|
9
|
+
// Runtime detection (Bun vs Node) for the PM-aware reinstall below. Required by a
|
|
10
|
+
// plain relative path (the bare `lib/<name>` form is unavailable in CLI/daemon scope).
|
|
11
|
+
var runtime = require(__dirname + '/../../../../../utils/runtime.js');
|
|
9
12
|
// `lib` is previously defiened as this file is required by anoth
|
|
10
13
|
// For user output
|
|
11
14
|
var terminal = lib.logger;
|
|
@@ -75,7 +78,8 @@ function Start(opt, cmd) {
|
|
|
75
78
|
|
|
76
79
|
/**
|
|
77
80
|
* Checks if the project's node_modules need to be reinstalled due to an arch/platform mismatch.
|
|
78
|
-
* Reinstalls via `npm install`
|
|
81
|
+
* Reinstalls via `npm install` (or `bun install` under Bun) if needed, then
|
|
82
|
+
* calls cb(false) to proceed.
|
|
79
83
|
* @inner
|
|
80
84
|
* @private
|
|
81
85
|
* @param {object} opt
|
|
@@ -168,7 +172,11 @@ function Start(opt, cmd) {
|
|
|
168
172
|
// reinstall node_modules if needed
|
|
169
173
|
if ( isNodeModulesReinstallNeeded ) {
|
|
170
174
|
var initialDir = process.cwd();
|
|
171
|
-
|
|
175
|
+
// Bun-only images ship no npm — use `bun install` under Bun. Zero Node
|
|
176
|
+
// delta: isBun() is false on Node, so npmCmd is byte-identical to before.
|
|
177
|
+
var npmCmd = runtime.isBun()
|
|
178
|
+
? 'bun install'
|
|
179
|
+
: ( ( isWin32() ) ? 'npm.cmd install' : 'npm install' );
|
|
172
180
|
process.chdir( _(projectObj.path, true) );
|
|
173
181
|
|
|
174
182
|
opt.client.write('\nRe-installing node_modules to match arch & platform');
|
|
@@ -180,7 +188,13 @@ function Start(opt, cmd) {
|
|
|
180
188
|
try {
|
|
181
189
|
result = execSync(npmCmd).toString();
|
|
182
190
|
var ginaBin = execSync('which gina').toString().trim();
|
|
183
|
-
|
|
191
|
+
// Run the gina bin under the current runtime so a no-node Bun image
|
|
192
|
+
// can't fail on the `#!/usr/bin/env node` shebang. Under Node, linkCmd
|
|
193
|
+
// is byte-identical to the previous direct invocation (zero Node delta).
|
|
194
|
+
var linkCmd = runtime.isBun()
|
|
195
|
+
? runtime.runtimeBinary() +' '+ ginaBin +' framework:link @'+ self.projectName
|
|
196
|
+
: ginaBin +' framework:link @'+ self.projectName;
|
|
197
|
+
execSync(linkCmd);
|
|
184
198
|
} catch (err) {
|
|
185
199
|
resultError = err;
|
|
186
200
|
}
|
|
@@ -35,7 +35,7 @@ var CmdHelper = require('./../helper');
|
|
|
35
35
|
* @example
|
|
36
36
|
* // machine-readable
|
|
37
37
|
* $ gina bundle:status api @myproject --format=json
|
|
38
|
-
* {"bundle":"api","project":"myproject","running":true,"pid":12345,"env":"dev","scheme":"http/2.0","protocol":"https","port":4208,"ports":{...}}
|
|
38
|
+
* {"bundle":"api","project":"myproject","framework":"0.5.5-alpha.2","gina_version":null,"running":true,"pid":12345,"env":"dev","scheme":"http/2.0","protocol":"https","port":4208,"ports":{...}}
|
|
39
39
|
*/
|
|
40
40
|
function Status(opt, cmd) {
|
|
41
41
|
var self = { format: null };
|
|
@@ -136,16 +136,28 @@ function Status(opt, cmd) {
|
|
|
136
136
|
var preferred = fmt.pickPreferredPort(ports);
|
|
137
137
|
var runState = fmt.readPidfile(GINA_HOMEDIR + '/run', bundle, projectName);
|
|
138
138
|
|
|
139
|
+
// Per-project framework version: the projects.json pin (v-prefixed,
|
|
140
|
+
// written by project:add) stripped of its leading `v` to match
|
|
141
|
+
// main.json's bare def_framework; falls back to the global default
|
|
142
|
+
// when the project is unpinned. The per-bundle gina_version is the
|
|
143
|
+
// manifest override (null when not pinned via --gina-version).
|
|
144
|
+
var entry = self.projects[projectName];
|
|
145
|
+
var framework = ( typeof(entry.framework) != 'undefined' )
|
|
146
|
+
? String(entry.framework).replace(/^v/, '')
|
|
147
|
+
: ( (self.mainConfig && self.mainConfig.def_framework) || null );
|
|
148
|
+
|
|
139
149
|
var json = {
|
|
140
|
-
bundle
|
|
141
|
-
project
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
150
|
+
bundle : bundle,
|
|
151
|
+
project : projectName,
|
|
152
|
+
framework : framework,
|
|
153
|
+
gina_version : (bundles[bundle] && bundles[bundle].gina_version) || null,
|
|
154
|
+
running : runState.running,
|
|
155
|
+
pid : runState.pid,
|
|
156
|
+
env : preferred ? preferred.env : null,
|
|
157
|
+
scheme : preferred ? preferred.scheme : null,
|
|
158
|
+
protocol : preferred ? preferred.protocol : null,
|
|
159
|
+
port : preferred ? preferred.port : null,
|
|
160
|
+
ports : ports
|
|
149
161
|
};
|
|
150
162
|
|
|
151
163
|
if ( /^json?/.test(self.format) ) {
|
|
@@ -0,0 +1,498 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
var fs = require('fs');
|
|
3
|
+
var nodePath = require('path');
|
|
4
|
+
var os = require('os');
|
|
5
|
+
var execSync = require('child_process').execSync;
|
|
6
|
+
// `lib` is injected as a global by the framework bootstrap — this file is
|
|
7
|
+
// required by the cmd dispatcher (lib/cmd/framework/init.js) in a scope where
|
|
8
|
+
// `lib` already exists (same as update.js / reset.js use it at top level).
|
|
9
|
+
var console = lib.logger;
|
|
10
|
+
// The Node-vs-Bun runtime helper, reused (NOT re-implemented) for the
|
|
11
|
+
// dependency-install step. Required by a plain relative path — the bare
|
|
12
|
+
// `lib/<name>` form is unavailable in CLI/daemon scope. From
|
|
13
|
+
// framework/v<version>/lib/cmd/framework/ it is exactly 5×'../' up to the gina
|
|
14
|
+
// package root, the same depth bundle/start.js uses.
|
|
15
|
+
var runtime = require('../../../../../utils/runtime.js');
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @module gina/lib/cmd/framework/add
|
|
19
|
+
*/
|
|
20
|
+
/**
|
|
21
|
+
* Install a published gina framework version side-by-side with the active one,
|
|
22
|
+
* so a bundle pinned via `--gina-version=<v>` (or manifest.json
|
|
23
|
+
* `bundles[<name>].gina_version`) can actually resolve and boot on it.
|
|
24
|
+
*
|
|
25
|
+
* A normal `npm install gina@<v>` ships exactly ONE `framework/v<version>/`
|
|
26
|
+
* tree. Multiple versions coexist through `~/.gina/archives/framework/` (a
|
|
27
|
+
* persistent user-home store) plus install-time symlinking: `post_install.js`
|
|
28
|
+
* `restoreSymlinks()` links every archived version into the active install's
|
|
29
|
+
* `framework/` dir. This command automates the manual "download → install deps
|
|
30
|
+
* → place in archive → symlink → register" dance maintainers otherwise do by
|
|
31
|
+
* hand. Pipeline (all synchronous):
|
|
32
|
+
*
|
|
33
|
+
* 1. `npm pack gina@<version>` — download the published tarball to a temp dir.
|
|
34
|
+
* 2. Extract it (`tar -xzf`) → `package/framework/v<version>/`.
|
|
35
|
+
* 3. Copy that subtree into `~/.gina/archives/framework/v<version>/`.
|
|
36
|
+
* 4. `npm install` inside the archived copy — resolve its OWN deps
|
|
37
|
+
* (@rhinostone/swig, psl, …) so the version can render. Runtime-aware
|
|
38
|
+
* (`bun install` under Bun), mirroring bundle/start.js.
|
|
39
|
+
* 5. Symlink `~/.gina/archives/framework/v<version>` →
|
|
40
|
+
* `<GINA_DIR>/framework/v<version>` so the active install resolves it.
|
|
41
|
+
* Skipped when a real (non-symlink) dir already occupies that path — the
|
|
42
|
+
* active version is never clobbered.
|
|
43
|
+
* 6. Register `<version>` in `~/.gina/main.json` `frameworks[<short>]` (the
|
|
44
|
+
* list `--gina-version` validates against) via the StateStore write path
|
|
45
|
+
* (`lib.generator.createFileFromDataSync` → gina.db + JSON sidecar in
|
|
46
|
+
* lockstep). `def_framework` is NEVER changed — adding a version is
|
|
47
|
+
* additive and never makes it the default.
|
|
48
|
+
*
|
|
49
|
+
* Per-shortVersion metadata maps (`protocols` / `schemes` / `scopes` / `envs` /
|
|
50
|
+
* `cultures` / …) are NOT seeded here — `framework:init` seeds them on the first
|
|
51
|
+
* `bundle:start` for the version (the same deferral `framework:update` uses). A
|
|
52
|
+
* brand-new short emits a warning so the operator knows the first boot seeds it.
|
|
53
|
+
*
|
|
54
|
+
* Offline command (the `framework:` topic is already in `bin/cli`'s
|
|
55
|
+
* `allowedOffline`). Default output is a human-readable summary; `--format=json`
|
|
56
|
+
* emits a machine-readable object. Errors print via `lib.logger` then
|
|
57
|
+
* `process.exit(1)`; success exits 0.
|
|
58
|
+
*
|
|
59
|
+
* @class Add
|
|
60
|
+
* @constructor
|
|
61
|
+
* @param {object} opt - Parsed command-line options (carries `opt.client` for socket output).
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* // Install a published version side-by-side with the active one:
|
|
65
|
+
* gina framework:add 0.4.7
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* // Preview every step without writing anything:
|
|
69
|
+
* gina framework:add 0.4.7 --dry-run
|
|
70
|
+
*
|
|
71
|
+
* @example
|
|
72
|
+
* // Re-install over an existing archived copy, JSON output:
|
|
73
|
+
* gina framework:add 0.4.7 --force --format=json
|
|
74
|
+
*/
|
|
75
|
+
function Add(opt) {
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Per-short metadata maps in `main.json` keyed by `<shortVersion>`. This
|
|
79
|
+
* command does not seed them (that is `framework:init`'s job on first
|
|
80
|
+
* `bundle:start`); it only checks whether the target short is brand-new to
|
|
81
|
+
* decide whether to warn. Accessed as `main[m]` (string key), never via a
|
|
82
|
+
* literal map-name dot-access, so the "does not seed metadata" negative
|
|
83
|
+
* invariant stays a clean code-absence check.
|
|
84
|
+
*
|
|
85
|
+
* @inner
|
|
86
|
+
* @constant
|
|
87
|
+
* @type {string[]}
|
|
88
|
+
*/
|
|
89
|
+
var SEED_MAPS = ['protocols', 'schemes', 'scopes', 'envs', 'cultures', 'log_levels'];
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Resolve `~/.gina` the same way `lib/state.js` does, so the paths this
|
|
93
|
+
* handler builds satisfy `StateStore.isStatePath` (routing the write to
|
|
94
|
+
* SQLite + sidecar) and a `GINA_HOMEDIR` override (tests / containers) is
|
|
95
|
+
* honoured. Mirrors framework:update's `resolveHomeDir`.
|
|
96
|
+
*
|
|
97
|
+
* @inner
|
|
98
|
+
* @private
|
|
99
|
+
* @returns {string}
|
|
100
|
+
*/
|
|
101
|
+
var resolveHomeDir = function () {
|
|
102
|
+
if (typeof(getEnvVar) === 'function') {
|
|
103
|
+
var override = getEnvVar('GINA_HOMEDIR');
|
|
104
|
+
if (override) return override;
|
|
105
|
+
}
|
|
106
|
+
if (typeof(GINA_HOMEDIR) !== 'undefined' && GINA_HOMEDIR) return GINA_HOMEDIR;
|
|
107
|
+
return os.homedir() + nodePath.sep + '.gina';
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Resolve the active gina install root (where `framework/v<version>/` dirs
|
|
112
|
+
* live and get symlinked). `GINA_DIR` is set by `bin/cli` for every command,
|
|
113
|
+
* offline included.
|
|
114
|
+
*
|
|
115
|
+
* @inner
|
|
116
|
+
* @private
|
|
117
|
+
* @returns {string|null}
|
|
118
|
+
*/
|
|
119
|
+
var resolveGinaDir = function () {
|
|
120
|
+
if (typeof(getEnvVar) === 'function') {
|
|
121
|
+
var dir = getEnvVar('GINA_DIR');
|
|
122
|
+
if (dir) return dir;
|
|
123
|
+
}
|
|
124
|
+
return (typeof(GINA_DIR) !== 'undefined' && GINA_DIR) ? GINA_DIR : null;
|
|
125
|
+
};
|
|
126
|
+
|
|
127
|
+
/**
|
|
128
|
+
* The first non-flag positional after the `framework:add` task token is the
|
|
129
|
+
* version. `filterArgs` never strips a no-`=` token, so a bare positional
|
|
130
|
+
* survives in argv regardless of flag hoisting.
|
|
131
|
+
*
|
|
132
|
+
* @inner
|
|
133
|
+
* @private
|
|
134
|
+
* @returns {string|null}
|
|
135
|
+
*/
|
|
136
|
+
var readVersionArg = function () {
|
|
137
|
+
for (var i = 3; i < process.argv.length; i++) {
|
|
138
|
+
var tok = process.argv[i];
|
|
139
|
+
if (typeof(tok) === 'string' && tok.length && tok.charAt(0) !== '-') {
|
|
140
|
+
return tok;
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
return null;
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* True when a bare boolean flag (`--force`, `--dry-run`) is present on argv.
|
|
148
|
+
*
|
|
149
|
+
* @inner
|
|
150
|
+
* @private
|
|
151
|
+
* @param {string} name - Flag name without the leading `--`.
|
|
152
|
+
* @returns {boolean}
|
|
153
|
+
*/
|
|
154
|
+
var hasFlag = function (name) {
|
|
155
|
+
var re = new RegExp('^--' + name + '$');
|
|
156
|
+
for (var i = 3; i < process.argv.length; i++) {
|
|
157
|
+
if (typeof(process.argv[i]) == 'string' && re.test(process.argv[i])) return true;
|
|
158
|
+
}
|
|
159
|
+
return false;
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
/**
|
|
163
|
+
* Read a `--name=value` flag (argv first, then the `GINA_<NAME>` hoist
|
|
164
|
+
* fallback). Mirrors framework:update's `readFlagValue`.
|
|
165
|
+
*
|
|
166
|
+
* @inner
|
|
167
|
+
* @private
|
|
168
|
+
* @param {string} name - Flag name without the leading `--`.
|
|
169
|
+
* @returns {string|null}
|
|
170
|
+
*/
|
|
171
|
+
var readFlagValue = function (name) {
|
|
172
|
+
var prefix = '--' + name + '=';
|
|
173
|
+
for (var i = 3; i < process.argv.length; i++) {
|
|
174
|
+
if (typeof(process.argv[i]) == 'string' && process.argv[i].indexOf(prefix) === 0) {
|
|
175
|
+
return process.argv[i].slice(prefix.length);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
var envKey = 'GINA_' + name.replace(/-/g, '_').toUpperCase();
|
|
179
|
+
if (typeof(process.gina) != 'undefined' && typeof(process.gina[envKey]) != 'undefined') {
|
|
180
|
+
return process.gina[envKey];
|
|
181
|
+
}
|
|
182
|
+
return null;
|
|
183
|
+
};
|
|
184
|
+
|
|
185
|
+
/**
|
|
186
|
+
* Print a fatal message and exit non-zero. Single error egress.
|
|
187
|
+
*
|
|
188
|
+
* @inner
|
|
189
|
+
* @private
|
|
190
|
+
* @param {string} msg
|
|
191
|
+
*/
|
|
192
|
+
var fail = function (msg) {
|
|
193
|
+
console.error('[framework:add] ' + msg);
|
|
194
|
+
process.exit(1);
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* `npm` / `npm.cmd` per platform (the registry fetch needs npm; Bun has no
|
|
199
|
+
* `bun pack` equivalent in this codebase).
|
|
200
|
+
*
|
|
201
|
+
* @inner
|
|
202
|
+
* @private
|
|
203
|
+
* @returns {string}
|
|
204
|
+
*/
|
|
205
|
+
var npmBin = function () {
|
|
206
|
+
return (process.platform === 'win32') ? 'npm.cmd' : 'npm';
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
/**
|
|
210
|
+
* Runtime-aware dependency install command, mirroring bundle/start.js. Zero
|
|
211
|
+
* Node delta: `isBun()` is false on Node, so this is byte-identical to
|
|
212
|
+
* `npm install` there.
|
|
213
|
+
*
|
|
214
|
+
* @inner
|
|
215
|
+
* @private
|
|
216
|
+
* @returns {string}
|
|
217
|
+
*/
|
|
218
|
+
var installCmd = function () {
|
|
219
|
+
return runtime.isBun()
|
|
220
|
+
? 'bun install'
|
|
221
|
+
: ((process.platform === 'win32') ? 'npm.cmd install' : 'npm install');
|
|
222
|
+
};
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Register `version` into `main.frameworks[short]` (push-if-absent), the same
|
|
226
|
+
* idiom as `post_install.js` and `framework:update`. Mutates `main` in place
|
|
227
|
+
* and returns whether a change was made. Never touches `def_framework`.
|
|
228
|
+
*
|
|
229
|
+
* @inner
|
|
230
|
+
* @private
|
|
231
|
+
* @param {object} main - Parsed main.json.
|
|
232
|
+
* @param {string} short - Target `major.minor`.
|
|
233
|
+
* @param {string} version - Full version.
|
|
234
|
+
* @returns {boolean} True when the list gained the version.
|
|
235
|
+
*/
|
|
236
|
+
var registerVersion = function (main, short, version) {
|
|
237
|
+
if (!main.frameworks) main.frameworks = {};
|
|
238
|
+
if (!Array.isArray(main.frameworks[short])) main.frameworks[short] = [];
|
|
239
|
+
if (main.frameworks[short].indexOf(version) < 0) {
|
|
240
|
+
main.frameworks[short].push(version);
|
|
241
|
+
return true;
|
|
242
|
+
}
|
|
243
|
+
return false;
|
|
244
|
+
};
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Run a shell command synchronously, surfacing stdout. Throws on non-zero
|
|
248
|
+
* exit (caught by the step that called it).
|
|
249
|
+
*
|
|
250
|
+
* @inner
|
|
251
|
+
* @private
|
|
252
|
+
* @param {string} cmd
|
|
253
|
+
* @param {string} [cwd]
|
|
254
|
+
*/
|
|
255
|
+
var run = function (cmd, cwd) {
|
|
256
|
+
console.info('[framework:add] running: ' + cmd + (cwd ? ' (cwd: ' + cwd + ')' : ''));
|
|
257
|
+
var out = execSync(cmd, cwd ? { cwd: cwd } : undefined);
|
|
258
|
+
if (out) { var s = out.toString().trim(); if (s) console.debug(s); }
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Orchestrate the pipeline.
|
|
263
|
+
*
|
|
264
|
+
* @inner
|
|
265
|
+
* @private
|
|
266
|
+
*/
|
|
267
|
+
var init = function () {
|
|
268
|
+
|
|
269
|
+
// --- parse + validate inputs ---------------------------------------
|
|
270
|
+
var format = readFlagValue('format');
|
|
271
|
+
if (format && format !== 'json') {
|
|
272
|
+
fail('Unknown --format value `' + format + '`. Supported: json.');
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
var asJson = (format === 'json');
|
|
276
|
+
var force = hasFlag('force');
|
|
277
|
+
var dryRun = hasFlag('dry-run');
|
|
278
|
+
|
|
279
|
+
var raw = readVersionArg();
|
|
280
|
+
if (!raw) {
|
|
281
|
+
fail('Missing <version>. Usage: gina framework:add <version> [--force] [--dry-run]');
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
var version = String(raw).replace(/^v/, '');
|
|
285
|
+
if (!/^\d+\.\d+\.\d+(-[0-9A-Za-z.-]+)?$/.test(version)) {
|
|
286
|
+
fail('`' + raw + '` is not a valid version (expected e.g. 0.4.7 or 0.3.7-alpha.2).');
|
|
287
|
+
return;
|
|
288
|
+
}
|
|
289
|
+
var short = version.split(/\./g).splice(0, 2).join('.');
|
|
290
|
+
|
|
291
|
+
var homeDir = resolveHomeDir();
|
|
292
|
+
var ginaDir = resolveGinaDir();
|
|
293
|
+
if (!ginaDir) {
|
|
294
|
+
fail('Cannot resolve GINA_DIR (the active install root). Reinstall gina or run from the CLI.');
|
|
295
|
+
return;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
var archiveDir = _(homeDir + '/archives/framework/v' + version, true);
|
|
299
|
+
var installDir = _(ginaDir + '/framework/v' + version, true);
|
|
300
|
+
var tmpDir = _(os.tmpdir() + '/gina-framework-add-' + version, true);
|
|
301
|
+
var tgz = _(tmpDir + '/gina-' + version + '.tgz', true);
|
|
302
|
+
var extracted = _(tmpDir + '/package/framework/v' + version, true);
|
|
303
|
+
var mainPath = _(homeDir + '/main.json', true);
|
|
304
|
+
|
|
305
|
+
var installExists = fs.existsSync(installDir);
|
|
306
|
+
var installIsRealDir = installExists && !fs.lstatSync(installDir).isSymbolicLink();
|
|
307
|
+
var archiveExists = fs.existsSync(archiveDir);
|
|
308
|
+
|
|
309
|
+
var plan = {
|
|
310
|
+
version : version,
|
|
311
|
+
short : short,
|
|
312
|
+
archiveDir : archiveDir,
|
|
313
|
+
installDir : installDir,
|
|
314
|
+
archiveExists : archiveExists,
|
|
315
|
+
installIsRealDir : installIsRealDir,
|
|
316
|
+
force : force,
|
|
317
|
+
dryRun : dryRun
|
|
318
|
+
};
|
|
319
|
+
|
|
320
|
+
// Adding the active (real, non-symlink) version is a no-op for the symlink
|
|
321
|
+
// step; warn but still allow re-archiving + registering.
|
|
322
|
+
if (installIsRealDir) {
|
|
323
|
+
console.warn('[framework:add] v' + version + ' is already installed as a real framework dir; '
|
|
324
|
+
+ 'the symlink step will be skipped (the active install is never clobbered).');
|
|
325
|
+
}
|
|
326
|
+
// --dry-run always previews (even when the archive exists) — it writes
|
|
327
|
+
// nothing, so the --force refuse below must not pre-empt the plan.
|
|
328
|
+
if (dryRun) {
|
|
329
|
+
console.info('[framework:add] --dry-run: no changes will be made.');
|
|
330
|
+
emit(plan, asJson, true);
|
|
331
|
+
process.exit(0);
|
|
332
|
+
return;
|
|
333
|
+
}
|
|
334
|
+
|
|
335
|
+
if (archiveExists && !force) {
|
|
336
|
+
fail('v' + version + ' is already archived at ' + archiveDir + '. Re-run with --force to overwrite.');
|
|
337
|
+
return;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
// --- 1. download ----------------------------------------------------
|
|
341
|
+
try {
|
|
342
|
+
if (fs.existsSync(tmpDir)) fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
343
|
+
fs.mkdirSync(tmpDir, { recursive: true });
|
|
344
|
+
run(npmBin() + ' pack gina@' + version + ' --pack-destination ' + JSON.stringify(tmpDir));
|
|
345
|
+
} catch (e) {
|
|
346
|
+
fail('could not download gina@' + version + ' from npm (unpublished version or network error): '
|
|
347
|
+
+ (e.message || e));
|
|
348
|
+
return;
|
|
349
|
+
}
|
|
350
|
+
if (!fs.existsSync(tgz)) {
|
|
351
|
+
fail('expected tarball not found after npm pack: ' + tgz);
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
// --- 2. extract -----------------------------------------------------
|
|
356
|
+
try {
|
|
357
|
+
run('tar -xzf ' + JSON.stringify(tgz) + ' -C ' + JSON.stringify(tmpDir));
|
|
358
|
+
} catch (e) {
|
|
359
|
+
fail('could not extract ' + tgz + ': ' + (e.message || e));
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
if (!fs.existsSync(extracted)) {
|
|
363
|
+
fail('the published gina@' + version + ' tarball does not contain framework/v' + version
|
|
364
|
+
+ ' (got no ' + extracted + '). This version may predate the current layout.');
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
// --- 3. place in the archive ---------------------------------------
|
|
369
|
+
try {
|
|
370
|
+
if (archiveExists) fs.rmSync(archiveDir, { recursive: true, force: true });
|
|
371
|
+
fs.mkdirSync(nodePath.dirname(archiveDir), { recursive: true });
|
|
372
|
+
// fs.cpSync (Node >= 16.7, well within gina's engine floor) is the robust
|
|
373
|
+
// synchronous tree copy. The framework `_().cp()` is callback-style and
|
|
374
|
+
// prepare_version.js:586's `await` of it is a latent no-op (awaits undefined).
|
|
375
|
+
fs.cpSync(extracted, archiveDir, { recursive: true });
|
|
376
|
+
} catch (e) {
|
|
377
|
+
fail('could not copy the framework tree into ' + archiveDir + ': ' + (e.message || e));
|
|
378
|
+
return;
|
|
379
|
+
}
|
|
380
|
+
|
|
381
|
+
// --- 4. install the archived tree's own deps -----------------------
|
|
382
|
+
try {
|
|
383
|
+
var initialDir = process.cwd();
|
|
384
|
+
var oldGlobal = process.env.npm_config_global;
|
|
385
|
+
process.env.npm_config_global = false;
|
|
386
|
+
try {
|
|
387
|
+
run(installCmd(), archiveDir);
|
|
388
|
+
} finally {
|
|
389
|
+
process.env.npm_config_global = oldGlobal;
|
|
390
|
+
process.chdir(initialDir);
|
|
391
|
+
}
|
|
392
|
+
} catch (e) {
|
|
393
|
+
fail('dependency install failed inside ' + archiveDir + ': ' + (e.message || e));
|
|
394
|
+
return;
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
// --- 5. symlink into the active install ----------------------------
|
|
398
|
+
var symlinked = false;
|
|
399
|
+
if (installIsRealDir) {
|
|
400
|
+
console.info('[framework:add] skipping symlink — v' + version + ' is the active install.');
|
|
401
|
+
} else {
|
|
402
|
+
try {
|
|
403
|
+
if (installExists) fs.unlinkSync(installDir); // replace a stale symlink
|
|
404
|
+
fs.mkdirSync(nodePath.dirname(installDir), { recursive: true });
|
|
405
|
+
// Link at <install>/framework/v<v> pointing to the archive copy —
|
|
406
|
+
// same source→dest direction as post_install.js restoreSymlinks().
|
|
407
|
+
fs.symlinkSync(archiveDir, installDir);
|
|
408
|
+
symlinked = true;
|
|
409
|
+
} catch (e) {
|
|
410
|
+
fail('could not symlink ' + installDir + ' -> ' + archiveDir + ': ' + (e.message || e));
|
|
411
|
+
return;
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
// --- 6. register in main.json (never touch def_framework) ----------
|
|
416
|
+
var registered = false;
|
|
417
|
+
var newShort = false;
|
|
418
|
+
try {
|
|
419
|
+
if (!fs.existsSync(mainPath)) {
|
|
420
|
+
fail('`' + mainPath + '` not found. Run `gina framework:init` (or reinstall gina) first.');
|
|
421
|
+
return;
|
|
422
|
+
}
|
|
423
|
+
var main = requireJSON(mainPath);
|
|
424
|
+
newShort = !main.frameworks || !Array.isArray(main.frameworks[short]) || main.frameworks[short].length === 0;
|
|
425
|
+
registered = registerVersion(main, short, version);
|
|
426
|
+
if (registered) {
|
|
427
|
+
lib.generator.createFileFromDataSync(main, mainPath);
|
|
428
|
+
}
|
|
429
|
+
} catch (e) {
|
|
430
|
+
fail('could not register v' + version + ' in main.json: ' + (e.message || e));
|
|
431
|
+
return;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
// --- cleanup + warnings + summary ----------------------------------
|
|
435
|
+
try { fs.rmSync(tmpDir, { recursive: true, force: true }); } catch (e) { /* best-effort */ }
|
|
436
|
+
|
|
437
|
+
// A brand-new short has no per-short metadata maps yet; the first
|
|
438
|
+
// bundle:start on this version seeds them (framework:init's job).
|
|
439
|
+
if (newShort) {
|
|
440
|
+
console.warn('[framework:add] ' + short + ' is a new short version — its metadata maps '
|
|
441
|
+
+ '(' + SEED_MAPS.join(', ') + ', …) are seeded by framework:init on the first '
|
|
442
|
+
+ '`bundle:start` for v' + version + '.');
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
var def = (function () { try { return requireJSON(mainPath).def_framework; } catch (e) { return null; } })();
|
|
446
|
+
|
|
447
|
+
emit({
|
|
448
|
+
version : version,
|
|
449
|
+
short : short,
|
|
450
|
+
archiveDir : archiveDir,
|
|
451
|
+
installDir : installDir,
|
|
452
|
+
symlinked : symlinked,
|
|
453
|
+
registered : registered,
|
|
454
|
+
alreadyRegistered: !registered,
|
|
455
|
+
newShort : newShort,
|
|
456
|
+
def_framework : def,
|
|
457
|
+
pinHint : 'gina bundle:start <bundle> @<project> --gina-version=' + version
|
|
458
|
+
}, asJson, false);
|
|
459
|
+
|
|
460
|
+
process.exit(0);
|
|
461
|
+
};
|
|
462
|
+
|
|
463
|
+
/**
|
|
464
|
+
* Emit the result — human-readable summary, or `--format=json`.
|
|
465
|
+
*
|
|
466
|
+
* @inner
|
|
467
|
+
* @private
|
|
468
|
+
* @param {object} result
|
|
469
|
+
* @param {boolean} asJson
|
|
470
|
+
* @param {boolean} isPlan - True for a `--dry-run` plan (vs a completed run).
|
|
471
|
+
*/
|
|
472
|
+
var emit = function (result, asJson, isPlan) {
|
|
473
|
+
if (asJson) {
|
|
474
|
+
console.log(JSON.stringify(result, null, 2));
|
|
475
|
+
return;
|
|
476
|
+
}
|
|
477
|
+
if (isPlan) {
|
|
478
|
+
console.info('[framework:add] plan for v' + result.version + ':');
|
|
479
|
+
console.info(' • download gina@' + result.version + ' from npm');
|
|
480
|
+
console.info(' • archive → ' + result.archiveDir + (result.archiveExists ? ' (overwrite, --force)' : ''));
|
|
481
|
+
console.info(' • install its deps in the archive');
|
|
482
|
+
console.info(' • symlink → ' + result.installDir + (result.installIsRealDir ? ' (SKIPPED — active install)' : ''));
|
|
483
|
+
console.info(' • register v' + result.version + ' in main.json frameworks[' + result.short + '] (def_framework unchanged)');
|
|
484
|
+
return;
|
|
485
|
+
}
|
|
486
|
+
console.info('[framework:add] v' + result.version + ' is ready.');
|
|
487
|
+
console.info(' • archived : ' + result.archiveDir);
|
|
488
|
+
console.info(' • symlink : ' + (result.symlinked ? result.installDir : 'skipped (active install)'));
|
|
489
|
+
console.info(' • registered in frameworks[' + result.short + ']: '
|
|
490
|
+
+ (result.registered ? 'yes' : 'already present'));
|
|
491
|
+
console.info(' • def_framework: ' + result.def_framework + ' (unchanged)');
|
|
492
|
+
console.info(' Pin a bundle to it: ' + result.pinHint);
|
|
493
|
+
};
|
|
494
|
+
|
|
495
|
+
init();
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
module.exports = Add;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
('-. .-. ('-. _ (`-.
|
|
2
|
+
( OO ) / _( OO) ( (OO )
|
|
3
|
+
,--. ,--.(,------.,--. _.` \
|
|
4
|
+
| | | | | .---'| |.-')(__...--''
|
|
5
|
+
| .| | | | | | OO )| / | |
|
|
6
|
+
| |(| '--. | |`-' || |_.' |
|
|
7
|
+
| .-. | | .--'(| '---.'| .___.'
|
|
8
|
+
| | | | | `---.| | | |
|
|
9
|
+
`--' `--' `------'`------' `--'
|
|
10
|
+
|
|
11
|
+
usage:
|
|
12
|
+
|
|
13
|
+
$ gina --help | -h
|
|
14
|
+
$ gina —-version | -v
|
|
15
|
+
$ gina --status | -t
|
|
16
|
+
$ gina framework:update [ --to-version=<v> ] [ --fix ] [ --format=json ]
|
|
17
|
+
$ gina framework:add <version> [ --force ] [ --dry-run ] [ --format=json ]
|
|
18
|
+
|
|
19
|
+
Install a published gina version side-by-side: downloads it from npm,
|
|
20
|
+
installs its deps, archives it under ~/.gina/archives/framework, symlinks it
|
|
21
|
+
into the active install, and registers it so a bundle can pin it via
|
|
22
|
+
--gina-version=<version>. Additive — never changes the default version.
|
|
23
|
+
|
|
24
|
+
$ gina framework:list [ --all ] [ --format=json ]
|
|
25
|
+
|
|
26
|
+
List the framework versions known to this install: the active version,
|
|
27
|
+
side-by-side symlinked versions, and archived copies. Pass --all to also
|
|
28
|
+
include versions registered in main.json but not present on disk.
|
|
29
|
+
|
|
30
|
+
$ gina framework:remove <version> [ --force ] [ --dry-run ] [ --format=json ]
|
|
31
|
+
|
|
32
|
+
Remove a side-by-side installed version: unlinks it from the active install,
|
|
33
|
+
deletes its archived copy, and deregisters it from main.json. Refuses to
|
|
34
|
+
remove the active default or the real shipped version; pass --force to remove
|
|
35
|
+
a version a bundle still pins, --dry-run to preview.
|
|
36
|
+
|
|
37
|
+
$ gina framework:reset [ --force ]
|
|
38
|
+
|
|
39
|
+
Factory reset — clears ~/.gina (settings, projects, env, ports) so it
|
|
40
|
+
rebuilds to defaults on the next command. Shorthand: `gina reset`.
|
|
41
|
+
Refuses while the daemon or bundles are running, unless --force.
|
|
42
|
+
|
|
43
|
+
$ gina framework:man | man
|
|
44
|
+
$ gina project:man
|
|
45
|
+
$ gina bundle:man
|
|
46
|
+
$ gina service:man
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
*
|
|
50
|
+
* Settings - Reads/Modifies ~/home/.gina/settings.json
|
|
51
|
+
*
|
|
52
|
+
|
|
53
|
+
$ gina set --key=value ( eg: gina set --defaultEnv=dev )
|
|
54
|
+
|
|
55
|
+
$ gina get --key | key ( eg: gina get defaultEnv )
|
|
56
|
+
$ gina get --key1 --key2 ( eg: gina get --port --env )
|
|
57
|
+
$ gina get --all | all ( eg: gina get all )
|
|
58
|
+
|
|
59
|
+
Shorthand `gina get` is equivalent to `gina framework:get`.
|
|
60
|
+
Shorthand `gina set` is equivalent to `gina framework:set`.
|
|
61
|
+
|
|
62
|
+
$ gina <service|bundle>:<action> <arguments>
|