vis-dev-utils 3.0.118 → 3.0.119
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.
- package/babel-register/index.js +2 -7
- package/babel-register/index.js.map +1 -1
- package/bin/ci-utils.js +2 -6
- package/bin/ci-utils.js.map +1 -1
- package/bin/generate-examples-index.js +72 -326
- package/bin/generate-examples-index.js.map +1 -1
- package/bin/test-e2e-interop.js +14 -234
- package/bin/test-e2e-interop.js.map +1 -1
- package/dist/vis-dev-utils.cjs.js +96 -163
- package/dist/vis-dev-utils.cjs.js.map +1 -1
- package/dist/vis-dev-utils.esm.js +96 -163
- package/dist/vis-dev-utils.esm.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-e2e-interop.js","sources":["../src/test-e2e-interop/cli.ts","../src/test-e2e-interop/util.ts","../src/test-e2e-interop/test.ts","../src/test-e2e-interop/index.ts"],"sourcesContent":["import yargs from \"yargs\";\n\nconst y = yargs\n .strict(true)\n .usage(\"test-e2e-interop [options]\")\n .hide(\"version\")\n .config()\n .help()\n\n .option(\"fail-command\", {\n demandOption: false,\n describe:\n 'This command will be run in a shell (therefore commands like \"$SHELL\" will work) after failure to inspect the state.',\n type: \"string\",\n })\n .option(\"package-script\", {\n array: true,\n default: [\"clean?\", \"build!\", \"test!\", \"generate-examples-index?\"],\n demandOption: false,\n describe:\n 'The package scripts to run with each package, either \"script-name!\" to fail or \"script-name?\" to skip if the script doesn\\'t exist in given package. By default the script is used for all packages, if you want to use it only for one add package name: \"package-name script-name!\". Scripts are invoked sequentially and command line order is preserved.',\n type: \"string\",\n })\n .option(\"project\", {\n array: true,\n default: [] as string[],\n demandOption: false,\n describe:\n 'Projects to clone using Git, copy from directory or install from tarball. The format is \"package-name URL/path\".',\n type: \"string\",\n })\n .option(\"tmp-dir\", {\n demandOption: false,\n describe:\n \"The working directory for E2E testing. If omitted a new tmp dir will be created and then disposed of.\",\n type: \"string\",\n })\n .option(\"logs-to-stdout\", {\n demandOption: false,\n default: false,\n describe: \"Output the logs to the stdout after the tests finished.\",\n type: \"boolean\",\n });\n\n/**\n *\n */\nexport function parseArguments(): ReturnType<typeof y[\"parseSync\"]> {\n return y.parserConfiguration({ \"camel-case-expansion\": false }).parseSync();\n}\n","import { execSync, spawn } from \"child_process\";\nimport { basename, join } from \"path\";\nimport { createWriteStream, readFile, rename } from \"fs-extra\";\n\nexport class ProjectState {\n /**\n * This will be resolved or rejected once all the tasks associated with this\n * project finish.\n */\n public promise: Promise<void>;\n /**\n * Run this to mark the project as successfully finished.\n */\n public resolve!: () => void;\n /**\n * Run this to mark the project as failed.\n */\n public reject!: (reason: Error) => void;\n /**\n * Provide information about current state of the project.\n */\n public stage = \"pending\";\n\n public constructor() {\n this.promise = new Promise<void>((resolve, reject): void => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n\n/**\n * Output formatted error message to stderr.\n *\n * @param title - Some explanatory text as to what's going on.\n * @param details - The error or some other message as to what went wrong.\n */\nexport function logError(title: string, details?: unknown): void {\n const wrappedDetails =\n details != null\n ? `\\n${details instanceof Error ? details.message : details}`\n : \"\";\n process.stderr.write(`\\n==> ${title}${wrappedDetails}\\n`);\n}\n/**\n * @param title\n * @param details\n */\nexport function logInfo(title: string, details?: string): void {\n const wrappedDetails = details ? `:\\n${details}` : \"\";\n process.stdout.write(`\\n==> ${title}${wrappedDetails}\\n`);\n}\n\n/**\n * @param cwd\n * @param failCommand\n * @param error\n */\nexport function execFail(\n cwd: string,\n failCommand: string | null | undefined,\n error: Error | string\n): void {\n if (failCommand) {\n console.error(\"\\n\\nReason for debugging:\");\n console.error(error);\n console.error(\"\\n\\nDebuging:\");\n try {\n execSync(failCommand, {\n cwd,\n encoding: \"utf8\",\n env: { ...process.env, VIS_INTEROP: \"1\" },\n stdio: \"inherit\",\n });\n } catch (error) {\n console.error(error);\n console.error(\n \"The error above is the fail command exitting with non-zero status, not an actual failure in the interop test.\"\n );\n }\n }\n}\n\nexport type Spawn = (options: SpawnOrTrhowArgs) => Promise<void>;\n\nexport interface SpawnOrTrhowArgs {\n cmd: readonly string[];\n cwd: string;\n failCommand?: string;\n}\n/**\n * @param logDir\n * @param getState\n */\nexport function createSpawner(logDir: string, getState: () => string[]): Spawn {\n let nextId = 1;\n\n return function spawnThrow({ cmd, cwd, failCommand }): ReturnType<Spawn> {\n const id = nextId++;\n const getHeaderLines = (): string[] => [\n \"time: \" + new Date().toISOString(),\n \"id: \" + id,\n \"cwd: \" + cwd,\n \"cmd: \" + cmd.map((word): string => JSON.stringify(word)).join(\" \"),\n \"states:\",\n ...getState(),\n ];\n const getLogMessage = (): string =>\n getHeaderLines()\n .map((line): string => \" \" + line)\n .join(\"\\n\");\n\n logInfo(\"Start\", getLogMessage());\n\n return new Promise((resolve, reject): void => {\n const commandLogPath = join(\n logDir,\n [\n basename(cwd).replace(/[^a-zA-Z0-9]+/g, \"-\"),\n cmd.join(\"-\").replace(/[^a-zA-Z0-9]+/g, \"-\"),\n \"id-\" + (\"\" + id).padStart(3, \"0\"),\n \"log\",\n ].join(\".\")\n );\n const logStream = createWriteStream(commandLogPath, {\n flags: \"a\",\n });\n\n logStream.write(getHeaderLines().join(\"\\n\") + \"\\n\\n\");\n\n const child = spawn(cmd[0], cmd.slice(1), {\n cwd,\n env: { ...process.env, VIS_INTEROP: \"1\" },\n stdio: \"pipe\",\n });\n\n child.stdout.pipe(logStream);\n child.stderr.pipe(logStream);\n\n /**\n * Add status to the file name just before the .log extension on a best\n * effort basis (no errors reported)..\n *\n * @param code - The code or other kind of status to append.\n */\n function addStatusCodeToFilename(code: string | number): void {\n const newPath =\n commandLogPath.slice(0, -4) + \".status-\" + code + \".log\";\n rename(commandLogPath, newPath).catch((error): void => {\n console.error(`Failed to rename log file to ${newPath}.`, error);\n });\n }\n\n let failed = false;\n child.on(\"close\", (code): void => {\n if (failed) {\n // noop\n } else if (code !== 0) {\n logError(\"Fail\", getLogMessage());\n\n const errorMessage = `${cmd\n .map((word): string => `\"${word}\"`)\n .join(\" \")}: exited with ${code}.`;\n\n logStream.end((): void => {\n (async (): Promise<void> => {\n let commandOutput = \"\";\n try {\n commandOutput += await readFile(commandLogPath, \"utf-8\");\n } catch (error) {\n commandOutput += \"Failed to log command output.\";\n }\n execFail(cwd, failCommand, commandOutput + \"\\n\\n\" + errorMessage);\n })();\n });\n\n addStatusCodeToFilename(code ?? \"null\");\n reject(new Error(errorMessage));\n } else {\n logInfo(\"Okay\", getLogMessage());\n addStatusCodeToFilename(code);\n resolve();\n }\n });\n child.on(\"error\", (error): void => {\n failed = true;\n\n logError(\"Fail\", getLogMessage());\n\n execFail(cwd, failCommand, error);\n\n addStatusCodeToFilename(\"error\");\n reject(error);\n });\n });\n };\n}\n","import { DirResult, dirSync, setGracefulCleanup } from \"tmp\";\nimport { resolve as resolvePath } from \"path\";\nimport findUp from \"find-up\";\nimport {\n Stats,\n copy,\n copyFile,\n lstat,\n mkdir,\n mkdirp,\n readFile,\n readdir,\n writeFile,\n unlink,\n} from \"fs-extra\";\n\nimport {\n ProjectState,\n Spawn,\n createSpawner,\n execFail,\n logError,\n logInfo,\n} from \"./util\";\n\n// Remove all temporary files on process exit.\nsetGracefulCleanup();\n\ninterface TestData {\n failCommand?: string;\n packageScripts: readonly PackageScript[];\n projectPaths: ProjectPaths;\n tmpDir: DirResult;\n tmpLogsResolve(...paths: string[]): string;\n tmpReposResolve(...paths: string[]): string;\n tmpRootResolve(...paths: string[]): string;\n visDevUtilsPath: string;\n}\n\nexport interface PackageScript {\n packageName: string | null;\n scriptName: string;\n skipIfMissing: boolean;\n}\n\nexport type ProjectPaths = Record<string, string>;\n\n/**\n * @param tmpPath\n */\nasync function prepareTmpDir(tmpPath?: string): Promise<DirResult> {\n if (tmpPath) {\n await mkdirp(tmpPath);\n\n return {\n name: tmpPath,\n removeCallback: (): void => {},\n };\n } else {\n return dirSync({ unsafeCleanup: true });\n }\n}\n\n/**\n * @param projectName\n */\nfunction getTarballName(projectName: string): string {\n return `${projectName}-0.0.0-no-version.tgz`;\n}\n\n/**\n * @param root0\n * @param root0.tmpRootResolve\n * @param projectName\n */\nfunction getTarballPath(\n { tmpRootResolve }: TestData,\n projectName: string\n): string {\n return tmpRootResolve(`${projectName}.tgz`);\n}\n\n/**\n * @param data\n * @param projectName\n */\nasync function copyTarball(data: TestData, projectName: string): Promise<void> {\n await copyFile(\n data.tmpReposResolve(projectName, getTarballName(projectName)),\n getTarballPath(data, projectName)\n );\n}\n\n/**\n * @param cwd\n */\nasync function getPackageDeps(cwd: string): Promise<string[]> {\n const packageJSONPath = await findUp(\"package.json\", { cwd });\n if (packageJSONPath == null) {\n throw new Error(\"Project's package.json file not found.\");\n }\n const packageJSON = JSON.parse(await readFile(packageJSONPath, \"utf8\"));\n\n return [\n ...new Set([\n ...Object.keys(packageJSON.dependencies || {}),\n ...Object.keys(packageJSON.devDependencies || {}),\n ...Object.keys(packageJSON.peerDependencies || {}),\n ]),\n ];\n}\n\n/**\n * @param data\n * @param projectName\n */\nasync function getPackageLocalDeps(\n data: TestData,\n projectName: string\n): Promise<string[]> {\n const { projectPaths, tmpReposResolve } = data;\n const cwd = tmpReposResolve(projectName);\n return (await getPackageDeps(cwd)).filter(\n (depName): boolean => projectPaths[depName] != null\n );\n}\n\n/**\n * @param spawn\n * @param data\n * @param projectName\n */\nasync function clone(\n spawn: Spawn,\n data: TestData,\n projectName: string\n): Promise<void> {\n const { failCommand, projectPaths, tmpReposResolve } = data;\n\n const cwd = tmpReposResolve();\n const projectPath = projectPaths[projectName];\n\n if (/\\.git$/.test(projectPath)) {\n await spawn({\n cmd: [\n \"git\",\n \"clone\",\n projectPath,\n \"--single-branch\",\n \"--branch\",\n \"master\",\n \"--depth\",\n \"1\",\n ],\n cwd,\n failCommand,\n });\n } else {\n await copy(projectPath, tmpReposResolve(projectName), {\n filter(_src, dest): boolean {\n return (\n !/[\\\\/].git[\\\\/]/.test(dest) && !/[\\\\/]node_modules[\\\\/]/.test(dest)\n );\n },\n });\n }\n}\n\n/**\n * @param cwd\n * @param deps\n */\nasync function updatePackageDepVersions(\n cwd: string,\n deps: Record<string, string>\n): Promise<void> {\n const packageJSONPath = await findUp(\"package.json\", { cwd });\n if (packageJSONPath == null) {\n throw new Error(\"Project's package.json file not found.\");\n }\n const packageJSON = JSON.parse(await readFile(packageJSONPath, \"utf8\"));\n\n Object.keys(packageJSON.dependencies ?? {}).forEach((key): void => {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n packageJSON.dependencies[key] = \"file:\" + deps[key];\n }\n });\n Object.keys(packageJSON.devDependencies ?? {}).forEach((key): void => {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n packageJSON.devDependencies[key] = \"file:\" + deps[key];\n }\n });\n Object.keys(packageJSON.peerDependencies ?? {}).forEach((key): void => {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n packageJSON.peerDependencies[key] = \"file:\" + deps[key];\n }\n });\n\n await writeFile(packageJSONPath, JSON.stringify(packageJSON, undefined, 4));\n}\n\n/**\n * @param spawn\n * @param data\n * @param projectName\n */\nasync function buildTestPack(\n spawn: Spawn,\n data: TestData,\n projectName: string\n): Promise<void> {\n const { failCommand, packageScripts, tmpReposResolve } = data;\n const cwd = tmpReposResolve(projectName);\n\n await updatePackageDepVersions(\n cwd,\n (\n await getPackageLocalDeps(data, projectName)\n ).reduce<Record<string, string>>((acc, key): Record<string, string> => {\n acc[key] = getTarballPath(data, key);\n return acc;\n }, Object.create(null))\n );\n const packageLockPath = await findUp(\"package-lock.json\", { cwd });\n if (packageLockPath != null) {\n await unlink(packageLockPath);\n }\n await spawn({\n cmd: [\"npm\", \"install\"],\n cwd,\n failCommand,\n });\n\n for (const { packageName, scriptName, skipIfMissing } of packageScripts) {\n if (packageName != null && packageName !== projectName) {\n continue;\n } else if (skipIfMissing) {\n await spawn({\n cmd: [\"npm\", \"run\", scriptName, \"--if-present\"],\n cwd,\n failCommand,\n });\n } else {\n await spawn({\n cmd: [\"npm\", \"run\", scriptName],\n cwd,\n failCommand,\n });\n }\n }\n\n await spawn({ cmd: [\"npm\", \"pack\"], cwd, failCommand });\n\n await copyTarball(data, projectName);\n}\n\n/**\n * @param data\n */\nasync function checkTmpPath(data: TestData): Promise<void> {\n const tmpDir = data.tmpRootResolve();\n if ((await readdir(tmpDir)).length !== 0) {\n throw new Error(`The tmp dir (\"${tmpDir}\") is not empty.`);\n }\n}\n\nexport interface TestArgs {\n failCommand?: string;\n logsToStdout?: boolean;\n packageScripts: readonly PackageScript[];\n projectPaths: ProjectPaths;\n tmpPath?: string;\n}\n/**\n * @param root0\n * @param root0.failCommand\n * @param root0.logsToStdout\n * @param root0.packageScripts\n * @param root0.projectPaths\n * @param root0.tmpPath\n */\nexport async function test({\n failCommand,\n logsToStdout,\n packageScripts,\n projectPaths,\n tmpPath,\n}: TestArgs): Promise<boolean> {\n if (process.env.VIS_INTEROP === \"1\") {\n // This would result in infinite loop otherwise.\n logInfo(\"Skipping interop test.\");\n return true;\n }\n\n const data = Object.freeze<TestData>({\n failCommand,\n packageScripts,\n projectPaths,\n tmpDir: await prepareTmpDir(\n tmpPath ? resolvePath(tmpPath, \"repos\") : undefined\n ),\n tmpLogsResolve: (...paths: string[]): string =>\n resolvePath(data.tmpDir.name, \"logs\", ...paths),\n tmpReposResolve: (...paths: string[]): string =>\n resolvePath(data.tmpDir.name, \"repos\", ...paths),\n tmpRootResolve: (...paths: string[]): string =>\n resolvePath(data.tmpDir.name, ...paths),\n visDevUtilsPath: process.cwd(),\n });\n\n const projectStatuses = new Map<string, ProjectState>(\n Object.keys(data.projectPaths).map((project): [string, ProjectState] => [\n project,\n new ProjectState(),\n ])\n );\n /**\n *\n */\n function getStages(): string[] {\n return [...projectStatuses].map(\n ([key, { stage }]): string => ` ${key}: ${stage}`\n );\n }\n\n try {\n const spawn = createSpawner(data.tmpLogsResolve(), getStages);\n\n await checkTmpPath(data);\n\n // Prepare subdirectories under the root tmp directory.\n await Promise.all(\n [\"repos\", \"logs\"].map(\n (dir): Promise<void> => mkdir(resolvePath(data.tmpDir.name, dir))\n )\n );\n\n logInfo(\"Begin\", getStages().join(\"\\n\"));\n await Promise.all(\n [...projectStatuses].map(async ([projectName, state]): Promise<void> => {\n try {\n state.stage = \"preparing\";\n const projectPath = data.projectPaths[projectName];\n const stats = await (async (): Promise<Stats | null> => {\n try {\n return await lstat(projectPath);\n } catch {\n return null;\n }\n })();\n if (stats?.isFile()) {\n // The path points to a ready to install tarball.\n state.stage = \"copying tarball\";\n await copyFile(projectPath, getTarballPath(data, projectName));\n state.stage = \"tarball copied\";\n } else {\n // The path points to a repo (maybe remote) that has to be built,\n // tested and packed first.\n state.stage = \"cloning\";\n await clone(spawn, data, projectName);\n\n state.stage = \"gathering dependencies\";\n const failedDeps: string[] = [];\n const localDeps = await getPackageLocalDeps(data, projectName);\n state.stage = `waiting for dependencies (${localDeps.join(\", \")})`;\n for (const localDep of localDeps) {\n const depStatus = projectStatuses.get(localDep);\n if (depStatus == null) {\n throw new Error(`Dependency ${localDep} not found.`);\n }\n\n try {\n await depStatus.promise;\n } catch {\n failedDeps.push(localDep);\n }\n }\n if (failedDeps.length > 0) {\n state.stage = `dependencies failed: ${failedDeps.join(\", \")}`;\n throw new Error(state.stage);\n }\n\n state.stage = \"running CI tasks\";\n await buildTestPack(spawn, data, projectName);\n state.stage = \"cloned, built, tested and packed\";\n }\n\n logInfo(`Okay ${projectName}`, getStages().join(\"\\n\"));\n state.resolve();\n } catch (error) {\n logError(\n `Fail ${projectName} (${state.stage}):`,\n getStages().join(\"\\n\")\n );\n state.reject(error instanceof Error ? error : new Error(\"\" + error));\n }\n })\n );\n\n const allSucceeded = (\n await Promise.allSettled(\n [...projectStatuses.values()].map(\n (status): Promise<void> => status.promise\n )\n )\n ).every(({ status }): boolean => status === \"fulfilled\");\n\n if (allSucceeded) {\n return true;\n } else {\n return false;\n }\n } finally {\n // Wait for all the projects to finish and log the state summary and any\n // errors encountered.\n logInfo(\"End\", getStages().join(\"\\n\"));\n for (const [projectName, { promise }] of projectStatuses) {\n try {\n await promise;\n } catch (error) {\n logError(`${projectName} failed with`, error);\n }\n }\n\n // Print the detailed logs for inspection (especially in CI).\n if (logsToStdout) {\n logInfo(\"Outputs\");\n process.stdout.write(\n [\n \"\",\n ...(await Promise.all(\n (\n await readdir(data.tmpLogsResolve())\n ).map(\n (filename): Promise<string> =>\n readFile(data.tmpLogsResolve(filename), \"UTF-8\")\n )\n )),\n \"\",\n ].join(\"\\n\\n\" + (\"-\".repeat(80) + \"\\n\").repeat(2) + \"\\n\")\n );\n }\n\n execFail(\n data.tmpDir.name,\n failCommand,\n \"Allow the state to be inspected in debug mode before the data is lost.\"\n );\n }\n}\n","import { parseArguments } from \"./cli\";\nimport { resolve } from \"path\";\nimport { ProjectPaths, PackageScript, test } from \"./test\";\n\nconst argv = parseArguments();\n\nconst projectPaths: ProjectPaths = argv[\"project\"]\n .map((raw): [string, string] => {\n const [name, path] = raw.split(\" \", 2);\n\n if (typeof name === \"string\" && typeof path === \"string\") {\n if (/^[a-zA-Z0-9]+:\\/\\//.test(path)) {\n // Remote URL, use as is.\n return [name, path];\n } else {\n // Local path, resolve to prevent CWD issues.\n return [name, resolve(path)];\n }\n } else {\n console.error(\n `--project-path should be in 'project-name ./path' format, got '${raw}'.`\n );\n process.exit(1);\n }\n })\n .reduce<ProjectPaths>((acc, [name, path]): ProjectPaths => {\n acc[name] = path;\n return acc;\n }, {});\n\nconst rawPackageScriptArg = argv[\"package-script\"];\nconst packageScripts: PackageScript[] = rawPackageScriptArg.flatMap(\n (raw): PackageScript[] => {\n const packageScripts: PackageScript[] = [];\n\n let packageName: string | null = null;\n for (const part of raw.split(\" \")) {\n const mode = part.slice(-1);\n\n if (mode === \"?\" || mode === \"!\") {\n packageScripts.push({\n packageName,\n scriptName: part.slice(0, -1),\n skipIfMissing: mode === \"?\",\n });\n } else {\n packageName = part;\n }\n }\n\n return packageScripts;\n }\n);\n\nconst tmpPath = argv[\"tmp-dir\"] ? resolve(argv[\"tmp-dir\"]) : undefined;\n\nconst failCommand = argv[\"fail-command\"];\n\nconst logsToStdout = argv[\"logs-to-stdout\"];\n\ntest({ failCommand, logsToStdout, packageScripts, projectPaths, tmpPath })\n .then((allSucceeded): void => {\n if (!allSucceeded) {\n process.exitCode = 1;\n }\n })\n .catch((reason): void => {\n console.error(reason);\n process.exitCode = 2;\n });\n"],"names":["y","yargs","strict","usage","hide","config","help","option","demandOption","describe","type","array","default","parseArguments","parserConfiguration","parseSync","ProjectState","_createClass","_classCallCheck","_defineProperty","promise","_Promise","resolve","reject","logError","title","details","wrappedDetails","Error","message","process","stderr","write","logInfo","stdout","execFail","cwd","failCommand","error","console","execSync","encoding","env","VIS_INTEROP","stdio","createSpawner","logDir","getState","nextId","spawnThrow","cmd","id","getHeaderLines","_concatInstanceProperty","Date","toISOString","_mapInstanceProperty","word","_JSON$stringify","join","getLogMessage","line","commandLogPath","basename","replace","_padStartInstanceProperty","logStream","createWriteStream","flags","child","spawn","_sliceInstanceProperty","pipe","addStatusCodeToFilename","code","newPath","rename","catch","failed","on","errorMessage","end","_asyncToGenerator","_regeneratorRuntime","commandOutput","readFile","setGracefulCleanup","prepareTmpDir","tmpPath","mkdirp","name","removeCallback","dirSync","unsafeCleanup","getTarballName","projectName","getTarballPath","tmpRootResolve","copyTarball","data","copyFile","tmpReposResolve","getPackageDeps","findUp","packageJSONPath","JSON","packageJSON","parse","_toConsumableArray","_Set","_Object$keys","dependencies","devDependencies","peerDependencies","getPackageLocalDeps","projectPaths","_filterInstanceProperty","depName","clone","projectPath","test","copy","filter","_src","dest","updatePackageDepVersions","deps","_forEachInstanceProperty","key","Object","prototype","hasOwnProperty","call","writeFile","undefined","buildTestPack","packageScripts","_reduceInstanceProperty","acc","_Object$create","packageLockPath","unlink","_createForOfIteratorHelper","packageName","scriptName","skipIfMissing","checkTmpPath","tmpDir","readdir","length","getStages","projectStatuses","_slicedToArray","stage","logsToStdout","_Object$freeze","resolvePath","paths","tmpLogsResolve","visDevUtilsPath","project","all","dir","mkdir","state","lstat","stats","isFile","failedDeps","localDeps","localDep","depStatus","get","push","_everyInstanceProperty","allSettled","_valuesInstanceProperty","status","allSucceeded","filename","_repeatInstanceProperty","argv","raw","split","path","exit","rawPackageScriptArg","_flatMapInstanceProperty","part","mode","then","exitCode","reason"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"test-e2e-interop.js","sources":["../src/test-e2e-interop/cli.ts","../src/test-e2e-interop/util.ts","../src/test-e2e-interop/test.ts","../src/test-e2e-interop/index.ts"],"sourcesContent":["import yargs from \"yargs\";\n\nconst y = yargs\n .strict(true)\n .usage(\"test-e2e-interop [options]\")\n .hide(\"version\")\n .config()\n .help()\n\n .option(\"fail-command\", {\n demandOption: false,\n describe:\n 'This command will be run in a shell (therefore commands like \"$SHELL\" will work) after failure to inspect the state.',\n type: \"string\",\n })\n .option(\"package-script\", {\n array: true,\n default: [\"clean?\", \"build!\", \"test!\", \"generate-examples-index?\"],\n demandOption: false,\n describe:\n 'The package scripts to run with each package, either \"script-name!\" to fail or \"script-name?\" to skip if the script doesn\\'t exist in given package. By default the script is used for all packages, if you want to use it only for one add package name: \"package-name script-name!\". Scripts are invoked sequentially and command line order is preserved.',\n type: \"string\",\n })\n .option(\"project\", {\n array: true,\n default: [] as string[],\n demandOption: false,\n describe:\n 'Projects to clone using Git, copy from directory or install from tarball. The format is \"package-name URL/path\".',\n type: \"string\",\n })\n .option(\"tmp-dir\", {\n demandOption: false,\n describe:\n \"The working directory for E2E testing. If omitted a new tmp dir will be created and then disposed of.\",\n type: \"string\",\n })\n .option(\"logs-to-stdout\", {\n demandOption: false,\n default: false,\n describe: \"Output the logs to the stdout after the tests finished.\",\n type: \"boolean\",\n });\n\n/**\n *\n */\nexport function parseArguments(): ReturnType<typeof y[\"parseSync\"]> {\n return y.parserConfiguration({ \"camel-case-expansion\": false }).parseSync();\n}\n","import { execSync, spawn } from \"child_process\";\nimport { basename, join } from \"path\";\nimport { createWriteStream, readFile, rename } from \"fs-extra\";\n\nexport class ProjectState {\n /**\n * This will be resolved or rejected once all the tasks associated with this\n * project finish.\n */\n public promise: Promise<void>;\n /**\n * Run this to mark the project as successfully finished.\n */\n public resolve!: () => void;\n /**\n * Run this to mark the project as failed.\n */\n public reject!: (reason: Error) => void;\n /**\n * Provide information about current state of the project.\n */\n public stage = \"pending\";\n\n public constructor() {\n this.promise = new Promise<void>((resolve, reject): void => {\n this.resolve = resolve;\n this.reject = reject;\n });\n }\n}\n\n/**\n * Output formatted error message to stderr.\n *\n * @param title - Some explanatory text as to what's going on.\n * @param details - The error or some other message as to what went wrong.\n */\nexport function logError(title: string, details?: unknown): void {\n const wrappedDetails =\n details != null\n ? `\\n${details instanceof Error ? details.message : details}`\n : \"\";\n process.stderr.write(`\\n==> ${title}${wrappedDetails}\\n`);\n}\n/**\n * @param title\n * @param details\n */\nexport function logInfo(title: string, details?: string): void {\n const wrappedDetails = details ? `:\\n${details}` : \"\";\n process.stdout.write(`\\n==> ${title}${wrappedDetails}\\n`);\n}\n\n/**\n * @param cwd\n * @param failCommand\n * @param error\n */\nexport function execFail(\n cwd: string,\n failCommand: string | null | undefined,\n error: Error | string\n): void {\n if (failCommand) {\n console.error(\"\\n\\nReason for debugging:\");\n console.error(error);\n console.error(\"\\n\\nDebuging:\");\n try {\n execSync(failCommand, {\n cwd,\n encoding: \"utf8\",\n env: { ...process.env, VIS_INTEROP: \"1\" },\n stdio: \"inherit\",\n });\n } catch (error) {\n console.error(error);\n console.error(\n \"The error above is the fail command exitting with non-zero status, not an actual failure in the interop test.\"\n );\n }\n }\n}\n\nexport type Spawn = (options: SpawnOrTrhowArgs) => Promise<void>;\n\nexport interface SpawnOrTrhowArgs {\n cmd: readonly string[];\n cwd: string;\n failCommand?: string;\n}\n/**\n * @param logDir\n * @param getState\n */\nexport function createSpawner(logDir: string, getState: () => string[]): Spawn {\n let nextId = 1;\n\n return function spawnThrow({ cmd, cwd, failCommand }): ReturnType<Spawn> {\n const id = nextId++;\n const getHeaderLines = (): string[] => [\n \"time: \" + new Date().toISOString(),\n \"id: \" + id,\n \"cwd: \" + cwd,\n \"cmd: \" + cmd.map((word): string => JSON.stringify(word)).join(\" \"),\n \"states:\",\n ...getState(),\n ];\n const getLogMessage = (): string =>\n getHeaderLines()\n .map((line): string => \" \" + line)\n .join(\"\\n\");\n\n logInfo(\"Start\", getLogMessage());\n\n return new Promise((resolve, reject): void => {\n const commandLogPath = join(\n logDir,\n [\n basename(cwd).replace(/[^a-zA-Z0-9]+/g, \"-\"),\n cmd.join(\"-\").replace(/[^a-zA-Z0-9]+/g, \"-\"),\n \"id-\" + (\"\" + id).padStart(3, \"0\"),\n \"log\",\n ].join(\".\")\n );\n const logStream = createWriteStream(commandLogPath, {\n flags: \"a\",\n });\n\n logStream.write(getHeaderLines().join(\"\\n\") + \"\\n\\n\");\n\n const child = spawn(cmd[0], cmd.slice(1), {\n cwd,\n env: { ...process.env, VIS_INTEROP: \"1\" },\n stdio: \"pipe\",\n });\n\n child.stdout.pipe(logStream);\n child.stderr.pipe(logStream);\n\n /**\n * Add status to the file name just before the .log extension on a best\n * effort basis (no errors reported)..\n *\n * @param code - The code or other kind of status to append.\n */\n function addStatusCodeToFilename(code: string | number): void {\n const newPath =\n commandLogPath.slice(0, -4) + \".status-\" + code + \".log\";\n rename(commandLogPath, newPath).catch((error): void => {\n console.error(`Failed to rename log file to ${newPath}.`, error);\n });\n }\n\n let failed = false;\n child.on(\"close\", (code): void => {\n if (failed) {\n // noop\n } else if (code !== 0) {\n logError(\"Fail\", getLogMessage());\n\n const errorMessage = `${cmd\n .map((word): string => `\"${word}\"`)\n .join(\" \")}: exited with ${code}.`;\n\n logStream.end((): void => {\n (async (): Promise<void> => {\n let commandOutput = \"\";\n try {\n commandOutput += await readFile(commandLogPath, \"utf-8\");\n } catch (error) {\n commandOutput += \"Failed to log command output.\";\n }\n execFail(cwd, failCommand, commandOutput + \"\\n\\n\" + errorMessage);\n })();\n });\n\n addStatusCodeToFilename(code ?? \"null\");\n reject(new Error(errorMessage));\n } else {\n logInfo(\"Okay\", getLogMessage());\n addStatusCodeToFilename(code);\n resolve();\n }\n });\n child.on(\"error\", (error): void => {\n failed = true;\n\n logError(\"Fail\", getLogMessage());\n\n execFail(cwd, failCommand, error);\n\n addStatusCodeToFilename(\"error\");\n reject(error);\n });\n });\n };\n}\n","import { DirResult, dirSync, setGracefulCleanup } from \"tmp\";\nimport { resolve as resolvePath } from \"path\";\nimport findUp from \"find-up\";\nimport {\n Stats,\n copy,\n copyFile,\n lstat,\n mkdir,\n mkdirp,\n readFile,\n readdir,\n writeFile,\n unlink,\n} from \"fs-extra\";\n\nimport {\n ProjectState,\n Spawn,\n createSpawner,\n execFail,\n logError,\n logInfo,\n} from \"./util\";\n\n// Remove all temporary files on process exit.\nsetGracefulCleanup();\n\ninterface TestData {\n failCommand?: string;\n packageScripts: readonly PackageScript[];\n projectPaths: ProjectPaths;\n tmpDir: DirResult;\n tmpLogsResolve(...paths: string[]): string;\n tmpReposResolve(...paths: string[]): string;\n tmpRootResolve(...paths: string[]): string;\n visDevUtilsPath: string;\n}\n\nexport interface PackageScript {\n packageName: string | null;\n scriptName: string;\n skipIfMissing: boolean;\n}\n\nexport type ProjectPaths = Record<string, string>;\n\n/**\n * @param tmpPath\n */\nasync function prepareTmpDir(tmpPath?: string): Promise<DirResult> {\n if (tmpPath) {\n await mkdirp(tmpPath);\n\n return {\n name: tmpPath,\n removeCallback: (): void => {},\n };\n } else {\n return dirSync({ unsafeCleanup: true });\n }\n}\n\n/**\n * @param projectName\n */\nfunction getTarballName(projectName: string): string {\n return `${projectName}-0.0.0-no-version.tgz`;\n}\n\n/**\n * @param root0\n * @param root0.tmpRootResolve\n * @param projectName\n */\nfunction getTarballPath(\n { tmpRootResolve }: TestData,\n projectName: string\n): string {\n return tmpRootResolve(`${projectName}.tgz`);\n}\n\n/**\n * @param data\n * @param projectName\n */\nasync function copyTarball(data: TestData, projectName: string): Promise<void> {\n await copyFile(\n data.tmpReposResolve(projectName, getTarballName(projectName)),\n getTarballPath(data, projectName)\n );\n}\n\n/**\n * @param cwd\n */\nasync function getPackageDeps(cwd: string): Promise<string[]> {\n const packageJSONPath = await findUp(\"package.json\", { cwd });\n if (packageJSONPath == null) {\n throw new Error(\"Project's package.json file not found.\");\n }\n const packageJSON = JSON.parse(await readFile(packageJSONPath, \"utf8\"));\n\n return [\n ...new Set([\n ...Object.keys(packageJSON.dependencies || {}),\n ...Object.keys(packageJSON.devDependencies || {}),\n ...Object.keys(packageJSON.peerDependencies || {}),\n ]),\n ];\n}\n\n/**\n * @param data\n * @param projectName\n */\nasync function getPackageLocalDeps(\n data: TestData,\n projectName: string\n): Promise<string[]> {\n const { projectPaths, tmpReposResolve } = data;\n const cwd = tmpReposResolve(projectName);\n return (await getPackageDeps(cwd)).filter(\n (depName): boolean => projectPaths[depName] != null\n );\n}\n\n/**\n * @param spawn\n * @param data\n * @param projectName\n */\nasync function clone(\n spawn: Spawn,\n data: TestData,\n projectName: string\n): Promise<void> {\n const { failCommand, projectPaths, tmpReposResolve } = data;\n\n const cwd = tmpReposResolve();\n const projectPath = projectPaths[projectName];\n\n if (/\\.git$/.test(projectPath)) {\n await spawn({\n cmd: [\n \"git\",\n \"clone\",\n projectPath,\n \"--single-branch\",\n \"--branch\",\n \"master\",\n \"--depth\",\n \"1\",\n ],\n cwd,\n failCommand,\n });\n } else {\n await copy(projectPath, tmpReposResolve(projectName), {\n filter(_src, dest): boolean {\n return (\n !/[\\\\/].git[\\\\/]/.test(dest) && !/[\\\\/]node_modules[\\\\/]/.test(dest)\n );\n },\n });\n }\n}\n\n/**\n * @param cwd\n * @param deps\n */\nasync function updatePackageDepVersions(\n cwd: string,\n deps: Record<string, string>\n): Promise<void> {\n const packageJSONPath = await findUp(\"package.json\", { cwd });\n if (packageJSONPath == null) {\n throw new Error(\"Project's package.json file not found.\");\n }\n const packageJSON = JSON.parse(await readFile(packageJSONPath, \"utf8\"));\n\n Object.keys(packageJSON.dependencies ?? {}).forEach((key): void => {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n packageJSON.dependencies[key] = \"file:\" + deps[key];\n }\n });\n Object.keys(packageJSON.devDependencies ?? {}).forEach((key): void => {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n packageJSON.devDependencies[key] = \"file:\" + deps[key];\n }\n });\n Object.keys(packageJSON.peerDependencies ?? {}).forEach((key): void => {\n if (Object.prototype.hasOwnProperty.call(deps, key)) {\n packageJSON.peerDependencies[key] = \"file:\" + deps[key];\n }\n });\n\n await writeFile(packageJSONPath, JSON.stringify(packageJSON, undefined, 4));\n}\n\n/**\n * @param spawn\n * @param data\n * @param projectName\n */\nasync function buildTestPack(\n spawn: Spawn,\n data: TestData,\n projectName: string\n): Promise<void> {\n const { failCommand, packageScripts, tmpReposResolve } = data;\n const cwd = tmpReposResolve(projectName);\n\n await updatePackageDepVersions(\n cwd,\n (\n await getPackageLocalDeps(data, projectName)\n ).reduce<Record<string, string>>((acc, key): Record<string, string> => {\n acc[key] = getTarballPath(data, key);\n return acc;\n }, Object.create(null))\n );\n const packageLockPath = await findUp(\"package-lock.json\", { cwd });\n if (packageLockPath != null) {\n await unlink(packageLockPath);\n }\n await spawn({\n cmd: [\"npm\", \"install\"],\n cwd,\n failCommand,\n });\n\n for (const { packageName, scriptName, skipIfMissing } of packageScripts) {\n if (packageName != null && packageName !== projectName) {\n continue;\n } else if (skipIfMissing) {\n await spawn({\n cmd: [\"npm\", \"run\", scriptName, \"--if-present\"],\n cwd,\n failCommand,\n });\n } else {\n await spawn({\n cmd: [\"npm\", \"run\", scriptName],\n cwd,\n failCommand,\n });\n }\n }\n\n await spawn({ cmd: [\"npm\", \"pack\"], cwd, failCommand });\n\n await copyTarball(data, projectName);\n}\n\n/**\n * @param data\n */\nasync function checkTmpPath(data: TestData): Promise<void> {\n const tmpDir = data.tmpRootResolve();\n if ((await readdir(tmpDir)).length !== 0) {\n throw new Error(`The tmp dir (\"${tmpDir}\") is not empty.`);\n }\n}\n\nexport interface TestArgs {\n failCommand?: string;\n logsToStdout?: boolean;\n packageScripts: readonly PackageScript[];\n projectPaths: ProjectPaths;\n tmpPath?: string;\n}\n/**\n * @param root0\n * @param root0.failCommand\n * @param root0.logsToStdout\n * @param root0.packageScripts\n * @param root0.projectPaths\n * @param root0.tmpPath\n */\nexport async function test({\n failCommand,\n logsToStdout,\n packageScripts,\n projectPaths,\n tmpPath,\n}: TestArgs): Promise<boolean> {\n if (process.env.VIS_INTEROP === \"1\") {\n // This would result in infinite loop otherwise.\n logInfo(\"Skipping interop test.\");\n return true;\n }\n\n const data = Object.freeze<TestData>({\n failCommand,\n packageScripts,\n projectPaths,\n tmpDir: await prepareTmpDir(\n tmpPath ? resolvePath(tmpPath, \"repos\") : undefined\n ),\n tmpLogsResolve: (...paths: string[]): string =>\n resolvePath(data.tmpDir.name, \"logs\", ...paths),\n tmpReposResolve: (...paths: string[]): string =>\n resolvePath(data.tmpDir.name, \"repos\", ...paths),\n tmpRootResolve: (...paths: string[]): string =>\n resolvePath(data.tmpDir.name, ...paths),\n visDevUtilsPath: process.cwd(),\n });\n\n const projectStatuses = new Map<string, ProjectState>(\n Object.keys(data.projectPaths).map((project): [string, ProjectState] => [\n project,\n new ProjectState(),\n ])\n );\n /**\n *\n */\n function getStages(): string[] {\n return [...projectStatuses].map(\n ([key, { stage }]): string => ` ${key}: ${stage}`\n );\n }\n\n try {\n const spawn = createSpawner(data.tmpLogsResolve(), getStages);\n\n await checkTmpPath(data);\n\n // Prepare subdirectories under the root tmp directory.\n await Promise.all(\n [\"repos\", \"logs\"].map(\n (dir): Promise<void> => mkdir(resolvePath(data.tmpDir.name, dir))\n )\n );\n\n logInfo(\"Begin\", getStages().join(\"\\n\"));\n await Promise.all(\n [...projectStatuses].map(async ([projectName, state]): Promise<void> => {\n try {\n state.stage = \"preparing\";\n const projectPath = data.projectPaths[projectName];\n const stats = await (async (): Promise<Stats | null> => {\n try {\n return await lstat(projectPath);\n } catch {\n return null;\n }\n })();\n if (stats?.isFile()) {\n // The path points to a ready to install tarball.\n state.stage = \"copying tarball\";\n await copyFile(projectPath, getTarballPath(data, projectName));\n state.stage = \"tarball copied\";\n } else {\n // The path points to a repo (maybe remote) that has to be built,\n // tested and packed first.\n state.stage = \"cloning\";\n await clone(spawn, data, projectName);\n\n state.stage = \"gathering dependencies\";\n const failedDeps: string[] = [];\n const localDeps = await getPackageLocalDeps(data, projectName);\n state.stage = `waiting for dependencies (${localDeps.join(\", \")})`;\n for (const localDep of localDeps) {\n const depStatus = projectStatuses.get(localDep);\n if (depStatus == null) {\n throw new Error(`Dependency ${localDep} not found.`);\n }\n\n try {\n await depStatus.promise;\n } catch {\n failedDeps.push(localDep);\n }\n }\n if (failedDeps.length > 0) {\n state.stage = `dependencies failed: ${failedDeps.join(\", \")}`;\n throw new Error(state.stage);\n }\n\n state.stage = \"running CI tasks\";\n await buildTestPack(spawn, data, projectName);\n state.stage = \"cloned, built, tested and packed\";\n }\n\n logInfo(`Okay ${projectName}`, getStages().join(\"\\n\"));\n state.resolve();\n } catch (error) {\n logError(\n `Fail ${projectName} (${state.stage}):`,\n getStages().join(\"\\n\")\n );\n state.reject(error instanceof Error ? error : new Error(\"\" + error));\n }\n })\n );\n\n const allSucceeded = (\n await Promise.allSettled(\n [...projectStatuses.values()].map(\n (status): Promise<void> => status.promise\n )\n )\n ).every(({ status }): boolean => status === \"fulfilled\");\n\n if (allSucceeded) {\n return true;\n } else {\n return false;\n }\n } finally {\n // Wait for all the projects to finish and log the state summary and any\n // errors encountered.\n logInfo(\"End\", getStages().join(\"\\n\"));\n for (const [projectName, { promise }] of projectStatuses) {\n try {\n await promise;\n } catch (error) {\n logError(`${projectName} failed with`, error);\n }\n }\n\n // Print the detailed logs for inspection (especially in CI).\n if (logsToStdout) {\n logInfo(\"Outputs\");\n process.stdout.write(\n [\n \"\",\n ...(await Promise.all(\n (\n await readdir(data.tmpLogsResolve())\n ).map(\n (filename): Promise<string> =>\n readFile(data.tmpLogsResolve(filename), \"UTF-8\")\n )\n )),\n \"\",\n ].join(\"\\n\\n\" + (\"-\".repeat(80) + \"\\n\").repeat(2) + \"\\n\")\n );\n }\n\n execFail(\n data.tmpDir.name,\n failCommand,\n \"Allow the state to be inspected in debug mode before the data is lost.\"\n );\n }\n}\n","import { parseArguments } from \"./cli\";\nimport { resolve } from \"path\";\nimport { ProjectPaths, PackageScript, test } from \"./test\";\n\nconst argv = parseArguments();\n\nconst projectPaths: ProjectPaths = argv[\"project\"]\n .map((raw): [string, string] => {\n const [name, path] = raw.split(\" \", 2);\n\n if (typeof name === \"string\" && typeof path === \"string\") {\n if (/^[a-zA-Z0-9]+:\\/\\//.test(path)) {\n // Remote URL, use as is.\n return [name, path];\n } else {\n // Local path, resolve to prevent CWD issues.\n return [name, resolve(path)];\n }\n } else {\n console.error(\n `--project-path should be in 'project-name ./path' format, got '${raw}'.`\n );\n process.exit(1);\n }\n })\n .reduce<ProjectPaths>((acc, [name, path]): ProjectPaths => {\n acc[name] = path;\n return acc;\n }, {});\n\nconst rawPackageScriptArg = argv[\"package-script\"];\nconst packageScripts: PackageScript[] = rawPackageScriptArg.flatMap(\n (raw): PackageScript[] => {\n const packageScripts: PackageScript[] = [];\n\n let packageName: string | null = null;\n for (const part of raw.split(\" \")) {\n const mode = part.slice(-1);\n\n if (mode === \"?\" || mode === \"!\") {\n packageScripts.push({\n packageName,\n scriptName: part.slice(0, -1),\n skipIfMissing: mode === \"?\",\n });\n } else {\n packageName = part;\n }\n }\n\n return packageScripts;\n }\n);\n\nconst tmpPath = argv[\"tmp-dir\"] ? resolve(argv[\"tmp-dir\"]) : undefined;\n\nconst failCommand = argv[\"fail-command\"];\n\nconst logsToStdout = argv[\"logs-to-stdout\"];\n\ntest({ failCommand, logsToStdout, packageScripts, projectPaths, tmpPath })\n .then((allSucceeded): void => {\n if (!allSucceeded) {\n process.exitCode = 1;\n }\n })\n .catch((reason): void => {\n console.error(reason);\n process.exitCode = 2;\n });\n"],"names":["y","yargs","strict","usage","hide","config","help","option","demandOption","describe","type","array","default","parseArguments","parserConfiguration","parseSync","ProjectState","_createClass","_classCallCheck","_defineProperty","promise","_Promise","resolve","reject","logError","title","details","wrappedDetails","Error","message","process","stderr","write","logInfo","stdout","execFail","cwd","failCommand","error","console","execSync","encoding","env","VIS_INTEROP","stdio","createSpawner","logDir","getState","nextId","spawnThrow","cmd","id","getHeaderLines","_concatInstanceProperty","Date","toISOString","_mapInstanceProperty","word","_JSON$stringify","join","getLogMessage","line","commandLogPath","basename","replace","_padStartInstanceProperty","logStream","createWriteStream","flags","child","spawn","_sliceInstanceProperty","pipe","addStatusCodeToFilename","code","newPath","rename","catch","failed","on","errorMessage","end","_asyncToGenerator","_regeneratorRuntime","commandOutput","readFile","setGracefulCleanup","prepareTmpDir","tmpPath","mkdirp","name","removeCallback","dirSync","unsafeCleanup","getTarballName","projectName","getTarballPath","tmpRootResolve","copyTarball","data","copyFile","tmpReposResolve","getPackageDeps","findUp","packageJSONPath","JSON","packageJSON","parse","_toConsumableArray","_Set","_Object$keys","dependencies","devDependencies","peerDependencies","getPackageLocalDeps","projectPaths","_filterInstanceProperty","depName","clone","projectPath","test","copy","filter","_src","dest","updatePackageDepVersions","deps","_forEachInstanceProperty","key","Object","prototype","hasOwnProperty","call","writeFile","undefined","buildTestPack","packageScripts","_reduceInstanceProperty","acc","_Object$create","packageLockPath","unlink","_createForOfIteratorHelper","packageName","scriptName","skipIfMissing","checkTmpPath","tmpDir","readdir","length","getStages","projectStatuses","_slicedToArray","stage","logsToStdout","_Object$freeze","resolvePath","paths","tmpLogsResolve","visDevUtilsPath","project","all","dir","mkdir","state","lstat","stats","isFile","failedDeps","localDeps","localDep","depStatus","get","push","_everyInstanceProperty","allSettled","_valuesInstanceProperty","status","allSucceeded","filename","_repeatInstanceProperty","argv","raw","split","path","exit","rawPackageScriptArg","_flatMapInstanceProperty","part","mode","then","exitCode","reason"],"mappings":"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"}
|