vis-dev-utils 3.0.5 → 3.0.8

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.
@@ -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\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 projectPaths: ProjectPaths;\n packageScripts: readonly PackageScript[];\n tmpPath?: string;\n}\n/**\n * @param root0\n * @param root0.failCommand\n * @param root0.packageScripts\n * @param root0.projectPaths\n * @param root0.tmpPath\n */\nexport async function test({\n failCommand,\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 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 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\ntest({ failCommand, 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","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","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","commandOutput","readFile","setGracefulCleanup","prepareTmpDir","tmpPath","mkdirp","name","removeCallback","dirSync","unsafeCleanup","getTarballName","projectName","getTarballPath","tmpRootResolve","copyTarball","data","copyFile","tmpReposResolve","getPackageDeps","findUp","packageJSONPath","JSON","packageJSON","parse","_Object$keys","dependencies","devDependencies","peerDependencies","getPackageLocalDeps","projectPaths","depName","clone","projectPath","test","copy","filter","_src","dest","updatePackageDepVersions","deps","key","Object","prototype","hasOwnProperty","call","writeFile","undefined","buildTestPack","packageScripts","acc","_Object$create","packageLockPath","unlink","packageName","scriptName","skipIfMissing","checkTmpPath","tmpDir","readdir","length","getStages","projectStatuses","stage","resolvePath","paths","tmpLogsResolve","visDevUtilsPath","project","_Promise","all","dir","mkdir","state","_asyncToGenerator","lstat","stats","isFile","failedDeps","localDeps","localDep","depStatus","get","push","allSettled","_valuesInstanceProperty","status","allSucceeded","filename","_repeatInstanceProperty","argv","_reduceInstanceProperty","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","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","_Map","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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"}
@@ -4,8 +4,8 @@
4
4
  *
5
5
  * Development utilities for the Vis family projects.
6
6
  *
7
- * @version 3.0.5
8
- * @date 2022-03-12T16:41:01.018Z
7
+ * @version 3.0.8
8
+ * @date 2022-03-13T02:36:50.557Z
9
9
  *
10
10
  * @copyright (c) 2011-2017 Almende B.V, http://almende.com
11
11
  * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs
@@ -1 +1 @@
1
- {"version":3,"file":"vis-dev-utils.cjs.js","sources":["../src/module/constants.ts","../src/module/header.ts","../src/module/generate-rollup-configuration/index.ts","../src/module/inspect-npm-pack.ts"],"sourcesContent":["export const BABEL_IGNORE_RE = Object.freeze(\n /[\\\\/]node_modules[\\\\/](?!.*[\\\\/]esnext[\\\\/])/\n);\n","import { sync as findUp } from \"find-up\";\nimport { readFileSync } from \"fs\";\n\n/**\n * Take a string and return a doc block comment.\n *\n * @param string - The raw text to be included in the comment.\n * @throws If the string already contains a comment.\n * @returns A block doc comment string that can be for example prepended to a\n * bundled JavaScript file.\n */\nexport function textToComment(string: string): string {\n if (string.includes(\"*/\")) {\n throw new Error(\n \"Don't include comments in the input string. It will be converted automatically.\"\n );\n }\n\n return (\n \"/**\\n\" +\n string\n // Remove empty lines from the start.\n .replace(/^[\\n\\r]*/, \"\")\n // Remove empty lines from the end.\n .replace(/[\\n\\r\\s]*$/, \"\")\n // Process each line on it's own from now on.\n .split(\"\\n\")\n // Prefix each line with an asterisk.\n .map((line) => \" * \" + line)\n // Remove trailing white space.\n .map((line) => line.replace(/[^\\S\\r\\n]*$/, \"\"))\n // Join back into a string.\n .join(\"\\n\") +\n \"\\n */\\n\"\n );\n}\n\nconst packageJSON = JSON.parse(readFileSync(findUp(\"package.json\")!, \"utf8\"));\n\nconst buildHeader = ({\n customText,\n date,\n description,\n homepage,\n name,\n version,\n}: HeaderOptions): string =>\n textToComment(`\n${name}\n${homepage}\n\n${description}\n\n@version ${version}\n@date ${date}\n\n@copyright (c) 2011-2017 Almende B.V, http://almende.com\n@copyright (c) 2017-2019 visjs contributors, https://github.com/visjs\n\n@license\nvis.js is dual licensed under both\n\n 1. The Apache 2.0 License\n http://www.apache.org/licenses/LICENSE-2.0\n\n and\n\n 2. The MIT License\n http://opensource.org/licenses/MIT\n\nvis.js may be distributed under either license.\n\n${customText}\n`);\n\n/**\n * Options for {@link generateHeader}.\n */\nexport interface HeaderOptions {\n /** Any text to be appended to the standard header. */\n customText: string;\n /** The build date. */\n date: string;\n /** A description of the project. */\n description: string;\n /** An URL to the homepage of the project. */\n homepage: string;\n /** The name of the project. */\n name: string;\n /** The version of the build. */\n version: string;\n}\n\nconst defaultDate = new Date().toISOString();\nconst defaultDescription = packageJSON.description;\nconst defaultHomepage = packageJSON.homepage;\nconst defaultName = packageJSON.name;\nconst defaultVersion = packageJSON.version;\n\n/**\n * Generate a dynamic header banner.\n *\n * @param options - Optional information to be included. Otherwise no custom\n * text will be appended, the date will be the time when this module was\n * imported (most likely the start of the build process) and the rest will be\n * read from package.json.\n * @throws If the string already contains a comment.\n * @returns Ready to use banner text.\n */\nexport function generateHeader(options?: Partial<HeaderOptions>): string {\n const {\n customText = \"\",\n date = defaultDate,\n description = defaultDescription,\n homepage = defaultHomepage,\n name = defaultName,\n version = defaultVersion,\n } = options || {};\n\n return buildHeader({\n customText,\n date,\n description,\n homepage,\n name,\n version,\n });\n}\n","import analyzerPlugin from \"rollup-plugin-analyzer\";\nimport babelPlugin from \"rollup-plugin-babel\";\nimport chaiFs from \"chai-fs\";\nimport commonjsPlugin from \"@rollup/plugin-commonjs\";\nimport copyPlugin, { Target as CopyTarget } from \"rollup-plugin-copy\";\nimport jsonPlugin from \"@rollup/plugin-json\";\nimport nodeResolvePlugin from \"@rollup/plugin-node-resolve\";\nimport postcssAssetsPlugin from \"postcss-assets\";\nimport postcssPlugin from \"rollup-plugin-postcss\";\nimport stripCodePlugin from \"rollup-plugin-strip-code\";\nimport typescriptPlugin from \"rollup-plugin-typescript2\";\nimport { generateHeader } from \"../header\";\nimport { join, resolve, sep } from \"path\";\nimport { string as stringPlugin } from \"rollup-plugin-string\";\nimport { sync as rawGlobby } from \"globby\";\nimport { terser as terserPlugin } from \"rollup-plugin-terser\";\nimport {\n config as chaiConfig,\n expect as validateExpect,\n use as chaiUse,\n} from \"chai\";\n\nimport { OptionalOptions } from \"../util\";\nimport { HeaderOptions } from \"../header\";\n\nchaiConfig.truncateThreshold = Number.MAX_SAFE_INTEGER;\nchaiUse(chaiFs);\n\nconst VIS_DEBUG = [\"1\", \"true\", \"y\", \"yes\"].includes(\n process.env[\"VIS_DEBUG\"] || \"false\"\n);\nconst VIS_TEST = [\"1\", \"true\", \"y\", \"yes\"].includes(\n process.env[\"VIS_TEST\"] || \"false\"\n);\n\n/**\n * Simple glob with workaround for non-posix paths.\n *\n * @param pattern - Single glob pattern.\n * @returns Globbed paths.\n */\nfunction glob(pattern: string): ReturnType<typeof rawGlobby> {\n return rawGlobby(sep === \"\\\\\" ? pattern.replace(/\\\\/g, \"/\") : pattern);\n}\n\nexport interface GRCOptions {\n /**\n * Where to look for files when inlining assets into CSS.\n */\n assets: string;\n /**\n * Additional files to be copied.\n */\n copyTargets: {\n /**\n * These will be copied relative to the root of each bundle (esnext,\n * standalone…).\n */\n bundle: CopyTarget[];\n /**\n * These will be copied relative to the root of each variant of each bundle\n * (esnext/esm, esnext/umd, standalone/esm…).\n */\n variant: CopyTarget[];\n };\n /**\n * The base dir with entry points for various builds. The extensions\n * determines whether TypeScript processing will be used.\n */\n entryPoints: string;\n /**\n * These are the dependencies that would cause interoperability issues if they\n * were bundled. A notable example here is vis-data.\n */\n externalForPeerBuild: string[];\n /**\n * Passed straight to Rollup.\n */\n globals: Record<string, string>;\n /**\n * Options for {@link generateHeader}.\n */\n header: Partial<HeaderOptions>;\n /**\n * This will be used as a file name with appropriate extensions appended\n * (like .js, .min.js or .css).\n */\n libraryFilename: string;\n /**\n * Simply required package.json.\n */\n packageJSON: {\n browser: string;\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n files: string[];\n jsnext: string;\n main: string;\n module: string;\n peerDependencies: Record<string, string>;\n };\n /**\n * The path to tsconfig.json to be used in this build.\n */\n tsconfig: string;\n}\n\n/**\n * These are the dependencies that follow standalone/peer/ESNext export\n * structure.\n */\nconst dependenciesWithVisExportStructure = [\n \"vis-data\",\n \"vis-graph3d\",\n \"vis-network\",\n \"vis-timeline\",\n \"vis-util\",\n \"vis-uuid\",\n];\n\n/**\n * This ensures that dependencies on Vis projects point to ESNext builds.\n *\n * @param deps - The original dependencies as listed in package.json.\n * @returns An array of dependencies for Rollup.\n */\nfunction processDependencies(\n deps: string[] | Record<string, string>\n): string[] {\n const depNames = Array.isArray(deps) ? deps : Object.keys(deps);\n\n return depNames.flatMap((key): string[] =>\n dependenciesWithVisExportStructure.includes(key) ? [key + \"/esnext\"] : [key]\n );\n}\n\n/**\n * This ensures that all Vis projects are imported using ESNext builds.\n * Importing standalone versions will not only cause problems in production but\n * will log warnings during build process and won't work at all.\n *\n * @param globals - The original globals.\n * @returns Globals forcing the use of ESNext builds for Vis projects.\n */\nfunction processGlobals(\n globals: Record<string, string>\n): Record<string, string> {\n return Object.entries(globals).reduce<Record<string, string>>(\n (acc, [key, value]): Record<string, string> => {\n acc[\n dependenciesWithVisExportStructure.includes(key) ? key + \"/esnext\" : key\n ] = value;\n\n return acc;\n },\n Object.create(null)\n );\n}\n\n/**\n * @param path\n */\nfunction isTS(path: string): boolean {\n return path.endsWith(\".ts\");\n}\n\n/*\n * Make sure that Chai doesn't throw and therefore stop execution on failed\n * validations during debugging.\n */\nconst validate: (callback: (expect: Chai.ExpectStatic) => void) => void =\n VIS_DEBUG\n ? (callback: (expect: Chai.ExpectStatic) => void): void => {\n try {\n callback(validateExpect);\n } catch (error) {\n console.error(error);\n }\n }\n : (callback: (expect: Chai.ExpectStatic) => void): void =>\n void callback(validateExpect);\n\n/**\n * Transform ESNext import paths to match the build version being constructed.\n *\n * @param buildVariant - ESNext or peer build. This is not available for\n * standalone as only peer and ESNext have imports.\n * @param moduleFormat - What kind of module system to use.\n * @returns Path overrides for Rollup.\n */\nfunction getPaths(\n buildVariant: \"esnext\" | \"peer\",\n moduleFormat: \"esm\" | \"umd\"\n): Record<string, string> {\n /**\n * @param lib\n */\n function getPath(\n lib:\n | \"charts\"\n | \"data\"\n | \"graph3d\"\n | \"network\"\n | \"timeline\"\n | \"util\"\n | \"uuid\"\n ): Record<string, string> {\n return {\n [`vis-${lib}/esnext`]: `vis-${lib}/${buildVariant}/${moduleFormat}/vis-${lib}.js`,\n };\n }\n\n return {\n ...getPath(\"charts\"),\n ...getPath(\"data\"),\n ...getPath(\"graph3d\"),\n ...getPath(\"network\"),\n ...getPath(\"timeline\"),\n ...getPath(\"util\"),\n ...getPath(\"uuid\"),\n };\n}\n\n/**\n * Change target's dest so that it's relative to given dir(s).\n *\n * @param dirs - The directories there targets should be relative to.\n * @returns A function that can be directly supplied to Array.map().\n */\nfunction scopeCopyTarget(\n ...dirs: readonly string[]\n): (target: CopyTarget) => CopyTarget {\n return function (target): CopyTarget {\n const dest = (\n Array.isArray(target.dest) ? target.dest : [target.dest]\n ) as readonly string[];\n\n const bundleDest = dest.flatMap((path): string[] =>\n dirs.map((dir): string => join(dir, path))\n );\n\n return {\n ...target,\n dest: bundleDest,\n };\n };\n}\n\nconst injectCSS = true;\nconst minimize = true;\nconst transpile = true;\nconst generateRollupPluginArray = (\n libraryFilename: string,\n assets: string,\n copyTargetsBundle: readonly CopyTarget[],\n copyTargetsVariant: readonly CopyTarget[],\n tsconfig: string,\n mode: \"production\" | \"development\" | \"test\",\n bundleType: \"esnext\" | \"standalone\" | \"peer\",\n {\n injectCSS = false,\n minimize = false,\n strip = mode === \"production\",\n transpile = false,\n typescript = false,\n } = {}\n): unknown[] => {\n const fullLibraryFilename = `${libraryFilename}${minimize ? \".min\" : \"\"}`;\n\n const bundleDir = bundleType;\n const bundleVariantDirs = [\"esm\", \"umd\"].map((variant): string =>\n join(bundleDir, variant)\n );\n\n return [\n ...(strip\n ? [\n // This should be first because it removes code from source files.\n // It's much easier to follow if the removal happens before any\n // transformations.\n stripCodePlugin({\n start_comment: \"develblock:start\",\n end_comment: \"develblock:end\",\n }),\n ]\n : [\n // Remove the comments marking devel blocks as they can cause problems\n // later on because transpilation shuffles things around which may\n // lead to all kinds of issues including syntax errors.\n stripCodePlugin({\n pattern: /[\\t ]*\\/\\* ?develblock:(start|end) ?\\*\\//g,\n }),\n ]),\n analyzerPlugin(VIS_DEBUG ? undefined : { limit: 10, summaryOnly: true }),\n copyPlugin({\n verbose: VIS_DEBUG,\n targets: [\n // JavaScript\n {\n src: resolve(__dirname, \"assets/bundle-root.js\"),\n dest: bundleDir,\n rename: \"index.js\",\n },\n {\n src: resolve(__dirname, \"assets/bundle-index.js\"),\n dest: bundleVariantDirs,\n rename: \"index.js\",\n transform: (content: Buffer): string =>\n content.toString().replace(\"{{filename}}\", libraryFilename),\n },\n\n // TypeScript\n {\n src: resolve(__dirname, \"assets/bundle-root.d.ts\"),\n dest: bundleDir,\n rename: \"index.d.ts\",\n },\n {\n src: resolve(__dirname, \"assets/bundle-index.d.ts\"),\n dest: bundleVariantDirs,\n rename: \"index.d.ts\",\n transform: (content: Buffer): string =>\n content.toString().replace(\"{{filename}}\", libraryFilename),\n },\n {\n src: resolve(__dirname, \"assets/bundle-file.d.ts\"),\n dest: bundleVariantDirs,\n rename: `${fullLibraryFilename}.d.ts`,\n transform: (content: Buffer): string =>\n content.toString().replace(\"{{bundle-type}}\", bundleType),\n },\n\n // Custom\n ...copyTargetsBundle.map(scopeCopyTarget(bundleDir)),\n ...copyTargetsVariant.map(scopeCopyTarget(...bundleVariantDirs)),\n ],\n }),\n nodeResolvePlugin({\n browser: true,\n extensions: [\".js\", \".json\", \".ts\"],\n mainFields: [\"jsnext\", \"module\", \"main\"],\n preferBuiltins: false,\n }),\n ...(typescript\n ? [\n typescriptPlugin({\n tsconfig,\n }),\n ]\n : []),\n commonjsPlugin(),\n postcssPlugin({\n extract: !injectCSS && `styles/${fullLibraryFilename}.css`,\n inject: injectCSS,\n minimize,\n // Prevent the sourcemaps from being injected into JS files.\n sourceMap: !injectCSS,\n plugins: [\n postcssAssetsPlugin({\n loadPaths: [assets],\n }),\n ],\n }),\n jsonPlugin(),\n stringPlugin({\n include: \"**/*.txt\",\n }),\n ...(transpile\n ? [\n babelPlugin({\n extensions: [\".js\", \".ts\"],\n runtimeHelpers: true,\n }),\n ]\n : []),\n ...(minimize\n ? [\n terserPlugin({\n format: {\n comments: \"some\",\n },\n }),\n ]\n : []),\n ];\n};\n\n/**\n * Prepare ready to use Rollup configuration file.\n *\n * @remarks\n * IMPORTANT: Use `babel.config.js` in the root of the project, `.babelrc` files\n * are ignored.\n *\n * You can surround any piece of code with `stripInProduction: { debug code }`\n * to strip it from the generated bundles unless VIS_DEBUG=true environmental\n * variable is set. This is useful for example to render bounding boxes during\n * debugging but automatically switch it off without any performance or bundle\n * size penalty in production. Debugger statements are also automatically\n * stripped.\n *\n * Plugins:\n * - `\\@rollup/plugin-commonjs`\n * - `\\@rollup/plugin-json`\n * - `\\@rollup/plugin-node-resolve`\n * - `\\@rollup/plugin-strip` (skipped with VIS_DEBUG=true env var)\n * - `postcss-assets`\n * - `rollup-plugin-babel` (skipped in ESNext)\n * - `rollup-plugin-copy`\n * - `rollup-plugin-postcss`\n * - `rollup-plugin-terser` (only in minified)\n * - `rollup-plugin-typescript2` (skipped if the entry is .js)\n * @param options - See {@link GRCOptions}.\n * @param mode - Whether the code should be processed for production,\n * development or testing.\n * @returns Ready to use configuration object that can be just exported from\n * `rollup.config.js` or mutated in any way if necessary.\n */\nexport function generateRollupConfiguration(\n options: OptionalOptions<GRCOptions>,\n mode: \"production\" | \"development\" | \"test\" = VIS_TEST\n ? \"test\"\n : VIS_DEBUG\n ? \"development\"\n : \"production\"\n): any {\n const {\n assets = \".\",\n copyTargets: {\n bundle: copyTargetsBundle = [],\n variant: copyTargetsVariant = [],\n } = {} as GRCOptions[\"copyTargets\"],\n externalForPeerBuild = [],\n globals = {},\n header = { name: \"Unknown Library\" },\n libraryFilename = \"unknown-library\",\n packageJSON: {\n dependencies = {},\n devDependencies = {},\n peerDependencies = {},\n ...packageJSONRest\n } = {} as GRCOptions[\"packageJSON\"],\n entryPoints: entryPoint = \"./src\",\n tsconfig = \"tsconfig.json\",\n }: GRCOptions = (options || {}) as GRCOptions;\n\n validate((expect): void => {\n // Note: Every array is a superset of empty array.\n if (Object.keys(peerDependencies).length > 0) {\n expect(\n Object.keys(dependencies),\n \"The dependencies and peer dependencies have to be disjoint sets\"\n )\n .to.be.an(\"array\")\n .that.does.not.include.any.members(Object.keys(peerDependencies));\n }\n });\n validate((expect): void => {\n expect(\n Object.keys(devDependencies),\n \"For convenience all peer dependencies also have to be dev dependencies\"\n )\n .to.be.an(\"array\")\n .that.includes.all.members(Object.keys(peerDependencies));\n });\n validate((expect): void => {\n expect(\n Object.keys(peerDependencies),\n \"Peer build externals have to be a subset of peer dependencies\"\n )\n .to.be.an(\"array\")\n .that.includes.all.members(externalForPeerBuild);\n });\n validate((expect): void => {\n expect(\n [...Object.keys(dependencies), ...Object.keys(peerDependencies)].sort(),\n \"Globals have to be provided for all runtime and peer dependencies but nothing else\"\n )\n .to.be.an(\"array\")\n .that.deep.equals(Object.keys(globals).sort());\n });\n\n validate((expect): void => {\n expect(resolve(assets), \"Assets have to be a directory\")\n .to.be.a(\"string\")\n .and.a.directory();\n });\n validate((expect): void => {\n expect(entryPoint, \"The entry point has to be directory\")\n .to.be.a(\"string\")\n .and.a.directory();\n });\n const [esnextEntry, peerEntry, standaloneEntry] = [\n \"ESNext\",\n \"peer\",\n \"standalone\",\n ].map((name): string => {\n const filenameGlob = `entry-${name.toLowerCase()}.{js,ts}`;\n const files = glob(resolve(entryPoint, filenameGlob));\n\n validate((expect): void => {\n expect(\n files,\n `There has to be a single entry file (${filenameGlob}) for the ${name} build`\n )\n .to.have.lengthOf(1)\n .and.to.have.ownProperty(\"0\")\n .that.is.a.file();\n });\n\n return files[0];\n });\n validate((expect): void => {\n expect(\n resolve(\"./declarations\"),\n \"There has to be a directory with TypeScript declarations\"\n )\n .to.be.a(\"string\")\n .and.a.directory();\n });\n\n validate((expect): void => {\n expect(\n packageJSONRest,\n \"The directories with built files have to be included in the package\"\n )\n .to.have.ownProperty(\"files\")\n .that.is.an(\"array\")\n .and.includes.all.members([\n \"declarations\",\n \"esnext\",\n \"peer\",\n \"standalone\",\n ]);\n });\n\n validate((expect): void => {\n expect(\n packageJSONRest,\n \"Package JSON's type property has to point to the declarations\"\n )\n .to.have.ownProperty(\"types\")\n .that.is.a(\"string\")\n .and.equals(`declarations/index.d.ts`);\n });\n validate((expect): void => {\n expect(\n packageJSONRest,\n \"Package JSON's browser property has to point to the minifed UMD build\"\n )\n .to.have.ownProperty(\"browser\")\n .that.is.a(\"string\")\n .and.equals(`peer/umd/${libraryFilename}.min.js`);\n });\n validate((expect): void => {\n expect(\n packageJSONRest,\n \"Package JSON's main property has to point to the UMD build\"\n )\n .to.have.ownProperty(\"main\")\n .that.is.a(\"string\")\n .and.equals(`peer/umd/${libraryFilename}.js`);\n });\n validate((expect): void => {\n expect(\n packageJSONRest,\n \"Package JSON's modul property has to point to the ESM build\"\n )\n .to.have.ownProperty(\"module\")\n .that.is.a(\"string\")\n .and.equals(`peer/esm/${libraryFilename}.js`);\n });\n validate((expect): void => {\n expect(\n packageJSONRest,\n \"Package JSON's jsnext has to point to the ESNext build\"\n )\n .to.have.ownProperty(\"jsnext\")\n .that.is.a(\"string\")\n .and.equals(`esnext/esm/${libraryFilename}.js`);\n });\n\n // Note: .to.not.exist sounds great but doesn't work.\n validate((expect): void => {\n expect(\n resolve(\"./.babelrc\"),\n \"Babelrc is ignored. Use babel.config.js config file instead.\"\n ).to.not.be.a.path;\n });\n validate((expect): void => {\n expect(\n resolve(\"./babel.config.js\"),\n \"There has to be a babel.config.js config file.\"\n ).to.not.be.a.path;\n });\n\n const banner = generateHeader(header);\n const external = {\n // No dependencies are bundled.\n esnext: processDependencies([\n ...Object.keys(dependencies),\n ...Object.keys(peerDependencies),\n\n // This will show a warning if any of them is used. The idea behind\n // it is that if someone accidentaly imports a dev dependency they\n // won't accidentaly add it to globals and Rollup will warn them\n // about their error.\n ...Object.keys(devDependencies),\n ]),\n // Only dependencies that cause compatibility issues are not bundled.\n peer: processDependencies(externalForPeerBuild),\n // No runtime dependencies, everything's bundled.\n standalone: [],\n };\n\n const commonOutput = {\n banner,\n dir: \".\",\n globals: processGlobals(globals),\n sourcemap: VIS_TEST ? \"inline\" : true,\n } as const;\n const commonOutputESM = {\n ...commonOutput,\n format: \"esm\",\n } as const;\n const commonOutputUMD = {\n ...commonOutput,\n exports: \"named\",\n extend: true,\n format: \"umd\",\n name: \"vis\",\n strict: false, // Regenerator runtime causes issues with CSP in strict mode.\n } as const;\n\n // Note: Binding more than 4 at a time is not typesafe in TS.\n const getPlugins = generateRollupPluginArray\n .bind(null, libraryFilename)\n .bind(null, assets)\n .bind(null, copyTargetsBundle)\n .bind(null, copyTargetsVariant)\n .bind(null, tsconfig)\n .bind(null, mode);\n\n return [\n {\n external: external.standalone,\n input: standaloneEntry,\n output: [\n {\n ...commonOutputESM,\n entryFileNames: `standalone/esm/${libraryFilename}.js`,\n },\n {\n ...commonOutputUMD,\n entryFileNames: `standalone/umd/${libraryFilename}.js`,\n },\n ],\n plugins: getPlugins(\"standalone\", {\n injectCSS,\n transpile,\n typescript: isTS(standaloneEntry),\n }),\n },\n {\n external: external.standalone,\n input: standaloneEntry,\n output: [\n {\n ...commonOutputESM,\n entryFileNames: `standalone/esm/${libraryFilename}.min.js`,\n },\n {\n ...commonOutputUMD,\n entryFileNames: `standalone/umd/${libraryFilename}.min.js`,\n },\n ],\n plugins: getPlugins(\"standalone\", {\n injectCSS,\n minimize,\n transpile,\n typescript: isTS(standaloneEntry),\n }),\n },\n\n {\n external: external.peer,\n input: peerEntry,\n output: [\n {\n ...commonOutputESM,\n entryFileNames: `peer/esm/${libraryFilename}.js`,\n paths: getPaths(\"peer\", \"esm\"),\n },\n {\n ...commonOutputUMD,\n entryFileNames: `peer/umd/${libraryFilename}.js`,\n paths: getPaths(\"peer\", \"umd\"),\n },\n ],\n plugins: getPlugins(\"peer\", {\n transpile,\n typescript: isTS(peerEntry),\n }),\n },\n {\n external: external.peer,\n input: peerEntry,\n output: [\n {\n ...commonOutputESM,\n entryFileNames: `peer/esm/${libraryFilename}.min.js`,\n paths: getPaths(\"peer\", \"esm\"),\n },\n {\n ...commonOutputUMD,\n entryFileNames: `peer/umd/${libraryFilename}.min.js`,\n paths: getPaths(\"peer\", \"umd\"),\n },\n ],\n plugins: getPlugins(\"peer\", {\n minimize,\n transpile,\n typescript: isTS(peerEntry),\n }),\n },\n\n {\n external: external.esnext,\n input: esnextEntry,\n output: [\n {\n ...commonOutputESM,\n entryFileNames: `esnext/esm/${libraryFilename}.js`,\n paths: getPaths(\"esnext\", \"esm\"),\n },\n {\n ...commonOutputUMD,\n entryFileNames: `esnext/umd/${libraryFilename}.js`,\n paths: getPaths(\"esnext\", \"umd\"),\n },\n ],\n plugins: getPlugins(\"esnext\", {\n typescript: isTS(esnextEntry),\n }),\n },\n {\n external: external.esnext,\n input: esnextEntry,\n output: [\n {\n ...commonOutputESM,\n entryFileNames: `esnext/esm/${libraryFilename}.min.js`,\n paths: getPaths(\"esnext\", \"esm\"),\n },\n {\n ...commonOutputUMD,\n entryFileNames: `esnext/umd/${libraryFilename}.min.js`,\n paths: getPaths(\"esnext\", \"umd\"),\n },\n ],\n plugins: getPlugins(\"esnext\", {\n minimize,\n typescript: isTS(esnextEntry),\n }),\n },\n ];\n}\n","import { execSync } from \"child_process\";\nimport { readFileSync } from \"fs\";\nimport { fileSync, setGracefulCleanup } from \"tmp-promise\";\n\nsetGracefulCleanup();\n\nconst PACK_CMD = [\"npm\", \"pack\", \"--dry-run\"];\n\n/**\n * @param textOrLines\n * @param message\n */\nfunction logStderr(\n textOrLines: string | readonly string[],\n message: string\n): never {\n console.group('\"npm pack\" output');\n console.error(\n Array.isArray(textOrLines) ? textOrLines.join(\"\\n\") : textOrLines\n );\n console.groupEnd();\n\n throw new Error(message);\n}\n\n/**\n *\n */\nfunction runNpmPack(): string[] {\n const tmpFile = fileSync().name;\n\n // There are issues with incomplete output when the stderr is read directly\n // into Node. Saving it into tmp file using shell redirection and reading it\n // from there doesn't exhibit those issues.\n execSync(`${PACK_CMD.join(\" \")} 2> ${tmpFile}`, {\n encoding: \"utf-8\",\n env: { ...process.env, LC_ALL: \"C\" },\n });\n\n const lines = readFileSync(tmpFile, \"utf-8\").split(/[\\r\\n]+/);\n\n return lines;\n}\n\n/**\n * @param lines\n */\nfunction extractFiles(lines: string[]): string[] {\n const fileListingStart = lines.indexOf(\n \"npm notice === Tarball Contents === \"\n );\n const fileListingEnd = lines.indexOf(\"npm notice === Tarball Details === \");\n\n if (fileListingStart === -1 || fileListingEnd === -1) {\n logStderr(\n lines.join(\"\\n\"),\n 'Couldn\\'t find tarball contents in \"npm pack\" output.'\n );\n }\n\n const files = lines\n .slice(fileListingStart + 1, fileListingEnd)\n .map((line): string => line.replace(/^npm notice /, \"\"))\n .map((line): string => line.trim())\n .map((line): string =>\n line.replace(\n /^([^ ]+) +(.*)/,\n (_, size, path): string =>\n `${path}${size === \"0\" ? \"(empty)\" : \" \"}`\n )\n )\n .sort()\n .map((line) => line.replace(/^(.*)(.{7})$/, \"$2 $1\"));\n\n if (files.length === 0) {\n logStderr(lines, 'No files found in \"npm pack\" output.');\n }\n\n return files;\n}\n\n/**\n * @param lines\n */\nfunction extractName(lines: string[]): string {\n const nameLine = lines.find((line): boolean =>\n /^npm notice name:/.test(line)\n );\n\n if (nameLine == null) {\n logStderr(\n lines,\n 'Can\\'t find the name of the package in \"npm pack\" output.'\n );\n }\n\n return nameLine.replace(/^npm notice name: */, \"\");\n}\n\n/**\n *\n */\nexport function inspectNpmPack(): { name: string; files: string[] } {\n const lines = runNpmPack();\n const files = extractFiles(lines);\n const name = extractName(lines);\n\n return {\n name,\n files,\n };\n}\n"],"names":["BABEL_IGNORE_RE","_Object$freeze","textToComment","string","_includesInstanceProperty","Error","_mapInstanceProperty","replace","split","line","join","packageJSON","JSON","parse","readFileSync","findUp","buildHeader","customText","date","description","homepage","name","version","defaultDate","Date","toISOString","defaultDescription","defaultHomepage","defaultName","defaultVersion","generateHeader","options","chaiConfig","truncateThreshold","chaiUse","chaiFs","VIS_DEBUG","process","env","VIS_TEST","glob","pattern","rawGlobby","sep","dependenciesWithVisExportStructure","processDependencies","deps","depNames","_Array$isArray","_Object$keys","_flatMapInstanceProperty","key","processGlobals","globals","_reduceInstanceProperty","acc","value","_Object$create","isTS","path","_endsWithInstanceProperty","validate","callback","validateExpect","error","console","getPaths","buildVariant","moduleFormat","getPath","lib","scopeCopyTarget","dirs","target","dest","bundleDest","dir","injectCSS","minimize","transpile","generateRollupPluginArray","libraryFilename","assets","copyTargetsBundle","copyTargetsVariant","tsconfig","mode","bundleType","strip","typescript","fullLibraryFilename","bundleDir","bundleVariantDirs","variant","stripCodePlugin","start_comment","end_comment","analyzerPlugin","undefined","limit","summaryOnly","copyPlugin","verbose","targets","src","resolve","__dirname","rename","transform","content","toString","nodeResolvePlugin","browser","extensions","mainFields","preferBuiltins","typescriptPlugin","commonjsPlugin","postcssPlugin","extract","inject","sourceMap","plugins","postcssAssetsPlugin","loadPaths","jsonPlugin","stringPlugin","include","babelPlugin","runtimeHelpers","terserPlugin","format","comments","generateRollupConfiguration","copyTargets","bundle","externalForPeerBuild","header","dependencies","devDependencies","peerDependencies","packageJSONRest","entryPoints","entryPoint","expect","length","to","be","an","that","does","not","any","members","all","_sortInstanceProperty","deep","equals","a","and","directory","filenameGlob","toLowerCase","files","have","lengthOf","ownProperty","is","file","esnextEntry","peerEntry","standaloneEntry","banner","external","esnext","peer","standalone","commonOutput","sourcemap","commonOutputESM","commonOutputUMD","exports","extend","strict","getPlugins","_bindInstanceProperty","input","output","entryFileNames","paths","setGracefulCleanup","PACK_CMD","logStderr","textOrLines","message","group","groupEnd","runNpmPack","tmpFile","fileSync","execSync","encoding","LC_ALL","lines","extractFiles","fileListingStart","_indexOfInstanceProperty","fileListingEnd","_trimInstanceProperty","_","size","extractName","nameLine","_findInstanceProperty","test","inspectNpmPack"],"mappings":"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"}
1
+ {"version":3,"file":"vis-dev-utils.cjs.js","sources":["../src/module/constants.ts","../src/module/header.ts","../src/module/generate-rollup-configuration/index.ts","../src/module/inspect-npm-pack.ts"],"sourcesContent":["export const BABEL_IGNORE_RE = Object.freeze(\n /[\\\\/]node_modules[\\\\/](?!.*[\\\\/]esnext[\\\\/])/\n);\n","import { sync as findUp } from \"find-up\";\nimport { readFileSync } from \"fs\";\n\n/**\n * Take a string and return a doc block comment.\n *\n * @param string - The raw text to be included in the comment.\n * @throws If the string already contains a comment.\n * @returns A block doc comment string that can be for example prepended to a\n * bundled JavaScript file.\n */\nexport function textToComment(string: string): string {\n if (string.includes(\"*/\")) {\n throw new Error(\n \"Don't include comments in the input string. It will be converted automatically.\"\n );\n }\n\n return (\n \"/**\\n\" +\n string\n // Remove empty lines from the start.\n .replace(/^[\\n\\r]*/, \"\")\n // Remove empty lines from the end.\n .replace(/[\\n\\r\\s]*$/, \"\")\n // Process each line on it's own from now on.\n .split(\"\\n\")\n // Prefix each line with an asterisk.\n .map((line) => \" * \" + line)\n // Remove trailing white space.\n .map((line) => line.replace(/[^\\S\\r\\n]*$/, \"\"))\n // Join back into a string.\n .join(\"\\n\") +\n \"\\n */\\n\"\n );\n}\n\nconst packageJSON = JSON.parse(readFileSync(findUp(\"package.json\")!, \"utf8\"));\n\nconst buildHeader = ({\n customText,\n date,\n description,\n homepage,\n name,\n version,\n}: HeaderOptions): string =>\n textToComment(`\n${name}\n${homepage}\n\n${description}\n\n@version ${version}\n@date ${date}\n\n@copyright (c) 2011-2017 Almende B.V, http://almende.com\n@copyright (c) 2017-2019 visjs contributors, https://github.com/visjs\n\n@license\nvis.js is dual licensed under both\n\n 1. The Apache 2.0 License\n http://www.apache.org/licenses/LICENSE-2.0\n\n and\n\n 2. The MIT License\n http://opensource.org/licenses/MIT\n\nvis.js may be distributed under either license.\n\n${customText}\n`);\n\n/**\n * Options for {@link generateHeader}.\n */\nexport interface HeaderOptions {\n /** Any text to be appended to the standard header. */\n customText: string;\n /** The build date. */\n date: string;\n /** A description of the project. */\n description: string;\n /** An URL to the homepage of the project. */\n homepage: string;\n /** The name of the project. */\n name: string;\n /** The version of the build. */\n version: string;\n}\n\nconst defaultDate = new Date().toISOString();\nconst defaultDescription = packageJSON.description;\nconst defaultHomepage = packageJSON.homepage;\nconst defaultName = packageJSON.name;\nconst defaultVersion = packageJSON.version;\n\n/**\n * Generate a dynamic header banner.\n *\n * @param options - Optional information to be included. Otherwise no custom\n * text will be appended, the date will be the time when this module was\n * imported (most likely the start of the build process) and the rest will be\n * read from package.json.\n * @throws If the string already contains a comment.\n * @returns Ready to use banner text.\n */\nexport function generateHeader(options?: Partial<HeaderOptions>): string {\n const {\n customText = \"\",\n date = defaultDate,\n description = defaultDescription,\n homepage = defaultHomepage,\n name = defaultName,\n version = defaultVersion,\n } = options || {};\n\n return buildHeader({\n customText,\n date,\n description,\n homepage,\n name,\n version,\n });\n}\n","import analyzerPlugin from \"rollup-plugin-analyzer\";\nimport babelPlugin from \"rollup-plugin-babel\";\nimport chaiFs from \"chai-fs\";\nimport commonjsPlugin from \"@rollup/plugin-commonjs\";\nimport copyPlugin, { Target as CopyTarget } from \"rollup-plugin-copy\";\nimport jsonPlugin from \"@rollup/plugin-json\";\nimport nodeResolvePlugin from \"@rollup/plugin-node-resolve\";\nimport postcssAssetsPlugin from \"postcss-assets\";\nimport postcssPlugin from \"rollup-plugin-postcss\";\nimport stripCodePlugin from \"rollup-plugin-strip-code\";\nimport typescriptPlugin from \"rollup-plugin-typescript2\";\nimport { generateHeader } from \"../header\";\nimport { join, resolve, sep } from \"path\";\nimport { string as stringPlugin } from \"rollup-plugin-string\";\nimport { sync as rawGlobby } from \"globby\";\nimport { terser as terserPlugin } from \"rollup-plugin-terser\";\nimport {\n config as chaiConfig,\n expect as validateExpect,\n use as chaiUse,\n} from \"chai\";\n\nimport { OptionalOptions } from \"../util\";\nimport { HeaderOptions } from \"../header\";\n\nchaiConfig.truncateThreshold = Number.MAX_SAFE_INTEGER;\nchaiUse(chaiFs);\n\nconst VIS_DEBUG = [\"1\", \"true\", \"y\", \"yes\"].includes(\n process.env[\"VIS_DEBUG\"] || \"false\"\n);\nconst VIS_TEST = [\"1\", \"true\", \"y\", \"yes\"].includes(\n process.env[\"VIS_TEST\"] || \"false\"\n);\n\n/**\n * Simple glob with workaround for non-posix paths.\n *\n * @param pattern - Single glob pattern.\n * @returns Globbed paths.\n */\nfunction glob(pattern: string): ReturnType<typeof rawGlobby> {\n return rawGlobby(sep === \"\\\\\" ? pattern.replace(/\\\\/g, \"/\") : pattern);\n}\n\nexport interface GRCOptions {\n /**\n * Where to look for files when inlining assets into CSS.\n */\n assets: string;\n /**\n * Additional files to be copied.\n */\n copyTargets: {\n /**\n * These will be copied relative to the root of each bundle (esnext,\n * standalone…).\n */\n bundle: CopyTarget[];\n /**\n * These will be copied relative to the root of each variant of each bundle\n * (esnext/esm, esnext/umd, standalone/esm…).\n */\n variant: CopyTarget[];\n };\n /**\n * The base dir with entry points for various builds. The extensions\n * determines whether TypeScript processing will be used.\n */\n entryPoints: string;\n /**\n * These are the dependencies that would cause interoperability issues if they\n * were bundled. A notable example here is vis-data.\n */\n externalForPeerBuild: string[];\n /**\n * Passed straight to Rollup.\n */\n globals: Record<string, string>;\n /**\n * Options for {@link generateHeader}.\n */\n header: Partial<HeaderOptions>;\n /**\n * This will be used as a file name with appropriate extensions appended\n * (like .js, .min.js or .css).\n */\n libraryFilename: string;\n /**\n * Simply required package.json.\n */\n packageJSON: {\n browser: string;\n dependencies: Record<string, string>;\n devDependencies: Record<string, string>;\n files: string[];\n jsnext: string;\n main: string;\n module: string;\n peerDependencies: Record<string, string>;\n };\n /**\n * The path to tsconfig.json to be used in this build.\n */\n tsconfig: string;\n}\n\n/**\n * These are the dependencies that follow standalone/peer/ESNext export\n * structure.\n */\nconst dependenciesWithVisExportStructure = [\n \"vis-data\",\n \"vis-graph3d\",\n \"vis-network\",\n \"vis-timeline\",\n \"vis-util\",\n \"vis-uuid\",\n];\n\n/**\n * This ensures that dependencies on Vis projects point to ESNext builds.\n *\n * @param deps - The original dependencies as listed in package.json.\n * @returns An array of dependencies for Rollup.\n */\nfunction processDependencies(\n deps: string[] | Record<string, string>\n): string[] {\n const depNames = Array.isArray(deps) ? deps : Object.keys(deps);\n\n return depNames.flatMap((key): string[] =>\n dependenciesWithVisExportStructure.includes(key) ? [key + \"/esnext\"] : [key]\n );\n}\n\n/**\n * This ensures that all Vis projects are imported using ESNext builds.\n * Importing standalone versions will not only cause problems in production but\n * will log warnings during build process and won't work at all.\n *\n * @param globals - The original globals.\n * @returns Globals forcing the use of ESNext builds for Vis projects.\n */\nfunction processGlobals(\n globals: Record<string, string>\n): Record<string, string> {\n return Object.entries(globals).reduce<Record<string, string>>(\n (acc, [key, value]): Record<string, string> => {\n acc[\n dependenciesWithVisExportStructure.includes(key) ? key + \"/esnext\" : key\n ] = value;\n\n return acc;\n },\n Object.create(null)\n );\n}\n\n/**\n * @param path\n */\nfunction isTS(path: string): boolean {\n return path.endsWith(\".ts\");\n}\n\n/*\n * Make sure that Chai doesn't throw and therefore stop execution on failed\n * validations during debugging.\n */\nconst validate: (callback: (expect: Chai.ExpectStatic) => void) => void =\n VIS_DEBUG\n ? (callback: (expect: Chai.ExpectStatic) => void): void => {\n try {\n callback(validateExpect);\n } catch (error) {\n console.error(error);\n }\n }\n : (callback: (expect: Chai.ExpectStatic) => void): void =>\n void callback(validateExpect);\n\n/**\n * Transform ESNext import paths to match the build version being constructed.\n *\n * @param buildVariant - ESNext or peer build. This is not available for\n * standalone as only peer and ESNext have imports.\n * @param moduleFormat - What kind of module system to use.\n * @returns Path overrides for Rollup.\n */\nfunction getPaths(\n buildVariant: \"esnext\" | \"peer\",\n moduleFormat: \"esm\" | \"umd\"\n): Record<string, string> {\n /**\n * @param lib\n */\n function getPath(\n lib:\n | \"charts\"\n | \"data\"\n | \"graph3d\"\n | \"network\"\n | \"timeline\"\n | \"util\"\n | \"uuid\"\n ): Record<string, string> {\n return {\n [`vis-${lib}/esnext`]: `vis-${lib}/${buildVariant}/${moduleFormat}/vis-${lib}.js`,\n };\n }\n\n return {\n ...getPath(\"charts\"),\n ...getPath(\"data\"),\n ...getPath(\"graph3d\"),\n ...getPath(\"network\"),\n ...getPath(\"timeline\"),\n ...getPath(\"util\"),\n ...getPath(\"uuid\"),\n };\n}\n\n/**\n * Change target's dest so that it's relative to given dir(s).\n *\n * @param dirs - The directories there targets should be relative to.\n * @returns A function that can be directly supplied to Array.map().\n */\nfunction scopeCopyTarget(\n ...dirs: readonly string[]\n): (target: CopyTarget) => CopyTarget {\n return function (target): CopyTarget {\n const dest = (\n Array.isArray(target.dest) ? target.dest : [target.dest]\n ) as readonly string[];\n\n const bundleDest = dest.flatMap((path): string[] =>\n dirs.map((dir): string => join(dir, path))\n );\n\n return {\n ...target,\n dest: bundleDest,\n };\n };\n}\n\nconst injectCSS = true;\nconst minimize = true;\nconst transpile = true;\nconst generateRollupPluginArray = (\n libraryFilename: string,\n assets: string,\n copyTargetsBundle: readonly CopyTarget[],\n copyTargetsVariant: readonly CopyTarget[],\n tsconfig: string,\n mode: \"production\" | \"development\" | \"test\",\n bundleType: \"esnext\" | \"standalone\" | \"peer\",\n {\n injectCSS = false,\n minimize = false,\n strip = mode === \"production\",\n transpile = false,\n typescript = false,\n } = {}\n): unknown[] => {\n const fullLibraryFilename = `${libraryFilename}${minimize ? \".min\" : \"\"}`;\n\n const bundleDir = bundleType;\n const bundleVariantDirs = [\"esm\", \"umd\"].map((variant): string =>\n join(bundleDir, variant)\n );\n\n return [\n ...(strip\n ? [\n // This should be first because it removes code from source files.\n // It's much easier to follow if the removal happens before any\n // transformations.\n stripCodePlugin({\n start_comment: \"develblock:start\",\n end_comment: \"develblock:end\",\n }),\n ]\n : [\n // Remove the comments marking devel blocks as they can cause problems\n // later on because transpilation shuffles things around which may\n // lead to all kinds of issues including syntax errors.\n stripCodePlugin({\n pattern: /[\\t ]*\\/\\* ?develblock:(start|end) ?\\*\\//g,\n }),\n ]),\n analyzerPlugin(VIS_DEBUG ? undefined : { limit: 10, summaryOnly: true }),\n copyPlugin({\n verbose: VIS_DEBUG,\n targets: [\n // JavaScript\n {\n src: resolve(__dirname, \"assets/bundle-root.js\"),\n dest: bundleDir,\n rename: \"index.js\",\n },\n {\n src: resolve(__dirname, \"assets/bundle-index.js\"),\n dest: bundleVariantDirs,\n rename: \"index.js\",\n transform: (content: Buffer): string =>\n content.toString().replace(\"{{filename}}\", libraryFilename),\n },\n\n // TypeScript\n {\n src: resolve(__dirname, \"assets/bundle-root.d.ts\"),\n dest: bundleDir,\n rename: \"index.d.ts\",\n },\n {\n src: resolve(__dirname, \"assets/bundle-index.d.ts\"),\n dest: bundleVariantDirs,\n rename: \"index.d.ts\",\n transform: (content: Buffer): string =>\n content.toString().replace(\"{{filename}}\", libraryFilename),\n },\n {\n src: resolve(__dirname, \"assets/bundle-file.d.ts\"),\n dest: bundleVariantDirs,\n rename: `${fullLibraryFilename}.d.ts`,\n transform: (content: Buffer): string =>\n content.toString().replace(\"{{bundle-type}}\", bundleType),\n },\n\n // Custom\n ...copyTargetsBundle.map(scopeCopyTarget(bundleDir)),\n ...copyTargetsVariant.map(scopeCopyTarget(...bundleVariantDirs)),\n ],\n }),\n nodeResolvePlugin({\n browser: true,\n extensions: [\".js\", \".json\", \".ts\"],\n mainFields: [\"jsnext\", \"module\", \"main\"],\n preferBuiltins: false,\n }),\n ...(typescript\n ? [\n typescriptPlugin({\n tsconfig,\n }),\n ]\n : []),\n commonjsPlugin(),\n postcssPlugin({\n extract: !injectCSS && `styles/${fullLibraryFilename}.css`,\n inject: injectCSS,\n minimize,\n // Prevent the sourcemaps from being injected into JS files.\n sourceMap: !injectCSS,\n plugins: [\n postcssAssetsPlugin({\n loadPaths: [assets],\n }),\n ],\n }),\n jsonPlugin(),\n stringPlugin({\n include: \"**/*.txt\",\n }),\n ...(transpile\n ? [\n babelPlugin({\n extensions: [\".js\", \".ts\"],\n runtimeHelpers: true,\n }),\n ]\n : []),\n ...(minimize\n ? [\n terserPlugin({\n format: {\n comments: \"some\",\n },\n }),\n ]\n : []),\n ];\n};\n\n/**\n * Prepare ready to use Rollup configuration file.\n *\n * @remarks\n * IMPORTANT: Use `babel.config.js` in the root of the project, `.babelrc` files\n * are ignored.\n *\n * You can surround any piece of code with `stripInProduction: { debug code }`\n * to strip it from the generated bundles unless VIS_DEBUG=true environmental\n * variable is set. This is useful for example to render bounding boxes during\n * debugging but automatically switch it off without any performance or bundle\n * size penalty in production. Debugger statements are also automatically\n * stripped.\n *\n * Plugins:\n * - `\\@rollup/plugin-commonjs`\n * - `\\@rollup/plugin-json`\n * - `\\@rollup/plugin-node-resolve`\n * - `\\@rollup/plugin-strip` (skipped with VIS_DEBUG=true env var)\n * - `postcss-assets`\n * - `rollup-plugin-babel` (skipped in ESNext)\n * - `rollup-plugin-copy`\n * - `rollup-plugin-postcss`\n * - `rollup-plugin-terser` (only in minified)\n * - `rollup-plugin-typescript2` (skipped if the entry is .js)\n * @param options - See {@link GRCOptions}.\n * @param mode - Whether the code should be processed for production,\n * development or testing.\n * @returns Ready to use configuration object that can be just exported from\n * `rollup.config.js` or mutated in any way if necessary.\n */\nexport function generateRollupConfiguration(\n options: OptionalOptions<GRCOptions>,\n mode: \"production\" | \"development\" | \"test\" = VIS_TEST\n ? \"test\"\n : VIS_DEBUG\n ? \"development\"\n : \"production\"\n): any {\n const {\n assets = \".\",\n copyTargets: {\n bundle: copyTargetsBundle = [],\n variant: copyTargetsVariant = [],\n } = {} as GRCOptions[\"copyTargets\"],\n externalForPeerBuild = [],\n globals = {},\n header = { name: \"Unknown Library\" },\n libraryFilename = \"unknown-library\",\n packageJSON: {\n dependencies = {},\n devDependencies = {},\n peerDependencies = {},\n ...packageJSONRest\n } = {} as GRCOptions[\"packageJSON\"],\n entryPoints: entryPoint = \"./src\",\n tsconfig = \"tsconfig.json\",\n }: GRCOptions = (options || {}) as GRCOptions;\n\n validate((expect): void => {\n // Note: Every array is a superset of empty array.\n if (Object.keys(peerDependencies).length > 0) {\n expect(\n Object.keys(dependencies),\n \"The dependencies and peer dependencies have to be disjoint sets\"\n )\n .to.be.an(\"array\")\n .that.does.not.include.any.members(Object.keys(peerDependencies));\n }\n });\n validate((expect): void => {\n expect(\n Object.keys(devDependencies),\n \"For convenience all peer dependencies also have to be dev dependencies\"\n )\n .to.be.an(\"array\")\n .that.includes.all.members(Object.keys(peerDependencies));\n });\n validate((expect): void => {\n expect(\n Object.keys(peerDependencies),\n \"Peer build externals have to be a subset of peer dependencies\"\n )\n .to.be.an(\"array\")\n .that.includes.all.members(externalForPeerBuild);\n });\n validate((expect): void => {\n expect(\n [...Object.keys(dependencies), ...Object.keys(peerDependencies)].sort(),\n \"Globals have to be provided for all runtime and peer dependencies but nothing else\"\n )\n .to.be.an(\"array\")\n .that.deep.equals(Object.keys(globals).sort());\n });\n\n validate((expect): void => {\n expect(resolve(assets), \"Assets have to be a directory\")\n .to.be.a(\"string\")\n .and.a.directory();\n });\n validate((expect): void => {\n expect(entryPoint, \"The entry point has to be directory\")\n .to.be.a(\"string\")\n .and.a.directory();\n });\n const [esnextEntry, peerEntry, standaloneEntry] = [\n \"ESNext\",\n \"peer\",\n \"standalone\",\n ].map((name): string => {\n const filenameGlob = `entry-${name.toLowerCase()}.{js,ts}`;\n const files = glob(resolve(entryPoint, filenameGlob));\n\n validate((expect): void => {\n expect(\n files,\n `There has to be a single entry file (${filenameGlob}) for the ${name} build`\n )\n .to.have.lengthOf(1)\n .and.to.have.ownProperty(\"0\")\n .that.is.a.file();\n });\n\n return files[0];\n });\n validate((expect): void => {\n expect(\n resolve(\"./declarations\"),\n \"There has to be a directory with TypeScript declarations\"\n )\n .to.be.a(\"string\")\n .and.a.directory();\n });\n\n validate((expect): void => {\n expect(\n packageJSONRest,\n \"The directories with built files have to be included in the package\"\n )\n .to.have.ownProperty(\"files\")\n .that.is.an(\"array\")\n .and.includes.all.members([\n \"declarations\",\n \"esnext\",\n \"peer\",\n \"standalone\",\n ]);\n });\n\n validate((expect): void => {\n expect(\n packageJSONRest,\n \"Package JSON's type property has to point to the declarations\"\n )\n .to.have.ownProperty(\"types\")\n .that.is.a(\"string\")\n .and.equals(`declarations/index.d.ts`);\n });\n validate((expect): void => {\n expect(\n packageJSONRest,\n \"Package JSON's browser property has to point to the minifed UMD build\"\n )\n .to.have.ownProperty(\"browser\")\n .that.is.a(\"string\")\n .and.equals(`peer/umd/${libraryFilename}.min.js`);\n });\n validate((expect): void => {\n expect(\n packageJSONRest,\n \"Package JSON's main property has to point to the UMD build\"\n )\n .to.have.ownProperty(\"main\")\n .that.is.a(\"string\")\n .and.equals(`peer/umd/${libraryFilename}.js`);\n });\n validate((expect): void => {\n expect(\n packageJSONRest,\n \"Package JSON's modul property has to point to the ESM build\"\n )\n .to.have.ownProperty(\"module\")\n .that.is.a(\"string\")\n .and.equals(`peer/esm/${libraryFilename}.js`);\n });\n validate((expect): void => {\n expect(\n packageJSONRest,\n \"Package JSON's jsnext has to point to the ESNext build\"\n )\n .to.have.ownProperty(\"jsnext\")\n .that.is.a(\"string\")\n .and.equals(`esnext/esm/${libraryFilename}.js`);\n });\n\n // Note: .to.not.exist sounds great but doesn't work.\n validate((expect): void => {\n expect(\n resolve(\"./.babelrc\"),\n \"Babelrc is ignored. Use babel.config.js config file instead.\"\n ).to.not.be.a.path;\n });\n validate((expect): void => {\n expect(\n resolve(\"./babel.config.js\"),\n \"There has to be a babel.config.js config file.\"\n ).to.not.be.a.path;\n });\n\n const banner = generateHeader(header);\n const external = {\n // No dependencies are bundled.\n esnext: processDependencies([\n ...Object.keys(dependencies),\n ...Object.keys(peerDependencies),\n\n // This will show a warning if any of them is used. The idea behind\n // it is that if someone accidentaly imports a dev dependency they\n // won't accidentaly add it to globals and Rollup will warn them\n // about their error.\n ...Object.keys(devDependencies),\n ]),\n // Only dependencies that cause compatibility issues are not bundled.\n peer: processDependencies(externalForPeerBuild),\n // No runtime dependencies, everything's bundled.\n standalone: [],\n };\n\n const commonOutput = {\n banner,\n dir: \".\",\n globals: processGlobals(globals),\n sourcemap: VIS_TEST ? \"inline\" : true,\n } as const;\n const commonOutputESM = {\n ...commonOutput,\n format: \"esm\",\n } as const;\n const commonOutputUMD = {\n ...commonOutput,\n exports: \"named\",\n extend: true,\n format: \"umd\",\n name: \"vis\",\n strict: false, // Regenerator runtime causes issues with CSP in strict mode.\n } as const;\n\n // Note: Binding more than 4 at a time is not typesafe in TS.\n const getPlugins = generateRollupPluginArray\n .bind(null, libraryFilename)\n .bind(null, assets)\n .bind(null, copyTargetsBundle)\n .bind(null, copyTargetsVariant)\n .bind(null, tsconfig)\n .bind(null, mode);\n\n return [\n {\n external: external.standalone,\n input: standaloneEntry,\n output: [\n {\n ...commonOutputESM,\n entryFileNames: `standalone/esm/${libraryFilename}.js`,\n },\n {\n ...commonOutputUMD,\n entryFileNames: `standalone/umd/${libraryFilename}.js`,\n },\n ],\n plugins: getPlugins(\"standalone\", {\n injectCSS,\n transpile,\n typescript: isTS(standaloneEntry),\n }),\n },\n {\n external: external.standalone,\n input: standaloneEntry,\n output: [\n {\n ...commonOutputESM,\n entryFileNames: `standalone/esm/${libraryFilename}.min.js`,\n },\n {\n ...commonOutputUMD,\n entryFileNames: `standalone/umd/${libraryFilename}.min.js`,\n },\n ],\n plugins: getPlugins(\"standalone\", {\n injectCSS,\n minimize,\n transpile,\n typescript: isTS(standaloneEntry),\n }),\n },\n\n {\n external: external.peer,\n input: peerEntry,\n output: [\n {\n ...commonOutputESM,\n entryFileNames: `peer/esm/${libraryFilename}.js`,\n paths: getPaths(\"peer\", \"esm\"),\n },\n {\n ...commonOutputUMD,\n entryFileNames: `peer/umd/${libraryFilename}.js`,\n paths: getPaths(\"peer\", \"umd\"),\n },\n ],\n plugins: getPlugins(\"peer\", {\n transpile,\n typescript: isTS(peerEntry),\n }),\n },\n {\n external: external.peer,\n input: peerEntry,\n output: [\n {\n ...commonOutputESM,\n entryFileNames: `peer/esm/${libraryFilename}.min.js`,\n paths: getPaths(\"peer\", \"esm\"),\n },\n {\n ...commonOutputUMD,\n entryFileNames: `peer/umd/${libraryFilename}.min.js`,\n paths: getPaths(\"peer\", \"umd\"),\n },\n ],\n plugins: getPlugins(\"peer\", {\n minimize,\n transpile,\n typescript: isTS(peerEntry),\n }),\n },\n\n {\n external: external.esnext,\n input: esnextEntry,\n output: [\n {\n ...commonOutputESM,\n entryFileNames: `esnext/esm/${libraryFilename}.js`,\n paths: getPaths(\"esnext\", \"esm\"),\n },\n {\n ...commonOutputUMD,\n entryFileNames: `esnext/umd/${libraryFilename}.js`,\n paths: getPaths(\"esnext\", \"umd\"),\n },\n ],\n plugins: getPlugins(\"esnext\", {\n typescript: isTS(esnextEntry),\n }),\n },\n {\n external: external.esnext,\n input: esnextEntry,\n output: [\n {\n ...commonOutputESM,\n entryFileNames: `esnext/esm/${libraryFilename}.min.js`,\n paths: getPaths(\"esnext\", \"esm\"),\n },\n {\n ...commonOutputUMD,\n entryFileNames: `esnext/umd/${libraryFilename}.min.js`,\n paths: getPaths(\"esnext\", \"umd\"),\n },\n ],\n plugins: getPlugins(\"esnext\", {\n minimize,\n typescript: isTS(esnextEntry),\n }),\n },\n ];\n}\n","import { execSync } from \"child_process\";\nimport { readFileSync } from \"fs\";\nimport { fileSync, setGracefulCleanup } from \"tmp-promise\";\n\nsetGracefulCleanup();\n\nconst PACK_CMD = [\"npm\", \"pack\", \"--dry-run\"];\n\n/**\n * @param textOrLines\n * @param message\n */\nfunction logStderr(\n textOrLines: string | readonly string[],\n message: string\n): never {\n console.group('\"npm pack\" output');\n console.error(\n Array.isArray(textOrLines) ? textOrLines.join(\"\\n\") : textOrLines\n );\n console.groupEnd();\n\n throw new Error(message);\n}\n\n/**\n *\n */\nfunction runNpmPack(): string[] {\n const tmpFile = fileSync().name;\n\n // There are issues with incomplete output when the stderr is read directly\n // into Node. Saving it into tmp file using shell redirection and reading it\n // from there doesn't exhibit those issues.\n execSync(`${PACK_CMD.join(\" \")} 2> ${tmpFile}`, {\n encoding: \"utf-8\",\n env: { ...process.env, LC_ALL: \"C\" },\n });\n\n const lines = readFileSync(tmpFile, \"utf-8\").split(/[\\r\\n]+/);\n\n return lines;\n}\n\n/**\n * @param lines\n */\nfunction extractFiles(lines: string[]): string[] {\n const fileListingStart = lines.indexOf(\n \"npm notice === Tarball Contents === \"\n );\n const fileListingEnd = lines.indexOf(\"npm notice === Tarball Details === \");\n\n if (fileListingStart === -1 || fileListingEnd === -1) {\n logStderr(\n lines.join(\"\\n\"),\n 'Couldn\\'t find tarball contents in \"npm pack\" output.'\n );\n }\n\n const files = lines\n .slice(fileListingStart + 1, fileListingEnd)\n .map((line): string => line.replace(/^npm notice /, \"\"))\n .map((line): string => line.trim())\n .map((line): string =>\n line.replace(\n /^([^ ]+) +(.*)/,\n (_, size, path): string =>\n `${path}${size === \"0\" ? \"(empty)\" : \" \"}`\n )\n )\n .sort()\n .map((line) => line.replace(/^(.*)(.{7})$/, \"$2 $1\"));\n\n if (files.length === 0) {\n logStderr(lines, 'No files found in \"npm pack\" output.');\n }\n\n return files;\n}\n\n/**\n * @param lines\n */\nfunction extractName(lines: string[]): string {\n const nameLine = lines.find((line): boolean =>\n /^npm notice name:/.test(line)\n );\n\n if (nameLine == null) {\n logStderr(\n lines,\n 'Can\\'t find the name of the package in \"npm pack\" output.'\n );\n }\n\n return nameLine.replace(/^npm notice name: */, \"\");\n}\n\n/**\n *\n */\nexport function inspectNpmPack(): { name: string; files: string[] } {\n const lines = runNpmPack();\n const files = extractFiles(lines);\n const name = extractName(lines);\n\n return {\n name,\n files,\n };\n}\n"],"names":["BABEL_IGNORE_RE","_Object$freeze","textToComment","string","_includesInstanceProperty","Error","_mapInstanceProperty","replace","split","line","join","packageJSON","JSON","parse","readFileSync","findUp","buildHeader","customText","date","description","homepage","name","version","_concatInstanceProperty","defaultDate","Date","toISOString","defaultDescription","defaultHomepage","defaultName","defaultVersion","generateHeader","options","chaiConfig","truncateThreshold","_Number$MAX_SAFE_INTEGER","chaiUse","chaiFs","VIS_DEBUG","process","env","VIS_TEST","glob","pattern","rawGlobby","sep","dependenciesWithVisExportStructure","processDependencies","deps","depNames","_Array$isArray","_Object$keys","_flatMapInstanceProperty","key","processGlobals","globals","_reduceInstanceProperty","acc","_slicedToArray","value","_Object$create","isTS","path","_endsWithInstanceProperty","validate","callback","validateExpect","error","console","getPaths","buildVariant","moduleFormat","getPath","lib","_objectSpread","scopeCopyTarget","dirs","target","dest","bundleDest","dir","injectCSS","minimize","transpile","generateRollupPluginArray","libraryFilename","assets","copyTargetsBundle","copyTargetsVariant","tsconfig","mode","bundleType","strip","typescript","fullLibraryFilename","bundleDir","bundleVariantDirs","variant","stripCodePlugin","start_comment","end_comment","analyzerPlugin","undefined","limit","summaryOnly","copyPlugin","verbose","targets","src","resolve","__dirname","rename","transform","content","toString","_toConsumableArray","nodeResolvePlugin","browser","extensions","mainFields","preferBuiltins","typescriptPlugin","commonjsPlugin","postcssPlugin","extract","inject","sourceMap","plugins","postcssAssetsPlugin","loadPaths","jsonPlugin","stringPlugin","include","babelPlugin","runtimeHelpers","terserPlugin","format","comments","generateRollupConfiguration","copyTargets","bundle","externalForPeerBuild","header","dependencies","devDependencies","peerDependencies","packageJSONRest","_objectWithoutProperties","entryPoints","entryPoint","expect","length","to","be","an","that","does","not","any","members","all","_sortInstanceProperty","deep","equals","a","and","directory","filenameGlob","toLowerCase","files","have","lengthOf","ownProperty","is","file","esnextEntry","peerEntry","standaloneEntry","banner","external","esnext","peer","standalone","commonOutput","sourcemap","commonOutputESM","commonOutputUMD","exports","extend","strict","getPlugins","_bindInstanceProperty","input","output","entryFileNames","paths","setGracefulCleanup","PACK_CMD","logStderr","textOrLines","message","group","groupEnd","runNpmPack","tmpFile","fileSync","execSync","encoding","LC_ALL","lines","extractFiles","fileListingStart","_indexOfInstanceProperty","fileListingEnd","_sliceInstanceProperty","_trimInstanceProperty","_","size","extractName","nameLine","_findInstanceProperty","test","inspectNpmPack"],"mappings":"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"}
@@ -4,8 +4,8 @@
4
4
  *
5
5
  * Development utilities for the Vis family projects.
6
6
  *
7
- * @version 3.0.5
8
- * @date 2022-03-12T16:41:01.018Z
7
+ * @version 3.0.8
8
+ * @date 2022-03-13T02:36:50.557Z
9
9
  *
10
10
  * @copyright (c) 2011-2017 Almende B.V, http://almende.com
11
11
  * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs