gina 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/test.yml +3 -3
- package/CHANGELOG.md +7 -0
- package/README.md +7 -13
- package/ROADMAP.md +2 -1
- package/framework/v0.3.1/VERSION +1 -0
- package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.js +4 -4
- package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/connector.v2.js +1 -2
- package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/connector.v3.js +1 -2
- package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/connector.v4.js +1 -2
- package/framework/{v0.3.0 → v0.3.1}/core/connectors/mysql/index.js +24 -1
- package/framework/{v0.3.0 → v0.3.1}/core/connectors/postgresql/index.js +24 -1
- package/framework/v0.3.1/core/connectors/sql-parser.js +291 -0
- package/framework/{v0.3.0 → v0.3.1}/core/connectors/sqlite/index.js +24 -1
- package/framework/{v0.3.0 → v0.3.1}/core/controller/controller.render-swig.js +108 -36
- package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/storage/src/main.js +2 -2
- package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/validator/src/main.js +1 -1
- package/framework/{v0.3.0 → v0.3.1}/core/server.js +63 -19
- package/framework/{v0.3.0 → v0.3.1}/lib/cache/src/main.js +1 -1
- package/framework/{v0.3.0 → v0.3.1}/lib/collection/src/main.js +1 -1
- package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/mq/listener.js +2 -2
- package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/main.js +45 -10
- package/llms.txt +3 -2
- package/package.json +4 -7
- package/script/post_install.js +3 -45
- package/script/pre_install.js +2 -14
- package/framework/v0.3.0/VERSION +0 -1
- package/framework/v0.3.0/core/connectors/sql-parser.js +0 -152
- /package/framework/{v0.3.0 → v0.3.1}/AUTHORS +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/LICENSE +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/html/nolayout.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/html/static.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/img/android-chrome-192x192.png +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/img/android-chrome-512x512.png +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/img/apple-touch-icon.png +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/img/favicon-16x16.png +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/img/favicon-32x32.png +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/img/favicon.ico +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.css +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/beemaster/beemaster.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/beemaster/index.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.br +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/css/gina.min.css.gz +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.br +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/html/statusbar.html.gz +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/html/toolbar.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/html/toolbar.html.br +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/html/toolbar.html.gz +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/inspector/index.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.css +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/inspector/inspector.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/inspector/logo.svg +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.br +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.min.js.gz +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.br +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/asset/plugin/dist/vendor/gina/js/gina.onload.min.js.gz +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/config.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/ai/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/ai/lib/connector.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/connector.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/n1ql.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/session-store.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/session-store.v2.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/session-store.v3.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/couchbase/lib/session-store.v4.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/mysql/lib/connector.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/postgresql/lib/connector.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/redis/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/redis/lib/session-store.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/sqlite/lib/connector.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/connectors/sqlite/lib/session-store.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/content.encoding +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/controller/controller.framework.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/controller/controller.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/controller/controller.render-json.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/controller/controller.render-stream.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/controller/controller.render-v1.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/controller/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/LICENSE +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/lib/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/lib/types/multipart.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/lib/types/urlencoded.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/lib/utils.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/busboy-1.6.0/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/optimist-0.6.1/LICENSE +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/optimist-0.6.1/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/optimist-0.6.1/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/optimist-0.6.1/readme.markdown +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/CONTRIBUTING.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/HISTORY.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/LICENSE +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/Makefile +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/bin/swig.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/browser/comments.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/browser/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/api.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/browser.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/cli.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/extending.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/filters.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/includes/TYPES.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/includes/macros.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/index.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/layout.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/loaders.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/previous.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs/tags.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/docs.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/index.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/index.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/js/lib/rainbow.min.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/js/master.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/layouts/html5.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/layouts/master.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/button.less +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/fork.less +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/header.less +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/layout.less +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/mixins.less +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/rainbow.less +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/reset.less +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/sidenav.less +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/swig.less +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/docs/less/variables.less +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/dateformatter.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/filters.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/lexer.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/loaders/filesystem.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/loaders/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/loaders/memory.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/parser.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/swig.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/autoescape.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/block.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/else.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/elseif.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/extends.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/filter.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/for.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/if.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/import.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/include.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/macro.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/parent.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/raw.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/set.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/tags/spaceless.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/lib/utils.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/scripts/config-lint.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/scripts/githooks/post-merge +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/scripts/githooks/pre-commit +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/basic.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/bin.filters.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/bin.locals.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/bin.locals.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/bin.tags.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/bin.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/custom_filter.bin.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/custom_tag.bin.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/custom_tagControls.bin.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/custom_varControls.bin.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/bin/options.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_1.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_1.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_2.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_2.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_base.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_4.base.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_4.middle.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_bare.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_base.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_include.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_layouts/extends_real_base.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_set.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_set.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_3.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_3.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_4.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/extends_tests/extends_4.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/import.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/import.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/include.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/include.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/include_bar.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/include_extends.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/include_extends.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/includes.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/macros.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/macros.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/macros.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/nested_blocks.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/nested_blocks.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/nested_blocks_parent.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/parent-parent.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/parent-parent.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/parent.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/parent.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/set.expectation.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases/set.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases-error/circular.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases-error/circular_parent.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases-error/extends-non-existent.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases-error/report-filename-partial.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/cases-error/report-filename.test.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/comments.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/filters.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/loaders.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/regressions.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/autoescape.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/else.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/extend.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/filter.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/for.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/if.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/import.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/include.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/macro.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/parent.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/raw.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/set.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags/spaceless.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/tags.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/templates.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/variables.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-1.4.2/tests/whitespace.test.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-client/swig-2.0.0.min.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/deps/swig-client/swig.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/dev/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/dev/lib/class.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/dev/lib/factory.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/dev/lib/tools.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/gna.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/locales/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/locales/currency.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/locales/dist/language/en.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/locales/dist/language/fr.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/locales/dist/region/en.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/locales/dist/region/fr.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/locales/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/mime.types +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/model/entity.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/model/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/model/template/entityFactory.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/model/template/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/file/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/file/build.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/file/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/intl/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/intl/build.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/intl/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/intl/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/storage/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/storage/build.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/storage/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/validator/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/validator/build.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/validator/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/plugins/lib/validator/src/form-validator.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/router.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/server.express.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/server.isaac.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/status.codes +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/_gitignore +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/app.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/connectors.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/routing.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/settings.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/settings.server.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/templates.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/config/watchers.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/controllers/controller.content.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/controllers/controller.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/controllers/setup.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_namespace/controllers/controller.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_public/css/default.css +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_public/css/home.css +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_public/css/vendor/readme.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_public/favicon.ico +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_public/js/vendor/readme.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_public/readme.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_templates/handlers/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_templates/html/content/homepage.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-noscript.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_templates/html/includes/error-msg-outdated-browser.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/boilerplate/bundle_templates/html/layouts/main.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/command/gina.bat.tpl +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/command/gina.tpl +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/conf/env.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/conf/manifest.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/conf/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/conf/settings.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/conf/statics.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/conf/templates.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/error/client/json/401.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/error/client/json/403.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/error/client/json/404.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/error/server/html/50x.html +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/error/server/json/500.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/error/server/json/503.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/core/template/extensions/logger/config.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/console.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/context.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/data/LICENSE +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/data/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/data/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/data/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/dateFormat.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/json/LICENSE +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/json/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/json/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/json/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/path.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/plugins/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/plugins/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/plugins/src/api-error.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/plugins/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/prototypes.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/task.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/helpers/text.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/archiver/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/archiver/build.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/archiver/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/archiver/src/dep/jszip.min.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/archiver/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/async/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/async/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cache/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cache/build.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cache/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/aliases.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/add.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/arguments.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/build.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/copy.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/cp.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/help.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/help.txt +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/list.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/remove.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/rename.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/restart.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/rm.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/start.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/status.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/bundle/stop.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/cache/stats.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/add.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/get.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/help.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/help.txt +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/link-dev.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/list.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/remove.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/rm.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/set.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/unset.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/env/use.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/arguments.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/build.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/dot.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/get.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/help.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/help.txt +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/init.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/link-node-modules.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/link.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/msg.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/open.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/restart.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/set.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/start.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/status.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/stop.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/tail.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/update.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/framework/version.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/gina-dev.1.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/gina-framework.1.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/gina.1.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/helper.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/minion/help.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/minion/help.txt +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/msg.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/port/help.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/port/help.txt +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/port/inc/scan.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/port/list.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/port/reset.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/port/set.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/add.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/arguments.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/build.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/help.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/help.txt +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/import.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/list.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/move.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/remove.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/rename.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/restart.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/rm.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/start.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/status.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/project/stop.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/protocol/help.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/protocol/help.txt +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/protocol/list.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/protocol/set.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/add.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/help.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/help.txt +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/link-local.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/link-production.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/list.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/remove.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/rm.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/scope/use.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cmd/view/add.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/collection/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/collection/build.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/collection/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/config.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cron/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cron/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/cron/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/domain/LICENSE +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/domain/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/domain/dist/2025-03-14_13-41-20_UTC.dat +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/domain/dist/public_suffix_list.dat +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/domain/dist/public_suffix_list.dat.br +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/domain/dist/public_suffix_list.dat.gz +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/domain/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/domain/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/generator/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/inherits/LICENSE +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/inherits/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/inherits/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/inherits/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/logger/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/logger/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/default/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/file/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/file/lib/logrotator/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/file/lib/logrotator/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/mq/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/containers/mq/speaker.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/logger/src/helper.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/math/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/merge/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/merge/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/merge/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/model.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/proc.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/routing/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/routing/build.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/routing/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/routing/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/routing/src/radix.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/session-store.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/shell.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/state.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/swig-filters/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/swig-filters/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/swig-filters/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/url/README.md +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/url/index.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/url/routing.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/validator.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/watcher/package.json +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/lib/watcher/src/main.js +0 -0
- /package/framework/{v0.3.0 → v0.3.1}/package.json +0 -0
|
@@ -874,19 +874,54 @@ module.exports = async function render(userData, displayInspector, errOptions, d
|
|
|
874
874
|
console.info(local.req.method +' ['+local.res.statusCode +'] '+ local.req.url);
|
|
875
875
|
// HEAD: send headers only — body suppressed (HTTP spec §4.3.2)
|
|
876
876
|
if ( /^HEAD$/i.test(local.req.method) ) {
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
877
|
+
if ( stream ) {
|
|
878
|
+
// #H8 — HTTP/2 HEAD: stream.respond() with content-length, no body.
|
|
879
|
+
if ( !stream.headersSent ) {
|
|
880
|
+
var _headH = {
|
|
881
|
+
'content-type' : localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
|
|
882
|
+
'content-length' : Buffer.byteLength(htmlContent, 'utf8'),
|
|
883
|
+
':status' : local.res.statusCode || 200
|
|
884
|
+
};
|
|
885
|
+
var _pendingH = local.res.getHeaders ? local.res.getHeaders() : {};
|
|
886
|
+
for (var _hk in _pendingH) {
|
|
887
|
+
if (!(_hk in _headH)) _headH[_hk] = _pendingH[_hk];
|
|
888
|
+
}
|
|
889
|
+
stream.respond(_headH);
|
|
890
|
+
}
|
|
891
|
+
stream.end();
|
|
892
|
+
local.res.headersSent = true;
|
|
893
|
+
} else {
|
|
894
|
+
local.res.setHeader('content-type', localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding);
|
|
895
|
+
local.res.setHeader('content-length', Buffer.byteLength(htmlContent, 'utf8'));
|
|
896
|
+
local.res.end();
|
|
897
|
+
}
|
|
898
|
+
} else if ( stream ) {
|
|
899
|
+
// #H8 — Direct HTTP/2 stream: bypass HTTP/1.1 compat layer.
|
|
900
|
+
// Guard: client may have disconnected (nginx timeout, browser navigation)
|
|
901
|
+
// before the async callback completed. stream.destroyed is true in that
|
|
902
|
+
// case — respond() would throw ERR_HTTP2_INVALID_STREAM.
|
|
903
|
+
if (stream.destroyed || stream.closed) {
|
|
904
|
+
console.warn('[render-swig] Stream already destroyed — client disconnected before response was sent ('+ local.req.url +')');
|
|
905
|
+
} else {
|
|
906
|
+
if ( !stream.headersSent ) {
|
|
907
|
+
var _streamHeaders = {
|
|
908
|
+
'content-type' : localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
|
|
909
|
+
':status' : local.res.statusCode || 200
|
|
910
|
+
};
|
|
911
|
+
// Merge headers set earlier in the pipeline (CORS, cache-control, etc.)
|
|
912
|
+
// — stream.respond() on the raw HTTP/2 stream does not include headers
|
|
913
|
+
// set via response.setHeader().
|
|
914
|
+
var _pendingHeaders = local.res.getHeaders ? local.res.getHeaders() : {};
|
|
915
|
+
for (var _rhk in _pendingHeaders) {
|
|
916
|
+
if (!(_rhk in _streamHeaders)) _streamHeaders[_rhk] = _pendingHeaders[_rhk];
|
|
917
|
+
}
|
|
918
|
+
stream.respond(_streamHeaders);
|
|
919
|
+
}
|
|
920
|
+
stream.end(htmlContent);
|
|
921
|
+
local.res.headersSent = true;
|
|
922
|
+
}
|
|
880
923
|
} else {
|
|
881
|
-
|
|
882
|
-
// stream.respond({
|
|
883
|
-
// 'content-type': localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
|
|
884
|
-
// ':status': 200
|
|
885
|
-
// });
|
|
886
|
-
// layout = null;
|
|
887
|
-
// return stream.end(htmlContent);
|
|
888
|
-
// }
|
|
889
|
-
local.res.end( htmlContent );
|
|
924
|
+
local.res.end( htmlContent );
|
|
890
925
|
}
|
|
891
926
|
layout = null;
|
|
892
927
|
}
|
|
@@ -1423,19 +1458,48 @@ module.exports = async function render(userData, displayInspector, errOptions, d
|
|
|
1423
1458
|
console.info(local.req.method +' ['+local.res.statusCode +'] '+ local.req.url);
|
|
1424
1459
|
// HEAD: send headers only — body suppressed (HTTP spec §4.3.2)
|
|
1425
1460
|
if ( /^HEAD$/i.test(local.req.method) ) {
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1461
|
+
if ( stream ) {
|
|
1462
|
+
// #H8 — HTTP/2 HEAD: stream.respond() with content-length, no body.
|
|
1463
|
+
if ( !stream.headersSent ) {
|
|
1464
|
+
var _headH2 = {
|
|
1465
|
+
'content-type' : localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
|
|
1466
|
+
'content-length' : Buffer.byteLength(htmlContent, 'utf8'),
|
|
1467
|
+
':status' : local.res.statusCode || 200
|
|
1468
|
+
};
|
|
1469
|
+
var _pendingH2 = local.res.getHeaders ? local.res.getHeaders() : {};
|
|
1470
|
+
for (var _hk2 in _pendingH2) {
|
|
1471
|
+
if (!(_hk2 in _headH2)) _headH2[_hk2] = _pendingH2[_hk2];
|
|
1472
|
+
}
|
|
1473
|
+
stream.respond(_headH2);
|
|
1474
|
+
}
|
|
1475
|
+
stream.end();
|
|
1476
|
+
local.res.headersSent = true;
|
|
1477
|
+
} else {
|
|
1478
|
+
local.res.setHeader('content-type', localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding);
|
|
1479
|
+
local.res.setHeader('content-length', Buffer.byteLength(htmlContent, 'utf8'));
|
|
1480
|
+
local.res.end();
|
|
1481
|
+
}
|
|
1482
|
+
} else if ( stream ) {
|
|
1483
|
+
// #H8 — Direct HTTP/2 stream: bypass HTTP/1.1 compat layer.
|
|
1484
|
+
if (stream.destroyed || stream.closed) {
|
|
1485
|
+
console.warn('[render-swig] Stream already destroyed — client disconnected before response was sent ('+ local.req.url +')');
|
|
1486
|
+
} else {
|
|
1487
|
+
if ( !stream.headersSent ) {
|
|
1488
|
+
var _streamHeaders2 = {
|
|
1489
|
+
'content-type' : localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
|
|
1490
|
+
':status' : local.res.statusCode || 200
|
|
1491
|
+
};
|
|
1492
|
+
var _pendingHeaders2 = local.res.getHeaders ? local.res.getHeaders() : {};
|
|
1493
|
+
for (var _rhk2 in _pendingHeaders2) {
|
|
1494
|
+
if (!(_rhk2 in _streamHeaders2)) _streamHeaders2[_rhk2] = _pendingHeaders2[_rhk2];
|
|
1495
|
+
}
|
|
1496
|
+
stream.respond(_streamHeaders2);
|
|
1497
|
+
}
|
|
1498
|
+
stream.end(htmlContent);
|
|
1499
|
+
local.res.headersSent = true;
|
|
1500
|
+
}
|
|
1429
1501
|
} else {
|
|
1430
|
-
|
|
1431
|
-
// stream.respond({
|
|
1432
|
-
// 'content-type': localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
|
|
1433
|
-
// ':status': 200
|
|
1434
|
-
// });
|
|
1435
|
-
// layout = null;
|
|
1436
|
-
// return stream.end(htmlContent);
|
|
1437
|
-
// }
|
|
1438
|
-
local.res.end( htmlContent );
|
|
1502
|
+
local.res.end( htmlContent );
|
|
1439
1503
|
}
|
|
1440
1504
|
|
|
1441
1505
|
layout = null;
|
|
@@ -1456,18 +1520,26 @@ module.exports = async function render(userData, displayInspector, errOptions, d
|
|
|
1456
1520
|
if ( typeof(local.req.params.errorObject) != 'undefined' ) {
|
|
1457
1521
|
return self.throwError(local.req.params.errorObject);
|
|
1458
1522
|
}
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1462
|
-
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
|
|
1466
|
-
|
|
1467
|
-
|
|
1468
|
-
|
|
1469
|
-
|
|
1470
|
-
|
|
1523
|
+
if ( stream ) {
|
|
1524
|
+
// #H8 — Direct HTTP/2 stream for error fallthrough.
|
|
1525
|
+
if (stream.destroyed || stream.closed) {
|
|
1526
|
+
console.warn('[render-swig] Stream already destroyed — client disconnected before error response was sent ('+ (local.req ? local.req.url : 'unknown') +')');
|
|
1527
|
+
} else if ( !stream.headersSent ) {
|
|
1528
|
+
var _errHeaders = {
|
|
1529
|
+
'content-type' : localOptions.conf.server.coreConfiguration.mime['html'] + '; charset='+ localOptions.conf.encoding,
|
|
1530
|
+
':status' : 500
|
|
1531
|
+
};
|
|
1532
|
+
var _pendingErrH = local.res.getHeaders ? local.res.getHeaders() : {};
|
|
1533
|
+
for (var _ehk in _pendingErrH) {
|
|
1534
|
+
if (!(_ehk in _errHeaders)) _errHeaders[_ehk] = _pendingErrH[_ehk];
|
|
1535
|
+
}
|
|
1536
|
+
stream.respond(_errHeaders);
|
|
1537
|
+
stream.end('Unexpected controller error while trying to render.');
|
|
1538
|
+
local.res.headersSent = true;
|
|
1539
|
+
}
|
|
1540
|
+
} else {
|
|
1541
|
+
local.res.end('Unexpected controller error while trying to render.');
|
|
1542
|
+
}
|
|
1471
1543
|
|
|
1472
1544
|
// Release per-request refs — save next first since local.next is used directly here.
|
|
1473
1545
|
var _next = ( typeof(local.next) != 'undefined' ) ? local.next : null;
|
|
@@ -9,7 +9,7 @@ function StoragePlugin(options) {
|
|
|
9
9
|
|
|
10
10
|
var merge = merge || require('lib/merge');;
|
|
11
11
|
var Collection = Collection || require('lib/collection');
|
|
12
|
-
var uuid =
|
|
12
|
+
var uuid = { v1: function() { return Date.now().toString(36) + '-' + crypto.randomUUID(); }, v4: function() { return crypto.randomUUID(); } };
|
|
13
13
|
var dateFormat = dateFormat || require('helpers/dateFormat');
|
|
14
14
|
|
|
15
15
|
|
|
@@ -418,7 +418,7 @@ if ( ( typeof(module) !== 'undefined' ) && module.exports ) {
|
|
|
418
418
|
// Publish as node.js module
|
|
419
419
|
var merge = require('lib/merge'); //require('../../../../../lib/merge');
|
|
420
420
|
var Collection = require('lib/collection'); //require('../../../../../lib/collection');
|
|
421
|
-
var uuid =
|
|
421
|
+
var uuid = { v1: function() { return Date.now().toString(36) + '-' + crypto.randomUUID(); }, v4: function() { return crypto.randomUUID(); } };
|
|
422
422
|
|
|
423
423
|
module.exports = StoragePlugin
|
|
424
424
|
|
|
@@ -92,7 +92,7 @@ function ValidatorPlugin(rules, data, formId) {
|
|
|
92
92
|
require('../../../../../helpers/data');
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
var uuid =
|
|
95
|
+
var uuid = { v1: function() { return Date.now().toString(36) + '-' + crypto.randomUUID(); }, v4: function() { return crypto.randomUUID(); } };
|
|
96
96
|
var merge = (isGFFCtx) ? require('lib/merge') : require('../../../../../lib/merge');
|
|
97
97
|
var inherits = (isGFFCtx) ? require('lib/inherits') : require('../../../../../lib/inherits');
|
|
98
98
|
var FormValidator = (isGFFCtx) ? require('lib/form-validator') : require('./form-validator');
|
|
@@ -47,9 +47,7 @@ const Busboy = require('./deps/busboy-1.6.0');
|
|
|
47
47
|
const Stream = require('stream');
|
|
48
48
|
const util = require('util');
|
|
49
49
|
var https = require('https');
|
|
50
|
-
//
|
|
51
|
-
// Require it lazily so bundles without HTTPS certs don't crash at startup.
|
|
52
|
-
// const sslChecker = require('ssl-checker');
|
|
50
|
+
// ssl-checker dependency removed in 0.3.1 — replaced by inline verifyCertificate().
|
|
53
51
|
|
|
54
52
|
|
|
55
53
|
var Config = require('./config');
|
|
@@ -303,9 +301,11 @@ function Server(options) {
|
|
|
303
301
|
}
|
|
304
302
|
|
|
305
303
|
/**
|
|
306
|
-
* Checks TLS certificate validity for an HTTPS endpoint
|
|
307
|
-
*
|
|
308
|
-
*
|
|
304
|
+
* Checks TLS certificate validity for an HTTPS endpoint.
|
|
305
|
+
*
|
|
306
|
+
* Replaces the `ssl-checker` npm package with a direct `https.request` +
|
|
307
|
+
* `res.socket.getPeerCertificate()` call. Returns the same result shape:
|
|
308
|
+
* `{ daysRemaining, valid, validFrom, validTo, validFor }`.
|
|
309
309
|
*
|
|
310
310
|
* @memberof module:gina/core/server
|
|
311
311
|
* @param {string} endpoint - Hostname to verify (e.g. `'myapp.dev'`)
|
|
@@ -313,23 +313,67 @@ function Server(options) {
|
|
|
313
313
|
* @returns {Promise<void>} Resolves when valid; throws if DNS/cert check fails
|
|
314
314
|
*/
|
|
315
315
|
this.verifyCertificate = async function(endpoint, port) {
|
|
316
|
-
// #B10 fix: lazy-require ssl-checker — only needed for HTTPS cert verification
|
|
317
|
-
const sslChecker = require('ssl-checker');
|
|
318
316
|
let sslDetails = null;
|
|
319
317
|
console.debug('Checking certificate validity...');
|
|
320
318
|
try {
|
|
321
319
|
console.debug('[ssl] endpoint: ', endpoint);
|
|
322
|
-
sslDetails = await
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
320
|
+
sslDetails = await new Promise(function(resolve, reject) {
|
|
321
|
+
var _port = port || 443;
|
|
322
|
+
var reqOptions = {
|
|
323
|
+
host: endpoint,
|
|
324
|
+
port: _port,
|
|
325
|
+
method: 'GET',
|
|
326
|
+
path: '/_gina/health/check',
|
|
327
|
+
rejectUnauthorized: false,
|
|
328
|
+
// replaced: fs.readFileSync(credentials.ca) — credentials paths use ~/ which fs.readFileSync does not expand; _() expands $HOME via execSync('echo $HOME')
|
|
329
|
+
ca: fs.readFileSync(_(self.conf[self.appName][self.env].content.settings.server.credentials.ca, true)),
|
|
330
|
+
agent: new https.Agent({ maxCachedSessions: 0 })
|
|
331
|
+
};
|
|
332
|
+
|
|
333
|
+
var timeoutId = setTimeout(function() {
|
|
334
|
+
req.destroy();
|
|
335
|
+
reject(new Error('Timed Out'));
|
|
336
|
+
}, 5000);
|
|
337
|
+
|
|
338
|
+
var req = https.request(reqOptions, function(res) {
|
|
339
|
+
clearTimeout(timeoutId);
|
|
340
|
+
var cert = res.socket.getPeerCertificate();
|
|
341
|
+
res.socket.destroy();
|
|
342
|
+
|
|
343
|
+
if (!cert || !cert.valid_from || !cert.valid_to) {
|
|
344
|
+
return reject(new Error('No certificate'));
|
|
345
|
+
}
|
|
346
|
+
|
|
347
|
+
var validFrom = new Date(cert.valid_from).toISOString();
|
|
348
|
+
var validTo = new Date(cert.valid_to).toISOString();
|
|
349
|
+
var now = Date.now();
|
|
350
|
+
var expiry = new Date(cert.valid_to).getTime();
|
|
351
|
+
var daysRemaining = Math.floor((expiry - now) / 86400000);
|
|
352
|
+
|
|
353
|
+
var result = {
|
|
354
|
+
daysRemaining: daysRemaining,
|
|
355
|
+
valid: res.socket.authorized || false,
|
|
356
|
+
validFrom: validFrom,
|
|
357
|
+
validTo: validTo
|
|
358
|
+
};
|
|
359
|
+
|
|
360
|
+
// Extract Subject Alternative Names (DNS entries)
|
|
361
|
+
if (cert.subjectaltname) {
|
|
362
|
+
result.validFor = cert.subjectaltname
|
|
363
|
+
.split(',')
|
|
364
|
+
.map(function(s) { return s.trim().replace(/^DNS:/, ''); })
|
|
365
|
+
.filter(function(s) { return s.length > 0; });
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
resolve(result);
|
|
369
|
+
});
|
|
370
|
+
|
|
371
|
+
req.on('error', function(err) {
|
|
372
|
+
clearTimeout(timeoutId);
|
|
373
|
+
reject(err);
|
|
374
|
+
});
|
|
375
|
+
|
|
376
|
+
req.end();
|
|
333
377
|
});
|
|
334
378
|
} catch (err) {
|
|
335
379
|
if (!sslDetails) {
|
|
@@ -53,7 +53,7 @@ function Cache(options) {
|
|
|
53
53
|
// LRU cap: 0 means unlimited. Overridden by from() if the shared Map carries _maxEntries.
|
|
54
54
|
var maxEntries = (options && options.maxEntries > 0) ? ~~(options.maxEntries) : 0;
|
|
55
55
|
var merge = (isGFFCtx) ? require('lib/merge') : require('../../../lib/merge');
|
|
56
|
-
var uuid =
|
|
56
|
+
var uuid = { v4: function() { return crypto.randomUUID(); } };
|
|
57
57
|
var Collection = (isGFFCtx) ? require('lib/collection') : require('../../../lib/collection');
|
|
58
58
|
// var EventEmitter = (isGFFCtx) ? EventTarget : require('events').EventEmitter;
|
|
59
59
|
|
|
@@ -53,7 +53,7 @@ if ( typeof(module) !== 'undefined' && module.exports ) {
|
|
|
53
53
|
function Collection(content, options) {
|
|
54
54
|
|
|
55
55
|
var isGFFCtx = ( ( typeof(module) !== 'undefined' ) && module.exports ) ? false : true;
|
|
56
|
-
var uuid =
|
|
56
|
+
var uuid = { v4: function() { return crypto.randomUUID(); } };
|
|
57
57
|
var merge = (isGFFCtx) ? require('lib/merge') : require('../../../lib/merge');
|
|
58
58
|
|
|
59
59
|
// defined search option rules
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const fs = require('fs');
|
|
4
4
|
// const util = require('util');
|
|
5
5
|
const net = require('net');
|
|
6
|
-
const
|
|
6
|
+
const { randomUUID } = require('crypto');
|
|
7
7
|
|
|
8
8
|
function MQListener(opt, cb) {
|
|
9
9
|
var self = {
|
|
@@ -154,7 +154,7 @@ function MQListener(opt, cb) {
|
|
|
154
154
|
var host = opt.hostV4;
|
|
155
155
|
var server = net.createServer( function(conn) {//'connection' listener
|
|
156
156
|
|
|
157
|
-
conn.sessionId =
|
|
157
|
+
conn.sessionId = randomUUID();
|
|
158
158
|
// conn.request = 'report'; // by default
|
|
159
159
|
sessions[conn.sessionId] = conn;
|
|
160
160
|
conn.write(JSON.stringify({ sessionId: conn.sessionId }) +'\r\n' );
|
|
@@ -12,17 +12,52 @@ var util = require('util');
|
|
|
12
12
|
var promisify = util.promisify;
|
|
13
13
|
const { EventEmitter } = require('events');
|
|
14
14
|
|
|
15
|
-
// During initial pre-install & post-install, `colors` might not be installed !
|
|
16
|
-
var colors = null;
|
|
17
15
|
var frameworkPath = __dirname +'/../../../../..';
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Built-in ANSI color styles — replaces the `colors` npm package.
|
|
19
|
+
*
|
|
20
|
+
* Only the styles actually used by logger levels are included:
|
|
21
|
+
* magenta, red, yellow, black, cyan, gray. All close with code 39
|
|
22
|
+
* (default foreground). Additional styles are provided for completeness
|
|
23
|
+
* so that `setColors()` can copy them if external code references them.
|
|
24
|
+
*
|
|
25
|
+
* @constant {Object} colors
|
|
26
|
+
* @inner
|
|
27
|
+
*/
|
|
28
|
+
var colors = {
|
|
29
|
+
styles: {
|
|
30
|
+
// Modifiers
|
|
31
|
+
reset: { open: '\x1b[0m', close: '\x1b[0m' },
|
|
32
|
+
bold: { open: '\x1b[1m', close: '\x1b[22m' },
|
|
33
|
+
dim: { open: '\x1b[2m', close: '\x1b[22m' },
|
|
34
|
+
italic: { open: '\x1b[3m', close: '\x1b[23m' },
|
|
35
|
+
underline: { open: '\x1b[4m', close: '\x1b[24m' },
|
|
36
|
+
inverse: { open: '\x1b[7m', close: '\x1b[27m' },
|
|
37
|
+
hidden: { open: '\x1b[8m', close: '\x1b[28m' },
|
|
38
|
+
strikethrough: { open: '\x1b[9m', close: '\x1b[29m' },
|
|
39
|
+
// Foreground colors
|
|
40
|
+
black: { open: '\x1b[30m', close: '\x1b[39m' },
|
|
41
|
+
red: { open: '\x1b[31m', close: '\x1b[39m' },
|
|
42
|
+
green: { open: '\x1b[32m', close: '\x1b[39m' },
|
|
43
|
+
yellow: { open: '\x1b[33m', close: '\x1b[39m' },
|
|
44
|
+
blue: { open: '\x1b[34m', close: '\x1b[39m' },
|
|
45
|
+
magenta: { open: '\x1b[35m', close: '\x1b[39m' },
|
|
46
|
+
cyan: { open: '\x1b[36m', close: '\x1b[39m' },
|
|
47
|
+
white: { open: '\x1b[37m', close: '\x1b[39m' },
|
|
48
|
+
gray: { open: '\x1b[90m', close: '\x1b[39m' },
|
|
49
|
+
grey: { open: '\x1b[90m', close: '\x1b[39m' },
|
|
50
|
+
// Background colors
|
|
51
|
+
bgBlack: { open: '\x1b[40m', close: '\x1b[49m' },
|
|
52
|
+
bgRed: { open: '\x1b[41m', close: '\x1b[49m' },
|
|
53
|
+
bgGreen: { open: '\x1b[42m', close: '\x1b[49m' },
|
|
54
|
+
bgYellow: { open: '\x1b[43m', close: '\x1b[49m' },
|
|
55
|
+
bgBlue: { open: '\x1b[44m', close: '\x1b[49m' },
|
|
56
|
+
bgMagenta: { open: '\x1b[45m', close: '\x1b[49m' },
|
|
57
|
+
bgCyan: { open: '\x1b[46m', close: '\x1b[49m' },
|
|
58
|
+
bgWhite: { open: '\x1b[47m', close: '\x1b[49m' }
|
|
59
|
+
}
|
|
60
|
+
};
|
|
26
61
|
|
|
27
62
|
var merge = require('../../merge');
|
|
28
63
|
var inherits = require('../../inherits');
|
package/llms.txt
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Gina — LLM Reference
|
|
2
2
|
|
|
3
|
-
Node.js MVC framework. No Express dependency. Built-in HTTP/2. Multi-bundle architecture. Scope-based data isolation. CommonJS throughout (no ESM).
|
|
3
|
+
Node.js MVC framework. No Express dependency. Built-in HTTP/2. Multi-bundle architecture. Scope-based data isolation. CommonJS throughout (no ESM). Single runtime dependency (`engine.io`) — all other functionality uses Node.js built-ins.
|
|
4
4
|
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -28,7 +28,7 @@ framework/v${version}/
|
|
|
28
28
|
router.js URL routing (matches routing.json rules)
|
|
29
29
|
controller/
|
|
30
30
|
controller.js SuperController base class (per-request instances via inherits)
|
|
31
|
-
controller.render-swig.js HTML rendering (delegate file, hot-reloaded in dev)
|
|
31
|
+
controller.render-swig.js HTML rendering (delegate file, hot-reloaded in dev). HTTP/2: uses stream.respond() + stream.end() directly (#H8). Tests: test/core/render-swig.test.js (77 tests — async I/O, error normalization, exit paths, guard patterns, HTTP/2 stream implementation)
|
|
32
32
|
controller.render-json.js JSON rendering (delegate file)
|
|
33
33
|
model/entity.js EntitySuper — EventEmitter base for all ORM entities
|
|
34
34
|
connectors/ Couchbase, Redis, SQLite connectors
|
|
@@ -520,6 +520,7 @@ Dev-mode query instrumentation captures every database query tied to the current
|
|
|
520
520
|
- **`origin` tagging** — `infos.bundle` (set on `Entity.prototype.bundle` at registration). **`connector` tagging** — hardcoded string per connector.
|
|
521
521
|
- **Cross-bundle propagation** — when bundle A calls B via `self.query()`, B's queries travel back as `__ginaQueries` in the JSON response (embedded by `render-json.js`). A's `query()` callback extracts, merges into its own `local._queryLog`, and deletes the field before data reaches the controller action.
|
|
522
522
|
- **Index reporting (Couchbase)** — `extractIndexes(profile)` walks `meta.profile.executionTimings` tree (`~child`/`~children` recursion) to find `IndexScan3`/`PrimaryScan3`/`ExpressionScan`/`KeyScan` operators and extract index names. Two extraction paths: `meta.profile` (fast, SDK v3) and EXPLAIN fallback (SDK v4 — C++ binding doesn't surface `meta.profile`). `_explainCache` Map caches per unique statement. `USE KEYS` queries detected via `ExpressionScan`/`KeyScan` operators. Enabled by `queryOptions.profile = 'timings'` in dev mode for SDK v3+. Three visual states: green (secondary), amber (primary scan), red (no index). Grey N/A badge for unsupported connectors.
|
|
523
|
+
- **Index reporting (SQL connectors — #QI1)** — `sql-parser.js` provides `parseCreateIndexes(src)` (parses `CREATE [UNIQUE] INDEX` statements → `{ tableName: [{ name, primary }] }` map) and `extractTargetTable(queryString)` (extracts primary table from SELECT/INSERT/UPDATE/DELETE). Each SQL connector reads an optional `indexes.sql` from the bundle's `sql/` directory at init time, builds an in-memory `_knownIndexes` map. QI resolves `_queryEntry.indexes` per query: `null` when no `indexes.sql` (N/A badge), `[]` when file exists but no index covers the table (red badge), `[{name, primary}]` when matched (green badge). No EXPLAIN round-trip — index knowledge comes from the project's own schema definitions.
|
|
523
524
|
- **Inspector UI** — split trigger badge (`entity` | `method`), SQL syntax highlighting, params table (`$1`/`$2` → value), free-text search bar with 200ms debounce, per-card weight color-coding (`bm-stat-*`), filter persistence (lang/connector/bundle in localStorage), pagination (20 cards default, "Show all" button).
|
|
524
525
|
|
|
525
526
|
**UX enhancements:**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gina",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Node.js MVC framework with built-in HTTP/2, multi-bundle architecture, and scope-based data isolation — no Express dependency",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"nodejs",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"gina-container": "bin/gina-container",
|
|
57
57
|
"gina-init": "bin/gina-init"
|
|
58
58
|
},
|
|
59
|
-
"main": "./framework/v0.3.
|
|
59
|
+
"main": "./framework/v0.3.1/core/gna",
|
|
60
60
|
"scripts": {
|
|
61
61
|
"test": "node --test test*.test.js",
|
|
62
62
|
"prepare": "node script/prepare_version.js",
|
|
@@ -67,14 +67,11 @@
|
|
|
67
67
|
"license": "MIT",
|
|
68
68
|
"readmeFilename": "README.md",
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"engine.io": "^6.0.0"
|
|
71
|
-
"ssl-checker": "2.0.10"
|
|
70
|
+
"engine.io": "^6.0.0"
|
|
72
71
|
},
|
|
73
72
|
"devDependencies": {
|
|
74
|
-
"colors": "1.4.0",
|
|
75
73
|
"engine.io-client": "^6.6.3",
|
|
76
|
-
"requirejs": "^2.3.7"
|
|
77
|
-
"uuid": "^9.0.0"
|
|
74
|
+
"requirejs": "^2.3.7"
|
|
78
75
|
},
|
|
79
76
|
"peerDependencies": {
|
|
80
77
|
"@anthropic-ai/sdk": ">=0.27.0",
|
package/script/post_install.js
CHANGED
|
@@ -58,20 +58,8 @@ var getUserHome = function() {
|
|
|
58
58
|
return home()
|
|
59
59
|
};
|
|
60
60
|
|
|
61
|
-
//
|
|
62
|
-
|
|
63
|
-
var frameworkPath = __dirname +'/..';
|
|
64
|
-
if ( !fs.existsSync(frameworkPath +'/node_modules/colors') ) {
|
|
65
|
-
process.chdir(frameworkPath);
|
|
66
|
-
|
|
67
|
-
var oldConfigGlobal = process.env.npm_config_global;
|
|
68
|
-
process.env.npm_config_global=false;
|
|
69
|
-
var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
|
|
70
|
-
execSync(cmd);
|
|
71
|
-
process.env.npm_config_global=oldConfigGlobal;
|
|
72
|
-
|
|
73
|
-
process.chdir(initialDir);
|
|
74
|
-
}
|
|
61
|
+
// `colors` dependency removed in 0.3.1 — ANSI codes are now built into the logger.
|
|
62
|
+
// No temporary install needed.
|
|
75
63
|
|
|
76
64
|
var lib = require('./lib');
|
|
77
65
|
var console = lib.logger;
|
|
@@ -466,37 +454,7 @@ function PostInstall() {
|
|
|
466
454
|
done()
|
|
467
455
|
}
|
|
468
456
|
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
var frameworkPath = self.gina;
|
|
472
|
-
console.debug('Framework path is: ' + frameworkPath);
|
|
473
|
-
|
|
474
|
-
// Let's cleanup `colors` from `GINA_DIR`
|
|
475
|
-
if ( new _(frameworkPath +'/node_modules/colors', true).existsSync() ) {
|
|
476
|
-
var initialDir = process.cwd();
|
|
477
|
-
process.chdir(frameworkPath);
|
|
478
|
-
var oldConfigGlobal = process.env.npm_config_global;
|
|
479
|
-
process.env.npm_config_global=false;
|
|
480
|
-
|
|
481
|
-
// var cmd = self.prefix +'/bin/';
|
|
482
|
-
// cmd += ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
|
|
483
|
-
|
|
484
|
-
var cmd = ( isWin32() ) ? 'npm.cmd rm colors' : 'npm rm colors';
|
|
485
|
-
|
|
486
|
-
try {
|
|
487
|
-
execSync(cmd);
|
|
488
|
-
console.debug('Removed default `colors` module from `GINA_DIR`... This is normal ;)');
|
|
489
|
-
} catch (npmErr) {
|
|
490
|
-
process.chdir(initialDir);
|
|
491
|
-
return done(npmErr);
|
|
492
|
-
}
|
|
493
|
-
|
|
494
|
-
process.chdir(initialDir);
|
|
495
|
-
process.env.npm_config_global=oldConfigGlobal;
|
|
496
|
-
}
|
|
497
|
-
|
|
498
|
-
done()
|
|
499
|
-
}
|
|
457
|
+
// `cleanupIfNeeded` removed in 0.3.1 — `colors` is no longer installed.
|
|
500
458
|
|
|
501
459
|
self.checkUserExtensions = async function(done) {
|
|
502
460
|
var err = null;
|
package/script/pre_install.js
CHANGED
|
@@ -266,20 +266,8 @@ function PreInstall() {
|
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
268
|
|
|
269
|
-
//
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
if ( !fs.existsSync(self.gina +'/node_modules/colors') ) {
|
|
273
|
-
process.chdir(self.gina);
|
|
274
|
-
|
|
275
|
-
var oldConfigGlobal = process.env.npm_config_global;
|
|
276
|
-
process.env.npm_config_global=false;
|
|
277
|
-
var cmd = ( isWin32() ) ? 'npm.cmd install colors@1.4.0' : 'npm install colors@1.4.0';
|
|
278
|
-
execSync(cmd);
|
|
279
|
-
process.env.npm_config_global=oldConfigGlobal;
|
|
280
|
-
|
|
281
|
-
process.chdir(initialDir);
|
|
282
|
-
}
|
|
269
|
+
// `colors` dependency removed in 0.3.1 — ANSI codes are now built into the logger.
|
|
270
|
+
// No temporary install needed.
|
|
283
271
|
|
|
284
272
|
|
|
285
273
|
|
package/framework/v0.3.0/VERSION
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.3.0
|