dirsql 0.3.16 → 0.3.18

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 (44) hide show
  1. package/dist/cli/die.d.ts.map +1 -0
  2. package/dist/{bin → cli}/die.js.map +1 -1
  3. package/dist/cli/die.test.d.ts +2 -0
  4. package/dist/cli/die.test.d.ts.map +1 -0
  5. package/dist/cli/die.test.js +29 -0
  6. package/dist/cli/die.test.js.map +1 -0
  7. package/dist/{bin → cli}/dirsql.d.ts.map +1 -1
  8. package/dist/{bin → cli}/dirsql.js.map +1 -1
  9. package/dist/cli/main.d.ts.map +1 -0
  10. package/dist/{bin → cli}/main.js +4 -2
  11. package/dist/{bin → cli}/main.js.map +1 -1
  12. package/dist/cli/main.test.d.ts +2 -0
  13. package/dist/cli/main.test.d.ts.map +1 -0
  14. package/dist/cli/main.test.js +83 -0
  15. package/dist/cli/main.test.js.map +1 -0
  16. package/dist/cli/platformKey.d.ts.map +1 -0
  17. package/dist/{bin → cli}/platformKey.js.map +1 -1
  18. package/dist/cli/platformKey.test.d.ts.map +1 -0
  19. package/dist/{bin → cli}/platformKey.test.js.map +1 -1
  20. package/dist/{bin → cli}/resolveBinary.d.ts.map +1 -1
  21. package/dist/{bin → cli}/resolveBinary.js.map +1 -1
  22. package/dist/cli/resolveBinary.test.d.ts +2 -0
  23. package/dist/cli/resolveBinary.test.d.ts.map +1 -0
  24. package/dist/cli/resolveBinary.test.js +54 -0
  25. package/dist/cli/resolveBinary.test.js.map +1 -0
  26. package/dist/loadNativeCore.test.js +6 -3
  27. package/dist/loadNativeCore.test.js.map +1 -1
  28. package/dist/platforms.js +1 -1
  29. package/package.json +12 -12
  30. package/dist/bin/die.d.ts.map +0 -1
  31. package/dist/bin/main.d.ts.map +0 -1
  32. package/dist/bin/platformKey.d.ts.map +0 -1
  33. package/dist/bin/platformKey.test.d.ts.map +0 -1
  34. /package/dist/{bin → cli}/die.d.ts +0 -0
  35. /package/dist/{bin → cli}/die.js +0 -0
  36. /package/dist/{bin → cli}/dirsql.d.ts +0 -0
  37. /package/dist/{bin → cli}/dirsql.js +0 -0
  38. /package/dist/{bin → cli}/main.d.ts +0 -0
  39. /package/dist/{bin → cli}/platformKey.d.ts +0 -0
  40. /package/dist/{bin → cli}/platformKey.js +0 -0
  41. /package/dist/{bin → cli}/platformKey.test.d.ts +0 -0
  42. /package/dist/{bin → cli}/platformKey.test.js +0 -0
  43. /package/dist/{bin → cli}/resolveBinary.d.ts +0 -0
  44. /package/dist/{bin → cli}/resolveBinary.js +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"die.d.ts","sourceRoot":"","sources":["../../src/cli/die.ts"],"names":[],"mappings":"AAGA,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,KAAK,CAGhD"}
@@ -1 +1 @@
1
- {"version":3,"file":"die.js","sourceRoot":"","sources":["../../src/bin/die.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,kDAAkD;AAElD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,IAAI,GAAG,CAAC;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC"}
1
+ {"version":3,"file":"die.js","sourceRoot":"","sources":["../../src/cli/die.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,kDAAkD;AAElD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,IAAI,GAAG,CAAC;IACvC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACzC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=die.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"die.test.d.ts","sourceRoot":"","sources":["../../src/cli/die.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,29 @@
1
+ // Unit tests for `die`.
2
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
3
+ import { die } from "./die.js";
4
+ describe("die", () => {
5
+ let stderrWrite;
6
+ let exit;
7
+ beforeEach(() => {
8
+ stderrWrite = vi.fn();
9
+ exit = vi.fn().mockImplementation((code) => {
10
+ throw new Error(`EXIT_${code}`);
11
+ });
12
+ vi.stubGlobal("process", {
13
+ ...process,
14
+ stderr: { write: stderrWrite },
15
+ exit,
16
+ });
17
+ });
18
+ afterEach(() => vi.unstubAllGlobals());
19
+ it("writes a 'dirsql: ' prefixed message to stderr and exits with the given code", () => {
20
+ expect(() => die("boom", 2)).toThrow("EXIT_2");
21
+ expect(stderrWrite).toHaveBeenCalledWith("dirsql: boom\n");
22
+ expect(exit).toHaveBeenCalledWith(2);
23
+ });
24
+ it("defaults the exit code to 1", () => {
25
+ expect(() => die("boom")).toThrow("EXIT_1");
26
+ expect(exit).toHaveBeenCalledWith(1);
27
+ });
28
+ });
29
+ //# sourceMappingURL=die.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"die.test.js","sourceRoot":"","sources":["../../src/cli/die.test.ts"],"names":[],"mappings":"AAAA,wBAAwB;AAExB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAE/B,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE;IACnB,IAAI,WAAqC,CAAC;IAC1C,IAAI,IAA8B,CAAC;IAEnC,UAAU,CAAC,GAAG,EAAE;QACd,WAAW,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;QACtB,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,IAAY,EAAE,EAAE;YACjD,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;QAClC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,SAAS,EAAE;YACvB,GAAG,OAAO;YACV,MAAM,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE;YAC9B,IAAI;SACL,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAEvC,EAAE,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACtF,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;QAC3D,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACrC,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dirsql.d.ts","sourceRoot":"","sources":["../../src/bin/dirsql.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"dirsql.d.ts","sourceRoot":"","sources":["../../src/cli/dirsql.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"dirsql.js","sourceRoot":"","sources":["../../src/bin/dirsql.ts"],"names":[],"mappings":";AACA,uEAAuE;AACvE,6EAA6E;AAC7E,qEAAqE;AACrE,qEAAqE;AACrE,EAAE;AACF,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AACpE,kEAAkE;AAClE,2DAA2D;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"dirsql.js","sourceRoot":"","sources":["../../src/cli/dirsql.ts"],"names":[],"mappings":";AACA,uEAAuE;AACvE,6EAA6E;AAC7E,qEAAqE;AACrE,qEAAqE;AACrE,EAAE;AACF,oEAAoE;AACpE,oEAAoE;AACpE,oEAAoE;AACpE,kEAAkE;AAClE,2DAA2D;AAE3D,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,IAAI,EAAE,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAOA,wBAAgB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,KAAK,CAUlE"}
@@ -6,10 +6,12 @@ import { resolveBinary } from "./resolveBinary.js";
6
6
  export function main(argv = process.argv.slice(2)) {
7
7
  const binary = resolveBinary();
8
8
  const result = spawnSync(binary, argv, { stdio: "inherit" });
9
- if (result.error)
9
+ if (result.error) {
10
10
  die(result.error.message, 1);
11
- if (result.signal)
11
+ }
12
+ if (result.signal) {
12
13
  process.kill(process.pid, result.signal);
14
+ }
13
15
  process.exit(result.status ?? 1);
14
16
  }
15
17
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/bin/main.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,0BAA0B;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,UAAU,IAAI,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,KAAK;QAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/C,IAAI,MAAM,CAAC,MAAM;QAAE,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5D,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/cli/main.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,0BAA0B;AAE1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,UAAU,IAAI,CAAC,OAAiB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACzD,MAAM,MAAM,GAAG,aAAa,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;IAC7D,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=main.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.test.d.ts","sourceRoot":"","sources":["../../src/cli/main.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,83 @@
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 { main } from "./main.js";
6
+ import { resolveBinary } from "./resolveBinary.js";
7
+ vi.mock("./resolveBinary.js");
8
+ vi.mock("./die.js");
9
+ vi.mock("node:child_process");
10
+ const TEST_PID = 42;
11
+ function fakeResult(overrides) {
12
+ return {
13
+ pid: TEST_PID,
14
+ stdout: Buffer.from(""),
15
+ stderr: Buffer.from(""),
16
+ output: [],
17
+ status: 0,
18
+ signal: null,
19
+ ...overrides,
20
+ };
21
+ }
22
+ describe("main", () => {
23
+ let exit;
24
+ let kill;
25
+ beforeEach(() => {
26
+ vi.mocked(resolveBinary).mockReturnValue("/bin/dirsql");
27
+ vi.mocked(die).mockImplementation(((msg) => {
28
+ throw new Error(`DIE: ${msg}`);
29
+ }));
30
+ exit = vi.fn().mockImplementation((code) => {
31
+ throw new Error(`EXIT_${code}`);
32
+ });
33
+ kill = vi.fn();
34
+ vi.stubGlobal("process", {
35
+ ...process,
36
+ exit,
37
+ kill,
38
+ pid: TEST_PID,
39
+ });
40
+ });
41
+ afterEach(() => {
42
+ vi.unstubAllGlobals();
43
+ vi.resetAllMocks();
44
+ });
45
+ it("spawns the resolved binary with the argv and exits with the spawn status", () => {
46
+ vi.mocked(spawnSync).mockReturnValue(fakeResult({ status: 0 }));
47
+ expect(() => main(["--version"])).toThrow("EXIT_0");
48
+ expect(spawnSync).toHaveBeenCalledWith("/bin/dirsql", ["--version"], {
49
+ stdio: "inherit",
50
+ });
51
+ expect(exit).toHaveBeenCalledWith(0);
52
+ });
53
+ it("falls back to exit code 1 when spawn returns a null status", () => {
54
+ vi.mocked(spawnSync).mockReturnValue(fakeResult({ status: null }));
55
+ expect(() => main([])).toThrow("EXIT_1");
56
+ expect(exit).toHaveBeenCalledWith(1);
57
+ });
58
+ it("calls die with the spawn error message when spawn reports an error", () => {
59
+ vi.mocked(spawnSync).mockReturnValue(fakeResult({ status: null, error: new Error("spawn ENOENT") }));
60
+ expect(() => main([])).toThrow("DIE: spawn ENOENT");
61
+ expect(die).toHaveBeenCalledWith("spawn ENOENT", 1);
62
+ });
63
+ it("re-raises the spawned process's signal against the current pid before exiting", () => {
64
+ vi.mocked(spawnSync).mockReturnValue(fakeResult({ status: 0, signal: "SIGINT" }));
65
+ expect(() => main([])).toThrow("EXIT_0");
66
+ expect(kill).toHaveBeenCalledWith(TEST_PID, "SIGINT");
67
+ });
68
+ it("defaults argv to process.argv.slice(2) when called with no args", () => {
69
+ vi.mocked(spawnSync).mockReturnValue(fakeResult({ status: 0 }));
70
+ vi.stubGlobal("process", {
71
+ ...process,
72
+ argv: ["node", "dirsql", "--help"],
73
+ exit,
74
+ kill,
75
+ pid: TEST_PID,
76
+ });
77
+ expect(() => main()).toThrow("EXIT_0");
78
+ expect(spawnSync).toHaveBeenCalledWith("/bin/dirsql", ["--help"], {
79
+ stdio: "inherit",
80
+ });
81
+ });
82
+ });
83
+ //# sourceMappingURL=main.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.test.js","sourceRoot":"","sources":["../../src/cli/main.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformKey.d.ts","sourceRoot":"","sources":["../../src/cli/platformKey.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,IAAI,MAAM,CAEpC"}
@@ -1 +1 @@
1
- {"version":3,"file":"platformKey.js","sourceRoot":"","sources":["../../src/bin/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
+ {"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platformKey.test.d.ts","sourceRoot":"","sources":["../../src/cli/platformKey.test.ts"],"names":[],"mappings":""}
@@ -1 +1 @@
1
- {"version":3,"file":"platformKey.test.js","sourceRoot":"","sources":["../../src/bin/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
+ {"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 +1 @@
1
- {"version":3,"file":"resolveBinary.d.ts","sourceRoot":"","sources":["../../src/bin/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
+ {"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 +1 @@
1
- {"version":3,"file":"resolveBinary.js","sourceRoot":"","sources":["../../src/bin/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
+ {"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=resolveBinary.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveBinary.test.d.ts","sourceRoot":"","sources":["../../src/cli/resolveBinary.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,54 @@
1
+ // Unit tests for `resolveBinary` and `defaultResolver`.
2
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
3
+ import { die } from "./die.js";
4
+ import { defaultResolver, resolveBinary } from "./resolveBinary.js";
5
+ vi.mock("./die.js");
6
+ describe("resolveBinary", () => {
7
+ beforeEach(() => {
8
+ vi.mocked(die).mockImplementation(((msg) => {
9
+ throw new Error(`DIE: ${msg}`);
10
+ }));
11
+ });
12
+ afterEach(() => {
13
+ vi.unstubAllGlobals();
14
+ vi.resetAllMocks();
15
+ });
16
+ describe("when the host triple is unknown", () => {
17
+ it("calls die with a 'no prebuilt binary' message", () => {
18
+ expect(() => resolveBinary("unknown-triple", () => "ignored")).toThrow(/^DIE: no prebuilt binary for unknown-triple\./);
19
+ });
20
+ });
21
+ describe("when the host triple is known", () => {
22
+ beforeEach(() => {
23
+ vi.stubGlobal("process", {
24
+ ...process,
25
+ platform: "linux",
26
+ arch: "x64",
27
+ });
28
+ });
29
+ it("resolves the binary via the injected resolver", () => {
30
+ const resolver = vi.fn().mockReturnValue("/abs/path/to/dirsql");
31
+ const result = resolveBinary(undefined, resolver);
32
+ expect(result).toBe("/abs/path/to/dirsql");
33
+ expect(resolver).toHaveBeenCalledWith("@dirsql/cli-linux-x64-gnu/dirsql");
34
+ });
35
+ it("uses `dirsql.exe` on win32", () => {
36
+ vi.stubGlobal("process", { ...process, platform: "win32", arch: "x64" });
37
+ const resolver = vi.fn().mockReturnValue("C:/dirsql.exe");
38
+ resolveBinary(undefined, resolver);
39
+ expect(resolver).toHaveBeenCalledWith("@dirsql/cli-win32-x64-msvc/dirsql.exe");
40
+ });
41
+ it("calls die with a 'not installed' message when the resolver throws", () => {
42
+ const resolver = () => {
43
+ throw new Error("MODULE_NOT_FOUND");
44
+ };
45
+ expect(() => resolveBinary(undefined, resolver)).toThrow(/^DIE: @dirsql\/cli-linux-x64-gnu is not installed\./);
46
+ });
47
+ });
48
+ });
49
+ describe("defaultResolver", () => {
50
+ it("returns a require.resolve-shaped function", () => {
51
+ expect(typeof defaultResolver()).toBe("function");
52
+ });
53
+ });
54
+ //# sourceMappingURL=resolveBinary.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolveBinary.test.js","sourceRoot":"","sources":["../../src/cli/resolveBinary.test.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,9 @@ describe("loadNativeCore", () => {
5
5
  it("loads via the `@dirsql/lib-<slug>` require and never hits the dev fallback", () => {
6
6
  const fakeCore = { DirSQL: vi.fn() };
7
7
  const requirer = vi.fn((spec) => {
8
- if (spec === "@dirsql/lib-linux-x64-gnu")
8
+ if (spec === "@dirsql/lib-linux-x64-gnu") {
9
9
  return fakeCore;
10
+ }
10
11
  throw new Error(`unexpected require(${spec})`);
11
12
  });
12
13
  const core = loadNativeCore("linux-x64", requirer, () => "/fake");
@@ -21,8 +22,9 @@ describe("loadNativeCore", () => {
21
22
  if (spec === "@dirsql/lib-darwin-arm64") {
22
23
  throw new Error("Cannot find module '@dirsql/lib-darwin-arm64'");
23
24
  }
24
- if (spec.endsWith("dirsql.node"))
25
+ if (spec.endsWith("dirsql.node")) {
25
26
  return fakeCore;
27
+ }
26
28
  throw new Error(`unexpected require(${spec})`);
27
29
  });
28
30
  const core = loadNativeCore("darwin-arm64", requirer, () => "/pkg/ts");
@@ -35,8 +37,9 @@ describe("loadNativeCore", () => {
35
37
  it("goes straight to the dev fallback without attempting a sub-package load", () => {
36
38
  const fakeCore = { DirSQL: vi.fn() };
37
39
  const requirer = vi.fn((spec) => {
38
- if (spec.endsWith("dirsql.node"))
40
+ if (spec.endsWith("dirsql.node")) {
39
41
  return fakeCore;
42
+ }
40
43
  throw new Error(`unexpected require(${spec})`);
41
44
  });
42
45
  const core = loadNativeCore("freebsd-x64", requirer, () => "/pkg/ts");
@@ -1 +1 @@
1
- {"version":3,"file":"loadNativeCore.test.js","sourceRoot":"","sources":["../src/loadNativeCore.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;QAC1D,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;YACpF,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;gBACtC,IAAI,IAAI,KAAK,2BAA2B;oBAAE,OAAO,QAAQ,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,GAAG,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,cAAc,CACzB,WAAW,EACX,QAA6C,EAC7C,GAAG,EAAE,CAAC,OAAO,CACd,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAC9C,2BAA2B,CAC5B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACxD,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;gBACtC,IAAI,IAAI,KAAK,0BAA0B,EAAE,CAAC;oBACxC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBACnE,CAAC;gBACD,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAAE,OAAO,QAAQ,CAAC;gBAClD,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,GAAG,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,cAAc,CACzB,cAAc,EACd,QAA6C,EAC7C,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,CAAC,QAAQ,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,CAAC,QAAQ,CAAC,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iDAAiD,EAAE,GAAG,EAAE;QAC/D,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;YACjF,MAAM,QAAQ,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;YACrC,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAY,EAAE,EAAE;gBACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC;oBAAE,OAAO,QAAQ,CAAC;gBAClD,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,GAAG,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,GAAG,cAAc,CACzB,aAAa,EACb,QAA6C,EAC7C,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,CAAC,QAAQ,CAAC,CAAC,+BAA+B,CAAC,kBAAkB,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"loadNativeCore.test.js","sourceRoot":"","sources":["../src/loadNativeCore.test.ts"],"names":[],"mappings":"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"}
package/dist/platforms.js CHANGED
@@ -3,7 +3,7 @@
3
3
  // Every target triple generates two npm sub-packages:
4
4
  //
5
5
  // 1. `@dirsql/cli-<slug>` — holds the standalone `dirsql` CLI binary
6
- // (from cargo-dist). Consumed at runtime by `src/bin/resolveBinary.ts`
6
+ // (from cargo-dist). Consumed at runtime by `src/cli/resolveBinary.ts`
7
7
  // when a user runs the `dirsql` CLI.
8
8
  // 2. `@dirsql/lib-<slug>` — holds the napi-rs `.node` addon used by the
9
9
  // TypeScript SDK. Consumed at runtime by `loadNativeCore()` in
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dirsql",
3
- "version": "0.3.16",
3
+ "version": "0.3.18",
4
4
  "description": "Ephemeral SQL index over a local directory",
5
5
  "license": "MIT",
6
6
  "repository": "https://github.com/thekevinscott/dirsql",
@@ -14,7 +14,7 @@
14
14
  }
15
15
  },
16
16
  "bin": {
17
- "dirsql": "dist/bin/dirsql.js"
17
+ "dirsql": "dist/cli/dirsql.js"
18
18
  },
19
19
  "files": [
20
20
  "dist/",
@@ -193,15 +193,15 @@
193
193
  "smol-toml": "^1.6.1"
194
194
  },
195
195
  "optionalDependencies": {
196
- "@dirsql/lib-linux-x64-gnu": "0.3.16",
197
- "@dirsql/lib-linux-arm64-gnu": "0.3.16",
198
- "@dirsql/lib-darwin-x64": "0.3.16",
199
- "@dirsql/lib-darwin-arm64": "0.3.16",
200
- "@dirsql/lib-win32-x64-msvc": "0.3.16",
201
- "@dirsql/cli-linux-x64-gnu": "0.3.16",
202
- "@dirsql/cli-linux-arm64-gnu": "0.3.16",
203
- "@dirsql/cli-darwin-x64": "0.3.16",
204
- "@dirsql/cli-darwin-arm64": "0.3.16",
205
- "@dirsql/cli-win32-x64-msvc": "0.3.16"
196
+ "@dirsql/lib-linux-x64-gnu": "0.3.18",
197
+ "@dirsql/lib-linux-arm64-gnu": "0.3.18",
198
+ "@dirsql/lib-darwin-x64": "0.3.18",
199
+ "@dirsql/lib-darwin-arm64": "0.3.18",
200
+ "@dirsql/lib-win32-x64-msvc": "0.3.18",
201
+ "@dirsql/cli-linux-x64-gnu": "0.3.18",
202
+ "@dirsql/cli-linux-arm64-gnu": "0.3.18",
203
+ "@dirsql/cli-darwin-x64": "0.3.18",
204
+ "@dirsql/cli-darwin-arm64": "0.3.18",
205
+ "@dirsql/cli-win32-x64-msvc": "0.3.18"
206
206
  }
207
207
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"die.d.ts","sourceRoot":"","sources":["../../src/bin/die.ts"],"names":[],"mappings":"AAGA,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,SAAI,GAAG,KAAK,CAGhD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../../src/bin/main.ts"],"names":[],"mappings":"AAOA,wBAAgB,IAAI,CAAC,IAAI,GAAE,MAAM,EAA0B,GAAG,KAAK,CAMlE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"platformKey.d.ts","sourceRoot":"","sources":["../../src/bin/platformKey.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,IAAI,MAAM,CAEpC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"platformKey.test.d.ts","sourceRoot":"","sources":["../../src/bin/platformKey.test.ts"],"names":[],"mappings":""}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes