nesoi 3.0.0
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/lib/adapters/postgres/src/migrator/database.d.ts +37 -0
- package/lib/adapters/postgres/src/migrator/database.js +88 -0
- package/lib/adapters/postgres/src/migrator/index.d.ts +1 -0
- package/lib/adapters/postgres/src/migrator/index.js +5 -0
- package/lib/adapters/postgres/src/migrator/migration.d.ts +73 -0
- package/lib/adapters/postgres/src/migrator/migration.js +351 -0
- package/lib/adapters/postgres/src/migrator/migrator.d.ts +21 -0
- package/lib/adapters/postgres/src/migrator/migrator.js +73 -0
- package/lib/adapters/postgres/src/migrator/runner.d.ts +61 -0
- package/lib/adapters/postgres/src/migrator/runner.js +202 -0
- package/lib/adapters/postgres/src/postgres.bucket_adapter.d.ts +45 -0
- package/lib/adapters/postgres/src/postgres.bucket_adapter.js +278 -0
- package/lib/adapters/postgres/src/postgres.cli.d.ts +46 -0
- package/lib/adapters/postgres/src/postgres.cli.js +124 -0
- package/lib/adapters/postgres/src/postgres.nql.d.ts +12 -0
- package/lib/adapters/postgres/src/postgres.nql.js +69 -0
- package/lib/adapters/postgres/test/postgres.bucket_adapter.test.d.ts +1 -0
- package/lib/adapters/postgres/test/postgres.bucket_adapter.test.js +173 -0
- package/lib/adapters/postgres/test/postgres.bucket_query.test.d.ts +0 -0
- package/lib/adapters/postgres/test/postgres.bucket_query.test.js +136 -0
- package/lib/compiler/apps/monolyth/monolyth_compiler.d.ts +21 -0
- package/lib/compiler/apps/monolyth/monolyth_compiler.js +95 -0
- package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.d.ts +12 -0
- package/lib/compiler/apps/monolyth/stages/1_mkdir_stage.js +80 -0
- package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.d.ts +12 -0
- package/lib/compiler/apps/monolyth/stages/2_build_typescript_stage.js +128 -0
- package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.d.ts +12 -0
- package/lib/compiler/apps/monolyth/stages/3_copy_types_stage.js +75 -0
- package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.d.ts +13 -0
- package/lib/compiler/apps/monolyth/stages/4_dump_modules_stage.js +130 -0
- package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.d.ts +12 -0
- package/lib/compiler/apps/monolyth/stages/5_dump_cli_stage.js +65 -0
- package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.d.ts +12 -0
- package/lib/compiler/apps/monolyth/stages/6_dump_package_json_stage.js +74 -0
- package/lib/compiler/compiler.d.ts +19 -0
- package/lib/compiler/compiler.js +83 -0
- package/lib/compiler/elements/bucket.element.d.ts +23 -0
- package/lib/compiler/elements/bucket.element.js +304 -0
- package/lib/compiler/elements/constants.element.d.ts +9 -0
- package/lib/compiler/elements/constants.element.js +88 -0
- package/lib/compiler/elements/controller.element.d.ts +6 -0
- package/lib/compiler/elements/controller.element.js +22 -0
- package/lib/compiler/elements/element.d.ts +49 -0
- package/lib/compiler/elements/element.js +105 -0
- package/lib/compiler/elements/externals.element.d.ts +19 -0
- package/lib/compiler/elements/externals.element.js +83 -0
- package/lib/compiler/elements/job.element.d.ts +7 -0
- package/lib/compiler/elements/job.element.js +62 -0
- package/lib/compiler/elements/machine.element.d.ts +10 -0
- package/lib/compiler/elements/machine.element.js +98 -0
- package/lib/compiler/elements/message.element.d.ts +9 -0
- package/lib/compiler/elements/message.element.js +175 -0
- package/lib/compiler/elements/queue.element.d.ts +6 -0
- package/lib/compiler/elements/queue.element.js +24 -0
- package/lib/compiler/elements/resource.element.d.ts +7 -0
- package/lib/compiler/elements/resource.element.js +64 -0
- package/lib/compiler/error.d.ts +21 -0
- package/lib/compiler/error.js +57 -0
- package/lib/compiler/helpers/dump_helpers.d.ts +11 -0
- package/lib/compiler/helpers/dump_helpers.js +157 -0
- package/lib/compiler/helpers/name_helpers.d.ts +20 -0
- package/lib/compiler/helpers/name_helpers.js +44 -0
- package/lib/compiler/index.d.ts +2 -0
- package/lib/compiler/index.js +7 -0
- package/lib/compiler/module.d.ts +24 -0
- package/lib/compiler/module.js +122 -0
- package/lib/compiler/stages/1_scan_stage.d.ts +10 -0
- package/lib/compiler/stages/1_scan_stage.js +23 -0
- package/lib/compiler/stages/2_treeshake_stage.d.ts +11 -0
- package/lib/compiler/stages/2_treeshake_stage.js +24 -0
- package/lib/compiler/stages/3_extract_ts_stage.d.ts +10 -0
- package/lib/compiler/stages/3_extract_ts_stage.js +71 -0
- package/lib/compiler/stages/4_build_schemas_stage.d.ts +10 -0
- package/lib/compiler/stages/4_build_schemas_stage.js +25 -0
- package/lib/compiler/stages/5_inject_ts_stage.d.ts +10 -0
- package/lib/compiler/stages/5_inject_ts_stage.js +22 -0
- package/lib/compiler/stages/6_build_elements_stage.d.ts +11 -0
- package/lib/compiler/stages/6_build_elements_stage.js +22 -0
- package/lib/compiler/stages/7_dump_stage.d.ts +14 -0
- package/lib/compiler/stages/7_dump_stage.js +208 -0
- package/lib/compiler/stages/8_diagnose_stage.d.ts +16 -0
- package/lib/compiler/stages/8_diagnose_stage.js +43 -0
- package/lib/compiler/treeshake.d.ts +58 -0
- package/lib/compiler/treeshake.js +424 -0
- package/lib/compiler/typescript/bridge/extract.d.ts +11 -0
- package/lib/compiler/typescript/bridge/extract.js +270 -0
- package/lib/compiler/typescript/bridge/inject.d.ts +10 -0
- package/lib/compiler/typescript/bridge/inject.js +140 -0
- package/lib/compiler/typescript/bridge/organize.d.ts +61 -0
- package/lib/compiler/typescript/bridge/organize.js +258 -0
- package/lib/compiler/typescript/error.d.ts +88 -0
- package/lib/compiler/typescript/error.js +265 -0
- package/lib/compiler/typescript/parser.d.ts +48 -0
- package/lib/compiler/typescript/parser.js +581 -0
- package/lib/compiler/typescript/source.d.ts +12 -0
- package/lib/compiler/typescript/source.js +87 -0
- package/lib/compiler/typescript/transformers/app_inject.transformer.d.ts +2 -0
- package/lib/compiler/typescript/transformers/app_inject.transformer.js +89 -0
- package/lib/compiler/typescript/transformers/replace_import.transformer.d.ts +4 -0
- package/lib/compiler/typescript/transformers/replace_import.transformer.js +102 -0
- package/lib/compiler/typescript/typescript_compiler.d.ts +63 -0
- package/lib/compiler/typescript/typescript_compiler.js +602 -0
- package/lib/elements/blocks/block.builder.d.ts +29 -0
- package/lib/elements/blocks/block.builder.js +87 -0
- package/lib/elements/blocks/block.d.ts +15 -0
- package/lib/elements/blocks/block.js +37 -0
- package/lib/elements/blocks/block.schema.d.ts +23 -0
- package/lib/elements/blocks/block.schema.js +15 -0
- package/lib/elements/blocks/externals/externals.builder.d.ts +30 -0
- package/lib/elements/blocks/externals/externals.builder.js +37 -0
- package/lib/elements/blocks/externals/externals.schema.d.ts +11 -0
- package/lib/elements/blocks/externals/externals.schema.js +19 -0
- package/lib/elements/blocks/job/internal/machine_job.builder.d.ts +52 -0
- package/lib/elements/blocks/job/internal/machine_job.builder.js +74 -0
- package/lib/elements/blocks/job/internal/machine_job.schema.d.ts +5 -0
- package/lib/elements/blocks/job/internal/machine_job.schema.js +10 -0
- package/lib/elements/blocks/job/internal/resource_job.builder.d.ts +109 -0
- package/lib/elements/blocks/job/internal/resource_job.builder.js +146 -0
- package/lib/elements/blocks/job/internal/resource_job.d.ts +14 -0
- package/lib/elements/blocks/job/internal/resource_job.js +30 -0
- package/lib/elements/blocks/job/internal/resource_job.schema.d.ts +11 -0
- package/lib/elements/blocks/job/internal/resource_job.schema.js +15 -0
- package/lib/elements/blocks/job/job.builder.d.ts +118 -0
- package/lib/elements/blocks/job/job.builder.js +137 -0
- package/lib/elements/blocks/job/job.d.ts +13 -0
- package/lib/elements/blocks/job/job.js +40 -0
- package/lib/elements/blocks/job/job.schema.d.ts +26 -0
- package/lib/elements/blocks/job/job.schema.js +20 -0
- package/lib/elements/blocks/machine/machine.builder.d.ts +58 -0
- package/lib/elements/blocks/machine/machine.builder.js +135 -0
- package/lib/elements/blocks/machine/machine.d.ts +86 -0
- package/lib/elements/blocks/machine/machine.js +228 -0
- package/lib/elements/blocks/machine/machine.schema.d.ts +85 -0
- package/lib/elements/blocks/machine/machine.schema.js +64 -0
- package/lib/elements/blocks/machine/machine_state.builder.d.ts +58 -0
- package/lib/elements/blocks/machine/machine_state.builder.js +186 -0
- package/lib/elements/blocks/machine/machine_transition.builder.d.ts +48 -0
- package/lib/elements/blocks/machine/machine_transition.builder.js +98 -0
- package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.d.ts +10 -0
- package/lib/elements/blocks/queue/adapters/bucket.queue_adapter.js +17 -0
- package/lib/elements/blocks/queue/adapters/queue_adapter.d.ts +6 -0
- package/lib/elements/blocks/queue/adapters/queue_adapter.js +6 -0
- package/lib/elements/blocks/queue/queue.builder.d.ts +40 -0
- package/lib/elements/blocks/queue/queue.builder.js +31 -0
- package/lib/elements/blocks/queue/queue.d.ts +9 -0
- package/lib/elements/blocks/queue/queue.js +11 -0
- package/lib/elements/blocks/queue/queue.schema.d.ts +12 -0
- package/lib/elements/blocks/queue/queue.schema.js +17 -0
- package/lib/elements/blocks/resource/resource.builder.d.ts +60 -0
- package/lib/elements/blocks/resource/resource.builder.js +224 -0
- package/lib/elements/blocks/resource/resource.d.ts +48 -0
- package/lib/elements/blocks/resource/resource.js +125 -0
- package/lib/elements/blocks/resource/resource.schema.d.ts +32 -0
- package/lib/elements/blocks/resource/resource.schema.js +30 -0
- package/lib/elements/blocks/resource/resource.types.d.ts +38 -0
- package/lib/elements/blocks/resource/resource.types.js +3 -0
- package/lib/elements/edge/controller/adapters/cli.controller_adapter.d.ts +8 -0
- package/lib/elements/edge/controller/adapters/cli.controller_adapter.js +17 -0
- package/lib/elements/edge/controller/adapters/controller_adapter.d.ts +14 -0
- package/lib/elements/edge/controller/adapters/controller_adapter.js +44 -0
- package/lib/elements/edge/controller/controller.builder.d.ts +78 -0
- package/lib/elements/edge/controller/controller.builder.js +178 -0
- package/lib/elements/edge/controller/controller.config.d.ts +6 -0
- package/lib/elements/edge/controller/controller.config.js +2 -0
- package/lib/elements/edge/controller/controller.d.ts +22 -0
- package/lib/elements/edge/controller/controller.js +41 -0
- package/lib/elements/edge/controller/controller.schema.d.ts +44 -0
- package/lib/elements/edge/controller/controller.schema.js +51 -0
- package/lib/elements/entities/bucket/adapters/bucket_adapter.d.ts +107 -0
- package/lib/elements/entities/bucket/adapters/bucket_adapter.js +41 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.d.ts +37 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_adapter.js +149 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.d.ts +0 -0
- package/lib/elements/entities/bucket/adapters/memory.bucket_query copy.js +218 -0
- package/lib/elements/entities/bucket/adapters/memory.nql.d.ts +19 -0
- package/lib/elements/entities/bucket/adapters/memory.nql.js +212 -0
- package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.d.ts +20 -0
- package/lib/elements/entities/bucket/adapters/slow_memory.bucket_adapter.js +31 -0
- package/lib/elements/entities/bucket/bucket.builder.d.ts +61 -0
- package/lib/elements/entities/bucket/bucket.builder.js +130 -0
- package/lib/elements/entities/bucket/bucket.config.d.ts +29 -0
- package/lib/elements/entities/bucket/bucket.config.js +2 -0
- package/lib/elements/entities/bucket/bucket.d.ts +36 -0
- package/lib/elements/entities/bucket/bucket.infer.d.ts +22 -0
- package/lib/elements/entities/bucket/bucket.infer.js +85 -0
- package/lib/elements/entities/bucket/bucket.js +125 -0
- package/lib/elements/entities/bucket/bucket.schema.d.ts +24 -0
- package/lib/elements/entities/bucket/bucket.schema.js +16 -0
- package/lib/elements/entities/bucket/bucket.types.d.ts +32 -0
- package/lib/elements/entities/bucket/bucket.types.js +2 -0
- package/lib/elements/entities/bucket/cache/bucket_cache.d.ts +35 -0
- package/lib/elements/entities/bucket/cache/bucket_cache.js +182 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.builder.d.ts +11 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.builder.js +27 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.d.ts +16 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.infer.d.ts +9 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.infer.js +2 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.js +136 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.schema.d.ts +28 -0
- package/lib/elements/entities/bucket/graph/bucket_graph.schema.js +27 -0
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.d.ts +36 -0
- package/lib/elements/entities/bucket/graph/bucket_graph_link.builder.js +56 -0
- package/lib/elements/entities/bucket/model/bucket_model.builder.d.ts +13 -0
- package/lib/elements/entities/bucket/model/bucket_model.builder.js +24 -0
- package/lib/elements/entities/bucket/model/bucket_model.convert.d.ts +5 -0
- package/lib/elements/entities/bucket/model/bucket_model.convert.js +51 -0
- package/lib/elements/entities/bucket/model/bucket_model.infer.d.ts +13 -0
- package/lib/elements/entities/bucket/model/bucket_model.infer.js +2 -0
- package/lib/elements/entities/bucket/model/bucket_model.schema.d.ts +35 -0
- package/lib/elements/entities/bucket/model/bucket_model.schema.js +47 -0
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.d.ts +119 -0
- package/lib/elements/entities/bucket/model/bucket_model_field.builder.js +154 -0
- package/lib/elements/entities/bucket/query/nql.schema.d.ts +140 -0
- package/lib/elements/entities/bucket/query/nql.schema.js +2 -0
- package/lib/elements/entities/bucket/query/nql_compiler.d.ts +44 -0
- package/lib/elements/entities/bucket/query/nql_compiler.js +620 -0
- package/lib/elements/entities/bucket/query/nql_engine.d.ts +16 -0
- package/lib/elements/entities/bucket/query/nql_engine.js +42 -0
- package/lib/elements/entities/bucket/view/bucket_view.builder.d.ts +14 -0
- package/lib/elements/entities/bucket/view/bucket_view.builder.js +24 -0
- package/lib/elements/entities/bucket/view/bucket_view.d.ts +10 -0
- package/lib/elements/entities/bucket/view/bucket_view.js +102 -0
- package/lib/elements/entities/bucket/view/bucket_view.schema.d.ts +55 -0
- package/lib/elements/entities/bucket/view/bucket_view.schema.js +42 -0
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.d.ts +37 -0
- package/lib/elements/entities/bucket/view/bucket_view_field.builder.js +138 -0
- package/lib/elements/entities/constants/constants.builder.d.ts +57 -0
- package/lib/elements/entities/constants/constants.builder.js +116 -0
- package/lib/elements/entities/constants/constants.d.ts +7 -0
- package/lib/elements/entities/constants/constants.js +15 -0
- package/lib/elements/entities/constants/constants.schema.d.ts +51 -0
- package/lib/elements/entities/constants/constants.schema.js +45 -0
- package/lib/elements/entities/message/message.builder.d.ts +33 -0
- package/lib/elements/entities/message/message.builder.js +41 -0
- package/lib/elements/entities/message/message.d.ts +11 -0
- package/lib/elements/entities/message/message.infer.d.ts +63 -0
- package/lib/elements/entities/message/message.infer.js +2 -0
- package/lib/elements/entities/message/message.js +52 -0
- package/lib/elements/entities/message/message.schema.d.ts +15 -0
- package/lib/elements/entities/message/message.schema.js +13 -0
- package/lib/elements/entities/message/message_parser.d.ts +12 -0
- package/lib/elements/entities/message/message_parser.js +112 -0
- package/lib/elements/entities/message/template/message_template.builder.d.ts +14 -0
- package/lib/elements/entities/message/template/message_template.builder.js +20 -0
- package/lib/elements/entities/message/template/message_template.schema.d.ts +57 -0
- package/lib/elements/entities/message/template/message_template.schema.js +28 -0
- package/lib/elements/entities/message/template/message_template_field.builder.d.ts +225 -0
- package/lib/elements/entities/message/template/message_template_field.builder.js +172 -0
- package/lib/elements/entities/message/template/message_template_parser.d.ts +3 -0
- package/lib/elements/entities/message/template/message_template_parser.js +83 -0
- package/lib/elements/index.d.ts +11 -0
- package/lib/elements/index.js +23 -0
- package/lib/engine/apps/app.config.d.ts +49 -0
- package/lib/engine/apps/app.config.js +38 -0
- package/lib/engine/apps/app.d.ts +70 -0
- package/lib/engine/apps/app.js +101 -0
- package/lib/engine/apps/inline.app.d.ts +48 -0
- package/lib/engine/apps/inline.app.js +144 -0
- package/lib/engine/apps/monolyth/monolyth.app.d.ts +20 -0
- package/lib/engine/apps/monolyth/monolyth.app.js +94 -0
- package/lib/engine/apps/monolyth/monolyth.cli.d.ts +45 -0
- package/lib/engine/apps/monolyth/monolyth.cli.js +362 -0
- package/lib/engine/auth/authn.d.ts +18 -0
- package/lib/engine/auth/authn.js +9 -0
- package/lib/engine/auth/zero.authn_provider.d.ts +13 -0
- package/lib/engine/auth/zero.authn_provider.js +13 -0
- package/lib/engine/cli/cli.d.ts +19 -0
- package/lib/engine/cli/cli.js +88 -0
- package/lib/engine/cli/cli_adapter.d.ts +18 -0
- package/lib/engine/cli/cli_adapter.js +61 -0
- package/lib/engine/cli/ui.d.ts +36 -0
- package/lib/engine/cli/ui.js +188 -0
- package/lib/engine/daemon.d.ts +35 -0
- package/lib/engine/daemon.js +66 -0
- package/lib/engine/data/date.d.ts +10 -0
- package/lib/engine/data/date.js +32 -0
- package/lib/engine/data/datetime.d.ts +12 -0
- package/lib/engine/data/datetime.js +31 -0
- package/lib/engine/data/decimal.d.ts +11 -0
- package/lib/engine/data/decimal.js +70 -0
- package/lib/engine/data/error.d.ts +213 -0
- package/lib/engine/data/error.js +386 -0
- package/lib/engine/data/obj.d.ts +16 -0
- package/lib/engine/data/obj.js +5 -0
- package/lib/engine/data/tree.d.ts +17 -0
- package/lib/engine/data/tree.js +111 -0
- package/lib/engine/dependency.d.ts +68 -0
- package/lib/engine/dependency.js +91 -0
- package/lib/engine/module.d.ts +97 -0
- package/lib/engine/module.js +335 -0
- package/lib/engine/space.d.ts +54 -0
- package/lib/engine/space.js +138 -0
- package/lib/engine/transaction/nodes/bucket.trx_node.d.ts +53 -0
- package/lib/engine/transaction/nodes/bucket.trx_node.js +522 -0
- package/lib/engine/transaction/nodes/bucket_query.trx_node.d.ts +17 -0
- package/lib/engine/transaction/nodes/bucket_query.trx_node.js +82 -0
- package/lib/engine/transaction/nodes/job.trx_node.d.ts +13 -0
- package/lib/engine/transaction/nodes/job.trx_node.js +40 -0
- package/lib/engine/transaction/nodes/machine.trx_node.d.ts +12 -0
- package/lib/engine/transaction/nodes/machine.trx_node.js +39 -0
- package/lib/engine/transaction/nodes/queue.trx_node.d.ts +10 -0
- package/lib/engine/transaction/nodes/queue.trx_node.js +24 -0
- package/lib/engine/transaction/nodes/resource.trx_node.d.ts +24 -0
- package/lib/engine/transaction/nodes/resource.trx_node.js +77 -0
- package/lib/engine/transaction/trx.d.ts +50 -0
- package/lib/engine/transaction/trx.js +94 -0
- package/lib/engine/transaction/trx_engine.config.d.ts +15 -0
- package/lib/engine/transaction/trx_engine.config.js +2 -0
- package/lib/engine/transaction/trx_engine.d.ts +27 -0
- package/lib/engine/transaction/trx_engine.js +95 -0
- package/lib/engine/transaction/trx_node.d.ts +61 -0
- package/lib/engine/transaction/trx_node.js +175 -0
- package/lib/engine/tree.d.ts +34 -0
- package/lib/engine/tree.js +237 -0
- package/lib/engine/util/cache.d.ts +6 -0
- package/lib/engine/util/cache.js +20 -0
- package/lib/engine/util/console.d.ts +4 -0
- package/lib/engine/util/console.js +24 -0
- package/lib/engine/util/deep.d.ts +7 -0
- package/lib/engine/util/deep.js +2 -0
- package/lib/engine/util/dotenv.d.ts +15 -0
- package/lib/engine/util/dotenv.js +94 -0
- package/lib/engine/util/i18n.d.ts +5 -0
- package/lib/engine/util/i18n.js +19 -0
- package/lib/engine/util/log.d.ts +17 -0
- package/lib/engine/util/log.js +93 -0
- package/lib/engine/util/parse.d.ts +63 -0
- package/lib/engine/util/parse.js +229 -0
- package/lib/engine/util/promise.d.ts +3 -0
- package/lib/engine/util/promise.js +14 -0
- package/lib/engine/util/shell.d.ts +6 -0
- package/lib/engine/util/shell.js +44 -0
- package/lib/engine/util/string.d.ts +18 -0
- package/lib/engine/util/string.js +25 -0
- package/lib/engine/util/type.d.ts +7 -0
- package/lib/engine/util/type.js +3 -0
- package/lib/schema.d.ts +63 -0
- package/lib/schema.js +2 -0
- package/package.json +22 -0
- package/tools/compile.d.ts +1 -0
- package/tools/compile.js +68 -0
- package/tools/joaquin/job.d.ts +40 -0
- package/tools/joaquin/job.js +47 -0
- package/tools/joaquin/message.d.ts +12 -0
- package/tools/joaquin/message.js +47 -0
- package/tools/joaquin/mock.d.ts +28 -0
- package/tools/joaquin/mock.js +128 -0
- package/tsconfig.build.tsbuildinfo +1 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ExtractTSStage = void 0;
|
|
4
|
+
const log_1 = require("../../engine/util/log");
|
|
5
|
+
const extract_1 = require("../typescript/bridge/extract");
|
|
6
|
+
const organize_1 = require("../typescript/bridge/organize");
|
|
7
|
+
/**
|
|
8
|
+
* [Compiler Stage #3]
|
|
9
|
+
* Extract TypeScript sources (methods and imports) from builders
|
|
10
|
+
*/
|
|
11
|
+
class ExtractTSStage {
|
|
12
|
+
constructor(compiler) {
|
|
13
|
+
this.compiler = compiler;
|
|
14
|
+
}
|
|
15
|
+
run() {
|
|
16
|
+
log_1.Log.info('compiler', 'stage.extract_ts', 'Extracting TypeScript code from builders...');
|
|
17
|
+
const { tree } = this.compiler;
|
|
18
|
+
const nodes = tree.allNodes();
|
|
19
|
+
const extract = {};
|
|
20
|
+
const organized = {
|
|
21
|
+
buckets: {},
|
|
22
|
+
messages: {},
|
|
23
|
+
jobs: {},
|
|
24
|
+
machines: {}
|
|
25
|
+
};
|
|
26
|
+
nodes.forEach(node => {
|
|
27
|
+
if (node.isInline) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const imports = extract_1.TSBridgeExtract.imports(this.compiler, node);
|
|
31
|
+
if (imports) {
|
|
32
|
+
extract[node.tag] = { imports, types: [], functions: [] };
|
|
33
|
+
}
|
|
34
|
+
const types = extract_1.TSBridgeExtract.types(this.compiler, node);
|
|
35
|
+
const functions = extract_1.TSBridgeExtract.functions(this.compiler, node);
|
|
36
|
+
if (!types && !functions) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
const nodeOrganized = organize_1.TSBridgeOrganize.functions(types, functions);
|
|
40
|
+
Object.assign(organized.buckets, nodeOrganized.buckets);
|
|
41
|
+
Object.assign(organized.messages, nodeOrganized.messages);
|
|
42
|
+
Object.assign(organized.jobs, nodeOrganized.jobs);
|
|
43
|
+
Object.assign(organized.machines, nodeOrganized.machines);
|
|
44
|
+
});
|
|
45
|
+
nodes.forEach(node => {
|
|
46
|
+
const imports = node.isInline
|
|
47
|
+
? extract[node.root.tag]?.imports
|
|
48
|
+
: extract[node.tag]?.imports;
|
|
49
|
+
let e;
|
|
50
|
+
if (node.builder.$b === 'bucket') {
|
|
51
|
+
e = organized.buckets[node.tag];
|
|
52
|
+
}
|
|
53
|
+
else if (node.builder.$b === 'message') {
|
|
54
|
+
e = organized.messages[node.tag];
|
|
55
|
+
}
|
|
56
|
+
else if (node.builder.$b === 'job') {
|
|
57
|
+
e = organized.jobs[node.tag];
|
|
58
|
+
}
|
|
59
|
+
else if (node.builder.$b === 'machine') {
|
|
60
|
+
e = organized.machines[node.tag];
|
|
61
|
+
}
|
|
62
|
+
node.bridge = {
|
|
63
|
+
imports,
|
|
64
|
+
extract: e,
|
|
65
|
+
appDependencies: [] // TODO
|
|
66
|
+
};
|
|
67
|
+
});
|
|
68
|
+
log_1.Log.trace('compiler', 'stage.extract_ts', 'Finished extracting TS code', organized);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.ExtractTSStage = ExtractTSStage;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Compiler } from '../compiler';
|
|
2
|
+
/**
|
|
3
|
+
* [Compiler Stage #4]
|
|
4
|
+
* Build the node schemas, following the graph resolved on previous steps.
|
|
5
|
+
*/
|
|
6
|
+
export declare class BuildSchemasStage {
|
|
7
|
+
compiler: Compiler;
|
|
8
|
+
constructor(compiler: Compiler);
|
|
9
|
+
run(): Promise<void>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BuildSchemasStage = void 0;
|
|
4
|
+
const log_1 = require("../../engine/util/log");
|
|
5
|
+
/**
|
|
6
|
+
* [Compiler Stage #4]
|
|
7
|
+
* Build the node schemas, following the graph resolved on previous steps.
|
|
8
|
+
*/
|
|
9
|
+
class BuildSchemasStage {
|
|
10
|
+
constructor(compiler) {
|
|
11
|
+
this.compiler = compiler;
|
|
12
|
+
}
|
|
13
|
+
async run() {
|
|
14
|
+
log_1.Log.info('compiler', 'stage.build_schemas', 'Building schemas...');
|
|
15
|
+
await this.compiler.tree.traverse('Building schemas ', async (node) => {
|
|
16
|
+
// Inline nodes are built by their root builder
|
|
17
|
+
if (node.isInline) {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const module = this.compiler.modules[node.module].module;
|
|
21
|
+
await module.buildNode(node, this.compiler.tree);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.BuildSchemasStage = BuildSchemasStage;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.InjectTSStage = void 0;
|
|
4
|
+
const log_1 = require("../../engine/util/log");
|
|
5
|
+
const inject_1 = require("../typescript/bridge/inject");
|
|
6
|
+
/**
|
|
7
|
+
* [Compiler Stage #5]
|
|
8
|
+
* Transfer TypeScript sources (methods and imports) to schemas
|
|
9
|
+
*/
|
|
10
|
+
class InjectTSStage {
|
|
11
|
+
constructor(compiler) {
|
|
12
|
+
this.compiler = compiler;
|
|
13
|
+
}
|
|
14
|
+
run() {
|
|
15
|
+
log_1.Log.info('compiler', 'stage.inject_ts', 'Injecting TypeScript code to schemas...');
|
|
16
|
+
const { tree } = this.compiler;
|
|
17
|
+
const nodes = tree.allNodes();
|
|
18
|
+
inject_1.TSBridgeInject.inject(this.compiler, nodes);
|
|
19
|
+
log_1.Log.trace('compiler', 'stage.inject_ts', 'Finished injecting TS code');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.InjectTSStage = InjectTSStage;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Compiler } from '../compiler';
|
|
2
|
+
/**
|
|
3
|
+
* [Compiler Stage #6]
|
|
4
|
+
* Build the node elements (the schemas which are saved to the .nesoi folder),
|
|
5
|
+
* following the graph resolved on previous steps.
|
|
6
|
+
*/
|
|
7
|
+
export declare class BuildElementsStage {
|
|
8
|
+
compiler: Compiler;
|
|
9
|
+
constructor(compiler: Compiler);
|
|
10
|
+
run(): Promise<void>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BuildElementsStage = void 0;
|
|
4
|
+
const log_1 = require("../../engine/util/log");
|
|
5
|
+
/**
|
|
6
|
+
* [Compiler Stage #6]
|
|
7
|
+
* Build the node elements (the schemas which are saved to the .nesoi folder),
|
|
8
|
+
* following the graph resolved on previous steps.
|
|
9
|
+
*/
|
|
10
|
+
class BuildElementsStage {
|
|
11
|
+
constructor(compiler) {
|
|
12
|
+
this.compiler = compiler;
|
|
13
|
+
}
|
|
14
|
+
async run() {
|
|
15
|
+
log_1.Log.info('compiler', 'stage.build_elements', 'Building Elements...');
|
|
16
|
+
await this.compiler.tree.traverse('Building elements ', async (node) => {
|
|
17
|
+
const module = this.compiler.modules[node.module];
|
|
18
|
+
await module.buildElementNode(node);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.BuildElementsStage = BuildElementsStage;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Compiler } from '../compiler';
|
|
2
|
+
/**
|
|
3
|
+
* [Compiler Stage #7]
|
|
4
|
+
* Dump the element schemas and types to the .nesoi folder.
|
|
5
|
+
*/
|
|
6
|
+
export declare class DumpStage {
|
|
7
|
+
compiler: Compiler;
|
|
8
|
+
constructor(compiler: Compiler);
|
|
9
|
+
run(): void;
|
|
10
|
+
private dumpSpace;
|
|
11
|
+
private dumpModule;
|
|
12
|
+
private dumpModuleSchemas;
|
|
13
|
+
private dumpModuleType;
|
|
14
|
+
}
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.DumpStage = void 0;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const log_1 = require("../../engine/util/log");
|
|
42
|
+
const name_helpers_1 = require("../helpers/name_helpers");
|
|
43
|
+
const path_1 = __importDefault(require("path"));
|
|
44
|
+
const dependency_1 = require("../../engine/dependency");
|
|
45
|
+
const bucket_element_1 = require("../elements/bucket.element");
|
|
46
|
+
const dump_helpers_1 = require("../helpers/dump_helpers");
|
|
47
|
+
const space_1 = require("../../engine/space");
|
|
48
|
+
/**
|
|
49
|
+
* [Compiler Stage #7]
|
|
50
|
+
* Dump the element schemas and types to the .nesoi folder.
|
|
51
|
+
*/
|
|
52
|
+
class DumpStage {
|
|
53
|
+
constructor(compiler) {
|
|
54
|
+
this.compiler = compiler;
|
|
55
|
+
}
|
|
56
|
+
run() {
|
|
57
|
+
log_1.Log.info('compiler', 'stage.dump', 'Dumping Schemas and Types...');
|
|
58
|
+
const spaceType = this.dumpSpace();
|
|
59
|
+
Object.values(this.compiler.modules).forEach(module => {
|
|
60
|
+
this.dumpModule(module, spaceType);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/* Space */
|
|
64
|
+
dumpSpace() {
|
|
65
|
+
const type = {
|
|
66
|
+
authnUsers: {},
|
|
67
|
+
modules: {}
|
|
68
|
+
};
|
|
69
|
+
// Authentication users
|
|
70
|
+
const _authn = this.compiler.space._authn;
|
|
71
|
+
Object.entries(_authn).forEach(([name, model]) => {
|
|
72
|
+
type.authnUsers[name] = bucket_element_1.BucketElement.buildModelTypeFromSchema(model);
|
|
73
|
+
});
|
|
74
|
+
// Module types
|
|
75
|
+
let dump = '';
|
|
76
|
+
dump += `import { $Space } from '${this.compiler.config?.nesoiPath ?? 'nesoi'}/lib/schema';\n`;
|
|
77
|
+
Object.values(this.compiler.modules).forEach(module => {
|
|
78
|
+
type.modules[module.lowName] = module.typeName;
|
|
79
|
+
dump += `import ${module.typeName} from './${module.lowName}.module';\n`;
|
|
80
|
+
});
|
|
81
|
+
const name = this.compiler.space._name;
|
|
82
|
+
dump += `\nexport default interface ${name} extends $Space `;
|
|
83
|
+
dump += dump_helpers_1.DumpHelpers.dumpType(type);
|
|
84
|
+
// Create dir and write to file
|
|
85
|
+
const dumpDir = space_1.Space.path(this.compiler.space, './.nesoi');
|
|
86
|
+
if (!fs.existsSync(dumpDir)) {
|
|
87
|
+
fs.mkdirSync(dumpDir, { recursive: true });
|
|
88
|
+
}
|
|
89
|
+
const spaceFilepath = path_1.default.resolve(dumpDir, name_helpers_1.NameHelpers.nameHighToLow(name) + '.ts');
|
|
90
|
+
fs.writeFileSync(spaceFilepath, dump);
|
|
91
|
+
return type;
|
|
92
|
+
}
|
|
93
|
+
/* Module */
|
|
94
|
+
dumpModule(module, spaceType) {
|
|
95
|
+
const dumpDir = space_1.Space.path(this.compiler.space, `./.nesoi/${module.lowName}`);
|
|
96
|
+
if (!fs.existsSync(dumpDir)) {
|
|
97
|
+
fs.mkdirSync(dumpDir, { recursive: true });
|
|
98
|
+
}
|
|
99
|
+
this.dumpModuleType(module, spaceType, dumpDir);
|
|
100
|
+
this.dumpModuleSchemas(module, dumpDir);
|
|
101
|
+
}
|
|
102
|
+
dumpModuleSchemas(module, dumpDir) {
|
|
103
|
+
const nesoiPath = this.compiler.config?.nesoiPath ?? 'nesoi';
|
|
104
|
+
module.elements.forEach((element) => {
|
|
105
|
+
const filename = path_1.default.basename(element.filepath());
|
|
106
|
+
const elPath = path_1.default.resolve(dumpDir, filename);
|
|
107
|
+
fs.writeFileSync(elPath, element.dumpFileSchema(nesoiPath));
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
dumpModuleType(module, spaceType, dumpDir) {
|
|
111
|
+
const nesoiPath = this.compiler.config?.nesoiPath ?? 'nesoi';
|
|
112
|
+
const moduleFile = [];
|
|
113
|
+
moduleFile.push(`import { $Module, $Constants, $Bucket, $Message, $Job, $Resource, $Machine, $Controller, $Queue } from '${nesoiPath}/lib/elements';`);
|
|
114
|
+
moduleFile.push(`import { NesoiDate } from '${nesoiPath}/lib/engine/data/date';`);
|
|
115
|
+
moduleFile.push(`import { NesoiDatetime } from '${nesoiPath}/lib/engine/data/datetime';`);
|
|
116
|
+
// Build module type (with all blocks)
|
|
117
|
+
const type = {
|
|
118
|
+
name: `'${module.lowName}'`,
|
|
119
|
+
externals: 'any',
|
|
120
|
+
constants: 'any',
|
|
121
|
+
buckets: {},
|
|
122
|
+
messages: {},
|
|
123
|
+
jobs: {},
|
|
124
|
+
resources: {},
|
|
125
|
+
machines: {},
|
|
126
|
+
queues: {},
|
|
127
|
+
controllers: {},
|
|
128
|
+
};
|
|
129
|
+
const externals = module.elements.find(el => el.$t === 'externals');
|
|
130
|
+
// Inject external node types on module
|
|
131
|
+
if (externals) {
|
|
132
|
+
if (!type.buckets) {
|
|
133
|
+
type.buckets = {};
|
|
134
|
+
}
|
|
135
|
+
Object.entries(externals.schema.buckets).forEach(([tag, ref]) => {
|
|
136
|
+
type.buckets[tag] = dependency_1.$Dependency.typeName(ref, module.lowName);
|
|
137
|
+
});
|
|
138
|
+
if (!type.jobs) {
|
|
139
|
+
type.jobs = {};
|
|
140
|
+
}
|
|
141
|
+
Object.entries(externals.schema.jobs).forEach(([tag, ref]) => {
|
|
142
|
+
type.jobs[tag] = dependency_1.$Dependency.typeName(ref, module.lowName);
|
|
143
|
+
});
|
|
144
|
+
if (!type.machines) {
|
|
145
|
+
type.machines = {};
|
|
146
|
+
}
|
|
147
|
+
Object.entries(externals.schema.machines).forEach(([tag, ref]) => {
|
|
148
|
+
type.machines[tag] = dependency_1.$Dependency.typeName(ref, module.lowName);
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
if (module.elements.some(el => el.$t === 'constants')) {
|
|
152
|
+
type.constants = module.highName + 'Constants';
|
|
153
|
+
}
|
|
154
|
+
module.elements.forEach(element => {
|
|
155
|
+
if (element.$t === 'externals' || element.$t === 'constants') {
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
// WARN: this might breat non-regular plural block names in the future
|
|
159
|
+
const el_t = element.$t + 's';
|
|
160
|
+
if (!(el_t in type)) {
|
|
161
|
+
type[el_t] = {};
|
|
162
|
+
}
|
|
163
|
+
type[el_t][element.lowName] = element.typeName;
|
|
164
|
+
});
|
|
165
|
+
type['#input'] = dump_helpers_1.DumpHelpers.dumpType(module.elements
|
|
166
|
+
.filter(el => el.$t === 'message')
|
|
167
|
+
.map(el => el.typeName));
|
|
168
|
+
type['#authn'] = 'AuthnUsers';
|
|
169
|
+
// Dump external elements (imports)
|
|
170
|
+
module.elements
|
|
171
|
+
.filter(el => el.$t === 'externals')
|
|
172
|
+
.forEach((element) => {
|
|
173
|
+
moduleFile.push(element.dumpTypeSchema());
|
|
174
|
+
});
|
|
175
|
+
// Dump module type
|
|
176
|
+
moduleFile.push('');
|
|
177
|
+
moduleFile.push('/**');
|
|
178
|
+
moduleFile.push(` * ${module.typeName}`);
|
|
179
|
+
moduleFile.push(' */');
|
|
180
|
+
moduleFile.push('');
|
|
181
|
+
let moduleDump = `export default interface ${module.typeName} extends $Module `;
|
|
182
|
+
moduleDump += dump_helpers_1.DumpHelpers.dumpType({
|
|
183
|
+
// Constants should be unknown by default, since enum types
|
|
184
|
+
// are validated across modules. The default type causes
|
|
185
|
+
// the enum alias to be keyof ... & Record<string, ...>, which
|
|
186
|
+
// invalidated the type assertion
|
|
187
|
+
constants: 'Omit<$Constants, \'values\'|\'enums\'> & { values: {}, enums: {} }',
|
|
188
|
+
...type
|
|
189
|
+
});
|
|
190
|
+
moduleFile.push(moduleDump);
|
|
191
|
+
moduleFile.push('');
|
|
192
|
+
moduleFile.push('/* */');
|
|
193
|
+
moduleFile.push('');
|
|
194
|
+
// Dump authentication users
|
|
195
|
+
moduleFile.push(`type AuthnUsers = ${dump_helpers_1.DumpHelpers.dumpType(spaceType.authnUsers)}`);
|
|
196
|
+
// Dump other elements
|
|
197
|
+
module.elements
|
|
198
|
+
.filter(el => el.$t !== 'externals')
|
|
199
|
+
.forEach((element) => {
|
|
200
|
+
moduleFile.push(element.dumpTypeSchema());
|
|
201
|
+
});
|
|
202
|
+
// Write to file
|
|
203
|
+
const moduleFilename = `../${module.lowName}.module`;
|
|
204
|
+
const moduleFilepath = path_1.default.resolve(dumpDir, moduleFilename + '.ts');
|
|
205
|
+
fs.writeFileSync(moduleFilepath, moduleFile.join('\n'));
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
exports.DumpStage = DumpStage;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Compiler } from '../compiler';
|
|
2
|
+
/**
|
|
3
|
+
* [Compiler Stage #8]
|
|
4
|
+
* Diagnose the space source with TypeScript
|
|
5
|
+
*
|
|
6
|
+
* This is the last stage since the source needs the .nesoi definitions to be up-to-date.
|
|
7
|
+
* So we build everything ignoring TypeScript errors, then check for those errors.
|
|
8
|
+
*
|
|
9
|
+
* This strategy has the downside of breaking the elements on a failed compile, which
|
|
10
|
+
* causes instability on the project types while the issue is not fixed
|
|
11
|
+
*/
|
|
12
|
+
export declare class DiagnoseStage {
|
|
13
|
+
compiler: Compiler;
|
|
14
|
+
constructor(compiler: Compiler);
|
|
15
|
+
run(): Promise<void>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DiagnoseStage = void 0;
|
|
4
|
+
const log_1 = require("../../engine/util/log");
|
|
5
|
+
/**
|
|
6
|
+
* [Compiler Stage #8]
|
|
7
|
+
* Diagnose the space source with TypeScript
|
|
8
|
+
*
|
|
9
|
+
* This is the last stage since the source needs the .nesoi definitions to be up-to-date.
|
|
10
|
+
* So we build everything ignoring TypeScript errors, then check for those errors.
|
|
11
|
+
*
|
|
12
|
+
* This strategy has the downside of breaking the elements on a failed compile, which
|
|
13
|
+
* causes instability on the project types while the issue is not fixed
|
|
14
|
+
*/
|
|
15
|
+
class DiagnoseStage {
|
|
16
|
+
constructor(compiler) {
|
|
17
|
+
this.compiler = compiler;
|
|
18
|
+
}
|
|
19
|
+
async run() {
|
|
20
|
+
log_1.Log.info('compiler', 'stage.diagnose', 'Diagnosing space files with TypeScript...');
|
|
21
|
+
const { tsCompiler, tree } = this.compiler;
|
|
22
|
+
// Recreate TS program, to load new version of types
|
|
23
|
+
tsCompiler.createProgram();
|
|
24
|
+
const filepaths = [];
|
|
25
|
+
// Find all files
|
|
26
|
+
tree.allNodes().forEach(node => {
|
|
27
|
+
// Inline nodes belong to the same file as their parent
|
|
28
|
+
if (node.isInline) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
if (Array.isArray(node.filepath)) {
|
|
32
|
+
filepaths.push(...node.filepath);
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
filepaths.push(node.filepath);
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
filepaths.forEach(filepath => {
|
|
39
|
+
tsCompiler.check(filepath);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.DiagnoseStage = DiagnoseStage;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { $Dependency, BuilderNode } from "../engine/dependency";
|
|
2
|
+
import { BucketGraphBuilder } from "../elements/entities/bucket/graph/bucket_graph.builder";
|
|
3
|
+
import { AnyModule } from "../engine/module";
|
|
4
|
+
import { $BucketModelFields } from "../elements/entities/bucket/model/bucket_model.schema";
|
|
5
|
+
export type TreeshakeConfig = {
|
|
6
|
+
exclude?: string[];
|
|
7
|
+
};
|
|
8
|
+
export declare class Treeshake {
|
|
9
|
+
static externals(node: BuilderNode, depth?: number): void;
|
|
10
|
+
static bucket(node: BuilderNode, depth?: number): void;
|
|
11
|
+
static bucketModelFields(node: BuilderNode, fields: $BucketModelFields): $Dependency[];
|
|
12
|
+
static bucketGraph(node: BuilderNode, builder: BucketGraphBuilder<any>): $Dependency[];
|
|
13
|
+
private static bucketGraphLink;
|
|
14
|
+
static message(node: BuilderNode, depth?: number): void;
|
|
15
|
+
private static messageFieldTree;
|
|
16
|
+
protected static blockIO(node: BuilderNode): $Dependency[];
|
|
17
|
+
protected static blockInlineNodes(node: BuilderNode, depth?: number): {
|
|
18
|
+
dependencies: $Dependency[];
|
|
19
|
+
inlines: BuilderNode[];
|
|
20
|
+
};
|
|
21
|
+
static job(node: BuilderNode, depth?: number): {
|
|
22
|
+
inlines: BuilderNode[];
|
|
23
|
+
};
|
|
24
|
+
static resource(node: BuilderNode, depth?: number): {
|
|
25
|
+
inlines: BuilderNode[];
|
|
26
|
+
};
|
|
27
|
+
static machine(node: BuilderNode, depth?: number): {
|
|
28
|
+
inlines: BuilderNode[];
|
|
29
|
+
};
|
|
30
|
+
static controller(node: BuilderNode): void;
|
|
31
|
+
static queue(node: BuilderNode): void;
|
|
32
|
+
/**
|
|
33
|
+
* Scans the module directory, imports the builders and lists
|
|
34
|
+
* all nodes found.
|
|
35
|
+
*
|
|
36
|
+
* @returns A list of all `BuilderNodes` found on the module folder
|
|
37
|
+
*/
|
|
38
|
+
static module(module: AnyModule, config?: TreeshakeConfig): Promise<BuilderNode[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Shakes a file to find all the builders declared on that file, and returns
|
|
41
|
+
* them as BuilderNodes:
|
|
42
|
+
* - Root-level (exported) builders
|
|
43
|
+
* - Inline builders
|
|
44
|
+
* - Nested inline builders
|
|
45
|
+
*/
|
|
46
|
+
private static file;
|
|
47
|
+
/**
|
|
48
|
+
* Shakes a file to find all the builders declared on that file, and returns
|
|
49
|
+
* them as BuilderNodes:
|
|
50
|
+
* - Root-level (exported) builders
|
|
51
|
+
* - Inline builders
|
|
52
|
+
* - Nested inline builders
|
|
53
|
+
*/
|
|
54
|
+
private static builder;
|
|
55
|
+
private static cleanNodeDependencies;
|
|
56
|
+
private static logNodeList;
|
|
57
|
+
private static logNodeTree;
|
|
58
|
+
}
|