gina 0.5.13 → 0.5.14
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 +8 -0
- package/README.md +5 -16
- package/ROADMAP.md +1 -0
- package/framework/v0.5.14/VERSION +1 -0
- package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/js/gina.js +119 -31
- package/framework/v0.5.14/core/asset/plugin/dist/vendor/gina/js/gina.min.js +580 -0
- package/framework/v0.5.14/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.5.14/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/validator/src/form-validator.js +98 -28
- package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/validator/src/main.js +21 -3
- package/framework/{v0.5.13 → v0.5.14}/helpers/plugins/src/api-error.js +26 -1
- package/framework/{v0.5.13 → v0.5.14}/lib/i18n/src/main.js +6 -4
- package/framework/{v0.5.13 → v0.5.14}/package.json +1 -1
- package/gna.js +4 -4
- package/llms.txt +1 -1
- package/package.json +3 -3
- package/framework/v0.5.13/VERSION +0 -1
- package/framework/v0.5.13/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -577
- package/framework/v0.5.13/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- package/framework/v0.5.13/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/AUTHORS +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/LICENSE +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/html/static.html +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/inspector/have_heart_one-webfont.woff2 +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/config.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/couchbase/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/couchbase/lib/connector.v3.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/couchbase/lib/connector.v4.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/mongodb/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/mongodb/lib/connector.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/mongodb/lib/job-store.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/mongodb/lib/pipeline-loader.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/mongodb/lib/session-store.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/mysql/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/postgresql/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/redis/lib/connector.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/redis/lib/job-store.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/redis/lib/session-store.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/scylladb/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/scylladb/lib/connector.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/scylladb/lib/session-store.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/sql-parser.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/sqlite/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/sqlite/lib/connector.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/sqlite/lib/job-store.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/connectors/sqlite/lib/session-store.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/content.encoding +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/controller/controller.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/controller/controller.render-json.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/controller/controller.render-nunjucks-async.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/controller/controller.render-nunjucks.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/controller/controller.render-swig-async.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/controller/controller.render-swig.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/controller/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/controller/inspector-window-emit.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/deps/busboy-1.6.0/LICENSE +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/deps/busboy-1.6.0/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/deps/busboy-1.6.0/lib/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/deps/busboy-1.6.0/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/deps/streamsearch-1.1.0/LICENSE +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/deps/streamsearch-1.1.0/lib/sbmh.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/deps/streamsearch-1.1.0/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/dev/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/gna.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/locales/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/locales/currency.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/locales/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/mime.types +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/model/entity.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/model/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/model/template/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/csrf/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/csrf/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/csrf/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/coep/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/coep/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/coep/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/coop/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/coop/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/coop/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/corp/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/corp/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/corp/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/csp/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/csp/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/csp/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/hide-powered-by/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/hide-powered-by/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/hide-powered-by/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/hsts/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/hsts/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/hsts/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/origin-agent-cluster/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/origin-agent-cluster/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/origin-agent-cluster/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/referrer-policy/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/referrer-policy/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/referrer-policy/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-content-type-options/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-content-type-options/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-content-type-options/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-dns-prefetch-control/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-dns-prefetch-control/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-dns-prefetch-control/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-download-options/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-download-options/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-download-options/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-frame-options/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-frame-options/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-frame-options/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-permitted-cross-domain-policies/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-xss-protection/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-xss-protection/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/security-headers/x-xss-protection/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/session/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/session/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/session/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/storage/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/storage/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/plugins/lib/validator/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/router.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/server.express.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/server.isaac.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/server.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/status.codes +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/_gitignore +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle/locales/en.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_public/manifest.webmanifest +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_public/sw.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/conf/env.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/conf/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/conf/templates.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/console.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/context.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/data/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/data/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/data/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/json/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/json/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/json/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/path.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/plugins/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/prototypes.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/task.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/helpers/text.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/admin/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/admin/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/archiver/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/archiver/build.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/archiver/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/archiver/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/async/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/async/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cache/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cache/build.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cache/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cache/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/add.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/build.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/inc/name-rewrite.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/man.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/mcp-start.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/mcp.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/oas.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/openapi.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/start.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/connector/add.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/connector/arguments.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/connector/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/connector/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/connector/infer.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/connector/list.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/connector/migrate.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/connector/models.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/connector/remove.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/connector/rm.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/connector/test.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/add.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/arguments.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/build.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/init.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/link.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/list.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/man.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/remove.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/reset.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/tail.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/framework/version.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/helper.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/i18n/add.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/i18n/arguments.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/i18n/export.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/i18n/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/i18n/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/i18n/import.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/i18n/scan.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/image/arguments.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/image/build.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/image/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/image/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/image/man.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/inspector/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/inspector/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/inspector/open.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/man-render.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/minion/arguments.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/minion/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/minion/kill.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/minion/list.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/add.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/backup.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/build.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/man.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/restore.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/protocol/arguments.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/protocol/remove.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/secrets/arguments.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/secrets/check.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/secrets/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/secrets/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/secrets/scan.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/service/help.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/service/help.txt +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/service/list.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/service/man.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/service/start.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd-status-format/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cmd-status-format/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/collection/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/collection/build.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/collection/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/collection/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/config.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/connector-config/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/connector-config/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/connector-registry/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/connector-registry/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cron/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cron/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/domain/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/domain/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/generator/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/i18n/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/image-build/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/image-build/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/inherits/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/inherits/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/inherits/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/inspector-events/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/inspector-events/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/inspector-redact/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/inspector-redact/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/instrument/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/instrument/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/job/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/job/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/job-store.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/json-config-header/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/json-config-header/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/logger/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/logger/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/logger/src/containers/mq/listener.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/logger/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/math/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/mcp-dispatch/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/mcp-dispatch/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/mcp-http/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/mcp-http/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/mcp-server/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/mcp-server/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/merge/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/merge/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/metrics/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/metrics/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/model.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/nunjucks-filters/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/nunjucks-filters/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/nunjucks-filters/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/nunjucks-resolver/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/nunjucks-resolver/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/proc.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/routing/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/routing/build.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/routing/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/routing/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/routing/src/radix.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/routing-introspect/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/routing-introspect/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/secrets/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/secrets/src/backends/env.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/secrets/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/session-store.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/shell.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/state.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/swig-filters/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/swig-filters/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/swig-resolver/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/swig-resolver/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/template-loaders/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/template-loaders/src/loaders/http.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/template-loaders/src/loaders/memory.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/template-loaders/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/url/README.md +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/url/index.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/url/routing.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/uuid/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/uuid/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/validator.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/watcher/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/watcher/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/ws-framing/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/ws-framing/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/ws-query/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/ws-query/src/main.js +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/ws-session/package.json +0 -0
- /package/framework/{v0.5.13 → v0.5.14}/lib/ws-session/src/main.js +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,14 @@ adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html),
|
|
|
6
6
|
and is generated by [Changie](https://github.com/miniscruff/changie).
|
|
7
7
|
|
|
8
8
|
|
|
9
|
+
## 0.5.14 - 2026-07-09
|
|
10
|
+
### Added
|
|
11
|
+
* Stable publishes now assert README.md carries exactly one "What's in <version>" section, naming the version being released (script/check_readme_freshness.js, wired into the release prepare step). The publish aborts when the section is missing, duplicated, or names a different version. Previously the gate only asserted that README.md had been touched since the previous stable tag, which is blind to a wrong edit: adding a new section while leaving the prior one in place touches the file, so the gate passed while shipping a README whose newest release was buried under older ones. The version-match assertion is skipped on prerelease targets, where the drafted stable heading legitimately precedes the version bump. Alpha publishes skip the gate entirely.
|
|
12
|
+
### Fixed
|
|
13
|
+
* A form error label that is not a string no longer takes the form down. The validator engine now discards it, warns once naming the rule, and renders that rule's English default instead — covering all four sources a label can arrive from: a bundle catalog's `_validator` node, a `gina.validator.setErrorLabels()` override, a rule's `errorMessage` argument, and a field's `error`. Only the first was caught by the boot lint. Previously the engine threw `TypeError: target.match is not a function`, and nothing on the path catches it: the validation pass aborted, so no error message rendered, the form never submitted through gina, and because the boot-time pass throws out of an unguarded form-binding loop, every later form on the page was left unbound — the page silently fell back to native browser submits with no client-side validation at all. Separately, `compileError()` no longer throws when a backend field error carries no `{{placeholder}}` (a plain string such as "Already taken" made `String.match` return `null`, and the null was dereferenced), and the query rule keeps its resolved label when a backend field error is not a string.
|
|
14
|
+
* A validation error returned for a specific form field no longer exposes a raw server stack trace to the browser. When an ApiError is built for a client field (`new gina.ApiError(err, 'fieldName')`) and the underlying error has no message — so the framework falls back to its stack — or an application passes a stack string directly, the field message is now replaced with a neutral one (`An error occurred`) outside local scope; the full stack is kept in local scope for debugging. This mirrors how Gina already strips the stack from the JSON error body outside local scope, and closes the one channel that strip could not reach: the per-field message map, which the form validator renders verbatim.
|
|
15
|
+
* A validator field that stays in error while its message changes — because the value now fails a different rule, the message is value-dependent, or a late `setErrorLabels()` overlay changed the label — now re-announces the new message through the form's ARIA live region, so assistive technology no longer keeps announcing the first message. The visible message already refreshed on such updates; this fixes the screen-reader announcement to match.
|
|
16
|
+
|
|
9
17
|
## 0.5.13 - 2026-07-08
|
|
10
18
|
### Added
|
|
11
19
|
* Gina now warns at bundle boot when a `_validator` label in a locale catalog cannot be rendered. Built-in rule labels accept only the placeholders `%l` (field label), `%n` (field name) and `%s` (size); any other `%`-token — including a literal percent glued to letters, as in `20%sur le prix` — is substituted with the string "undefined" in the message shown to the user, and a non-string label makes the validator throw. The catalog still loads, and the warning names the offending rule and the catalog file, so a translation typo surfaces in the boot log instead of in production copy.
|
package/README.md
CHANGED
|
@@ -42,23 +42,12 @@ open https://localhost:3100
|
|
|
42
42
|
|
|
43
43
|
> **npm 12+** blocks install scripts by default, and gina's post-install bootstraps `~/.gina` and the framework dependencies. Install with `npm install -g gina@latest --allow-scripts=gina`, or allow it once for all global installs with `npm config set allow-scripts=gina --location=user`. (Not needed on npm ≤ 11.)
|
|
44
44
|
|
|
45
|
-
## What's in 0.5.
|
|
45
|
+
## What's in 0.5.14
|
|
46
46
|
|
|
47
|
-
- **
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
- **Added — FormValidator built-in rule labels localise from the i18n catalog, client and server.** The built-in rule messages (`isEmail`, `isRequired`, and the rest) now resolve per culture from `bundle/locales/<culture>.json` under the `_validator.<rule>` namespace, on both the server-rendered and client-side validation paths — English defaults fill any gaps, with a culture → base-language → English fallback. An app can still override per key with `gina.validator.setErrorLabels(labels[, culture])` (precedence: `setErrorLabels` > bundle catalog > English), and a per-field or per-rule message still wins over all of it.
|
|
52
|
-
- **Added — per-bundle i18n catalogs activate culture negotiation and `t()`.** A bundle that ships a `locales/` directory now loads its catalogs at boot, activating URL-prefix / cookie / `Accept-Language` culture negotiation, the `t()` global, and the `t` template filter (opt-in and non-fatal — no `locales/` → unaffected; a malformed catalog warns rather than blocking boot). Two fixes make the negotiated culture actually reach every request: it previously resolved to `en`/empty regardless of configuration (#B83), and was dropped on warm/cached page reloads (#B84).
|
|
53
|
-
- **Added — `data-gina-form-rule` forms auto-boot the client validator.** A form declaring `data-gina-form-rule` with a matching rule set now validates in the browser automatically at page load, with no per-page boot code — the same batteries-included behaviour as `data-gina-dialog` popins. Explicit construction to attach submit/lifecycle handlers still works and is idempotent with the auto-boot.
|
|
54
|
-
- **Fixed — FormValidator correctness.** An empty required field shows a single "is required" message instead of also stacking "invalid" (#B78); a cross-field `is` rule no longer throws (and ungates the form) when the referenced field is still empty (#B82); and an invalid submit trigger is now marked `aria-disabled` + `.gina-form-submit-disabled` instead of natively `disabled`, so a click still surfaces every field error and focuses the first invalid field (#B76) — consumers should style that state (the framework ships no button CSS).
|
|
55
|
-
- **Fixed — popin / redirect robustness.** A hover/focus-warmed popin whose GET returned an XHR redirect no longer shows raw JSON (#B80); a `_self` popin redirect no longer intermittently opens against a not-yet-loaded body (#B77); XHR/popin redirect responses carry the same `no-store` directives as plain redirects (#B75); and the HTTP/1.x static directory-to-index redirect now sends an unconditional 301 outside dev instead of a blank 200.
|
|
56
|
-
- **Fixed — CLI robustness.** A malformed `@<project>` token (uppercase / dash / bare `@`) is now rejected with a clear error and exit 1 instead of silently targeting the wrong project (#B69); `GINA_HOMEDIR` is re-exported to every spawned child command so a home override is honoured; `project:start` / `service:start` delegate instead of hanging on a version-gate misparse; bulk `start` / `stop` / `restart` on a bundle-less project answer cleanly instead of crashing the daemon; and the framework-not-installed hint points at the real `gina framework:add` (#B81).
|
|
57
|
-
|
|
58
|
-
## What's in 0.5.11
|
|
59
|
-
|
|
60
|
-
- **Added — `gina image:build`: first-class OCI packaging.** Package a project bundle as a standard OCI image with one command: it synthesizes a `Containerfile` + build context from the project's registered state (bundles, entry, ports, env model, Node engine floor) and executes the build with buildah — natively on Linux, or on a container host reached over ssh (`GINA_CONTAINER_HOST=ssh://[user@]host[:port]` env override → native buildah → `container.host` in `~/.gina/<shortVersion>/settings.json`). A non-dev `--env` ships the release tree built in-image by `gina bundle:build`, so a production image never runs dev-mode hot-reload; the image boots via `gina-init` + `gina-container` (SIGTERM drain) and the `EXPOSE`d port is computed deterministically from the port allocator. `${secret:KEY}` placeholders ride byte-verbatim and resolve from the container environment at runtime — never baked. `--emit` prints the synthesized artifact without building; `--format=json` emits a one-shot machine-readable result; `--stream` emits NDJSON progress frames for CI/GUI consumers.
|
|
61
|
-
- **Fixed — proxied redirects now carry no-store cache headers (#B68).** Framework-emitted redirects on requests classified as reverse-proxied now include `Cache-Control: no-cache, no-store, must-revalidate` (+ `Pragma` / `Expires`), so a browser never caches a proxy-context-derived redirect; the inter-bundle query 3xx forward path inherits the set. Direct production redirects are byte-identical, and the `301` default and route-declared `param.code` are untouched.
|
|
47
|
+
- **Fixed — a non-string validator error label no longer takes the form down.** The validator engine discards it, warns once naming the rule, and renders that rule's English default instead — covering all four sources a label can arrive from: a bundle catalog's `_validator` node, a `gina.validator.setErrorLabels()` override, a rule's `errorMessage` argument, and a field's `error`. Previously the engine threw `TypeError: target.match is not a function`, which aborted the validation pass — no message rendered, the form never submitted through Gina, and every later form on the page was left unbound and silently fell back to a native browser submit with no client-side validation. `compileError()` also no longer throws when a backend field error carries no `{{placeholder}}`, and the `query` rule keeps its resolved label when a backend field error is not a string.
|
|
48
|
+
- **Fixed — a field validation error no longer exposes a raw server stack trace to the browser.** When an `ApiError` is built for a client field and the underlying error has no message (so the framework falls back to its stack) — or an application passes a stack string directly — the per-field message is replaced with a neutral one (`An error occurred`) outside local scope; the full stack is kept in local scope for debugging. This closes the one channel the JSON error-body stack strip could not reach: the per-field message map the form validator renders verbatim.
|
|
49
|
+
- **Fixed — a changing validator message on a still-invalid field is re-announced to assistive technology.** When a field stays in error while its message changes — a different rule now fails, the message is value-dependent, or a late `setErrorLabels()` overlay changed the label — the new message is re-announced through the form's ARIA live region, so screen readers no longer keep announcing the first message. The visible message already refreshed; this fixes the announcement to match.
|
|
50
|
+
- **Added — stable publishes assert the README carries exactly one, correctly-named "What's in" section.** The release step now aborts a stable publish when the section is missing, duplicated, or names a different version — previously it only checked that the file had been touched, which is blind to a wrong edit.
|
|
62
51
|
|
|
63
52
|
See the full [Changelog](./CHANGELOG.md) and [Roadmap](./ROADMAP.md).
|
|
64
53
|
|
package/ROADMAP.md
CHANGED
|
@@ -38,6 +38,7 @@ This roadmap covers planned features, architectural improvements, new connectors
|
|
|
38
38
|
| **Q3 2026** | `0.5.11` ✅ | `image:build` — first-class OCI packaging: synthesizes a Containerfile + build context from the project's registered state (bundles, entry, ports, env model, node floor) and builds with buildah, natively on Linux or on a container host over ssh (env override → native → `container.host` settings fallback); dev/prod parity (a non-dev env ships the release tree built in-image), deterministic `EXPOSE`, `${secret:KEY}` placeholders never baked; `--emit` / `--format=json` / `--stream` NDJSON for CI and GUI consumers · **Fixed**: framework-emitted redirects on proxied requests carry no-store cache headers, so a browser never caches a proxy-context-derived redirect (the inter-bundle query 3xx forward path inherits the set; direct production redirects unchanged) |
|
|
39
39
|
| **Q3 2026** | `0.5.12` ✅ | FormValidator built-in rule labels localise from the per-bundle i18n catalog (`_validator.<rule>`) on both the client and server, with a `gina.validator.setErrorLabels()` per-key override · per-bundle i18n catalogs activate URL-prefix / cookie / `Accept-Language` culture negotiation and `t()` at boot, and the negotiated culture now reaches every request (it previously resolved to `en`/empty #B83, and was dropped on warm/cached reloads #B84) · `data-gina-form-rule` forms auto-boot the client validator · **Fixed**: validator correctness (empty-required single message #B78, cross-field `is` empty operand #B82, submit trigger stays operable via `aria-disabled` #B76), popin / redirect robustness (#B80 / #B77 / #B75, static directory-to-index 301 outside dev), and CLI robustness (malformed `@<project>` rejected #B69, `GINA_HOMEDIR` re-export across child commands, `project:start` / `service:start` delegation, zero-bundle bulk commands, `framework:add` install hint #B81) |
|
|
40
40
|
| **Q3 2026** | `0.5.13` ✅ | Unrenderable `_validator` catalog labels are caught at bundle boot — an unknown `%`-token (anything but `%l` / `%n` / `%s`, including a literal percent glued to letters as in `20%sur le prix`), a non-string label, or a non-object `_validator` section now warns and names the offending rule and catalog file. Warn-only: the catalog still loads, so a translation typo surfaces in the boot log instead of in production copy |
|
|
41
|
+
| **Q3 2026** | `0.5.14` ✅ | Validator + error-handling robustness — a non-string validator error label now degrades to the rule's English default instead of throwing (the throw had aborted validation and left every later form on the page unbound), across all four label sources · a per-field `ApiError` message no longer leaks a raw server stack trace to the browser outside local scope · a changing validator message on a still-invalid field re-announces through the ARIA live region · release: stable publishes assert a single, correctly-named README "What's in" section |
|
|
41
42
|
| **Q1 2027** | `0.5.x` | HTTP/2 priorities (blocked on Node scheduler hooks) · Beemaster admin + visual translation editor |
|
|
42
43
|
| **Q3 2027** | `1.0.0` | First stable release — Windows alpha compatibility is a hard gate |
|
|
43
44
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.5.14
|
|
@@ -2999,6 +2999,16 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
2999
2999
|
'isApiError': 'Condition not satisfied',
|
|
3000
3000
|
'isInList': 'Must be one of: %s'
|
|
3001
3001
|
};
|
|
3002
|
+
/**
|
|
3003
|
+
* Rules already warned about by `replace()`'s fail-soft guard, so one mistyped label
|
|
3004
|
+
* emits one warning and not one per debounced keystroke. Scoped to this engine
|
|
3005
|
+
* instance on purpose: `validate()` builds a fresh engine per pass, but a
|
|
3006
|
+
* module-scoped cache would suppress a second bundle's warning on the server, where
|
|
3007
|
+
* the module is shared across bundles and requests.
|
|
3008
|
+
* @inner
|
|
3009
|
+
* @type {Object.<string, boolean>}
|
|
3010
|
+
*/
|
|
3011
|
+
var _labelWarnings = {};
|
|
3002
3012
|
local.errorLabels = _defaultErrorLabels;
|
|
3003
3013
|
// #i18n (server) — resolve built-in rule labels from the bundle catalog's
|
|
3004
3014
|
// `_validator.<rule>` namespace for the negotiated `culture`. Mirrors the client
|
|
@@ -3127,6 +3137,13 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
3127
3137
|
|
|
3128
3138
|
var compileError = function(error, data) {
|
|
3129
3139
|
var varArr = error.match(/\{\{([^{{}}]+)\}\}/g );
|
|
3140
|
+
// `String.match` with a /g regex yields `null` — not [] — when nothing matches, so a
|
|
3141
|
+
// backend field error carrying no `{{placeholder}}` (the common shape, e.g. "Already
|
|
3142
|
+
// taken") used to die on `varArr.length` before it could be rendered. Nothing along
|
|
3143
|
+
// the only call path catches it, and the throw kills the whole validation pass.
|
|
3144
|
+
if (!varArr) {
|
|
3145
|
+
return error;
|
|
3146
|
+
}
|
|
3130
3147
|
for (let v=0, vLen=varArr.length; v<vLen; v++) {
|
|
3131
3148
|
let localValue = varArr[v]
|
|
3132
3149
|
.replace(/\[/g, '["')
|
|
@@ -3233,7 +3250,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
3233
3250
|
this.error = errorMessage = cachedErrors[this.name].query[this.value].slice(0);
|
|
3234
3251
|
hasCachedErrors = true;
|
|
3235
3252
|
}
|
|
3236
|
-
errors['query'] = replace( this.error || errorMessage || local.errorLabels['query'], this);
|
|
3253
|
+
errors['query'] = replace( this.error || errorMessage || local.errorLabels['query'], this, 'query');
|
|
3237
3254
|
console.debug('[2] potential cached error detected !! ', hasCachedErrors, cachedErrors, ' vs ', errors['query']);
|
|
3238
3255
|
|
|
3239
3256
|
if (hasCachedErrors) {
|
|
@@ -3397,7 +3414,13 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
3397
3414
|
if ( typeof(errorFields[_this.name]) != 'undefined') {
|
|
3398
3415
|
|
|
3399
3416
|
// compiling against rules[field].query.data
|
|
3400
|
-
|
|
3417
|
+
// Only a string can be compiled — `compileError` runs `error.match()`.
|
|
3418
|
+
// A non-string field error from the backend leaves the resolved
|
|
3419
|
+
// `query` label in place (localized, else the English default)
|
|
3420
|
+
// rather than taking the pass down.
|
|
3421
|
+
if ( typeof(errorFields[_this.name]) === 'string' ) {
|
|
3422
|
+
local.errorLabels['query'] = compileError(errorFields[_this.name], options.data);
|
|
3423
|
+
}
|
|
3401
3424
|
|
|
3402
3425
|
|
|
3403
3426
|
} else if ( typeof(result.error) != 'undefined' && /^5/.test(result.status) ) {
|
|
@@ -3407,7 +3430,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
3407
3430
|
// Fixed added on 2023-01-10
|
|
3408
3431
|
// We want `local.errorLabels['query']` before the generic|user defined `rule` error
|
|
3409
3432
|
var optionError = ( typeof(options['error']) != 'undefined' ) ? options['error'] : null;
|
|
3410
|
-
errors['query'] = replace(systemError || _this['error'] || optionError || local.errorLabels['query'],
|
|
3433
|
+
errors['query'] = replace(systemError || _this['error'] || optionError || local.errorLabels['query'], _this, 'query');
|
|
3411
3434
|
|
|
3412
3435
|
console.debug('[1] query error detected !! ', result, errorFields, errors['query']);
|
|
3413
3436
|
}
|
|
@@ -4007,7 +4030,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4007
4030
|
}
|
|
4008
4031
|
|
|
4009
4032
|
if (!isValid) {
|
|
4010
|
-
errors[alias] = replace(this.error || errorMessage || local.errorLabels[alias], this);
|
|
4033
|
+
errors[alias] = replace(this.error || errorMessage || local.errorLabels[alias], this, alias);
|
|
4011
4034
|
if ( typeof(errorStack) != 'undefined' )
|
|
4012
4035
|
errors['stack'] = errorStack;
|
|
4013
4036
|
}
|
|
@@ -4060,7 +4083,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4060
4083
|
}
|
|
4061
4084
|
|
|
4062
4085
|
if (!isValid) {
|
|
4063
|
-
errors['isEmail'] = replace(this['error'] || local.errorLabels['isEmail'], this)
|
|
4086
|
+
errors['isEmail'] = replace(this['error'] || local.errorLabels['isEmail'], this, 'isEmail')
|
|
4064
4087
|
}
|
|
4065
4088
|
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
4066
4089
|
else if ( isValid && typeof(errors['isEmail']) != 'undefined' ) {
|
|
@@ -4102,7 +4125,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4102
4125
|
}
|
|
4103
4126
|
|
|
4104
4127
|
if (!isValid) {
|
|
4105
|
-
errors['isJsonWebToken'] = replace(this['error'] || local.errorLabels['isJsonWebToken'], this)
|
|
4128
|
+
errors['isJsonWebToken'] = replace(this['error'] || local.errorLabels['isJsonWebToken'], this, 'isJsonWebToken')
|
|
4106
4129
|
}
|
|
4107
4130
|
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
4108
4131
|
else if ( isValid && typeof(errors['isJsonWebToken']) != 'undefined' ) {
|
|
@@ -4150,7 +4173,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4150
4173
|
var isValid = (val !== null) ? true : false;
|
|
4151
4174
|
|
|
4152
4175
|
if (!isValid) {
|
|
4153
|
-
errors['isBoolean'] = replace(this.error || local.errorLabels['isBoolean'], this)
|
|
4176
|
+
errors['isBoolean'] = replace(this.error || local.errorLabels['isBoolean'], this, 'isBoolean')
|
|
4154
4177
|
}
|
|
4155
4178
|
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
4156
4179
|
else if ( isValid && typeof(errors['isBoolean']) != 'undefined' ) {
|
|
@@ -4195,7 +4218,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4195
4218
|
}
|
|
4196
4219
|
|
|
4197
4220
|
} catch (err) {
|
|
4198
|
-
errors['isNumber'] = replace(this.error || local.errorLabels['isNumber'], this);
|
|
4221
|
+
errors['isNumber'] = replace(this.error || local.errorLabels['isNumber'], this, 'isNumber');
|
|
4199
4222
|
this.valid = false;
|
|
4200
4223
|
if ( errors.count() > 0 )
|
|
4201
4224
|
this['errors'] = errors;
|
|
@@ -4221,14 +4244,14 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4221
4244
|
if ( !isValid || !isMinLength || !isMaxLength ) {
|
|
4222
4245
|
|
|
4223
4246
|
if ( !isValid )
|
|
4224
|
-
errors['isNumber'] = replace(this.error || local.errorLabels['isNumber'], this);
|
|
4247
|
+
errors['isNumber'] = replace(this.error || local.errorLabels['isNumber'], this, 'isNumber');
|
|
4225
4248
|
if ( !isMinLength || !isMaxLength ) {
|
|
4226
4249
|
if ( !isMinLength )
|
|
4227
|
-
errors['isNumberLength'] = replace(this.error || local.errorLabels['isNumberMinLength'], this);
|
|
4250
|
+
errors['isNumberLength'] = replace(this.error || local.errorLabels['isNumberMinLength'], this, 'isNumberMinLength');
|
|
4228
4251
|
if ( !isMaxLength )
|
|
4229
|
-
errors['isNumberLength'] = replace(this.error || local.errorLabels['isNumberMaxLength'], this);
|
|
4252
|
+
errors['isNumberLength'] = replace(this.error || local.errorLabels['isNumberMaxLength'], this, 'isNumberMaxLength');
|
|
4230
4253
|
if ( minLength === maxLength )
|
|
4231
|
-
errors['isNumberLength'] = replace(this.error || local.errorLabels['isNumberLength'], this);
|
|
4254
|
+
errors['isNumberLength'] = replace(this.error || local.errorLabels['isNumberLength'], this, 'isNumberLength');
|
|
4232
4255
|
}
|
|
4233
4256
|
|
|
4234
4257
|
isValid = false;
|
|
@@ -4259,7 +4282,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4259
4282
|
val = this.value = local.data[this.name] = Math.round(val);
|
|
4260
4283
|
} catch (err) {
|
|
4261
4284
|
|
|
4262
|
-
errors['toInteger'] = replace(this.error || local.errorLabels['toInteger'], this);
|
|
4285
|
+
errors['toInteger'] = replace(this.error || local.errorLabels['toInteger'], this, 'toInteger');
|
|
4263
4286
|
this.valid = false;
|
|
4264
4287
|
if ( errors.count() > 0 )
|
|
4265
4288
|
this['errors'] = errors;
|
|
@@ -4297,22 +4320,22 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4297
4320
|
if ( !isValid || !isMinLength || !isMaxLength ) {
|
|
4298
4321
|
|
|
4299
4322
|
if ( !isValid )
|
|
4300
|
-
errors['isInteger'] = replace(this.error || local.errorLabels['isInteger'], this);
|
|
4323
|
+
errors['isInteger'] = replace(this.error || local.errorLabels['isInteger'], this, 'isInteger');
|
|
4301
4324
|
|
|
4302
4325
|
if ( !isMinLength || !isMaxLength ) {
|
|
4303
4326
|
|
|
4304
4327
|
if ( !isMinLength ) {
|
|
4305
|
-
errors['isIntegerLength'] = replace(this.error || local.errorLabels['isIntegerMinLength'], this);
|
|
4328
|
+
errors['isIntegerLength'] = replace(this.error || local.errorLabels['isIntegerMinLength'], this, 'isIntegerMinLength');
|
|
4306
4329
|
isValid = false;
|
|
4307
4330
|
}
|
|
4308
4331
|
|
|
4309
4332
|
if ( !isMaxLength ) {
|
|
4310
|
-
errors['isIntegerLength'] = replace(this.error || local.errorLabels['isIntegerMaxLength'], this);
|
|
4333
|
+
errors['isIntegerLength'] = replace(this.error || local.errorLabels['isIntegerMaxLength'], this, 'isIntegerMaxLength');
|
|
4311
4334
|
isValid = false;
|
|
4312
4335
|
}
|
|
4313
4336
|
|
|
4314
4337
|
if ( minLength === maxLength ) {
|
|
4315
|
-
errors['isIntegerLength'] = replace(this.error || local.errorLabels['isIntegerLength'], this);
|
|
4338
|
+
errors['isIntegerLength'] = replace(this.error || local.errorLabels['isIntegerLength'], this, 'isIntegerLength');
|
|
4316
4339
|
isValid = false;
|
|
4317
4340
|
}
|
|
4318
4341
|
}
|
|
@@ -4369,14 +4392,14 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4369
4392
|
}
|
|
4370
4393
|
} catch(err) {
|
|
4371
4394
|
isValid = false;
|
|
4372
|
-
errors['toFloat'] = replace(this.error || local.errorLabels['toFloat'], this);
|
|
4395
|
+
errors['toFloat'] = replace(this.error || local.errorLabels['toFloat'], this, 'toFloat');
|
|
4373
4396
|
this.valid = false;
|
|
4374
4397
|
if ( errors.count() > 0 )
|
|
4375
4398
|
this['errors'] = errors;
|
|
4376
4399
|
}
|
|
4377
4400
|
} else {
|
|
4378
4401
|
isValid = false;
|
|
4379
|
-
errors['toFloat'] = replace(this.error || local.errorLabels['toFloatNAN'], this)
|
|
4402
|
+
errors['toFloat'] = replace(this.error || local.errorLabels['toFloatNAN'], this, 'toFloatNAN')
|
|
4380
4403
|
}
|
|
4381
4404
|
}
|
|
4382
4405
|
|
|
@@ -4464,7 +4487,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4464
4487
|
}
|
|
4465
4488
|
|
|
4466
4489
|
if (!isValid) {
|
|
4467
|
-
errors['isFloat'] = replace(this.error || local.errorLabels['isFloat'], this)
|
|
4490
|
+
errors['isFloat'] = replace(this.error || local.errorLabels['isFloat'], this, 'isFloat')
|
|
4468
4491
|
}
|
|
4469
4492
|
|
|
4470
4493
|
// #B78 - keep .valid consistent with a surviving isRequired error.
|
|
@@ -4530,7 +4553,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4530
4553
|
|
|
4531
4554
|
|
|
4532
4555
|
if (!isValid) {
|
|
4533
|
-
errors['isRequired'] = replace(this.error || local.errorLabels['isRequired'], this)
|
|
4556
|
+
errors['isRequired'] = replace(this.error || local.errorLabels['isRequired'], this, 'isRequired')
|
|
4534
4557
|
}
|
|
4535
4558
|
// if error tagged by a previous vlaidation, remove it when isValid == true
|
|
4536
4559
|
else if ( isValid ) {
|
|
@@ -4614,11 +4637,11 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4614
4637
|
isValid = false;
|
|
4615
4638
|
|
|
4616
4639
|
if ( !isMinLength )
|
|
4617
|
-
errors['isStringLength'] = replace(this['error'] || local.errorLabels['isStringMinLength'], this);
|
|
4640
|
+
errors['isStringLength'] = replace(this['error'] || local.errorLabels['isStringMinLength'], this, 'isStringMinLength');
|
|
4618
4641
|
if ( !isMaxLength )
|
|
4619
|
-
errors['isStringLength'] = replace(this['error'] || local.errorLabels['isStringMaxLength'], this);
|
|
4642
|
+
errors['isStringLength'] = replace(this['error'] || local.errorLabels['isStringMaxLength'], this, 'isStringMaxLength');
|
|
4620
4643
|
if (minLength === maxLength)
|
|
4621
|
-
errors['isStringLength'] = replace(this['error'] || local.errorLabels['isStringLength'], this);
|
|
4644
|
+
errors['isStringLength'] = replace(this['error'] || local.errorLabels['isStringLength'], this, 'isStringLength');
|
|
4622
4645
|
}
|
|
4623
4646
|
|
|
4624
4647
|
}
|
|
@@ -4649,7 +4672,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4649
4672
|
if (!val || val == '' || /NaN|Invalid Date/i.test(val) ) {
|
|
4650
4673
|
if ( /NaN|Invalid Date/i.test(val) ) {
|
|
4651
4674
|
console.warn('[FormValidator::isDate] Provided value for field `'+ this.name +'` is not allowed: `'+ val +'`');
|
|
4652
|
-
errors['isDate'] = replace(this.error || local.errorLabels['isDate'], this);
|
|
4675
|
+
errors['isDate'] = replace(this.error || local.errorLabels['isDate'], this, 'isDate');
|
|
4653
4676
|
|
|
4654
4677
|
}
|
|
4655
4678
|
this.valid = isValid;
|
|
@@ -4736,7 +4759,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4736
4759
|
if ( !errors['isRequired'] && this.value == '' ) {
|
|
4737
4760
|
isValid = true
|
|
4738
4761
|
} else {
|
|
4739
|
-
errors['isDate'] = replace(this.error || local.errorLabels['isDate'], this);
|
|
4762
|
+
errors['isDate'] = replace(this.error || local.errorLabels['isDate'], this, 'isDate');
|
|
4740
4763
|
}
|
|
4741
4764
|
|
|
4742
4765
|
this.valid = isValid;
|
|
@@ -4804,7 +4827,7 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
4804
4827
|
|
|
4805
4828
|
if (!isValid) {
|
|
4806
4829
|
this['size'] = allowedValues.join(', ');
|
|
4807
|
-
errors['isInList'] = replace(this.error || local.errorLabels['isInList'], this);
|
|
4830
|
+
errors['isInList'] = replace(this.error || local.errorLabels['isInList'], this, 'isInList');
|
|
4808
4831
|
} else if ( typeof(errors['isInList']) != 'undefined' ) {
|
|
4809
4832
|
delete errors['isInList'];
|
|
4810
4833
|
}
|
|
@@ -5087,8 +5110,55 @@ function FormValidatorUtil(data, $fields, xhrOptions, fieldsSet, culture) {
|
|
|
5087
5110
|
return local.data
|
|
5088
5111
|
}
|
|
5089
5112
|
|
|
5113
|
+
/**
|
|
5114
|
+
* Interpolate the `%l`/`%n`/`%s` tokens of an error label against a field object.
|
|
5115
|
+
*
|
|
5116
|
+
* `target` reaches here from four independent sources, none of which the framework
|
|
5117
|
+
* controls: a bundle catalog's `_validator.<rule>` label, a runtime
|
|
5118
|
+
* `gina.validator.setErrorLabels()` override, a rule's `errorMessage` argument
|
|
5119
|
+
* (`is: ["$a === $b", <errorMessage>]`), and a per-field `error` (plus the `query`
|
|
5120
|
+
* rule's `systemError`/`optionError`). Only the first is linted at boot.
|
|
5121
|
+
*
|
|
5122
|
+
* A non-string `target` used to throw here, and the throw is unrecoverable: it
|
|
5123
|
+
* escapes `validate()`, so the submit-validation callback never runs and the form
|
|
5124
|
+
* silently refuses to submit, and a boot-time pass aborts the whole form-binding
|
|
5125
|
+
* loop. So degrade instead of dying — an authoring mistake must never cost a form.
|
|
5126
|
+
*
|
|
5127
|
+
* @inner
|
|
5128
|
+
* @param {*} target - The unresolved label. Fail-soft when not a string.
|
|
5129
|
+
* @param {object} fieldObj - Field the label is rendered for; supplies the tokens.
|
|
5130
|
+
* @param {string} [rule] - Rule the label belongs to. OPTIONAL: `replace` is
|
|
5131
|
+
* re-exported to app-defined validators through `getValidationContext()`, which
|
|
5132
|
+
* call it with two arguments. Absent, a non-string label degrades to an empty
|
|
5133
|
+
* message rather than to the rule's English default.
|
|
5134
|
+
* @returns {string} The interpolated label; never throws.
|
|
5135
|
+
*
|
|
5136
|
+
* @example
|
|
5137
|
+
* replace('Should be at least %s characters', { size: 5 }) // -> 'Should be at least 5 characters'
|
|
5138
|
+
* replace({ message: 'oops' }, field, 'isRequired') // -> 'Cannot be left empty' (+ one warn)
|
|
5139
|
+
*/
|
|
5090
5140
|
/**@js_externs replace*/
|
|
5091
|
-
var replace = function(target, fieldObj) {
|
|
5141
|
+
var replace = function(target, fieldObj, rule) {
|
|
5142
|
+
if ( typeof(target) !== 'string' ) {
|
|
5143
|
+
// Prefer the rule's resolved label (it may be localised) over the English
|
|
5144
|
+
// default — the resolved label is only unusable when it IS the bad value,
|
|
5145
|
+
// in which case the `typeof` test below skips it and English wins.
|
|
5146
|
+
var _fallback = ( rule && typeof(local.errorLabels[rule]) === 'string' )
|
|
5147
|
+
? local.errorLabels[rule]
|
|
5148
|
+
: ( rule && typeof(_defaultErrorLabels[rule]) === 'string' )
|
|
5149
|
+
? _defaultErrorLabels[rule]
|
|
5150
|
+
: '';
|
|
5151
|
+
var _warnKey = rule || '(unknown rule)';
|
|
5152
|
+
if ( !_labelWarnings[_warnKey] ) {
|
|
5153
|
+
_labelWarnings[_warnKey] = true;
|
|
5154
|
+
console.warn('[FormValidator] error label for rule `' + _warnKey + '` must be a string'
|
|
5155
|
+
+ ' — got ' + ( target === null ? 'null' : typeof(target) ) + '.'
|
|
5156
|
+
+ ' Falling back to ' + ( _fallback ? '`' + _fallback + '`' : 'an empty message' ) + '.'
|
|
5157
|
+
+ ' Check the bundle catalog\'s `_validator` node, `setErrorLabels()`, the rule\'s'
|
|
5158
|
+
+ ' `errorMessage` argument, and the field\'s `error`.');
|
|
5159
|
+
}
|
|
5160
|
+
target = _fallback;
|
|
5161
|
+
}
|
|
5092
5162
|
var keys = target.match(/%[a-z]+/gi);
|
|
5093
5163
|
if (keys) {
|
|
5094
5164
|
for (var k = 0, len = keys.length; k < len; ++k) {
|
|
@@ -10726,9 +10796,11 @@ function ValidatorPlugin(rules, data, formId, culture) {
|
|
|
10726
10796
|
// }
|
|
10727
10797
|
// }
|
|
10728
10798
|
for (var e in errors[name]) {
|
|
10729
|
-
|
|
10730
|
-
|
|
10731
|
-
|
|
10799
|
+
if (e != 'stack') { // ignore stack for display (parity with the first-error branch, #B89)
|
|
10800
|
+
$msg = document.createElement('p');
|
|
10801
|
+
$msg.appendChild( document.createTextNode(errors[name][e]) );
|
|
10802
|
+
$err.appendChild($msg);
|
|
10803
|
+
}
|
|
10732
10804
|
|
|
10733
10805
|
if ( envIsDev ) {
|
|
10734
10806
|
if (!formsErrors) formsErrors = {};
|
|
@@ -10751,6 +10823,22 @@ function ValidatorPlugin(rules, data, formId, culture) {
|
|
|
10751
10823
|
if ( !isWarning && $el.type != 'hidden' ) {
|
|
10752
10824
|
$el.setAttribute('aria-invalid', 'true');
|
|
10753
10825
|
}
|
|
10826
|
+
|
|
10827
|
+
// #B89 — re-announce the REFRESHED message through the live region. The
|
|
10828
|
+
// first-error branch announces, but this refresh branch rebuilt $err with a
|
|
10829
|
+
// NEW message (the value now fails a different rule, or a late setErrorLabels
|
|
10830
|
+
// overlay changed the label) and, without this, assistive tech kept announcing
|
|
10831
|
+
// the first message. Same guard as the first-error announce: committed (not
|
|
10832
|
+
// soft-warning) errors, per-field/blur path, once focus has left the field.
|
|
10833
|
+
// aria-live=polite + textContent-replace re-announces because the string changed.
|
|
10834
|
+
if (
|
|
10835
|
+
!isWarning
|
|
10836
|
+
&& typeof(fieldName) != 'undefined'
|
|
10837
|
+
&& $err
|
|
10838
|
+
&& $el !== document.activeElement
|
|
10839
|
+
) {
|
|
10840
|
+
announceA11yError($form, $err.textContent);
|
|
10841
|
+
}
|
|
10754
10842
|
}
|
|
10755
10843
|
|
|
10756
10844
|
if (
|