@platforma-sdk/tengo-builder 2.1.14 → 2.1.16

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.
Files changed (108) hide show
  1. package/bin/run.js +6 -0
  2. package/dist/commands/build.cjs +172 -0
  3. package/dist/commands/build.cjs.map +1 -0
  4. package/dist/commands/build.d.ts +4 -5
  5. package/dist/commands/build.d.ts.map +1 -1
  6. package/dist/commands/build.js +149 -0
  7. package/dist/commands/build.js.map +1 -0
  8. package/dist/commands/check.cjs +39 -0
  9. package/dist/commands/check.cjs.map +1 -0
  10. package/dist/commands/check.d.ts +1 -2
  11. package/dist/commands/check.d.ts.map +1 -1
  12. package/dist/commands/check.js +37 -0
  13. package/dist/commands/check.js.map +1 -0
  14. package/dist/commands/dump/all.cjs +20 -0
  15. package/dist/commands/dump/all.cjs.map +1 -0
  16. package/dist/commands/dump/all.js +18 -0
  17. package/dist/commands/dump/all.js.map +1 -0
  18. package/dist/commands/dump/assets.cjs +20 -0
  19. package/dist/commands/dump/assets.cjs.map +1 -0
  20. package/dist/commands/dump/assets.js +18 -0
  21. package/dist/commands/dump/assets.js.map +1 -0
  22. package/dist/commands/dump/libs.cjs +24 -0
  23. package/dist/commands/dump/libs.cjs.map +1 -0
  24. package/dist/commands/dump/libs.d.ts +1 -2
  25. package/dist/commands/dump/libs.d.ts.map +1 -1
  26. package/dist/commands/dump/libs.js +22 -0
  27. package/dist/commands/dump/libs.js.map +1 -0
  28. package/dist/commands/dump/software.cjs +20 -0
  29. package/dist/commands/dump/software.cjs.map +1 -0
  30. package/dist/commands/dump/software.js +18 -0
  31. package/dist/commands/dump/software.js.map +1 -0
  32. package/dist/commands/dump/templates.cjs +20 -0
  33. package/dist/commands/dump/templates.cjs.map +1 -0
  34. package/dist/commands/dump/templates.js +18 -0
  35. package/dist/commands/dump/templates.js.map +1 -0
  36. package/dist/commands/dump/tests.cjs +20 -0
  37. package/dist/commands/dump/tests.cjs.map +1 -0
  38. package/dist/commands/dump/tests.js +18 -0
  39. package/dist/commands/dump/tests.js.map +1 -0
  40. package/dist/commands/test.cjs +36 -0
  41. package/dist/commands/test.cjs.map +1 -0
  42. package/dist/commands/test.d.ts +1 -2
  43. package/dist/commands/test.d.ts.map +1 -1
  44. package/dist/commands/test.js +34 -0
  45. package/dist/commands/test.js.map +1 -0
  46. package/dist/compiler/artifactset.cjs +75 -0
  47. package/dist/compiler/artifactset.cjs.map +1 -0
  48. package/dist/compiler/artifactset.d.ts +1 -1
  49. package/dist/compiler/artifactset.js +71 -0
  50. package/dist/compiler/artifactset.js.map +1 -0
  51. package/dist/compiler/compiler.cjs +314 -0
  52. package/dist/compiler/compiler.cjs.map +1 -0
  53. package/dist/compiler/compiler.d.ts +3 -3
  54. package/dist/compiler/compiler.js +312 -0
  55. package/dist/compiler/compiler.js.map +1 -0
  56. package/dist/compiler/compileroptions.cjs +45 -0
  57. package/dist/compiler/compileroptions.cjs.map +1 -0
  58. package/dist/compiler/compileroptions.d.ts +2 -2
  59. package/dist/compiler/compileroptions.js +41 -0
  60. package/dist/compiler/compileroptions.js.map +1 -0
  61. package/dist/compiler/main.cjs +387 -0
  62. package/dist/compiler/main.cjs.map +1 -0
  63. package/dist/compiler/main.d.ts +5 -3
  64. package/dist/compiler/main.js +359 -0
  65. package/dist/compiler/main.js.map +1 -0
  66. package/dist/compiler/package.cjs +65 -0
  67. package/dist/compiler/package.cjs.map +1 -0
  68. package/dist/compiler/package.js +55 -0
  69. package/dist/compiler/package.js.map +1 -0
  70. package/dist/compiler/source.cjs +292 -0
  71. package/dist/compiler/source.cjs.map +1 -0
  72. package/dist/compiler/source.d.ts +2 -2
  73. package/dist/compiler/source.js +285 -0
  74. package/dist/compiler/source.js.map +1 -0
  75. package/dist/compiler/template.cjs +48 -0
  76. package/dist/compiler/template.cjs.map +1 -0
  77. package/dist/compiler/template.d.ts +2 -2
  78. package/dist/compiler/template.js +44 -0
  79. package/dist/compiler/template.js.map +1 -0
  80. package/dist/compiler/test.artifacts.d.ts +1 -1
  81. package/dist/compiler/util.cjs +75 -0
  82. package/dist/compiler/util.cjs.map +1 -0
  83. package/dist/compiler/util.js +50 -0
  84. package/dist/compiler/util.js.map +1 -0
  85. package/dist/index.cjs +28 -0
  86. package/dist/index.cjs.map +1 -0
  87. package/dist/index.d.ts +9 -9
  88. package/dist/index.js +23 -41
  89. package/dist/index.js.map +1 -1
  90. package/dist/shared/basecmd.cjs +31 -0
  91. package/dist/shared/basecmd.cjs.map +1 -0
  92. package/dist/shared/basecmd.d.ts +4 -5
  93. package/dist/shared/basecmd.d.ts.map +1 -1
  94. package/dist/shared/basecmd.js +28 -0
  95. package/dist/shared/basecmd.js.map +1 -0
  96. package/dist/shared/dump.cjs +117 -0
  97. package/dist/shared/dump.cjs.map +1 -0
  98. package/dist/shared/dump.d.ts +1 -1
  99. package/dist/shared/dump.js +110 -0
  100. package/dist/shared/dump.js.map +1 -0
  101. package/dist/shared/proc.cjs +26 -0
  102. package/dist/shared/proc.cjs.map +1 -0
  103. package/dist/shared/proc.d.ts +2 -2
  104. package/dist/shared/proc.js +23 -0
  105. package/dist/shared/proc.js.map +1 -0
  106. package/package.json +13 -10
  107. package/dist/index.mjs +0 -1198
  108. package/dist/index.mjs.map +0 -1
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ var core = require('@oclif/core');
4
+ var util = require('../../compiler/util.cjs');
5
+ var dump = require('../../shared/dump.cjs');
6
+ var node_process = require('node:process');
7
+
8
+ class DumpLibs extends core.Command {
9
+ static description = 'parse sources in current package and dump all found libs to stdout';
10
+ static examples = [
11
+ '<%= config.bin %> <%= command.id %>',
12
+ ];
13
+ static flags = {
14
+ deps: core.Flags.boolean({ name: 'deps', description: 'add also all libraries found in node_modules' }),
15
+ };
16
+ async run() {
17
+ const { flags } = await this.parse(DumpLibs);
18
+ const logger = util.createLogger();
19
+ dump.dumpLibs(logger, flags.deps, node_process.stdout);
20
+ }
21
+ }
22
+
23
+ module.exports = DumpLibs;
24
+ //# sourceMappingURL=libs.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libs.cjs","sources":["../../../src/commands/dump/libs.ts"],"sourcesContent":["import { Command, Flags } from '@oclif/core';\nimport { createLogger } from '../../compiler/util';\nimport { dumpLibs } from '../../shared/dump';\nimport { stdout } from 'node:process';\n\nexport default class DumpLibs extends Command {\n static override description = 'parse sources in current package and dump all found libs to stdout';\n\n static override examples = [\n '<%= config.bin %> <%= command.id %>',\n ];\n\n static override flags = {\n deps: Flags.boolean({ name: 'deps', description: 'add also all libraries found in node_modules' }),\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(DumpLibs);\n\n const logger = createLogger();\n dumpLibs(logger, flags.deps, stdout);\n }\n}\n"],"names":["Command","Flags","createLogger","dumpLibs","stdout"],"mappings":";;;;;;;AAKc,MAAO,QAAS,SAAQA,YAAO,CAAA;AAC3C,IAAA,OAAgB,WAAW,GAAG,oEAAoE;IAElG,OAAgB,QAAQ,GAAG;QACzB,qCAAqC;KACtC;IAED,OAAgB,KAAK,GAAG;AACtB,QAAA,IAAI,EAAEC,UAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;KACnG;AAEM,IAAA,MAAM,GAAG,GAAA;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAE5C,QAAA,MAAM,MAAM,GAAGC,iBAAY,EAAE;QAC7BC,aAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAEC,mBAAM,CAAC;IACtC;;;;;"}
@@ -1,10 +1,9 @@
1
1
  import { Command } from '@oclif/core';
2
- import { BooleanFlag } from '@oclif/core/interfaces';
3
2
  export default class DumpLibs extends Command {
4
3
  static description: string;
5
4
  static examples: string[];
6
5
  static flags: {
7
- deps: BooleanFlag<boolean>;
6
+ deps: import("@oclif/core/interfaces").BooleanFlag<boolean>;
8
7
  };
9
8
  run(): Promise<void>;
10
9
  }
@@ -1 +1 @@
1
- {"version":3,"file":"libs.d.ts","sourceRoot":"","sources":["../../../src/commands/dump/libs.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAK7C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,OAAgB,WAAW,SAAwE;IAEnG,OAAgB,QAAQ,WAEtB;IAEF,OAAgB,KAAK;;MAEnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAMlC"}
1
+ {"version":3,"file":"libs.d.ts","sourceRoot":"","sources":["../../../src/commands/dump/libs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAS,MAAM,aAAa,CAAC;AAK7C,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,OAAO;IAC3C,OAAgB,WAAW,SAAwE;IAEnG,OAAgB,QAAQ,WAEtB;IAEF,OAAgB,KAAK;;MAEnB;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAMlC"}
@@ -0,0 +1,22 @@
1
+ import { Command, Flags } from '@oclif/core';
2
+ import { createLogger } from '../../compiler/util.js';
3
+ import { dumpLibs } from '../../shared/dump.js';
4
+ import { stdout } from 'node:process';
5
+
6
+ class DumpLibs extends Command {
7
+ static description = 'parse sources in current package and dump all found libs to stdout';
8
+ static examples = [
9
+ '<%= config.bin %> <%= command.id %>',
10
+ ];
11
+ static flags = {
12
+ deps: Flags.boolean({ name: 'deps', description: 'add also all libraries found in node_modules' }),
13
+ };
14
+ async run() {
15
+ const { flags } = await this.parse(DumpLibs);
16
+ const logger = createLogger();
17
+ dumpLibs(logger, flags.deps, stdout);
18
+ }
19
+ }
20
+
21
+ export { DumpLibs as default };
22
+ //# sourceMappingURL=libs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"libs.js","sources":["../../../src/commands/dump/libs.ts"],"sourcesContent":["import { Command, Flags } from '@oclif/core';\nimport { createLogger } from '../../compiler/util';\nimport { dumpLibs } from '../../shared/dump';\nimport { stdout } from 'node:process';\n\nexport default class DumpLibs extends Command {\n static override description = 'parse sources in current package and dump all found libs to stdout';\n\n static override examples = [\n '<%= config.bin %> <%= command.id %>',\n ];\n\n static override flags = {\n deps: Flags.boolean({ name: 'deps', description: 'add also all libraries found in node_modules' }),\n };\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(DumpLibs);\n\n const logger = createLogger();\n dumpLibs(logger, flags.deps, stdout);\n }\n}\n"],"names":[],"mappings":";;;;;AAKc,MAAO,QAAS,SAAQ,OAAO,CAAA;AAC3C,IAAA,OAAgB,WAAW,GAAG,oEAAoE;IAElG,OAAgB,QAAQ,GAAG;QACzB,qCAAqC;KACtC;IAED,OAAgB,KAAK,GAAG;AACtB,QAAA,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,8CAA8C,EAAE,CAAC;KACnG;AAEM,IAAA,MAAM,GAAG,GAAA;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;AAE5C,QAAA,MAAM,MAAM,GAAG,YAAY,EAAE;QAC7B,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;IACtC;;;;;"}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var core = require('@oclif/core');
4
+ var util = require('../../compiler/util.cjs');
5
+ var dump = require('../../shared/dump.cjs');
6
+ var node_process = require('node:process');
7
+
8
+ class DumpSoftware extends core.Command {
9
+ static description = 'parse sources in current package and dump all found software to stdout';
10
+ static examples = [
11
+ '<%= config.bin %> <%= command.id %>',
12
+ ];
13
+ async run() {
14
+ const logger = util.createLogger();
15
+ dump.dumpSoftware(logger, node_process.stdout);
16
+ }
17
+ }
18
+
19
+ module.exports = DumpSoftware;
20
+ //# sourceMappingURL=software.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"software.cjs","sources":["../../../src/commands/dump/software.ts"],"sourcesContent":["import { Command } from '@oclif/core';\nimport { createLogger } from '../../compiler/util';\nimport { dumpSoftware } from '../../shared/dump';\nimport { stdout } from 'node:process';\n\nexport default class DumpSoftware extends Command {\n static override description = 'parse sources in current package and dump all found software to stdout';\n\n static override examples = [\n '<%= config.bin %> <%= command.id %>',\n ];\n\n public async run(): Promise<void> {\n const logger = createLogger();\n dumpSoftware(logger, stdout);\n }\n}\n"],"names":["Command","createLogger","dumpSoftware","stdout"],"mappings":";;;;;;;AAKc,MAAO,YAAa,SAAQA,YAAO,CAAA;AAC/C,IAAA,OAAgB,WAAW,GAAG,wEAAwE;IAEtG,OAAgB,QAAQ,GAAG;QACzB,qCAAqC;KACtC;AAEM,IAAA,MAAM,GAAG,GAAA;AACd,QAAA,MAAM,MAAM,GAAGC,iBAAY,EAAE;AAC7B,QAAAC,iBAAY,CAAC,MAAM,EAAEC,mBAAM,CAAC;IAC9B;;;;;"}
@@ -0,0 +1,18 @@
1
+ import { Command } from '@oclif/core';
2
+ import { createLogger } from '../../compiler/util.js';
3
+ import { dumpSoftware } from '../../shared/dump.js';
4
+ import { stdout } from 'node:process';
5
+
6
+ class DumpSoftware extends Command {
7
+ static description = 'parse sources in current package and dump all found software to stdout';
8
+ static examples = [
9
+ '<%= config.bin %> <%= command.id %>',
10
+ ];
11
+ async run() {
12
+ const logger = createLogger();
13
+ dumpSoftware(logger, stdout);
14
+ }
15
+ }
16
+
17
+ export { DumpSoftware as default };
18
+ //# sourceMappingURL=software.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"software.js","sources":["../../../src/commands/dump/software.ts"],"sourcesContent":["import { Command } from '@oclif/core';\nimport { createLogger } from '../../compiler/util';\nimport { dumpSoftware } from '../../shared/dump';\nimport { stdout } from 'node:process';\n\nexport default class DumpSoftware extends Command {\n static override description = 'parse sources in current package and dump all found software to stdout';\n\n static override examples = [\n '<%= config.bin %> <%= command.id %>',\n ];\n\n public async run(): Promise<void> {\n const logger = createLogger();\n dumpSoftware(logger, stdout);\n }\n}\n"],"names":[],"mappings":";;;;;AAKc,MAAO,YAAa,SAAQ,OAAO,CAAA;AAC/C,IAAA,OAAgB,WAAW,GAAG,wEAAwE;IAEtG,OAAgB,QAAQ,GAAG;QACzB,qCAAqC;KACtC;AAEM,IAAA,MAAM,GAAG,GAAA;AACd,QAAA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,QAAA,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC;IAC9B;;;;;"}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var core = require('@oclif/core');
4
+ var util = require('../../compiler/util.cjs');
5
+ var dump = require('../../shared/dump.cjs');
6
+ var node_process = require('node:process');
7
+
8
+ class DumpTemplates extends core.Command {
9
+ static description = 'parse sources in current package and dump all found templates to stdout';
10
+ static examples = [
11
+ '<%= config.bin %> <%= command.id %>',
12
+ ];
13
+ async run() {
14
+ const logger = util.createLogger();
15
+ dump.dumpTemplates(logger, node_process.stdout);
16
+ }
17
+ }
18
+
19
+ module.exports = DumpTemplates;
20
+ //# sourceMappingURL=templates.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.cjs","sources":["../../../src/commands/dump/templates.ts"],"sourcesContent":["import { Command } from '@oclif/core';\nimport { createLogger } from '../../compiler/util';\nimport { dumpTemplates } from '../../shared/dump';\nimport { stdout } from 'node:process';\n\nexport default class DumpTemplates extends Command {\n static override description = 'parse sources in current package and dump all found templates to stdout';\n\n static override examples = [\n '<%= config.bin %> <%= command.id %>',\n ];\n\n public async run(): Promise<void> {\n const logger = createLogger();\n dumpTemplates(logger, stdout);\n }\n}\n"],"names":["Command","createLogger","dumpTemplates","stdout"],"mappings":";;;;;;;AAKc,MAAO,aAAc,SAAQA,YAAO,CAAA;AAChD,IAAA,OAAgB,WAAW,GAAG,yEAAyE;IAEvG,OAAgB,QAAQ,GAAG;QACzB,qCAAqC;KACtC;AAEM,IAAA,MAAM,GAAG,GAAA;AACd,QAAA,MAAM,MAAM,GAAGC,iBAAY,EAAE;AAC7B,QAAAC,kBAAa,CAAC,MAAM,EAAEC,mBAAM,CAAC;IAC/B;;;;;"}
@@ -0,0 +1,18 @@
1
+ import { Command } from '@oclif/core';
2
+ import { createLogger } from '../../compiler/util.js';
3
+ import { dumpTemplates } from '../../shared/dump.js';
4
+ import { stdout } from 'node:process';
5
+
6
+ class DumpTemplates extends Command {
7
+ static description = 'parse sources in current package and dump all found templates to stdout';
8
+ static examples = [
9
+ '<%= config.bin %> <%= command.id %>',
10
+ ];
11
+ async run() {
12
+ const logger = createLogger();
13
+ dumpTemplates(logger, stdout);
14
+ }
15
+ }
16
+
17
+ export { DumpTemplates as default };
18
+ //# sourceMappingURL=templates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.js","sources":["../../../src/commands/dump/templates.ts"],"sourcesContent":["import { Command } from '@oclif/core';\nimport { createLogger } from '../../compiler/util';\nimport { dumpTemplates } from '../../shared/dump';\nimport { stdout } from 'node:process';\n\nexport default class DumpTemplates extends Command {\n static override description = 'parse sources in current package and dump all found templates to stdout';\n\n static override examples = [\n '<%= config.bin %> <%= command.id %>',\n ];\n\n public async run(): Promise<void> {\n const logger = createLogger();\n dumpTemplates(logger, stdout);\n }\n}\n"],"names":[],"mappings":";;;;;AAKc,MAAO,aAAc,SAAQ,OAAO,CAAA;AAChD,IAAA,OAAgB,WAAW,GAAG,yEAAyE;IAEvG,OAAgB,QAAQ,GAAG;QACzB,qCAAqC;KACtC;AAEM,IAAA,MAAM,GAAG,GAAA;AACd,QAAA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,QAAA,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC;IAC/B;;;;;"}
@@ -0,0 +1,20 @@
1
+ 'use strict';
2
+
3
+ var core = require('@oclif/core');
4
+ var util = require('../../compiler/util.cjs');
5
+ var dump = require('../../shared/dump.cjs');
6
+ var node_process = require('node:process');
7
+
8
+ class DumpTests extends core.Command {
9
+ static description = 'parse sources in current package and dump all found tests to stdout';
10
+ static examples = [
11
+ '<%= config.bin %> <%= command.id %>',
12
+ ];
13
+ async run() {
14
+ const logger = util.createLogger();
15
+ dump.dumpTests(logger, node_process.stdout);
16
+ }
17
+ }
18
+
19
+ module.exports = DumpTests;
20
+ //# sourceMappingURL=tests.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tests.cjs","sources":["../../../src/commands/dump/tests.ts"],"sourcesContent":["import { Command } from '@oclif/core';\nimport { createLogger } from '../../compiler/util';\nimport { dumpTests } from '../../shared/dump';\nimport { stdout } from 'node:process';\n\nexport default class DumpTests extends Command {\n static override description = 'parse sources in current package and dump all found tests to stdout';\n\n static override examples = [\n '<%= config.bin %> <%= command.id %>',\n ];\n\n public async run(): Promise<void> {\n const logger = createLogger();\n dumpTests(logger, stdout);\n }\n}\n"],"names":["Command","createLogger","dumpTests","stdout"],"mappings":";;;;;;;AAKc,MAAO,SAAU,SAAQA,YAAO,CAAA;AAC5C,IAAA,OAAgB,WAAW,GAAG,qEAAqE;IAEnG,OAAgB,QAAQ,GAAG;QACzB,qCAAqC;KACtC;AAEM,IAAA,MAAM,GAAG,GAAA;AACd,QAAA,MAAM,MAAM,GAAGC,iBAAY,EAAE;AAC7B,QAAAC,cAAS,CAAC,MAAM,EAAEC,mBAAM,CAAC;IAC3B;;;;;"}
@@ -0,0 +1,18 @@
1
+ import { Command } from '@oclif/core';
2
+ import { createLogger } from '../../compiler/util.js';
3
+ import { dumpTests } from '../../shared/dump.js';
4
+ import { stdout } from 'node:process';
5
+
6
+ class DumpTests extends Command {
7
+ static description = 'parse sources in current package and dump all found tests to stdout';
8
+ static examples = [
9
+ '<%= config.bin %> <%= command.id %>',
10
+ ];
11
+ async run() {
12
+ const logger = createLogger();
13
+ dumpTests(logger, stdout);
14
+ }
15
+ }
16
+
17
+ export { DumpTests as default };
18
+ //# sourceMappingURL=tests.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tests.js","sources":["../../../src/commands/dump/tests.ts"],"sourcesContent":["import { Command } from '@oclif/core';\nimport { createLogger } from '../../compiler/util';\nimport { dumpTests } from '../../shared/dump';\nimport { stdout } from 'node:process';\n\nexport default class DumpTests extends Command {\n static override description = 'parse sources in current package and dump all found tests to stdout';\n\n static override examples = [\n '<%= config.bin %> <%= command.id %>',\n ];\n\n public async run(): Promise<void> {\n const logger = createLogger();\n dumpTests(logger, stdout);\n }\n}\n"],"names":[],"mappings":";;;;;AAKc,MAAO,SAAU,SAAQ,OAAO,CAAA;AAC5C,IAAA,OAAgB,WAAW,GAAG,qEAAqE;IAEnG,OAAgB,QAAQ,GAAG;QACzB,qCAAqC;KACtC;AAEM,IAAA,MAAM,GAAG,GAAA;AACd,QAAA,MAAM,MAAM,GAAG,YAAY,EAAE;AAC7B,QAAA,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAC3B;;;;;"}
@@ -0,0 +1,36 @@
1
+ 'use strict';
2
+
3
+ var core = require('@oclif/core');
4
+ var util = require('../compiler/util.cjs');
5
+ var dump = require('../shared/dump.cjs');
6
+ var basecmd = require('../shared/basecmd.cjs');
7
+ var proc = require('../shared/proc.cjs');
8
+ var tengoTester = require('@milaboratories/tengo-tester');
9
+
10
+ class Test extends core.Command {
11
+ static description = 'run tengo unit tests (.test.tengo)';
12
+ static strict = false;
13
+ static flags = { ...basecmd.GlobalFlags };
14
+ static examples = ['<%= config.bin %> <%= command.id %>'];
15
+ async run() {
16
+ const { flags } = await this.parse(Test);
17
+ const logger = util.createLogger(flags['log-level']);
18
+ const testerArgs = this.argv.length == 0 ? ['./src'] : this.argv;
19
+ // prettier-ignore
20
+ const tester = proc.spawnEmbed(tengoTester.TengoTesterBinaryPath, 'run', '--log-level', flags['log-level'], '--artifacts', '-', ...testerArgs);
21
+ try {
22
+ dump.dumpAll(logger, tester.stdin);
23
+ }
24
+ catch (err) {
25
+ logger.error(err);
26
+ }
27
+ finally {
28
+ tester.stdin.end();
29
+ const code = await proc.waitFor(tester);
30
+ process.exit(code);
31
+ }
32
+ }
33
+ }
34
+
35
+ module.exports = Test;
36
+ //# sourceMappingURL=test.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.cjs","sources":["../../src/commands/test.ts"],"sourcesContent":["import { Command } from '@oclif/core';\nimport { createLogger } from '../compiler/util';\nimport { dumpAll } from '../shared/dump';\nimport { GlobalFlags } from '../shared/basecmd';\nimport { spawnEmbed, waitFor } from '../shared/proc';\nimport { TengoTesterBinaryPath } from '@milaboratories/tengo-tester';\n\nexport default class Test extends Command {\n static override description = 'run tengo unit tests (.test.tengo)';\n\n static strict = false;\n\n static override flags = { ...GlobalFlags };\n\n static override examples = ['<%= config.bin %> <%= command.id %>'];\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Test);\n const logger = createLogger(flags['log-level']);\n\n const testerArgs: string[] = this.argv.length == 0 ? ['./src'] : this.argv;\n\n // prettier-ignore\n const tester = spawnEmbed(\n TengoTesterBinaryPath,\n 'run', '--log-level', flags['log-level'],\n '--artifacts', '-',\n ...testerArgs,\n );\n\n try {\n dumpAll(logger, tester.stdin);\n } catch (err: unknown) {\n logger.error(err);\n } finally {\n tester.stdin.end();\n const code = await waitFor(tester);\n process.exit(code);\n }\n }\n}\n"],"names":["Command","GlobalFlags","createLogger","spawnEmbed","TengoTesterBinaryPath","dumpAll","waitFor"],"mappings":";;;;;;;;;AAOc,MAAO,IAAK,SAAQA,YAAO,CAAA;AACvC,IAAA,OAAgB,WAAW,GAAG,oCAAoC;AAElE,IAAA,OAAO,MAAM,GAAG,KAAK;AAErB,IAAA,OAAgB,KAAK,GAAG,EAAE,GAAGC,mBAAW,EAAE;AAE1C,IAAA,OAAgB,QAAQ,GAAG,CAAC,qCAAqC,CAAC;AAE3D,IAAA,MAAM,GAAG,GAAA;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACxC,MAAM,MAAM,GAAGC,iBAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAa,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI;;QAG1E,MAAM,MAAM,GAAGC,eAAU,CACvBC,iCAAqB,EACrB,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,EACxC,aAAa,EAAE,GAAG,EAClB,GAAG,UAAU,CACd;AAED,QAAA,IAAI;AACF,YAAAC,YAAO,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;QAC/B;QAAE,OAAO,GAAY,EAAE;AACrB,YAAA,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QACnB;gBAAU;AACR,YAAA,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;AAClB,YAAA,MAAM,IAAI,GAAG,MAAMC,YAAO,CAAC,MAAM,CAAC;AAClC,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACpB;IACF;;;;;"}
@@ -1,10 +1,9 @@
1
1
  import { Command } from '@oclif/core';
2
- import { OptionFlag, CustomOptions } from '@oclif/core/interfaces';
3
2
  export default class Test extends Command {
4
3
  static description: string;
5
4
  static strict: boolean;
6
5
  static flags: {
7
- 'log-level': OptionFlag<string, CustomOptions>;
6
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
8
7
  };
9
8
  static examples: string[];
10
9
  run(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAOtC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,OAAgB,WAAW,SAAwC;IAEnE,MAAM,CAAC,MAAM,UAAS;IAEtB,OAAgB,KAAK;;MAAsB;IAE3C,OAAgB,QAAQ,WAA2C;IAEtD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwBlC"}
1
+ {"version":3,"file":"test.d.ts","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAOtC,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,OAAO;IACvC,OAAgB,WAAW,SAAwC;IAEnE,MAAM,CAAC,MAAM,UAAS;IAEtB,OAAgB,KAAK;;MAAsB;IAE3C,OAAgB,QAAQ,WAA2C;IAEtD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwBlC"}
@@ -0,0 +1,34 @@
1
+ import { Command } from '@oclif/core';
2
+ import { createLogger } from '../compiler/util.js';
3
+ import { dumpAll } from '../shared/dump.js';
4
+ import { GlobalFlags } from '../shared/basecmd.js';
5
+ import { spawnEmbed, waitFor } from '../shared/proc.js';
6
+ import { TengoTesterBinaryPath } from '@milaboratories/tengo-tester';
7
+
8
+ class Test extends Command {
9
+ static description = 'run tengo unit tests (.test.tengo)';
10
+ static strict = false;
11
+ static flags = { ...GlobalFlags };
12
+ static examples = ['<%= config.bin %> <%= command.id %>'];
13
+ async run() {
14
+ const { flags } = await this.parse(Test);
15
+ const logger = createLogger(flags['log-level']);
16
+ const testerArgs = this.argv.length == 0 ? ['./src'] : this.argv;
17
+ // prettier-ignore
18
+ const tester = spawnEmbed(TengoTesterBinaryPath, 'run', '--log-level', flags['log-level'], '--artifacts', '-', ...testerArgs);
19
+ try {
20
+ dumpAll(logger, tester.stdin);
21
+ }
22
+ catch (err) {
23
+ logger.error(err);
24
+ }
25
+ finally {
26
+ tester.stdin.end();
27
+ const code = await waitFor(tester);
28
+ process.exit(code);
29
+ }
30
+ }
31
+ }
32
+
33
+ export { Test as default };
34
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sources":["../../src/commands/test.ts"],"sourcesContent":["import { Command } from '@oclif/core';\nimport { createLogger } from '../compiler/util';\nimport { dumpAll } from '../shared/dump';\nimport { GlobalFlags } from '../shared/basecmd';\nimport { spawnEmbed, waitFor } from '../shared/proc';\nimport { TengoTesterBinaryPath } from '@milaboratories/tengo-tester';\n\nexport default class Test extends Command {\n static override description = 'run tengo unit tests (.test.tengo)';\n\n static strict = false;\n\n static override flags = { ...GlobalFlags };\n\n static override examples = ['<%= config.bin %> <%= command.id %>'];\n\n public async run(): Promise<void> {\n const { flags } = await this.parse(Test);\n const logger = createLogger(flags['log-level']);\n\n const testerArgs: string[] = this.argv.length == 0 ? ['./src'] : this.argv;\n\n // prettier-ignore\n const tester = spawnEmbed(\n TengoTesterBinaryPath,\n 'run', '--log-level', flags['log-level'],\n '--artifacts', '-',\n ...testerArgs,\n );\n\n try {\n dumpAll(logger, tester.stdin);\n } catch (err: unknown) {\n logger.error(err);\n } finally {\n tester.stdin.end();\n const code = await waitFor(tester);\n process.exit(code);\n }\n }\n}\n"],"names":[],"mappings":";;;;;;;AAOc,MAAO,IAAK,SAAQ,OAAO,CAAA;AACvC,IAAA,OAAgB,WAAW,GAAG,oCAAoC;AAElE,IAAA,OAAO,MAAM,GAAG,KAAK;AAErB,IAAA,OAAgB,KAAK,GAAG,EAAE,GAAG,WAAW,EAAE;AAE1C,IAAA,OAAgB,QAAQ,GAAG,CAAC,qCAAqC,CAAC;AAE3D,IAAA,MAAM,GAAG,GAAA;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;QACxC,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE/C,MAAM,UAAU,GAAa,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI;;QAG1E,MAAM,MAAM,GAAG,UAAU,CACvB,qBAAqB,EACrB,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,WAAW,CAAC,EACxC,aAAa,EAAE,GAAG,EAClB,GAAG,UAAU,CACd;AAED,QAAA,IAAI;AACF,YAAA,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC;QAC/B;QAAE,OAAO,GAAY,EAAE;AACrB,YAAA,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC;QACnB;gBAAU;AACR,YAAA,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE;AAClB,YAAA,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;AAClC,YAAA,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;QACpB;IACF;;;;;"}
@@ -0,0 +1,75 @@
1
+ 'use strict';
2
+
3
+ var _package = require('./package.cjs');
4
+ var util = require('./util.cjs');
5
+
6
+ class ArtifactMap {
7
+ nameExtractor;
8
+ map = new Map();
9
+ constructor(nameExtractor) {
10
+ this.nameExtractor = nameExtractor;
11
+ }
12
+ add(obj, replace = true) {
13
+ const key = _package.artifactKey(this.nameExtractor(obj));
14
+ const ret = this.map.get(key);
15
+ if (ret && !replace)
16
+ return ret;
17
+ this.map.set(key, obj);
18
+ return ret;
19
+ }
20
+ get(name) {
21
+ return this.map.get(_package.artifactKey(name));
22
+ }
23
+ get array() {
24
+ const ret = [];
25
+ this.map.forEach((obj) => ret.push(obj));
26
+ return ret;
27
+ }
28
+ forEach(callback) {
29
+ this.map.forEach((v) => callback(v, this.nameExtractor(v)));
30
+ }
31
+ }
32
+ function createArtifactNameSet() {
33
+ return new ArtifactMap((obj) => obj);
34
+ }
35
+ /**
36
+ * ArtifactStore is a store for artifacts that are compiled for different modes.
37
+ * It is used to collect all artifacts from the dependency tree and compile them for different modes.
38
+ */
39
+ class ArtifactStore {
40
+ // private readonly dev: ArtifactMap<T>;
41
+ dist;
42
+ constructor(nameExtractor) {
43
+ // this.dev = new ArtifactMap<T>(nameExtractor);
44
+ this.dist = new ArtifactMap(nameExtractor);
45
+ }
46
+ add(mode, obj, replace = true) {
47
+ switch (mode) {
48
+ case 'dist':
49
+ return this.dist.add(obj, replace);
50
+ default:
51
+ util.assertNever(mode);
52
+ }
53
+ }
54
+ get(mode, name) {
55
+ switch (mode) {
56
+ case 'dist':
57
+ return this.dist.get(name);
58
+ default:
59
+ util.assertNever(mode);
60
+ }
61
+ }
62
+ array(mode) {
63
+ const ret = [];
64
+ this.forEach(mode, (obj) => ret.push(obj));
65
+ return ret;
66
+ }
67
+ forEach(mode, callback) {
68
+ this.dist.forEach((obj, k) => callback(this.get(mode, k) ?? obj, k));
69
+ }
70
+ }
71
+
72
+ exports.ArtifactMap = ArtifactMap;
73
+ exports.ArtifactStore = ArtifactStore;
74
+ exports.createArtifactNameSet = createArtifactNameSet;
75
+ //# sourceMappingURL=artifactset.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifactset.cjs","sources":["../../src/compiler/artifactset.ts"],"sourcesContent":["import type { CompileMode, TypedArtifactName } from './package';\nimport { artifactKey } from './package';\nimport { assertNever } from './util';\n\nexport class ArtifactMap<T> {\n private readonly map = new Map<string, T>();\n\n constructor(private readonly nameExtractor: (obj: T) => TypedArtifactName) {\n }\n\n add(obj: T, replace: boolean = true): T | undefined {\n const key = artifactKey(this.nameExtractor(obj));\n const ret = this.map.get(key);\n if (ret && !replace)\n return ret;\n this.map.set(key, obj);\n return ret;\n }\n\n get(name: TypedArtifactName): T | undefined {\n return this.map.get(artifactKey(name));\n }\n\n get array(): T[] {\n const ret: T[] = [];\n this.map.forEach((obj) => ret.push(obj));\n return ret;\n }\n\n forEach(callback: (value: T, key: TypedArtifactName) => void) {\n this.map.forEach((v) => callback(v, this.nameExtractor(v)));\n }\n}\n\nexport function createArtifactNameSet(): ArtifactMap<TypedArtifactName> {\n return new ArtifactMap<TypedArtifactName>((obj) => obj);\n}\n\n/**\n * ArtifactStore is a store for artifacts that are compiled for different modes.\n * It is used to collect all artifacts from the dependency tree and compile them for different modes.\n */\nexport class ArtifactStore<T> {\n // private readonly dev: ArtifactMap<T>;\n private readonly dist: ArtifactMap<T>;\n\n constructor(nameExtractor: (obj: T) => TypedArtifactName) {\n // this.dev = new ArtifactMap<T>(nameExtractor);\n this.dist = new ArtifactMap<T>(nameExtractor);\n }\n\n add(mode: CompileMode, obj: T, replace: boolean = true): T | undefined {\n switch (mode) {\n case 'dist':\n return this.dist.add(obj, replace);\n\n default:\n assertNever(mode);\n }\n }\n\n get(mode: CompileMode, name: TypedArtifactName): T | undefined {\n switch (mode) {\n case 'dist':\n return this.dist.get(name);\n\n default:\n assertNever(mode);\n }\n }\n\n array(mode: CompileMode): T[] {\n const ret: T[] = [];\n this.forEach(mode, (obj) => ret.push(obj));\n return ret;\n }\n\n forEach(mode: CompileMode, callback: (value: T, key: TypedArtifactName) => void) {\n this.dist.forEach((obj, k) => callback(this.get(mode, k) ?? obj, k));\n }\n}\n"],"names":["artifactKey","assertNever"],"mappings":";;;;;MAIa,WAAW,CAAA;AAGO,IAAA,aAAA;AAFZ,IAAA,GAAG,GAAG,IAAI,GAAG,EAAa;AAE3C,IAAA,WAAA,CAA6B,aAA4C,EAAA;QAA5C,IAAA,CAAA,aAAa,GAAb,aAAa;IAC1C;AAEA,IAAA,GAAG,CAAC,GAAM,EAAE,OAAA,GAAmB,IAAI,EAAA;QACjC,MAAM,GAAG,GAAGA,oBAAW,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QAC7B,IAAI,GAAG,IAAI,CAAC,OAAO;AACjB,YAAA,OAAO,GAAG;QACZ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AACtB,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,GAAG,CAAC,IAAuB,EAAA;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAACA,oBAAW,CAAC,IAAI,CAAC,CAAC;IACxC;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,MAAM,GAAG,GAAQ,EAAE;AACnB,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,OAAO,CAAC,QAAoD,EAAA;QAC1D,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D;AACD;SAEe,qBAAqB,GAAA;IACnC,OAAO,IAAI,WAAW,CAAoB,CAAC,GAAG,KAAK,GAAG,CAAC;AACzD;AAEA;;;AAGG;MACU,aAAa,CAAA;;AAEP,IAAA,IAAI;AAErB,IAAA,WAAA,CAAY,aAA4C,EAAA;;QAEtD,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAI,aAAa,CAAC;IAC/C;AAEA,IAAA,GAAG,CAAC,IAAiB,EAAE,GAAM,EAAE,UAAmB,IAAI,EAAA;QACpD,QAAQ,IAAI;AACV,YAAA,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC;AAEpC,YAAA;gBACEC,gBAAW,CAAC,IAAI,CAAC;;IAEvB;IAEA,GAAG,CAAC,IAAiB,EAAE,IAAuB,EAAA;QAC5C,QAAQ,IAAI;AACV,YAAA,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAE5B,YAAA;gBACEA,gBAAW,CAAC,IAAI,CAAC;;IAEvB;AAEA,IAAA,KAAK,CAAC,IAAiB,EAAA;QACrB,MAAM,GAAG,GAAQ,EAAE;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1C,QAAA,OAAO,GAAG;IACZ;IAEA,OAAO,CAAC,IAAiB,EAAE,QAAoD,EAAA;AAC7E,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;IACtE;AACD;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { CompileMode, TypedArtifactName } from './package';
1
+ import type { CompileMode, TypedArtifactName } from './package';
2
2
  export declare class ArtifactMap<T> {
3
3
  private readonly nameExtractor;
4
4
  private readonly map;
@@ -0,0 +1,71 @@
1
+ import { artifactKey } from './package.js';
2
+ import { assertNever } from './util.js';
3
+
4
+ class ArtifactMap {
5
+ nameExtractor;
6
+ map = new Map();
7
+ constructor(nameExtractor) {
8
+ this.nameExtractor = nameExtractor;
9
+ }
10
+ add(obj, replace = true) {
11
+ const key = artifactKey(this.nameExtractor(obj));
12
+ const ret = this.map.get(key);
13
+ if (ret && !replace)
14
+ return ret;
15
+ this.map.set(key, obj);
16
+ return ret;
17
+ }
18
+ get(name) {
19
+ return this.map.get(artifactKey(name));
20
+ }
21
+ get array() {
22
+ const ret = [];
23
+ this.map.forEach((obj) => ret.push(obj));
24
+ return ret;
25
+ }
26
+ forEach(callback) {
27
+ this.map.forEach((v) => callback(v, this.nameExtractor(v)));
28
+ }
29
+ }
30
+ function createArtifactNameSet() {
31
+ return new ArtifactMap((obj) => obj);
32
+ }
33
+ /**
34
+ * ArtifactStore is a store for artifacts that are compiled for different modes.
35
+ * It is used to collect all artifacts from the dependency tree and compile them for different modes.
36
+ */
37
+ class ArtifactStore {
38
+ // private readonly dev: ArtifactMap<T>;
39
+ dist;
40
+ constructor(nameExtractor) {
41
+ // this.dev = new ArtifactMap<T>(nameExtractor);
42
+ this.dist = new ArtifactMap(nameExtractor);
43
+ }
44
+ add(mode, obj, replace = true) {
45
+ switch (mode) {
46
+ case 'dist':
47
+ return this.dist.add(obj, replace);
48
+ default:
49
+ assertNever(mode);
50
+ }
51
+ }
52
+ get(mode, name) {
53
+ switch (mode) {
54
+ case 'dist':
55
+ return this.dist.get(name);
56
+ default:
57
+ assertNever(mode);
58
+ }
59
+ }
60
+ array(mode) {
61
+ const ret = [];
62
+ this.forEach(mode, (obj) => ret.push(obj));
63
+ return ret;
64
+ }
65
+ forEach(mode, callback) {
66
+ this.dist.forEach((obj, k) => callback(this.get(mode, k) ?? obj, k));
67
+ }
68
+ }
69
+
70
+ export { ArtifactMap, ArtifactStore, createArtifactNameSet };
71
+ //# sourceMappingURL=artifactset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"artifactset.js","sources":["../../src/compiler/artifactset.ts"],"sourcesContent":["import type { CompileMode, TypedArtifactName } from './package';\nimport { artifactKey } from './package';\nimport { assertNever } from './util';\n\nexport class ArtifactMap<T> {\n private readonly map = new Map<string, T>();\n\n constructor(private readonly nameExtractor: (obj: T) => TypedArtifactName) {\n }\n\n add(obj: T, replace: boolean = true): T | undefined {\n const key = artifactKey(this.nameExtractor(obj));\n const ret = this.map.get(key);\n if (ret && !replace)\n return ret;\n this.map.set(key, obj);\n return ret;\n }\n\n get(name: TypedArtifactName): T | undefined {\n return this.map.get(artifactKey(name));\n }\n\n get array(): T[] {\n const ret: T[] = [];\n this.map.forEach((obj) => ret.push(obj));\n return ret;\n }\n\n forEach(callback: (value: T, key: TypedArtifactName) => void) {\n this.map.forEach((v) => callback(v, this.nameExtractor(v)));\n }\n}\n\nexport function createArtifactNameSet(): ArtifactMap<TypedArtifactName> {\n return new ArtifactMap<TypedArtifactName>((obj) => obj);\n}\n\n/**\n * ArtifactStore is a store for artifacts that are compiled for different modes.\n * It is used to collect all artifacts from the dependency tree and compile them for different modes.\n */\nexport class ArtifactStore<T> {\n // private readonly dev: ArtifactMap<T>;\n private readonly dist: ArtifactMap<T>;\n\n constructor(nameExtractor: (obj: T) => TypedArtifactName) {\n // this.dev = new ArtifactMap<T>(nameExtractor);\n this.dist = new ArtifactMap<T>(nameExtractor);\n }\n\n add(mode: CompileMode, obj: T, replace: boolean = true): T | undefined {\n switch (mode) {\n case 'dist':\n return this.dist.add(obj, replace);\n\n default:\n assertNever(mode);\n }\n }\n\n get(mode: CompileMode, name: TypedArtifactName): T | undefined {\n switch (mode) {\n case 'dist':\n return this.dist.get(name);\n\n default:\n assertNever(mode);\n }\n }\n\n array(mode: CompileMode): T[] {\n const ret: T[] = [];\n this.forEach(mode, (obj) => ret.push(obj));\n return ret;\n }\n\n forEach(mode: CompileMode, callback: (value: T, key: TypedArtifactName) => void) {\n this.dist.forEach((obj, k) => callback(this.get(mode, k) ?? obj, k));\n }\n}\n"],"names":[],"mappings":";;;MAIa,WAAW,CAAA;AAGO,IAAA,aAAA;AAFZ,IAAA,GAAG,GAAG,IAAI,GAAG,EAAa;AAE3C,IAAA,WAAA,CAA6B,aAA4C,EAAA;QAA5C,IAAA,CAAA,aAAa,GAAb,aAAa;IAC1C;AAEA,IAAA,GAAG,CAAC,GAAM,EAAE,OAAA,GAAmB,IAAI,EAAA;QACjC,MAAM,GAAG,GAAG,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QAC7B,IAAI,GAAG,IAAI,CAAC,OAAO;AACjB,YAAA,OAAO,GAAG;QACZ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;AACtB,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,GAAG,CAAC,IAAuB,EAAA;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IACxC;AAEA,IAAA,IAAI,KAAK,GAAA;QACP,MAAM,GAAG,GAAQ,EAAE;AACnB,QAAA,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACxC,QAAA,OAAO,GAAG;IACZ;AAEA,IAAA,OAAO,CAAC,QAAoD,EAAA;QAC1D,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D;AACD;SAEe,qBAAqB,GAAA;IACnC,OAAO,IAAI,WAAW,CAAoB,CAAC,GAAG,KAAK,GAAG,CAAC;AACzD;AAEA;;;AAGG;MACU,aAAa,CAAA;;AAEP,IAAA,IAAI;AAErB,IAAA,WAAA,CAAY,aAA4C,EAAA;;QAEtD,IAAI,CAAC,IAAI,GAAG,IAAI,WAAW,CAAI,aAAa,CAAC;IAC/C;AAEA,IAAA,GAAG,CAAC,IAAiB,EAAE,GAAM,EAAE,UAAmB,IAAI,EAAA;QACpD,QAAQ,IAAI;AACV,YAAA,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC;AAEpC,YAAA;gBACE,WAAW,CAAC,IAAI,CAAC;;IAEvB;IAEA,GAAG,CAAC,IAAiB,EAAE,IAAuB,EAAA;QAC5C,QAAQ,IAAI;AACV,YAAA,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;AAE5B,YAAA;gBACE,WAAW,CAAC,IAAI,CAAC;;IAEvB;AAEA,IAAA,KAAK,CAAC,IAAiB,EAAA;QACrB,MAAM,GAAG,GAAQ,EAAE;AACnB,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1C,QAAA,OAAO,GAAG;IACZ;IAEA,OAAO,CAAC,IAAiB,EAAE,QAAoD,EAAA;AAC7E,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;IACtE;AACD;;;;"}