@intecoag/inteco-cli 1.12.0-beta.1 → 1.12.0-beta.3
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/README.md +1 -0
- package/dist/modules/adbBridge.test.d.ts +2 -0
- package/dist/modules/adbBridge.test.d.ts.map +1 -0
- package/dist/modules/adbBridge.test.js +39 -0
- package/dist/modules/adbBridge.test.js.map +1 -0
- package/dist/modules/adbIntentSender.test.d.ts +2 -0
- package/dist/modules/adbIntentSender.test.d.ts.map +1 -0
- package/dist/modules/adbIntentSender.test.js +48 -0
- package/dist/modules/adbIntentSender.test.js.map +1 -0
- package/dist/modules/azureSync.d.ts +12 -0
- package/dist/modules/azureSync.d.ts.map +1 -1
- package/dist/modules/azureSync.js +5 -5
- package/dist/modules/azureSync.js.map +1 -1
- package/dist/modules/azureSync.test.d.ts +2 -0
- package/dist/modules/azureSync.test.d.ts.map +1 -0
- package/dist/modules/azureSync.test.js +69 -0
- package/dist/modules/azureSync.test.js.map +1 -0
- package/dist/modules/bundleProduct.test.d.ts +2 -0
- package/dist/modules/bundleProduct.test.d.ts.map +1 -0
- package/dist/modules/bundleProduct.test.js +75 -0
- package/dist/modules/bundleProduct.test.js.map +1 -0
- package/dist/modules/changelog.test.d.ts +2 -0
- package/dist/modules/changelog.test.d.ts.map +1 -0
- package/dist/modules/changelog.test.js +33 -0
- package/dist/modules/changelog.test.js.map +1 -0
- package/dist/modules/configMutation.d.ts +3 -0
- package/dist/modules/configMutation.d.ts.map +1 -1
- package/dist/modules/configMutation.js +3 -3
- package/dist/modules/configMutation.js.map +1 -1
- package/dist/modules/configMutation.test.d.ts +2 -0
- package/dist/modules/configMutation.test.d.ts.map +1 -0
- package/dist/modules/configMutation.test.js +28 -0
- package/dist/modules/configMutation.test.js.map +1 -0
- package/dist/modules/csvMerger.test.d.ts +2 -0
- package/dist/modules/csvMerger.test.d.ts.map +1 -0
- package/dist/modules/csvMerger.test.js +76 -0
- package/dist/modules/csvMerger.test.js.map +1 -0
- package/dist/modules/deleteDB.test.d.ts +2 -0
- package/dist/modules/deleteDB.test.d.ts.map +1 -0
- package/dist/modules/deleteDB.test.js +78 -0
- package/dist/modules/deleteDB.test.js.map +1 -0
- package/dist/modules/dumpDB.test.d.ts +2 -0
- package/dist/modules/dumpDB.test.d.ts.map +1 -0
- package/dist/modules/dumpDB.test.js +104 -0
- package/dist/modules/dumpDB.test.js.map +1 -0
- package/dist/modules/dumpTableToCSV.d.ts +2 -0
- package/dist/modules/dumpTableToCSV.d.ts.map +1 -1
- package/dist/modules/dumpTableToCSV.js +18 -11
- package/dist/modules/dumpTableToCSV.js.map +1 -1
- package/dist/modules/dumpTableToCSV.test.d.ts +2 -0
- package/dist/modules/dumpTableToCSV.test.d.ts.map +1 -0
- package/dist/modules/dumpTableToCSV.test.js +15 -0
- package/dist/modules/dumpTableToCSV.test.js.map +1 -0
- package/dist/modules/extdSearch.test.d.ts +2 -0
- package/dist/modules/extdSearch.test.d.ts.map +1 -0
- package/dist/modules/extdSearch.test.js +114 -0
- package/dist/modules/extdSearch.test.js.map +1 -0
- package/dist/modules/githubDeploymentKey.test.d.ts +2 -0
- package/dist/modules/githubDeploymentKey.test.d.ts.map +1 -0
- package/dist/modules/githubDeploymentKey.test.js +50 -0
- package/dist/modules/githubDeploymentKey.test.js.map +1 -0
- package/dist/modules/githubDeploymentKeysList.test.d.ts +2 -0
- package/dist/modules/githubDeploymentKeysList.test.d.ts.map +1 -0
- package/dist/modules/githubDeploymentKeysList.test.js +70 -0
- package/dist/modules/githubDeploymentKeysList.test.js.map +1 -0
- package/dist/modules/githubSecurityAdvisories.test.d.ts +2 -0
- package/dist/modules/githubSecurityAdvisories.test.d.ts.map +1 -0
- package/dist/modules/githubSecurityAdvisories.test.js +67 -0
- package/dist/modules/githubSecurityAdvisories.test.js.map +1 -0
- package/dist/modules/graphqlSchemaExport.test.d.ts +2 -0
- package/dist/modules/graphqlSchemaExport.test.d.ts.map +1 -0
- package/dist/modules/graphqlSchemaExport.test.js +61 -0
- package/dist/modules/graphqlSchemaExport.test.js.map +1 -0
- package/dist/modules/importDB.test.d.ts +2 -0
- package/dist/modules/importDB.test.d.ts.map +1 -0
- package/dist/modules/importDB.test.js +65 -0
- package/dist/modules/importDB.test.js.map +1 -0
- package/dist/modules/rewriteConfig.test.d.ts +2 -0
- package/dist/modules/rewriteConfig.test.d.ts.map +1 -0
- package/dist/modules/rewriteConfig.test.js +62 -0
- package/dist/modules/rewriteConfig.test.js.map +1 -0
- package/dist/modules/setCLIConfig.test.d.ts +2 -0
- package/dist/modules/setCLIConfig.test.d.ts.map +1 -0
- package/dist/modules/setCLIConfig.test.js +40 -0
- package/dist/modules/setCLIConfig.test.js.map +1 -0
- package/dist/modules/syncConfig.d.ts +2 -0
- package/dist/modules/syncConfig.d.ts.map +1 -1
- package/dist/modules/syncConfig.js +2 -2
- package/dist/modules/syncConfig.js.map +1 -1
- package/dist/modules/syncConfig.test.d.ts +2 -0
- package/dist/modules/syncConfig.test.d.ts.map +1 -0
- package/dist/modules/syncConfig.test.js +71 -0
- package/dist/modules/syncConfig.test.js.map +1 -0
- package/dist/modules/t003Rewrite.test.d.ts +2 -0
- package/dist/modules/t003Rewrite.test.d.ts.map +1 -0
- package/dist/modules/t003Rewrite.test.js +43 -0
- package/dist/modules/t003Rewrite.test.js.map +1 -0
- package/dist/modules/t009Search.test.d.ts +2 -0
- package/dist/modules/t009Search.test.d.ts.map +1 -0
- package/dist/modules/t009Search.test.js +83 -0
- package/dist/modules/t009Search.test.js.map +1 -0
- package/dist/utils/azure/azure.test.d.ts +2 -0
- package/dist/utils/azure/azure.test.d.ts.map +1 -0
- package/dist/utils/azure/azure.test.js +98 -0
- package/dist/utils/azure/azure.test.js.map +1 -0
- package/dist/utils/config/config.test.d.ts +2 -0
- package/dist/utils/config/config.test.d.ts.map +1 -0
- package/dist/utils/config/config.test.js +64 -0
- package/dist/utils/config/config.test.js.map +1 -0
- package/dist/utils/db/DB.test.d.ts +2 -0
- package/dist/utils/db/DB.test.d.ts.map +1 -0
- package/dist/utils/db/DB.test.js +73 -0
- package/dist/utils/db/DB.test.js.map +1 -0
- package/dist/utils/fs/FS.test.d.ts +2 -0
- package/dist/utils/fs/FS.test.d.ts.map +1 -0
- package/dist/utils/fs/FS.test.js +124 -0
- package/dist/utils/fs/FS.test.js.map +1 -0
- package/dist/utils/github/github.test.d.ts +2 -0
- package/dist/utils/github/github.test.d.ts.map +1 -0
- package/dist/utils/github/github.test.js +83 -0
- package/dist/utils/github/github.test.js.map +1 -0
- package/dist/utils/shell/DatabaseShell.test.d.ts +2 -0
- package/dist/utils/shell/DatabaseShell.test.d.ts.map +1 -0
- package/dist/utils/shell/DatabaseShell.test.js +78 -0
- package/dist/utils/shell/DatabaseShell.test.js.map +1 -0
- package/dist/utils/shell/DatabaseShellBuilder.test.d.ts +2 -0
- package/dist/utils/shell/DatabaseShellBuilder.test.d.ts.map +1 -0
- package/dist/utils/shell/DatabaseShellBuilder.test.js +55 -0
- package/dist/utils/shell/DatabaseShellBuilder.test.js.map +1 -0
- package/dist/utils/shell/Shell.test.d.ts +2 -0
- package/dist/utils/shell/Shell.test.d.ts.map +1 -0
- package/dist/utils/shell/Shell.test.js +65 -0
- package/dist/utils/shell/Shell.test.js.map +1 -0
- package/dist/utils/shell/ShellBuilder.test.d.ts +2 -0
- package/dist/utils/shell/ShellBuilder.test.d.ts.map +1 -0
- package/dist/utils/shell/ShellBuilder.test.js +39 -0
- package/dist/utils/shell/ShellBuilder.test.js.map +1 -0
- package/package.json +10 -5
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import YAML from "yaml";
|
|
3
|
+
import { addMissingNodes, mergeOverwriteNodes, removeMissingNodes } from "./configMutation.js";
|
|
4
|
+
describe("configMutation merge helpers", () => {
|
|
5
|
+
it("addMissingNodes adds missing map keys", () => {
|
|
6
|
+
const from = YAML.parseDocument("a: 1\nb: 2");
|
|
7
|
+
const to = YAML.parseDocument("a: 1");
|
|
8
|
+
const changed = addMissingNodes(from.contents, to.contents);
|
|
9
|
+
expect(changed).toBe(true);
|
|
10
|
+
expect(String(to.toString())).toContain("b: 2");
|
|
11
|
+
});
|
|
12
|
+
it("removeMissingNodes removes keys absent from source", () => {
|
|
13
|
+
const from = YAML.parseDocument("a: 1");
|
|
14
|
+
const to = YAML.parseDocument("a: 1\nb: 2");
|
|
15
|
+
const changed = removeMissingNodes(from.contents, to.contents);
|
|
16
|
+
expect(changed).toBe(true);
|
|
17
|
+
expect(String(to.toString())).not.toContain("b:");
|
|
18
|
+
});
|
|
19
|
+
it("mergeOverwriteNodes overwrites scalar values", () => {
|
|
20
|
+
const from = YAML.parseDocument("a: 2\nlist:\n - x\n - y");
|
|
21
|
+
const to = YAML.parseDocument("a: 1\nlist:\n - z");
|
|
22
|
+
const changed = mergeOverwriteNodes(from.contents, to.contents);
|
|
23
|
+
expect(changed).toBe(true);
|
|
24
|
+
const out = String(to.toString());
|
|
25
|
+
expect(out).toContain("a: 2");
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
//# sourceMappingURL=configMutation.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configMutation.test.js","sourceRoot":"","sources":["../../src/modules/configMutation.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE/F,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;IAC1C,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC9C,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAEtC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QAE5D,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAE5C,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QAE/D,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;QAC7D,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;QAEpD,MAAM,OAAO,GAAG,mBAAmB,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;QAEhE,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csvMerger.test.d.ts","sourceRoot":"","sources":["../../src/modules/csvMerger.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
const mocks = vi.hoisted(() => ({
|
|
3
|
+
prompts: vi.fn(),
|
|
4
|
+
readdirSync: vi.fn(),
|
|
5
|
+
createReadStream: vi.fn(),
|
|
6
|
+
writeFileSync: vi.fn(),
|
|
7
|
+
csvParser: vi.fn()
|
|
8
|
+
}));
|
|
9
|
+
vi.mock("prompts", () => ({
|
|
10
|
+
default: mocks.prompts
|
|
11
|
+
}));
|
|
12
|
+
vi.mock("csv-parser", () => ({
|
|
13
|
+
default: mocks.csvParser
|
|
14
|
+
}));
|
|
15
|
+
vi.mock("fs", () => ({
|
|
16
|
+
default: {
|
|
17
|
+
readdirSync: mocks.readdirSync,
|
|
18
|
+
createReadStream: mocks.createReadStream,
|
|
19
|
+
writeFileSync: mocks.writeFileSync
|
|
20
|
+
}
|
|
21
|
+
}));
|
|
22
|
+
import csvMerge from "./csvMerger.js";
|
|
23
|
+
function mockCsvRows(rows) {
|
|
24
|
+
const piped = {
|
|
25
|
+
on: vi.fn((event, cb) => {
|
|
26
|
+
if (event === "data") {
|
|
27
|
+
rows.forEach((row) => cb(row));
|
|
28
|
+
}
|
|
29
|
+
if (event === "end") {
|
|
30
|
+
cb();
|
|
31
|
+
}
|
|
32
|
+
return piped;
|
|
33
|
+
})
|
|
34
|
+
};
|
|
35
|
+
mocks.createReadStream.mockReturnValue({
|
|
36
|
+
pipe: vi.fn(() => piped)
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
describe("csvMerger", () => {
|
|
40
|
+
beforeEach(() => {
|
|
41
|
+
vi.clearAllMocks();
|
|
42
|
+
mocks.csvParser.mockReturnValue({});
|
|
43
|
+
});
|
|
44
|
+
it("stops when prompt flow is cancelled", async () => {
|
|
45
|
+
mocks.prompts.mockImplementation(async (_questions, options) => {
|
|
46
|
+
options?.onCancel?.();
|
|
47
|
+
return {};
|
|
48
|
+
});
|
|
49
|
+
await csvMerge();
|
|
50
|
+
expect(mocks.readdirSync).not.toHaveBeenCalled();
|
|
51
|
+
expect(mocks.writeFileSync).not.toHaveBeenCalled();
|
|
52
|
+
});
|
|
53
|
+
it("writes merged and filtered output", async () => {
|
|
54
|
+
mocks.prompts.mockResolvedValue({
|
|
55
|
+
output: "results.csv",
|
|
56
|
+
useFilter: true,
|
|
57
|
+
filtertype: "eq",
|
|
58
|
+
filterfield: "status",
|
|
59
|
+
filtervalue: "ok"
|
|
60
|
+
});
|
|
61
|
+
mocks.readdirSync.mockReturnValue([
|
|
62
|
+
{ isFile: () => true, name: "input.csv" }
|
|
63
|
+
]);
|
|
64
|
+
mockCsvRows([
|
|
65
|
+
{ "'status'": "ok", "`id`": "1" },
|
|
66
|
+
{ "'status'": "no", "`id`": "2" }
|
|
67
|
+
]);
|
|
68
|
+
await csvMerge();
|
|
69
|
+
expect(mocks.writeFileSync).toHaveBeenCalledTimes(1);
|
|
70
|
+
const [, output] = mocks.writeFileSync.mock.calls[0];
|
|
71
|
+
expect(output).toContain('"status";"id";"file"');
|
|
72
|
+
expect(output).toContain('"ok";"1";"input.csv"');
|
|
73
|
+
expect(output).not.toContain('"no";"2";"input.csv"');
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
//# sourceMappingURL=csvMerger.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"csvMerger.test.js","sourceRoot":"","sources":["../../src/modules/csvMerger.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteDB.test.d.ts","sourceRoot":"","sources":["../../src/modules/deleteDB.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
const mocks = vi.hoisted(() => {
|
|
3
|
+
const rootSpinner = {
|
|
4
|
+
start: vi.fn(),
|
|
5
|
+
fail: vi.fn(),
|
|
6
|
+
succeed: vi.fn(),
|
|
7
|
+
info: vi.fn()
|
|
8
|
+
};
|
|
9
|
+
const tableSpinner = {
|
|
10
|
+
start: vi.fn(),
|
|
11
|
+
fail: vi.fn(),
|
|
12
|
+
succeed: vi.fn(),
|
|
13
|
+
info: vi.fn()
|
|
14
|
+
};
|
|
15
|
+
rootSpinner.start.mockReturnValue(rootSpinner);
|
|
16
|
+
tableSpinner.start.mockReturnValue(tableSpinner);
|
|
17
|
+
return {
|
|
18
|
+
prompts: vi.fn(),
|
|
19
|
+
rmSync: vi.fn(),
|
|
20
|
+
getDatabaseNames: vi.fn(),
|
|
21
|
+
executeQueryOnDB: vi.fn(),
|
|
22
|
+
ora: vi.fn((text) => (text.includes("Deleting in DB") ? rootSpinner : tableSpinner)),
|
|
23
|
+
rootSpinner,
|
|
24
|
+
tableSpinner
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
vi.mock("prompts", () => ({ default: mocks.prompts }));
|
|
28
|
+
vi.mock("fs", () => ({ rmSync: mocks.rmSync }));
|
|
29
|
+
vi.mock("ora", () => ({ default: mocks.ora }));
|
|
30
|
+
vi.mock("../utils/db/DB.js", () => ({
|
|
31
|
+
DB: {
|
|
32
|
+
getDatabaseNames: mocks.getDatabaseNames,
|
|
33
|
+
executeQueryOnDB: mocks.executeQueryOnDB
|
|
34
|
+
}
|
|
35
|
+
}));
|
|
36
|
+
import deleteDBMand from "./deleteDB.js";
|
|
37
|
+
describe("deleteDBMand", () => {
|
|
38
|
+
beforeEach(() => {
|
|
39
|
+
vi.clearAllMocks();
|
|
40
|
+
mocks.rootSpinner.start.mockReturnValue(mocks.rootSpinner);
|
|
41
|
+
mocks.tableSpinner.start.mockReturnValue(mocks.tableSpinner);
|
|
42
|
+
mocks.getDatabaseNames.mockResolvedValue([{ name: "clientdb" }]);
|
|
43
|
+
});
|
|
44
|
+
it("aborts when prompt is cancelled", async () => {
|
|
45
|
+
mocks.prompts.mockImplementation(async (_questions, options) => {
|
|
46
|
+
options?.onCancel?.();
|
|
47
|
+
return {};
|
|
48
|
+
});
|
|
49
|
+
await deleteDBMand({});
|
|
50
|
+
expect(mocks.executeQueryOnDB).not.toHaveBeenCalled();
|
|
51
|
+
expect(mocks.rmSync).not.toHaveBeenCalled();
|
|
52
|
+
});
|
|
53
|
+
it("fails spinner when no tables exist", async () => {
|
|
54
|
+
mocks.prompts.mockResolvedValue({ dbName: "clientdb", mnr: 1 });
|
|
55
|
+
mocks.executeQueryOnDB.mockResolvedValueOnce([]);
|
|
56
|
+
await deleteDBMand({});
|
|
57
|
+
expect(mocks.executeQueryOnDB).toHaveBeenCalledWith("SHOW TABLES;", "clientdb");
|
|
58
|
+
expect(mocks.rootSpinner.fail).toHaveBeenCalledWith("Database has no tables: clientdb");
|
|
59
|
+
});
|
|
60
|
+
it("deletes data for matching mandant and skips others", async () => {
|
|
61
|
+
mocks.prompts.mockResolvedValue({ dbName: "clientdb", mnr: 1 });
|
|
62
|
+
mocks.executeQueryOnDB
|
|
63
|
+
.mockResolvedValueOnce([{ "Tables_in_clientdb": "t1" }, { "Tables_in_clientdb": "t2" }])
|
|
64
|
+
.mockResolvedValueOnce([{ "COUNT(*)": 1 }])
|
|
65
|
+
.mockResolvedValueOnce([{ "COUNT(*)": 1 }])
|
|
66
|
+
.mockResolvedValueOnce([])
|
|
67
|
+
.mockResolvedValueOnce([{ "COUNT(*)": 0 }])
|
|
68
|
+
.mockResolvedValueOnce([]);
|
|
69
|
+
await deleteDBMand({});
|
|
70
|
+
expect(mocks.rmSync).toHaveBeenCalled();
|
|
71
|
+
expect(mocks.executeQueryOnDB).toHaveBeenCalledWith("DELETE FROM t1 WHERE t1_mnr = '1';", "clientdb");
|
|
72
|
+
expect(mocks.executeQueryOnDB).toHaveBeenCalledWith("DELETE FROM mand WHERE mand_mandant = '1';", "clientdb");
|
|
73
|
+
expect(mocks.tableSpinner.succeed).toHaveBeenCalledWith("Data deleted: t1");
|
|
74
|
+
expect(mocks.tableSpinner.info).toHaveBeenCalledWith("Column t2_mnr not found, Skipping table: t2");
|
|
75
|
+
expect(mocks.rootSpinner.succeed).toHaveBeenCalledWith("Mand deleted: 1");
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
//# sourceMappingURL=deleteDB.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deleteDB.test.js","sourceRoot":"","sources":["../../src/modules/deleteDB.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dumpDB.test.d.ts","sourceRoot":"","sources":["../../src/modules/dumpDB.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
import { dumpDB, dumpDBMand } from "./dumpDB.js";
|
|
3
|
+
const mocks = vi.hoisted(() => {
|
|
4
|
+
const spinner = {
|
|
5
|
+
start: vi.fn(),
|
|
6
|
+
fail: vi.fn(),
|
|
7
|
+
succeed: vi.fn(),
|
|
8
|
+
info: vi.fn(),
|
|
9
|
+
warn: vi.fn()
|
|
10
|
+
};
|
|
11
|
+
spinner.start.mockReturnValue(spinner);
|
|
12
|
+
return {
|
|
13
|
+
prompts: vi.fn(),
|
|
14
|
+
rmSync: vi.fn(),
|
|
15
|
+
ora: vi.fn(() => spinner),
|
|
16
|
+
getConfig: vi.fn(),
|
|
17
|
+
getDatabaseNames: vi.fn(),
|
|
18
|
+
executeQueryOnDB: vi.fn(),
|
|
19
|
+
exec: vi.fn(),
|
|
20
|
+
execSync: vi.fn(),
|
|
21
|
+
spinner
|
|
22
|
+
};
|
|
23
|
+
});
|
|
24
|
+
vi.mock("prompts", () => ({ default: mocks.prompts }));
|
|
25
|
+
vi.mock("fs", () => ({ rmSync: mocks.rmSync }));
|
|
26
|
+
vi.mock("ora", () => ({ default: mocks.ora }));
|
|
27
|
+
vi.mock("../utils/config/config.js", () => ({ Config: { getConfig: mocks.getConfig } }));
|
|
28
|
+
vi.mock("../utils/db/DB.js", () => ({
|
|
29
|
+
DB: {
|
|
30
|
+
getDatabaseNames: mocks.getDatabaseNames,
|
|
31
|
+
executeQueryOnDB: mocks.executeQueryOnDB
|
|
32
|
+
}
|
|
33
|
+
}));
|
|
34
|
+
vi.mock("child_process", () => ({ exec: mocks.exec, execSync: mocks.execSync }));
|
|
35
|
+
describe("dumpDB", () => {
|
|
36
|
+
beforeEach(() => {
|
|
37
|
+
vi.clearAllMocks();
|
|
38
|
+
mocks.spinner.start.mockReturnValue(mocks.spinner);
|
|
39
|
+
mocks.getConfig.mockResolvedValue({ dbUser: "root", dbPassword: "pw", dbURL: "127.0.0.1" });
|
|
40
|
+
mocks.getDatabaseNames.mockResolvedValue([{ name: "clientdb" }]);
|
|
41
|
+
});
|
|
42
|
+
it("executes mysqldump command", async () => {
|
|
43
|
+
mocks.prompts
|
|
44
|
+
.mockResolvedValueOnce({ dbName: "clientdb", dataOnly: true, selectIndividualTables: false })
|
|
45
|
+
.mockResolvedValueOnce({ dumpName: "dump.sql" });
|
|
46
|
+
mocks.exec.mockImplementation((cmd, cb) => cb(null));
|
|
47
|
+
await dumpDB({});
|
|
48
|
+
expect(mocks.exec).toHaveBeenCalledTimes(1);
|
|
49
|
+
const command = String(mocks.exec.mock.calls[0]?.[0] ?? "");
|
|
50
|
+
expect(command).toContain("mysqldump");
|
|
51
|
+
expect(command).toContain("--no-create-info");
|
|
52
|
+
expect(command).toContain("clientdb");
|
|
53
|
+
expect(command).toContain("> dump.sql");
|
|
54
|
+
});
|
|
55
|
+
it("dumps selected tables when requested", async () => {
|
|
56
|
+
mocks.prompts
|
|
57
|
+
.mockResolvedValueOnce({ dbName: "clientdb", dataOnly: false, selectIndividualTables: true })
|
|
58
|
+
.mockResolvedValueOnce({ table: "t1", continue: true })
|
|
59
|
+
.mockResolvedValueOnce({ table: "t2", continue: false })
|
|
60
|
+
.mockResolvedValueOnce({ dumpName: "dump.sql" });
|
|
61
|
+
mocks.executeQueryOnDB.mockResolvedValueOnce([{ "Tables_in_clientdb": "t1" }, { "Tables_in_clientdb": "t2" }]);
|
|
62
|
+
mocks.exec.mockImplementation((cmd, cb) => cb(null));
|
|
63
|
+
await dumpDB({});
|
|
64
|
+
const command = String(mocks.exec.mock.calls[0]?.[0] ?? "");
|
|
65
|
+
expect(command).toContain(" clientdb t1 t2 > dump.sql");
|
|
66
|
+
});
|
|
67
|
+
it("aborts when initial prompt is cancelled", async () => {
|
|
68
|
+
mocks.prompts.mockImplementationOnce(async (_q, options) => {
|
|
69
|
+
options?.onCancel?.();
|
|
70
|
+
return {};
|
|
71
|
+
});
|
|
72
|
+
await dumpDB({});
|
|
73
|
+
expect(mocks.exec).not.toHaveBeenCalled();
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
describe("dumpDBMand", () => {
|
|
77
|
+
beforeEach(() => {
|
|
78
|
+
vi.clearAllMocks();
|
|
79
|
+
mocks.spinner.start.mockReturnValue(mocks.spinner);
|
|
80
|
+
mocks.getConfig.mockResolvedValue({ dbUser: "root", dbPassword: "pw", dbURL: "127.0.0.1" });
|
|
81
|
+
mocks.getDatabaseNames.mockResolvedValue([{ name: "clientdb" }]);
|
|
82
|
+
});
|
|
83
|
+
it("fails when db has no tables", async () => {
|
|
84
|
+
mocks.prompts.mockResolvedValue({ dbName: "clientdb", mnr: 1, dumpName: "dump.sql" });
|
|
85
|
+
mocks.executeQueryOnDB.mockResolvedValueOnce([]);
|
|
86
|
+
await dumpDBMand({});
|
|
87
|
+
expect(mocks.spinner.fail).toHaveBeenCalledWith("Database has no tables: clientdb");
|
|
88
|
+
});
|
|
89
|
+
it("dumps matching tables and mand", async () => {
|
|
90
|
+
mocks.prompts.mockResolvedValue({ dbName: "clientdb", mnr: 1, dumpName: "dump.sql" });
|
|
91
|
+
mocks.executeQueryOnDB
|
|
92
|
+
.mockResolvedValueOnce([{ "Tables_in_clientdb": "t1" }, { "Tables_in_clientdb": "t2" }])
|
|
93
|
+
.mockResolvedValueOnce([{ "COUNT(*)": 1 }])
|
|
94
|
+
.mockResolvedValueOnce([{ "COUNT(*)": 1 }])
|
|
95
|
+
.mockResolvedValueOnce([{ "COUNT(*)": 0 }]);
|
|
96
|
+
await dumpDBMand({});
|
|
97
|
+
expect(mocks.rmSync).toHaveBeenCalled();
|
|
98
|
+
expect(mocks.execSync).toHaveBeenCalledTimes(2);
|
|
99
|
+
expect(String(mocks.execSync.mock.calls[0]?.[0] ?? "")).toContain("--where=\"t1_mnr = '1'\"");
|
|
100
|
+
expect(String(mocks.execSync.mock.calls[1]?.[0] ?? "")).toContain("--where=\"mand_mandant = '1'\"");
|
|
101
|
+
expect(mocks.spinner.succeed).toHaveBeenCalledWith("Dumped DB to dump.sql");
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
//# sourceMappingURL=dumpDB.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dumpDB.test.js","sourceRoot":"","sources":["../../src/modules/dumpDB.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE;IAC1B,MAAM,OAAO,GAAG;QACZ,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;QACd,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;KAChB,CAAC;IACF,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAEvC,OAAO;QACH,OAAO,EAAE,EAAE,CAAC,EAAE,EAAE;QAChB,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE;QACf,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC;QACzB,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE;QAClB,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE;QACzB,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE;QACzB,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;QACjB,OAAO;KACV,CAAC;AACN,CAAC,CAAC,CAAC;AAEH,EAAE,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AACvD,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAChD,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;AAC/C,EAAE,CAAC,IAAI,CAAC,2BAA2B,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC;AACzF,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE,CAAC,CAAC;IAChC,EAAE,EAAE;QACA,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;QACxC,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;KAC3C;CACJ,CAAC,CAAC,CAAC;AACJ,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;AAEjF,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACpB,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5F,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QACxC,KAAK,CAAC,OAAO;aACR,qBAAqB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC;aAC5F,qBAAqB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,EAA6B,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAExF,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;QAEjB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACvC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;QAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QAClD,KAAK,CAAC,OAAO;aACR,qBAAqB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC;aAC5F,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;aACtD,qBAAqB,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;aACvD,qBAAqB,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/G,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,EAA6B,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAExF,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;QAEjB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAC5D,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACrD,KAAK,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;YACvD,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC;YACtB,OAAO,EAAE,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,EAAE,CAAC,CAAC;QAEjB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnD,KAAK,CAAC,SAAS,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC5F,KAAK,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QACzC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACtF,KAAK,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;QAEjD,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;QAErB,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;IACxF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC5C,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,CAAC;QACtF,KAAK,CAAC,gBAAgB;aACjB,qBAAqB,CAAC,CAAC,EAAE,oBAAoB,EAAE,IAAI,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC,CAAC;aACvF,qBAAqB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;aAC1C,qBAAqB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;aAC1C,qBAAqB,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAEhD,MAAM,UAAU,CAAC,EAAE,CAAC,CAAC;QAErB,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC;QAC9F,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;QACpG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,oBAAoB,CAAC,uBAAuB,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
export default function dumpTableToCSV(): Promise<void>;
|
|
2
|
+
export declare function parseHeadersFromCreateStatement(headerData: string, table: string): string[];
|
|
3
|
+
export declare function parseInsertRecords(data: string): string[];
|
|
2
4
|
//# sourceMappingURL=dumpTableToCSV.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dumpTableToCSV.d.ts","sourceRoot":"","sources":["../../src/modules/dumpTableToCSV.ts"],"names":[],"mappings":"AASA,wBAA8B,cAAc,kBA8C3C"}
|
|
1
|
+
{"version":3,"file":"dumpTableToCSV.d.ts","sourceRoot":"","sources":["../../src/modules/dumpTableToCSV.ts"],"names":[],"mappings":"AASA,wBAA8B,cAAc,kBA8C3C;AA2FD,wBAAgB,+BAA+B,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAY3F;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAUzD"}
|
|
@@ -102,27 +102,34 @@ async function createCSVDump(file, table) {
|
|
|
102
102
|
}
|
|
103
103
|
spinner.text = 'Writing file (' + file + ")";
|
|
104
104
|
spinner.render();
|
|
105
|
+
const headers = parseHeadersFromCreateStatement(headerData, table);
|
|
106
|
+
const records = parseInsertRecords(data);
|
|
107
|
+
let recordsString = records.join("\n").replaceAll(",", ";");
|
|
108
|
+
let headersString = headers.join(";");
|
|
109
|
+
if (!fs.existsSync(process.cwd() + path.sep + "csv")) {
|
|
110
|
+
fs.mkdirSync(process.cwd() + path.sep + "csv");
|
|
111
|
+
}
|
|
112
|
+
fs.writeFileSync(process.cwd() + path.sep + "csv" + path.sep + file.split(".")[0] + ".csv", headersString + "\n" + recordsString);
|
|
113
|
+
spinner.succeed("CSV created: " + file.split(".")[0] + ".csv");
|
|
114
|
+
}
|
|
115
|
+
export function parseHeadersFromCreateStatement(headerData, table) {
|
|
105
116
|
const headers = [];
|
|
106
|
-
|
|
117
|
+
const matchHeader = /`(.*?)`/g;
|
|
107
118
|
let found;
|
|
108
119
|
while ((found = matchHeader.exec(headerData))) {
|
|
109
|
-
if (found[0]
|
|
120
|
+
if (found[0] !== `\`${table}\``) {
|
|
110
121
|
headers.push(found[0]);
|
|
111
122
|
}
|
|
112
123
|
}
|
|
113
|
-
;
|
|
124
|
+
return headers;
|
|
125
|
+
}
|
|
126
|
+
export function parseInsertRecords(data) {
|
|
114
127
|
const records = [];
|
|
115
128
|
const reBrackets = /\((.*?)\)/g;
|
|
129
|
+
let found;
|
|
116
130
|
while ((found = reBrackets.exec(data))) {
|
|
117
131
|
records.push(found[1]);
|
|
118
132
|
}
|
|
119
|
-
;
|
|
120
|
-
let recordsString = records.join("\n").replaceAll(",", ";");
|
|
121
|
-
let headersString = headers.join(";");
|
|
122
|
-
if (!fs.existsSync(process.cwd() + path.sep + "csv")) {
|
|
123
|
-
fs.mkdirSync(process.cwd() + path.sep + "csv");
|
|
124
|
-
}
|
|
125
|
-
fs.writeFileSync(process.cwd() + path.sep + "csv" + path.sep + file.split(".")[0] + ".csv", headersString + "\n" + recordsString);
|
|
126
|
-
spinner.succeed("CSV created: " + file.split(".")[0] + ".csv");
|
|
133
|
+
return records;
|
|
127
134
|
}
|
|
128
135
|
//# sourceMappingURL=dumpTableToCSV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dumpTableToCSV.js","sourceRoot":"","sources":["../../src/modules/dumpTableToCSV.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"dumpTableToCSV.js","sourceRoot":"","sources":["../../src/modules/dumpTableToCSV.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dumpTableToCSV.test.d.ts","sourceRoot":"","sources":["../../src/modules/dumpTableToCSV.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { parseHeadersFromCreateStatement, parseInsertRecords } from "./dumpTableToCSV.js";
|
|
3
|
+
describe("dumpTableToCSV parsing helpers", () => {
|
|
4
|
+
it("parses create table header fields and skips table name", () => {
|
|
5
|
+
const headerData = "CREATE TABLE `t009` (`t009_mnr` int(11), `t009_name` varchar(50), PRIMARY KEY (`t009_mnr`))";
|
|
6
|
+
const headers = parseHeadersFromCreateStatement(headerData, "t009");
|
|
7
|
+
expect(headers).toEqual(["`t009_mnr`", "`t009_name`", "`t009_mnr`"]);
|
|
8
|
+
});
|
|
9
|
+
it("parses insert records from VALUES tuples", () => {
|
|
10
|
+
const data = "INSERT INTO `t009` VALUES (1,'a'),(2,'b'),(3,'c');";
|
|
11
|
+
const records = parseInsertRecords(data);
|
|
12
|
+
expect(records).toEqual(["1,'a'", "2,'b'", "3,'c'"]);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=dumpTableToCSV.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dumpTableToCSV.test.js","sourceRoot":"","sources":["../../src/modules/dumpTableToCSV.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,+BAA+B,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE1F,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC5C,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAC9D,MAAM,UAAU,GAAG,6FAA6F,CAAC;QAEjH,MAAM,OAAO,GAAG,+BAA+B,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAEpE,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,MAAM,IAAI,GAAG,oDAAoD,CAAC;QAElE,MAAM,OAAO,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAEzC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extdSearch.test.d.ts","sourceRoot":"","sources":["../../src/modules/extdSearch.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { beforeEach, describe, expect, it, vi } from "vitest";
|
|
2
|
+
const shellMocks = vi.hoisted(() => ({
|
|
3
|
+
withEditTools: vi.fn(),
|
|
4
|
+
withConfig: vi.fn(),
|
|
5
|
+
withTables: vi.fn(),
|
|
6
|
+
build: vi.fn(),
|
|
7
|
+
run: vi.fn()
|
|
8
|
+
}));
|
|
9
|
+
vi.mock("../utils/shell/DatabaseShellBuilder.js", () => {
|
|
10
|
+
class TableConfig {
|
|
11
|
+
name = "";
|
|
12
|
+
cmdShortcut = "";
|
|
13
|
+
searchKeys = [];
|
|
14
|
+
threshold = 0.7;
|
|
15
|
+
tableHeader = [];
|
|
16
|
+
tableFormatter = () => [];
|
|
17
|
+
withName(name) {
|
|
18
|
+
this.name = name;
|
|
19
|
+
return this;
|
|
20
|
+
}
|
|
21
|
+
withShortcut(shortcut) {
|
|
22
|
+
this.cmdShortcut = shortcut;
|
|
23
|
+
return this;
|
|
24
|
+
}
|
|
25
|
+
withSearchKeys(keys) {
|
|
26
|
+
this.searchKeys = keys;
|
|
27
|
+
return this;
|
|
28
|
+
}
|
|
29
|
+
withThreshold(threshold) {
|
|
30
|
+
this.threshold = threshold;
|
|
31
|
+
return this;
|
|
32
|
+
}
|
|
33
|
+
withHeader(tableHeader) {
|
|
34
|
+
this.tableHeader = tableHeader;
|
|
35
|
+
return this;
|
|
36
|
+
}
|
|
37
|
+
withFormatter(formatter) {
|
|
38
|
+
this.tableFormatter = formatter;
|
|
39
|
+
return this;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
class DatabaseShellBuilder {
|
|
43
|
+
withEditTools = shellMocks.withEditTools.mockImplementation(() => this);
|
|
44
|
+
withConfig = shellMocks.withConfig.mockImplementation(() => this);
|
|
45
|
+
withTables = shellMocks.withTables.mockImplementation(() => this);
|
|
46
|
+
build = shellMocks.build.mockImplementation(() => ({ run: shellMocks.run }));
|
|
47
|
+
}
|
|
48
|
+
return { DatabaseShellBuilder, TableConfig };
|
|
49
|
+
});
|
|
50
|
+
import extdSearch from "./extdSearch.js";
|
|
51
|
+
describe("extdSearch", () => {
|
|
52
|
+
beforeEach(() => {
|
|
53
|
+
vi.clearAllMocks();
|
|
54
|
+
shellMocks.run.mockResolvedValue(undefined);
|
|
55
|
+
});
|
|
56
|
+
it("builds shell with expected configs and tables", async () => {
|
|
57
|
+
await extdSearch();
|
|
58
|
+
expect(shellMocks.withEditTools).toHaveBeenCalledTimes(1);
|
|
59
|
+
expect(shellMocks.withConfig).toHaveBeenCalledTimes(3);
|
|
60
|
+
expect(shellMocks.withTables).toHaveBeenCalledTimes(3);
|
|
61
|
+
expect(shellMocks.withTables).toHaveBeenNthCalledWith(1, "EXTD/EXTI", ["extd", "exti"]);
|
|
62
|
+
expect(shellMocks.withTables).toHaveBeenNthCalledWith(2, "EXTD", ["extd"]);
|
|
63
|
+
expect(shellMocks.withTables).toHaveBeenNthCalledWith(3, "EXTI", ["exti"]);
|
|
64
|
+
expect(shellMocks.build).toHaveBeenCalledTimes(1);
|
|
65
|
+
expect(shellMocks.run).toHaveBeenCalledTimes(1);
|
|
66
|
+
});
|
|
67
|
+
it("formats field info values through mapping helpers", async () => {
|
|
68
|
+
await extdSearch();
|
|
69
|
+
const fieldInfoConfig = shellMocks.withConfig.mock.calls[1]?.[0];
|
|
70
|
+
expect(fieldInfoConfig.name).toBe("Field-Information");
|
|
71
|
+
expect(fieldInfoConfig.cmdShortcut).toBe(":fi");
|
|
72
|
+
const formatted = fieldInfoConfig.tableFormatter({
|
|
73
|
+
mnr: "7",
|
|
74
|
+
table: "extd",
|
|
75
|
+
name: "x_name",
|
|
76
|
+
special: "1",
|
|
77
|
+
flag: "2",
|
|
78
|
+
testflab: "0",
|
|
79
|
+
b_value_1: "10",
|
|
80
|
+
b_dtext_1: "Ten",
|
|
81
|
+
b_value_2: "",
|
|
82
|
+
b_dtext_2: ""
|
|
83
|
+
});
|
|
84
|
+
expect(formatted.slice(0, 6)).toEqual(["7", "extd", "x_name", "Checkbox", "Aus", "Zwingend"]);
|
|
85
|
+
expect(formatted[6]).toBe("'10'='Ten'");
|
|
86
|
+
expect(formatted[7]).toBe("");
|
|
87
|
+
expect(formatted).toHaveLength(15);
|
|
88
|
+
});
|
|
89
|
+
it("formats overview and disp-fields rows", async () => {
|
|
90
|
+
await extdSearch();
|
|
91
|
+
const overviewConfig = shellMocks.withConfig.mock.calls[0]?.[0];
|
|
92
|
+
const dispFieldsConfig = shellMocks.withConfig.mock.calls[2]?.[0];
|
|
93
|
+
expect(overviewConfig.name).toBe("Overview");
|
|
94
|
+
expect(overviewConfig.cmdShortcut).toBe(":ow");
|
|
95
|
+
expect(overviewConfig.tableFormatter({ mnr: "1", name: "abc" }).slice(0, 3)).toEqual(["1", undefined, "abc"]);
|
|
96
|
+
expect(dispFieldsConfig.name).toBe("Disp-Fields");
|
|
97
|
+
expect(dispFieldsConfig.cmdShortcut).toBe(":df");
|
|
98
|
+
const dispFormatted = dispFieldsConfig.tableFormatter({
|
|
99
|
+
mnr: "9",
|
|
100
|
+
table: "exti",
|
|
101
|
+
name: "f1",
|
|
102
|
+
testfeld: "tf",
|
|
103
|
+
dispmask: "dm",
|
|
104
|
+
disp_feld_1: "a",
|
|
105
|
+
disp_feld_9: "z"
|
|
106
|
+
});
|
|
107
|
+
expect(dispFormatted[0]).toBe("9");
|
|
108
|
+
expect(dispFormatted[1]).toBe("exti");
|
|
109
|
+
expect(dispFormatted[4]).toBe("dm");
|
|
110
|
+
expect(dispFormatted[5]).toBe("a");
|
|
111
|
+
expect(dispFormatted[13]).toBe("z");
|
|
112
|
+
});
|
|
113
|
+
});
|
|
114
|
+
//# sourceMappingURL=extdSearch.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extdSearch.test.js","sourceRoot":"","sources":["../../src/modules/extdSearch.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9D,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACjC,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;IACtB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,UAAU,EAAE,EAAE,CAAC,EAAE,EAAE;IACnB,KAAK,EAAE,EAAE,CAAC,EAAE,EAAE;IACd,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;CACf,CAAC,CAAC,CAAC;AAEJ,EAAE,CAAC,IAAI,CAAC,wCAAwC,EAAE,GAAG,EAAE;IACnD,MAAM,WAAW;QACb,IAAI,GAAG,EAAE,CAAC;QACV,WAAW,GAAG,EAAE,CAAC;QACjB,UAAU,GAAa,EAAE,CAAC;QAC1B,SAAS,GAAG,GAAG,CAAC;QAChB,WAAW,GAAa,EAAE,CAAC;QAC3B,cAAc,GAAqD,GAAG,EAAE,CAAC,EAAE,CAAC;QAE5E,QAAQ,CAAC,IAAY;YACjB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;YACjB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,YAAY,CAAC,QAAgB;YACzB,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC;YAC5B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,cAAc,CAAC,IAAc;YACzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;YACvB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,aAAa,CAAC,SAAiB;YAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAC3B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,UAAU,CAAC,WAAqB;YAC5B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,aAAa,CAAC,SAA2D;YACrE,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ;IAED,MAAM,oBAAoB;QACtB,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QACxE,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAClE,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;QAClE,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;KAChF;IAED,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,OAAO,UAAU,MAAM,iBAAiB,CAAC;AAEzC,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IACxB,UAAU,CAAC,GAAG,EAAE;QACZ,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,UAAU,CAAC,GAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,UAAU,EAAE,CAAC;QAEnB,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QACxF,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,uBAAuB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3E,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,UAAU,EAAE,CAAC;QAEnB,MAAM,eAAe,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAI9D,CAAC;QAEF,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACvD,MAAM,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEhD,MAAM,SAAS,GAAG,eAAe,CAAC,cAAc,CAAC;YAC7C,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,GAAG;YACb,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,EAAE;SAChB,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;QAC9F,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACxC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,UAAU,EAAE,CAAC;QAEnB,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAI7D,CAAC;QAEF,MAAM,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAI/D,CAAC;QAEF,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC/C,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAE9G,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAClD,MAAM,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,gBAAgB,CAAC,cAAc,CAAC;YAClD,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,GAAG;YAChB,WAAW,EAAE,GAAG;SACnB,CAAC,CAAC;QACH,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"githubDeploymentKey.test.d.ts","sourceRoot":"","sources":["../../src/modules/githubDeploymentKey.test.ts"],"names":[],"mappings":""}
|