dirsql 0.3.36 → 0.3.38

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 (116) hide show
  1. package/dist/cli/dirsql.js +1 -1
  2. package/dist/cli/dirsql.js.map +1 -1
  3. package/dist/cli/interpret/{buildTables.d.ts → build-tables.d.ts} +1 -1
  4. package/dist/cli/interpret/build-tables.d.ts.map +1 -0
  5. package/dist/cli/interpret/{buildTables.js → build-tables.js} +1 -1
  6. package/dist/cli/interpret/build-tables.js.map +1 -0
  7. package/dist/cli/interpret/{dispatchExtract.d.ts → dispatch-extract.d.ts} +1 -1
  8. package/dist/cli/interpret/dispatch-extract.d.ts.map +1 -0
  9. package/dist/cli/interpret/{dispatchExtract.js → dispatch-extract.js} +2 -2
  10. package/dist/cli/interpret/dispatch-extract.js.map +1 -0
  11. package/dist/cli/interpret/{errMessage.d.ts → err-message.d.ts} +1 -1
  12. package/dist/cli/interpret/err-message.d.ts.map +1 -0
  13. package/dist/cli/interpret/{errMessage.js → err-message.js} +1 -1
  14. package/dist/cli/interpret/err-message.js.map +1 -0
  15. package/dist/cli/interpret/interpret.js +5 -5
  16. package/dist/cli/interpret/interpret.js.map +1 -1
  17. package/dist/cli/interpret/{loadApp.d.ts → load-app.d.ts} +1 -1
  18. package/dist/cli/interpret/load-app.d.ts.map +1 -0
  19. package/dist/cli/interpret/{loadApp.js → load-app.js} +1 -1
  20. package/dist/cli/interpret/load-app.js.map +1 -0
  21. package/dist/cli/interpret/{writeMessage.d.ts → write-message.d.ts} +1 -1
  22. package/dist/cli/interpret/write-message.d.ts.map +1 -0
  23. package/dist/cli/interpret/{writeMessage.js → write-message.js} +1 -1
  24. package/dist/cli/interpret/write-message.js.map +1 -0
  25. package/dist/cli/main.js +1 -1
  26. package/dist/cli/main.js.map +1 -1
  27. package/dist/cli/{platformKey.d.ts → platform-key.d.ts} +1 -1
  28. package/dist/cli/platform-key.d.ts.map +1 -0
  29. package/dist/cli/{platformKey.js → platform-key.js} +1 -1
  30. package/dist/cli/platform-key.js.map +1 -0
  31. package/dist/cli/{resolveBinary.d.ts → resolve-binary.d.ts} +1 -1
  32. package/dist/cli/resolve-binary.d.ts.map +1 -0
  33. package/dist/cli/{resolveBinary.js → resolve-binary.js} +2 -2
  34. package/dist/cli/resolve-binary.js.map +1 -0
  35. package/dist/index.js +3 -3
  36. package/dist/index.js.map +1 -1
  37. package/dist/{loadNativeCore.d.ts → load-native-core.d.ts} +1 -1
  38. package/dist/load-native-core.d.ts.map +1 -0
  39. package/dist/{loadNativeCore.js → load-native-core.js} +1 -1
  40. package/dist/load-native-core.js.map +1 -0
  41. package/dist/{resolveConfig.d.ts → resolve-config.d.ts} +1 -1
  42. package/dist/resolve-config.d.ts.map +1 -0
  43. package/dist/{resolveConfig.js → resolve-config.js} +1 -1
  44. package/dist/resolve-config.js.map +1 -0
  45. package/docs/api/index.md +5 -2
  46. package/package.json +21 -35
  47. package/dist/cli/die.test.d.ts +0 -2
  48. package/dist/cli/die.test.d.ts.map +0 -1
  49. package/dist/cli/die.test.js +0 -29
  50. package/dist/cli/die.test.js.map +0 -1
  51. package/dist/cli/interpret/buildTables.d.ts.map +0 -1
  52. package/dist/cli/interpret/buildTables.js.map +0 -1
  53. package/dist/cli/interpret/buildTables.test.d.ts +0 -2
  54. package/dist/cli/interpret/buildTables.test.d.ts.map +0 -1
  55. package/dist/cli/interpret/buildTables.test.js +0 -60
  56. package/dist/cli/interpret/buildTables.test.js.map +0 -1
  57. package/dist/cli/interpret/dispatchExtract.d.ts.map +0 -1
  58. package/dist/cli/interpret/dispatchExtract.js.map +0 -1
  59. package/dist/cli/interpret/dispatchExtract.test.d.ts +0 -2
  60. package/dist/cli/interpret/dispatchExtract.test.d.ts.map +0 -1
  61. package/dist/cli/interpret/dispatchExtract.test.js +0 -75
  62. package/dist/cli/interpret/dispatchExtract.test.js.map +0 -1
  63. package/dist/cli/interpret/errMessage.d.ts.map +0 -1
  64. package/dist/cli/interpret/errMessage.js.map +0 -1
  65. package/dist/cli/interpret/errMessage.test.d.ts +0 -2
  66. package/dist/cli/interpret/errMessage.test.d.ts.map +0 -1
  67. package/dist/cli/interpret/errMessage.test.js +0 -23
  68. package/dist/cli/interpret/errMessage.test.js.map +0 -1
  69. package/dist/cli/interpret/interpret.test.d.ts +0 -2
  70. package/dist/cli/interpret/interpret.test.d.ts.map +0 -1
  71. package/dist/cli/interpret/interpret.test.js +0 -152
  72. package/dist/cli/interpret/interpret.test.js.map +0 -1
  73. package/dist/cli/interpret/loadApp.d.ts.map +0 -1
  74. package/dist/cli/interpret/loadApp.js.map +0 -1
  75. package/dist/cli/interpret/loadApp.test.d.ts +0 -2
  76. package/dist/cli/interpret/loadApp.test.d.ts.map +0 -1
  77. package/dist/cli/interpret/loadApp.test.js +0 -33
  78. package/dist/cli/interpret/loadApp.test.js.map +0 -1
  79. package/dist/cli/interpret/writeMessage.d.ts.map +0 -1
  80. package/dist/cli/interpret/writeMessage.js.map +0 -1
  81. package/dist/cli/interpret/writeMessage.test.d.ts +0 -2
  82. package/dist/cli/interpret/writeMessage.test.d.ts.map +0 -1
  83. package/dist/cli/interpret/writeMessage.test.js +0 -25
  84. package/dist/cli/interpret/writeMessage.test.js.map +0 -1
  85. package/dist/cli/main.test.d.ts +0 -2
  86. package/dist/cli/main.test.d.ts.map +0 -1
  87. package/dist/cli/main.test.js +0 -109
  88. package/dist/cli/main.test.js.map +0 -1
  89. package/dist/cli/platformKey.d.ts.map +0 -1
  90. package/dist/cli/platformKey.js.map +0 -1
  91. package/dist/cli/platformKey.test.d.ts +0 -2
  92. package/dist/cli/platformKey.test.d.ts.map +0 -1
  93. package/dist/cli/platformKey.test.js +0 -36
  94. package/dist/cli/platformKey.test.js.map +0 -1
  95. package/dist/cli/resolveBinary.d.ts.map +0 -1
  96. package/dist/cli/resolveBinary.js.map +0 -1
  97. package/dist/cli/resolveBinary.test.d.ts +0 -2
  98. package/dist/cli/resolveBinary.test.d.ts.map +0 -1
  99. package/dist/cli/resolveBinary.test.js +0 -54
  100. package/dist/cli/resolveBinary.test.js.map +0 -1
  101. package/dist/loadNativeCore.d.ts.map +0 -1
  102. package/dist/loadNativeCore.js.map +0 -1
  103. package/dist/loadNativeCore.test.d.ts +0 -2
  104. package/dist/loadNativeCore.test.d.ts.map +0 -1
  105. package/dist/loadNativeCore.test.js +0 -51
  106. package/dist/loadNativeCore.test.js.map +0 -1
  107. package/dist/platforms.test.d.ts +0 -2
  108. package/dist/platforms.test.d.ts.map +0 -1
  109. package/dist/platforms.test.js +0 -84
  110. package/dist/platforms.test.js.map +0 -1
  111. package/dist/resolveConfig.d.ts.map +0 -1
  112. package/dist/resolveConfig.js.map +0 -1
  113. package/dist/resolveConfig.test.d.ts +0 -2
  114. package/dist/resolveConfig.test.d.ts.map +0 -1
  115. package/dist/resolveConfig.test.js +0 -206
  116. package/dist/resolveConfig.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatchExtract.js","sourceRoot":"","sources":["../../../src/cli/interpret/dispatchExtract.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,sEAAsE;AACtE,mEAAmE;AACnE,mBAAmB;AAGnB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAiB7C,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,GAAmB,EACnB,MAA6B;IAE7B,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;IACtC,MAAM,KAAK,GAAG,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,EAAE;YACF,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,kBAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;SAChD,CAAC;IACJ,CAAC;IACD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAc,CAAC,CAAC;QACjD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAChD,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=dispatchExtract.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatchExtract.test.d.ts","sourceRoot":"","sources":["../../../src/cli/interpret/dispatchExtract.test.ts"],"names":[],"mappings":""}
@@ -1,75 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { dispatchExtract } from "./dispatchExtract.js";
3
- function tableMap(entries) {
4
- return new Map(entries.map(([n, extract]) => [
5
- n,
6
- {
7
- ddl: `CREATE TABLE ${n} (x TEXT)`,
8
- glob: "*",
9
- extract,
10
- },
11
- ]));
12
- }
13
- describe("dispatchExtract", () => {
14
- it("returns ok=true with the rows the sync extract returned", async () => {
15
- const tables = tableMap([["papers", (p) => [{ row: p }]]]);
16
- const out = await dispatchExtract({ type: "extract", id: 1, table: "papers", path: "/a" }, tables);
17
- expect(out).toEqual({
18
- type: "result",
19
- id: 1,
20
- ok: true,
21
- rows: [{ row: "/a" }],
22
- });
23
- });
24
- it("echoes the request id verbatim on success", async () => {
25
- const tables = tableMap([["t", () => []]]);
26
- const out = await dispatchExtract({ type: "extract", id: 99, table: "t", path: "/" }, tables);
27
- expect(out.id).toBe(99);
28
- });
29
- it("returns ok=false with a JSON-encoded name when the table is unknown", async () => {
30
- const out = await dispatchExtract({ type: "extract", id: 5, table: "ghost", path: "/" }, tableMap([]));
31
- expect(out.ok).toBe(false);
32
- expect(out.error).toContain('"ghost"');
33
- });
34
- it("echoes the request id verbatim on unknown-table failure", async () => {
35
- const out = await dispatchExtract({ type: "extract", id: 17, table: "ghost", path: "/" }, tableMap([]));
36
- expect(out.id).toBe(17);
37
- });
38
- it("returns ok=false with the message when a sync extract throws", async () => {
39
- const tables = tableMap([
40
- [
41
- "papers",
42
- () => {
43
- throw new Error("synthetic");
44
- },
45
- ],
46
- ]);
47
- const out = await dispatchExtract({ type: "extract", id: 7, table: "papers", path: "/" }, tables);
48
- expect(out).toEqual({
49
- type: "result",
50
- id: 7,
51
- ok: false,
52
- error: "synthetic",
53
- });
54
- });
55
- it("treats a missing table field as unknown table", async () => {
56
- const out = await dispatchExtract({ type: "extract", id: 1, path: "/" }, tableMap([["t", () => []]]));
57
- expect(out.ok).toBe(false);
58
- expect(out.error).toMatch(/unknown table/);
59
- });
60
- it("passes the request path to the extract callback", async () => {
61
- const seen = [];
62
- const tables = tableMap([
63
- [
64
- "t",
65
- (p) => {
66
- seen.push(p);
67
- return [];
68
- },
69
- ],
70
- ]);
71
- await dispatchExtract({ type: "extract", id: 1, table: "t", path: "/abs/x.json" }, tables);
72
- expect(seen).toEqual(["/abs/x.json"]);
73
- });
74
- });
75
- //# sourceMappingURL=dispatchExtract.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatchExtract.test.js","sourceRoot":"","sources":["../../../src/cli/interpret/dispatchExtract.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"errMessage.d.ts","sourceRoot":"","sources":["../../../src/cli/interpret/errMessage.ts"],"names":[],"mappings":"AAIA,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAE7C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"errMessage.js","sourceRoot":"","sources":["../../../src/cli/interpret/errMessage.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,kEAAkE;AAClE,yBAAyB;AAEzB,MAAM,UAAU,UAAU,CAAC,CAAU;IACnC,OAAO,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=errMessage.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errMessage.test.d.ts","sourceRoot":"","sources":["../../../src/cli/interpret/errMessage.test.ts"],"names":[],"mappings":""}
@@ -1,23 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { errMessage } from "./errMessage.js";
3
- describe("errMessage", () => {
4
- it("returns Error.message when the value is an Error", () => {
5
- expect(errMessage(new Error("boom"))).toBe("boom");
6
- });
7
- it("returns Error.message for a subclassed Error", () => {
8
- expect(errMessage(new TypeError("bad type"))).toBe("bad type");
9
- });
10
- it("coerces a string to itself", () => {
11
- expect(errMessage("plain")).toBe("plain");
12
- });
13
- it("coerces null to 'null'", () => {
14
- expect(errMessage(null)).toBe("null");
15
- });
16
- it("coerces a number via String()", () => {
17
- expect(errMessage(42)).toBe("42");
18
- });
19
- it("coerces a plain object via String()", () => {
20
- expect(errMessage({})).toBe("[object Object]");
21
- });
22
- });
23
- //# sourceMappingURL=errMessage.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errMessage.test.js","sourceRoot":"","sources":["../../../src/cli/interpret/errMessage.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,kDAAkD,EAAE,GAAG,EAAE;QAC1D,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,UAAU,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;QAChC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=interpret.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpret.test.d.ts","sourceRoot":"","sources":["../../../src/cli/interpret/interpret.test.ts"],"names":[],"mappings":""}
@@ -1,152 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, it, vi, } from "vitest";
2
- import { buildTables } from "./buildTables.js";
3
- import { dispatchExtract } from "./dispatchExtract.js";
4
- import { interpret } from "./interpret.js";
5
- import { loadApp } from "./loadApp.js";
6
- import { writeMessage } from "./writeMessage.js";
7
- // Every collaborator is mocked so the test isolates `interpret`'s glue logic.
8
- // `node:readline`'s `createInterface` is faked to return an async iterable of
9
- // lines directly -- this stands in for the line-buffered read over stdin, so
10
- // the test never needs a real `Readable` stream.
11
- vi.mock("./buildTables.js");
12
- vi.mock("./dispatchExtract.js");
13
- vi.mock("./loadApp.js");
14
- vi.mock("./writeMessage.js");
15
- vi.mock("node:readline", async () => ({
16
- ...(await vi.importActual("node:readline")),
17
- createInterface: vi.fn(),
18
- }));
19
- // Imported after the mock so we get the mocked module.
20
- const { createInterface } = await import("node:readline");
21
- function fakeApp(overrides = {}) {
22
- const app = {
23
- ready: Promise.resolve(),
24
- toJSON: () => ({ root: "/x" }),
25
- _options: { tables: [] },
26
- ...overrides,
27
- };
28
- return app;
29
- }
30
- // Fake the readline interface as an async iterable yielding the given lines.
31
- function stubLines(lines) {
32
- vi.mocked(createInterface).mockReturnValue((async function* () {
33
- for (const l of lines) {
34
- yield l;
35
- }
36
- // biome-ignore lint/suspicious/noExplicitAny: minimal readline stub
37
- })());
38
- }
39
- describe("interpret", () => {
40
- let stderrWrite;
41
- beforeEach(() => {
42
- stderrWrite = vi.fn();
43
- vi.stubGlobal("process", {
44
- ...process,
45
- stderr: { write: stderrWrite },
46
- });
47
- stubLines([]);
48
- vi.mocked(writeMessage).mockImplementation(() => { });
49
- vi.mocked(buildTables).mockReturnValue(new Map());
50
- vi.mocked(dispatchExtract).mockResolvedValue({
51
- type: "result",
52
- id: 1,
53
- ok: true,
54
- rows: [],
55
- });
56
- });
57
- afterEach(() => {
58
- vi.unstubAllGlobals();
59
- vi.restoreAllMocks();
60
- });
61
- describe("startup", () => {
62
- it("returns 1 and writes to stderr when configPath is empty", async () => {
63
- expect(await interpret("")).toBe(1);
64
- expect(stderrWrite).toHaveBeenCalledExactlyOnceWith("dirsql interpret: expected one config path, got 0\n");
65
- });
66
- it("returns 1 and writes a dirsql-prefixed line when loadApp throws", async () => {
67
- vi.mocked(loadApp).mockRejectedValue(new Error("no app"));
68
- expect(await interpret("bad.mjs")).toBe(1);
69
- expect(stderrWrite).toHaveBeenCalledExactlyOnceWith("dirsql interpret: no app\n");
70
- });
71
- it("coerces non-Error throws via String() in the stderr message", async () => {
72
- vi.mocked(loadApp).mockRejectedValue("plain string");
73
- expect(await interpret("bad.mjs")).toBe(1);
74
- expect(stderrWrite).toHaveBeenCalledExactlyOnceWith("dirsql interpret: plain string\n");
75
- });
76
- });
77
- describe("handshake", () => {
78
- it("writes one config message with app.toJSON() as state", async () => {
79
- const app = fakeApp({
80
- toJSON: () => ({ root: "/here", tables: [], ignore: [], persist: false }),
81
- });
82
- vi.mocked(loadApp).mockResolvedValue(app);
83
- await interpret("good.mjs");
84
- expect(writeMessage).toHaveBeenCalledWith({
85
- type: "config",
86
- state: { root: "/here", tables: [], ignore: [], persist: false },
87
- });
88
- });
89
- it("attaches a no-op catch to app.ready to swallow background-scan failures", async () => {
90
- // Verify the structural property -- interpret CALLS `.catch` on
91
- // `app.ready` -- without exercising the runtime side effect
92
- // (which fights vitest's own unhandled-rejection handling).
93
- const catchSpy = vi.fn(() => Promise.resolve());
94
- const app = fakeApp({
95
- ready: { catch: catchSpy },
96
- });
97
- vi.mocked(loadApp).mockResolvedValue(app);
98
- await interpret("good.mjs");
99
- expect(catchSpy).toHaveBeenCalledOnce();
100
- });
101
- });
102
- describe("extract loop", () => {
103
- it("dispatches one extract request and writes the response", async () => {
104
- vi.mocked(loadApp).mockResolvedValue(fakeApp());
105
- const req = { type: "extract", id: 1, table: "t", path: "/a" };
106
- stubLines([JSON.stringify(req)]);
107
- const expected = {
108
- type: "result",
109
- id: 1,
110
- ok: true,
111
- rows: [{ row: "/a" }],
112
- };
113
- vi.mocked(dispatchExtract).mockResolvedValue(expected);
114
- expect(await interpret("good.mjs")).toBe(0);
115
- expect(dispatchExtract).toHaveBeenCalledWith(req, new Map());
116
- // handshake first, then response
117
- expect(writeMessage).toHaveBeenCalledTimes(2);
118
- expect(writeMessage).toHaveBeenLastCalledWith(expected);
119
- });
120
- it("skips blank lines silently", async () => {
121
- vi.mocked(loadApp).mockResolvedValue(fakeApp());
122
- stubLines(["", " "]);
123
- expect(await interpret("good.mjs")).toBe(0);
124
- expect(dispatchExtract).not.toHaveBeenCalled();
125
- // handshake only
126
- expect(writeMessage).toHaveBeenCalledOnce();
127
- });
128
- it("skips malformed JSON silently", async () => {
129
- vi.mocked(loadApp).mockResolvedValue(fakeApp());
130
- stubLines(["not json", "{also bad"]);
131
- expect(await interpret("good.mjs")).toBe(0);
132
- expect(dispatchExtract).not.toHaveBeenCalled();
133
- });
134
- it("skips non-extract messages silently", async () => {
135
- vi.mocked(loadApp).mockResolvedValue(fakeApp());
136
- stubLines([JSON.stringify({ type: "ping" })]);
137
- expect(await interpret("good.mjs")).toBe(0);
138
- expect(dispatchExtract).not.toHaveBeenCalled();
139
- });
140
- it("skips a null / non-object JSON payload silently", async () => {
141
- vi.mocked(loadApp).mockResolvedValue(fakeApp());
142
- stubLines(["null", "42", "[]"]);
143
- expect(await interpret("good.mjs")).toBe(0);
144
- expect(dispatchExtract).not.toHaveBeenCalled();
145
- });
146
- it("returns 0 when stdin closes", async () => {
147
- vi.mocked(loadApp).mockResolvedValue(fakeApp());
148
- expect(await interpret("good.mjs")).toBe(0);
149
- });
150
- });
151
- });
152
- //# sourceMappingURL=interpret.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"interpret.test.js","sourceRoot":"","sources":["../../../src/cli/interpret/interpret.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadApp.d.ts","sourceRoot":"","sources":["../../../src/cli/interpret/loadApp.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAM7C,wBAAsB,OAAO,CAC3B,UAAU,EAAE,MAAM,EAClB,QAAQ,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAC3C,GACZ,OAAO,CAAC,MAAM,CAAC,CAQjB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadApp.js","sourceRoot":"","sources":["../../../src/cli/interpret/loadApp.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,sEAAsE;AACtE,oEAAoE;AACpE,oEAAoE;AACpE,qBAAqB;AACrB,EAAE;AACF,qEAAqE;AACrE,qEAAqE;AACrE,oBAAoB;AAEpB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC,oEAAoE;AACpE,4EAA4E;AAC5E,6EAA6E;AAC7E,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,UAAkB,EAClB,WAA4D,CAAC,GAAG,EAAE,EAAE,CAClE,MAAM,CAAC,GAAG,CAAC;IAEb,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,GAAG,UAAU,gDAAgD,CAC9D,CAAC;IACJ,CAAC;IACD,OAAO,GAAG,CAAC,OAAiB,CAAC;AAC/B,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=loadApp.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadApp.test.d.ts","sourceRoot":"","sources":["../../../src/cli/interpret/loadApp.test.ts"],"names":[],"mappings":""}
@@ -1,33 +0,0 @@
1
- import { describe, expect, it, vi } from "vitest";
2
- import { loadApp } from "./loadApp.js";
3
- describe("loadApp", () => {
4
- it("returns the default export the importer yields", async () => {
5
- const importer = vi
6
- .fn()
7
- .mockResolvedValue({ default: { sentinel: "value" } });
8
- const app = (await loadApp("/cfg/config.mjs", importer));
9
- expect(app.sentinel).toBe("value");
10
- // The importer receives the file:// URL form of the config path.
11
- expect(importer).toHaveBeenCalledWith(expect.stringMatching(/^file:.*config\.mjs$/));
12
- });
13
- it("throws a path-aware error when the module has no default export", async () => {
14
- const importer = vi.fn().mockResolvedValue({ x: 1 });
15
- await expect(loadApp("/cfg/no_default.mjs", importer)).rejects.toThrow(/must default-export a DirSQL instance/);
16
- await expect(loadApp("/cfg/no_default.mjs", importer)).rejects.toThrow("/cfg/no_default.mjs");
17
- });
18
- it("propagates errors thrown during module evaluation", async () => {
19
- const importer = vi.fn().mockRejectedValue(new Error("synthetic boom"));
20
- await expect(loadApp("/cfg/boom.mjs", importer)).rejects.toThrow(/synthetic boom/);
21
- });
22
- it("rejects when the importer rejects (missing file)", async () => {
23
- const importer = vi.fn().mockRejectedValue(new Error("Cannot find module"));
24
- await expect(loadApp("/cfg/nope.mjs", importer)).rejects.toThrow();
25
- });
26
- it("defaults to the real dynamic import when no importer is injected", async () => {
27
- // Exercises the default `importer` arg (a real `import()`). The path
28
- // doesn't exist, so the underlying import rejects -- which is all we
29
- // need to drive the default callback's single line.
30
- await expect(loadApp("/no/such/dirsql.config.mjs")).rejects.toThrow();
31
- });
32
- });
33
- //# sourceMappingURL=loadApp.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loadApp.test.js","sourceRoot":"","sources":["../../../src/cli/interpret/loadApp.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;IACvB,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,QAAQ,GAAG,EAAE;aAChB,EAAE,EAAE;aACJ,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;QACzD,MAAM,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAEtD,CAAC;QACF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACnC,iEAAiE;QACjE,MAAM,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACnC,MAAM,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAC9C,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrD,MAAM,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACpE,uCAAuC,CACxC,CAAC;QACF,MAAM,MAAM,CAAC,OAAO,CAAC,qBAAqB,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CACpE,qBAAqB,CACtB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACxE,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAC9D,gBAAgB,CACjB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC,CAAC;QAC5E,MAAM,MAAM,CAAC,OAAO,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,qEAAqE;QACrE,qEAAqE;QACrE,oDAAoD;QACpD,MAAM,MAAM,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"writeMessage.d.ts","sourceRoot":"","sources":["../../../src/cli/interpret/writeMessage.ts"],"names":[],"mappings":"AAKA,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAE/C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"writeMessage.js","sourceRoot":"","sources":["../../../src/cli/interpret/writeMessage.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,qEAAqE;AACrE,qEAAqE;AACrE,oDAAoD;AAEpD,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACnD,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=writeMessage.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"writeMessage.test.d.ts","sourceRoot":"","sources":["../../../src/cli/interpret/writeMessage.test.ts"],"names":[],"mappings":""}
@@ -1,25 +0,0 @@
1
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
2
- import { writeMessage } from "./writeMessage.js";
3
- describe("writeMessage", () => {
4
- let write;
5
- beforeEach(() => {
6
- write = vi.fn();
7
- vi.stubGlobal("process", { ...process, stdout: { write } });
8
- });
9
- afterEach(() => {
10
- vi.unstubAllGlobals();
11
- });
12
- it("writes one JSON line per call", () => {
13
- writeMessage({ type: "config", state: {} });
14
- expect(write).toHaveBeenCalledExactlyOnceWith('{"type":"config","state":{}}\n');
15
- });
16
- it("appends a trailing newline", () => {
17
- writeMessage({ x: 1 });
18
- expect((write.mock.calls[0]?.[0]).endsWith("\n")).toBe(true);
19
- });
20
- it("serializes nested arrays and objects deterministically", () => {
21
- writeMessage({ rows: [{ a: 1 }, { a: 2 }] });
22
- expect(write).toHaveBeenCalledExactlyOnceWith('{"rows":[{"a":1},{"a":2}]}\n');
23
- });
24
- });
25
- //# sourceMappingURL=writeMessage.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"writeMessage.test.js","sourceRoot":"","sources":["../../../src/cli/interpret/writeMessage.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,KAA+B,CAAC;IAEpC,UAAU,CAAC,GAAG,EAAE;QACd,KAAK,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QAChB,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,gBAAgB,EAAE,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,GAAG,EAAE;QACvC,YAAY,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,CAAC,KAAK,CAAC,CAAC,+BAA+B,CAC3C,gCAAgC,CACjC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;QACpC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACvB,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAY,CAAA,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,GAAG,EAAE;QAChE,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,CAAC,+BAA+B,CAC3C,8BAA8B,CAC/B,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=main.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.test.d.ts","sourceRoot":"","sources":["../../src/cli/main.test.ts"],"names":[],"mappings":""}
@@ -1,109 +0,0 @@
1
- // Unit tests for `main`.
2
- import { spawnSync } from "node:child_process";
3
- import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
4
- import { die } from "./die.js";
5
- import { interpret } from "./interpret/index.js";
6
- import { main } from "./main.js";
7
- import { resolveBinary } from "./resolveBinary.js";
8
- vi.mock("./resolveBinary.js");
9
- vi.mock("./die.js");
10
- vi.mock("./interpret/index.js");
11
- vi.mock("node:child_process");
12
- const TEST_PID = 42;
13
- function fakeResult(overrides) {
14
- return {
15
- pid: TEST_PID,
16
- stdout: Buffer.from(""),
17
- stderr: Buffer.from(""),
18
- output: [],
19
- status: 0,
20
- signal: null,
21
- ...overrides,
22
- };
23
- }
24
- describe("main", () => {
25
- let exit;
26
- let kill;
27
- beforeEach(() => {
28
- vi.mocked(resolveBinary).mockReturnValue("/bin/dirsql");
29
- vi.mocked(die).mockImplementation(((msg) => {
30
- throw new Error(`DIE: ${msg}`);
31
- }));
32
- exit = vi.fn().mockImplementation((code) => {
33
- throw new Error(`EXIT_${code}`);
34
- });
35
- kill = vi.fn();
36
- vi.stubGlobal("process", {
37
- ...process,
38
- exit,
39
- kill,
40
- pid: TEST_PID,
41
- });
42
- });
43
- afterEach(() => {
44
- vi.unstubAllGlobals();
45
- vi.resetAllMocks();
46
- });
47
- it("spawns the resolved binary with the argv and exits with the spawn status", async () => {
48
- vi.mocked(spawnSync).mockReturnValue(fakeResult({ status: 0 }));
49
- await expect(main(["--version"])).rejects.toThrow("EXIT_0");
50
- expect(spawnSync).toHaveBeenCalledWith("/bin/dirsql", ["--version"], {
51
- stdio: "inherit",
52
- });
53
- expect(exit).toHaveBeenCalledWith(0);
54
- });
55
- it("falls back to exit code 1 when spawn returns a null status", async () => {
56
- vi.mocked(spawnSync).mockReturnValue(fakeResult({ status: null }));
57
- await expect(main([])).rejects.toThrow("EXIT_1");
58
- expect(exit).toHaveBeenCalledWith(1);
59
- });
60
- it("calls die with the spawn error message when spawn reports an error", async () => {
61
- vi.mocked(spawnSync).mockReturnValue(fakeResult({ status: null, error: new Error("spawn ENOENT") }));
62
- await expect(main([])).rejects.toThrow("DIE: spawn ENOENT");
63
- expect(die).toHaveBeenCalledWith("spawn ENOENT", 1);
64
- });
65
- it("re-raises the spawned process's signal against the current pid before exiting", async () => {
66
- vi.mocked(spawnSync).mockReturnValue(fakeResult({ status: 0, signal: "SIGINT" }));
67
- await expect(main([])).rejects.toThrow("EXIT_0");
68
- expect(kill).toHaveBeenCalledWith(TEST_PID, "SIGINT");
69
- });
70
- it("defaults argv to process.argv.slice(2) when called with no args", async () => {
71
- vi.mocked(spawnSync).mockReturnValue(fakeResult({ status: 0 }));
72
- vi.stubGlobal("process", {
73
- ...process,
74
- argv: ["node", "dirsql", "--help"],
75
- exit,
76
- kill,
77
- pid: TEST_PID,
78
- });
79
- await expect(main()).rejects.toThrow("EXIT_0");
80
- expect(spawnSync).toHaveBeenCalledWith("/bin/dirsql", ["--help"], {
81
- stdio: "inherit",
82
- });
83
- });
84
- describe("when argv[0] is 'interpret'", () => {
85
- it("dispatches to the interpret helper and exits with its return code", async () => {
86
- vi.mocked(interpret).mockResolvedValue(0);
87
- await expect(main(["interpret", "config.mjs"])).rejects.toThrow("EXIT_0");
88
- expect(interpret).toHaveBeenCalledWith("config.mjs");
89
- expect(spawnSync).not.toHaveBeenCalled();
90
- expect(resolveBinary).not.toHaveBeenCalled();
91
- });
92
- it("propagates a non-zero interpret exit code", async () => {
93
- vi.mocked(interpret).mockResolvedValue(2);
94
- await expect(main(["interpret", "bad.mjs"])).rejects.toThrow("EXIT_2");
95
- });
96
- it("passes the empty string when no config path follows", async () => {
97
- vi.mocked(interpret).mockResolvedValue(1);
98
- await expect(main(["interpret"])).rejects.toThrow("EXIT_1");
99
- expect(interpret).toHaveBeenCalledWith("");
100
- });
101
- it("does not intercept when 'interpret' is not the first arg", async () => {
102
- vi.mocked(spawnSync).mockReturnValue(fakeResult({ status: 0 }));
103
- await expect(main(["--verbose", "interpret", "config.mjs"])).rejects.toThrow("EXIT_0");
104
- expect(interpret).not.toHaveBeenCalled();
105
- expect(spawnSync).toHaveBeenCalled();
106
- });
107
- });
108
- });
109
- //# sourceMappingURL=main.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.test.js","sourceRoot":"","sources":["../../src/cli/main.test.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"platformKey.d.ts","sourceRoot":"","sources":["../../src/cli/platformKey.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,IAAI,MAAM,CAEpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"platformKey.js","sourceRoot":"","sources":["../../src/cli/platformKey.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,kEAAkE;AAElE,MAAM,UAAU,WAAW;IACzB,OAAO,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;AAC/C,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=platformKey.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platformKey.test.d.ts","sourceRoot":"","sources":["../../src/cli/platformKey.test.ts"],"names":[],"mappings":""}
@@ -1,36 +0,0 @@
1
- import { afterEach, describe, expect, it, vi } from "vitest";
2
- import { platformKey } from "./platformKey.js";
3
- afterEach(() => vi.restoreAllMocks());
4
- describe("platformKey", () => {
5
- describe("on linux x64", () => {
6
- it("returns 'linux-x64'", () => {
7
- vi.stubGlobal("process", {
8
- ...process,
9
- platform: "linux",
10
- arch: "x64",
11
- });
12
- expect(platformKey()).toBe("linux-x64");
13
- });
14
- });
15
- describe("on darwin arm64", () => {
16
- it("returns 'darwin-arm64'", () => {
17
- vi.stubGlobal("process", {
18
- ...process,
19
- platform: "darwin",
20
- arch: "arm64",
21
- });
22
- expect(platformKey()).toBe("darwin-arm64");
23
- });
24
- });
25
- describe("on win32 x64", () => {
26
- it("returns 'win32-x64'", () => {
27
- vi.stubGlobal("process", {
28
- ...process,
29
- platform: "win32",
30
- arch: "x64",
31
- });
32
- expect(platformKey()).toBe("win32-x64");
33
- });
34
- });
35
- });
36
- //# sourceMappingURL=platformKey.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platformKey.test.js","sourceRoot":"","sources":["../../src/cli/platformKey.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAC;AAEtC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IAC3B,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE;gBACvB,GAAG,OAAO;gBACV,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,wBAAwB,EAAE,GAAG,EAAE;YAChC,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE;gBACvB,GAAG,OAAO;gBACV,QAAQ,EAAE,QAAQ;gBAClB,IAAI,EAAE,OAAO;aACd,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC5B,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC7B,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE;gBACvB,GAAG,OAAO;gBACV,QAAQ,EAAE,OAAO;gBACjB,IAAI,EAAE,KAAK;aACZ,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveBinary.d.ts","sourceRoot":"","sources":["../../src/cli/resolveBinary.ts"],"names":[],"mappings":"AAUA,yEAAyE;AACzE,MAAM,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;AAErD,iFAAiF;AACjF,wBAAgB,eAAe,IAAI,QAAQ,CAE1C;AAED,wBAAgB,aAAa,CAC3B,GAAG,SAAgB,EACnB,QAAQ,GAAE,QAA4B,GACrC,MAAM,CAgBR"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveBinary.js","sourceRoot":"","sources":["../../src/cli/resolveBinary.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,uEAAuE;AACvE,sEAAsE;AACtE,cAAc;AAEd,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK/C,iFAAiF;AACjF,MAAM,UAAU,eAAe;IAC7B,OAAO,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,GAAG,GAAG,WAAW,EAAE,EACnB,WAAqB,eAAe,EAAE;IAEtC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,CACD,0BAA0B,GAAG,mEAAmE,CACjG,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnE,IAAI,CAAC;QACH,OAAO,QAAQ,CAAC,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,GAAG,CACD,GAAG,GAAG,qHAAqH,CAC5H,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=resolveBinary.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolveBinary.test.d.ts","sourceRoot":"","sources":["../../src/cli/resolveBinary.test.ts"],"names":[],"mappings":""}