@simplysm/sd-cli 14.1.10 → 14.1.12

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 (67) hide show
  1. package/dist/capacitor/capacitor-icon.js +2 -2
  2. package/dist/capacitor/capacitor-icon.js.map +1 -1
  3. package/dist/capacitor/capacitor-npm-config.d.ts +1 -1
  4. package/dist/capacitor/capacitor-npm-config.d.ts.map +1 -1
  5. package/dist/capacitor/capacitor-npm-config.js +11 -6
  6. package/dist/capacitor/capacitor-npm-config.js.map +1 -1
  7. package/dist/capacitor/capacitor.d.ts +1 -1
  8. package/dist/capacitor/capacitor.js +2 -2
  9. package/dist/capacitor/capacitor.js.map +1 -1
  10. package/dist/commands/device.js +2 -2
  11. package/dist/commands/device.js.map +1 -1
  12. package/dist/commands/init/generators/root.d.ts.map +1 -1
  13. package/dist/commands/init/generators/root.js +1 -0
  14. package/dist/commands/init/generators/root.js.map +1 -1
  15. package/dist/commands/init/init-client.js +1 -1
  16. package/dist/commands/init/init-client.js.map +1 -1
  17. package/dist/commands/init/init.js +2 -2
  18. package/dist/commands/init/init.js.map +1 -1
  19. package/dist/commands/publish/npm-publisher.js +3 -3
  20. package/dist/commands/publish/npm-publisher.js.map +1 -1
  21. package/dist/commands/publish/publish-command.js +1 -1
  22. package/dist/commands/publish/publish-command.js.map +1 -1
  23. package/dist/deps/replace-deps/collect-deps.js +1 -1
  24. package/dist/deps/replace-deps/replace-deps-resolve.d.ts +2 -2
  25. package/dist/deps/replace-deps/replace-deps-resolve.js +2 -2
  26. package/dist/deps/replace-deps/replace-deps.d.ts +2 -2
  27. package/dist/deps/replace-deps/replace-deps.js +2 -2
  28. package/dist/deps/server-externals/server-production-files.d.ts +3 -3
  29. package/dist/deps/server-externals/server-production-files.d.ts.map +1 -1
  30. package/dist/deps/server-externals/server-production-files.js +17 -24
  31. package/dist/deps/server-externals/server-production-files.js.map +1 -1
  32. package/dist/electron/electron.d.ts.map +1 -1
  33. package/dist/electron/electron.js +11 -6
  34. package/dist/electron/electron.js.map +1 -1
  35. package/dist/utils/package-utils.d.ts +1 -1
  36. package/dist/utils/package-utils.js +1 -1
  37. package/dist/utils/workspace-utils.d.ts +2 -2
  38. package/dist/utils/workspace-utils.d.ts.map +1 -1
  39. package/dist/utils/workspace-utils.js +7 -6
  40. package/dist/utils/workspace-utils.js.map +1 -1
  41. package/package.json +9 -9
  42. package/src/capacitor/capacitor-icon.ts +2 -2
  43. package/src/capacitor/capacitor-npm-config.ts +12 -6
  44. package/src/capacitor/capacitor.ts +2 -2
  45. package/src/commands/device.ts +2 -2
  46. package/src/commands/init/generators/root.ts +1 -0
  47. package/src/commands/init/init-client.ts +1 -1
  48. package/src/commands/init/init.ts +2 -2
  49. package/src/commands/init/templates/workspace-root/mise.toml.hbs +1 -1
  50. package/src/commands/init/templates/workspace-root/package.json.hbs +0 -1
  51. package/src/commands/init/templates/workspace-root/pnpm-workspace.yaml +3 -0
  52. package/src/commands/publish/npm-publisher.ts +3 -3
  53. package/src/commands/publish/publish-command.ts +1 -1
  54. package/src/deps/replace-deps/collect-deps.ts +1 -1
  55. package/src/deps/replace-deps/replace-deps-resolve.ts +2 -2
  56. package/src/deps/replace-deps/replace-deps.ts +2 -2
  57. package/src/deps/server-externals/server-production-files.ts +18 -31
  58. package/src/electron/electron.ts +13 -7
  59. package/src/utils/package-utils.ts +1 -1
  60. package/src/utils/workspace-utils.ts +7 -10
  61. package/tests/capacitor/capacitor-npm-config.acc.spec.ts +114 -114
  62. package/tests/deps/server-externals/server-production-files.spec.ts +26 -28
  63. package/tests/electron/electron.spec.ts +13 -13
  64. package/tests/utils/workspace-utils.spec.ts +6 -9
  65. package/tests/ts-compiler/fixtures/non-angular-pkg/.cache/typecheck-browser.tsbuildinfo +0 -1
  66. package/tests/ts-compiler/fixtures/non-angular-pkg/.cache/typecheck-node.tsbuildinfo +0 -1
  67. package/tests/ts-compiler/fixtures/non-angular-pkg/.cache/typecheck.tsbuildinfo +0 -1
@@ -68,14 +68,20 @@ export class Electron {
68
68
  await this._setupNpmConf();
69
69
  Electron._logger.debug("package.json 설정 완료");
70
70
 
71
- Electron._logger.debug("bun install 시작");
72
- await this._exec("bun", ["install"], this._srcPath);
73
- Electron._logger.debug("bun install 완료");
71
+ // pnpm-workspace.yaml 생성 (상위 workspace 탐색 차단)
72
+ const workspaceYamlPath = pathx.posixResolve(this._srcPath, "pnpm-workspace.yaml");
73
+ if (!(await fsx.exists(workspaceYamlPath))) {
74
+ await fsx.write(workspaceYamlPath, "");
75
+ }
76
+
77
+ Electron._logger.debug("pnpm install 시작");
78
+ await this._exec("pnpm", ["install", "--config.dangerously-allow-all-builds=true"], this._srcPath);
79
+ Electron._logger.debug("pnpm install 완료");
74
80
 
75
81
  const reinstallDeps = this._config.reinstallDependencies ?? [];
76
82
  if (reinstallDeps.length > 0) {
77
83
  Electron._logger.debug(`electron-rebuild 시작 (${reinstallDeps.join(", ")})`);
78
- await this._exec("bun", ["run", "electron-rebuild"], this._srcPath);
84
+ await this._exec("pnpm", ["exec", "electron-rebuild"], this._srcPath);
79
85
  Electron._logger.debug("electron-rebuild 완료");
80
86
  }
81
87
  Electron._logger.success("initialize 완료");
@@ -96,7 +102,7 @@ export class Electron {
96
102
 
97
103
  const spawnElectron = () => {
98
104
  Electron._logger.debug("Electron 프로세스 시작");
99
- currentElectron = shellSpawn("bun", ["run", "electron", "."], {
105
+ currentElectron = shellSpawn("pnpm", ["exec", "electron", "."], {
100
106
  cwd: this._srcPath,
101
107
  stdio: "inherit",
102
108
  reject: false,
@@ -379,8 +385,8 @@ export class Electron {
379
385
 
380
386
  Electron._logger.debug(`electron-builder 설정: ${configFilePath}`);
381
387
  await this._exec(
382
- "bun",
383
- ["run", "electron-builder", "--win", "--config", configFilePath],
388
+ "pnpm",
389
+ ["exec", "electron-builder", "--win", "--config", configFilePath],
384
390
  this._srcPath,
385
391
  );
386
392
  }
@@ -20,7 +20,7 @@ export function findPackageRoot(startDir: string): string {
20
20
  }
21
21
 
22
22
  /**
23
- * package.json#workspaces의 모든 워크스페이스 패키지를 탐색한다.
23
+ * pnpm-workspace.yaml의 모든 워크스페이스 패키지를 탐색한다.
24
24
  * 디렉토리명 → 상대 경로의 맵을 반환한다 (예: "orm" → "tests/orm", "sd" → "plugins/sd").
25
25
  * packages/·tests/·plugins/ 등 종류를 가리지 않고 포함하며, 배포/검사 대상 구분은 소비자가 relPath로 판단한다.
26
26
  */
@@ -1,6 +1,7 @@
1
1
  import fs from "fs";
2
2
  import path from "path";
3
3
  import { globSync } from "glob";
4
+ import YAML from "yaml";
4
5
  import { pathx } from "@simplysm/core-node";
5
6
 
6
7
  export interface WorkspacePackageDir {
@@ -10,16 +11,12 @@ export interface WorkspacePackageDir {
10
11
  absPath: string;
11
12
  }
12
13
 
13
- interface WorkspaceRootPackageJson {
14
- workspaces?: unknown;
15
- }
16
-
17
14
  interface WorkspacePackageJson {
18
15
  name?: unknown;
19
16
  }
20
17
 
21
18
  /**
22
- * root package.json의 workspaces 값을 Bun workspace 패턴 배열로 정규화한다.
19
+ * 워크스페이스 정의 값(배열 또는 { packages: [...] })을 패턴 배열로 정규화한다.
23
20
  */
24
21
  export function parsePackageJsonWorkspaces(workspaces: unknown): string[] {
25
22
  const rawPatterns = Array.isArray(workspaces)
@@ -35,11 +32,11 @@ export function parsePackageJsonWorkspaces(workspaces: unknown): string[] {
35
32
  }
36
33
 
37
34
  export function readWorkspacePatterns(workspaceRoot: string): string[] {
38
- const packageJsonPath = path.join(workspaceRoot, "package.json");
39
- if (!fs.existsSync(packageJsonPath)) return [];
35
+ const workspaceYamlPath = path.join(workspaceRoot, "pnpm-workspace.yaml");
36
+ if (!fs.existsSync(workspaceYamlPath)) return [];
40
37
 
41
- const pkgJson = JSON.parse(fs.readFileSync(packageJsonPath, "utf-8")) as WorkspaceRootPackageJson;
42
- return parsePackageJsonWorkspaces(pkgJson.workspaces);
38
+ const parsed = YAML.parse(fs.readFileSync(workspaceYamlPath, "utf-8")) as unknown;
39
+ return parsePackageJsonWorkspaces(parsed);
43
40
  }
44
41
 
45
42
  export function findWorkspaceRoot(startDir: string): string | undefined {
@@ -76,7 +73,7 @@ function splitWorkspacePatterns(patterns: string[]): { include: string[]; exclud
76
73
  }
77
74
 
78
75
  /**
79
- * Bun workspace root의 package.json#workspaces 기준으로 실제 패키지 디렉터리를 수집한다.
76
+ * 워크스페이스 root의 pnpm-workspace.yaml(packages) 기준으로 실제 패키지 디렉터리를 수집한다.
80
77
  */
81
78
  export function collectWorkspacePackages(workspaceRoot: string): WorkspacePackageDir[] {
82
79
  const root = pathx.posix(path.resolve(workspaceRoot));
@@ -1,114 +1,114 @@
1
- import { describe, it, expect, vi, beforeAll, afterAll, beforeEach } from "vitest";
2
- import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
3
- import { tmpdir } from "node:os";
4
- import path from "node:path";
5
- import { fsx, cpx } from "@simplysm/core-node";
6
-
7
- const mockFsxExists = vi.spyOn(fsx, "exists");
8
- vi.spyOn(fsx, "read");
9
- vi.spyOn(fsx, "write").mockResolvedValue(undefined);
10
- const mockFsxReadJson = vi.spyOn(fsx, "readJson");
11
- vi.spyOn(fsx, "writeJson").mockResolvedValue(undefined);
12
- vi.spyOn(fsx, "mkdir").mockResolvedValue(undefined);
13
-
14
- const execaCalls: { command: string; args: string[]; options: unknown }[] = [];
15
- vi.spyOn(cpx, "spawn").mockImplementation(((cmd: string, args: string[], options: unknown) => {
16
- execaCalls.push({
17
- command: cmd,
18
- args,
19
- options,
20
- });
21
- return { stdout: "", stderr: "", exitCode: 0 };
22
- }) as never);
23
-
24
- //#endregion
25
-
26
- let tmpRoot: string;
27
- let CAP_PATH: string;
28
- let PKG_PATH: string;
29
-
30
- beforeAll(() => {
31
- tmpRoot = mkdtempSync(path.join(tmpdir(), "cap-npm-config-acc-"));
32
- writeFileSync(path.join(tmpRoot, "package.json"), JSON.stringify({ private: true, workspaces: ["pkg"] }));
33
- PKG_PATH = path.join(tmpRoot, "pkg");
34
- CAP_PATH = path.join(PKG_PATH, ".capacitor");
35
- });
36
-
37
- afterAll(() => {
38
- rmSync(tmpRoot, { recursive: true, force: true });
39
- });
40
-
41
- function setupDefaultMocks() {
42
- mockFsxExists.mockImplementation(((p: string) => {
43
- const n = p.replace(/\\/g, "/");
44
- if (n.includes(".capacitor.lock")) return false;
45
- return true;
46
- }) as never);
47
-
48
- mockFsxReadJson.mockImplementation(((p: string) => {
49
- const normalized = p.replace(/\\/g, "/");
50
- if (normalized.includes(".capacitor/package.json")) {
51
- return {
52
- name: "com.test.app",
53
- version: "1.0.0",
54
- dependencies: {
55
- "@capacitor/core": "^7",
56
- "@capacitor/app": "^7",
57
- "@capacitor/android": "^7",
58
- },
59
- devDependencies: {
60
- "@capacitor/cli": "^7",
61
- "@capacitor/assets": "^3",
62
- },
63
- };
64
- }
65
- return { name: "test-pkg", version: "1.0.0" };
66
- }) as never);
67
-
68
- execaCalls.length = 0;
69
- }
70
-
71
- describe("initCapNpmProject", () => {
72
- beforeEach(() => {
73
- vi.clearAllMocks();
74
- setupDefaultMocks();
75
- });
76
-
77
- it("의존성 미변경 + node_modules 존재 시 false를 반환하고 bun install을 실행하지 않는다", async () => {
78
- const { initCapNpmProject } = await import(
79
- "../../src/capacitor/capacitor-npm-config.js"
80
- );
81
-
82
- const changed = await initCapNpmProject(CAP_PATH, PKG_PATH, {
83
- appId: "com.test.app",
84
- appName: "Test App",
85
- platform: { android: {} },
86
- }, { name: "test-pkg", version: "1.0.0" }, ["android"], []);
87
-
88
- expect(changed).toBe(false);
89
- });
90
-
91
- it("node_modules가 없으면 true를 반환하고 bun install을 실행한다", async () => {
92
- mockFsxExists.mockImplementation(((p: string) => {
93
- const n = p.replace(/\\/g, "/");
94
- if (n.includes(".capacitor.lock")) return false;
95
- if (n.includes("node_modules")) return false;
96
- return true;
97
- }) as never);
98
-
99
- const { initCapNpmProject } = await import(
100
- "../../src/capacitor/capacitor-npm-config.js"
101
- );
102
-
103
- const changed = await initCapNpmProject(CAP_PATH, PKG_PATH, {
104
- appId: "com.test.app",
105
- appName: "Test App",
106
- platform: { android: {} },
107
- }, {
108
- name: "test-pkg",
109
- version: "1.0.0",
110
- }, ["android"], []);
111
-
112
- expect(changed).toBe(true);
113
- });
114
- });
1
+ import { describe, it, expect, vi, beforeAll, afterAll, beforeEach } from "vitest";
2
+ import { mkdtempSync, rmSync, writeFileSync } from "node:fs";
3
+ import { tmpdir } from "node:os";
4
+ import path from "node:path";
5
+ import { fsx, cpx } from "@simplysm/core-node";
6
+
7
+ const mockFsxExists = vi.spyOn(fsx, "exists");
8
+ vi.spyOn(fsx, "read");
9
+ vi.spyOn(fsx, "write").mockResolvedValue(undefined);
10
+ const mockFsxReadJson = vi.spyOn(fsx, "readJson");
11
+ vi.spyOn(fsx, "writeJson").mockResolvedValue(undefined);
12
+ vi.spyOn(fsx, "mkdir").mockResolvedValue(undefined);
13
+
14
+ const execaCalls: { command: string; args: string[]; options: unknown }[] = [];
15
+ vi.spyOn(cpx, "spawn").mockImplementation(((cmd: string, args: string[], options: unknown) => {
16
+ execaCalls.push({
17
+ command: cmd,
18
+ args,
19
+ options,
20
+ });
21
+ return { stdout: "", stderr: "", exitCode: 0 };
22
+ }) as never);
23
+
24
+ //#endregion
25
+
26
+ let tmpRoot: string;
27
+ let CAP_PATH: string;
28
+ let PKG_PATH: string;
29
+
30
+ beforeAll(() => {
31
+ tmpRoot = mkdtempSync(path.join(tmpdir(), "cap-npm-config-acc-"));
32
+ writeFileSync(path.join(tmpRoot, "pnpm-workspace.yaml"), "packages:\n - pkg\n");
33
+ PKG_PATH = path.join(tmpRoot, "pkg");
34
+ CAP_PATH = path.join(PKG_PATH, ".capacitor");
35
+ });
36
+
37
+ afterAll(() => {
38
+ rmSync(tmpRoot, { recursive: true, force: true });
39
+ });
40
+
41
+ function setupDefaultMocks() {
42
+ mockFsxExists.mockImplementation(((p: string) => {
43
+ const n = p.replace(/\\/g, "/");
44
+ if (n.includes(".capacitor.lock")) return false;
45
+ return true;
46
+ }) as never);
47
+
48
+ mockFsxReadJson.mockImplementation(((p: string) => {
49
+ const normalized = p.replace(/\\/g, "/");
50
+ if (normalized.includes(".capacitor/package.json")) {
51
+ return {
52
+ name: "com.test.app",
53
+ version: "1.0.0",
54
+ dependencies: {
55
+ "@capacitor/core": "^7",
56
+ "@capacitor/app": "^7",
57
+ "@capacitor/android": "^7",
58
+ },
59
+ devDependencies: {
60
+ "@capacitor/cli": "^7",
61
+ "@capacitor/assets": "^3",
62
+ },
63
+ };
64
+ }
65
+ return { name: "test-pkg", version: "1.0.0" };
66
+ }) as never);
67
+
68
+ execaCalls.length = 0;
69
+ }
70
+
71
+ describe("initCapNpmProject", () => {
72
+ beforeEach(() => {
73
+ vi.clearAllMocks();
74
+ setupDefaultMocks();
75
+ });
76
+
77
+ it("의존성 미변경 + node_modules 존재 시 false를 반환하고 pnpm install을 실행하지 않는다", async () => {
78
+ const { initCapNpmProject } = await import(
79
+ "../../src/capacitor/capacitor-npm-config.js"
80
+ );
81
+
82
+ const changed = await initCapNpmProject(CAP_PATH, PKG_PATH, {
83
+ appId: "com.test.app",
84
+ appName: "Test App",
85
+ platform: { android: {} },
86
+ }, { name: "test-pkg", version: "1.0.0" }, ["android"], []);
87
+
88
+ expect(changed).toBe(false);
89
+ });
90
+
91
+ it("node_modules가 없으면 true를 반환하고 pnpm install을 실행한다", async () => {
92
+ mockFsxExists.mockImplementation(((p: string) => {
93
+ const n = p.replace(/\\/g, "/");
94
+ if (n.includes(".capacitor.lock")) return false;
95
+ if (n.includes("node_modules")) return false;
96
+ return true;
97
+ }) as never);
98
+
99
+ const { initCapNpmProject } = await import(
100
+ "../../src/capacitor/capacitor-npm-config.js"
101
+ );
102
+
103
+ const changed = await initCapNpmProject(CAP_PATH, PKG_PATH, {
104
+ appId: "com.test.app",
105
+ appName: "Test App",
106
+ platform: { android: {} },
107
+ }, {
108
+ name: "test-pkg",
109
+ version: "1.0.0",
110
+ }, ["android"], []);
111
+
112
+ expect(changed).toBe(true);
113
+ });
114
+ });
@@ -10,9 +10,9 @@ import {
10
10
  const tmpDirs: string[] = [];
11
11
 
12
12
  function createLock(content: string): string {
13
- const dir = fs.mkdtempSync(path.join(os.tmpdir(), "sd-bun-lock-"));
13
+ const dir = fs.mkdtempSync(path.join(os.tmpdir(), "sd-pnpm-lock-"));
14
14
  tmpDirs.push(dir);
15
- fs.writeFileSync(path.join(dir, "bun.lock"), content);
15
+ fs.writeFileSync(path.join(dir, "pnpm-lock.yaml"), content);
16
16
  return dir;
17
17
  }
18
18
 
@@ -23,46 +23,44 @@ afterEach(() => {
23
23
  });
24
24
 
25
25
  describe("parseLockfileVersions", () => {
26
- it("reads unscoped, scoped, alias, and optional entries from bun.lock", () => {
27
- const cwd = createLock(`{
28
- "lockfileVersion": 1,
29
- "packages": {
30
- "is-number": ["is-number@7.0.0", "", {}, "sha512-a"],
31
- "@types/node": ["@types/node@24.13.2", "", {}, "sha512-b"],
32
- "alias-pkg": ["is-number@6.0.0", "", {}, "sha512-c"],
33
- "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-d"],
34
- }
35
- }`);
26
+ it("reads unscoped and scoped entries from pnpm-lock.yaml", () => {
27
+ const cwd = createLock(`lockfileVersion: '9.0'
28
+ packages:
29
+ is-number@7.0.0:
30
+ resolution: {integrity: sha512-a}
31
+ '@types/node@24.13.2':
32
+ resolution: {integrity: sha512-b}
33
+ fsevents@2.3.3:
34
+ resolution: {integrity: sha512-d}
35
+ os: [darwin]
36
+ `);
36
37
 
37
38
  const map = parseLockfileVersions(cwd);
38
39
 
39
40
  expect(map.get("is-number")).toBe("7.0.0");
40
41
  expect(map.get("@types/node")).toBe("24.13.2");
41
- expect(map.get("alias-pkg")).toBe("6.0.0");
42
42
  expect(map.get("fsevents")).toBe("2.3.3");
43
43
  });
44
44
 
45
- it("strips peer suffix from package references", () => {
46
- const cwd = createLock(`{
47
- "lockfileVersion": 1,
48
- "packages": {
49
- "react-dom": ["react-dom@19.2.7(react@19.2.7)", "", {}, "sha512-a"],
50
- }
51
- }`);
45
+ it("strips peer suffix from package keys", () => {
46
+ const cwd = createLock(`lockfileVersion: '9.0'
47
+ packages:
48
+ 'react-dom@19.2.7(react@19.2.7)':
49
+ resolution: {integrity: sha512-a}
50
+ `);
52
51
 
53
52
  expect(parseLockfileVersions(cwd).get("react-dom")).toBe("19.2.7");
54
53
  });
55
54
  });
56
55
 
57
56
  describe("resolveLockedVersions", () => {
58
- it("throws when an external dependency is missing from bun.lock", () => {
59
- const cwd = createLock(`{
60
- "lockfileVersion": 1,
61
- "packages": {
62
- "is-number": ["is-number@7.0.0", "", {}, "sha512-a"],
63
- }
64
- }`);
57
+ it("throws when an external dependency is missing from pnpm-lock.yaml", () => {
58
+ const cwd = createLock(`lockfileVersion: '9.0'
59
+ packages:
60
+ is-number@7.0.0:
61
+ resolution: {integrity: sha512-a}
62
+ `);
65
63
 
66
- expect(() => resolveLockedVersions(cwd, ["missing"])).toThrow("bun.lock");
64
+ expect(() => resolveLockedVersions(cwd, ["missing"])).toThrow("pnpm-lock.yaml");
67
65
  });
68
66
  });
@@ -145,7 +145,7 @@ describe("Electron", () => {
145
145
  //#region Rule: Electron 프로젝트를 초기화한다
146
146
 
147
147
  describe("인수 테스트: 초기화", () => {
148
- it("package.json 생성 + bun install + electron-rebuild를 실행한다", async () => {
148
+ it("package.json 생성 + pnpm install + electron-rebuild를 실행한다", async () => {
149
149
  const { Electron } = await import("../../src/electron/electron.js");
150
150
 
151
151
  const electron = await Electron.create(PKG_PATH, {
@@ -159,13 +159,13 @@ describe("Electron", () => {
159
159
 
160
160
  const spawnCalls = mockCpxSpawn.mock.calls;
161
161
  const installCall = spawnCalls.find(
162
- (c) => c[0] === "bun" && c[1].includes("install"),
162
+ (c) => c[0] === "pnpm" && c[1].includes("install"),
163
163
  );
164
164
  expect(installCall).toBeDefined();
165
165
  expect(installCall?.[2]).toEqual(expect.objectContaining({ shell: true }));
166
166
  expect(
167
167
  spawnCalls.find(
168
- (c) => c[0] === "bun" && c[1].includes("electron-rebuild"),
168
+ (c) => c[0] === "pnpm" && c[1].includes("electron-rebuild"),
169
169
  ),
170
170
  ).toBeDefined();
171
171
  });
@@ -177,7 +177,7 @@ describe("Electron", () => {
177
177
  await electron.initialize();
178
178
 
179
179
  const rebuildCall = mockCpxSpawn.mock.calls.find(
180
- (c) => c[0] === "bun" && c[1].includes("electron-rebuild"),
180
+ (c) => c[0] === "pnpm" && c[1].includes("electron-rebuild"),
181
181
  );
182
182
  expect(rebuildCall).toBeUndefined();
183
183
  });
@@ -455,8 +455,8 @@ describe("Electron", () => {
455
455
  let resolveElectron: () => void = () => {};
456
456
 
457
457
  mockCpxSpawn.mockImplementation((cmd: string, args: string[]) => {
458
- // bun run electron . → Electron 프로세스
459
- if (cmd === "bun" && args[0] === "run" && args[1] === "electron" && args[2] === ".") {
458
+ // pnpm exec electron . → Electron 프로세스
459
+ if (cmd === "pnpm" && args[0] === "exec" && args[1] === "electron" && args[2] === ".") {
460
460
  const p = new Promise<void>((resolve) => {
461
461
  resolveElectron = resolve;
462
462
  }) as any;
@@ -499,7 +499,7 @@ describe("Electron", () => {
499
499
  expect(callArgs.bundle).toBe(true);
500
500
  expect(callArgs.external).toContain("electron");
501
501
  const electronCall = mockCpxSpawn.mock.calls.find(
502
- (c) => c[0] === "bun" && c[1].includes("electron"),
502
+ (c) => c[0] === "pnpm" && c[1].includes("electron"),
503
503
  );
504
504
  expect(electronCall?.[2]).toEqual(expect.objectContaining({ shell: true, reject: false }));
505
505
 
@@ -545,7 +545,7 @@ describe("Electron", () => {
545
545
  it("passes custom env and ELECTRON_DEV_URL via esbuild banner", async () => {
546
546
  let resolveElectron: () => void = () => {};
547
547
  mockCpxSpawn.mockImplementation((cmd: string, args: string[]) => {
548
- if (cmd === "bun" && args[0] === "run" && args[1] === "electron" && args[2] === ".") {
548
+ if (cmd === "pnpm" && args[0] === "exec" && args[1] === "electron" && args[2] === ".") {
549
549
  const p = new Promise<void>((resolve) => {
550
550
  resolveElectron = resolve;
551
551
  }) as any;
@@ -578,7 +578,7 @@ describe("Electron", () => {
578
578
  it("calls initialize() before starting esbuild context", async () => {
579
579
  let resolveElectron: () => void = () => {};
580
580
  mockCpxSpawn.mockImplementation((cmd: string, args: string[]) => {
581
- if (cmd === "bun" && args[0] === "run" && args[1] === "electron" && args[2] === ".") {
581
+ if (cmd === "pnpm" && args[0] === "exec" && args[1] === "electron" && args[2] === ".") {
582
582
  const p = new Promise<void>((resolve) => {
583
583
  resolveElectron = resolve;
584
584
  }) as any;
@@ -596,11 +596,11 @@ describe("Electron", () => {
596
596
  resolveElectron();
597
597
  await runPromise;
598
598
 
599
- // initialize calls bun install
600
- const bunInstallCall = mockCpxSpawn.mock.calls.find(
601
- (c: any[]) => c[0] === "bun" && (c[1] as string[]).includes("install"),
599
+ // initialize calls pnpm install
600
+ const pnpmInstallCall = mockCpxSpawn.mock.calls.find(
601
+ (c: any[]) => c[0] === "pnpm" && (c[1] as string[]).includes("install"),
602
602
  );
603
- expect(bunInstallCall).toBeDefined();
603
+ expect(pnpmInstallCall).toBeDefined();
604
604
  }, 10_000);
605
605
  });
606
606
 
@@ -46,10 +46,10 @@ describe("parsePackageJsonWorkspaces", () => {
46
46
  describe("collectWorkspacePackages", () => {
47
47
  it("collects package directories and ignores negative patterns", () => {
48
48
  const root = createTmpRoot();
49
- writeJson(path.join(root, "package.json"), {
50
- private: true,
51
- workspaces: ["packages/*", "tests/*", "!packages/skip"],
52
- });
49
+ fs.writeFileSync(
50
+ path.join(root, "pnpm-workspace.yaml"),
51
+ "packages:\n - packages/*\n - tests/*\n - '!packages/skip'\n",
52
+ );
53
53
  writeJson(path.join(root, "packages", "core", "package.json"), {
54
54
  name: "@scope/core",
55
55
  });
@@ -73,12 +73,9 @@ describe("collectWorkspacePackages", () => {
73
73
  });
74
74
 
75
75
  describe("findWorkspaceRoot", () => {
76
- it("finds nearest package.json with workspaces", () => {
76
+ it("finds nearest pnpm-workspace.yaml", () => {
77
77
  const root = createTmpRoot();
78
- writeJson(path.join(root, "package.json"), {
79
- private: true,
80
- workspaces: ["packages/*"],
81
- });
78
+ fs.writeFileSync(path.join(root, "pnpm-workspace.yaml"), "packages:\n - packages/*\n");
82
79
  const nested = path.join(root, "packages", "app", "src");
83
80
  fs.mkdirSync(nested, { recursive: true });
84
81
 
@@ -1 +0,0 @@
1
- {"fileNames":["../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.dom.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/index.ts","../src/util.ts"],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"d6b1eba8496bdd0eed6fc8a685768fe01b2da4a0388b5fe7df558290bffcf32f","affectsGlobalScope":true,"impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},"ad723b33e495a90b0d656522f61d30bbdd41893d01582d8a2b72fcaf6745bf69","9a30ac96b5d5c1b67eca69e1e2cf0798817d9578c8d7d904a81a67b983b35cba"],"root":[59,60],"options":{"declaration":false,"declarationMap":false,"emitDeclarationOnly":false,"module":7,"outDir":"../dist","skipLibCheck":true,"sourceMap":false,"strict":true,"target":9,"tsBuildInfoFile":"./typecheck-browser.tsbuildinfo"},"semanticDiagnosticsPerFile":[1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58],"affectedFilesPendingEmit":[59,60],"version":"6.0.3"}
@@ -1 +0,0 @@
1
- {"fileNames":["../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es5.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../../../../../node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/index.ts","../src/util.ts"],"fileInfos":[{"version":"bcd24271a113971ba9eb71ff8cb01bc6b0f872a85c23fdbe5d93065b375933cd","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f88bedbeb09c6f5a6645cb24c7c55f1aa22d19ae96c8e6959cbd8b85a707bc6","impliedFormat":1},{"version":"7fe93b39b810eadd916be8db880dd7f0f7012a5cc6ffb62de8f62a2117fa6f1f","impliedFormat":1},{"version":"bb0074cc08b84a2374af33d8bf044b80851ccc9e719a5e202eacf40db2c31600","impliedFormat":1},{"version":"1a7daebe4f45fb03d9ec53d60008fbf9ac45a697fdc89e4ce218bc94b94f94d6","impliedFormat":1},{"version":"f94b133a3cb14a288803be545ac2683e0d0ff6661bcd37e31aaaec54fc382aed","impliedFormat":1},{"version":"f59d0650799f8782fd74cf73c19223730c6d1b9198671b1c5b3a38e1188b5953","impliedFormat":1},{"version":"8a15b4607d9a499e2dbeed9ec0d3c0d7372c850b2d5f1fb259e8f6d41d468a84","impliedFormat":1},{"version":"26e0fe14baee4e127f4365d1ae0b276f400562e45e19e35fd2d4c296684715e6","impliedFormat":1},{"version":"eadcffda2aa84802c73938e589b9e58248d74c59cb7fcbca6474e3435ac15504","affectsGlobalScope":true,"impliedFormat":1},{"version":"105ba8ff7ba746404fe1a2e189d1d3d2e0eb29a08c18dded791af02f29fb4711","affectsGlobalScope":true,"impliedFormat":1},{"version":"00343ca5b2e3d48fa5df1db6e32ea2a59afab09590274a6cccb1dbae82e60c7c","affectsGlobalScope":true,"impliedFormat":1},{"version":"ebd9f816d4002697cb2864bea1f0b70a103124e18a8cd9645eeccc09bdf80ab4","affectsGlobalScope":true,"impliedFormat":1},{"version":"2c1afac30a01772cd2a9a298a7ce7706b5892e447bb46bdbeef720f7b5da77ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"7b0225f483e4fa685625ebe43dd584bb7973bbd84e66a6ba7bbe175ee1048b4f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c0a4b8ac6ce74679c1da2b3795296f5896e31c38e888469a8e0f99dc3305de60","affectsGlobalScope":true,"impliedFormat":1},{"version":"3084a7b5f569088e0146533a00830e206565de65cae2239509168b11434cd84f","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5079c53f0f141a0698faa903e76cb41cd664e3efb01cc17a5c46ec2eb0bef42","affectsGlobalScope":true,"impliedFormat":1},{"version":"32cafbc484dea6b0ab62cf8473182bbcb23020d70845b406f80b7526f38ae862","affectsGlobalScope":true,"impliedFormat":1},{"version":"fca4cdcb6d6c5ef18a869003d02c9f0fd95df8cfaf6eb431cd3376bc034cad36","affectsGlobalScope":true,"impliedFormat":1},{"version":"b93ec88115de9a9dc1b602291b85baf825c85666bf25985cc5f698073892b467","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5c06dcc3fe849fcb297c247865a161f995cc29de7aa823afdd75aaaddc1419b","affectsGlobalScope":true,"impliedFormat":1},{"version":"b77e16112127a4b169ef0b8c3a4d730edf459c5f25fe52d5e436a6919206c4d7","affectsGlobalScope":true,"impliedFormat":1},{"version":"fbffd9337146eff822c7c00acbb78b01ea7ea23987f6c961eba689349e744f8c","affectsGlobalScope":true,"impliedFormat":1},{"version":"a995c0e49b721312f74fdfb89e4ba29bd9824c770bbb4021d74d2bf560e4c6bd","affectsGlobalScope":true,"impliedFormat":1},{"version":"c7b3542146734342e440a84b213384bfa188835537ddbda50d30766f0593aff9","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce6180fa19b1cccd07ee7f7dbb9a367ac19c0ed160573e4686425060b6df7f57","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f02e2476bccb9dbe21280d6090f0df17d2f66b74711489415a8aa4df73c9675","affectsGlobalScope":true,"impliedFormat":1},{"version":"45e3ab34c1c013c8ab2dc1ba4c80c780744b13b5676800ae2e3be27ae862c40c","affectsGlobalScope":true,"impliedFormat":1},{"version":"805c86f6cca8d7702a62a844856dbaa2a3fd2abef0536e65d48732441dde5b5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"e42e397f1a5a77994f0185fd1466520691456c772d06bf843e5084ceb879a0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"f4c2b41f90c95b1c532ecc874bd3c111865793b23aebcc1c3cbbabcd5d76ffb0","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab26191cfad5b66afa11b8bf935ef1cd88fabfcb28d30b2dfa6fad877d050332","affectsGlobalScope":true,"impliedFormat":1},{"version":"2088bc26531e38fb05eedac2951480db5309f6be3fa4a08d2221abb0f5b4200d","affectsGlobalScope":true,"impliedFormat":1},{"version":"cb9d366c425fea79716a8fb3af0d78e6b22ebbab3bd64d25063b42dc9f531c1e","affectsGlobalScope":true,"impliedFormat":1},{"version":"500934a8089c26d57ebdb688fc9757389bb6207a3c8f0674d68efa900d2abb34","affectsGlobalScope":true,"impliedFormat":1},{"version":"689da16f46e647cef0d64b0def88910e818a5877ca5379ede156ca3afb780ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc21cc8b6fee4f4c2440d08035b7ea3c06b3511314c8bab6bef7a92de58a2593","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ca53d13d2957003abb47922a71866ba7cb2068f8d154877c596d63c359fed25","affectsGlobalScope":true,"impliedFormat":1},{"version":"54725f8c4df3d900cb4dac84b64689ce29548da0b4e9b7c2de61d41c79293611","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5594bc3076ac29e6c1ebda77939bc4c8833de72f654b6e376862c0473199323","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f3eb332c2d73e729f3364fcc0c2b375e72a121e8157d25a82d67a138c83a95c","affectsGlobalScope":true,"impliedFormat":1},{"version":"6f4427f9642ce8d500970e4e69d1397f64072ab73b97e476b4002a646ac743b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"48915f327cd1dea4d7bd358d9dc7732f58f9e1626a29cc0c05c8c692419d9bb7","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7bf9377723203b5a6a4b920164df22d56a43f593269ba6ae1fdc97774b68855","affectsGlobalScope":true,"impliedFormat":1},{"version":"db9709688f82c9e5f65a119c64d835f906efe5f559d08b11642d56eb85b79357","affectsGlobalScope":true,"impliedFormat":1},{"version":"4b25b8c874acd1a4cf8444c3617e037d444d19080ac9f634b405583fd10ce1f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"37be57d7c90cf1f8112ee2636a068d8fd181289f82b744160ec56a7dc158a9f5","affectsGlobalScope":true,"impliedFormat":1},{"version":"a917a49ac94cd26b754ab84e113369a75d1a47a710661d7cd25e961cc797065f","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d3261badeb7843d157ef3e6f5d1427d0eeb0af0cf9df84a62cfd29fd47ac86e","affectsGlobalScope":true,"impliedFormat":1},{"version":"195daca651dde22f2167ac0d0a05e215308119a3100f5e6268e8317d05a92526","affectsGlobalScope":true,"impliedFormat":1},{"version":"8b11e4285cd2bb164a4dc09248bdec69e9842517db4ca47c1ba913011e44ff2f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0508571a52475e245b02bc50fa1394065a0a3d05277fbf5120c3784b85651799","affectsGlobalScope":true,"impliedFormat":1},{"version":"8f9af488f510c3015af3cc8c267a9e9d96c4dd38a1fdff0e11dc5a544711415b","affectsGlobalScope":true,"impliedFormat":1},{"version":"fc611fea8d30ea72c6bbfb599c9b4d393ce22e2f5bfef2172534781e7d138104","affectsGlobalScope":true,"impliedFormat":1},{"version":"1ce14b81c5cc821994aa8ec1d42b220dd41b27fcc06373bce3958af7421b77d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"b3a048b3e9302ef9a34ef4ebb9aecfb28b66abb3bce577206a79fee559c230da","affectsGlobalScope":true,"impliedFormat":1},"ad723b33e495a90b0d656522f61d30bbdd41893d01582d8a2b72fcaf6745bf69","9a30ac96b5d5c1b67eca69e1e2cf0798817d9578c8d7d904a81a67b983b35cba"],"root":[58,59],"options":{"declaration":false,"declarationMap":false,"emitDeclarationOnly":false,"module":7,"outDir":"../dist","skipLibCheck":true,"sourceMap":false,"strict":true,"target":9,"tsBuildInfoFile":"./typecheck-node.tsbuildinfo"},"semanticDiagnosticsPerFile":[1,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57],"affectedFilesPendingEmit":[58,59],"version":"6.0.3"}