gina 0.4.5 → 0.4.6
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 +36 -0
- package/CONTRIBUTING.md +2 -2
- package/README.md +10 -8
- package/ROADMAP.md +2 -2
- package/framework/v0.4.6/VERSION +1 -0
- package/framework/v0.4.6/core/asset/plugin/dist/vendor/gina/css/gina.min.css +1 -0
- package/framework/v0.4.6/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- package/framework/v0.4.6/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +62 -0
- package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/js/gina.js +934 -42
- package/framework/v0.4.6/core/asset/plugin/dist/vendor/gina/js/gina.min.js +571 -0
- package/framework/v0.4.6/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.4.6/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/{v0.4.5 → v0.4.6}/core/controller/controller.js +62 -6
- package/framework/v0.4.6/core/controller/controller.render-nunjucks-async.js +788 -0
- package/framework/v0.4.6/core/controller/controller.render-swig-async.js +664 -0
- package/framework/{v0.4.5 → v0.4.6}/core/controller/controller.render-swig.js +52 -5
- package/framework/{v0.4.5 → v0.4.6}/core/gna.js +24 -0
- package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/csp/README.md +35 -0
- package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/csp/src/main.js +136 -2
- package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/storage/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/validator/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/validator/src/main.js +17 -4
- package/framework/{v0.4.5 → v0.4.6}/core/server.isaac.js +2 -2
- package/framework/{v0.4.5 → v0.4.6}/core/server.js +273 -97
- package/framework/{v0.4.5 → v0.4.6}/helpers/data/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/helpers/data/src/main.js +58 -3
- package/framework/{v0.4.5 → v0.4.6}/helpers/json/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/helpers/plugins/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/archiver/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/cache/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/link.js +16 -5
- package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/msg.json +1 -1
- package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/restart.js +11 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/start.js +5 -1
- package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/version.js +24 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/cmd/helper.js +28 -9
- package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/add.js +29 -13
- package/framework/{v0.4.5 → v0.4.6}/lib/collection/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/cron/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/domain/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/index.js +7 -0
- package/framework/{v0.4.5 → v0.4.6}/lib/inherits/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/logger/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/merge/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/model.js +17 -0
- package/framework/{v0.4.5 → v0.4.6}/lib/nunjucks-filters/src/main.js +37 -11
- package/framework/{v0.4.5 → v0.4.6}/lib/routing/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/routing/src/main.js +4 -4
- package/framework/{v0.4.5 → v0.4.6}/lib/swig-filters/package.json +0 -3
- package/framework/{v0.4.5 → v0.4.6}/lib/swig-filters/src/main.js +45 -6
- package/framework/v0.4.6/lib/template-loaders/package.json +17 -0
- package/framework/v0.4.6/lib/template-loaders/src/loaders/http.js +272 -0
- package/framework/v0.4.6/lib/template-loaders/src/loaders/memory.js +75 -0
- package/framework/v0.4.6/lib/template-loaders/src/main.js +134 -0
- package/framework/{v0.4.5 → v0.4.6}/package.json +2 -2
- package/gna.js +4 -4
- package/llms.txt +32 -44
- package/package.json +6 -3
- package/playwright.config.js +35 -0
- package/schema/settings.json +105 -0
- package/types/gna.d.ts +1 -1
- package/framework/v0.4.5/VERSION +0 -1
- package/framework/v0.4.5/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -1
- package/framework/v0.4.5/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- package/framework/v0.4.5/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- package/framework/v0.4.5/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -555
- package/framework/v0.4.5/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.4.5/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/AUTHORS +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/LICENSE +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/html/static.html +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/config.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/couchbase/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/mongodb/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/mongodb/lib/connector.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/mongodb/lib/session-store.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/mysql/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/postgresql/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/redis/lib/session-store.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/scylladb/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/scylladb/lib/connector.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/scylladb/lib/session-store.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/sql-parser.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/sqlite/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/sqlite/lib/connector.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/connectors/sqlite/lib/session-store.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/content.encoding +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/controller/controller.render-json.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/controller/controller.render-nunjucks.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/controller/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/controller/inspector-window-emit.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/deps/busboy-1.6.0/LICENSE +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/deps/busboy-1.6.0/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/deps/busboy-1.6.0/lib/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/deps/busboy-1.6.0/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/deps/streamsearch-1.1.0/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/dev/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/locales/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/locales/currency.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/locales/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/mime.types +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/model/entity.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/model/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/model/template/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/csrf/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/csrf/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/csrf/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/coep/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/coep/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/coop/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/coop/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/corp/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/corp/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/csp/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/hsts/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/hsts/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/session/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/session/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/session/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/plugins/lib/validator/src/form-validator.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/router.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/server.express.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/status.codes +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/_gitignore +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle/locales/en.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_public/sw.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/conf/env.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/conf/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/conf/templates.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/console.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/context.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/data/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/json/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/json/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/path.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/plugins/src/api-error.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/prototypes.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/task.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/helpers/text.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/archiver/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/archiver/build.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/archiver/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/async/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/async/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cache/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cache/build.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cache/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/add.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/build.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/mcp-start.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/mcp.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/oas.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/openapi.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/start.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/connector/add.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/connector/arguments.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/connector/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/connector/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/connector/list.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/connector/migrate.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/connector/remove.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/connector/rm.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/arguments.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/build.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/init.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/tail.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/i18n/add.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/i18n/arguments.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/i18n/export.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/i18n/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/i18n/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/i18n/import.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/i18n/scan.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/inspector/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/inspector/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/inspector/open.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/minion/arguments.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/minion/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/minion/kill.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/minion/list.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/build.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/protocol/arguments.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/protocol/remove.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/secrets/arguments.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/secrets/check.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/secrets/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/secrets/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/secrets/scan.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/service/help.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/service/help.txt +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/service/list.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/service/start.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd-status-format/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cmd-status-format/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/collection/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/collection/build.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/collection/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/config.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/connector-registry/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/connector-registry/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cron/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/domain/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/generator/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/i18n/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/i18n/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/inherits/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/inherits/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/inspector-redact/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/inspector-redact/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/instrument/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/instrument/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/job/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/job/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/logger/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/logger/src/containers/mq/listener.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/logger/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/math/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/mcp-dispatch/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/mcp-dispatch/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/mcp-http/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/mcp-http/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/mcp-server/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/mcp-server/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/merge/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/metrics/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/metrics/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/nunjucks-filters/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/nunjucks-filters/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/nunjucks-resolver/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/nunjucks-resolver/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/proc.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/routing/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/routing/build.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/routing/src/radix.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/routing-introspect/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/routing-introspect/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/secrets/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/secrets/src/backends/env.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/secrets/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/session-store.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/shell.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/state.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/swig-resolver/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/swig-resolver/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/url/README.md +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/url/index.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/url/routing.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/uuid/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/uuid/src/main.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/validator.js +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/watcher/package.json +0 -0
- /package/framework/{v0.4.5 → v0.4.6}/lib/watcher/src/main.js +0 -0
|
@@ -98,11 +98,22 @@ var console = lib.logger;
|
|
|
98
98
|
return end(err, 'error')
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
101
|
+
// was: err = execSync('$(which gina) link-node-modules @'+self.projectName);
|
|
102
|
+
// A PATH-resolved binary is not guaranteed to exist (repo checkout,
|
|
103
|
+
// non-global install) and may be a different install than the one
|
|
104
|
+
// running this command — invoke the running install's own CLI instead
|
|
105
|
+
// (same rationale as the `source` resolution below). Note execSync
|
|
106
|
+
// THROWS on failure and never returns an Error, so the old
|
|
107
|
+
// `instanceof Error` check was dead code; wrap in try/catch and
|
|
108
|
+
// route the failure through end().
|
|
109
|
+
var cli = require('path').resolve(__dirname, '../../../../..', 'bin/cli');
|
|
110
|
+
console.debug('[link] Running: '+ process.execPath +' '+ cli +' link-node-modules @'+ self.projectName);
|
|
111
|
+
try {
|
|
112
|
+
execSync('"'+ process.execPath +'" "'+ cli +'" link-node-modules @'+ self.projectName);
|
|
113
|
+
} catch (linkErr) {
|
|
114
|
+
var errOutput = (linkErr.stderr) ? linkErr.stderr.toString().trim() : (linkErr.message || linkErr.stack);
|
|
115
|
+
console.warn('[link] '+ errOutput);
|
|
116
|
+
return end(new Error(errOutput), 'error')
|
|
106
117
|
}
|
|
107
118
|
}
|
|
108
119
|
destination = new _(destination.toString() +'/gina', true);
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"0" : "basic.help.txt",
|
|
9
9
|
"1" : "no argument found",
|
|
10
10
|
"2" : "illegal option",
|
|
11
|
-
"4" : "Gina I/O v%version%\nMiddleware: %middleware%\n%copyright%",
|
|
11
|
+
"4" : "Gina I/O v%version%\nMiddleware: %middleware%\n%engine%%copyright%",
|
|
12
12
|
"5" : "Gina I/O Framework not found! Please visite https://gina.io/ to get the latest version or try to run : npm install gina"
|
|
13
13
|
},
|
|
14
14
|
"app" : {
|
|
@@ -6,6 +6,11 @@ const util = require('util');
|
|
|
6
6
|
var CmdHelper = require('./../helper');
|
|
7
7
|
// const { start } = require('repl');
|
|
8
8
|
var console = lib.logger;
|
|
9
|
+
// Self-resolved daemon wrapper — never PATH-resolve our own binary: the PATH
|
|
10
|
+
// may carry no gina at all (repo checkout, non-global install) or a different
|
|
11
|
+
// install than the one running this command. bin/gina (not bin/cli) is required
|
|
12
|
+
// here so `start` keeps its detached-daemon spawn semantics.
|
|
13
|
+
var ginaBin = require('path').resolve(__dirname, '../../../../..', 'bin/gina');
|
|
9
14
|
/**
|
|
10
15
|
* @module gina/lib/cmd/framework/restart
|
|
11
16
|
*/
|
|
@@ -95,7 +100,8 @@ function Restart(opt, cmd) {
|
|
|
95
100
|
// TODO - retrieve & add `opt`
|
|
96
101
|
var out = null;
|
|
97
102
|
try {
|
|
98
|
-
out = execSync('$(which gina) start @'+self.version).toString();
|
|
103
|
+
// was: out = execSync('$(which gina) start @'+self.version).toString();
|
|
104
|
+
out = execSync('"'+ process.execPath +'" "'+ ginaBin +'" start @'+self.version).toString();
|
|
99
105
|
console.debug('out => ', out);
|
|
100
106
|
// TODO - retrieve running bundles with its options & restart
|
|
101
107
|
} catch (err) {
|
|
@@ -122,7 +128,8 @@ function Restart(opt, cmd) {
|
|
|
122
128
|
var stop = function() {
|
|
123
129
|
var out = null;
|
|
124
130
|
try {
|
|
125
|
-
out = execSync('$(which gina) stop @'+self.version).toString();
|
|
131
|
+
// was: out = execSync('$(which gina) stop @'+self.version).toString();
|
|
132
|
+
out = execSync('"'+ process.execPath +'" "'+ ginaBin +'" stop @'+self.version).toString();
|
|
126
133
|
console.debug('out => ', out);
|
|
127
134
|
} catch (err) {
|
|
128
135
|
throw err;
|
|
@@ -187,7 +194,8 @@ function Restart(opt, cmd) {
|
|
|
187
194
|
continue;
|
|
188
195
|
}
|
|
189
196
|
// process.stdout.write('\ngina bundle:restart '+ file.replace(/\.pid$/, '').replace(/\@/, ' @') + '\n');
|
|
190
|
-
execSync('$(which gina) bundle:restart '+
|
|
197
|
+
// was: execSync('$(which gina) bundle:restart '+ ...) — PATH-resolved self-invocation
|
|
198
|
+
execSync('"'+ process.execPath +'" "'+ ginaBin +'" bundle:restart '+ file.replace(/\.pid$/, '').replace(/\@/, ' @'));
|
|
191
199
|
}
|
|
192
200
|
}
|
|
193
201
|
|
|
@@ -71,7 +71,11 @@ function Start(opt){
|
|
|
71
71
|
continue;
|
|
72
72
|
}
|
|
73
73
|
// process.stdout.write('\ngina bundle:restart '+ file.replace(/\.pid$/, '').replace(/\@/, ' @') + '\n');
|
|
74
|
-
execSync('$(which gina) bundle:restart '+
|
|
74
|
+
// was: execSync('$(which gina) bundle:restart '+ ...) — PATH-resolved self-invocation;
|
|
75
|
+
// bin/gina is resolved from this file's own location instead (the PATH may carry
|
|
76
|
+
// no gina or a different install than the one running this command).
|
|
77
|
+
var ginaBin = require('path').resolve(__dirname, '../../../../..', 'bin/gina');
|
|
78
|
+
execSync('"'+ process.execPath +'" "'+ ginaBin +'" bundle:restart '+ file.replace(/\.pid$/, '').replace(/\@/, ' @'));
|
|
75
79
|
}
|
|
76
80
|
}
|
|
77
81
|
|
|
@@ -5,17 +5,21 @@ var console = lib.logger;
|
|
|
5
5
|
* @module gina/lib/cmd/framework/version
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
|
-
* Prints the installed Gina framework version, platform, architecture,
|
|
8
|
+
* Prints the installed Gina framework version, platform, architecture, middleware,
|
|
9
|
+
* and — when the engine package is resolvable — the bundled template engine name and
|
|
10
|
+
* version (swig by default). The template-engine line is omitted when the engine
|
|
11
|
+
* package cannot be read (e.g. a framework directory not yet `npm install`-ed),
|
|
12
|
+
* satisfying the "when available" contract.
|
|
9
13
|
*
|
|
10
14
|
* Usage:
|
|
11
15
|
* gina framework:version
|
|
12
16
|
* gina version
|
|
13
|
-
* gina version --short=true (prints version number only)
|
|
17
|
+
* gina version --short=true (prints version number only; no template-engine line)
|
|
14
18
|
*
|
|
15
19
|
* @class Version
|
|
16
20
|
* @constructor
|
|
17
21
|
* @param {object} opt - Parsed command-line options
|
|
18
|
-
* @param {string} [opt.frameworkPath] - Absolute path to the framework directory
|
|
22
|
+
* @param {string} [opt.frameworkPath] - Absolute path to the framework directory (used to read MIDDLEWARE and the bundled template engine's package.json)
|
|
19
23
|
* @param {string} [opt.pack] - Path to package.json for reading the copyright field
|
|
20
24
|
*/
|
|
21
25
|
function Version(opt){
|
|
@@ -41,6 +45,21 @@ function Version(opt){
|
|
|
41
45
|
default:
|
|
42
46
|
break;
|
|
43
47
|
}
|
|
48
|
+
// Template engine in use — read the framework-bundled engine package (swig by
|
|
49
|
+
// default, declared in framework/v<version>/package.json). Read defensively so a
|
|
50
|
+
// framework directory without the engine package installed (e.g. a fresh clone
|
|
51
|
+
// before `npm install`) simply omits the line, satisfying the "when available"
|
|
52
|
+
// contract rather than crashing the banner.
|
|
53
|
+
var engine = '';
|
|
54
|
+
try {
|
|
55
|
+
var enginePack = JSON.parse( fs.readFileSync(_( opt.frameworkPath + '/node_modules/@rhinostone/swig/package.json')).toString() );
|
|
56
|
+
if ( enginePack && enginePack.name && enginePack.version ) {
|
|
57
|
+
engine = enginePack.name + '@' + enginePack.version;
|
|
58
|
+
}
|
|
59
|
+
} catch (engineErr) {
|
|
60
|
+
engine = '';
|
|
61
|
+
}
|
|
62
|
+
|
|
44
63
|
var vers = "",
|
|
45
64
|
short = ( typeof(process.argv[3]) != 'undefined') ? process.argv[3]: false,
|
|
46
65
|
msg = require('./msg.json'),
|
|
@@ -49,12 +68,14 @@ function Version(opt){
|
|
|
49
68
|
"platform" : process.platform,
|
|
50
69
|
"arch" : arch,
|
|
51
70
|
"middleware" : fs.readFileSync(_( opt.frameworkPath + '/MIDDLEWARE')).toString() || 'none',
|
|
71
|
+
"engine" : engine,
|
|
52
72
|
"copyright" : require(opt.pack).copyright
|
|
53
73
|
};
|
|
54
74
|
|
|
55
75
|
vers = msg.basic[4]
|
|
56
76
|
.replace(/%version%/, version.number +' '+ version.platform +' '+ version.arch + ' (MIT)')
|
|
57
77
|
.replace(/%middleware%/, version.middleware)
|
|
78
|
+
.replace(/%engine%/, version.engine ? ('Template engine: ' + version.engine + '\n') : '')
|
|
58
79
|
.replace(/%copyright%/, version.copyright);
|
|
59
80
|
|
|
60
81
|
if (typeof(GINA_VERSION) != "undefined") {
|
|
@@ -613,6 +613,9 @@ function CmdHelper(cmd, client, debug) {
|
|
|
613
613
|
* Reads all framework config files (main.json, projects.json, manifest.json,
|
|
614
614
|
* env.json, ports.json, ports.reverse.json) fresh from disk (no require cache).
|
|
615
615
|
* Populates cmd with scopes, envs, protocols, schemes, port maps, and bundle lists.
|
|
616
|
+
* A registered project whose directory exists but whose manifest.json is missing
|
|
617
|
+
* (a stale ~/.gina/projects.json entry) is warned and skipped (#B24) rather than
|
|
618
|
+
* aborting the whole command.
|
|
616
619
|
* Also links node_modules and gina when running start/stop/restart tasks in global mode.
|
|
617
620
|
* Assigns itself to the global `loadAssets`.
|
|
618
621
|
*
|
|
@@ -1109,17 +1112,24 @@ function CmdHelper(cmd, client, debug) {
|
|
|
1109
1112
|
||
|
|
1110
1113
|
/bundle\:(restart|start|stop)$/.test(cmd.task)
|
|
1111
1114
|
) {
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1115
|
+
// was: err = execSync('$(which gina) link-node-modules @'+cmd.projectName +cmd.paramsStringified);
|
|
1116
|
+
// A PATH-resolved binary is not guaranteed to exist (repo checkout,
|
|
1117
|
+
// non-global install) and execSync THROWS on failure rather than
|
|
1118
|
+
// returning an Error (the old `instanceof Error` check was dead
|
|
1119
|
+
// code) — invoke the running install's own CLI instead.
|
|
1120
|
+
var selfCli = require('path').resolve(__dirname, '../../../..', 'bin/cli');
|
|
1121
|
+
console.info('[helper] Running: '+ process.execPath +' '+ selfCli +' link-node-modules @'+cmd.projectName +cmd.paramsStringified);
|
|
1122
|
+
try {
|
|
1123
|
+
execSync('"'+ process.execPath +'" "'+ selfCli +'" link-node-modules @'+cmd.projectName +cmd.paramsStringified);// +' --inspect-gina'
|
|
1124
|
+
} catch (linkErr) {
|
|
1125
|
+
var linkErrOutput = (linkErr.stderr) ? linkErr.stderr.toString().trim() : (linkErr.message || linkErr.stack);
|
|
1126
|
+
console.error(linkErrOutput);
|
|
1127
|
+
return exit(linkErrOutput);
|
|
1117
1128
|
}
|
|
1118
1129
|
|
|
1119
|
-
console.info('[helper] Running:
|
|
1120
|
-
// let ginaBin = execSync('echo $(which gina)').toString().trim();
|
|
1130
|
+
console.info('[helper] Running: '+ process.execPath +' '+ selfCli +' link @'+cmd.projectName +cmd.paramsStringified);
|
|
1121
1131
|
try {
|
|
1122
|
-
console.debug(execSync('
|
|
1132
|
+
console.debug(execSync('"'+ process.execPath +'" "'+ selfCli +'" link @'+cmd.projectName +cmd.paramsStringified).toString().trim());// +' --inspect-gina'
|
|
1123
1133
|
} catch (err) {
|
|
1124
1134
|
var errOutput = (err.stderr) ? err.stderr.toString().trim() : (err.message || err.stack);
|
|
1125
1135
|
console.emerg(errOutput);
|
|
@@ -1257,6 +1267,11 @@ function CmdHelper(cmd, client, debug) {
|
|
|
1257
1267
|
cmd.projects[project].exists = true;
|
|
1258
1268
|
if ( !new _(projectPropertiesPath).existsSync() ) {
|
|
1259
1269
|
console.error('`'+ projectPropertiesPath +'` not found ! Maybe, you can try to remove the project reference by hand by editing: `'+ _(GINA_HOMEDIR + '/projects.json') +'`')
|
|
1270
|
+
// #B24: skip this stale project (dir present, manifest.json gone) instead of
|
|
1271
|
+
// falling through to the requireJSON(...).bundles below, which process-exits on
|
|
1272
|
+
// ENOENT — aborting every offline asset command when ANY one registered project
|
|
1273
|
+
// is stale. bundlesByProject[project] stays {} (pre-set above); exists stays true.
|
|
1274
|
+
continue;
|
|
1260
1275
|
}
|
|
1261
1276
|
|
|
1262
1277
|
cmd.bundlesByProject[project] = (cmd.bundlesByProject[project].count() > 0) ? cmd.bundlesByProject[project] : requireJSON(projectPropertiesPath).bundles;
|
|
@@ -1377,7 +1392,11 @@ function CmdHelper(cmd, client, debug) {
|
|
|
1377
1392
|
}
|
|
1378
1393
|
}
|
|
1379
1394
|
|
|
1380
|
-
|
|
1395
|
+
// #B27: index by the loop variable `project` — every other write in this
|
|
1396
|
+
// double-loop does. With the old cmd.projectName index, the loop reaching a
|
|
1397
|
+
// project other than the freshly-added @alias (which has no bundlesByProject
|
|
1398
|
+
// entry yet) dereferenced undefined and hard-crashed `gina project:add`.
|
|
1399
|
+
cmd.bundlesByProject[project][bundle].def_env = (cmd.params.env) ? cmd.params.env : cmd.defaultEnv; // by default
|
|
1381
1400
|
|
|
1382
1401
|
|
|
1383
1402
|
} else {
|
|
@@ -887,12 +887,22 @@ function Add(opt, cmd) {
|
|
|
887
887
|
}
|
|
888
888
|
|
|
889
889
|
/**
|
|
890
|
-
*
|
|
891
|
-
*
|
|
890
|
+
* Creates the project's `node_modules/gina` symlink by invoking the running
|
|
891
|
+
* install's own CLI: `<node> <gina root>/bin/cli link @<project>`.
|
|
892
|
+
*
|
|
893
|
+
* The CLI path is resolved from this file's location — NOT from a PATH-resolved
|
|
894
|
+
* `gina` binary: the PATH may carry no gina at all (a repo checkout where
|
|
895
|
+
* `npm install --ignore-scripts` skipped the bin linking) or a different install
|
|
896
|
+
* than the one executing `project:add`. Same rationale as framework/link.js,
|
|
897
|
+
* which resolves the symlink source from its own location.
|
|
898
|
+
*
|
|
899
|
+
* Success is verified on the actual postcondition — the symlink exists — because
|
|
900
|
+
* the Shell helper reports any stderr output as an error even when the command
|
|
901
|
+
* succeeded.
|
|
892
902
|
*
|
|
893
903
|
* @inner
|
|
894
904
|
* @private
|
|
895
|
-
* @param {function} onError - Called with an Error when the link
|
|
905
|
+
* @param {function} onError - Called with an Error when the gina symlink is still missing after the link attempt
|
|
896
906
|
* @param {function} onSuccess - Called with no arguments on success
|
|
897
907
|
*/
|
|
898
908
|
var linkGina = function ( onError, onSuccess ) {
|
|
@@ -902,19 +912,25 @@ function Add(opt, cmd) {
|
|
|
902
912
|
npm.setOptions({ chdir: self.projectLocation });
|
|
903
913
|
npm
|
|
904
914
|
// .run('npm link gina', true)
|
|
905
|
-
.run('gina link @'+ self.projectName, true)
|
|
915
|
+
// was: .run('gina link @'+ self.projectName, true)
|
|
916
|
+
// A PATH-resolved binary is not guaranteed to exist (repo checkout,
|
|
917
|
+
// non-global install) and its failure was silently swallowed — the
|
|
918
|
+
// scaffolded bundle then crashed at boot with MODULE_NOT_FOUND on its
|
|
919
|
+
// framework require. Invoke the running install's own CLI instead.
|
|
920
|
+
.run([ process.execPath, require('path').resolve(__dirname, '../../../../..', 'bin/cli'), 'link', '@'+ self.projectName ], true)
|
|
906
921
|
.onComplete(function (err, data) {
|
|
907
|
-
if (err) {
|
|
908
|
-
if ( typeof(onSuccess) != 'undefined' ) {
|
|
909
|
-
onSuccess(err);
|
|
910
|
-
} else {
|
|
911
|
-
console.error(err.stack);
|
|
912
|
-
}
|
|
913
922
|
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
923
|
+
var ginaModule = _(self.projectLocation + '/node_modules/gina', true);
|
|
924
|
+
if ( !fs.existsSync(ginaModule) ) {
|
|
925
|
+
err = new Error('Could not create the gina symlink in [ '+ self.projectLocation +'/node_modules ]'+ ( err ? '\n'+ ( err.stack || err ) : '' ));
|
|
926
|
+
if ( typeof(onError) != 'undefined' ) {
|
|
927
|
+
return onError(err);
|
|
928
|
+
}
|
|
929
|
+
return console.error(err.stack);
|
|
917
930
|
}
|
|
931
|
+
|
|
932
|
+
if ( typeof(onSuccess) != 'undefined' )
|
|
933
|
+
onSuccess()
|
|
918
934
|
})
|
|
919
935
|
}
|
|
920
936
|
|
|
@@ -138,6 +138,13 @@ function Lib() {
|
|
|
138
138
|
// (getUrl, getWebroot, length, nl2br, addHours, addDays, addYears).
|
|
139
139
|
// Registered via env.addFilter() in render-nunjucks.js per request.
|
|
140
140
|
nunjucksFilters: _require('./nunjucks-filters'),
|
|
141
|
+
// #TPL1 — Async template-loader extension point. Builds a built-in
|
|
142
|
+
// loader (memory; http in a later slice) from its flat
|
|
143
|
+
// settings.template.<engine>.loader config and wraps it with a
|
|
144
|
+
// CVE-2023-25345 segment-guard. Consumed by initSwigEngine (startup
|
|
145
|
+
// build + validation) and controller.render-swig-async.js. Pure factory
|
|
146
|
+
// (no singleton state), so _require (hot-reloadable) is safe.
|
|
147
|
+
templateLoaders : _require('./template-loaders'),
|
|
141
148
|
// #AI8b — MCP server primitives (JSON-RPC 2.0 framing, lifecycle,
|
|
142
149
|
// method handlers). Transport-agnostic; wired to stdio by bundle:mcp-start.
|
|
143
150
|
mcpServer : _require('./mcp-server'),
|
|
@@ -253,6 +253,23 @@ function ModelUtil() {
|
|
|
253
253
|
}
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
+
// #B29 — a connectors.json with no actual connector entries (only a
|
|
257
|
+
// `$schema` annotation — the `bundle:add` scaffold default — or an empty
|
|
258
|
+
// `{}`) leaves `models` a truthy object with zero object-valued keys, so
|
|
259
|
+
// the guard above entered this connector branch. The connector loop below
|
|
260
|
+
// `continue`s past every non-object key, so `done()` (the sole `cb()`
|
|
261
|
+
// caller) is never reached and the boot stalls before `.listen()`. Treat a
|
|
262
|
+
// zero-connector config like the no-connectors `else` branch: advance to
|
|
263
|
+
// the next bundle (or finish), firing the completion callback.
|
|
264
|
+
if (_connectorCount === 0) {
|
|
265
|
+
if (b < bundles.length-1) {
|
|
266
|
+
loadModel(b+1, bundles, configuration, env, cb)
|
|
267
|
+
} else {
|
|
268
|
+
cb()
|
|
269
|
+
}
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
|
|
256
273
|
var t = 0;
|
|
257
274
|
|
|
258
275
|
var done = function(connector, modelConnectors) {
|
|
@@ -127,17 +127,36 @@ function NunjucksFilters(conf) {
|
|
|
127
127
|
return JSON.clone(self.options);
|
|
128
128
|
};
|
|
129
129
|
|
|
130
|
+
// #TPL1 Tier-2 — per-request filter context. The async render delegates
|
|
131
|
+
// register the context-bearing filters ONCE on a shared per-bundle env and
|
|
132
|
+
// pass each request's { options, isProxyHost, throwError, req, res } through
|
|
133
|
+
// process.gina._renderALS (an AsyncLocalStorage .run() wrap around the
|
|
134
|
+
// awaited render). getUrl / getWebroot / t / tIcu read that store at CALL
|
|
135
|
+
// time, so a single shared filter table cannot bleed one request's context
|
|
136
|
+
// into another's interleaved async render (#B25). On the sync render path
|
|
137
|
+
// the delegate never enters .run() -> getStore() is undefined -> the
|
|
138
|
+
// per-request singleton (set by the per-request NunjucksFilters() call)
|
|
139
|
+
// applies, byte-identical to pre-#TPL1.
|
|
140
|
+
var getRenderCtx = function () {
|
|
141
|
+
var _store = ( typeof(process) != 'undefined' && process.gina && process.gina._renderALS )
|
|
142
|
+
? process.gina._renderALS.getStore()
|
|
143
|
+
: null;
|
|
144
|
+
return _store || NunjucksFilters.instance._options || self.options;
|
|
145
|
+
};
|
|
146
|
+
|
|
130
147
|
/**
|
|
131
|
-
* Resolve the bundle's web root URL.
|
|
148
|
+
* Resolve the bundle's web root URL (scheme + host[:port] + webroot).
|
|
132
149
|
*
|
|
133
|
-
* Mirror of `SwigFilters.getWebroot`.
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
*
|
|
150
|
+
* Mirror of `SwigFilters.getWebroot`. Resolves the target bundle's env
|
|
151
|
+
* config via the global Config registry
|
|
152
|
+
* (`getContext('gina').Config.instance.Env.getConf`) — the same lookup the
|
|
153
|
+
* sibling `getUrl` filter uses — for templates that need the absolute origin
|
|
154
|
+
* for rendering links to other bundles. When `obj` is omitted, `Env.getConf`
|
|
155
|
+
* defaults to the current bundle.
|
|
137
156
|
*
|
|
138
157
|
* @memberof NunjucksFilters
|
|
139
158
|
* @param {string} input - Pipe input (typically a path string)
|
|
140
|
-
* @param {
|
|
159
|
+
* @param {string} [obj] - Bundle name; defaults to the current bundle
|
|
141
160
|
* @returns {string} Absolute URL: `scheme://host[:port]/webroot`
|
|
142
161
|
*
|
|
143
162
|
* @example
|
|
@@ -145,10 +164,17 @@ function NunjucksFilters(conf) {
|
|
|
145
164
|
*/
|
|
146
165
|
self.getWebroot = function (input, obj) {
|
|
147
166
|
|
|
148
|
-
var ctx =
|
|
167
|
+
var ctx = getRenderCtx();
|
|
149
168
|
|
|
169
|
+
// #B26 fix: the original line below threw on every invocation — `self.options`
|
|
170
|
+
// is the per-request wrapper ({ options, isProxyHost, throwError, req, res }), so
|
|
171
|
+
// `self.options.envObj` is undefined; and bare `options` was undeclared in this
|
|
172
|
+
// scope. Resolve the bundle env config the same way the sibling getUrl filter
|
|
173
|
+
// does, via the global Config registry.
|
|
174
|
+
// , prop = self.options.envObj.getConf(obj, options.conf.env)
|
|
175
|
+
var mainConf = getContext('gina').Config.instance;
|
|
150
176
|
var url = null
|
|
151
|
-
, prop =
|
|
177
|
+
, prop = mainConf.Env.getConf(obj, mainConf.env)
|
|
152
178
|
, isProxyHost = ( ctx.isProxyHost && String(ctx.isProxyHost).toLowerCase() === 'true' ) ? true : (( typeof(process.gina.PROXY_HOSTNAME) != 'undefined' ) ? true : false)
|
|
153
179
|
;
|
|
154
180
|
if ( isProxyHost ) {
|
|
@@ -189,7 +215,7 @@ function NunjucksFilters(conf) {
|
|
|
189
215
|
if (typeof(params) == 'undefined') {
|
|
190
216
|
params = {};
|
|
191
217
|
}
|
|
192
|
-
var ctx =
|
|
218
|
+
var ctx = getRenderCtx();
|
|
193
219
|
|
|
194
220
|
var config = null
|
|
195
221
|
, scheme = null
|
|
@@ -452,7 +478,7 @@ function NunjucksFilters(conf) {
|
|
|
452
478
|
* {{ "common.items" | t({ count: 5 }) }}
|
|
453
479
|
*/
|
|
454
480
|
self.t = function(key, params) {
|
|
455
|
-
var ctx =
|
|
481
|
+
var ctx = getRenderCtx();
|
|
456
482
|
var culture = (ctx && ctx.req && ctx.req.culture)
|
|
457
483
|
? ctx.req.culture
|
|
458
484
|
: (process.env.GINA_CULTURE || null);
|
|
@@ -485,7 +511,7 @@ function NunjucksFilters(conf) {
|
|
|
485
511
|
* {{ "user.greeting" | tIcu({ gender: 'female', name: user.name }) }}
|
|
486
512
|
*/
|
|
487
513
|
self.tIcu = function(key, params) {
|
|
488
|
-
var ctx =
|
|
514
|
+
var ctx = getRenderCtx();
|
|
489
515
|
var culture = (ctx && ctx.req && ctx.req.culture)
|
|
490
516
|
? ctx.req.culture
|
|
491
517
|
: (process.env.GINA_CULTURE || null);
|
|
@@ -201,7 +201,7 @@ function Routing() {
|
|
|
201
201
|
method : method,
|
|
202
202
|
requirements : routeObject.requirements,
|
|
203
203
|
namespace : routeObject.namespace || undefined,
|
|
204
|
-
url :
|
|
204
|
+
url : safeDecodeURI(req.url), /// avoid %20 — #B30 malformed-%-safe
|
|
205
205
|
rule : routeObject.originalRule || cachedRoute.name,
|
|
206
206
|
|
|
207
207
|
param : routeObject.param,
|
|
@@ -1474,7 +1474,7 @@ function Routing() {
|
|
|
1474
1474
|
|
|
1475
1475
|
pathname = url.replace( new RegExp('^('+ hostname +'|'+hostname.replace(/\:\d+/, '') +')' ), '');
|
|
1476
1476
|
if ( typeof(request.routing.path) == 'undefined' )
|
|
1477
|
-
request.routing.path =
|
|
1477
|
+
request.routing.path = safeDecodeURI(pathname); // #B30 malformed-%-safe
|
|
1478
1478
|
method = ( typeof(method) != 'undefined' ) ? method.toLowerCase() : 'get';
|
|
1479
1479
|
|
|
1480
1480
|
if (isMethodProvidedByDefault) {
|
|
@@ -1482,7 +1482,7 @@ function Routing() {
|
|
|
1482
1482
|
request.originalMethod = request.method;
|
|
1483
1483
|
|
|
1484
1484
|
request.method = method;
|
|
1485
|
-
request.routing.path =
|
|
1485
|
+
request.routing.path = safeDecodeURI(pathname) // #B30 malformed-%-safe
|
|
1486
1486
|
}
|
|
1487
1487
|
// last method check
|
|
1488
1488
|
if ( !request.method)
|
|
@@ -1517,7 +1517,7 @@ function Routing() {
|
|
|
1517
1517
|
method : localMethod,
|
|
1518
1518
|
requirements : routing[name].requirements,
|
|
1519
1519
|
namespace : routing[name].namespace || undefined,
|
|
1520
|
-
url :
|
|
1520
|
+
url : safeDecodeURI(pathname), /// avoid %20 — #B30 malformed-%-safe
|
|
1521
1521
|
rule : routing[name].originalRule || name,
|
|
1522
1522
|
param : routing[name].param,
|
|
1523
1523
|
//middleware: routing[name].middleware,
|
|
@@ -104,13 +104,52 @@ function SwigFilters(conf) {
|
|
|
104
104
|
return JSON.clone(self.options)
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
//
|
|
107
|
+
// #TPL1 Tier-2 — per-request filter context. The async render delegates
|
|
108
|
+
// register the context-bearing filters ONCE on a shared per-bundle engine
|
|
109
|
+
// and pass each request's { options, isProxyHost, throwError, req, res }
|
|
110
|
+
// through process.gina._renderALS (an AsyncLocalStorage .run() wrap around
|
|
111
|
+
// the awaited render). getUrl / getWebroot / t / tIcu read that store at
|
|
112
|
+
// CALL time, so a single shared filter table cannot bleed one request's
|
|
113
|
+
// context into another's interleaved async render (#B25). On the sync
|
|
114
|
+
// render path the delegate never enters .run() -> getStore() is undefined
|
|
115
|
+
// -> the per-request singleton (set by the per-request SwigFilters() call)
|
|
116
|
+
// applies, byte-identical to pre-#TPL1.
|
|
117
|
+
var getRenderCtx = function () {
|
|
118
|
+
var _store = ( typeof(process) != 'undefined' && process.gina && process.gina._renderALS )
|
|
119
|
+
? process.gina._renderALS.getStore()
|
|
120
|
+
: null;
|
|
121
|
+
return _store || SwigFilters.instance._options || self.options;
|
|
122
|
+
};
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Resolve a bundle's absolute web root URL (scheme + host[:port] + webroot).
|
|
126
|
+
*
|
|
127
|
+
* Resolves the target bundle's env config via the global Config registry
|
|
128
|
+
* (`getContext('gina').Config.instance.Env.getConf`) — the same lookup the
|
|
129
|
+
* sibling `getUrl` filter uses. When `obj` is omitted, `Env.getConf` defaults
|
|
130
|
+
* to the current bundle.
|
|
131
|
+
*
|
|
132
|
+
* @memberof SwigFilters
|
|
133
|
+
* @param {string} input - Pipe input (unused; templates pipe a placeholder)
|
|
134
|
+
* @param {string} [obj] - Bundle name; defaults to the current bundle
|
|
135
|
+
* @returns {string} Absolute URL: `scheme://host[:port]/webroot`
|
|
136
|
+
*
|
|
137
|
+
* @example
|
|
138
|
+
* {{ '' | getWebroot() }}
|
|
139
|
+
*/
|
|
108
140
|
self.getWebroot = function (input, obj) {
|
|
109
141
|
|
|
110
|
-
var ctx =
|
|
142
|
+
var ctx = getRenderCtx();
|
|
111
143
|
|
|
144
|
+
// #B26 fix: the original line below threw on every invocation — `self.options`
|
|
145
|
+
// is the per-request wrapper ({ options, isProxyHost, throwError, req, res }), so
|
|
146
|
+
// `self.options.envObj` is undefined; and bare `options` was undeclared in this
|
|
147
|
+
// scope. Resolve the bundle env config the same way the sibling getUrl filter
|
|
148
|
+
// does, via the global Config registry.
|
|
149
|
+
// , prop = self.options.envObj.getConf(obj, options.conf.env)
|
|
150
|
+
var mainConf = getContext('gina').Config.instance;
|
|
112
151
|
var url = null
|
|
113
|
-
, prop =
|
|
152
|
+
, prop = mainConf.Env.getConf(obj, mainConf.env)
|
|
114
153
|
, isProxyHost = ( ctx.isProxyHost && String(ctx.isProxyHost).toLowerCase() === 'true' ) ? true : (( typeof(process.gina.PROXY_HOSTNAME) != 'undefined' ) ? true : false)
|
|
115
154
|
;
|
|
116
155
|
if ( isProxyHost ) {
|
|
@@ -166,7 +205,7 @@ function SwigFilters(conf) {
|
|
|
166
205
|
if (typeof(params) == 'undefined') {
|
|
167
206
|
params = {}
|
|
168
207
|
}
|
|
169
|
-
var ctx =
|
|
208
|
+
var ctx = getRenderCtx();
|
|
170
209
|
|
|
171
210
|
var config = null
|
|
172
211
|
, scheme = null
|
|
@@ -421,7 +460,7 @@ function SwigFilters(conf) {
|
|
|
421
460
|
* {{ "common.items" | t({ count: 5 }) }}
|
|
422
461
|
*/
|
|
423
462
|
self.t = function(key, params) {
|
|
424
|
-
var ctx =
|
|
463
|
+
var ctx = getRenderCtx();
|
|
425
464
|
var culture = (ctx && ctx.req && ctx.req.culture)
|
|
426
465
|
? ctx.req.culture
|
|
427
466
|
: (process.env.GINA_CULTURE || null);
|
|
@@ -454,7 +493,7 @@ function SwigFilters(conf) {
|
|
|
454
493
|
* {{ "user.greeting" | tIcu({ gender: 'female', name: user.name }) }}
|
|
455
494
|
*/
|
|
456
495
|
self.tIcu = function(key, params) {
|
|
457
|
-
var ctx =
|
|
496
|
+
var ctx = getRenderCtx();
|
|
458
497
|
var culture = (ctx && ctx.req && ctx.req.culture)
|
|
459
498
|
? ctx.req.culture
|
|
460
499
|
: (process.env.GINA_CULTURE || null);
|