testeranto 0.90.0 → 0.100.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.
Files changed (133) hide show
  1. package/bundle.js +4 -7
  2. package/dist/common/src/Node.js +5 -3
  3. package/dist/common/src/PM/main.js +254 -126
  4. package/dist/common/src/PM/node.js +20 -5
  5. package/dist/common/src/PM/web.js +19 -4
  6. package/dist/common/src/SubPackages/puppeteer.js +1 -1
  7. package/dist/common/src/SubPackages/react/jsx/index.js +14 -6
  8. package/dist/common/src/SubPackages/react/jsx/node.js +2 -2
  9. package/dist/common/src/SubPackages/react-dom/component/web.js +13 -39
  10. package/dist/common/src/SubPackages/react-test-renderer/component/interface.js +2 -10
  11. package/dist/common/src/Web.js +25 -21
  12. package/dist/common/src/cli.js +439 -0
  13. package/dist/common/src/cli2.js +144 -0
  14. package/dist/common/src/esbuildConfigs/inputFilesPlugin.js +18 -8
  15. package/dist/common/src/esbuildConfigs/node.js +1 -4
  16. package/dist/common/src/esbuildConfigs/web.js +1 -1
  17. package/dist/common/src/lib/abstractBase.js +31 -263
  18. package/dist/common/src/lib/basebuilder.js +1 -11
  19. package/dist/common/src/lib/classBuilder.js +1 -1
  20. package/dist/common/src/lib/core.js +8 -28
  21. package/dist/common/src/lib/types.js +1 -0
  22. package/dist/common/tsconfig.common.tsbuildinfo +1 -1
  23. package/dist/module/src/Node.js +5 -3
  24. package/dist/module/src/PM/main.js +254 -126
  25. package/dist/module/src/PM/node.js +20 -5
  26. package/dist/module/src/PM/web.js +19 -4
  27. package/dist/module/src/SubPackages/puppeteer.js +1 -1
  28. package/dist/module/src/SubPackages/react/jsx/index.js +14 -6
  29. package/dist/module/src/SubPackages/react/jsx/node.js +2 -2
  30. package/dist/module/src/SubPackages/react-dom/component/web.js +13 -39
  31. package/dist/module/src/SubPackages/react-test-renderer/component/interface.js +2 -10
  32. package/dist/module/src/Web.js +25 -21
  33. package/dist/module/src/cli.js +411 -0
  34. package/dist/module/src/cli2.js +116 -0
  35. package/dist/module/src/esbuildConfigs/inputFilesPlugin.js +18 -8
  36. package/dist/module/src/esbuildConfigs/node.js +1 -4
  37. package/dist/module/src/esbuildConfigs/web.js +1 -1
  38. package/dist/module/src/lib/abstractBase.js +31 -263
  39. package/dist/module/src/lib/basebuilder.js +1 -11
  40. package/dist/module/src/lib/classBuilder.js +1 -1
  41. package/dist/module/src/lib/core.js +8 -28
  42. package/dist/module/src/lib/types.js +1 -0
  43. package/dist/module/tsconfig.module.tsbuildinfo +1 -1
  44. package/dist/prebuild/cli.mjs +1491 -0
  45. package/dist/prebuild/{run-tests.mjs → cli2.mjs} +223 -212
  46. package/dist/types/src/Node.d.ts +6 -3
  47. package/dist/types/src/PM/index.d.ts +10 -2
  48. package/dist/types/src/PM/main.d.ts +14 -7
  49. package/dist/types/src/PM/node.d.ts +9 -2
  50. package/dist/types/src/PM/web.d.ts +9 -3
  51. package/dist/types/src/SubPackages/puppeteer.d.ts +1 -1
  52. package/dist/types/src/SubPackages/react/component/node.d.ts +1 -1
  53. package/dist/types/src/SubPackages/react/component/web.d.ts +1 -1
  54. package/dist/types/src/SubPackages/react/jsx/node.d.ts +3 -3
  55. package/dist/types/src/SubPackages/react/jsx/web.d.ts +2 -2
  56. package/dist/types/src/SubPackages/react-dom/component/node.d.ts +2 -2
  57. package/dist/types/src/SubPackages/react-dom/component/web.d.ts +1 -1
  58. package/dist/types/src/SubPackages/react-dom/jsx/node.d.ts +1 -1
  59. package/dist/types/src/SubPackages/react-dom/jsx/web.d.ts +2 -2
  60. package/dist/types/src/SubPackages/react-test-renderer/MemoExoticComponent/node.d.ts +2 -2
  61. package/dist/types/src/SubPackages/react-test-renderer/component/interface.d.ts +1 -1
  62. package/dist/types/src/SubPackages/react-test-renderer/component/node.d.ts +2 -2
  63. package/dist/types/src/SubPackages/react-test-renderer/component/web.d.ts +2 -2
  64. package/dist/types/src/SubPackages/react-test-renderer/fc/node.d.ts +2 -2
  65. package/dist/types/src/SubPackages/react-test-renderer/fc/web.d.ts +2 -2
  66. package/dist/types/src/SubPackages/react-test-renderer/jsx/node.d.ts +3 -2
  67. package/dist/types/src/SubPackages/react-test-renderer/jsx/web.d.ts +2 -2
  68. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/node.d.ts +2 -2
  69. package/dist/types/src/SubPackages/react-test-renderer/jsx-promised/web.d.ts +2 -2
  70. package/dist/types/src/Types.d.ts +60 -21
  71. package/dist/types/src/Web.d.ts +3 -3
  72. package/dist/types/src/lib/abstractBase.d.ts +6 -2
  73. package/dist/types/src/lib/core.d.ts +3 -3
  74. package/dist/types/src/lib/index.d.ts +1 -1
  75. package/dist/types/src/lib/types.d.ts +6 -30
  76. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  77. package/package.json +23 -20
  78. package/src/Node.ts +6 -3
  79. package/src/PM/index.ts +12 -8
  80. package/src/PM/main.ts +331 -165
  81. package/src/PM/node.ts +42 -7
  82. package/src/PM/web.ts +33 -5
  83. package/src/SubPackages/puppeteer.ts +1 -1
  84. package/src/SubPackages/react/jsx/index.ts +15 -7
  85. package/src/SubPackages/react/jsx/node.ts +18 -6
  86. package/src/SubPackages/react-dom/component/web.ts +28 -51
  87. package/src/SubPackages/react-test-renderer/component/interface.ts +4 -11
  88. package/src/SubPackages/react-test-renderer/jsx/node.ts +16 -1
  89. package/src/Types.ts +362 -114
  90. package/src/Web.ts +45 -23
  91. package/src/cli.ts +535 -0
  92. package/src/cli2.ts +157 -0
  93. package/src/esbuildConfigs/inputFilesPlugin.ts +27 -9
  94. package/src/esbuildConfigs/node.ts +4 -7
  95. package/src/esbuildConfigs/web.ts +4 -3
  96. package/src/lib/abstractBase.ts +84 -291
  97. package/src/lib/basebuilder.ts +1 -12
  98. package/src/lib/classBuilder.ts +2 -1
  99. package/src/lib/core.ts +17 -29
  100. package/src/lib/types.ts +5 -177
  101. package/dist/common/src/Aider.js +0 -143
  102. package/dist/common/src/Project.js +0 -225
  103. package/dist/common/src/Puppeteer.js +0 -113
  104. package/dist/common/src/build-tests.js +0 -39
  105. package/dist/common/src/esbuildConfigs/features.js +0 -14
  106. package/dist/common/src/esbuildConfigs/report.js +0 -14
  107. package/dist/common/src/esbuildConfigs/tests.js +0 -13
  108. package/dist/common/src/run-tests.js +0 -39
  109. package/dist/module/src/Aider.js +0 -136
  110. package/dist/module/src/Project.js +0 -218
  111. package/dist/module/src/Puppeteer.js +0 -108
  112. package/dist/module/src/build-tests.js +0 -11
  113. package/dist/module/src/esbuildConfigs/features.js +0 -12
  114. package/dist/module/src/esbuildConfigs/report.js +0 -14
  115. package/dist/module/src/esbuildConfigs/tests.js +0 -11
  116. package/dist/module/src/run-tests.js +0 -11
  117. package/dist/prebuild/build-tests.mjs +0 -552
  118. package/dist/types/src/Aider.d.ts +0 -1
  119. package/dist/types/src/Project.d.ts +0 -12
  120. package/dist/types/src/Puppeteer.d.ts +0 -2
  121. package/dist/types/src/esbuildConfigs/features.d.ts +0 -4
  122. package/dist/types/src/esbuildConfigs/report.d.ts +0 -0
  123. package/dist/types/src/esbuildConfigs/tests.d.ts +0 -4
  124. package/src/Aider.ts +0 -168
  125. package/src/Project.ts +0 -291
  126. package/src/Puppeteer.ts +0 -145
  127. package/src/build-tests.ts +0 -12
  128. package/src/esbuildConfigs/features.ts +0 -17
  129. package/src/esbuildConfigs/report.ts +0 -15
  130. package/src/esbuildConfigs/tests.ts +0 -14
  131. package/src/run-tests.ts +0 -12
  132. /package/dist/types/src/{build-tests.d.ts → cli.d.ts} +0 -0
  133. /package/dist/types/src/{run-tests.d.ts → cli2.d.ts} +0 -0
@@ -1,225 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.ITProject = void 0;
7
- const child_process_1 = require("child_process");
8
- const esbuild_1 = __importDefault(require("esbuild"));
9
- const fs_1 = __importDefault(require("fs"));
10
- const path_1 = __importDefault(require("path"));
11
- const readline_1 = __importDefault(require("readline"));
12
- const glob_1 = require("glob");
13
- const node_js_1 = __importDefault(require("./esbuildConfigs/node.js"));
14
- const web_js_1 = __importDefault(require("./esbuildConfigs/web.js"));
15
- const web_html_js_1 = __importDefault(require("./web.html.js"));
16
- readline_1.default.emitKeypressEvents(process.stdin);
17
- if (process.stdin.isTTY)
18
- process.stdin.setRawMode(true);
19
- const logContent = [];
20
- function parseTsErrors() {
21
- try {
22
- // const logContent = fs.readFileSync(logPath, "utf-8").split("\n");
23
- const regex = /(^src(.*?))\(\d*,\d*\): error/gm;
24
- const brokenFilesToLines = {};
25
- for (let i = 0; i < logContent.length - 1; i++) {
26
- let m;
27
- while ((m = regex.exec(logContent[i])) !== null) {
28
- // This is necessary to avoid infinite loops with zero-width matches
29
- if (m.index === regex.lastIndex) {
30
- regex.lastIndex++;
31
- }
32
- if (!brokenFilesToLines[m[1]]) {
33
- brokenFilesToLines[m[1]] = new Set();
34
- }
35
- brokenFilesToLines[m[1]].add(i);
36
- }
37
- }
38
- const final = Object.keys(brokenFilesToLines).reduce((mm, lm, ndx) => {
39
- mm[lm] = Array.from(brokenFilesToLines[lm]).map((l, ndx3) => {
40
- const a = Array.from(brokenFilesToLines[lm]);
41
- return Object.keys(a).reduce((mm2, lm2, ndx2) => {
42
- const acc = [];
43
- let j = a[lm2] + 1;
44
- let working = true;
45
- while (j < logContent.length - 1 && working) {
46
- if (!logContent[j].match(regex) &&
47
- working &&
48
- !logContent[j].match(/^..\/(.*?)\(\d*,\d*\)/)) {
49
- acc.push(logContent[j]);
50
- }
51
- else {
52
- working = false;
53
- }
54
- j++;
55
- }
56
- mm2[lm] = [logContent[l], ...acc];
57
- return mm2;
58
- }, {})[lm];
59
- });
60
- return mm;
61
- }, {});
62
- Object.keys(final).forEach((k) => {
63
- fs_1.default.mkdirSync(`./docs/types/${k.split("/").slice(0, -1).join("/")}`, {
64
- recursive: true,
65
- });
66
- fs_1.default.writeFileSync(`./docs/types/${k}.type_errors.txt`, final[k].flat().flat().join("\r\n"));
67
- });
68
- }
69
- catch (error) {
70
- console.error("Error reading or parsing the log file:", error);
71
- process.exit(1);
72
- }
73
- }
74
- const compile = () => {
75
- return new Promise((resolve, reject) => {
76
- const tsc = (0, child_process_1.spawn)("tsc", ["-noEmit"]);
77
- tsc.stdout.on("data", (data) => {
78
- // console.log(`stdout: ${data}`);
79
- const lines = data.toString().split("\n");
80
- logContent.push(...lines);
81
- });
82
- tsc.stderr.on("data", (data) => {
83
- // console.error(`stderr: ${data}`);
84
- });
85
- tsc.on("close", (code) => {
86
- parseTsErrors();
87
- resolve(`tsc process exited with code ${code}`);
88
- // if (code !== 0) {
89
- // resolve(`tsc process exited with code ${code}`);
90
- // // reject(`tsc process exited with code ${code}`);
91
- // } else {
92
- // resolve({});
93
- // }
94
- });
95
- });
96
- };
97
- class ITProject {
98
- constructor(configs) {
99
- this.nodeDone = false;
100
- this.webDone = false;
101
- this.onNodeDone = () => {
102
- this.nodeDone = true;
103
- this.onDone();
104
- };
105
- this.onWebDone = () => {
106
- this.webDone = true;
107
- this.onDone();
108
- };
109
- this.onDone = () => {
110
- // console.log(this.nodeDone && this.webDone && this.mode === "PROD");
111
- if (this.nodeDone && this.webDone && this.mode === "PROD") {
112
- console.log("Testeranto-EsBuild is all done. Goodbye!");
113
- process.exit();
114
- }
115
- else {
116
- if (this.mode === "PROD") {
117
- console.log("waiting for tests to finish");
118
- console.log(JSON.stringify({
119
- nodeDone: this.nodeDone,
120
- webDone: this.webDone,
121
- mode: this.mode,
122
- }, null, 2));
123
- }
124
- else {
125
- console.log("waiting for tests to change");
126
- }
127
- console.log("press 'q' to quit");
128
- }
129
- };
130
- this.config = configs;
131
- this.mode = this.config.devMode ? "DEV" : "PROD";
132
- process.stdin.on("keypress", (str, key) => {
133
- if (key.name === "q") {
134
- console.log("Testeranto-EsBuild is shutting down...");
135
- this.mode = "PROD";
136
- this.onDone();
137
- }
138
- });
139
- fs_1.default.writeFileSync(`${this.config.outdir}/testeranto.json`, JSON.stringify(Object.assign(Object.assign({}, this.config), { buildDir: process.cwd() + "/" + this.config.outdir }), null, 2));
140
- compile();
141
- Promise.resolve(Promise.all([...this.getSecondaryEndpointsPoints("web")].map(async (sourceFilePath) => {
142
- const sourceFileSplit = sourceFilePath.split("/");
143
- const sourceDir = sourceFileSplit.slice(0, -1);
144
- const sourceFileName = sourceFileSplit[sourceFileSplit.length - 1];
145
- const sourceFileNameMinusJs = sourceFileName
146
- .split(".")
147
- .slice(0, -1)
148
- .join(".");
149
- const htmlFilePath = path_1.default.normalize(`${process.cwd()}/${this.config.outdir}/web/${sourceDir.join("/")}/${sourceFileNameMinusJs}.html`);
150
- const jsfilePath = `./${sourceFileNameMinusJs}.mjs`;
151
- return fs_1.default.promises
152
- .mkdir(path_1.default.dirname(htmlFilePath), { recursive: true })
153
- .then((x) => fs_1.default.writeFileSync(htmlFilePath, (0, web_html_js_1.default)(jsfilePath, htmlFilePath)));
154
- })));
155
- const [nodeEntryPoints, webEntryPoints] = getRunnables(this.config.tests);
156
- (0, glob_1.glob)(`./${this.config.outdir}/chunk-*.mjs`, {
157
- ignore: "node_modules/**",
158
- }).then((chunks) => {
159
- chunks.forEach((chunk) => {
160
- fs_1.default.unlinkSync(chunk);
161
- });
162
- });
163
- Promise.all([
164
- esbuild_1.default
165
- .context((0, node_js_1.default)(this.config, nodeEntryPoints))
166
- .then(async (nodeContext) => {
167
- if (this.config.devMode) {
168
- await nodeContext.watch().then((v) => {
169
- this.onNodeDone();
170
- });
171
- }
172
- else {
173
- nodeContext.rebuild().then((v) => {
174
- this.onNodeDone();
175
- });
176
- }
177
- return nodeContext;
178
- }),
179
- esbuild_1.default
180
- .context((0, web_js_1.default)(this.config, webEntryPoints))
181
- .then(async (webContext) => {
182
- if (this.config.devMode) {
183
- await webContext.watch().then((v) => {
184
- this.onWebDone();
185
- });
186
- }
187
- else {
188
- webContext.rebuild().then((v) => {
189
- this.onWebDone();
190
- });
191
- }
192
- return webContext;
193
- }),
194
- ]);
195
- }
196
- getSecondaryEndpointsPoints(runtime) {
197
- const meta = (ts, st) => {
198
- ts.forEach((t) => {
199
- if (t[1] === runtime) {
200
- st.add(t[0]);
201
- }
202
- if (Array.isArray(t[3])) {
203
- meta(t[3], st);
204
- }
205
- });
206
- return st;
207
- };
208
- return Array.from(meta(this.config.tests, new Set()));
209
- }
210
- }
211
- exports.ITProject = ITProject;
212
- const getRunnables = (tests, payload = [new Set(), new Set()]) => {
213
- return tests.reduce((pt, cv, cndx, cry) => {
214
- if (cv[1] === "node") {
215
- pt[0].add(cv[0]);
216
- }
217
- else if (cv[1] === "web") {
218
- pt[1].add(cv[0]);
219
- }
220
- if (cv[3].length) {
221
- getRunnables(cv[3], payload);
222
- }
223
- return pt;
224
- }, payload);
225
- };
@@ -1,113 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const readline_1 = __importDefault(require("readline"));
7
- const fs_1 = __importDefault(require("fs"));
8
- const recursive_watch_1 = __importDefault(require("recursive-watch"));
9
- const main_js_1 = require("./PM/main.js");
10
- const utils_js_1 = require("./utils.js");
11
- readline_1.default.emitKeypressEvents(process.stdin);
12
- if (process.stdin.isTTY)
13
- process.stdin.setRawMode(true);
14
- exports.default = async (partialConfig) => {
15
- const config = Object.assign(Object.assign({}, partialConfig), { buildDir: process.cwd() + "/" + partialConfig.outdir });
16
- fs_1.default.writeFileSync(`${config.outdir}/testeranto.json`, JSON.stringify(Object.assign(Object.assign({}, config), { buildDir: process.cwd() + "/" + config.outdir }), null, 2));
17
- const pm = new main_js_1.PM_Main(config);
18
- await pm.startPuppeteer({
19
- // timeout: 1,
20
- waitForInitialPage: false,
21
- executablePath:
22
- // process.env.CHROMIUM_PATH || "/opt/homebrew/bin/chromium",
23
- "/opt/homebrew/bin/chromium",
24
- headless: false,
25
- dumpio: true,
26
- // timeout: 0,
27
- devtools: true,
28
- args: [
29
- "--auto-open-devtools-for-tabs",
30
- `--remote-debugging-port=3234`,
31
- // "--disable-features=IsolateOrigins,site-per-process",
32
- "--disable-site-isolation-trials",
33
- "--allow-insecure-localhost",
34
- "--allow-file-access-from-files",
35
- "--allow-running-insecure-content",
36
- "--disable-dev-shm-usage",
37
- "--disable-extensions",
38
- "--disable-gpu",
39
- "--disable-setuid-sandbox",
40
- "--disable-site-isolation-trials",
41
- "--disable-web-security",
42
- "--no-first-run",
43
- "--no-sandbox",
44
- "--no-startup-window",
45
- // "--no-zygote",
46
- "--reduce-security-for-testing",
47
- "--remote-allow-origins=*",
48
- "--unsafely-treat-insecure-origin-as-secure=*",
49
- // "--disable-features=IsolateOrigins",
50
- // "--remote-allow-origins=ws://localhost:3234",
51
- // "--single-process",
52
- // "--unsafely-treat-insecure-origin-as-secure",
53
- // "--unsafely-treat-insecure-origin-as-secure=ws://192.168.0.101:3234",
54
- // "--disk-cache-dir=/dev/null",
55
- // "--disk-cache-size=1",
56
- // "--start-maximized",
57
- ],
58
- }, ".");
59
- console.log("\n Puppeteer is running. Press 'q' to shutdown softly. Press 'x' to shutdown forcefully.\n");
60
- process.stdin.on("keypress", (str, key) => {
61
- if (key.name === "q") {
62
- pm.shutDown();
63
- // process.exit();
64
- }
65
- if (key.name === "x") {
66
- // pm.shutDown();
67
- process.exit(-1);
68
- }
69
- });
70
- config.tests.forEach(([test, runtime, tr, sidecars]) => {
71
- if (runtime === "node") {
72
- pm.launchNode(test, (0, utils_js_1.destinationOfRuntime)(test, "node", config));
73
- }
74
- else if (runtime === "web") {
75
- pm.launchWeb(test, (0, utils_js_1.destinationOfRuntime)(test, "web", config), sidecars);
76
- }
77
- else {
78
- console.error("runtime makes no sense", runtime);
79
- }
80
- });
81
- if (config.devMode) {
82
- console.log("ready and watching for changes...", config.buildDir);
83
- (0, recursive_watch_1.default)(config.buildDir, (eventType, changedFile) => {
84
- if (changedFile) {
85
- config.tests.forEach(([test, runtime, tr, sidecars]) => {
86
- if (eventType === "change" || eventType === "rename") {
87
- if (changedFile ===
88
- test
89
- .replace("./", "node/")
90
- .split(".")
91
- .slice(0, -1)
92
- .concat("mjs")
93
- .join(".")) {
94
- pm.launchNode(test, (0, utils_js_1.destinationOfRuntime)(test, "node", config));
95
- }
96
- if (changedFile ===
97
- test
98
- .replace("./", "web/")
99
- .split(".")
100
- .slice(0, -1)
101
- .concat("mjs")
102
- .join(".")) {
103
- pm.launchWeb(test, (0, utils_js_1.destinationOfRuntime)(test, "web", config), sidecars);
104
- }
105
- }
106
- });
107
- }
108
- });
109
- }
110
- else {
111
- pm.shutDown();
112
- }
113
- };
@@ -1,39 +0,0 @@
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 (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const process_1 = __importDefault(require("process"));
30
- const Project_1 = require("./Project");
31
- if (!process_1.default.argv[2]) {
32
- console.log("You didn't pass a config file");
33
- process_1.default.exit(-1);
34
- }
35
- else {
36
- Promise.resolve().then(() => __importStar(require(process_1.default.cwd() + "/" + process_1.default.argv[2]))).then((module) => {
37
- new Project_1.ITProject(module.default);
38
- });
39
- }
@@ -1,14 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = (config) => {
4
- return {
5
- bundle: true,
6
- entryPoints: [config.features],
7
- minify: config.minify === true,
8
- outbase: config.outbase,
9
- write: true,
10
- outfile: `${config.outdir}/features.test.js`,
11
- // external: ["graphology"],
12
- format: "esm",
13
- };
14
- };
@@ -1,14 +0,0 @@
1
- "use strict";
2
- // import { BuildOptions } from "esbuild";
3
- // import { IBaseConfig } from "../lib/types";
4
- // export default (config: IBaseConfig): BuildOptions => {
5
- // return {
6
- // bundle: true,
7
- // entryPoints: ["./node_modules/testeranto/dist/module/report.js"],
8
- // minify: config.minify === true,
9
- // outbase: config.outbase,
10
- // write: true,
11
- // outfile: `${config.outdir}/report.js`,
12
- // external: ["tests.json", "features.test.js"],
13
- // };
14
- // };
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = (config) => {
4
- return {
5
- bundle: true,
6
- entryPoints: [config.features],
7
- minify: config.minify === true,
8
- outbase: config.outbase,
9
- write: true,
10
- outfile: `${config.outdir}/tests.test.js`,
11
- // external: ["graphology"]
12
- };
13
- };
@@ -1,39 +0,0 @@
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 (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- var __importDefault = (this && this.__importDefault) || function (mod) {
26
- return (mod && mod.__esModule) ? mod : { "default": mod };
27
- };
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- const Puppeteer_js_1 = __importDefault(require("./Puppeteer.js"));
30
- const process_1 = __importDefault(require("process"));
31
- if (!process_1.default.argv[2]) {
32
- console.log("You didn't pass a config file");
33
- process_1.default.exit(-1);
34
- }
35
- else {
36
- Promise.resolve().then(() => __importStar(require(process_1.default.cwd() + "/" + process_1.default.argv[2]))).then((module) => {
37
- (0, Puppeteer_js_1.default)(module.default);
38
- });
39
- }
@@ -1,136 +0,0 @@
1
- import fs from "fs";
2
- import { spawn } from "child_process";
3
- export const execCommand = async (command) => {
4
- const ls = spawn(command.split(" ")[0], command.split(" ").slice(1, -1));
5
- process.stdin.pipe(ls.stdin);
6
- ls.stdout.pipe(process.stdout);
7
- ls.stderr.pipe(process.stdout);
8
- // ls.stdout.on("data", function (data) {
9
- // console.log("stdout: " + data.toString());
10
- // });
11
- // ls.stderr.on("data", function (data) {
12
- // console.log("stderr: " + data.toString());
13
- // });
14
- ls.on("exit", function (code) {
15
- console.log("child process exited with code " + (code === null || code === void 0 ? void 0 : code.toString()) || -1);
16
- });
17
- // return new Promise<void>((resolve, reject) => {
18
- // const [cmd, ...args] = command.split(" ");
19
- // const childProcess = spawn(cmd, args);
20
- // childProcess.stdout.on("data", (data) => {
21
- // process.stdout.write(data.toString());
22
- // });
23
- // childProcess.stderr.on("data", (data) => {
24
- // process.stderr.write(data.toString());
25
- // });
26
- // childProcess.on("error", (error) => {
27
- // reject(error);
28
- // });
29
- // childProcess.on("exit", (code) => {
30
- // if (code === 0) {
31
- // resolve();
32
- // } else {
33
- // reject(new Error(`Command exited with code ${code}.`));
34
- // }
35
- // });
36
- // });
37
- };
38
- const key = process.argv[2];
39
- console.log(key);
40
- const exitcode = fs.readFileSync(`${key}/exitcode`).toString();
41
- console.log("exitcode", exitcode);
42
- // if (exitcode != "0") {
43
- if (exitcode != "0") {
44
- const inputFiles = JSON.parse(fs.readFileSync(`${key}/inputFiles.json`).toString());
45
- inputFiles.push(`${key}/tests.json`);
46
- // const features = await await Promise.all(
47
- // Array.from(
48
- // new Set(
49
- // JSON.parse(fs.readFileSync(`${key}/tests.json`).toString())
50
- // .givens.reduce((mm: any[], lm: { features: any[] }) => {
51
- // mm.push(
52
- // lm.features.reduce((mm2: any[], lm2: any) => {
53
- // mm2.push(lm2);
54
- // return mm2;
55
- // }, [])
56
- // );
57
- // return mm;
58
- // }, [])
59
- // .flat()
60
- // .flat()
61
- // )
62
- // ) as string[]
63
- // );
64
- // const final = features.reduce((mm, [k, v], ndx) => {
65
- // mm[k] = v;
66
- // return mm;
67
- // }, {});
68
- // const as = JSON.stringify(final);
69
- // const scriptCommand = `aider --model deepseek --api-key deepseek=${
70
- // process.env.DEEPSEEK_KEY
71
- // } --message "Fix the failing tests" --read ${key}/inputFiles.json ${inputFiles
72
- // .map((i) => `--file ${i}`)
73
- // .join(" ")}`;
74
- const scriptCommand = `aider --message "Fix the failing tests" --model deepseek --api-key deepseek=${process.env.DEEPSEEK_KEY} --file ./${inputFiles.join(" ./")}`;
75
- console.log("scriptCommand", scriptCommand);
76
- execCommand(scriptCommand);
77
- // fs.writeFile(`./${key}/features.json`, as, () => {
78
- // inputFiles.push(`./${key}/features.json`);
79
- // // itermTab(scriptCommand).then(() => console.log("yay"));
80
- // // const child = spawn("xterm -e", scriptCommand.split(" "), {
81
- // // detached: true,
82
- // // stdio: "ignore",
83
- // // });
84
- // // runCommandInITerm(scriptCommand);
85
- // });
86
- // .reduce(async (mm, feature) => {
87
- // const req = await octokit.request(
88
- // `GET /repos/adamwong246/kokomobay-taskman/contents/Task/${feature}.json`,
89
- // {
90
- // owner: "adamwong246",
91
- // repo: "kokomoBay-taskman",
92
- // path: `Task/${feature}.json`,
93
- // headers: {
94
- // "X-GitHub-Api-Version": "2022-11-28",
95
- // },
96
- // }
97
- // );
98
- // const j = JSON.parse(atob(req.data.content));
99
- // (await mm).push([
100
- // feature,
101
- // JSON.stringify({
102
- // name: j.name,
103
- // body: j.body,
104
- // }),
105
- // ]);
106
- // return mm;
107
- // }, Promise.resolve<[string, string][]>([]))
108
- // .then((z) => {
109
- // const final = z.reduce((mm, [k, v], ndx) => {
110
- // mm[k] = v;
111
- // return mm;
112
- // }, {});
113
- // const as = JSON.stringify(final);
114
- // fs.writeFile(`./${key}/features.json`, as, () => {
115
- // inputFiles.push(`./${key}/features.json`);
116
- // const scriptCommand = `aider --model deepseek --api-key deepseek=${
117
- // process.env.DEEPSEEK_KEY
118
- // } --message "Fix the failing tests" ${inputFiles.join(" ")}`;
119
- // console.log("scriptCommand", scriptCommand);
120
- // execCommand(scriptCommand);
121
- // // itermTab(scriptCommand).then(() => console.log("yay"));
122
- // // const child = spawn("xterm -e", scriptCommand.split(" "), {
123
- // // detached: true,
124
- // // stdio: "ignore",
125
- // // });
126
- // // runCommandInITerm(scriptCommand);
127
- // });
128
- // //
129
- // });
130
- // features.then((x) => {
131
- // console.log("done", x);
132
- // });
133
- }
134
- else {
135
- console.log("that test is not failing");
136
- }