supercov 0.0.2 → 0.0.4

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 (85) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +159 -30
  3. package/bin/supercov.js +10 -0
  4. package/dist/atomic.d.ts +6 -0
  5. package/dist/atomic.d.ts.map +1 -0
  6. package/dist/atomic.js +47 -0
  7. package/dist/atomic.js.map +1 -0
  8. package/dist/buildCache.d.ts +14 -0
  9. package/dist/buildCache.d.ts.map +1 -0
  10. package/dist/buildCache.js +84 -0
  11. package/dist/buildCache.js.map +1 -0
  12. package/dist/cli.js +536 -215
  13. package/dist/cli.js.map +1 -1
  14. package/dist/directInstrumenter.d.ts +8 -0
  15. package/dist/directInstrumenter.d.ts.map +1 -0
  16. package/dist/directInstrumenter.js +70 -0
  17. package/dist/directInstrumenter.js.map +1 -0
  18. package/dist/evidenceArchive.d.ts +35 -0
  19. package/dist/evidenceArchive.d.ts.map +1 -0
  20. package/dist/evidenceArchive.js +101 -0
  21. package/dist/evidenceArchive.js.map +1 -0
  22. package/dist/instrumenter.d.ts.map +1 -1
  23. package/dist/instrumenter.js +251 -41
  24. package/dist/instrumenter.js.map +1 -1
  25. package/dist/integrity.d.ts.map +1 -1
  26. package/dist/integrity.js +27 -0
  27. package/dist/integrity.js.map +1 -1
  28. package/dist/launchSupervisor.d.ts +24 -0
  29. package/dist/launchSupervisor.d.ts.map +1 -0
  30. package/dist/launchSupervisor.js +397 -0
  31. package/dist/launchSupervisor.js.map +1 -0
  32. package/dist/playwright.d.ts +0 -4
  33. package/dist/playwright.d.ts.map +1 -1
  34. package/dist/playwright.js +33 -17
  35. package/dist/playwright.js.map +1 -1
  36. package/dist/playwrightReporter.d.ts.map +1 -1
  37. package/dist/playwrightReporter.js +3 -2
  38. package/dist/playwrightReporter.js.map +1 -1
  39. package/dist/project.d.ts +5 -2
  40. package/dist/project.d.ts.map +1 -1
  41. package/dist/project.js +192 -27
  42. package/dist/project.js.map +1 -1
  43. package/dist/query.d.ts.map +1 -1
  44. package/dist/query.js +29 -21
  45. package/dist/query.js.map +1 -1
  46. package/dist/register.mjs +18 -13
  47. package/dist/register.mjs.map +1 -1
  48. package/dist/reporter.d.ts +6 -10
  49. package/dist/reporter.d.ts.map +1 -1
  50. package/dist/reporter.js +23 -82
  51. package/dist/reporter.js.map +1 -1
  52. package/dist/resolve-loader.d.mts.map +1 -1
  53. package/dist/resolve-loader.mjs +11 -3
  54. package/dist/resolve-loader.mjs.map +1 -1
  55. package/dist/runAnalysis.d.ts +19 -0
  56. package/dist/runAnalysis.d.ts.map +1 -0
  57. package/dist/runAnalysis.js +112 -0
  58. package/dist/runAnalysis.js.map +1 -0
  59. package/dist/runtime.d.ts +2 -2
  60. package/dist/runtime.d.ts.map +1 -1
  61. package/dist/runtime.js +35 -7
  62. package/dist/runtime.js.map +1 -1
  63. package/dist/transport.d.ts +2 -0
  64. package/dist/transport.d.ts.map +1 -1
  65. package/dist/transport.js +13 -5
  66. package/dist/transport.js.map +1 -1
  67. package/dist/types.d.ts +2 -1
  68. package/dist/types.d.ts.map +1 -1
  69. package/dist/vitePlugin.d.ts +1 -0
  70. package/dist/vitePlugin.d.ts.map +1 -1
  71. package/dist/vitePlugin.js +35 -3
  72. package/dist/vitePlugin.js.map +1 -1
  73. package/dist/vitest.js +3 -2
  74. package/dist/vitest.js.map +1 -1
  75. package/dist/vitestReporter.d.ts +17 -2
  76. package/dist/vitestReporter.d.ts.map +1 -1
  77. package/dist/vitestReporter.js +51 -2
  78. package/dist/vitestReporter.js.map +1 -1
  79. package/dist/workspace.d.ts +81 -0
  80. package/dist/workspace.d.ts.map +1 -0
  81. package/dist/workspace.js +501 -0
  82. package/dist/workspace.js.map +1 -0
  83. package/docs/performance.md +107 -0
  84. package/docs/workspace-isolation.md +118 -0
  85. package/package.json +21 -5
@@ -1 +1 @@
1
- {"version":3,"file":"vitePlugin.js","sourceRoot":"","sources":["../src/vitePlugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vitePlugin.js","sourceRoot":"","sources":["../src/vitePlugin.ts"],"names":[],"mappings":"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"}
package/dist/vitest.js CHANGED
@@ -1,8 +1,9 @@
1
- import { mkdirSync, writeFileSync } from "node:fs";
1
+ import { mkdirSync } from "node:fs";
2
2
  import { relative, resolve, sep } from "node:path";
3
3
  import { afterEach, beforeEach } from "vitest";
4
4
  import { coverageSnapshot, resetCoverage } from "./runtime.js";
5
5
  import { inferTestProvenance } from "./provenance.js";
6
+ import { atomicWriteFileSync } from "./atomic.js";
6
7
  const evidenceDirectory = process.env["SUPERCOV_EVIDENCE_DIR"];
7
8
  const emittedSetupFiles = new Set();
8
9
  function attemptStatus(state) {
@@ -28,7 +29,7 @@ function writeEvidence(payload, suffix) {
28
29
  return;
29
30
  const directory = resolve(process.cwd(), evidenceDirectory, suffix);
30
31
  mkdirSync(directory, { recursive: true });
31
- writeFileSync(resolve(directory, "mcdc.json"), `${JSON.stringify(payload)}\n`);
32
+ atomicWriteFileSync(resolve(directory, "mcdc.json"), `${JSON.stringify(payload)}\n`);
32
33
  }
33
34
  beforeEach((context) => {
34
35
  const task = context.task;
@@ -1 +1 @@
1
- {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vitest.js","sourceRoot":"","sources":["../src/vitest.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import type { Reporter } from "vitest/reporters";
2
1
  interface ReportedTestCase {
3
2
  id: string;
4
3
  name: string;
@@ -21,8 +20,24 @@ interface ReportedTestCase {
21
20
  } | undefined;
22
21
  }
23
22
  /** Records final runner outcomes, including tests that never execute hooks. */
24
- export default class SupercovVitestReporter implements Reporter {
23
+ export default class SupercovVitestReporter {
25
24
  onTestCaseResult(testCase: ReportedTestCase): void;
25
+ /** Vitest 2 compatibility; Vitest 3+ uses onTestCaseResult above. */
26
+ onFinished(files?: LegacyTask[]): void;
27
+ }
28
+ interface LegacyTask {
29
+ id?: string;
30
+ name?: string;
31
+ type?: string;
32
+ filepath?: string;
33
+ projectName?: string;
34
+ file?: LegacyTask;
35
+ suite?: LegacyTask;
36
+ tasks?: LegacyTask[];
37
+ result?: {
38
+ state?: string;
39
+ retryCount?: number;
40
+ };
26
41
  }
27
42
  export {};
28
43
  //# sourceMappingURL=vitestReporter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vitestReporter.d.ts","sourceRoot":"","sources":["../src/vitestReporter.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAIjD,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7B,MAAM,IAAI;QACR,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;KACpD,CAAC;IACF,UAAU,IACN;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GACtC,SAAS,CAAC;CACf;AASD,+EAA+E;AAC/E,MAAM,CAAC,OAAO,OAAO,sBAAuB,YAAW,QAAQ;IAC7D,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAuCjD;CACF"}
1
+ {"version":3,"file":"vitestReporter.d.ts","sourceRoot":"","sources":["../src/vitestReporter.ts"],"names":[],"mappings":"AAOA,UAAU,gBAAgB;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,OAAO,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3B,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7B,MAAM,IAAI;QACR,KAAK,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;KACpD,CAAC;IACF,UAAU,IACN;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,GACtC,SAAS,CAAC;CACf;AASD,+EAA+E;AAC/E,MAAM,CAAC,OAAO,OAAO,sBAAsB;IACzC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAuCjD;IAED,qEAAqE;IACrE,UAAU,CAAC,KAAK,GAAE,UAAU,EAAO,GAAG,IAAI,CAsDzC;CACF;AAED,UAAU,UAAU;IAClB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD"}
@@ -1,7 +1,8 @@
1
- import { mkdirSync, writeFileSync } from "node:fs";
1
+ import { mkdirSync } from "node:fs";
2
2
  import { relative, resolve, sep } from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
4
  import { inferTestProvenance } from "./provenance.js";
5
+ import { atomicWriteFileSync } from "./atomic.js";
5
6
  function sourcePath(moduleId) {
6
7
  const absolute = moduleId.startsWith("file:")
7
8
  ? fileURLToPath(moduleId)
@@ -42,7 +43,55 @@ export default class SupercovVitestReporter {
42
43
  const safeId = testCase.id.replace(/[^a-zA-Z0-9_-]/g, "_");
43
44
  const directory = resolve(process.cwd(), evidenceDirectory, `vitest-${safeId}-${retry}-status`);
44
45
  mkdirSync(directory, { recursive: true });
45
- writeFileSync(resolve(directory, "mcdc.json"), `${JSON.stringify(payload)}\n`);
46
+ atomicWriteFileSync(resolve(directory, "mcdc.json"), `${JSON.stringify(payload)}\n`);
47
+ }
48
+ /** Vitest 2 compatibility; Vitest 3+ uses onTestCaseResult above. */
49
+ onFinished(files = []) {
50
+ const evidenceDirectory = process.env["SUPERCOV_EVIDENCE_DIR"];
51
+ if (!evidenceDirectory)
52
+ return;
53
+ const visit = (task, inheritedFile) => {
54
+ const file = task.file ?? inheritedFile ?? task;
55
+ if (task.type === "test" && task.result?.state) {
56
+ const testFile = sourcePath(file.filepath ?? task.filepath ?? "unknown");
57
+ const retry = task.result.retryCount ?? 0;
58
+ const names = [task.name ?? task.id ?? "test"];
59
+ let suite = task.suite;
60
+ while (suite?.name) {
61
+ names.unshift(suite.name);
62
+ suite = suite.suite;
63
+ }
64
+ const payload = {
65
+ testId: `vitest:${task.id ?? names.join(" > ")}`,
66
+ test: names.join(" > "),
67
+ testFile,
68
+ title: task.name ?? names.at(-1) ?? "test",
69
+ retry,
70
+ status: task.result.state === "pass"
71
+ ? "passed"
72
+ : task.result.state === "fail"
73
+ ? "failed"
74
+ : "skipped",
75
+ provenance: inferTestProvenance({
76
+ runner: "vitest",
77
+ file: testFile,
78
+ project: file.projectName,
79
+ explicitKind: process.env["SUPERCOV_TEST_KIND"],
80
+ }),
81
+ runtime: [],
82
+ browser: [],
83
+ server: [],
84
+ };
85
+ const safeId = String(task.id ?? names.join("-")).replace(/[^a-zA-Z0-9_-]/g, "_");
86
+ const directory = resolve(process.cwd(), evidenceDirectory, `vitest-${safeId}-${retry}-status`);
87
+ mkdirSync(directory, { recursive: true });
88
+ atomicWriteFileSync(resolve(directory, "mcdc.json"), `${JSON.stringify(payload)}\n`);
89
+ }
90
+ for (const child of task.tasks ?? [])
91
+ visit(child, file);
92
+ };
93
+ for (const file of files)
94
+ visit(file, file);
46
95
  }
47
96
  }
48
97
  //# sourceMappingURL=vitestReporter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vitestReporter.js","sourceRoot":"","sources":["../src/vitestReporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAkBtD,SAAS,UAAU,CAAC,QAAgB;IAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,OAAO,CAAC;QAC3C,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC;QACzB,CAAC,CAAC,QAAQ,CAAC;IACb,OAAO,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,OAAO,OAAO,sBAAsB;IACzC,gBAAgB,CAAC,QAA0B;QACzC,MAAM,iBAAiB,GACrB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACvC,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjC,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;YAAE,OAAO;QACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzC,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,UAAU,EAAE,UAAU,IAAI,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAsB;YACjC,MAAM,EAAE,UAAU,QAAQ,CAAC,EAAE,EAAE;YAC/B,IAAI,EAAE,QAAQ,CAAC,QAAQ;YACvB,QAAQ;YACR,KAAK,EAAE,QAAQ,CAAC,IAAI;YACpB,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,KAAK;YACpB,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;YAC5D,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,KAAK;YACjC,UAAU,EAAE,mBAAmB,CAAC;gBAC9B,MAAM,EAAE,QAAQ;gBAChB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI;gBAC9B,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;aAChD,CAAC;YACF,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;SACX,CAAC;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,OAAO,CACvB,OAAO,CAAC,GAAG,EAAE,EACb,iBAAiB,EACjB,UAAU,MAAM,IAAI,KAAK,SAAS,CACnC,CAAC;QACF,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,aAAa,CACX,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,EAC/B,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAC/B,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"vitestReporter.js","sourceRoot":"","sources":["../src/vitestReporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ export type RunStateStatus = "preparing" | "building" | "testing" | "publishing" | "complete" | "failed" | "interrupted" | "abandoned";
2
+ export interface RunState {
3
+ id: string;
4
+ pid: number;
5
+ root: string;
6
+ workspace: string;
7
+ startedAt: string;
8
+ updatedAt: string;
9
+ status: RunStateStatus;
10
+ signal?: NodeJS.Signals;
11
+ error?: string;
12
+ }
13
+ export declare function isolatedWorkspacePath(root: string, runId: string): string;
14
+ /**
15
+ * Stable isolated namespace used as a live mount by VM/container runners.
16
+ * Its path must remain stable so providers whose snapshot key includes mount
17
+ * paths can reuse an instrumented snapshot across equivalent coverage runs.
18
+ * The project lock makes refreshes single-writer.
19
+ */
20
+ export declare function cachedWorkspacePath(root: string): string;
21
+ export interface CacheRecoveryResult {
22
+ restoredPrevious: boolean;
23
+ removedStaging: number;
24
+ removedPrevious: number;
25
+ }
26
+ /**
27
+ * Recover the stable cache at transaction boundaries that SIGKILL or a host
28
+ * crash can interrupt. A staging tree is never live. A previous tree is
29
+ * restored only when the stable name is absent; otherwise it is obsolete.
30
+ */
31
+ export declare function recoverCachedWorkspace(root: string): CacheRecoveryResult;
32
+ export declare function writeRunState(root: string, runId: string, state: Omit<RunState, "updatedAt">): RunState;
33
+ export declare function updateRunState(root: string, runId: string, update: Partial<Omit<RunState, "id" | "root" | "workspace" | "startedAt">>): RunState;
34
+ /**
35
+ * A published run is self-contained only once its raw-evidence archive exists.
36
+ * At that point loose evidence and per-run state are transactional leftovers,
37
+ * not user history. Derive every deletion target from root + run ID.
38
+ */
39
+ export declare function finalizePublishedRunStorage(root: string, runId: string): boolean;
40
+ /** Recover dead runs and finish any publication whose atomic rename landed. */
41
+ export declare function recoverAbandonedRuns(root: string): string[];
42
+ export interface ProjectLock {
43
+ path: string;
44
+ release: () => void;
45
+ }
46
+ export declare function acquireProjectLock(root: string, runId: string): ProjectLock;
47
+ /** Create a copy-on-write project snapshot whose build outputs are disposable. */
48
+ export declare function prepareIsolatedWorkspace(root: string, runId: string): string;
49
+ interface CachePreparationHooks {
50
+ /** Internal fault-injection seam used by the crash-boundary regression. */
51
+ beforePublish?: (staging: string) => void;
52
+ /** Internal fault-injection seam used by the crash-boundary regression. */
53
+ afterPreviousMoved?: (previous: string) => void;
54
+ /** Internal fault-injection seam used by the crash-boundary regression. */
55
+ afterPublished?: (workspace: string) => void;
56
+ /** Internal fault-injection seam for copy fallback and ENOSPC tests. */
57
+ copyFile?: (source: string, destination: string) => void;
58
+ /** Exact-fingerprint build artifacts carried into the refreshed snapshot. */
59
+ reusePaths?: string[];
60
+ /** Internal seam for simulating platform rename failures. */
61
+ rename?: (source: string, destination: string) => void;
62
+ }
63
+ /** Refresh the stable, disposable instrumented-build namespace. */
64
+ export declare function prepareCachedWorkspace(root: string, hooks?: CachePreparationHooks): string;
65
+ export declare function removeIsolatedWorkspace(root: string, runId: string): void;
66
+ export interface CleanupOptions {
67
+ keep: number;
68
+ dryRun: boolean;
69
+ }
70
+ export interface CleanupResult {
71
+ removedRuns: string[];
72
+ removedWorkspaces: string[];
73
+ removedEvidence: string[];
74
+ removedBuildCache: boolean;
75
+ }
76
+ /** Cleanup is itself a project-wide transaction, so it cannot race a run. */
77
+ export declare function cleanCoverageStorage(root: string, options: CleanupOptions): CleanupResult;
78
+ /** Explicit history retention that deliberately preserves the shared cache. */
79
+ export declare function pruneCoverageStorage(root: string, options: CleanupOptions): CleanupResult;
80
+ export {};
81
+ //# sourceMappingURL=workspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../src/workspace.ts"],"names":[],"mappings":"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"}