@monorepolint/utils 0.5.0-beta.8 → 0.5.0

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 (40) hide show
  1. package/.turbo/turbo-clean.log +4 -0
  2. package/.turbo/turbo-compile-typescript.log +4 -0
  3. package/.turbo/turbo-lint.log +15 -0
  4. package/.turbo/turbo-test.log +26 -0
  5. package/.turbo/turbo-transpile-typescript.log +14 -0
  6. package/CHANGELOG.md +19 -0
  7. package/build/js/index.js +894 -0
  8. package/build/js/index.js.map +1 -0
  9. package/build/tsconfig.tsbuildinfo +1 -0
  10. package/build/types/AggregateTiming.d.ts +15 -0
  11. package/build/types/AggregateTiming.d.ts.map +1 -0
  12. package/build/types/CachingHost.d.ts +39 -0
  13. package/build/types/CachingHost.d.ts.map +1 -0
  14. package/build/types/Host.d.ts +38 -0
  15. package/build/types/Host.d.ts.map +1 -0
  16. package/build/types/PackageJson.d.ts +20 -0
  17. package/build/types/PackageJson.d.ts.map +1 -0
  18. package/build/types/SimpleHost.d.ts +35 -0
  19. package/build/types/SimpleHost.d.ts.map +1 -0
  20. package/build/types/Table.d.ts +53 -0
  21. package/build/types/Table.d.ts.map +1 -0
  22. package/build/types/Timing.d.ts +9 -0
  23. package/build/types/Timing.d.ts.map +1 -0
  24. package/build/types/__tests__/CachingHost.spec.d.ts +2 -0
  25. package/build/types/__tests__/CachingHost.spec.d.ts.map +1 -0
  26. package/build/types/findWorkspaceDir.d.ts +10 -0
  27. package/build/types/findWorkspaceDir.d.ts.map +1 -0
  28. package/build/types/getPackageNameToDir.d.ts +14 -0
  29. package/build/types/getPackageNameToDir.d.ts.map +1 -0
  30. package/build/types/getWorkspacePackageDirs.d.ts +9 -0
  31. package/build/types/getWorkspacePackageDirs.d.ts.map +1 -0
  32. package/build/types/index.d.ts +20 -0
  33. package/build/types/index.d.ts.map +1 -0
  34. package/build/types/matchesAnyGlob.d.ts +17 -0
  35. package/build/types/matchesAnyGlob.d.ts.map +1 -0
  36. package/build/types/mutateJson.d.ts +9 -0
  37. package/build/types/mutateJson.d.ts.map +1 -0
  38. package/build/types/nanosecondsToSanity.d.ts +8 -0
  39. package/build/types/nanosecondsToSanity.d.ts.map +1 -0
  40. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/getWorkspacePackageDirs.ts","../../src/mutateJson.ts","../../src/findWorkspaceDir.ts","../../src/getPackageNameToDir.ts","../../src/SimpleHost.ts","../../src/CachingHost.ts","../../src/matchesAnyGlob.ts","../../src/nanosecondsToSanity.ts","../../src/Table.ts","../../src/AggregateTiming.ts","../../src/Timing.ts"],"sourcesContent":["/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { existsSync } from \"fs\";\nimport * as glob from \"glob\";\nimport * as path from \"node:path\";\nimport * as fs from \"node:fs\";\nimport { Host } from \"./Host.js\";\nimport { PackageJson } from \"./PackageJson.js\";\nimport * as readYamlFile from \"read-yaml-file\";\nimport { findPackages } from \"find-packages\";\n\nasync function findPNPMWorkspacePackages(workspaceRoot: string) {\n workspaceRoot = fs.realpathSync(workspaceRoot);\n const workspaceManifest = await readYamlFile.default<{ packages?: string[] }>(\n path.join(workspaceRoot, \"pnpm-workspace.yaml\")\n );\n\n return findPackages(workspaceRoot, {\n ignore: [\"**/node_modules/**\", \"**/bower_components/**\"],\n includeRoot: true,\n patterns: workspaceManifest.packages,\n });\n}\n\nexport async function getWorkspacePackageDirs(\n host: Pick<Host, \"readJson\" | \"exists\">,\n workspaceDir: string,\n resolvePaths: boolean = false\n) {\n const packageJson = host.readJson(path.join(workspaceDir, \"package.json\")) as PackageJson;\n\n const isPnpmWorkspace = host.exists(path.join(workspaceDir, \"pnpm-workspace.yaml\"));\n if (isPnpmWorkspace) {\n const workspacePackages = await findPNPMWorkspacePackages(workspaceDir);\n if (workspacePackages.length === 0) {\n throw new Error(\"Invalid workspaceDir: \" + workspaceDir);\n }\n return workspacePackages.map((project) => project.dir).filter((d) => d !== workspaceDir);\n }\n\n if (!packageJson.workspaces) {\n throw new Error(\"Unsupported! Monorepo is not backed by either pnpm nor yarn workspaces.\");\n }\n\n const ret: string[] = [];\n const packageGlobs = Array.isArray(packageJson.workspaces)\n ? packageJson.workspaces\n : packageJson.workspaces.packages || [];\n\n for (const pattern of packageGlobs) {\n for (const packagePath of glob.sync(pattern, { cwd: workspaceDir })) {\n const packageJsonPath = path.join(workspaceDir, packagePath, \"package.json\");\n\n if (existsSync(packageJsonPath)) {\n if (resolvePaths === true) {\n ret.push(path.resolve(path.join(workspaceDir, packagePath)));\n } else {\n ret.push(packagePath);\n }\n }\n }\n }\n\n return ret;\n}\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { Host } from \"./Host.js\";\nexport function mutateJson<T extends object>(path: string, host: Host, mutator: (f: T) => T) {\n let file = host.readJson(path) as T;\n file = mutator(file);\n host.writeJson(path, file);\n}\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport * as path from \"path\";\nimport { Host } from \"./Host.js\";\nimport { PackageJson } from \"./PackageJson.js\";\nimport * as fs from \"fs\";\nimport { findUp } from \"find-up\";\n\nexport async function findPnpmWorkspaceDir(cwd: string) {\n const workspaceManifestLocation = await findUp(\"pnpm-workspace.yaml\", {\n cwd: await fs.promises.realpath(cwd),\n });\n return workspaceManifestLocation && path.dirname(workspaceManifestLocation);\n}\n\nexport async function findWorkspaceDir(\n host: Pick<Host, \"readJson\" | \"exists\">,\n dir: string\n): Promise<string | undefined> {\n // Defining workspaces in package.json is not necessary in PNPM\n const maybePnpmWorkspaceDir = await findPnpmWorkspaceDir(dir);\n if (maybePnpmWorkspaceDir != null) {\n return maybePnpmWorkspaceDir;\n }\n\n // We may not be in a repository that uses PNPM, look for workspaces in package.json\n const packagePath = path.join(dir, \"package.json\");\n if (host.exists(packagePath)) {\n const packageJson = host.readJson(packagePath) as PackageJson;\n if (packageJson.workspaces !== undefined) {\n return dir;\n }\n }\n\n const nextDir = path.normalize(path.join(dir, \"..\"));\n if (nextDir === dir) {\n return undefined;\n }\n\n return findWorkspaceDir(host, nextDir);\n}\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { join as pathJoin } from \"path\";\nimport { getWorkspacePackageDirs } from \"./getWorkspacePackageDirs.js\";\nimport { Host } from \"./Host.js\";\nimport { PackageJson } from \"./PackageJson.js\";\n/**\n * returns a map of package names to their directories in the workspace.\n * if `resolvePaths` is true, the returned directory names are absolute paths\n * resolved against the `workspaceDir`.\n */\nexport async function getPackageNameToDir(\n host: Pick<Host, \"readJson\" | \"exists\">,\n workspaceDir: string,\n resolvePaths: boolean = false\n) {\n const ret = new Map<string, string>();\n\n const workspacePackages = await getWorkspacePackageDirs(host, workspaceDir, resolvePaths);\n for (const packageDir of workspacePackages) {\n const packagePath = pathJoin(packageDir, \"package.json\");\n const { name } = host.readJson(packagePath) as PackageJson;\n if (name === undefined) {\n throw new Error(`Package needs a name: ${packagePath}`);\n }\n ret.set(name, packageDir);\n }\n return ret;\n}\n","/*!\n * Copyright 2022 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport * as realFs from \"fs\";\n\nimport { Host } from \"./Host.js\";\nexport class SimpleHost implements Host {\n constructor(private fs: typeof realFs = realFs) {}\n mkdir(directoryPath: string, opts?: { recursive: boolean }): void {\n this.fs.mkdirSync(directoryPath, { recursive: opts?.recursive ?? false });\n }\n rmdir(directoryPath: string): void {\n this.fs.rmdirSync(directoryPath);\n }\n\n exists(path: string): boolean {\n return this.fs.existsSync(path);\n }\n\n writeFile(path: string, buffer: Buffer): void;\n writeFile(path: string, body: string, opts: { encoding: BufferEncoding }): void;\n writeFile(path: string, body: string | Buffer, opts?: { encoding: BufferEncoding }): void {\n if (opts) {\n this.fs.writeFileSync(path, body, { encoding: opts.encoding });\n } else {\n this.fs.writeFileSync(path, body);\n }\n }\n readFile(path: string, opts?: undefined): Buffer;\n readFile(path: string, opts: { encoding: BufferEncoding }): string;\n readFile(path: string, opts: { asJson: true }): object;\n readFile(path: string, opts?: { encoding?: BufferEncoding; asJson?: boolean }): string | object | Buffer {\n if (opts?.asJson) {\n return JSON.parse(this.fs.readFileSync(path, \"utf-8\"));\n }\n return this.fs.readFileSync(path, opts?.encoding);\n }\n deleteFile(path: string) {\n this.fs.unlinkSync(path);\n }\n readJson(filename: string) {\n const contents = this.fs.readFileSync(filename, \"utf-8\");\n return JSON.parse(contents);\n }\n writeJson(path: string, o: object): void {\n return this.fs.writeFileSync(path, JSON.stringify(o, undefined, 2) + \"\\n\");\n }\n flush() {\n // noop in the simple case\n return Promise.resolve();\n }\n}\n","/*!\n * Copyright 2022 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport * as realFs from \"node:fs\";\nimport { Host } from \"./Host.js\";\nimport * as path from \"node:path\";\n\nfunction assertNoTombstone(node: Node): asserts node is Node & { tombstone?: false } {\n if (node.tombstone) {\n throw new Error(`Unexpected tombstone ${JSON.stringify(node)}`);\n }\n}\n\nfunction assertNotType<N extends Node, T extends Node[\"type\"]>(\n node: N,\n type: T\n): asserts node is N & { type: Exclude<N[\"type\"], T> } {\n if (node.type === type) {\n throw new Error(`Unexpected node type ${JSON.stringify(node)}`);\n }\n}\n\nfunction assertType<N extends Node, T extends Node[\"type\"]>(node: N, type: T): asserts node is N & { type: T } {\n if (node.type !== type) {\n throw new Error(`Unexpected node type ${JSON.stringify(node)}`);\n }\n}\n\nfunction assertExists<T extends Node>(node: T | undefined): asserts node is T {\n if (!node) {\n throw new Error(`Expected node to exist`);\n }\n}\n\nfunction assertHasParent(node: Node) {\n if (!node.parent) {\n throw new Error(\"Expected node to have a parent directory\");\n }\n}\n\ninterface BaseNode<T extends string> {\n type: T;\n fullPath: string;\n tombstone?: boolean;\n parent?: DirNode | DirStubNode;\n needsFlush: boolean;\n}\ninterface DirNode extends BaseNode<\"dir\"> {\n stub?: false;\n tombstone?: false;\n dir: Map<string, Node>;\n}\n\ninterface DirStubNode extends BaseNode<\"dir\"> {\n stub: true;\n tombstone?: false;\n dir: Map<string, Node>;\n}\n\ninterface DirTombstoneNode extends BaseNode<\"dir\"> {\n stub?: false;\n tombstone: true;\n dir: Map<string, Node>;\n}\n\ninterface FileNode extends BaseNode<\"file\"> {\n stub?: false;\n tombstone?: false;\n file: Buffer;\n}\n\ninterface FileTombstoneNode extends BaseNode<\"file\"> {\n stub?: false;\n tombstone: true;\n file?: never;\n}\n\ninterface FileStubNode extends BaseNode<\"file\"> {\n stub: true;\n tombstone?: false;\n file?: never;\n}\n\ninterface SymlinkNode extends BaseNode<\"symlink\"> {\n tombstone?: false;\n symlink: string;\n}\n\ntype Node = DirNode | FileNode | SymlinkNode | DirTombstoneNode | FileTombstoneNode | DirStubNode | FileStubNode;\n\nexport class CachingHost implements Host {\n // We need many trees because of windows, key is the `root`\n #trees = new Map<string, DirNode | DirStubNode>();\n\n constructor(\n private fs: Pick<\n typeof realFs,\n | \"existsSync\"\n | \"lstatSync\"\n | \"mkdirSync\"\n | \"promises\"\n | \"readdirSync\"\n | \"readFileSync\"\n | \"readlinkSync\"\n | \"realpathSync\"\n | \"rmdirSync\"\n | \"statSync\"\n | \"unlinkSync\"\n | \"writeFileSync\"\n > = realFs\n ) {}\n\n #replaceNode(\n node: FileNode | FileStubNode | SymlinkNode,\n newNode: Omit<FileTombstoneNode, \"fullPath\" | \"parent\">\n ): FileTombstoneNode;\n #replaceNode(\n node: FileNode | FileStubNode | FileTombstoneNode,\n newNode: Omit<FileNode, \"fullPath\" | \"parent\">\n ): FileNode;\n #replaceNode(\n node: DirTombstoneNode | DirStubNode,\n newNode: Omit<DirNode, \"fullPath\" | \"parent\" | \"dir\">\n ): DirStubNode;\n #replaceNode(node: DirNode, newNode: Omit<DirTombstoneNode, \"fullPath\" | \"parent\" | \"dir\">): DirTombstoneNode;\n #replaceNode(node: Node, partialNewNode: Omit<Node, \"fullPath\" | \"parent\">): Node {\n if (!node.parent) throw new Error(\"Cannot replace root node\");\n const newNode: Node = {\n ...partialNewNode,\n fullPath: node.fullPath,\n parent: node.parent,\n dir: (node as DirNode).dir,\n } as Node;\n node.parent.dir.set(path.basename(node.fullPath), newNode);\n return newNode;\n }\n\n #unstubDirectory(node: DirNode | DirStubNode): asserts node is DirNode {\n // So the rules for our stub dirs. We assume the things in the map are authority but\n // for things not in the map, the real FS is the authority\n for (const child of this.fs.readdirSync(node.fullPath)) {\n // just makign this call will populate the structure but its a little expensive.\n // TODO: make an unknown stub\n this.#getNode(path.join(node.fullPath, child));\n }\n node.stub = false;\n }\n\n /**\n * Assumes no parent -> path is root\n *\n * Throws if the path doesnt exist!\n */\n #stubify(filePath: string, parent: undefined): DirStubNode;\n #stubify(filePath: string, parent: DirNode | DirStubNode | undefined): DirStubNode | SymlinkNode | FileStubNode;\n #stubify(\n filePath: string,\n parent: DirNode | DirStubNode | undefined\n ): typeof parent extends undefined ? DirNode | DirStubNode : DirNode | DirStubNode | SymlinkNode | FileStubNode {\n const canonicalPath = path.resolve(filePath);\n\n if (!parent && canonicalPath !== path.parse(canonicalPath).root) {\n throw new Error(`parent can only be null if path is root. Instead got: ${canonicalPath}`);\n }\n const stat = this.fs.lstatSync(canonicalPath); // may throw\n\n let node: SymlinkNode | FileStubNode | DirStubNode;\n\n if (stat.isDirectory()) {\n node = {\n fullPath: canonicalPath,\n type: \"dir\",\n stub: true,\n dir: new Map(),\n parent,\n needsFlush: false,\n };\n } else if (stat.isSymbolicLink()) {\n node = {\n fullPath: canonicalPath,\n type: \"symlink\",\n symlink: this.fs.readlinkSync(canonicalPath),\n parent,\n needsFlush: false,\n };\n } else if (stat.isFile()) {\n node = {\n fullPath: canonicalPath,\n type: \"file\",\n stub: true,\n parent,\n needsFlush: false,\n };\n } else {\n throw new Error(`what is not a file nor symlink nor directory? nothing we care about: ${canonicalPath}`);\n }\n\n if (!parent && node.type === \"dir\") {\n this.#trees.set(canonicalPath, node);\n return node;\n } else if (parent) {\n parent.dir.set(path.basename(canonicalPath), node);\n } else {\n throw new Error(`root can only be a dir, got ${JSON.stringify(node)} for path: ${canonicalPath}`);\n }\n return node;\n }\n\n /**\n * Note: may return the node itself!\n * You should check the `fullPath` of the result.\n */\n #getNearestAncestorNode(filePath: string) {\n const canonicalPath = path.resolve(filePath);\n const { root } = path.parse(canonicalPath);\n const parts = [];\n\n let maybePath = canonicalPath;\n while (maybePath !== root) {\n parts.unshift(path.basename(maybePath));\n maybePath = path.dirname(maybePath);\n }\n\n let curPath = root;\n let curNode: Node = this.#trees.get(root) ?? this.#stubify(curPath, undefined); // its okay to throw if there is no root\n try {\n for (const part of parts) {\n assertNoTombstone(curNode);\n assertNotType(curNode, \"file\");\n if (curNode.type === \"symlink\") {\n const linkedNode = this.#getNodeResolvingSymlinks(path.resolve(path.dirname(curPath), curNode.symlink));\n assertExists(linkedNode);\n assertNoTombstone(linkedNode);\n assertType(linkedNode, \"dir\");\n curNode = linkedNode;\n }\n assertType(curNode, \"dir\");\n assertNoTombstone(curNode);\n curNode = curNode.dir.get(part) ?? this.#stubify(path.join(curNode.fullPath, part), curNode);\n curPath = path.join(curPath, part);\n }\n } catch (e) {\n // This error is expected when things done exist.\n // console.log(`Got EXPECTED error when trying to getNearestAncestorNode(${canonicalPath}): `, (e as any).message);\n }\n return { pathWithSymlinks: curPath, node: curNode };\n }\n\n #getNode(filePath: string) {\n const canonicalPath = path.resolve(filePath);\n const { pathWithSymlinks, node } = this.#getNearestAncestorNode(canonicalPath);\n if (pathWithSymlinks === canonicalPath) {\n return node;\n }\n return undefined;\n }\n\n #getNodeResolvingSymlinks(filePath: string, follows: number = 100): Exclude<Node, SymlinkNode> | undefined {\n const node = this.#getNode(filePath); // canonicalizes for us\n if (!node || node.type !== \"symlink\") return node;\n // this is a really poor mans way of doing this. but who has 100's of symlinks hanging around?\n if (follows === 0) throw new Error(\"Exhausted symlink follows\");\n\n return this.#getNodeResolvingSymlinks(node.symlink, follows--);\n }\n\n mkdir(filePath: string, opts: { recursive: boolean } = { recursive: false }): void {\n const canonicalPath = path.resolve(filePath);\n const { node, pathWithSymlinks } = this.#getNearestAncestorNode(canonicalPath);\n if (filePath === pathWithSymlinks) {\n assertType(node, \"dir\");\n assertHasParent(node);\n if (!node.tombstone) return; // already done\n } else if (path.dirname(filePath) === pathWithSymlinks) {\n assertType(node, \"dir\");\n assertNoTombstone(node);\n node.dir.set(path.basename(filePath), {\n type: \"dir\",\n fullPath: filePath,\n parent: node,\n dir: new Map(),\n needsFlush: true,\n });\n return;\n }\n\n if (!opts.recursive && path.dirname(canonicalPath) !== pathWithSymlinks) {\n throw new Error(\"no such file or directory\");\n }\n\n const rootPath = pathWithSymlinks;\n let maybePath = canonicalPath;\n const toMake: string[] = [];\n while (maybePath !== rootPath) {\n toMake.unshift(path.resolve(node.fullPath, path.relative(rootPath, maybePath)));\n maybePath = path.dirname(maybePath);\n }\n\n for (const dirToMake of toMake) {\n this.mkdir(dirToMake);\n }\n }\n\n rmdir(directoryPath: string): void {\n const node = this.#getNode(directoryPath);\n if (!node || node.tombstone) {\n return; // this isnt how FS usually work but its what we are doing\n }\n assertType(node, \"dir\");\n if (node.stub) {\n this.#unstubDirectory(node);\n }\n\n if (node.dir.size === 0) {\n this.#replaceNode(node, {\n type: \"dir\",\n tombstone: true,\n needsFlush: true,\n });\n } else {\n throw new Error(\"directory not empty\");\n }\n }\n\n exists(filePath: string): boolean {\n const node = this.#getNode(filePath); // canonicalizes for us\n return !!node && !node.tombstone;\n }\n\n readFile(filePath: string, opts?: undefined): Buffer;\n readFile(filePath: string, opts: { encoding: BufferEncoding }): string;\n readFile(filePath: string, opts: { asJson: true }): object;\n readFile(\n filePath: string,\n opts: undefined | { encoding: BufferEncoding; asJson?: false } | { encoding?: never; asJson: true }\n ) {\n let node = this.#getNodeResolvingSymlinks(filePath); // canonicalizes for us\n\n if (!node) {\n return undefined;\n }\n assertNotType(node, \"dir\");\n assertNoTombstone(node);\n\n if (node.stub) {\n node = this.#replaceNode(node, {\n type: \"file\",\n file: this.fs.readFileSync(filePath),\n needsFlush: false,\n });\n }\n\n if (!opts) {\n return Buffer.from(node.file);\n } else if (opts.asJson) {\n return JSON.parse(node.file.toString(\"utf-8\"));\n } else {\n return node.file.toString(opts.encoding);\n }\n }\n\n writeFile(filePath: string, buffer: Buffer): void;\n writeFile(filePath: string, body: string, opts: { encoding: BufferEncoding }): void;\n writeFile(filePath: string, body: string, opts: { encoding: BufferEncoding }): void;\n writeFile(filePath: string, body: string | Buffer, opts?: { encoding: BufferEncoding }) {\n const fileContentsAsBuffer = typeof body === \"string\" ? Buffer.from(body, opts?.encoding) : Buffer.from(body);\n\n const canonicalPath = path.resolve(filePath);\n const existingNode = this.#getNodeResolvingSymlinks(canonicalPath);\n if (existingNode) {\n if (existingNode.type === \"dir\") {\n throw new Error(\"cant write file to a dir\");\n }\n this.#replaceNode(existingNode, {\n file: fileContentsAsBuffer,\n type: \"file\",\n needsFlush: true,\n });\n return;\n }\n\n const maybeDirNode = this.#getNodeResolvingSymlinks(path.dirname(canonicalPath));\n assertExists(maybeDirNode);\n assertType(maybeDirNode, \"dir\");\n assertNoTombstone(maybeDirNode);\n\n maybeDirNode.dir.set(path.basename(canonicalPath), {\n type: \"file\",\n fullPath: canonicalPath,\n parent: maybeDirNode,\n file: fileContentsAsBuffer,\n needsFlush: true,\n });\n }\n\n deleteFile(filePath: string) {\n const canonicalPath = path.resolve(filePath);\n const node = this.#getNode(canonicalPath);\n if (!node || (node.type === \"file\" && node.tombstone === true)) return;\n assertNotType(node, \"dir\");\n this.#replaceNode(node, {\n type: \"file\",\n tombstone: true,\n needsFlush: true,\n });\n }\n\n readJson(filePath: string) {\n return this.readFile(filePath, { asJson: true });\n }\n\n writeJson(filePath: string, o: object): void {\n return this.writeFile(filePath, JSON.stringify(o, undefined, 2) + \"\\n\", {\n encoding: \"utf-8\",\n });\n }\n\n async #flushFileNode(node: FileNode | FileStubNode | FileTombstoneNode): Promise<unknown> {\n // FIXME all tombstones need a flush, so we can get rid of needsFlush for them\n if (node.tombstone) {\n try {\n await this.fs.promises.access(node.fullPath);\n return this.fs.promises.unlink(node.fullPath);\n } catch (e) {\n // should only throw if file doesnt exist which is no op\n return;\n }\n } else if (node.stub === true || node.needsFlush === false) {\n return;\n } else {\n // we dont do things with file stubs\n return this.fs.promises.writeFile(node.fullPath, node.file);\n }\n }\n\n async #flushSymlinkNode(node: SymlinkNode) {\n if (!node.needsFlush) return;\n try {\n const linkValue = await this.fs.promises.readlink(node.fullPath);\n if (linkValue === node.symlink) {\n return;\n }\n } catch (e) {\n // expected when the link doesnt exist\n }\n return this.fs.promises.symlink(node.symlink, node.fullPath);\n }\n\n async #flushDirNode(node: DirNode | DirStubNode | DirTombstoneNode): Promise<unknown> {\n if (!node.tombstone && node.needsFlush) {\n try {\n await this.fs.promises.access(node.fullPath); // throws if the file doesnt exist\n } catch (e) {\n await this.fs.promises.mkdir(node.fullPath); // throws if it does :(\n }\n }\n\n const promises: Promise<unknown>[] = [];\n for (const child of node.dir.values()) {\n if (node.tombstone && !child.tombstone) {\n throw new Error(\"Unexpected failure during sanity check. A non-deleted child is on a deleted dir\");\n }\n if (child.type === \"dir\") {\n promises.push(this.#flushDirNode(child));\n } else if (child.type === \"file\") {\n promises.push(this.#flushFileNode(child));\n } else if (child.type === \"symlink\") {\n promises.push(this.#flushSymlinkNode(child));\n } else {\n throw new Error(\"should never happen\");\n }\n }\n await Promise.all(promises);\n if (node.tombstone) {\n return this.fs.promises.rmdir(node.fullPath);\n }\n return;\n }\n\n flush() {\n const promises: Promise<unknown>[] = [];\n for (const rootNode of this.#trees.values()) {\n promises.push(this.#flushDirNode(rootNode));\n }\n return Promise.all(promises);\n }\n}\n","/*!\n * Copyright 2022 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport micromatch from \"micromatch\";\nimport { nanosecondsToSanity } from \"./nanosecondsToSanity.js\";\nimport { Table } from \"./Table.js\";\n// This file requires a LOT of caching to be performant. We have three layers to avoid work.\n\n/**\n * Multimap cache of whether a needle was found in the glob haystack. Short circuits many\n * individual checks against the globs.\n */\nconst cache = new Map</* haystack */ readonly string[], Map</* needle */ string, /* result */ boolean>>();\n\n/**\n * Multimap cache of whether a needle matches a glob. Allows us to avoid regexp's.\n */\nconst singleMatcherCache = new Map</* glob */ string, Map</* needle */ string, /* result*/ boolean>>();\n\n/**\n * Cache of glob to regular expression. Compiling the regular expression is expensive.\n */\nconst compiledGlobCache = new Map</* glob */ string, RegExp>();\n\nlet haystackMiss = 0;\nlet haystackHit = 0;\n\nlet matchTime = BigInt(0);\n\nlet singleMatcherHits = 0;\nlet singleMatcherMisses = 0;\nlet singleMatcherSaves = 0; // hits + hits you would have had if the haystack didn't save you\n\ninterface MatchesAnyGlob {\n (needle: string, haystack: readonly string[]): boolean | undefined;\n printStats?: () => void;\n}\nexport const matchesAnyGlob: MatchesAnyGlob = function matchesAnyGlobFunc(needle: string, haystack: readonly string[]) {\n matchTime -= process.hrtime.bigint();\n\n let cacheForHaystack = cache.get(haystack);\n if (cacheForHaystack === undefined) {\n cacheForHaystack = new Map<string, boolean>();\n cache.set(haystack, cacheForHaystack);\n }\n\n let result = cacheForHaystack!.get(needle);\n if (result === undefined) {\n haystackMiss++;\n result = false;\n for (const pattern of haystack) {\n // result = needleInPattern(needle, pattern); // commented out as a reminder to update both\n // BEGIN INLINE of needleInPattern\n let patternCache = singleMatcherCache.get(pattern);\n if (patternCache === undefined) {\n patternCache = new Map<string, boolean>();\n singleMatcherCache.set(pattern, patternCache);\n }\n\n // N.B. true/false/undefined\n result = patternCache.get(needle); // only thing different from the inline is we need to reuse `result`\n if (result === undefined) {\n let regexp: RegExp | undefined | false = compiledGlobCache.get(pattern);\n if (regexp === undefined) {\n regexp = micromatch.makeRe(pattern);\n // if (regexp === false) throw new Error(\"bad glob\");\n compiledGlobCache.set(pattern, regexp);\n }\n\n singleMatcherMisses++;\n result = regexp.test(needle);\n patternCache.set(needle, result);\n } else {\n singleMatcherHits++;\n singleMatcherSaves++;\n }\n // END INLINE of needleInPattern\n if (result) break;\n }\n cacheForHaystack!.set(needle, result);\n } else {\n singleMatcherSaves += haystack.length;\n haystackHit++;\n }\n matchTime += process.hrtime.bigint();\n return result;\n};\n\nmatchesAnyGlob.printStats = () => {\n const table = new Table<[string, string]>({\n title: \"matchesAnyGlob stats\",\n showHeader: true,\n showFooter: false,\n columns: [\n { header: \"Stat\", type: \"string\" },\n { header: \"Value\", type: \"string\" },\n ],\n });\n table.addRow(\"Haystack Miss\", \"\" + haystackMiss);\n table.addRow(\"Haystack Hit\", \"\" + haystackHit);\n table.addRow(\"Single Glob Hits\", \"\" + singleMatcherHits);\n table.addRow(\"Single Glob Misses\", \"\" + singleMatcherMisses);\n table.addRow(\"Single Glob Saves\", \"\" + singleMatcherSaves);\n table.addRow(\"Total Time\", nanosecondsToSanity(matchTime, 6));\n\n table.print();\n};\n\n/**\n * @deprecated Don't use this directly. We manually inline it above\n */\nexport function needleInPattern(needle: string, pattern: string) {\n // benchmark says the uncommented version is best\n // https://jsben.ch/Y8TWs\n\n // option 2\n let patternCache = singleMatcherCache.get(pattern);\n if (patternCache === undefined) {\n patternCache = new Map<string, boolean>();\n singleMatcherCache.set(pattern, patternCache);\n }\n\n // N.B. true/false/undefined\n let result = patternCache.get(needle);\n if (result === undefined) {\n let regexp: RegExp | undefined | false = compiledGlobCache.get(pattern);\n if (regexp === undefined) {\n regexp = micromatch.makeRe(pattern);\n // if (regexp === false) throw new Error(\"bad glob\");\n compiledGlobCache.set(pattern, regexp);\n }\n\n singleMatcherMisses++;\n result = regexp.test(needle);\n patternCache.set(needle, result);\n } else {\n singleMatcherHits++;\n singleMatcherSaves++;\n }\n\n return result;\n}\n","/*!\n * Copyright 2022 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nexport function nanosecondsToSanity(n: bigint, precision: number = 9) {\n return n / BigInt(1000000000) + \".\" + (\"\" + (n % BigInt(1000000000))).padStart(9, \"0\").substring(0, precision) + \"s\";\n}\n","/*!\n * Copyright 2022 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n// tslint:disable:no-console\nimport { nanosecondsToSanity } from \"./nanosecondsToSanity.js\";\ntype HeaderFooterHelper<HB, FB, H, F> = (HB extends true ? { header: H } : { header?: H }) &\n (FB extends true ? { footer: F } : { footer?: F });\n\ntype WithAlignemnt = { alignment?: \"right\" | \"left\" };\ntype BaseCellConfig = WithAlignemnt & { type: \"bigint\" | \"string\" };\n\ntype BaseBigIntCellConfig = {\n type: \"bigint\";\n renderAs?: \"nanoseconds\";\n precision?: number;\n} & WithAlignemnt;\ntype BaseStringCellConfig = { type: \"string\" } & WithAlignemnt;\n\ntype BigIntColumnConfig<H, F> = WithAlignemnt &\n BaseBigIntCellConfig &\n HeaderFooterHelper<H, F, string, AggregateFooterConfig | StaticFooterConfig>;\n\ntype StringColumnConfig<H, F> = WithAlignemnt &\n BaseStringCellConfig &\n HeaderFooterHelper<H, F, string, StaticFooterConfig>;\n\ntype AggregateFooterConfig = {\n aggregate: \"sum\" | \"average\";\n renderAs?: \"nanoseconds\";\n precision?: number;\n} & WithAlignemnt;\n\ntype StaticFooterConfig = StrictStaticFooterConfig | string;\ntype StrictStaticFooterConfig = {\n aggregate: \"static\";\n value: string;\n} & WithAlignemnt;\n\ntype AnyStrictFooterConfig = AggregateFooterConfig | StrictStaticFooterConfig;\n\ntype TableConfig<T extends any[], H extends boolean, F extends boolean> = {\n sortColumn?: number;\n padding?: number;\n showHeader: H;\n showFooter: F;\n columns: {\n [K in keyof T]: T[K] extends bigint ? BigIntColumnConfig<H, F> : StringColumnConfig<H, F>;\n };\n title: string;\n};\n\ntype InternalTableConfig = {\n padding: number;\n showHeader: boolean;\n showFooter: boolean;\n sortColumn?: number;\n columns: Array<BigIntColumnConfig<any, any> | StringColumnConfig<any, any>>;\n title: string;\n};\n\nexport class Table<T extends any[]> {\n #rows: T[] = [];\n #config: InternalTableConfig;\n #columnWidths: number[] = [];\n #footer: Array<bigint | string> = [];\n #footerRowConfig?: Array<Required<BaseCellConfig> & AnyStrictFooterConfig>;\n #totalWidth = 0;\n\n constructor(\n config:\n | TableConfig<T, true, true>\n | TableConfig<T, true, false>\n | TableConfig<T, false, true>\n | TableConfig<T, false, false>\n ) {\n this.#config = {\n padding: 2,\n ...config,\n };\n this.#columnWidths.fill(0, 0, config.columns.length);\n\n if (config.showFooter) {\n this.#footerRowConfig = [];\n for (const columnConfig of config.columns) {\n if (columnConfig.footer === undefined) {\n throw new Error(\"Must specify footer fields when showFooter is true\");\n } else if (typeof columnConfig.footer === \"string\") {\n this.#footerRowConfig.push({\n type: \"string\",\n alignment: \"left\",\n aggregate: \"static\",\n value: columnConfig.footer,\n });\n } else if (\"value\" in columnConfig.footer) {\n this.#footerRowConfig.push({\n type: \"string\",\n alignment: \"left\",\n ...columnConfig.footer,\n });\n } else if (\"aggregate\" in columnConfig.footer) {\n if (columnConfig.type !== \"bigint\") throw new Error(\"expecting bigint for aggregate\");\n this.#footerRowConfig.push({\n type: columnConfig.type,\n renderAs: columnConfig.renderAs,\n precision: columnConfig.precision,\n alignment: \"right\",\n ...columnConfig.footer,\n });\n }\n }\n }\n }\n\n addRow(...data: T) {\n // TODO: maybe clone the data\n this.#rows.push(data);\n }\n\n #sumColumn(c: number) {\n let total = BigInt(0);\n for (const row of this.#rows) {\n total += row[c];\n }\n return total;\n }\n\n #updateFooterRow() {\n const footerRowConfig = this.#footerRowConfig;\n if (footerRowConfig) {\n for (let c = 0; c < footerRowConfig.length; c++) {\n const footerColConfig = footerRowConfig[c];\n\n switch (footerColConfig.aggregate) {\n case \"sum\":\n this.#footer[c] = this.#sumColumn(c);\n break;\n case \"average\":\n this.#footer[c] = this.#sumColumn(c) / BigInt(this.#rows.length);\n break;\n case \"static\":\n this.#footer[c] = footerColConfig.value;\n break;\n }\n }\n }\n }\n\n #calculateColumnWidths() {\n this.#columnWidths.fill(0, 0, this.#config.columns.length);\n\n for (let c = 0; c < this.#config.columns.length; c++) {\n const colConfig = this.#config.columns[c];\n this.#columnWidths[c] = Math.max(\n (this.#config.columns[c].header ?? \"\").length,\n ...this.#rows.map((a) => this.#getCellValueAsString(a[c], colConfig).length),\n this.#footer && this.#footerRowConfig\n ? this.#getCellValueAsString(this.#footer?.[c] ?? \"\", this.#footerRowConfig[c]).length\n : 0\n );\n }\n\n this.#totalWidth = 0;\n for (const colWidth of this.#columnWidths) {\n this.#totalWidth += colWidth;\n }\n this.#totalWidth += (this.#columnWidths.length - 1) * this.#config.padding;\n }\n\n #printSeparator(fillString: string) {\n const paddingString = \"\".padStart(this.#config.padding, \" \");\n\n let hr2 = \"\";\n\n // tslint:disable-next-line: prefer-for-of\n for (let c = 0; c < this.#columnWidths.length; c++) {\n hr2 += \"\".padStart(this.#columnWidths[c], fillString) + paddingString;\n }\n hr2 = hr2.trimRight();\n console.log(hr2);\n }\n\n #printHeaderRow() {\n if (this.#config.showHeader) {\n const colConfigs = this.#config.columns;\n const paddingString = \"\".padStart(this.#config.padding, \" \");\n\n let hr = \"\";\n for (let c = 0; c < colConfigs.length; c++) {\n const heading = colConfigs[c].header ?? \"\";\n hr += heading.padEnd(this.#columnWidths[c], \" \") + paddingString;\n }\n hr = hr.trimRight();\n console.log(hr);\n\n this.#printSeparator(\"-\");\n }\n }\n\n #printFooterRow() {\n const footerRow = this.#footer;\n if (footerRow) {\n this.#printSeparator(\"=\");\n\n const paddingString = \"\".padStart(this.#config.padding, \" \");\n\n let hr = \"\";\n for (let c = 0; c < footerRow.length; c++) {\n hr += this.#getCellValueAligned(footerRow[c], this.#footerRowConfig![c], c) + paddingString; // .padEnd(this.#columnWidths[c], \" \") + paddingString;\n }\n hr = hr.trimRight();\n console.log(hr);\n }\n }\n\n print() {\n // let data = [...this.#rows];\n if (this.#config.sortColumn !== undefined) {\n // todo\n }\n\n this.#updateFooterRow();\n this.#calculateColumnWidths();\n\n console.log();\n console.log(`${this.#config.title}`);\n console.log(\"\".padStart(this.#totalWidth, \"=\"));\n\n const paddingString = \"\".padStart(this.#config.padding, \" \");\n if (this.#config.showHeader) {\n this.#printHeaderRow();\n }\n\n for (let r = 0; r < this.#rows.length; r++) {\n let rowText = \"\";\n for (let c = 0; c < this.#config.columns.length; c++) {\n rowText += this.getEntryAsStringAligned(c, r) + paddingString;\n }\n rowText.trim();\n console.log(rowText);\n }\n\n if (this.#config.showFooter) this.#printFooterRow();\n console.log();\n }\n\n #getCellValueAsString(value: bigint | string, config: BaseBigIntCellConfig | BaseStringCellConfig) {\n if (config.type === \"bigint\" && config.renderAs === \"nanoseconds\") {\n return nanosecondsToSanity(value as bigint, config.precision ?? 9);\n } else {\n return \"\" + value;\n }\n }\n\n #getCellValueAligned(value: bigint | string, config: BaseBigIntCellConfig | BaseStringCellConfig, column: number) {\n let result: string;\n if (config.type === \"bigint\" && config.renderAs === \"nanoseconds\") {\n result = nanosecondsToSanity(value as bigint, config.precision ?? 9);\n } else {\n result = \"\" + value;\n }\n\n if (config.alignment === \"left\") {\n return result.padEnd(this.#columnWidths[column]);\n } else {\n return result.padStart(this.#columnWidths[column]);\n }\n }\n\n getEntryAsString(colNum: number, rowNum: number) {\n const config = this.#config.columns[colNum];\n\n if (config.type === \"bigint\" && config.renderAs === \"nanoseconds\") {\n return nanosecondsToSanity(this.#rows[rowNum][colNum], config.precision ?? 9);\n } else {\n return \"\" + this.#rows[rowNum][colNum];\n }\n }\n\n getEntryAsStringAligned(colNum: number, rowNum: number) {\n const config = this.#config.columns[colNum];\n\n let result: string;\n if (config.type === \"bigint\" && config.renderAs === \"nanoseconds\") {\n result = nanosecondsToSanity(this.#rows[rowNum][colNum], config.precision ?? 9);\n } else {\n result = \"\" + this.#rows[rowNum][colNum];\n }\n\n if (config.alignment === \"left\") {\n return result.padEnd(this.#columnWidths[colNum]);\n } else {\n return result.padStart(this.#columnWidths[colNum]);\n }\n }\n\n getColumnWidth(colNum: number, config: BigIntColumnConfig<boolean, boolean> | StringColumnConfig<boolean, boolean>) {\n let maxWidth = Math.max(\n (config.header ?? \"\").length,\n this.#footer && this.#footerRowConfig\n ? this.#getCellValueAsString(this.#footer[colNum], this.#footerRowConfig[colNum]).length\n : 0\n );\n\n for (let r = 0; r < this.#rows.length; r++) {\n maxWidth = Math.max(maxWidth, this.getEntryAsString(colNum, r).length);\n // if (config.type == \"bigint\" && config.renderAs === \"nanoseconds\") {\n // maxWidth = Math.max(maxWidth, Number(row[colNum] / BigInt(1000000000)) + 10); // 1 for period, 9 for digits\n // } else if (config.type == \"bigint\" || config.type == \"string\") {\n // maxWidth = Math.max(maxWidth, (\"\" + row[colNum]).length);\n // }\n }\n\n return maxWidth;\n }\n}\n","/*!\n * Copyright 2022 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n// tslint:disable:no-console\n\nimport { Table } from \"./Table.js\";\nexport class AggregateTiming {\n #data = new Map<string, { count: number; total: bigint }>();\n #last: { count: number; total: bigint } | undefined;\n\n constructor(private title: string) {}\n\n public start(name: string) {\n const time = process.hrtime.bigint();\n if (this.#last) {\n this.#last.total += time;\n }\n\n let data = this.#data.get(name);\n if (data === undefined) {\n data = { count: 1, total: -time };\n this.#data.set(name, data);\n } else {\n data.total -= time;\n data.count++;\n }\n this.#last = data;\n }\n\n public stop() {\n const time = process.hrtime.bigint();\n if (this.#last) {\n this.#last.total += time;\n this.#last = undefined;\n }\n }\n\n public printResults() {\n const table = new Table<[bigint, string, bigint, bigint]>({\n sortColumn: -1,\n showFooter: true,\n showHeader: true,\n title: this.title,\n columns: [\n {\n header: \"Duration\",\n type: \"bigint\",\n renderAs: \"nanoseconds\",\n footer: { aggregate: \"sum\" },\n },\n { header: \"Task\", type: \"string\", alignment: \"left\", footer: \"TOTAL\" },\n { header: \"Count\", type: \"bigint\", footer: { aggregate: \"sum\" } },\n { header: \"Avg\", type: \"bigint\", footer: { aggregate: \"average\" } },\n ],\n });\n\n for (const [name, value] of this.#data) {\n table.addRow(\n value.total,\n name,\n BigInt(value.count), // fixme this can be a number later\n value.total / BigInt(value.count)\n );\n }\n table.print();\n }\n}\n","/*!\n * Copyright 2022 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n// tslint:disable:no-console\nimport { Table } from \"./Table.js\";\nexport class Timing {\n #starts: Array<{ name?: string; start: bigint }> = [];\n constructor(private title: string) {\n this.stop(); // make sure we have starting point\n }\n\n public start(name: string) {\n this.#starts.push({ name, start: process.hrtime.bigint() });\n }\n\n public stop() {\n this.#starts.push({ start: process.hrtime.bigint() });\n }\n\n public printResults() {\n const table = new Table<[bigint, string]>({\n sortColumn: -1,\n showFooter: true,\n showHeader: true,\n title: this.title,\n columns: [\n {\n header: \"Duration\",\n type: \"bigint\",\n renderAs: \"nanoseconds\",\n precision: 4,\n footer: { aggregate: \"sum\" },\n },\n { header: \"Task\", type: \"string\", footer: \"TOTAL\" },\n ],\n });\n\n this.stop(); // be sure we stopped the last one\n\n let cur: { name?: string; start: bigint } = this.#starts[0];\n for (const entry of this.#starts) {\n if (cur.name) {\n const span = entry.start - cur.start;\n table.addRow(span, cur.name);\n }\n cur = entry;\n }\n\n table.print();\n }\n}\n"],"mappings":"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","names":["path","path","fs","fs","path","realFs","path","fs","promises"]}
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.d.ts","../../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/modules/index.d.ts","../src/nanosecondsToSanity.ts","../src/Table.ts","../src/AggregateTiming.ts","../src/Host.ts","../src/CachingHost.ts","../src/PackageJson.ts","../src/SimpleHost.ts","../src/Timing.ts","../../../node_modules/.pnpm/locate-path@7.2.0/node_modules/locate-path/index.d.ts","../../../node_modules/.pnpm/find-up@7.0.0/node_modules/find-up/index.d.ts","../src/findWorkspaceDir.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/globals.global.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/index.d.ts","../../../node_modules/.pnpm/minipass@7.0.4/node_modules/minipass/dist/esm/index.d.ts","../../../node_modules/.pnpm/lru-cache@10.2.0/node_modules/lru-cache/dist/esm/index.d.ts","../../../node_modules/.pnpm/path-scurry@1.10.2/node_modules/path-scurry/dist/esm/index.d.ts","../../../node_modules/.pnpm/minimatch@9.0.4/node_modules/minimatch/dist/esm/ast.d.ts","../../../node_modules/.pnpm/minimatch@9.0.4/node_modules/minimatch/dist/esm/escape.d.ts","../../../node_modules/.pnpm/minimatch@9.0.4/node_modules/minimatch/dist/esm/unescape.d.ts","../../../node_modules/.pnpm/minimatch@9.0.4/node_modules/minimatch/dist/esm/index.d.ts","../../../node_modules/.pnpm/glob@10.3.12/node_modules/glob/dist/esm/pattern.d.ts","../../../node_modules/.pnpm/glob@10.3.12/node_modules/glob/dist/esm/processor.d.ts","../../../node_modules/.pnpm/glob@10.3.12/node_modules/glob/dist/esm/walker.d.ts","../../../node_modules/.pnpm/glob@10.3.12/node_modules/glob/dist/esm/ignore.d.ts","../../../node_modules/.pnpm/glob@10.3.12/node_modules/glob/dist/esm/glob.d.ts","../../../node_modules/.pnpm/glob@10.3.12/node_modules/glob/dist/esm/has-magic.d.ts","../../../node_modules/.pnpm/glob@10.3.12/node_modules/glob/dist/esm/index.d.ts","../../../node_modules/.pnpm/read-yaml-file@2.1.0/node_modules/read-yaml-file/index.d.ts","../../../node_modules/.pnpm/@pnpm+types@8.9.0/node_modules/@pnpm/types/lib/misc.d.ts","../../../node_modules/.pnpm/@pnpm+types@8.9.0/node_modules/@pnpm/types/lib/package.d.ts","../../../node_modules/.pnpm/@pnpm+types@8.9.0/node_modules/@pnpm/types/lib/options.d.ts","../../../node_modules/.pnpm/@pnpm+types@8.9.0/node_modules/@pnpm/types/lib/peerDependencyIssues.d.ts","../../../node_modules/.pnpm/@pnpm+types@8.9.0/node_modules/@pnpm/types/lib/project.d.ts","../../../node_modules/.pnpm/@pnpm+types@8.9.0/node_modules/@pnpm/types/lib/index.d.ts","../../../node_modules/.pnpm/find-packages@10.0.4/node_modules/find-packages/lib/index.d.ts","../src/getWorkspacePackageDirs.ts","../src/getPackageNameToDir.ts","../src/mutateJson.ts","../../../node_modules/.pnpm/@types+braces@3.0.1/node_modules/@types/braces/index.d.ts","../../../node_modules/.pnpm/@types+micromatch@4.0.7/node_modules/@types/micromatch/index.d.ts","../src/matchesAnyGlob.ts","../src/index.ts","../../../node_modules/.pnpm/@types+yargs-parser@21.0.3/node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/.pnpm/@types+yargs@17.0.32/node_modules/@types/yargs/index.d.ts","../../../node_modules/.pnpm/@types+istanbul-lib-coverage@2.0.4/node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../../../node_modules/.pnpm/@types+istanbul-lib-report@3.0.1/node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/.pnpm/@types+istanbul-reports@3.0.2/node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/.pnpm/@sinclair+typebox@0.27.8/node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/.pnpm/@jest+schemas@29.6.3/node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/.pnpm/@jest+types@29.6.3/node_modules/@jest/types/build/index.d.ts","../../../node_modules/.pnpm/jest-mock@29.7.0/node_modules/jest-mock/build/index.d.ts","../../../node_modules/.pnpm/@types+stack-utils@2.0.1/node_modules/@types/stack-utils/index.d.ts","../../../node_modules/.pnpm/jest-message-util@29.7.0/node_modules/jest-message-util/build/index.d.ts","../../../node_modules/.pnpm/@jest+fake-timers@29.7.0/node_modules/@jest/fake-timers/build/index.d.ts","../../../node_modules/.pnpm/@jest+environment@29.7.0/node_modules/@jest/environment/build/index.d.ts","../../../node_modules/.pnpm/@jest+expect-utils@29.7.0/node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/.pnpm/pretty-format@29.7.0/node_modules/pretty-format/build/index.d.ts","../../../node_modules/.pnpm/jest-diff@29.7.0/node_modules/jest-diff/build/index.d.ts","../../../node_modules/.pnpm/jest-matcher-utils@29.7.0/node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/.pnpm/expect@29.7.0/node_modules/expect/build/index.d.ts","../../../node_modules/.pnpm/jest-snapshot@29.7.0/node_modules/jest-snapshot/build/index.d.ts","../../../node_modules/.pnpm/@jest+expect@29.7.0/node_modules/@jest/expect/build/index.d.ts","../../../node_modules/.pnpm/@jest+globals@29.7.0/node_modules/@jest/globals/build/index.d.ts","../src/__tests__/CachingHost.spec.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","impliedFormat":1},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true,"impliedFormat":1},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","impliedFormat":1},{"version":"31973b272be35eab5ecf20a38ea54bec84cdc0317117590cb813c72fe0ef75b3","impliedFormat":99},{"version":"f8f39d325cf57cb47aee89aae7e01b6a7a619ee5c3f8c4d0cca8c3f130db9285","signature":"c4cd90ffa81f741e388390eb2d98ff44b6adf4c665f736febdd3dbffb2fadf0a","impliedFormat":99},{"version":"951b9aa7e7e610ee6b2fe70a35e1049a87698714107edfc62121031e9adf9ca7","signature":"870e5859b9a4ce1de65f770e05412579760cf1e8eb8c93c6582567b368eac291","impliedFormat":99},{"version":"85a03c22a0b9b14c7492dd9373c549a1fdbe17f8350f4787d7e8200898f8fd2a","signature":"6660dab483db5bafac7e069d18afddf92d5e4032f111d22d758141472fd98f2c","impliedFormat":99},{"version":"23aed73ef4d12c0d5e4a88a710e57f62363f5bcb20414def921c62a4c744ce2c","signature":"724ef855c964dc215ddf545972d0e9d13d23bbb9701c40ee5dffd7afd38e17eb","impliedFormat":99},{"version":"9905097e098149c6858c3bb99a62a22d021cee7159038152a279e5ab1a4b8e74","signature":"37d11a517fff0983b0d7d9fe6a548813b4bd3d9aedf83feae36ce98ea215aab1","impliedFormat":99},{"version":"310261e03a29690f57698d0d9f83942252a6db42cf86db91bf477b18439c1320","signature":"d615f1bc998932d8c0b983728390033b7b086358a571d1028f029e4a6c78777c","impliedFormat":99},{"version":"16d635e8e4e97d6b9c36f4d97a4c63cf4595c4d323a5090b3aebb6edf57b45f5","signature":"91936947c2623172217992d68719bd1ce8221f1bbfe80de70029def48ea62c79","impliedFormat":99},{"version":"d921d201ba5b5b47c12bfb52923bb02c972904aecefc8a7fc04ab1b9d326192f","signature":"ffa086b0f8036756e3138c05a323b582b1ec4859e409b89f27cdd08ee8bf6833","impliedFormat":99},{"version":"51cac533b4031fe5d4fecef5635afac9c0dca87c11f5b325e49e1600a9c51117","impliedFormat":99},{"version":"3657ccb355f52a6ccfb2ae731e7e789e619d220858a522e4108479797cd2ab53","impliedFormat":99},{"version":"712fa8e87186180bf88bd0c3d2ce4fbc558f74e8ed16dfd0ee81862bd84e3725","signature":"0c62cfee4672b3978916b5f42c9d86df359e72a65b235595fdf3fc614d59590f","impliedFormat":99},{"version":"3846d0dcf468a1d1a07e6d00eaa37ec542956fb5fe0357590a6407af20d2ff90","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"4d719cfab49ae4045d15cb6bed0f38ad3d7d6eb7f277d2603502a0f862ca3182","affectsGlobalScope":true,"impliedFormat":1},{"version":"39b1a50d543770780b0409a4caacb87f3ff1d510aedfeb7dc06ed44188256f89","impliedFormat":1},{"version":"b6a4a51bc749ad882c33d98563ff5a94716ca884bfde949a8c97bad530e4ee2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"16b872cf5432818bdbf405428b4a1d77bb2a7ab908e8bd6609f9a541cea92f81","impliedFormat":1},{"version":"fe39ceafa361b6d339b518936275eff89a77e7dfe92f2efa5fb97abf9a95ca49","impliedFormat":1},{"version":"4009dd21843fe4a62d1d97b584a2937ca9f045df6fbd65c8b264d8dd04b656fd","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"c9e6ea53a25729dbb5b5bb6960db4387df2f8e88add9cbf36b6ff590481134f9","impliedFormat":1},{"version":"3e95e6310d49db6d575ac6c2896c02761426aa5aab0b18169f971151c709b770","impliedFormat":1},{"version":"7eb0662b995994db248290a0f0a1d8ed685991a162ff9eb4dee36f099cccd0d9","impliedFormat":1},{"version":"bea5c9fc0843a6961411ab4a04df856a8372448bc0d180da0c3a054ff31044b8","impliedFormat":1},{"version":"715873cecbfcebb49f293f0521bd0955d6298486e2eeb9c7bbf5e9f20a6ed152","impliedFormat":1},{"version":"c6cf9428f45f3d78b07df7d7aab1569994c177d36549e3a962f952d89f026bc4","impliedFormat":1},{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c7b9d2139abd8f2e83ed8fa018c3799ab3187755a6665621feb6e93d3429ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"a019c9782ea4e21c83881c780cebce8ad86e3f78122619336eacbd87e47fe674","impliedFormat":1},{"version":"021ca24be8eb8c46f99b4e03ebf872931f590c9b07b88d715c68bd30495b6c44","impliedFormat":1},{"version":"5899ab1898582115c432cccef063298f75477bf2cebe5473360043fddd67bcc6","impliedFormat":1},{"version":"6b97f4106d72ae6b4ebf4e46d2fe90f4d04dd04b3dbff6e294572440a428209d","impliedFormat":1},{"version":"e3baa0c5780c2c805ec33a999722a2f740b572eb3746fd0a5f93a0a5c3dbf7f6","impliedFormat":1},{"version":"48fedd2f8549a2ae7e62f30fdb015779c2a7b536760730c5269406cd3d17cab2","impliedFormat":1},{"version":"e492737de7f023b47ff14ca54b9635ba3dcd64816ed3316c9f3a784cf5897173","affectsGlobalScope":true,"impliedFormat":1},{"version":"c874bfffe38a94b129077eaba4e26575972d545d5d04cd64e90c02d2c029ead6","impliedFormat":1},{"version":"f5ce35485541e817c2d4105d3eb78e3e538bbb009515ed014694363fa3e94ceb","impliedFormat":1},{"version":"323506ce173f7f865f42f493885ee3dacd18db6359ea1141d57676d3781ce10c","impliedFormat":1},{"version":"bd88055918cf8bf30ad7c9269177f7ebeafd4c5f0d28919edccd1c1d24f7e73c","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e87d6463aa0ba359f921387ee468b167300400ff952c9ebddf1310838f531c3","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea3ab3727cd6c222d94003ecafa30e8550c61eadcdabbf59514aee76e86211a5","impliedFormat":1},{"version":"d3cdd41693c5ed6bec4f1a1c399d9501372b14bd341bc46eedacf2854c5df5a7","impliedFormat":1},{"version":"2de7a21c92226fb8abbeed7a0a9bd8aa6d37e4c68a8c7ff7938c644267e9fcc1","impliedFormat":1},{"version":"6d6070c5c81ba0bfe58988c69e3ba3149fc86421fd383f253aeb071cbf29cd41","impliedFormat":1},{"version":"48dab0d6e633b8052e7eaa0efb0bb3d58a733777b248765eafcb0b0349439834","impliedFormat":1},{"version":"6e4b2642721462bf62d19593770659f268a6ca1e9fd15543747efb3ac471cee3","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"cdaaf046791d7d588f28f32197c5d6acc43343e62540a67eed194c9c20535fdc","impliedFormat":1},{"version":"4b1ff655bd8edd879dd4f04f15338ce0109f58ccb424165d44fa07e7ea39c4bf","impliedFormat":1},{"version":"6fa3d3f427475a5d21fed826d6457e7f9ee3a0abeb3124fc41f385f112368d2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"300f8e9de0b0c3482be3e749462b6ebc3dab8a316801f1da0def94aed0cd2018","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","impliedFormat":1},{"version":"9dee6f8fc3554cbb111713d2ff809b4e5dfda42b04d1ee647c15abcf9c80dc9b","impliedFormat":1},{"version":"76a89af04f2ba1807309320dab5169c0d1243b80738b4a2005989e40a136733e","impliedFormat":1},{"version":"c045b664abf3fc2a4750fa96117ab2735e4ed45ddd571b2a6a91b9917e231a02","impliedFormat":1},{"version":"ca619678b887ae262316673b55bb358c517593d3b6b96c1271972716c699da32","affectsGlobalScope":true,"impliedFormat":1},{"version":"40ed27386f21a739bd0d2e2cfed563760588f2aeaa7ad149c1bf1454a7ec743a","affectsGlobalScope":true,"impliedFormat":1},{"version":"d1ef1d8516286380fd0a6f498f1650d374a8cb5f03d91633b6124e4fb8fb131d","impliedFormat":1},{"version":"04f1ad42872f8b20c70b54161c4d799aac3020e55bf4553be22fb6851b445389","impliedFormat":1},{"version":"2641e5e19268b6f5038ad48a6e2598965301df8a77c48c99d8df760a6a154204","impliedFormat":1},{"version":"6a4a80787c57c10b3ea8314c80d9cc6e1deb99d20adca16106a337825f582420","affectsGlobalScope":true,"impliedFormat":1},{"version":"f2b9440f98d6f94c8105883a2b65aee2fce0248f71f41beafd0a80636f3a565d","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","impliedFormat":1},{"version":"754b29335a40fd4d307f0c5061f030cf6bf02405815e804d987e51eb096c1dfe","impliedFormat":99},{"version":"0cfa8b466d3a09233752da79d842afeeeaa23c8198f0121fc955de1f05153682","impliedFormat":99},{"version":"ff86ae870a0db18a0dd1a7388fd326b5369e6a2798ab8b317c386f0fe85b8ae9","impliedFormat":99},{"version":"7212c2d58855b8df35275180e97903a4b6093d4fbaefea863d8d028da63938c6","impliedFormat":99},{"version":"de0199a112f75809a7f80ec071495159dcf3e434bc021347e0175627398264c3","impliedFormat":99},{"version":"1a2bed55cfa62b4649485df27c0e560b04d4da4911e3a9f0475468721495563f","impliedFormat":99},{"version":"854045924626ba585f454b53531c42aed4365f02301aa8eca596423f4675b71f","impliedFormat":99},{"version":"e98b3ca1b8f4e1bc56f6d3bbbe0aa64125d343d775946be3d3d698ce5b14ac2f","impliedFormat":99},{"version":"6ff702721d87c0ba8e7f8950e7b0a3b009dfd912fab3997e0b63fab8d83919c3","impliedFormat":99},{"version":"0ebc45e94d223dd26041e814409e47a136e1fd3034da54da9f83de4c9653ce59","impliedFormat":99},{"version":"50542cad26bd372cb942d418d42cdeced50a4d4226db390a1e3405f3d9a6103f","impliedFormat":99},{"version":"b2aa4efba851cba00ada246d92fdad98d793f55126a5da96a31d2faa19a31630","impliedFormat":99},{"version":"ef1f3eadd7bed282de45bafd7c2c00105cf1db93e22f6cd763bec8a9c2cf6df1","impliedFormat":99},{"version":"ef65d2f6377f3506a454c341ba1749ae686d7d11d18ed601e98322eff69e765b","impliedFormat":99},{"version":"42cf86815569d2bb0f02a9e79a1a718cb424f49e23e610558c1d152c00a9f1b1","impliedFormat":1},{"version":"b48d939bbd8ffdbe4bde76743d767589cfbc7cdad05aaae3dbe98ab9d3ddab5d","impliedFormat":1},{"version":"a9b975ed2ed518ba863c183d434efc548f02d9ac6651d77e0f1d97a61e5c6604","impliedFormat":1},{"version":"fe0b95e70e95b6da3c7d366f8af021859fa453d6a443410087eb127d174fae8c","impliedFormat":1},{"version":"81d4834f1eef8c3057ea3594a5262c4425e5e2d0e56c344bf82d93f360bd48b5","impliedFormat":1},{"version":"f12c47a423f97fa985caebf23bd09b2ea7cb458d37c5ef150af751c1c319ab6e","impliedFormat":1},{"version":"e4b3af8d821ba8d59cdb52facbdfa001771ab624a66b8bc00814f93a8cf191cc","impliedFormat":1},{"version":"26e13bcc8cf6cd48daea8b60948f8d64c4565e26799c45900edbeb8fc7b7fef9","impliedFormat":1},{"version":"9fbd62d2f6be2fc21642413281e8d4b02a75ac2613204806f203df9e3adf3c55","signature":"d0cd3721bfd00535a22adfaa790f78c7e48cac3cf78972c3bb1e9be294072d07","impliedFormat":99},{"version":"1a38d8a22cb684bbed4d48984a64efb63a8385b201e936a85bb445f762aabe28","signature":"ab71c42b2e9517059da73859f5bc6ca254ffa81bde22c575b844279198548bb2","impliedFormat":99},{"version":"1a9ad93c0928960eefa4dbf952b911d74c4ce2d901da860ca4de4895f18afc60","signature":"866e59736bae2a62433871b029b0e8fac3f81133ee1fecd2968a4e2fbf36c585","impliedFormat":99},{"version":"40304c033bb6e39f0eb01b106d29523950148dfc3cd547ddb500167871171281","impliedFormat":1},{"version":"8c2c8b774c33dc4ac7c77584fcbc010c80bccf7457cd31a3b9eff2210984f20f","impliedFormat":1},{"version":"5b45b784204a3564598005f77f62cc067cbad593087ec2d4636c214d7e629756","signature":"90a6ace1248ccd1474f5ccd2031e4c24f9ca23f1f0d7bd9eb72f07c1d81f13a7","impliedFormat":99},{"version":"00c107739a8b2e750f70dedd2669744514bbc9ce1bfe0384b32534d998902504","signature":"740da95c9a3f8d57e608ef58c3d5e5761c1eda4383fdc9a1fd9ec7bb64f091e4","impliedFormat":99},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e","impliedFormat":1},{"version":"8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c79bd2f3e5c05e7ad80dc82ce8d339cac23ac1f5e6cfab96c860bb70d5162873","impliedFormat":1},{"version":"e3328cedfe4d7fac23ba75d00bf5169269800ab949d0837cd88c4211a52c3762","impliedFormat":1},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"e00243d23c495ca2170c9b9e20b5c92331239100b51efdc2b4401cdad859bbef","impliedFormat":1},{"version":"41ea7fd137518560e0d2af581edadadd236b685b5e2f80f083127a28e01cf0ac","impliedFormat":1},{"version":"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","impliedFormat":1},{"version":"6fa5d56af71f07dc276aae3f6f30807a9cccf758517fb39742af72e963553d80","impliedFormat":1},{"version":"819dddfec57391f8458929ca8e4377f030d42107ff6ec431e620b70b0695d530","impliedFormat":1},{"version":"701bdef1f4a13932f64c4ce89537f2c66301eb46daf30a16a436c991df568686","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"ac5f598a09eed39b957ae3d909b88126f3faf605bd4589c19e9ae85d23ef71e3","impliedFormat":1},{"version":"92abba98a71c0244a6bcdd3ad4d2e04f1d0a8bcae57d2bb865bf53d1ac86e3d0","impliedFormat":1},{"version":"d2afa0d86bc6f2e72c1cf2ecb2372bf1b0f002493706a81f2b9a3ee4f944e219","impliedFormat":1},{"version":"c48a8ee58fd71b1630c63422dfe441485f4d7af4d874acf8d24416373fb1b96c","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99}],"root":[[64,71],74,[183,185],188,189,212],"options":{"allowJs":true,"allowSyntheticDefaultImports":false,"composite":true,"declaration":true,"declarationDir":"./types","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"importHelpers":true,"module":100,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./js","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[153,155,160,198,199,202],[153],[153,208,209],[153,198,199,201],[153,198,199,203,210],[153,196],[153,160,191,192,193,195,197],[153,176,177,178,179,180],[153,176,177],[153,177],[153,192],[153,194],[153,186],[75,153],[110,153],[111,116,144,153],[112,123,124,131,141,152,153],[112,113,123,131,153],[114,153],[115,116,124,132,153],[116,141,149,153],[117,119,123,131,153],[118,153],[119,120,153],[123,153],[121,123,153],[110,123,153],[123,124,125,141,152,153],[123,124,125,138,141,144,153],[108,153,157],[119,123,126,131,141,152,153],[123,124,126,127,131,141,149,152,153],[126,128,141,149,152,153],[75,76,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159],[123,129,153],[130,152,153,157],[119,123,131,141,153],[132,153],[133,153],[110,134,153],[135,151,153,157],[136,153],[137,153],[123,138,139,153],[138,140,153,155],[111,123,141,142,143,144,153],[111,141,143,153],[141,142,153],[144,153],[145,153],[110,141,153],[123,147,148,153],[147,148,153],[116,131,141,149,153],[150,153],[131,151,153],[111,126,137,152,153],[116,153],[141,153,154],[130,153,155],[153,156],[111,116,123,125,134,141,152,153,155,157],[141,153,158],[153,190],[153,204,207],[153,181],[72,153],[153,160,161,163,167,168,171],[153,172],[153,163,167,170],[153,161,163,167,170,171,172,173],[153,160,167],[153,163,167,168,170],[153,160,161,163,168,169,171],[153,205],[153,193,206],[153,198,200],[153,198,205,208],[153,167],[153,164,165,166],[123,145,153,160],[124,133,153,160,161,162],[153,197],[62,153],[85,89,152,153],[85,141,152,153],[80,153],[82,85,149,152,153],[131,149,153],[153,160],[80,153,160],[82,85,131,152,153],[77,78,81,84,111,123,141,152,153],[77,83,153],[81,85,111,144,152,153,160],[111,153,160],[101,111,153,160],[79,80,153,160],[85,153],[79,80,81,82,83,84,85,86,87,89,90,91,92,93,94,95,96,97,98,99,100,102,103,104,105,106,107,153],[85,92,93,153],[83,85,93,94,153],[84,153],[77,80,85,153],[85,89,93,94,153],[89,153],[83,85,88,152,153],[77,82,83,85,89,92,153],[111,141,153],[80,85,101,111,153,157,160],[63,65,153],[63,67,124,133,153],[63,153],[63,67,124,153],[63,64,153],[63,68,124,132,133,153,211],[63,67,69,73,124,133,153],[63,67,69,133,153,183],[63,67,69,124,133,153,174,175,182],[63,64,65,66,67,68,69,70,71,74,153,183,184,185,188],[63,64,65,153,187],[63,67,153],[67,124],[67],[64,65,66,67,68,69,70,71,74,183,184,185,188]],"referencedMap":[[203,1],[204,2],[210,3],[202,4],[211,5],[197,6],[198,7],[181,8],[176,2],[178,9],[177,2],[179,2],[180,10],[196,2],[186,2],[192,2],[194,11],[195,12],[187,13],[75,14],[76,14],[110,15],[111,16],[112,17],[113,18],[114,19],[115,20],[116,21],[117,22],[118,23],[119,24],[120,24],[122,25],[121,26],[123,27],[124,28],[125,29],[109,30],[159,2],[126,31],[127,32],[128,33],[160,34],[129,35],[130,36],[131,37],[132,38],[133,39],[134,40],[135,41],[136,42],[137,43],[138,44],[139,44],[140,45],[141,46],[143,47],[142,48],[144,49],[145,50],[146,51],[147,52],[148,53],[149,54],[150,55],[151,56],[152,57],[153,58],[154,59],[155,60],[156,61],[157,62],[158,63],[200,2],[190,2],[191,64],[193,2],[208,65],[182,66],[73,67],[172,68],[173,69],[171,70],[174,71],[168,72],[169,73],[170,74],[206,75],[207,76],[201,77],[199,2],[209,78],[72,2],[162,2],[164,79],[165,79],[167,80],[166,79],[161,81],[163,82],[205,83],[175,2],[63,84],[62,2],[60,2],[61,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[21,2],[4,2],[22,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[37,2],[34,2],[35,2],[36,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[50,2],[9,2],[51,2],[52,2],[53,2],[56,2],[54,2],[55,2],[57,2],[58,2],[10,2],[1,2],[59,2],[92,85],[99,86],[91,85],[106,87],[83,88],[82,89],[105,90],[100,91],[103,92],[85,93],[84,94],[80,95],[79,96],[102,97],[81,98],[86,99],[87,2],[90,99],[77,2],[108,100],[107,99],[94,101],[95,102],[97,103],[93,104],[96,105],[101,90],[88,106],[89,107],[98,108],[78,109],[104,110],[66,111],[68,112],[67,113],[69,113],[70,114],[65,115],[71,111],[212,116],[74,117],[184,118],[183,119],[189,120],[188,121],[185,122],[64,113]],"exportedModulesMap":[[203,1],[204,2],[210,3],[202,4],[211,5],[197,6],[198,7],[181,8],[176,2],[178,9],[177,2],[179,2],[180,10],[196,2],[186,2],[192,2],[194,11],[195,12],[187,13],[75,14],[76,14],[110,15],[111,16],[112,17],[113,18],[114,19],[115,20],[116,21],[117,22],[118,23],[119,24],[120,24],[122,25],[121,26],[123,27],[124,28],[125,29],[109,30],[159,2],[126,31],[127,32],[128,33],[160,34],[129,35],[130,36],[131,37],[132,38],[133,39],[134,40],[135,41],[136,42],[137,43],[138,44],[139,44],[140,45],[141,46],[143,47],[142,48],[144,49],[145,50],[146,51],[147,52],[148,53],[149,54],[150,55],[151,56],[152,57],[153,58],[154,59],[155,60],[156,61],[157,62],[158,63],[200,2],[190,2],[191,64],[193,2],[208,65],[182,66],[73,67],[172,68],[173,69],[171,70],[174,71],[168,72],[169,73],[170,74],[206,75],[207,76],[201,77],[199,2],[209,78],[72,2],[162,2],[164,79],[165,79],[167,80],[166,79],[161,81],[163,82],[205,83],[175,2],[63,84],[62,2],[60,2],[61,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[21,2],[4,2],[22,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[37,2],[34,2],[35,2],[36,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[50,2],[9,2],[51,2],[52,2],[53,2],[56,2],[54,2],[55,2],[57,2],[58,2],[10,2],[1,2],[59,2],[92,85],[99,86],[91,85],[106,87],[83,88],[82,89],[105,90],[100,91],[103,92],[85,93],[84,94],[80,95],[79,96],[102,97],[81,98],[86,99],[87,2],[90,99],[77,2],[108,100],[107,99],[94,101],[95,102],[97,103],[93,104],[96,105],[101,90],[88,106],[89,107],[98,108],[78,109],[104,110],[68,123],[70,123],[74,124],[184,124],[183,124],[189,125],[185,124]],"semanticDiagnosticsPerFile":[203,204,210,202,211,197,198,181,176,178,177,179,180,196,186,192,194,195,187,75,76,110,111,112,113,114,115,116,117,118,119,120,122,121,123,124,125,109,159,126,127,128,160,129,130,131,132,133,134,135,136,137,138,139,140,141,143,142,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,200,190,191,193,208,182,73,172,173,171,174,168,169,170,206,207,201,199,209,72,162,164,165,167,166,161,163,205,175,63,62,60,61,12,11,2,13,14,15,16,17,18,19,20,3,21,4,22,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,58,10,1,59,92,99,91,106,83,82,105,100,103,85,84,80,79,102,81,86,87,90,77,108,107,94,95,97,93,96,101,88,89,98,78,104,66,68,67,69,70,65,71,212,74,184,183,189,188,185,64],"latestChangedDtsFile":"./types/__tests__/CachingHost.spec.d.ts"},"version":"5.4.5"}
@@ -0,0 +1,15 @@
1
+ /*!
2
+ * Copyright 2022 Palantir Technologies, Inc.
3
+ *
4
+ * Licensed under the MIT license. See LICENSE file in the project root for details.
5
+ *
6
+ */
7
+ export declare class AggregateTiming {
8
+ #private;
9
+ private title;
10
+ constructor(title: string);
11
+ start(name: string): void;
12
+ stop(): void;
13
+ printResults(): void;
14
+ }
15
+ //# sourceMappingURL=AggregateTiming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AggregateTiming.d.ts","sourceRoot":"","sources":["../../src/AggregateTiming.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,qBAAa,eAAe;;IAId,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAE1B,KAAK,CAAC,IAAI,EAAE,MAAM;IAiBlB,IAAI;IAQJ,YAAY;CA6BpB"}
@@ -0,0 +1,39 @@
1
+ /*!
2
+ * Copyright 2022 Palantir Technologies, Inc.
3
+ *
4
+ * Licensed under the MIT license. See LICENSE file in the project root for details.
5
+ *
6
+ */
7
+ /// <reference types="node" resolution-mode="require"/>
8
+ /// <reference types="node" resolution-mode="require"/>
9
+ import * as realFs from "node:fs";
10
+ import { Host } from "./Host.js";
11
+ export declare class CachingHost implements Host {
12
+ #private;
13
+ private fs;
14
+ constructor(fs?: Pick<typeof realFs, "existsSync" | "lstatSync" | "mkdirSync" | "promises" | "readdirSync" | "readFileSync" | "readlinkSync" | "realpathSync" | "rmdirSync" | "statSync" | "unlinkSync" | "writeFileSync">);
15
+ mkdir(filePath: string, opts?: {
16
+ recursive: boolean;
17
+ }): void;
18
+ rmdir(directoryPath: string): void;
19
+ exists(filePath: string): boolean;
20
+ readFile(filePath: string, opts?: undefined): Buffer;
21
+ readFile(filePath: string, opts: {
22
+ encoding: BufferEncoding;
23
+ }): string;
24
+ readFile(filePath: string, opts: {
25
+ asJson: true;
26
+ }): object;
27
+ writeFile(filePath: string, buffer: Buffer): void;
28
+ writeFile(filePath: string, body: string, opts: {
29
+ encoding: BufferEncoding;
30
+ }): void;
31
+ writeFile(filePath: string, body: string, opts: {
32
+ encoding: BufferEncoding;
33
+ }): void;
34
+ deleteFile(filePath: string): void;
35
+ readJson(filePath: string): object;
36
+ writeJson(filePath: string, o: object): void;
37
+ flush(): Promise<unknown[]>;
38
+ }
39
+ //# sourceMappingURL=CachingHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CachingHost.d.ts","sourceRoot":"","sources":["../../src/CachingHost.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;AAEH,OAAO,KAAK,MAAM,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAsFjC,qBAAa,WAAY,YAAW,IAAI;;IAKpC,OAAO,CAAC,EAAE;gBAAF,EAAE,GAAE,IAAI,CACd,OAAO,MAAM,EACX,YAAY,GACZ,WAAW,GACX,WAAW,GACX,UAAU,GACV,aAAa,GACb,cAAc,GACd,cAAc,GACd,cAAc,GACd,WAAW,GACX,UAAU,GACV,YAAY,GACZ,eAAe,CACT;IA6JZ,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAyB,GAAG,IAAI;IAqClF,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAqBlC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAKjC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM;IACpD,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,cAAc,CAAA;KAAE,GAAG,MAAM;IACtE,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,GAAG,MAAM;IA8B1D,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IACjD,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI;IACnF,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI;IAgCnF,UAAU,CAAC,QAAQ,EAAE,MAAM;IAY3B,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAIzB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAoE5C,KAAK;CAON"}
@@ -0,0 +1,38 @@
1
+ /*!
2
+ * Copyright 2022 Palantir Technologies, Inc.
3
+ *
4
+ * Licensed under the MIT license. See LICENSE file in the project root for details.
5
+ *
6
+ */
7
+ /// <reference types="node" resolution-mode="require"/>
8
+ export interface Host {
9
+ /**
10
+ * Reads and parses a json file.
11
+ */
12
+ readJson(filename: string): unknown;
13
+ /**
14
+ * Writes a json file.
15
+ * @param path path to write
16
+ * @param o object to write
17
+ */
18
+ writeJson(path: string, o: object): void;
19
+ writeFile(path: string, buffer: Buffer): void;
20
+ writeFile(path: string, body: string, opts: {
21
+ encoding: BufferEncoding;
22
+ }): void;
23
+ readFile(path: string, opts?: undefined): Buffer;
24
+ readFile(path: string, opts: {
25
+ encoding: BufferEncoding;
26
+ }): string;
27
+ readFile(path: string, opts: {
28
+ asJson: true;
29
+ }): object;
30
+ exists(path: string): boolean;
31
+ mkdir(directoryPath: string, opts?: {
32
+ recursive: boolean;
33
+ }): void;
34
+ rmdir(directoryPath: string): void;
35
+ deleteFile(path: string): void;
36
+ flush(): Promise<unknown>;
37
+ }
38
+ //# sourceMappingURL=Host.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Host.d.ts","sourceRoot":"","sources":["../../src/Host.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAEpC;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI,CAAC;IAEhF,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;IACjD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,cAAc,CAAA;KAAE,GAAG,MAAM,CAAC;IACnE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,GAAG,MAAM,CAAC;IAEvD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IAClE,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3B"}
@@ -0,0 +1,20 @@
1
+ /*!
2
+ * Copyright 2019 Palantir Technologies, Inc.
3
+ *
4
+ * Licensed under the MIT license. See LICENSE file in the project root for details.
5
+ *
6
+ */
7
+ export interface PackageJson {
8
+ name?: string;
9
+ scripts?: Record<string, string>;
10
+ dependencies?: Record<string, string>;
11
+ devDependencies?: Record<string, string>;
12
+ peerDependencies?: Record<string, string>;
13
+ optionalDependencies?: Record<string, string>;
14
+ workspaces?: {
15
+ packages?: string[];
16
+ nohoist?: string[];
17
+ } | string[];
18
+ [otherKey: string]: unknown;
19
+ }
20
+ //# sourceMappingURL=PackageJson.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageJson.d.ts","sourceRoot":"","sources":["../../src/PackageJson.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,oBAAoB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,UAAU,CAAC,EACP;QACE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,GACD,MAAM,EAAE,CAAC;IACb,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B"}
@@ -0,0 +1,35 @@
1
+ /*!
2
+ * Copyright 2022 Palantir Technologies, Inc.
3
+ *
4
+ * Licensed under the MIT license. See LICENSE file in the project root for details.
5
+ *
6
+ */
7
+ /// <reference types="node" resolution-mode="require"/>
8
+ /// <reference types="node" resolution-mode="require"/>
9
+ import * as realFs from "fs";
10
+ import { Host } from "./Host.js";
11
+ export declare class SimpleHost implements Host {
12
+ private fs;
13
+ constructor(fs?: typeof realFs);
14
+ mkdir(directoryPath: string, opts?: {
15
+ recursive: boolean;
16
+ }): void;
17
+ rmdir(directoryPath: string): void;
18
+ exists(path: string): boolean;
19
+ writeFile(path: string, buffer: Buffer): void;
20
+ writeFile(path: string, body: string, opts: {
21
+ encoding: BufferEncoding;
22
+ }): void;
23
+ readFile(path: string, opts?: undefined): Buffer;
24
+ readFile(path: string, opts: {
25
+ encoding: BufferEncoding;
26
+ }): string;
27
+ readFile(path: string, opts: {
28
+ asJson: true;
29
+ }): object;
30
+ deleteFile(path: string): void;
31
+ readJson(filename: string): any;
32
+ writeJson(path: string, o: object): void;
33
+ flush(): Promise<void>;
34
+ }
35
+ //# sourceMappingURL=SimpleHost.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SimpleHost.d.ts","sourceRoot":"","sources":["../../src/SimpleHost.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;;AAEH,OAAO,KAAK,MAAM,MAAM,IAAI,CAAC;AAE7B,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,qBAAa,UAAW,YAAW,IAAI;IACzB,OAAO,CAAC,EAAE;gBAAF,EAAE,GAAE,OAAO,MAAe;IAC9C,KAAK,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAE,SAAS,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI;IAGjE,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAIlC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI7B,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAC7C,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,cAAc,CAAA;KAAE,GAAG,IAAI;IAQ/E,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,MAAM;IAChD,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,QAAQ,EAAE,cAAc,CAAA;KAAE,GAAG,MAAM;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,GAAG,MAAM;IAOtD,UAAU,CAAC,IAAI,EAAE,MAAM;IAGvB,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAIzB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAGxC,KAAK;CAIN"}
@@ -0,0 +1,53 @@
1
+ type HeaderFooterHelper<HB, FB, H, F> = (HB extends true ? {
2
+ header: H;
3
+ } : {
4
+ header?: H;
5
+ }) & (FB extends true ? {
6
+ footer: F;
7
+ } : {
8
+ footer?: F;
9
+ });
10
+ type WithAlignemnt = {
11
+ alignment?: "right" | "left";
12
+ };
13
+ type BaseBigIntCellConfig = {
14
+ type: "bigint";
15
+ renderAs?: "nanoseconds";
16
+ precision?: number;
17
+ } & WithAlignemnt;
18
+ type BaseStringCellConfig = {
19
+ type: "string";
20
+ } & WithAlignemnt;
21
+ type BigIntColumnConfig<H, F> = WithAlignemnt & BaseBigIntCellConfig & HeaderFooterHelper<H, F, string, AggregateFooterConfig | StaticFooterConfig>;
22
+ type StringColumnConfig<H, F> = WithAlignemnt & BaseStringCellConfig & HeaderFooterHelper<H, F, string, StaticFooterConfig>;
23
+ type AggregateFooterConfig = {
24
+ aggregate: "sum" | "average";
25
+ renderAs?: "nanoseconds";
26
+ precision?: number;
27
+ } & WithAlignemnt;
28
+ type StaticFooterConfig = StrictStaticFooterConfig | string;
29
+ type StrictStaticFooterConfig = {
30
+ aggregate: "static";
31
+ value: string;
32
+ } & WithAlignemnt;
33
+ type TableConfig<T extends any[], H extends boolean, F extends boolean> = {
34
+ sortColumn?: number;
35
+ padding?: number;
36
+ showHeader: H;
37
+ showFooter: F;
38
+ columns: {
39
+ [K in keyof T]: T[K] extends bigint ? BigIntColumnConfig<H, F> : StringColumnConfig<H, F>;
40
+ };
41
+ title: string;
42
+ };
43
+ export declare class Table<T extends any[]> {
44
+ #private;
45
+ constructor(config: TableConfig<T, true, true> | TableConfig<T, true, false> | TableConfig<T, false, true> | TableConfig<T, false, false>);
46
+ addRow(...data: T): void;
47
+ print(): void;
48
+ getEntryAsString(colNum: number, rowNum: number): string;
49
+ getEntryAsStringAligned(colNum: number, rowNum: number): string;
50
+ getColumnWidth(colNum: number, config: BigIntColumnConfig<boolean, boolean> | StringColumnConfig<boolean, boolean>): number;
51
+ }
52
+ export {};
53
+ //# sourceMappingURL=Table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../src/Table.ts"],"names":[],"mappings":"AAQA,KAAK,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC,GACxF,CAAC,EAAE,SAAS,IAAI,GAAG;IAAE,MAAM,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,MAAM,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAErD,KAAK,aAAa,GAAG;IAAE,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CAAE,CAAC;AAGtD,KAAK,oBAAoB,GAAG;IAC1B,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,aAAa,CAAC;AAClB,KAAK,oBAAoB,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,GAAG,aAAa,CAAC;AAE/D,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,GAC3C,oBAAoB,GACpB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,qBAAqB,GAAG,kBAAkB,CAAC,CAAC;AAE/E,KAAK,kBAAkB,CAAC,CAAC,EAAE,CAAC,IAAI,aAAa,GAC3C,oBAAoB,GACpB,kBAAkB,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;AAEvD,KAAK,qBAAqB,GAAG;IAC3B,SAAS,EAAE,KAAK,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,aAAa,CAAC;AAElB,KAAK,kBAAkB,GAAG,wBAAwB,GAAG,MAAM,CAAC;AAC5D,KAAK,wBAAwB,GAAG;IAC9B,SAAS,EAAE,QAAQ,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,aAAa,CAAC;AAIlB,KAAK,WAAW,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,OAAO,IAAI;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,CAAC,CAAC;IACd,UAAU,EAAE,CAAC,CAAC;IACd,OAAO,EAAE;SACN,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC;KAC1F,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAWF,qBAAa,KAAK,CAAC,CAAC,SAAS,GAAG,EAAE;;gBAS9B,MAAM,EACF,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAC1B,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,GAC3B,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAC3B,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC;IAwClC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC;IAqGjB,KAAK;IAsDL,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAU/C,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IAiBtD,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC;CAmBnH"}
@@ -0,0 +1,9 @@
1
+ export declare class Timing {
2
+ #private;
3
+ private title;
4
+ constructor(title: string);
5
+ start(name: string): void;
6
+ stop(): void;
7
+ printResults(): void;
8
+ }
9
+ //# sourceMappingURL=Timing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Timing.d.ts","sourceRoot":"","sources":["../../src/Timing.ts"],"names":[],"mappings":"AAQA,qBAAa,MAAM;;IAEL,OAAO,CAAC,KAAK;gBAAL,KAAK,EAAE,MAAM;IAI1B,KAAK,CAAC,IAAI,EAAE,MAAM;IAIlB,IAAI;IAIJ,YAAY;CA+BpB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=CachingHost.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CachingHost.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/CachingHost.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ /*!
2
+ * Copyright 2019 Palantir Technologies, Inc.
3
+ *
4
+ * Licensed under the MIT license. See LICENSE file in the project root for details.
5
+ *
6
+ */
7
+ import { Host } from "./Host.js";
8
+ export declare function findPnpmWorkspaceDir(cwd: string): Promise<string | undefined>;
9
+ export declare function findWorkspaceDir(host: Pick<Host, "readJson" | "exists">, dir: string): Promise<string | undefined>;
10
+ //# sourceMappingURL=findWorkspaceDir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"findWorkspaceDir.d.ts","sourceRoot":"","sources":["../../src/findWorkspaceDir.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,+BAKrD;AAED,wBAAsB,gBAAgB,CACpC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC,EACvC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAsB7B"}
@@ -0,0 +1,14 @@
1
+ /*!
2
+ * Copyright 2019 Palantir Technologies, Inc.
3
+ *
4
+ * Licensed under the MIT license. See LICENSE file in the project root for details.
5
+ *
6
+ */
7
+ import { Host } from "./Host.js";
8
+ /**
9
+ * returns a map of package names to their directories in the workspace.
10
+ * if `resolvePaths` is true, the returned directory names are absolute paths
11
+ * resolved against the `workspaceDir`.
12
+ */
13
+ export declare function getPackageNameToDir(host: Pick<Host, "readJson" | "exists">, workspaceDir: string, resolvePaths?: boolean): Promise<Map<string, string>>;
14
+ //# sourceMappingURL=getPackageNameToDir.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPackageNameToDir.d.ts","sourceRoot":"","sources":["../../src/getPackageNameToDir.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,CAAC,EACvC,YAAY,EAAE,MAAM,EACpB,YAAY,GAAE,OAAe,gCAc9B"}
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * Copyright 2019 Palantir Technologies, Inc.
3
+ *
4
+ * Licensed under the MIT license. See LICENSE file in the project root for details.
5
+ *
6
+ */
7
+ import { Host } from "./Host.js";
8
+ export declare function getWorkspacePackageDirs(host: Pick<Host, "readJson" | "exists">, workspaceDir: string, resolvePaths?: boolean): Promise<string[]>;
9
+ //# sourceMappingURL=getWorkspacePackageDirs.d.ts.map