@monorepolint/rules 0.5.0-beta.8 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-clean.log +4 -0
- package/.turbo/turbo-compile-typescript.log +4 -0
- package/.turbo/turbo-lint.log +4 -0
- package/.turbo/turbo-test.log +666 -0
- package/.turbo/turbo-transpile-typescript.log +14 -0
- package/CHANGELOG.md +42 -0
- package/build/js/index.js +1422 -0
- package/build/js/index.js.map +1 -0
- package/build/tsconfig.tsbuildinfo +1 -0
- package/build/types/__tests__/alphabeticalScripts.spec.d.ts +8 -0
- package/build/types/__tests__/alphabeticalScripts.spec.d.ts.map +1 -0
- package/build/types/__tests__/bannedDependencies.spec.d.ts +2 -0
- package/build/types/__tests__/bannedDependencies.spec.d.ts.map +1 -0
- package/build/types/__tests__/consistentDependencies.spec.d.ts +2 -0
- package/build/types/__tests__/consistentDependencies.spec.d.ts.map +1 -0
- package/build/types/__tests__/consistentVersions.spec.d.ts +8 -0
- package/build/types/__tests__/consistentVersions.spec.d.ts.map +1 -0
- package/build/types/__tests__/fileContents.spec.d.ts +8 -0
- package/build/types/__tests__/fileContents.spec.d.ts.map +1 -0
- package/build/types/__tests__/mustSatisfyPeerDependencies.spec.d.ts +8 -0
- package/build/types/__tests__/mustSatisfyPeerDependencies.spec.d.ts.map +1 -0
- package/build/types/__tests__/nestedWorkspaces.spec.d.ts +2 -0
- package/build/types/__tests__/nestedWorkspaces.spec.d.ts.map +1 -0
- package/build/types/__tests__/packageEntry.spec.d.ts +8 -0
- package/build/types/__tests__/packageEntry.spec.d.ts.map +1 -0
- package/build/types/__tests__/packageOrder.spec.d.ts +8 -0
- package/build/types/__tests__/packageOrder.spec.d.ts.map +1 -0
- package/build/types/__tests__/packageScript.spec.d.ts +8 -0
- package/build/types/__tests__/packageScript.spec.d.ts.map +1 -0
- package/build/types/__tests__/requireDependency.spec.d.ts +2 -0
- package/build/types/__tests__/requireDependency.spec.d.ts.map +1 -0
- package/build/types/__tests__/utils.d.ts +81 -0
- package/build/types/__tests__/utils.d.ts.map +1 -0
- package/build/types/alphabeticalDependencies.d.ts +8 -0
- package/build/types/alphabeticalDependencies.d.ts.map +1 -0
- package/build/types/alphabeticalScripts.d.ts +8 -0
- package/build/types/alphabeticalScripts.d.ts.map +1 -0
- package/build/types/bannedDependencies.d.ts +48 -0
- package/build/types/bannedDependencies.d.ts.map +1 -0
- package/build/types/consistentDependencies.d.ts +16 -0
- package/build/types/consistentDependencies.d.ts.map +1 -0
- package/build/types/consistentVersions.d.ts +19 -0
- package/build/types/consistentVersions.d.ts.map +1 -0
- package/build/types/fileContents.d.ts +24 -0
- package/build/types/fileContents.d.ts.map +1 -0
- package/build/types/index.d.ts +21 -0
- package/build/types/index.d.ts.map +1 -0
- package/build/types/mustSatisfyPeerDependencies.d.ts +333 -0
- package/build/types/mustSatisfyPeerDependencies.d.ts.map +1 -0
- package/build/types/nestedWorkspaces.d.ts +10 -0
- package/build/types/nestedWorkspaces.d.ts.map +1 -0
- package/build/types/packageEntry.d.ts +43 -0
- package/build/types/packageEntry.d.ts.map +1 -0
- package/build/types/packageOrder.d.ts +10 -0
- package/build/types/packageOrder.d.ts.map +1 -0
- package/build/types/packageScript.d.ts +32 -0
- package/build/types/packageScript.d.ts.map +1 -0
- package/build/types/requireDependency.d.ts +29 -0
- package/build/types/requireDependency.d.ts.map +1 -0
- package/build/types/standardTsconfig.d.ts +29 -0
- package/build/types/standardTsconfig.d.ts.map +1 -0
- package/build/types/util/checkAlpha.d.ts +10 -0
- package/build/types/util/checkAlpha.d.ts.map +1 -0
- package/build/types/util/createRuleFactory.d.ts +14 -0
- package/build/types/util/createRuleFactory.d.ts.map +1 -0
- package/build/types/util/makeDirectory.d.ts +8 -0
- package/build/types/util/makeDirectory.d.ts.map +1 -0
- package/build/types/util/packageDependencyGraphService.d.ts +37 -0
- package/build/types/util/packageDependencyGraphService.d.ts.map +1 -0
- package/package.json +4 -4
- package/src/alphabeticalDependencies.ts +2 -2
- package/src/alphabeticalScripts.ts +2 -2
- package/src/bannedDependencies.ts +2 -2
- package/src/consistentDependencies.ts +2 -2
- package/src/consistentVersions.ts +2 -2
- package/src/fileContents.ts +2 -2
- package/src/index.ts +8 -0
- package/src/mustSatisfyPeerDependencies.ts +2 -2
- package/src/nestedWorkspaces.ts +4 -4
- package/src/packageEntry.ts +2 -2
- package/src/packageOrder.ts +2 -2
- package/src/packageScript.ts +2 -2
- package/src/requireDependency.ts +2 -2
- package/src/standardTsconfig.ts +2 -2
- package/src/util/createRuleFactory.ts +33 -0
- package/src/public/util.ts +0 -1
- package/src/util/makeRule.ts +0 -29
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/util/checkAlpha.ts","../../src/util/createRuleFactory.ts","../../src/alphabeticalDependencies.ts","../../src/alphabeticalScripts.ts","../../src/bannedDependencies.ts","../../src/util/packageDependencyGraphService.ts","../../src/consistentDependencies.ts","../../src/consistentVersions.ts","../../src/fileContents.ts","../../src/mustSatisfyPeerDependencies.ts","../../src/packageOrder.ts","../../src/packageEntry.ts","../../src/packageScript.ts","../../src/standardTsconfig.ts","../../src/nestedWorkspaces.ts","../../src/requireDependency.ts"],"sourcesContent":["/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { Context } from \"@monorepolint/config\";\nimport { diff } from \"jest-diff\";\n\nexport function checkAlpha(\n context: Context,\n block: \"dependencies\" | \"devDependencies\" | \"peerDependencies\" | \"scripts\"\n) {\n const packageJson = context.getPackageJson();\n const packagePath = context.getPackageJsonPath();\n\n const blockToSort = packageJson[block];\n\n if (blockToSort === undefined) {\n return;\n }\n\n const actualOrder = Object.keys(blockToSort);\n const expectedOrder = actualOrder.slice().sort(); // sort mutates, so we need to copy the previous result\n\n if (!arrayOrderCompare(actualOrder, expectedOrder)) {\n context.addError({\n file: packagePath,\n message: createIncorrectOrderErrorMessage(block, packageJson.name!),\n longMessage: diff(expectedOrder, actualOrder, { expand: true }),\n fixer: () => {\n const expectedDependencies: Record<string, string> = {};\n\n expectedOrder.forEach((dep) => {\n expectedDependencies[dep] = blockToSort[dep];\n });\n\n const newPackageJson = { ...packageJson };\n newPackageJson[block] = expectedDependencies;\n context.host.writeJson(packagePath, newPackageJson);\n },\n });\n }\n}\n\nfunction arrayOrderCompare(a: ReadonlyArray<string>, b: ReadonlyArray<string>) {\n for (let index = 0; index < a.length; index++) {\n if (a[index] !== b[index]) {\n return false;\n }\n }\n\n return true;\n}\n\nexport function createIncorrectOrderErrorMessage(block: string, packageName: string) {\n return `Incorrect order of ${block} in ${packageName}'s package.json`;\n}\n","import { Context, RuleEntry, RuleModule } from \"@monorepolint/config\";\n\nexport type ValidateOptionsFn<X> = (options: unknown) => asserts options is X;\nexport type RuleFactoryFn<T> = (ruleEntry: RuleEntry<T>) => RuleModule<T>;\nexport type RuleCheckFn<O> = (context: Context, options: O, extra: { id: string }) => Promise<unknown> | unknown;\n\nexport interface RuleFactoryOptions<X> {\n name: string;\n check: RuleCheckFn<X>;\n printStats?: () => void;\n validateOptions: ValidateOptionsFn<X>;\n}\n\nlet globalId = 0;\nexport function createRuleFactory<X>({\n name,\n check,\n validateOptions,\n printStats,\n}: RuleFactoryOptions<X>): RuleFactoryFn<X> {\n return function (ruleEntry) {\n const id = ruleEntry.id ?? `${name} :: ${globalId++}`;\n return {\n id,\n // eslint-disable-next-line @typescript-eslint/no-extra-non-null-assertion\n check: (context) => check(context, ruleEntry.options!!, { id }),\n name,\n validateOptions,\n ruleEntry,\n printStats,\n };\n };\n}\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { checkAlpha } from \"./util/checkAlpha.js\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\n\nexport const alphabeticalDependencies = createRuleFactory<undefined>({\n name: \"alphabeticalDependencies\",\n check: (context) => {\n checkAlpha(context, \"dependencies\");\n checkAlpha(context, \"devDependencies\");\n checkAlpha(context, \"peerDependencies\");\n },\n validateOptions: () => {},\n});\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { checkAlpha } from \"./util/checkAlpha.js\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\n\nexport const alphabeticalScripts = createRuleFactory<undefined>({\n name: \"alphabeticalScripts\",\n check: (context) => {\n checkAlpha(context, \"scripts\");\n },\n validateOptions: () => {},\n});\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { Context } from \"@monorepolint/config\";\nimport { matchesAnyGlob } from \"@monorepolint/utils\";\nimport { AggregateTiming } from \"@monorepolint/utils\";\nimport * as path from \"node:path\";\nimport * as r from \"runtypes\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\nimport { IPackageDependencyGraphNode, PackageDependencyGraphService } from \"./util/packageDependencyGraphService.js\";\n// FIXME: This rule is messed. bannedTransitiveDependencies doesnt glob\n\nconst bannedDepGlobsField = r.Union(\n r.Array(r.String),\n r.Record({\n glob: r.Array(r.String).optional(),\n exact: r.Array(r.String).optional(),\n })\n);\n\nconst Options = r.Union(\n r.Record({\n bannedDependencies: bannedDepGlobsField,\n bannedTransitiveDependencies: r.Undefined.optional(),\n }),\n\n r.Record({\n bannedDependencies: bannedDepGlobsField.optional(),\n bannedTransitiveDependencies: r.Array(r.String),\n }),\n\n r.Record({\n bannedDependencies: bannedDepGlobsField.optional(),\n bannedTransitiveDependencies: r.Array(r.String).optional(),\n })\n);\n\nexport type Options = r.Static<typeof Options>;\n\n/**\n * We use this locally to avoid making a billion sets. Because check is called once per package\n * (with the exact same config object reference) we can save quite a bit of time by reusing this cache.\n */\nconst setCache = new Map<ReadonlyArray<string>, Set<string>>();\n\nconst aggregateTiming = new AggregateTiming(\":bannedDependencies stats\");\n\nexport const bannedDependencies = createRuleFactory<Options>({\n name: \"bannedDependencies\",\n check: (context, opts, extra) => {\n aggregateTiming.start(extra?.id ?? \"unknown id\");\n\n const packageJson = context.getPackageJson();\n const packagePath = context.getPackageJsonPath();\n\n const curDeps = packageJson.dependencies && Object.keys(packageJson.dependencies);\n const curDevDeps = packageJson.devDependencies && Object.keys(packageJson.devDependencies);\n const curPeerDeps = packageJson.peerDependencies && Object.keys(packageJson.peerDependencies);\n\n const { bannedDependencies: banned, bannedTransitiveDependencies: transitives } = opts;\n\n const globs = banned && (Array.isArray(banned) ? banned : banned.glob);\n const exacts = banned && (Array.isArray(banned) ? undefined : banned.exact);\n\n const violations = new Set<string>();\n\n if (globs) {\n if (curDeps) populateProblemsGlobs(globs, curDeps, violations);\n if (curDevDeps) populateProblemsGlobs(globs, curDevDeps, violations);\n if (curPeerDeps) populateProblemsGlobs(globs, curPeerDeps, violations);\n }\n\n if (exacts) {\n let set = setCache.get(exacts);\n if (set === undefined) {\n set = new Set(exacts);\n setCache.set(exacts, set);\n }\n if (curDeps) populateProblemsExact(set, curDeps, violations);\n if (curDevDeps) populateProblemsExact(set, curDevDeps, violations);\n if (curPeerDeps) populateProblemsExact(set, curPeerDeps, violations);\n }\n\n if (violations.size > 0) {\n context.addError({\n file: packagePath,\n message:\n `Found ${violations.size} banned dependencies of package.json:\\n\\t` +\n Array.from(violations)\n .map((v) => `'${v}'`)\n .join(\", \"),\n });\n }\n\n if (transitives) {\n let set = setCache.get(transitives);\n if (set === undefined) {\n set = new Set(transitives);\n setCache.set(transitives, set);\n }\n checkTransitives(context, set);\n }\n\n aggregateTiming.stop();\n },\n validateOptions: Options.check,\n printStats: () => {\n aggregateTiming.printResults();\n },\n});\n\nfunction populateProblemsExact(banned: Set<string>, dependencies: ReadonlyArray<string>, violations: Set<string>) {\n for (const dependency of dependencies) {\n if (banned.has(dependency)) {\n violations.add(dependency);\n }\n }\n}\n\nfunction populateProblemsGlobs(\n bannedDependencyGlobs: ReadonlyArray<string>,\n dependencies: ReadonlyArray<string>,\n violations: Set<string>\n) {\n for (const dependency of dependencies) {\n if (matchesAnyGlob(dependency, bannedDependencyGlobs)) {\n violations.add(dependency);\n }\n }\n}\n\n// This function is slow. God help you if you use this on a big repo\nfunction checkTransitives(context: Context, banned: Set<string>) {\n const graphService = new PackageDependencyGraphService();\n const root = graphService.buildDependencyGraph(path.resolve(context.getPackageJsonPath()), context.host);\n for (const { dependencies, importPath } of graphService.traverse(root)) {\n for (const [dependency] of dependencies) {\n if (banned.has(dependency)) {\n // Remove the starting package since it's obvious in CLI output.\n const [, ...importPathWithoutRoot] = importPath;\n const pathing = [...importPathWithoutRoot.map(nameOrPackageJsonPath), dependency].join(\" -> \");\n\n context.addError({\n file: root.paths.packageJsonPath,\n message: `Banned transitive dependencies in repo: ${pathing}`,\n });\n }\n }\n }\n}\n\nfunction nameOrPackageJsonPath(node: IPackageDependencyGraphNode): string {\n return node.packageJson.name ?? node.paths.packageJsonPath;\n}\n","/**\n * @license Copyright 2019 Palantir Technologies, Inc. All rights reserved.\n */\n\nimport { Host, PackageJson } from \"@monorepolint/utils\";\nimport * as path from \"node:path\";\nimport resolvePackagePath from \"resolve-package-path\";\n\n/** Interface for a node in a package dependency graph. */\nexport interface IPackageDependencyGraphNode {\n packageJson: PackageJson;\n dependencies: Map<string, IPackageDependencyGraphNode>;\n paths: {\n packageJsonPath: string;\n rootDirectory: string;\n };\n}\n\n/** Service abstraction for constructing and traversing package dependency graphs. */\nexport interface IPackageDependencyGraphService {\n /** Construct a graph of package dependencies. */\n buildDependencyGraph(packageJsonPath: string, host: Host, maxDepth?: number): IPackageDependencyGraphNode;\n\n /** Traverse a package dependency graph. */\n traverse(\n root: IPackageDependencyGraphNode,\n opts?: {\n /** Traverse each unique path to a given package (potentially slow). */\n traverseAllPaths?: boolean;\n }\n ): IterableIterator<IPackageDependencyGraphNode & { importPath: IPackageDependencyGraphNode[] }>;\n}\n\n/** Default implementation of the package dependency graph service. */\nexport class PackageDependencyGraphService implements IPackageDependencyGraphService {\n /** Construct a graph of package dependencies and return the root node. */\n public buildDependencyGraph(\n startPackageJsonPath: string,\n host: Host,\n maxDepth?: number\n ): IPackageDependencyGraphNode {\n const nodes = new Map<string, IPackageDependencyGraphNode>();\n const visit = (packageJsonPath: string, currentDepth: number): IPackageDependencyGraphNode => {\n if (nodes.has(packageJsonPath)) {\n return nodes.get(packageJsonPath)!;\n }\n\n const packageJson = host.readJson(packageJsonPath) as PackageJson;\n const node: IPackageDependencyGraphNode = {\n packageJson,\n dependencies: new Map<string, IPackageDependencyGraphNode>(),\n paths: {\n packageJsonPath,\n rootDirectory: path.dirname(packageJsonPath),\n },\n };\n\n // It's important that we register the node before visiting its dependencies to avoid cycles\n nodes.set(packageJsonPath, node);\n\n const nextDepth = currentDepth + 1;\n if (maxDepth == null || nextDepth <= maxDepth) {\n const dependencies = packageJson.dependencies != null ? Object.keys(packageJson.dependencies) : [];\n for (const dependency of dependencies) {\n const dependencyPackageJsonPath = resolvePackagePath(dependency, node.paths.rootDirectory);\n if (dependencyPackageJsonPath == null) {\n throw new Error(`Could not resolve ${dependency} from ${node.paths.rootDirectory}`);\n }\n\n node.dependencies.set(dependency, visit(dependencyPackageJsonPath, nextDepth));\n }\n }\n\n return node;\n };\n\n return visit(startPackageJsonPath, 0);\n }\n\n /** Traverse a package dependency graph with an iterator. */\n public *traverse(\n root: IPackageDependencyGraphNode,\n opts = { traverseAllPaths: false }\n ): IterableIterator<IPackageDependencyGraphNode & { importPath: IPackageDependencyGraphNode[] }> {\n const visited = new Set<IPackageDependencyGraphNode>();\n\n function* visit(\n node: IPackageDependencyGraphNode,\n importPath: IPackageDependencyGraphNode[] = []\n ): IterableIterator<IPackageDependencyGraphNode & { importPath: IPackageDependencyGraphNode[] }> {\n // Don't visit a package more than once unless explicitly asked to traverse all paths\n if (!opts.traverseAllPaths && visited.has(node)) {\n return;\n }\n\n // Break cycles when traversing all paths\n if (importPath.indexOf(node) !== -1) {\n return;\n }\n\n // Visit the node\n visited.add(node);\n importPath = [...importPath, node];\n yield { ...node, importPath };\n\n // Recursively visit the node's dependencies\n for (const dependency of node.dependencies.values()) {\n yield* visit(dependency, importPath);\n }\n }\n\n yield* visit(root);\n }\n}\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { Context } from \"@monorepolint/config\";\nimport { diff } from \"jest-diff\";\nimport * as r from \"runtypes\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\nconst Options = r\n .Record({\n ignoredDependencies: r.Array(r.String).Or(r.Undefined),\n })\n .Or(r.Undefined);\nexport type Options = r.Static<typeof Options>;\n\nconst skippedVersions = [\"*\", \"latest\"];\n\nexport const consistentDependencies = createRuleFactory<Options>({\n name: \"consistentDependencies\",\n check: (context, args) => {\n checkDeps(context, args, \"dependencies\");\n checkDeps(context, args, \"devDependencies\");\n // we don't check peer deps since they can be more lenient\n },\n validateOptions: Options.check,\n});\n\nfunction checkDeps(context: Context, args: Options, block: \"dependencies\" | \"devDependencies\" | \"peerDependencies\") {\n const packageJson = context.getPackageJson();\n const packagePath = context.getPackageJsonPath();\n const dependencies = packageJson[block];\n\n const workspacePackageJson = context.getWorkspaceContext().getPackageJson();\n const workspaceDependencies = workspacePackageJson[block];\n\n const ignoredDeps = args?.ignoredDependencies ?? [];\n const depsToCheck =\n workspaceDependencies == null || ignoredDeps.length === 0\n ? workspaceDependencies\n : omit(workspaceDependencies, ignoredDeps);\n\n if (dependencies === undefined || depsToCheck === undefined) {\n return;\n }\n\n const expectedDependencies = {\n ...dependencies,\n ...filterKeys(depsToCheck, dependencies),\n };\n\n if (JSON.stringify(dependencies) !== JSON.stringify(expectedDependencies)) {\n context.addError({\n file: packagePath,\n message: `Inconsistent ${block} with root in package.json`,\n longMessage: diff(expectedDependencies, dependencies, { expand: true }),\n fixer: () => {\n const newPackageJson = { ...packageJson };\n newPackageJson[block] = expectedDependencies;\n context.host.writeJson(packagePath, newPackageJson);\n },\n });\n }\n}\n\nfunction filterKeys(ob: Record<string, string>, filterOb: Record<string, string>) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const newOb: Record<string, any> = {};\n\n for (const key of Object.keys(filterOb)) {\n if (ob[key] !== undefined && skippedVersions.indexOf(filterOb[key]) === -1) {\n newOb[key] = ob[key];\n }\n }\n\n return newOb;\n}\n\nfunction omit<T>(obj: Record<string, T>, keysToOmit: readonly string[]): Record<string, T> {\n const newObj: Record<string, T> = {};\n\n const filtered = Object.entries(obj).filter(([key]) => !keysToOmit.includes(key));\n for (const [key, value] of filtered) {\n newObj[key] = value;\n }\n\n return newObj;\n}\n","/*!\n * Copyright 2020 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { Context } from \"@monorepolint/config\";\nimport { mutateJson, PackageJson } from \"@monorepolint/utils\";\nimport * as r from \"runtypes\";\nimport { coerce, SemVer } from \"semver\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\nexport const Options = r.Record({\n matchDependencyVersions: r.Dictionary(r.Union(r.String, r.Array(r.String))),\n});\n\nexport type Options = r.Static<typeof Options>;\n\nexport const consistentVersions = createRuleFactory({\n name: \"consistentVersions\",\n check: checkConsistentVersions,\n validateOptions: Options.check,\n});\n\nfunction checkConsistentVersions(context: Context, options: Options) {\n for (const [dependencyPackageName, expectedPackageDependencyValue] of Object.entries(\n options.matchDependencyVersions\n )) {\n if (Array.isArray(expectedPackageDependencyValue)) {\n ensurePackageMatchesSomeVersion(context, dependencyPackageName, expectedPackageDependencyValue);\n } else {\n ensurePackageIsCorrectVersion(context, dependencyPackageName, expectedPackageDependencyValue);\n }\n }\n}\n\nconst ensurePackageIsCorrectVersion = (\n context: Context,\n dependencyPackageName: string,\n expectedPackageDependencyValue: string\n) => {\n const packageJson = context.getPackageJson();\n const packageJsonPath = context.getPackageJsonPath();\n\n const expectedPackageDependencyVersion = coerce(expectedPackageDependencyValue);\n if (expectedPackageDependencyVersion == null) {\n throw new Error(\n `Malformed expected package dependency version defined in monorepolint configuration: ${dependencyPackageName} @ '${expectedPackageDependencyValue}'`\n );\n }\n\n const actualPackageDependencyValue = packageJson.dependencies && packageJson.dependencies[dependencyPackageName];\n const actualPackageDependencyVersion = coerce(actualPackageDependencyValue);\n if (\n actualPackageDependencyVersion != null &&\n actualPackageDependencyVersion.raw !== expectedPackageDependencyVersion.raw\n ) {\n context.addError({\n file: packageJsonPath,\n message: `Expected dependency on ${dependencyPackageName} to match version defined in monorepolint configuration '${expectedPackageDependencyValue}', got '${actualPackageDependencyValue}' instead.`,\n fixer: () =>\n mutateJson<PackageJson>(packageJsonPath, context.host, (input) => {\n input.dependencies![dependencyPackageName] = expectedPackageDependencyValue;\n return input;\n }),\n });\n }\n\n const actualPackageDevDependencyValue =\n packageJson.devDependencies && packageJson.devDependencies[dependencyPackageName];\n const actualPackageDevDependencyVersion = coerce(actualPackageDevDependencyValue);\n if (\n actualPackageDevDependencyVersion != null &&\n actualPackageDevDependencyVersion.raw !== expectedPackageDependencyVersion.raw\n ) {\n context.addError({\n file: packageJsonPath,\n message: `Expected devDependency on ${dependencyPackageName} to match version defined in monorepolint configuration '${expectedPackageDependencyValue}', got '${actualPackageDevDependencyValue}' instead`,\n fixer: () =>\n mutateJson<PackageJson>(packageJsonPath, context.host, (input) => {\n input.devDependencies![dependencyPackageName] = expectedPackageDependencyValue;\n return input;\n }),\n });\n }\n};\n\nconst ensurePackageMatchesSomeVersion = (\n context: Context,\n dependencyPackageName: string,\n acceptedPackageDependencyValues: string[]\n) => {\n const packageJson = context.getPackageJson();\n const packageJsonPath = context.getPackageJsonPath();\n\n const acceptedPackageDependencyVersions: SemVer[] = acceptedPackageDependencyValues.map(\n (acceptedPackageDependencyValue) => {\n const acceptedPackageDependencyVersion = coerce(acceptedPackageDependencyValue);\n if (acceptedPackageDependencyVersion == null) {\n throw new Error(\n `Malformed accepted package dependency version defined in monorepolint configuration: ${dependencyPackageName} @ '${acceptedPackageDependencyValue}'`\n );\n }\n return acceptedPackageDependencyVersion;\n }\n );\n\n const actualPackageDependencyValue = packageJson.dependencies && packageJson.dependencies[dependencyPackageName];\n const actualPackageDependencyVersion = coerce(actualPackageDependencyValue);\n if (\n actualPackageDependencyVersion != null &&\n acceptedPackageDependencyVersions.every(\n (acceptedPackageDependencyVersion) => actualPackageDependencyVersion.raw !== acceptedPackageDependencyVersion.raw\n )\n ) {\n context.addError({\n file: packageJsonPath,\n message: `Expected dependency on ${dependencyPackageName} to match one of '${JSON.stringify(\n acceptedPackageDependencyValues\n )}', got '${actualPackageDependencyValue}' instead.`,\n });\n }\n\n const actualPackageDevDependencyValue =\n packageJson.devDependencies && packageJson.devDependencies[dependencyPackageName];\n const actualPackageDevDependencyVersion = coerce(actualPackageDevDependencyValue);\n if (\n actualPackageDevDependencyVersion != null &&\n acceptedPackageDependencyVersions.every(\n (acceptedPackageDependencyVersion) =>\n actualPackageDevDependencyVersion.raw !== acceptedPackageDependencyVersion.raw\n )\n ) {\n context.addError({\n file: packageJsonPath,\n message: `Expected devDependency on ${dependencyPackageName} to match one of '${JSON.stringify(\n acceptedPackageDependencyValues\n )}', got '${actualPackageDevDependencyValue}' instead.`,\n });\n }\n};\n","/*!\n * Copyright 2023 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { Context } from \"@monorepolint/config\";\nimport { diff } from \"jest-diff\";\nimport * as path from \"path\";\nimport * as r from \"runtypes\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\nconst Options = r.Union(\n r.Record({\n file: r.String,\n generator: r.Function.withGuard((x): x is (context: Context) => string | Promise<string> => x != undefined),\n template: r.Undefined.optional(),\n templateFile: r.Undefined.optional(),\n }),\n\n r.Record({\n file: r.String,\n generator: r.Undefined.optional(),\n template: r.String,\n templateFile: r.Undefined.optional(),\n }),\n\n r.Record({\n file: r.String,\n generator: r.Undefined.optional(),\n template: r.Undefined.optional(),\n templateFile: r.String,\n })\n);\n\ntype Options = r.Static<typeof Options>;\n\nexport const fileContents = createRuleFactory<Options>({\n name: \"fileContents\",\n check: async (context, opts) => {\n const fullPath = path.join(context.packageDir, opts.file);\n const expectedContent = await getExpectedContents(context, opts);\n\n const pathExists = context.host.exists(fullPath);\n const actualContent = pathExists ? context.host.readFile(fullPath, { encoding: \"utf-8\" }) : undefined;\n if (actualContent !== expectedContent) {\n context.addError({\n file: fullPath,\n message: \"Expect file contents to match\",\n longMessage: diff(expectedContent, actualContent, { expand: true }),\n fixer: () => {\n if (expectedContent === undefined) {\n if (pathExists) context.host.deleteFile(fullPath);\n } else {\n context.host.mkdir(path.dirname(fullPath), { recursive: true });\n context.host.writeFile(fullPath, expectedContent, { encoding: \"utf-8\" });\n }\n },\n });\n }\n },\n validateOptions: Options.check,\n});\n\nconst optionsCache = new Map<\n Options,\n ((context: Context) => Promise<string> | string | undefined) | string | undefined\n>();\n\nasync function getExpectedContents(context: Context, opts: Options) {\n // we need to use has because undefined is a valid value in the cache\n if (optionsCache.has(opts)) {\n const cachedEntry = optionsCache.get(opts);\n if (cachedEntry && typeof cachedEntry === \"function\") {\n return cachedEntry(context);\n }\n return cachedEntry;\n }\n\n if (opts.generator) {\n optionsCache.set(opts, opts.generator);\n return opts.generator(context);\n } else if (opts.templateFile) {\n const { packageDir: workspacePackageDir } = context.getWorkspaceContext();\n const fullPath = path.resolve(workspacePackageDir, opts.templateFile);\n const template = context.host.readFile(fullPath, { encoding: \"utf-8\" });\n\n optionsCache.set(opts, template);\n return template;\n } else {\n optionsCache.set(opts, opts.template);\n return opts.template;\n }\n}\n","/*!\n * Copyright 2020 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { Context } from \"@monorepolint/config\";\nimport { Host, mutateJson, PackageJson } from \"@monorepolint/utils\";\nimport * as path from \"node:path\";\nimport * as r from \"runtypes\";\nimport { coerce } from \"semver\";\nimport resolvePackagePath from \"resolve-package-path\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\n\nconst Options = r.Union(\n r.Partial({\n skipUnparseableRanges: r.Undefined,\n dependencyWhitelist: r.Undefined,\n dependencyBlacklist: r.Undefined,\n enforceForDevDependencies: r.Undefined,\n }),\n r\n .Record({\n skipUnparseableRanges: r.Boolean,\n })\n .And(\n r.Partial({\n dependencyWhitelist: r.Undefined,\n dependencyBlacklist: r.Undefined,\n enforceForDevDependencies: r.Undefined,\n })\n ),\n r\n .Record({\n dependencyWhitelist: r.Array(r.String),\n })\n .And(\n r.Partial({\n skipUnparseableRanges: r.Undefined,\n dependencyBlacklist: r.Undefined,\n enforceForDevDependencies: r.Undefined,\n })\n ),\n r\n .Record({\n dependencyBlacklist: r.Array(r.String),\n })\n .And(\n r.Partial({\n skipUnparseableRanges: r.Undefined,\n dependencyWhitelist: r.Undefined,\n enforceForDevDependencies: r.Undefined,\n })\n ),\n r\n .Record({\n enforceForDevDependencies: r.Boolean,\n })\n .And(\n r.Partial({\n skipUnparseableRanges: r.Undefined,\n dependencyWhitelist: r.Undefined,\n dependencyBlacklist: r.Undefined,\n })\n ),\n r\n .Record({\n skipUnparseableRanges: r.Boolean,\n dependencyWhitelist: r.Array(r.String),\n })\n .And(\n r.Partial({\n dependencyBlacklist: r.Undefined,\n enforceForDevDependencies: r.Undefined,\n })\n ),\n r\n .Record({\n skipUnparseableRanges: r.Boolean,\n dependencyBlacklist: r.Array(r.String),\n })\n .And(\n r.Partial({\n dependencyWhitelist: r.Undefined,\n enforceForDevDependencies: r.Undefined,\n })\n ),\n r\n .Record({\n skipUnparseableRanges: r.Boolean,\n enforceForDevDependencies: r.Boolean,\n })\n .And(\n r.Partial({\n dependencyWhitelist: r.Undefined,\n dependencyBlacklist: r.Undefined,\n })\n ),\n r\n .Record({\n dependencyWhitelist: r.Array(r.String),\n dependencyBlacklist: r.Array(r.String),\n })\n .And(\n r.Partial({\n skipUnparseableRanges: r.Undefined,\n enforceForDevDependencies: r.Undefined,\n })\n ),\n r\n .Record({\n dependencyWhitelist: r.Array(r.String),\n enforceForDevDependencies: r.Boolean,\n })\n .And(\n r.Partial({\n skipUnparseableRanges: r.Undefined,\n dependencyBlacklist: r.Undefined,\n })\n ),\n r\n .Record({\n dependencyBlacklist: r.Array(r.String),\n enforceForDevDependencies: r.Boolean,\n })\n .And(\n r.Partial({\n skipUnparseableRanges: r.Undefined,\n dependencyWhitelist: r.Undefined,\n })\n ),\n r\n .Record({\n skipUnparseableRanges: r.Boolean,\n dependencyWhitelist: r.Array(r.String),\n dependencyBlacklist: r.Array(r.String),\n })\n .And(\n r.Partial({\n enforceForDevDependencies: r.Undefined,\n })\n ),\n r\n .Record({\n skipUnparseableRanges: r.Boolean,\n dependencyWhitelist: r.Array(r.String),\n enforceForDevDependencies: r.Boolean,\n })\n .And(\n r.Partial({\n dependencyBlacklist: r.Undefined,\n })\n ),\n r\n .Record({\n skipUnparseableRanges: r.Boolean,\n dependencyBlacklist: r.Array(r.String),\n enforceForDevDependencies: r.Boolean,\n })\n .And(\n r.Partial({\n dependencyWhitelist: r.Undefined,\n })\n ),\n r\n .Record({\n dependencyWhitelist: r.Array(r.String),\n dependencyBlacklist: r.Array(r.String),\n enforceForDevDependencies: r.Boolean,\n })\n .And(\n r.Partial({\n skipUnparseableRanges: r.Undefined,\n })\n ),\n r.Record({\n skipUnparseableRanges: r.Boolean,\n dependencyWhitelist: r.Array(r.String),\n dependencyBlacklist: r.Array(r.String),\n enforceForDevDependencies: r.Boolean,\n })\n);\n\nexport type Options = r.Static<typeof Options>;\n\nexport const mustSatisfyPeerDependencies = createRuleFactory({\n name: \"mustSatisfyPeerDependencies\",\n check: checkSatisfyPeerDependencies,\n validateOptions: Options.check,\n});\n\n/**\n * separating on `|`, this regex allows any of the following formats:\n * - `*`\n * - `x`\n *\n * More info: https://docs.npmjs.com/about-semantic-versioning\n */\nexport const MATCH_ANY_VERSION_RANGE = /^(\\*|x)$/;\n\n/**\n * This regex allows any of the following formats:\n * - `>=15`\n * - `>=15.2`\n * - `>=15.2.1`\n * - `>=15.2.1-rc.0`\n * - `>=15.2.1+sha`\n * - `>=15.2.1-rc.0+sha`\n *\n * See https://semver.org/#spec-item-9 for details about semver formatting, and\n * https://regex101.com/r/vkijKf/1/ for a sample Regex.\n *\n * Note that the semver spec does _not_ specify npm range syntax. (`^`, `||`, `~`, `>`, etc.)\n *\n * More info: https://docs.npmjs.com/about-semantic-versioning\n */\nexport const MATCH_GREATER_OR_EQUAL_VERSION_RANGE =\n /^>= ?\\d+(?:\\.\\d+|\\.\\d+\\.\\d+(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?$/;\n\n/**\n * This regex allows any of the following formats:\n * - `15`\n * - `^15`\n * - `15.x`\n * - `^15.x`\n * - `15.x.x`\n * - `^15.x.x`\n * - `^15.2`\n * - `^15.2.x`\n * - `^15.2.1`\n * - `^15.2.1-rc.0`\n * - `^15.2.1+sha`\n * - `^15.2.1-rc.0+sha`\n *\n * See https://semver.org/#spec-item-9 for details about semver formatting, and\n * https://regex101.com/r/vkijKf/1/ for a sample Regex.\n *\n * Note that the semver spec does _not_ specify npm range syntax. (`^`, `||`, `~`, `>`, etc.)\n *\n * More info: https://docs.npmjs.com/about-semantic-versioning\n */\nexport const MATCH_MAJOR_VERSION_RANGE =\n /^(?:\\^?\\d+|\\^?\\d+\\.x|\\^?\\d+\\.x\\.x|\\^\\d+\\.\\d+|\\^\\d+\\.\\d+\\.x|\\^\\d+\\.\\d+\\.\\d+(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)$/;\n\n/**\n * Does not currently accept `<`, `<=`, `>`, `=` or `-` for ranges (e.g. `> 2.5.1 < 3` or `1.0.0 - 1.2.0`),\n * though it will accept isolated `>=` ranges (e.g. `>=2.5.1`, but not `^1 || >=2.5.1`)\n *\n * See https://semver.org/#spec-item-9 for details about semver formatting, and\n * https://regex101.com/r/vkijKf/1/ for a sample Regex.\n *\n * Note that the semver spec does _not_ specify npm range syntax. (`^`, `||`, `~`, `>`, etc.)\n *\n * More info: https://docs.npmjs.com/about-semantic-versioning\n *\n * TODO: accept minor pins `~4.2.1`\n */\nexport const RANGE_REGEX =\n /^(\\*|x|>= ?\\d+(?:\\.\\d+|\\.\\d+\\.\\d+(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?|\\^?\\d+(\\.x|\\.x\\.x|\\.\\d+|\\.\\d+\\.x|\\.\\d+\\.\\d+(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?( \\|\\| \\^?\\d+(\\.x|\\.x\\.x|\\.\\d+|\\.\\d+\\.x|\\.\\d+\\.\\d+(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?)?)*)$/;\n\ninterface IPeerDependencyRequirement {\n fromPackageName: string;\n range: ValidRange;\n}\n\ninterface IResolvedPeerDependencyRequirement {\n fromPeerDependencyRequirements: IPeerDependencyRequirement[];\n range: ValidRange;\n}\n\nfunction checkSatisfyPeerDependencies(context: Context, opts: Options) {\n const { dependencyBlacklist, dependencyWhitelist, enforceForDevDependencies, skipUnparseableRanges } = opts;\n const packageJsonPath = path.resolve(context.getPackageJsonPath());\n const packageJson = context.host.readJson(packageJsonPath) as PackageJson;\n const packageDependencies = packageJson.dependencies || {};\n const packageDevDependencies = packageJson.devDependencies || {};\n const packagePeerDependencies = packageJson.peerDependencies || {};\n const packageName = packageJson.name || packageJsonPath;\n\n // check that no peer dependencies are also declared as regular dependencies\n for (const [peerDependencyName, peerDependencyRange] of Object.entries(packagePeerDependencies)) {\n if (shouldSkipPackage({ dependencyBlacklist, dependencyWhitelist, packageName: peerDependencyName })) {\n continue;\n }\n\n const dependencyRange = packageDependencies[peerDependencyName];\n if (dependencyRange != null) {\n context.addError({\n file: packageJsonPath,\n message:\n `[0] Package ${packageName} has overloaded ${peerDependencyName} dependencies.\\n\\t` +\n `Peer dependency '${peerDependencyRange}' and regular dependency '${dependencyRange}'.`,\n });\n }\n }\n\n // map of all inherited peer dependency requirements\n const allRequiredPeerDependencies: { [peerDependencyName: string]: IPeerDependencyRequirement[] } = {};\n\n // for each of this package's dependencies, add the dependency's peer requirements into `allRequiredPeerDependencies`\n const allDependencies = enforceForDevDependencies\n ? [...Object.keys(packageDependencies), ...Object.keys(packageDevDependencies)]\n : Object.keys(packageDependencies);\n for (const dependency of allDependencies) {\n const dependencyPackageJsonPath = resolvePackagePath(dependency, path.dirname(packageJsonPath));\n if (dependencyPackageJsonPath == null) {\n throw new Error(`Could not resolve ${dependency} from ${path.dirname(packageJsonPath)}`);\n }\n const dependencyPackageJson = context.host.readJson(dependencyPackageJsonPath) as PackageJson;\n const requiredPeerDependencies = dependencyPackageJson.peerDependencies;\n if (requiredPeerDependencies == null) {\n continue;\n }\n for (const [peerDependencyName, range] of Object.entries(requiredPeerDependencies)) {\n if (shouldSkipPackage({ dependencyBlacklist, dependencyWhitelist, packageName: peerDependencyName })) {\n continue;\n }\n\n if (!isValidRange(range)) {\n const message = `Unable to parse ${dependencyPackageJson.name}'s ${peerDependencyName} peer dependency range '${range}'.`;\n if (skipUnparseableRanges) {\n context.addWarning({ file: dependencyPackageJsonPath, message });\n continue;\n }\n throw new Error(message);\n }\n if (allRequiredPeerDependencies[peerDependencyName] == null) {\n allRequiredPeerDependencies[peerDependencyName] = [];\n }\n allRequiredPeerDependencies[peerDependencyName].push({ fromPackageName: dependencyPackageJson.name!, range });\n }\n }\n\n for (const [peerDependencyName, peerDependencyRequirements] of Object.entries(allRequiredPeerDependencies)) {\n // for each inherited peer dependency, determine the strictest range\n let mostStrictPeerRequirement: IResolvedPeerDependencyRequirement = {\n fromPeerDependencyRequirements: [peerDependencyRequirements[0]],\n range: peerDependencyRequirements[0].range,\n };\n for (const peerRequirement of peerDependencyRequirements) {\n if (doesASatisfyB(mostStrictPeerRequirement.range, peerRequirement.range)) {\n continue;\n } else if (doesASatisfyB(peerRequirement.range, mostStrictPeerRequirement.range)) {\n mostStrictPeerRequirement = {\n fromPeerDependencyRequirements: [peerRequirement],\n range: peerRequirement.range,\n };\n } else {\n const maybeIntersection = findIntersection(peerRequirement.range, mostStrictPeerRequirement.range);\n if (maybeIntersection !== undefined) {\n mostStrictPeerRequirement = {\n fromPeerDependencyRequirements: [\n ...mostStrictPeerRequirement.fromPeerDependencyRequirements,\n peerRequirement,\n ],\n range: maybeIntersection,\n };\n } else {\n context.addError({\n file: packageJsonPath,\n message:\n `[1] Package ${packageName} has conflicting inherited ${peerDependencyName} peer dependencies.\\n\\t` +\n `Dependency ${peerRequirement.fromPackageName} requires '${peerRequirement.range}' but\\n\\t` +\n getMostStrictStatement(mostStrictPeerRequirement),\n });\n }\n }\n }\n\n // if this package has a dependency on an inherited peer dependency,\n // the range must be equal to or stricter than `mostStrictPeerRequirement`\n const packageDependencyRange = packageDependencies[peerDependencyName];\n if (packageDependencyRange != null) {\n if (!isValidRange(packageDependencyRange)) {\n const message = `Unable to parse ${packageName}'s ${peerDependencyName} dependency range '${packageDependencyRange}'.`;\n if (skipUnparseableRanges) {\n context.addWarning({ file: packageJsonPath, message });\n } else {\n throw new Error(message);\n }\n } else if (!doesASatisfyB(packageDependencyRange, mostStrictPeerRequirement.range)) {\n context.addError({\n file: packageJsonPath,\n message:\n `[2] Package ${packageName} dependency on ${peerDependencyName} '${packageDependencyRange}' does not satisfy inherited peer dependencies.\\n\\t` +\n getMostStrictStatement(mostStrictPeerRequirement),\n });\n }\n }\n\n // for every inherited peer dependency, this package must declare a dependency or peer dependency\n // equal to or stricter than `mostStrictPeerRequirement`\n const packagePeerDependencyRange = packagePeerDependencies[peerDependencyName];\n if (packageDependencyRange == null && packagePeerDependencyRange == null) {\n context.addError({\n file: packageJsonPath,\n message:\n `[3] Package ${packageName} is missing required ${peerDependencyName} dependency.\\n\\t` +\n getMostStrictStatement(mostStrictPeerRequirement),\n fixer: getAddDependencyTypeFixer({\n packageJsonPath,\n dependencyType: \"peerDependencies\",\n dependencyName: peerDependencyName,\n version: mostStrictPeerRequirement.range,\n host: context.host,\n }),\n });\n }\n\n // if this package has a peer dependency on an inherited peer dependency,\n // the range must be equal to or stricter than `mostStrictPeerRequirement`\n if (packagePeerDependencyRange != null) {\n if (!isValidRange(packagePeerDependencyRange)) {\n const message = `Unable to parse ${packageName}'s ${peerDependencyName} peer dependency range '${packagePeerDependencyRange}'.`;\n if (skipUnparseableRanges) {\n context.addWarning({ file: packageJsonPath, message });\n } else {\n throw new Error(message);\n }\n } else if (!doesASatisfyB(packagePeerDependencyRange, mostStrictPeerRequirement.range)) {\n context.addError({\n file: packageJsonPath,\n message:\n `[4] Package ${packageName} peer dependency on ${peerDependencyName} '${packagePeerDependencyRange}' is not strict enough.\\n\\t` +\n getMostStrictStatement(mostStrictPeerRequirement),\n fixer: getAddDependencyTypeFixer({\n packageJsonPath,\n dependencyType: \"peerDependencies\",\n dependencyName: peerDependencyName,\n version: mostStrictPeerRequirement.range,\n host: context.host,\n }),\n });\n }\n }\n }\n}\n\nfunction shouldSkipPackage({\n dependencyBlacklist,\n dependencyWhitelist,\n packageName,\n}: {\n dependencyBlacklist?: string[];\n dependencyWhitelist?: string[];\n packageName: string;\n}) {\n // blacklist should take precedance\n if (\n (dependencyBlacklist != null && dependencyBlacklist.includes(packageName)) ||\n (dependencyWhitelist != null && !dependencyWhitelist.includes(packageName))\n ) {\n return true;\n }\n return false;\n}\n\nfunction getMostStrictStatement(mostStrictPeerRequirement: IResolvedPeerDependencyRequirement) {\n if (mostStrictPeerRequirement.fromPeerDependencyRequirements.length === 1) {\n const dependencyName = mostStrictPeerRequirement.fromPeerDependencyRequirements[0].fromPackageName;\n return `Dependency ${dependencyName} requires '${mostStrictPeerRequirement.range}'.`;\n } else {\n const dependencyNames = mostStrictPeerRequirement.fromPeerDependencyRequirements\n .map((peerDependencyRequirement) => peerDependencyRequirement.fromPackageName)\n .join(\", \");\n const dependencyRequirements = mostStrictPeerRequirement.fromPeerDependencyRequirements\n .map((peerDependencyRequirement) => `'${peerDependencyRequirement.range}'`)\n .join(\", \");\n return (\n `Dependencies [${dependencyNames}] require [${dependencyRequirements}] respectively, ` +\n `resolving to '${mostStrictPeerRequirement.range}'.`\n );\n }\n}\n\n/**\n * Given two version ranges, find the maximum intersecting range\n * of `a` and `b`. `findIntersection(a,b)` should return the same\n * result as `findIntersection(b,a)`.\n *\n * NOTE: This code assumes that input version ranges match `RANGE_REGEX`.\n * Additionally, major version ranges must not be repeated in union ranges.\n * e.g. `^15.0.5 || ^16.0.0` is permitted, but `15.0.5 || 15.0.999` is not.\n *\n * EXAMPLES:\n * findIntersection(\"15.1.0\", \"*\") => \"15.1.0\"\n * findIntersection(\"^15\", \"*\") => \"^15\"\n * findIntersection(\">=15\", \"*\") => \">=15\"\n * findIntersection(\"*\", \"*\") => \"*\"\n * findIntersection(\"15.1.0\", \">=1\") => \"15.1.0\"\n * findIntersection(\"^15\", \">=1\") => \"^15\"\n * findIntersection(\">=15\", \">=1\") => \">=15\"\n * findIntersection(\"15.1.0\", \"^15\") => \"15.1.0\"\n * findIntersection(\"^15.2\", \"^15\") => \"^15.2\"\n * findIntersection(\"14\", \"^15\") => undefined\n * findIntersection(\"15.1.0\", \"^15 || ^16\") => \"15.1.0\"\n * findIntersection(\"^15.2\", \"^15 || ^16\") => \"^15.2\"\n * findIntersection(\"14\", \"^15 || ^16\") => undefined\n * findIntersection(\"^15.2 || ^16\", \"^15 || ^16.4\") => \"^15.2 || ^16.4\"\n *\n * @param a version range that matches `RANGE_REGEX`\n * @param b version range that matches `RANGE_REGEX`\n * @returns the maximum intersecting `ValidRange`, or `undefined` if there is no intersection\n */\nexport function findIntersection(a: ValidRange, b: ValidRange): ValidRange | undefined {\n if (doesASatisfyB(a, b)) {\n return a;\n } else if (doesASatisfyB(b, a)) {\n return b;\n }\n\n // It's safe to assume that `isAnyVersionRange(a)` and `isAnyVersionRange(b)` are false,\n // since a `MATCH_ANY_VERSION_RANGE` would have been satisfied by anything.\n if (isAnyVersionRange(a) || isAnyVersionRange(b)) {\n throw new Error();\n }\n\n const aVersions = a.includes(\"||\") ? a.split(\"||\").map((s) => s.trim()) : [a];\n const bVersions = b.includes(\"||\") ? b.split(\"||\").map((s) => s.trim()) : [b];\n\n const aIsGreaterOrEqualVersionRange = isGreaterOrEqualVersionRange(a);\n const bIsGreaterOrEqualVersionRange = isGreaterOrEqualVersionRange(b);\n if (aIsGreaterOrEqualVersionRange && bIsGreaterOrEqualVersionRange) {\n // If the ranges were equal, they'd both satisfy each other.\n // Otherwise, the higher range should have satisfied the lower range.\n throw new Error();\n }\n\n if (aIsGreaterOrEqualVersionRange) {\n const aSemVer = coerce(a)!;\n // keep every version where `bSemVer` is >= `aSemVer`\n // where bVersion has an operator, we need to adjust the version to take into\n // account aVersion, e.g. if a is >=15.2.3 and b is ^15, then the intersection is actually ^15.2.3\n const compatibleBVersions = bVersions\n .map((bVersion) => {\n const bSemVer = coerce(bVersion)!;\n if (bVersion.startsWith(\"^\") && bSemVer.major >= aSemVer.major) {\n return `^${bSemVer.compare(aSemVer) >= 0 ? bSemVer.raw : aSemVer.raw}`;\n }\n return bSemVer.compare(aSemVer) !== -1 ? bVersion : undefined;\n })\n .filter((bVersion): bVersion is string => bVersion != null);\n if (compatibleBVersions.length === 0) {\n return undefined;\n }\n return compatibleBVersions.join(\" || \") as ValidRange;\n }\n if (bIsGreaterOrEqualVersionRange) {\n const bSemVer = coerce(b)!;\n // keep every version where `aSemVer` is >= `bSemVer`\n // where aVersion has an operator, we need to adjust the version to take into\n // account bVersion, e.g. if b is >=15.2.3 and a is ^15, then the intersection is actually ^15.2.3\n const compatibleAVersions = aVersions\n .map((aVersion) => {\n const aSemVer = coerce(aVersion)!;\n if (aVersion.startsWith(\"^\") && aSemVer.major >= bSemVer.major) {\n return `^${aSemVer.compare(bSemVer) >= 0 ? aSemVer.raw : bSemVer.raw}`;\n }\n return aSemVer.compare(bSemVer) !== -1 ? aVersion : undefined;\n })\n .filter((aVersion): aVersion is string => aVersion != null);\n if (compatibleAVersions.length === 0) {\n return undefined;\n }\n return compatibleAVersions.join(\" || \") as ValidRange;\n }\n\n const compatibleVersions = aVersions\n .map((aVersion) => {\n const aSemVer = coerce(aVersion)!;\n const majorMatchingBVersion = bVersions.find((m) => coerce(m)!.major === aSemVer.major);\n if (majorMatchingBVersion === undefined) {\n // there is no intersecting `b` major version for this `a` major version\n return undefined;\n }\n if (doesASatisfyB(aVersion as ValidRange, majorMatchingBVersion as ValidRange)) {\n return aVersion;\n } else if (doesASatisfyB(majorMatchingBVersion as ValidRange, aVersion as ValidRange)) {\n return majorMatchingBVersion;\n } else {\n return undefined;\n }\n })\n .filter((aVersion) => aVersion !== undefined);\n if (compatibleVersions.length === 0) {\n return undefined;\n }\n return compatibleVersions.join(\" || \") as ValidRange;\n}\n\n/**\n * Given two version ranges, determine whether `a` satisfies `b`.\n * `a` satisfies `b` iff `a` is a \"more strict than or equal to\" subset of `b`.\n * For example, both `^15` and `^15.2.0` satisfy `^15`, but `^15 || ^16` does not.\n *\n * NOTE: This code assumes that input version ranges match `RANGE_REGEX`.\n * Additionally, major version ranges must not be repeated in union ranges.\n * e.g. `^15.0.5 || ^16.0.0` is permitted, but `15.0.5 || 15.0.999` is not.\n *\n * To determine that `a` is \"more strict than or equal to\" `b`, we first\n * split the set of all versions or ranges that are potentially unioned in `a` and `b`.\n * For example, if `a` is `15.0.5`, we produce the set `[ \"15.0.5\" ]`,\n * and if `b` is `^15 || ^16`, we produce the set `[ \"^15\", \"^16\" ]`.\n * `a` is \"more strict than or equal to\" `b` iff each entry in `a`'s set\n * satisfies (equal to or greater than) some entry in `b`.\n *\n * The following version ranges satisfy `^15.0.5 || ^16.0.0`:\n * - `^15.0.5 || ^16.0.0`\n * - `^15.0.5 || ^16.x.x`\n * - `15.0.5 || 16.0.0`\n * - `^15.0.999 || ^16.0.0`\n * - `^15.0.5 || ^16.0.999`\n * - `^15.0.999`\n * - `^16.0.0`\n * - `16.0.0`\n * The following version ranges do not satisfy `^15.0.5 || ^16.0.0`:\n * - `^15.0.0 || ^16.0.0`\n * - `^15.0.5 || ^17.0.0`\n * - `^14.0.0 || ^15.0.5 || ^16.0.0`\n * - `^17.0.0`\n * - `17.0.0`\n *\n * @param a version range that matches `RANGE_REGEX`\n * @param b version range that matches `RANGE_REGEX`\n * @returns `true` if `a` is more strict than or equal to `b`, `false` otherwise\n */\nexport function doesASatisfyB(a: ValidRange, b: ValidRange): boolean {\n if (a === b) {\n return true;\n }\n\n const aIsAnyVersionRange = isAnyVersionRange(a);\n const bIsAnyVersionRange = isAnyVersionRange(b);\n if (bIsAnyVersionRange) {\n return true;\n } else if (aIsAnyVersionRange) {\n // `bIsAnyVersionRange` is `false`\n // `a` permits more values than `b`, therefore `a` is \"less strict\"\n return false;\n }\n\n const aVersions = a.includes(\"||\") ? a.split(\"||\").map((s) => s.trim()) : [a];\n const bVersions = b.includes(\"||\") ? b.split(\"||\").map((s) => s.trim()) : [b];\n\n const aIsGreaterOrEqualVersionRange = isGreaterOrEqualVersionRange(a);\n const bIsGreaterOrEqualVersionRange = isGreaterOrEqualVersionRange(b);\n if (aIsGreaterOrEqualVersionRange && bIsGreaterOrEqualVersionRange) {\n const aSemVer = coerce(a)!;\n const bSemVer = coerce(b)!;\n // `a` satisfies `b` so long as `aSemVer` is greater than or equal to `bSemVer`\n return aSemVer.compare(bSemVer) !== -1;\n } else if (bIsGreaterOrEqualVersionRange) {\n const bSemVer = coerce(b)!;\n return aVersions.every((aVersion) => {\n const aSemVer = coerce(aVersion)!;\n // `a` satisfies `b` so long as `aSemVer` is greater than or equal to `bSemVer`\n return aSemVer.compare(bSemVer) !== -1;\n });\n } else if (aIsGreaterOrEqualVersionRange) {\n // `bIsGreaterOrEqualVersionRange` is `false` (and `bIsAnyVersionRange` is `false`)\n // `a` permits more values than `b`, therefore `a` is \"less strict\"\n return false;\n }\n\n return aVersions.every((aVersion) => {\n const aSemVer = coerce(aVersion)!;\n const majorMatchingBVersion = bVersions.find((m) => coerce(m)!.major === aSemVer.major);\n if (majorMatchingBVersion === undefined) {\n // `a` permits a major version that is not permitted by `b`, therefore `a` is \"less strict\"\n return false;\n }\n\n const aVersionIsRange = isMajorVersionRange(aVersion);\n const majorMatchingBSemVer = coerce(majorMatchingBVersion)!;\n const majorMatchingBVersionIsRange = isMajorVersionRange(majorMatchingBVersion);\n\n if (majorMatchingBVersionIsRange) {\n // `a` satisfies `b` so long as `aSemVer` is greater than or equal to `majorMatchingBSemVer`\n // this is true whether or not `aVersionIsRange`\n return aSemVer.compare(majorMatchingBSemVer) !== -1;\n } else {\n // `majorMatchingBVersionIsRange` is `false`\n if (aVersionIsRange) {\n // `a` permits more values than `b`, therefore `a` is \"less strict\"\n // e.g if `b` is `15.5.5`, this is true whether `a` is `^15.0.0`, `^15.5.5`, or `^15.9.9`\n return false;\n } else {\n // `aVersionIsRange` is `false`\n // `a` satisfies `b` if and only if `aSemVer` is equal to `majorMatchingBSemVer`\n return aSemVer.compare(majorMatchingBSemVer) === 0;\n }\n }\n });\n}\n\n/**\n * Returns true if the version evaluates to 'any', e.g. * or x\n */\nfunction isAnyVersionRange(version: string): boolean {\n return MATCH_ANY_VERSION_RANGE.test(version);\n}\n\n/**\n * Retruns true if the version begins with '>='\n */\nfunction isGreaterOrEqualVersionRange(version: string): boolean {\n return MATCH_GREATER_OR_EQUAL_VERSION_RANGE.test(version);\n}\n\nfunction isMajorVersionRange(version: string): boolean {\n return MATCH_MAJOR_VERSION_RANGE.test(version);\n}\n\nexport type ValidRange = string & { _type: \"valid range\" };\nexport function isValidRange(version: string): version is ValidRange {\n return RANGE_REGEX.test(version);\n}\n\ntype IDependencyType = \"dependencies\" | \"devDependencies\" | \"peerDependencies\";\n\nfunction getAddDependencyTypeFixer({\n packageJsonPath,\n dependencyType,\n dependencyName,\n version,\n host,\n}: {\n packageJsonPath: string;\n dependencyType: IDependencyType;\n dependencyName: string;\n version: string;\n host: Host;\n}) {\n return () => {\n mutateJson<PackageJson>(packageJsonPath, host, (packageJson) => {\n if (packageJson[dependencyType] == null) {\n packageJson[dependencyType] = {};\n }\n packageJson[dependencyType]![dependencyName] = version;\n return packageJson;\n });\n };\n}\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { Context } from \"@monorepolint/config\";\nimport { diff } from \"jest-diff\";\nimport * as r from \"runtypes\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\ntype OrderFunction = (context: Context) => (a: string, b: string) => number;\n\nconst Options = r\n .Record({\n order: r.Union(r.Array(r.String), r.Function),\n })\n .Or(r.Undefined);\n\ntype Options = r.Static<typeof Options>;\n\nconst defaultKeyOrder = [\n \"name\",\n \"version\",\n \"description\",\n \"author\",\n \"contributors\",\n \"url\",\n \"license\",\n \"type\",\n \"exports\",\n \"private\",\n \"engines\",\n \"bin\",\n \"types\",\n \"main\",\n \"module\",\n \"typings\",\n \"style\",\n \"sideEffects\",\n \"workspaces\",\n \"husky\",\n \"lint-staged\",\n \"files\",\n \"scripts\",\n \"resolutions\",\n \"dependencies\",\n \"peerDependencies\",\n \"devDependencies\",\n \"optionalDependencies\",\n \"publishConfig\",\n];\n\nexport const packageOrder = createRuleFactory<Options>({\n name: \"packageOrder\",\n check: (context, opts) => {\n const packageJson = context.getPackageJson();\n const packagePath = context.getPackageJsonPath();\n\n const order: string[] | OrderFunction = opts === undefined ? defaultKeyOrder : opts.order;\n\n const comparator = isOrderFunction(order) ? order(context) : createComparator(order);\n\n const actualOrder = Object.keys(packageJson);\n const expectedOrder = actualOrder.slice().sort(comparator); // sort mutates, so we need to copy the previous result\n\n if (!arrayOrderCompare(actualOrder, expectedOrder)) {\n context.addError({\n file: packagePath,\n message: \"Incorrect order of fields in package.json\",\n longMessage: diff(expectedOrder, actualOrder, { expand: true }),\n fixer: () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const expectedPackageJson: Record<string, any> = {};\n\n expectedOrder.forEach((key) => {\n expectedPackageJson[key] = packageJson[key];\n });\n\n context.host.writeJson(packagePath, expectedPackageJson);\n },\n });\n }\n },\n validateOptions: Options.check,\n});\n\nfunction arrayOrderCompare(a: ReadonlyArray<string>, b: ReadonlyArray<string>) {\n for (let index = 0; index < a.length; index++) {\n if (a[index] !== b[index]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction createComparator(order: ReadonlyArray<string>) {\n return (a: string, b: string) => {\n const aIndex = order.indexOf(a);\n const bIndex = order.indexOf(b);\n\n // if one of the two is missing from the order array, push it further down\n if (aIndex >= 0 && bIndex < 0) {\n return -1;\n } else if (aIndex < 0 && bIndex >= 0) {\n return 1;\n }\n\n // otherwise compare the indexes and use alphabetical as a tie breaker\n const compared = aIndex - bIndex;\n\n if (compared !== 0) {\n return compared;\n } else {\n return a.localeCompare(b);\n }\n };\n}\n\nfunction isOrderFunction(order: ReadonlyArray<string> | OrderFunction): order is OrderFunction {\n return !Array.isArray(order);\n}\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { mutateJson, PackageJson } from \"@monorepolint/utils\";\nimport { diff } from \"jest-diff\";\nimport * as r from \"runtypes\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\n\nexport const Options = r.Union(\n r\n .Record({\n entries: r.Dictionary(r.Unknown), // string => unknown, enforces existence of keys and their values\n })\n .And(\n r.Partial({\n entriesExist: r.Undefined,\n })\n ),\n r\n .Record({\n entriesExist: r.Array(r.String), // enforces existence of keys, but not values\n })\n .And(\n r.Partial({\n entries: r.Undefined,\n })\n ),\n r.Record({\n entries: r.Dictionary(r.Unknown), // string => unknown, enforces existence of keys and their values\n entriesExist: r.Array(r.String),\n })\n);\n\nexport type Options = r.Static<typeof Options>;\n\nexport const packageEntry = createRuleFactory<Options>({\n name: \"packageEntry\",\n check: (context, options) => {\n const packageJson = context.getPackageJson();\n\n if (options.entries) {\n for (const key of Object.keys(options.entries)) {\n const value = options.entries[key];\n\n const entryDiff = diff(JSON.stringify(value) + \"\\n\", (JSON.stringify(packageJson[key]) || \"\") + \"\\n\");\n if (\n (typeof value !== \"object\" && value !== packageJson[key]) ||\n entryDiff == null ||\n !entryDiff.includes(\"Compared values have no visual difference\")\n ) {\n context.addError({\n file: context.getPackageJsonPath(),\n message: createStandardizedEntryErrorMessage(key),\n longMessage: entryDiff,\n fixer: () => {\n mutateJson<PackageJson>(context.getPackageJsonPath(), context.host, (input) => {\n input[key] = value;\n return input;\n });\n },\n });\n }\n }\n }\n\n if (options.entriesExist) {\n for (const key of options.entriesExist) {\n if (packageJson[key] === undefined) {\n context.addError({\n file: context.getPackageJsonPath(),\n message: createExpectedEntryErrorMessage(key),\n });\n }\n }\n }\n },\n validateOptions: Options.check,\n});\n\nexport function createStandardizedEntryErrorMessage(key: string) {\n return `Expected standardized entry for '${key}'`;\n}\n\nexport function createExpectedEntryErrorMessage(key: string) {\n return `Expected entry for '${key}' to exist`;\n}\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { mutateJson, PackageJson } from \"@monorepolint/utils\";\nimport { diff } from \"jest-diff\";\nimport * as r from \"runtypes\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\n\nexport const Options = r.Record({\n scripts: r.Dictionary(\n r.Union(\n r.String,\n r.Record({\n options: r.Array(r.String.Or(r.Undefined)),\n fixValue: r.Union(r.String, r.Undefined, r.Literal(false)).optional(),\n })\n )\n ), // string => string\n});\n\nexport type Options = r.Static<typeof Options>;\n\nexport const MSG_NO_SCRIPTS_BLOCK = \"No scripts block in package.json\";\n\nexport const packageScript = createRuleFactory<Options>({\n name: \"packageScript\",\n check: (context, options) => {\n const packageJson = context.getPackageJson();\n if (packageJson.scripts === undefined) {\n context.addError({\n file: context.getPackageJsonPath(),\n message: MSG_NO_SCRIPTS_BLOCK,\n fixer: () => {\n mutateJson<PackageJson>(context.getPackageJsonPath(), context.host, (input) => {\n input.scripts = {};\n return input;\n });\n },\n });\n return;\n }\n for (const [name, value] of Object.entries(options.scripts)) {\n const allowedValues = new Set<string | undefined>();\n let fixValue: string | undefined | false;\n let allowEmpty = false;\n let fixToEmpty = false;\n\n if (typeof value === \"string\") {\n allowedValues.add(value);\n fixValue = value;\n } else {\n for (const q of value.options) {\n if (q === undefined) {\n allowEmpty = true;\n }\n allowedValues.add(q);\n }\n fixToEmpty = Object.prototype.hasOwnProperty.call(value, \"fixValue\") && value.fixValue === undefined;\n fixValue = value.fixValue;\n }\n\n const actualValue = packageJson.scripts[name];\n\n if (!allowedValues.has(actualValue) && !(allowEmpty === true && actualValue === undefined)) {\n let fixer;\n\n if (fixValue !== false && (fixValue !== undefined || fixToEmpty === true)) {\n const q = fixValue;\n fixer = () => {\n mutateJson<PackageJson>(context.getPackageJsonPath(), context.host, (input) => {\n if (fixToEmpty && q === undefined) {\n delete input.scripts![name];\n } else {\n input.scripts![name] = q!;\n }\n return input;\n });\n };\n }\n\n const validOptionsString = Array.from(allowedValues.values())\n .map((a) => (a === undefined ? \"(empty)\" : `'${a}'`))\n .join(\", \");\n\n context.addError({\n file: context.getPackageJsonPath(),\n message: `Expected standardized script entry for '${name}'. Valid options: ${validOptionsString}`,\n longMessage: diff(validOptionsString + \"\\n\", (packageJson.scripts[name] || \"\") + \"\\n\"),\n fixer,\n });\n }\n }\n },\n validateOptions: Options.check,\n});\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { Context } from \"@monorepolint/config\";\nimport { matchesAnyGlob } from \"@monorepolint/utils\";\nimport { diff } from \"jest-diff\";\nimport * as path from \"path\";\nimport * as r from \"runtypes\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\n\nconst DEFAULT_TSCONFIG_FILENAME = \"tsconfig.json\";\n\nconst Options = r\n .Partial({\n file: r.String,\n generator: r.Function,\n tsconfigReferenceFile: r.String,\n template: r.Record({}).Or(r.String),\n templateFile: r.String,\n excludedReferences: r.Array(r.String).Or(r.Undefined),\n additionalReferences: r.Array(r.String).Or(r.Undefined),\n })\n .withConstraint(({ generator, template, templateFile }) => {\n let count = 0;\n if (generator) {\n count++;\n }\n if (template) {\n count++;\n }\n if (templateFile) {\n count++;\n }\n\n return count === 1 || \"Expect one of { generator, template, templateFile }\";\n });\n\nexport interface Options extends r.Static<typeof Options> {}\n\nexport const standardTsconfig = createRuleFactory<Options>({\n name: \"standardTsconfig\",\n check: async (context, opts) => {\n const tsconfigFileName = opts.file ?? DEFAULT_TSCONFIG_FILENAME;\n const fullPath = path.resolve(context.packageDir, tsconfigFileName);\n const generator = getGenerator(context, opts);\n const expectedContent = await generator(context);\n\n const actualContent = context.host.exists(fullPath)\n ? context.host.readFile(fullPath, { encoding: \"utf-8\" })\n : undefined;\n\n if (expectedContent === undefined) {\n context.addWarning({\n file: fullPath,\n message: \"Excluding from expect-standard-tsconfig\",\n });\n return;\n }\n\n if (actualContent !== expectedContent) {\n context.addError({\n file: fullPath,\n message: \"Expect file contents to match\",\n longMessage: diff(expectedContent, actualContent, { expand: true }),\n fixer: () => {\n context.host.writeFile(fullPath, expectedContent, {\n encoding: \"utf-8\",\n });\n },\n });\n }\n },\n validateOptions: Options.check,\n});\n\nfunction getGenerator(context: Context, opts: Options) {\n if (opts.generator) {\n return opts.generator;\n } else if (opts.templateFile) {\n const { packageDir: workspacePackageDir } = context.getWorkspaceContext();\n const fullPath = path.resolve(workspacePackageDir, opts.templateFile);\n const template = JSON.parse(context.host.readFile(fullPath, { encoding: \"utf-8\" }));\n\n return makeGenerator(template, opts.excludedReferences, opts.additionalReferences, opts.tsconfigReferenceFile);\n } else if (opts.template) {\n return makeGenerator(opts.template, opts.excludedReferences, opts.additionalReferences, opts.tsconfigReferenceFile);\n } else {\n throw new Error(\"Unable to make generator\");\n }\n}\n\nfunction makeGenerator(\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n template: any,\n excludedReferences: ReadonlyArray<string> | undefined,\n additionalReferences: ReadonlyArray<string> | undefined,\n tsconfigReferenceFile?: string\n) {\n return async function generator(context: Context) {\n template = {\n ...template,\n references: [],\n }; // make a copy and ensure we have a references array\n\n const nameToDirectory = await context.getWorkspaceContext().getPackageNameToDir();\n\n const packageJson = context.getPackageJson();\n const deps = [...Object.keys(packageJson.dependencies || {}), ...Object.keys(packageJson.devDependencies || {})];\n for (const dep of deps) {\n const packageDir = nameToDirectory.get(dep);\n if (packageDir !== undefined && (excludedReferences === undefined || !matchesAnyGlob(dep, excludedReferences))) {\n const absoluteReferencePath =\n tsconfigReferenceFile !== undefined ? path.join(packageDir, tsconfigReferenceFile) : packageDir;\n template.references.push({\n path: path.relative(context.packageDir, absoluteReferencePath),\n });\n }\n }\n\n if (additionalReferences) {\n for (const additionalReference of additionalReferences) {\n template.references.push({\n path: additionalReference,\n });\n }\n }\n\n return JSON.stringify(template, undefined, 2) + \"\\n\";\n };\n}\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport * as globby from \"globby\";\nimport * as path from \"node:path\";\nimport * as r from \"runtypes\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\n\nexport const Options = r.Undefined;\n\ntype Options = r.Static<typeof Options>;\n\n// Enforce that the root package.json contains all of the workspaces in the repo (including nested packages)\nexport const nestedWorkspaces = createRuleFactory({\n name: \"nestedWorkspaces\",\n check: (context) => {\n const rootPackageJson = context.getWorkspaceContext().getPackageJson();\n\n // Expand a set of globs covering all package.json files in the entire repo (except the root)\n const packageJsonPaths = globby.globbySync([\"*/**/package.json\", \"!**/node_modules/**\"]);\n\n const workspaces = Array.isArray(rootPackageJson.workspaces)\n ? rootPackageJson.workspaces\n : rootPackageJson.workspaces !== undefined\n ? rootPackageJson.workspaces.packages\n : undefined;\n\n if (workspaces === undefined && packageJsonPaths.length > 0) {\n context.addError({\n file: context.getPackageJsonPath(),\n message: 'The \"workspace\" field is missing, even though there are workspaces in the repository.',\n });\n return;\n }\n\n // Build a set of globs for each package.json that exists in packages specified by a workspace.\n const workspacePackageJsons = (workspaces || []).map((item) => `${item}/package.json`);\n\n // Expand the globs to get an array of all package.json files that are in packages specified by a workspace.\n const expandedWorkspacesGlobs = globby.globbySync([...workspacePackageJsons, \"!**/node_modules/**\"]);\n\n // Ensure there are no package.jsons which are not included in the globbed workspaces set\n const difference = packageJsonPaths.filter((packageJsonPath) => !expandedWorkspacesGlobs.includes(packageJsonPath));\n\n if (difference.length !== 0) {\n const differencesList = difference.map((packageJsonPath) => path.dirname(packageJsonPath)).join(\", \");\n context.addError({\n file: context.getPackageJsonPath(),\n message:\n `The \"workspace\" field is missing one or more values: ${differencesList}. ` +\n 'You may be able to use a glob to avoid listing each workspace individually, e.g. \"packages/nested-workspace/*\".',\n });\n }\n },\n validateOptions: Options.check,\n});\n","/*!\n * Copyright 2019 Palantir Technologies, Inc.\n *\n * Licensed under the MIT license. See LICENSE file in the project root for details.\n *\n */\n\nimport { Context } from \"@monorepolint/config\";\nimport { mutateJson, PackageJson } from \"@monorepolint/utils\";\nimport { diff } from \"jest-diff\";\nimport * as r from \"runtypes\";\nimport { createRuleFactory } from \"./util/createRuleFactory.js\";\n\nconst Options = r.Partial({\n dependencies: r.Dictionary(r.String),\n devDependencies: r.Dictionary(r.String),\n peerDependencies: r.Dictionary(r.String),\n optionalDependencies: r.Dictionary(r.String),\n});\n\ntype Options = r.Static<typeof Options>;\n\nexport const requireDependency = createRuleFactory({\n name: \"requireDependency\",\n check: function expectPackageEntry(context: Context, options: Options) {\n const packageJson = context.getPackageJson();\n const packageJsonPath = context.getPackageJsonPath();\n\n [\n \"dependencies\" as const,\n \"devDependencies\" as const,\n \"peerDependencies\" as const,\n \"optionalDependencies\" as const,\n ].forEach((type) => {\n if (!options[type]) {\n return;\n }\n\n if (packageJson[type] === undefined) {\n context.addError({\n file: packageJsonPath,\n message: `No ${type} block, cannot add required ${type}.`,\n fixer: () => {\n mutateJson<PackageJson>(packageJsonPath, context.host, (input) => {\n input[type] = options[type];\n return input;\n });\n },\n });\n return;\n }\n\n for (const [dep, version] of Object.entries(options[type]!)) {\n if (packageJson[type]?.[dep] !== version) {\n context.addError({\n file: packageJsonPath,\n message: `Expected dependency ${dep}@${version}`,\n longMessage: diff(`${dep}@${version}\\n`, `${dep}@${packageJson[type]![dep] || \"missing\"}\\n`)!,\n fixer: () => {\n mutateJson<PackageJson>(packageJsonPath, context.host, (input) => {\n input[type] = { ...input[type], [dep]: version };\n return input;\n });\n },\n });\n }\n }\n });\n },\n validateOptions: Options.check,\n});\n"],"mappings":"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","names":["path","diff","r","Options","diff","r","Options","diff","path","r","Options","diff","mutateJson","path","r","coerce","resolvePackagePath","Options","resolvePackagePath","coerce","mutateJson","diff","r","Options","arrayOrderCompare","diff","mutateJson","diff","r","Options","diff","mutateJson","mutateJson","diff","r","Options","mutateJson","diff","matchesAnyGlob","diff","path","r","Options","diff","matchesAnyGlob","path","r","Options","mutateJson","diff","r","Options","mutateJson","diff"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"program":{"fileNames":["../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.4.5/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/tslib.d.ts","../../../node_modules/.pnpm/tslib@2.6.2/node_modules/tslib/modules/index.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@5.26.5/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/globals.global.d.ts","../../../node_modules/.pnpm/@types+node@18.18.14/node_modules/@types/node/index.d.ts","../../utils/build/types/Host.d.ts","../../utils/build/types/getWorkspacePackageDirs.d.ts","../../utils/build/types/mutateJson.d.ts","../../utils/build/types/PackageJson.d.ts","../../utils/build/types/findWorkspaceDir.d.ts","../../utils/build/types/getPackageNameToDir.d.ts","../../utils/build/types/SimpleHost.d.ts","../../utils/build/types/CachingHost.d.ts","../../utils/build/types/matchesAnyGlob.d.ts","../../utils/build/types/nanosecondsToSanity.d.ts","../../utils/build/types/AggregateTiming.d.ts","../../utils/build/types/Timing.d.ts","../../utils/build/types/Table.d.ts","../../utils/build/types/index.d.ts","../../config/build/types/PackageContext.d.ts","../../config/build/types/WorkspaceContext.d.ts","../../config/build/types/Context.d.ts","../../config/build/types/Config.d.ts","../../config/build/types/index.d.ts","../../../node_modules/.pnpm/@sinclair+typebox@0.27.8/node_modules/@sinclair/typebox/typebox.d.ts","../../../node_modules/.pnpm/@jest+schemas@29.6.3/node_modules/@jest/schemas/build/index.d.ts","../../../node_modules/.pnpm/pretty-format@29.7.0/node_modules/pretty-format/build/index.d.ts","../../../node_modules/.pnpm/jest-diff@29.7.0/node_modules/jest-diff/build/index.d.ts","../src/util/checkAlpha.ts","../src/util/createRuleFactory.ts","../src/alphabeticalDependencies.ts","../src/alphabeticalScripts.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/union.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/literal.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/unknown.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/constraint.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/instanceof.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/reflect.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/runtype.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/result.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/contract.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/asynccontract.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/match.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/errors.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/never.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/void.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/template.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/boolean.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/number.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/bigint.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/string.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/symbol.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/array.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/tuple.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/optional.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/record.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/dictionary.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/intersect.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/function.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/lazy.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/types/brand.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/decorator.d.ts","../../../node_modules/.pnpm/runtypes@6.7.0/node_modules/runtypes/lib/index.d.ts","../../../node_modules/.pnpm/resolve-package-path@4.0.3/node_modules/resolve-package-path/lib/cache.d.ts","../../../node_modules/.pnpm/resolve-package-path@4.0.3/node_modules/resolve-package-path/lib/cache-group.d.ts","../../../node_modules/.pnpm/resolve-package-path@4.0.3/node_modules/resolve-package-path/lib/index.d.ts","../src/util/packageDependencyGraphService.ts","../src/bannedDependencies.ts","../src/consistentDependencies.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/classes/semver.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/parse.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/valid.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/clean.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/inc.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/diff.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/major.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/minor.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/patch.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/prerelease.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/compare.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/rcompare.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/compare-loose.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/compare-build.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/sort.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/rsort.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/gt.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/lt.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/eq.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/neq.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/gte.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/lte.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/cmp.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/coerce.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/classes/comparator.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/classes/range.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/functions/satisfies.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/ranges/max-satisfying.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/ranges/min-satisfying.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/ranges/to-comparators.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/ranges/min-version.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/ranges/valid.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/ranges/outside.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/ranges/gtr.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/ranges/ltr.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/ranges/intersects.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/ranges/simplify.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/ranges/subset.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/internals/identifiers.d.ts","../../../node_modules/.pnpm/@types+semver@7.5.8/node_modules/@types/semver/index.d.ts","../src/consistentVersions.ts","../src/fileContents.ts","../src/mustSatisfyPeerDependencies.ts","../src/packageOrder.ts","../src/packageEntry.ts","../src/packageScript.ts","../src/standardTsconfig.ts","../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/types/index.d.ts","../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts","../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.d.ts","../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.d.ts","../../../node_modules/.pnpm/@nodelib+fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.d.ts","../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/types/index.d.ts","../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts","../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.d.ts","../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts","../../../node_modules/.pnpm/@nodelib+fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.d.ts","../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/types/index.d.ts","../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.d.ts","../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts","../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/async.d.ts","../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.d.ts","../../../node_modules/.pnpm/@nodelib+fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.d.ts","../../../node_modules/.pnpm/fast-glob@3.3.2/node_modules/fast-glob/out/types/index.d.ts","../../../node_modules/.pnpm/fast-glob@3.3.2/node_modules/fast-glob/out/settings.d.ts","../../../node_modules/.pnpm/fast-glob@3.3.2/node_modules/fast-glob/out/managers/tasks.d.ts","../../../node_modules/.pnpm/fast-glob@3.3.2/node_modules/fast-glob/out/index.d.ts","../../../node_modules/.pnpm/globby@14.0.1/node_modules/globby/index.d.ts","../src/nestedWorkspaces.ts","../src/requireDependency.ts","../src/index.ts","../../../node_modules/.pnpm/@types+yargs-parser@21.0.3/node_modules/@types/yargs-parser/index.d.ts","../../../node_modules/.pnpm/@types+yargs@17.0.32/node_modules/@types/yargs/index.d.ts","../../../node_modules/.pnpm/@types+istanbul-lib-coverage@2.0.4/node_modules/@types/istanbul-lib-coverage/index.d.ts","../../../node_modules/.pnpm/chalk@4.1.2/node_modules/chalk/index.d.ts","../../../node_modules/.pnpm/@types+istanbul-lib-report@3.0.1/node_modules/@types/istanbul-lib-report/index.d.ts","../../../node_modules/.pnpm/@types+istanbul-reports@3.0.2/node_modules/@types/istanbul-reports/index.d.ts","../../../node_modules/.pnpm/@jest+types@29.6.3/node_modules/@jest/types/build/index.d.ts","../../../node_modules/.pnpm/jest-mock@29.7.0/node_modules/jest-mock/build/index.d.ts","../../../node_modules/.pnpm/@types+stack-utils@2.0.1/node_modules/@types/stack-utils/index.d.ts","../../../node_modules/.pnpm/jest-message-util@29.7.0/node_modules/jest-message-util/build/index.d.ts","../../../node_modules/.pnpm/@jest+fake-timers@29.7.0/node_modules/@jest/fake-timers/build/index.d.ts","../../../node_modules/.pnpm/@jest+environment@29.7.0/node_modules/@jest/environment/build/index.d.ts","../../../node_modules/.pnpm/@jest+expect-utils@29.7.0/node_modules/@jest/expect-utils/build/index.d.ts","../../../node_modules/.pnpm/jest-matcher-utils@29.7.0/node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/.pnpm/expect@29.7.0/node_modules/expect/build/index.d.ts","../../../node_modules/.pnpm/jest-snapshot@29.7.0/node_modules/jest-snapshot/build/index.d.ts","../../../node_modules/.pnpm/@jest+expect@29.7.0/node_modules/@jest/expect/build/index.d.ts","../../../node_modules/.pnpm/@jest+globals@29.7.0/node_modules/@jest/globals/build/index.d.ts","../../core/build/types/check.d.ts","../../core/build/types/PackageContext.d.ts","../../core/build/types/WorkspaceContext.d.ts","../../core/build/types/resolveConfig.d.ts","../../core/build/types/index.d.ts","../../../node_modules/.pnpm/@types+tmp@0.2.6/node_modules/@types/tmp/index.d.ts","../src/__tests__/utils.ts","../src/__tests__/alphabeticalScripts.spec.ts","../src/util/makeDirectory.ts","../src/__tests__/bannedDependencies.spec.ts","../src/__tests__/consistentDependencies.spec.ts","../src/__tests__/consistentVersions.spec.ts","../src/__tests__/fileContents.spec.ts","../src/__tests__/mustSatisfyPeerDependencies.spec.ts","../src/__tests__/nestedWorkspaces.spec.ts","../src/__tests__/packageEntry.spec.ts","../src/__tests__/packageOrder.spec.ts","../src/__tests__/packageScript.spec.ts","../src/__tests__/requireDependency.spec.ts"],"fileInfos":[{"version":"824cb491a40f7e8fdeb56f1df5edf91b23f3e3ee6b4cde84d4a99be32338faee","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b","impliedFormat":1},{"version":"138fb588d26538783b78d1e3b2c2cc12d55840b97bf5e08bca7f7a174fbe2f17","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true,"impliedFormat":1},{"version":"bc47685641087c015972a3f072480889f0d6c65515f12bd85222f49a98952ed7","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb42a7797d996412ecdc5b2787720de477103a0b2e53058569069a0e2bae6c7e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true,"impliedFormat":1},{"version":"b541a838a13f9234aba650a825393ffc2292dc0fc87681a5d81ef0c96d281e7a","affectsGlobalScope":true,"impliedFormat":1},{"version":"b20fe0eca9a4e405f1a5ae24a2b3290b37cf7f21eba6cbe4fc3fab979237d4f3","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"49ed889be54031e1044af0ad2c603d627b8bda8b50c1a68435fe85583901d072","affectsGlobalScope":true,"impliedFormat":1},{"version":"e93d098658ce4f0c8a0779e6cab91d0259efb88a318137f686ad76f8410ca270","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"5e07ed3809d48205d5b985642a59f2eba47c402374a7cf8006b686f79efadcbd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true,"impliedFormat":1},{"version":"8073890e29d2f46fdbc19b8d6d2eb9ea58db9a2052f8640af20baff9afbc8640","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"51e547984877a62227042850456de71a5c45e7fe86b7c975c6e68896c86fa23b","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d8670852241d4c6e03f2b89d67497a4bbefe29ecaa5a444e2c11a9b05e6fccc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true,"impliedFormat":1},{"version":"08a58483392df5fcc1db57d782e87734f77ae9eab42516028acbfe46f29a3ef7","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f6e6380c78e15e140243dc4be2fa546c287c6d61f4729bc2dd7cf449605471","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7a1971efcba559ea9002ada4c4e3c925004fb67a755300d53b5edf9399354900","impliedFormat":1},{"version":"31973b272be35eab5ecf20a38ea54bec84cdc0317117590cb813c72fe0ef75b3","impliedFormat":99},{"version":"3846d0dcf468a1d1a07e6d00eaa37ec542956fb5fe0357590a6407af20d2ff90","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","impliedFormat":1},{"version":"3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","impliedFormat":1},{"version":"e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","impliedFormat":1},{"version":"471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","impliedFormat":1},{"version":"c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","impliedFormat":1},{"version":"40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","impliedFormat":1},{"version":"339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","impliedFormat":1},{"version":"9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","impliedFormat":1},{"version":"8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","impliedFormat":1},{"version":"4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1","impliedFormat":1},{"version":"4d719cfab49ae4045d15cb6bed0f38ad3d7d6eb7f277d2603502a0f862ca3182","affectsGlobalScope":true,"impliedFormat":1},{"version":"39b1a50d543770780b0409a4caacb87f3ff1d510aedfeb7dc06ed44188256f89","impliedFormat":1},{"version":"b6a4a51bc749ad882c33d98563ff5a94716ca884bfde949a8c97bad530e4ee2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"16b872cf5432818bdbf405428b4a1d77bb2a7ab908e8bd6609f9a541cea92f81","impliedFormat":1},{"version":"fe39ceafa361b6d339b518936275eff89a77e7dfe92f2efa5fb97abf9a95ca49","impliedFormat":1},{"version":"4009dd21843fe4a62d1d97b584a2937ca9f045df6fbd65c8b264d8dd04b656fd","affectsGlobalScope":true,"impliedFormat":1},{"version":"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","impliedFormat":1},{"version":"c9e6ea53a25729dbb5b5bb6960db4387df2f8e88add9cbf36b6ff590481134f9","impliedFormat":1},{"version":"3e95e6310d49db6d575ac6c2896c02761426aa5aab0b18169f971151c709b770","impliedFormat":1},{"version":"7eb0662b995994db248290a0f0a1d8ed685991a162ff9eb4dee36f099cccd0d9","impliedFormat":1},{"version":"bea5c9fc0843a6961411ab4a04df856a8372448bc0d180da0c3a054ff31044b8","impliedFormat":1},{"version":"715873cecbfcebb49f293f0521bd0955d6298486e2eeb9c7bbf5e9f20a6ed152","impliedFormat":1},{"version":"c6cf9428f45f3d78b07df7d7aab1569994c177d36549e3a962f952d89f026bc4","impliedFormat":1},{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c7b9d2139abd8f2e83ed8fa018c3799ab3187755a6665621feb6e93d3429ac3","affectsGlobalScope":true,"impliedFormat":1},{"version":"a019c9782ea4e21c83881c780cebce8ad86e3f78122619336eacbd87e47fe674","impliedFormat":1},{"version":"021ca24be8eb8c46f99b4e03ebf872931f590c9b07b88d715c68bd30495b6c44","impliedFormat":1},{"version":"5899ab1898582115c432cccef063298f75477bf2cebe5473360043fddd67bcc6","impliedFormat":1},{"version":"6b97f4106d72ae6b4ebf4e46d2fe90f4d04dd04b3dbff6e294572440a428209d","impliedFormat":1},{"version":"e3baa0c5780c2c805ec33a999722a2f740b572eb3746fd0a5f93a0a5c3dbf7f6","impliedFormat":1},{"version":"48fedd2f8549a2ae7e62f30fdb015779c2a7b536760730c5269406cd3d17cab2","impliedFormat":1},{"version":"e492737de7f023b47ff14ca54b9635ba3dcd64816ed3316c9f3a784cf5897173","affectsGlobalScope":true,"impliedFormat":1},{"version":"c874bfffe38a94b129077eaba4e26575972d545d5d04cd64e90c02d2c029ead6","impliedFormat":1},{"version":"f5ce35485541e817c2d4105d3eb78e3e538bbb009515ed014694363fa3e94ceb","impliedFormat":1},{"version":"323506ce173f7f865f42f493885ee3dacd18db6359ea1141d57676d3781ce10c","impliedFormat":1},{"version":"bd88055918cf8bf30ad7c9269177f7ebeafd4c5f0d28919edccd1c1d24f7e73c","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e87d6463aa0ba359f921387ee468b167300400ff952c9ebddf1310838f531c3","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea3ab3727cd6c222d94003ecafa30e8550c61eadcdabbf59514aee76e86211a5","impliedFormat":1},{"version":"d3cdd41693c5ed6bec4f1a1c399d9501372b14bd341bc46eedacf2854c5df5a7","impliedFormat":1},{"version":"2de7a21c92226fb8abbeed7a0a9bd8aa6d37e4c68a8c7ff7938c644267e9fcc1","impliedFormat":1},{"version":"6d6070c5c81ba0bfe58988c69e3ba3149fc86421fd383f253aeb071cbf29cd41","impliedFormat":1},{"version":"48dab0d6e633b8052e7eaa0efb0bb3d58a733777b248765eafcb0b0349439834","impliedFormat":1},{"version":"6e4b2642721462bf62d19593770659f268a6ca1e9fd15543747efb3ac471cee3","impliedFormat":1},{"version":"269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","impliedFormat":1},{"version":"93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","impliedFormat":1},{"version":"cdaaf046791d7d588f28f32197c5d6acc43343e62540a67eed194c9c20535fdc","impliedFormat":1},{"version":"4b1ff655bd8edd879dd4f04f15338ce0109f58ccb424165d44fa07e7ea39c4bf","impliedFormat":1},{"version":"6fa3d3f427475a5d21fed826d6457e7f9ee3a0abeb3124fc41f385f112368d2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"300f8e9de0b0c3482be3e749462b6ebc3dab8a316801f1da0def94aed0cd2018","affectsGlobalScope":true,"impliedFormat":1},{"version":"4e228e78c1e9b0a75c70588d59288f63a6258e8b1fe4a67b0c53fe03461421d9","impliedFormat":1},{"version":"9dee6f8fc3554cbb111713d2ff809b4e5dfda42b04d1ee647c15abcf9c80dc9b","impliedFormat":1},{"version":"76a89af04f2ba1807309320dab5169c0d1243b80738b4a2005989e40a136733e","impliedFormat":1},{"version":"c045b664abf3fc2a4750fa96117ab2735e4ed45ddd571b2a6a91b9917e231a02","impliedFormat":1},{"version":"ca619678b887ae262316673b55bb358c517593d3b6b96c1271972716c699da32","affectsGlobalScope":true,"impliedFormat":1},{"version":"40ed27386f21a739bd0d2e2cfed563760588f2aeaa7ad149c1bf1454a7ec743a","affectsGlobalScope":true,"impliedFormat":1},{"version":"d1ef1d8516286380fd0a6f498f1650d374a8cb5f03d91633b6124e4fb8fb131d","impliedFormat":1},{"version":"04f1ad42872f8b20c70b54161c4d799aac3020e55bf4553be22fb6851b445389","impliedFormat":1},{"version":"2641e5e19268b6f5038ad48a6e2598965301df8a77c48c99d8df760a6a154204","impliedFormat":1},{"version":"6a4a80787c57c10b3ea8314c80d9cc6e1deb99d20adca16106a337825f582420","affectsGlobalScope":true,"impliedFormat":1},{"version":"f2b9440f98d6f94c8105883a2b65aee2fce0248f71f41beafd0a80636f3a565d","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"b510d0a18e3db42ac9765d26711083ec1e8b4e21caaca6dc4d25ae6e8623f447","impliedFormat":1},{"version":"724ef855c964dc215ddf545972d0e9d13d23bbb9701c40ee5dffd7afd38e17eb","impliedFormat":99},{"version":"d0cd3721bfd00535a22adfaa790f78c7e48cac3cf78972c3bb1e9be294072d07","impliedFormat":99},{"version":"866e59736bae2a62433871b029b0e8fac3f81133ee1fecd2968a4e2fbf36c585","impliedFormat":99},{"version":"d615f1bc998932d8c0b983728390033b7b086358a571d1028f029e4a6c78777c","impliedFormat":99},{"version":"0c62cfee4672b3978916b5f42c9d86df359e72a65b235595fdf3fc614d59590f","impliedFormat":99},{"version":"ab71c42b2e9517059da73859f5bc6ca254ffa81bde22c575b844279198548bb2","impliedFormat":99},{"version":"91936947c2623172217992d68719bd1ce8221f1bbfe80de70029def48ea62c79","impliedFormat":99},{"version":"37d11a517fff0983b0d7d9fe6a548813b4bd3d9aedf83feae36ce98ea215aab1","impliedFormat":99},{"version":"90a6ace1248ccd1474f5ccd2031e4c24f9ca23f1f0d7bd9eb72f07c1d81f13a7","impliedFormat":99},{"version":"c4cd90ffa81f741e388390eb2d98ff44b6adf4c665f736febdd3dbffb2fadf0a","impliedFormat":99},{"version":"6660dab483db5bafac7e069d18afddf92d5e4032f111d22d758141472fd98f2c","impliedFormat":99},{"version":"ffa086b0f8036756e3138c05a323b582b1ec4859e409b89f27cdd08ee8bf6833","impliedFormat":99},{"version":"870e5859b9a4ce1de65f770e05412579760cf1e8eb8c93c6582567b368eac291","impliedFormat":99},{"version":"740da95c9a3f8d57e608ef58c3d5e5761c1eda4383fdc9a1fd9ec7bb64f091e4","impliedFormat":99},{"version":"3607e0a50babfc164f6d0dc42ec23c7bdff93a8662a878c0f8f0b899b7df31d1","impliedFormat":99},{"version":"2eb8a176d8d971b89cbe5b954b6b54ff97586317925d218d81aae555289d04ec","impliedFormat":99},{"version":"db552a437f41771a7a8fc0a666f2d31cc4242083146b146d5162c98a053b6b4f","impliedFormat":99},{"version":"31c7a55ba78b75ca1f0e323bff87ff92dbbd8db79ed4834666edf9f2e935fb87","impliedFormat":99},{"version":"4f558af68ca1086880c760e1eb572155bb51166dbb0e9fecb1342f5c4d1c34a5","impliedFormat":99},{"version":"c085e9aa62d1ae1375794c1fb927a445fa105fed891a7e24edbb1c3300f7384a","impliedFormat":1},{"version":"f315e1e65a1f80992f0509e84e4ae2df15ecd9ef73df975f7c98813b71e4c8da","impliedFormat":1},{"version":"5b9586e9b0b6322e5bfbd2c29bd3b8e21ab9d871f82346cb71020e3d84bae73e","impliedFormat":1},{"version":"3e70a7e67c2cb16f8cd49097360c0309fe9d1e3210ff9222e9dac1f8df9d4fb6","impliedFormat":1},{"version":"756d2e5d32f4fd0abac62cdbc9cdbe2007b0ecf27af2be9ac1ebc3f9ddb3e934","signature":"5bc7443b25224caa5f318b802939c1d4b11eafb0eddbf5b7af7c697d449ac010","impliedFormat":99},{"version":"1a43e047bd5792775cba0e74bb9f0ad6330d58f5da745e4d672b8f479008b7ea","signature":"9311105e2278b51be10203336e1aeb2c1c3d8a153549c1c47ef059b0e2d3003f","impliedFormat":99},{"version":"fa6e4d7d8e63715b84d340852292598521f43e42c94302d9943585fb57b19c85","signature":"97d427ec0dd287b3c58c5a5d37733c850c561b02cc5c525ea0efbfb50779dc13","impliedFormat":99},{"version":"a7a5b066304bdf297ae88dad32d15ed00669604e2dc0c26de415fc117419232e","signature":"c5f8c1be2cfdea0f36b4a65d197824818f0adf50519ebaaa1b1ac0dc485f8632","impliedFormat":99},{"version":"4edd6956984539f858db96d9dc44dbf6bfc64c7067eaca3c4dd0b22215c77027","impliedFormat":1},{"version":"7b32f34cd9de174153a17eca138eec5c891ed2af5d9777c42cf0ba57fb0815b5","impliedFormat":1},{"version":"3123f2c69d51a40a561e9f99c8d15a7038621081abd5f47a71210096ac8e1814","impliedFormat":1},{"version":"9ac27e0391cdc1d6a881e92939f576d57bea61a052af6850e5aba63f7dc75f7e","impliedFormat":1},{"version":"2205fa8d555344622173f9773a6ad41cdafebf5c6acdfd79e30847b2f99a34cf","impliedFormat":1},{"version":"ae4da23624477e9a11bf3311a25f9d6e271dc73d479b0939676e72471bb0c7b9","impliedFormat":1},{"version":"9280c3ef4d017c0ecdf1a845b9aaa655ea877e62fafc42ea9ab46699c86ba401","impliedFormat":1},{"version":"9489e70cbe7d6b151f554504e9fa636214d2763a8c9eee8fb074924bec52687d","impliedFormat":1},{"version":"bab9ae5149daf8cd7f4d0be08394b45abb461c1eb1f37204611f1394129d6de6","impliedFormat":1},{"version":"aee7078023ca1adda134f8cc0a956c2c1ee7c6395900c91122134efbfd9a3b2a","impliedFormat":1},{"version":"e8b22941c184258ee43221dd990fc9536df2b6add7a7660249e7eb6c8fa4c0cf","impliedFormat":1},{"version":"35daeff60ff19ad45bddbd2aa3b698751d2787eb4d93ec96acaaf7600407aaf9","impliedFormat":1},{"version":"e70e5b1e9f5c8fb057dccd80b24ac684043c615f888c06d6a44551e5134535e8","impliedFormat":1},{"version":"bce521f55b95d2a5b0857efdfbec2f50fa491dc80b1d1f8fd1a98d2581afc498","impliedFormat":1},{"version":"da12c82783d1070add63b906b033c30dc29153189452cde21c64aebe5354f560","impliedFormat":1},{"version":"d3f20af05d538b2f5e387ffe9a10fcc5f3bb32bc04671bd08974faa796a59cad","impliedFormat":1},{"version":"1773602916bee106c96ec3ae20a76888d66786b57efa319bce01ac0888465bfe","impliedFormat":1},{"version":"cb22d368f6ff3ccbced04addac26041421baf3c15cf53edd8c2495fc061e077d","impliedFormat":1},{"version":"abe21aeda5df689f1f74e255a84a9457d17f0532105832ecf416b5f3e42b54ff","impliedFormat":1},{"version":"62bc3764e2495024c58cbb96fb39ea9d71128bf437f4085c4a1518eaa63e446e","impliedFormat":1},{"version":"6e35c492cc91608fc858627a9441d714bd2a087e8775ecbe2f664d1c9f140676","impliedFormat":1},{"version":"22aec566956a4070124a9d08718b391d2271a0e4b9e310fc7679cbdf40e9d4f3","impliedFormat":1},{"version":"a6f7d4c6026e67eb8059a73872ef86fc5de394efe1a6d4710f89b057d11a7247","impliedFormat":1},{"version":"a061a4e5b960beb6cbc730640e7c5f1c22dcf8fe812a7530430d7c0dfc51a5d6","impliedFormat":1},{"version":"78f2fae59445f065687b3cb2aa3e35e5dfaa797471636e0f1d4b055dd80a9f8a","impliedFormat":1},{"version":"91e50c7d0494c484898b55231c61c7db1457d5974b51677d382edef8f90b4ed3","impliedFormat":1},{"version":"3055642b3986218f66301a7ec1ddd5c77bc836437cb5ac66186eb079e4dd9e07","impliedFormat":1},{"version":"b420e3fdfd41cd3c2a51ef86c8bb43724643aefe221d2195c8ba6f129a6f8b9b","impliedFormat":1},{"version":"bf78f00132fe84f36678e0d6449afcf3c13e6f49b8fb82b153ef937d26c41141","impliedFormat":1},{"version":"f040e3800469ce990f153622fe508174f7c33a3627014e43587b1c91d8ef6335","impliedFormat":1},{"version":"93b40cccb84adf216109e4f241fd9a871d40029ef43fc0779d9dfb443d007d81","impliedFormat":1},{"version":"d5960343e19e2a78a1dc78a6cee39e2a9d857d4a241180e45f1fd36367495386","impliedFormat":1},{"version":"c0264ca644cd14781acbd942ee3615d2b9810f4e6e6d86e0e14a1dbac8d8cdaa","impliedFormat":1},{"version":"1458833def0c60d8548148fc08d9ca95fa0011c7bf96045ce38065c5c4d48047","impliedFormat":1},{"version":"e049e0e8c02bbda1d825b56964af3c3a93fa54d411750a045455d098eea3438d","signature":"05890b450b6d32d0a47beaa465b56303a829bd73e2e663fe0b4b81f04c20a845","impliedFormat":99},{"version":"246a663446e651f26f79f97f5f42ca488935c27e6ea4646f40d39a2d456f8425","signature":"e8ad3f7da10a479180ca94a49972ee3d53aa280d4cc614341e9a1b95d1d3a5cf","impliedFormat":99},{"version":"dffd929ca14d6ef2ca77c70089ed466a9c8cdccf3e103356b6bfc66b79b40a90","signature":"5e633d33c283ac5037cfa1c8761026a3b9d83abc9e2ddd003ffac4353c6a9572","impliedFormat":99},{"version":"cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","impliedFormat":1},{"version":"9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","impliedFormat":1},{"version":"c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","impliedFormat":1},{"version":"8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","impliedFormat":1},{"version":"86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","impliedFormat":1},{"version":"42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","impliedFormat":1},{"version":"ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","impliedFormat":1},{"version":"83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","impliedFormat":1},{"version":"1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","impliedFormat":1},{"version":"0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","impliedFormat":1},{"version":"cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","impliedFormat":1},{"version":"c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","impliedFormat":1},{"version":"f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","impliedFormat":1},{"version":"0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","impliedFormat":1},{"version":"7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","impliedFormat":1},{"version":"bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","impliedFormat":1},{"version":"52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","impliedFormat":1},{"version":"770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","impliedFormat":1},{"version":"d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","impliedFormat":1},{"version":"799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","impliedFormat":1},{"version":"2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","impliedFormat":1},{"version":"9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","impliedFormat":1},{"version":"397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","impliedFormat":1},{"version":"a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","impliedFormat":1},{"version":"a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","impliedFormat":1},{"version":"c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","impliedFormat":1},{"version":"4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","impliedFormat":1},{"version":"f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","impliedFormat":1},{"version":"cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","impliedFormat":1},{"version":"b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","impliedFormat":1},{"version":"c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","impliedFormat":1},{"version":"14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","impliedFormat":1},{"version":"a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","impliedFormat":1},{"version":"f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","impliedFormat":1},{"version":"3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","impliedFormat":1},{"version":"662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","impliedFormat":1},{"version":"c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","impliedFormat":1},{"version":"2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","impliedFormat":1},{"version":"34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","impliedFormat":1},{"version":"7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","impliedFormat":1},{"version":"e3ceab123020e223148e8016ed44b1d00e893a81709940e1f7ec1f89eaf78b50","signature":"94ca3bddfcf7f8697e67a6b70576270463cb622073fae4ab7b7e5c139f203795","impliedFormat":99},{"version":"44ecdabc7224c9d52ac5f4a1530dcdd295782788d383b70808332c11d2297e1d","signature":"92a6fc8b6f205e05b54d7cf960d8afb591a43c35ca375788d849f2e10e4d7812","impliedFormat":99},{"version":"8ac1258b53440584d039b3e565eae5affbe7d185fc99cc7d03140e38f18073fd","signature":"29247ab3f742d1120d82ee085bde245d9d1762b4975eb4169739839adbfc1a6b","impliedFormat":99},{"version":"7e5335905fbc6f64262433f6e25316d5bce497f76ffdaeac83d420b7e81abd43","signature":"19ae842c257ce2e4976c6cba97accde332de5c995c02be984f3271e6a8887401","impliedFormat":99},{"version":"c1f77890029d92fff2e6a923cc5698ba2e027034cb163d6d3492a8992ced7e84","signature":"7e510fe529ea31a1614c070cf48355f232aeb49d0c53304d543d7c16a33a909c","impliedFormat":99},{"version":"6121d899c003d23323ec5bd0c7de241995d56e08d07c5e773c46c2fb967f8e9e","signature":"e959fb4ca51a72244aee159b2e4ee795947a8c2f1959662e620d67fe32b92f15","impliedFormat":99},{"version":"871c1fe67e568e3ef6d8ad56bd65d8716728fbb2c3ce8912557c59968fd5c66a","signature":"2f7622fc8d0511407b26b7abd715a4fb637811f72fe378f9cde4ea9506e718e0","impliedFormat":99},{"version":"46324183533e34fad2461b51174132e8e0e4b3ac1ceb5032e4952992739d1eab","impliedFormat":1},{"version":"d3fa0530dfb1df408f0abd76486de39def69ca47683d4a3529b2d22fce27c693","impliedFormat":1},{"version":"d9be977c415df16e4defe4995caeca96e637eeef9d216d0d90cdba6fc617e97e","impliedFormat":1},{"version":"98e0c2b48d855a844099123e8ec20fe383ecd1c5877f3895b048656befe268d0","impliedFormat":1},{"version":"ff53802a97b7d11ab3c4395aa052baa14cd12d2b1ed236b520a833fdd2a15003","impliedFormat":1},{"version":"fce9262f840a74118112caf685b725e1cc86cd2b0927311511113d90d87cc61e","impliedFormat":1},{"version":"d7a7cac49af2a3bfc208fe68831fbfa569864f74a7f31cc3a607f641e6c583fd","impliedFormat":1},{"version":"9a80e3322d08274f0e41b77923c91fe67b2c8a5134a5278c2cb60a330441554e","impliedFormat":1},{"version":"2460af41191009298d931c592fb6d4151beea320f1f25b73605e2211e53e4e88","impliedFormat":1},{"version":"2f87ea988d84d1c617afdeba9d151435473ab24cd5fc456510c8db26d8bd1581","impliedFormat":1},{"version":"b7336c1c536e3deaedbda956739c6250ac2d0dd171730c42cb57b10368f38a14","impliedFormat":1},{"version":"6fb67d664aaab2f1d1ad4613b58548aecb4b4703b9e4c5dba6b865b31bd14722","impliedFormat":1},{"version":"4414644199b1a047b4234965e07d189781a92b578707c79c3933918d67cd9d85","impliedFormat":1},{"version":"04a4b38c6a1682059eac00e7d0948d99c46642b57003d61d0fe9ccc9df442887","impliedFormat":1},{"version":"f12ea658b060da1752c65ae4f1e4c248587f6cd4cb4acabbf79a110b6b02ff75","impliedFormat":1},{"version":"011b2857871a878d5eae463bedc4b3dd14755dc3a67d5d10f8fbb7823d119294","impliedFormat":1},{"version":"d406b797d7b2aff9f8bd6c023acfaa5a5fc415bfbf01975e23d415d3f54857af","impliedFormat":1},{"version":"7d71b2d1a537fe41760a16441cd95d98fcb59ddf9c714aba2fecba961ab253b6","impliedFormat":1},{"version":"a9bd8a2bbd03a72054cbdf0cd2a77fabea4e3ae591dd02b8f58bda0c34e50c1c","impliedFormat":1},{"version":"386cc88a3bdee8bc651ead59f8afc9dc5729fc933549bbd217409eabad05ba3e","impliedFormat":1},{"version":"af652818fd1fe159b15b3628c6dbcfecd54db4296854376cc28990eb781b356d","impliedFormat":99},{"version":"30d7a459ae21c108dcb5df2a8387756f6918e851f0685204228aa0d6570d199b","signature":"1aa7f4dd568872dae988356fc5836e003a150a018fa422b36124d34064827490","impliedFormat":99},{"version":"11ab1fe129d30e6b340f831909b6176960b3d48aa188c438c0cb0f6338aa2ef8","signature":"4d1627a7fc98c04e24585c82c6929841006c1f9e355a8d193dff45fbd814f09a","impliedFormat":99},{"version":"1ab9753bcafdf8cc26005f89f9464402e018349fc3ad6b79de65a4252c1aec50","signature":"9a65ea336550cc2e927737f000955f5c3ad399a705f1f9cc57219f1abf3d16b7","impliedFormat":99},{"version":"bae8d023ef6b23df7da26f51cea44321f95817c190342a36882e93b80d07a960","impliedFormat":1},{"version":"5d30d04a14ed8527ac5d654dc345a4db11b593334c11a65efb6e4facc5484a0e","impliedFormat":1},{"version":"8b06ac3faeacb8484d84ddb44571d8f410697f98d7bfa86c0fda60373a9f5215","impliedFormat":1},{"version":"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","impliedFormat":1},{"version":"c79bd2f3e5c05e7ad80dc82ce8d339cac23ac1f5e6cfab96c860bb70d5162873","impliedFormat":1},{"version":"e3328cedfe4d7fac23ba75d00bf5169269800ab949d0837cd88c4211a52c3762","impliedFormat":1},{"version":"e00243d23c495ca2170c9b9e20b5c92331239100b51efdc2b4401cdad859bbef","impliedFormat":1},{"version":"41ea7fd137518560e0d2af581edadadd236b685b5e2f80f083127a28e01cf0ac","impliedFormat":1},{"version":"b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","impliedFormat":1},{"version":"6fa5d56af71f07dc276aae3f6f30807a9cccf758517fb39742af72e963553d80","impliedFormat":1},{"version":"819dddfec57391f8458929ca8e4377f030d42107ff6ec431e620b70b0695d530","impliedFormat":1},{"version":"701bdef1f4a13932f64c4ce89537f2c66301eb46daf30a16a436c991df568686","impliedFormat":1},{"version":"cdcc132f207d097d7d3aa75615ab9a2e71d6a478162dde8b67f88ea19f3e54de","impliedFormat":1},{"version":"ab68d2a3e3e8767c3fba8f80de099a1cfc18c0de79e42cb02ae66e22dfe14a66","impliedFormat":1},{"version":"d96cc6598148bf1a98fb2e8dcf01c63a4b3558bdaec6ef35e087fd0562eb40ec","impliedFormat":1},{"version":"ac5f598a09eed39b957ae3d909b88126f3faf605bd4589c19e9ae85d23ef71e3","impliedFormat":1},{"version":"92abba98a71c0244a6bcdd3ad4d2e04f1d0a8bcae57d2bb865bf53d1ac86e3d0","impliedFormat":1},{"version":"d2afa0d86bc6f2e72c1cf2ecb2372bf1b0f002493706a81f2b9a3ee4f944e219","impliedFormat":1},{"version":"73ac1db60813092e141959ce3a7338b9d595dc60f3cad17de199ced7dc3e7767","impliedFormat":99},{"version":"842f3c22a92ec4f21676227a93a71df3a01e6a47283d4c66963d78511c5378a8","impliedFormat":99},{"version":"23fb16af311f572d0e72aaefc3c16c4a016371800af101cda7f44d44c4b1b071","impliedFormat":99},{"version":"98a6b2a0d95ca6a05e77ad24220ef4f3624c22873ac836bd78aae45f396819b2","impliedFormat":99},{"version":"693d046dfd25de098195103f05b11a92c3b98a67aaaaf465763661ca99ac4858","impliedFormat":99},{"version":"4eb2548d412c794edbe7213ecf9c370cabc154e4086f6d65693be9ad23510902","impliedFormat":1},{"version":"2ec93713a80a03ce41146bbc61f801d29b89e07ef5e2d49c8a85770411a0a048","signature":"adedf0d497f6b6e5aae154ab04e2b452b0d58581c16050256f6a6ce323f90bb7","impliedFormat":99},{"version":"8cda15638ff145b970aadc48e4620864b935f1d0b633131f469bdc042b320c8a","signature":"8e5cc466d8615d9e2d894be4211aea26a85983517337ea88ca05360e99514534","impliedFormat":99},{"version":"d57f95334ee89d7f5488dca8c1b77587e33978fb149479437db07ce64fe791d9","signature":"d392cc0dd4537ce11aa95a905f11e87055d043d5575d45f62b3c746385d22b41","impliedFormat":99},{"version":"d18de35a6bf1ef2d67062d8c6c4cfc323649c843ed31e6c2c69dd554ab942862","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"b4f5590d81335be5ed0135394b85f53306cfe43f5e895adac18b5f8114cccad9","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"ed57c340fa75b7637b0e92ab95b2175b4fddf5afbb4ab8aebacf7d512a7aeda3","signature":"23665f11635d4d5ebd9408d48da720d61bdced5ad6b8f52ff8969377844dc505","impliedFormat":99},{"version":"7af1a2523421148dab01609313c75ae8a50c89f007a4181aa74389ff2c758470","signature":"8e5cc466d8615d9e2d894be4211aea26a85983517337ea88ca05360e99514534","impliedFormat":99},{"version":"e970badf9ea2460d632f70880a4c3527efa784916e06d95fe91fa3276233d2a7","signature":"23665f11635d4d5ebd9408d48da720d61bdced5ad6b8f52ff8969377844dc505","impliedFormat":99},{"version":"1df27d81dcedf5cece29f76976e908c854571cb3e7a40158b304053ba73972ce","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99},{"version":"0433b1d64c061d376ad3e4f8501ddf403d100764eb3f63b6729055843747c435","signature":"8e5cc466d8615d9e2d894be4211aea26a85983517337ea88ca05360e99514534","impliedFormat":99},{"version":"ab7f7ab6127ef0ce6c29b93dc2c30f4b4f635f0c707e9687db4374ee0d639c7a","signature":"8e5cc466d8615d9e2d894be4211aea26a85983517337ea88ca05360e99514534","impliedFormat":99},{"version":"9f28b1d2c5799662254a3e18b38c7c50e0f7b1fc5813a2aab2e22844636c3e48","signature":"8e5cc466d8615d9e2d894be4211aea26a85983517337ea88ca05360e99514534","impliedFormat":99},{"version":"5a1e103c4dca075806dab34620f49b22c99558448432b53f828575867e016097","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":99}],"root":[[173,176],[211,213],[254,260],[282,284],[309,321]],"options":{"allowJs":true,"allowSyntheticDefaultImports":false,"composite":true,"declaration":true,"declarationDir":"./types","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":true,"importHelpers":true,"module":100,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./js","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":9,"tsBuildInfoFile":"./tsconfig.tsbuildinfo"},"fileIdsList":[[142,144,149,291,292,295],[142],[142,299,300],[142,291,292,294],[142,291,292,296,301],[142,169],[142,149,170,286,287,288,290],[142,265,266],[142,266,267,268,269],[142,149,266,268],[142,265,267],[113,142,149],[113,142,149,261],[142,261,262,263,264],[142,261,263],[142,262],[130,142,149,270,271,272,275],[142,271,272,274],[112,142,149,270,271,272,273],[142,272],[142,270,271],[142,149,270],[142,287],[142,289],[64,142],[99,142],[100,105,133,142],[101,112,113,120,130,141,142],[101,102,112,120,142],[103,142],[104,105,113,121,142],[105,130,138,142],[106,108,112,120,142],[107,142],[108,109,142],[112,142],[110,112,142],[99,112,142],[112,113,114,130,141,142],[112,113,114,127,130,133,142],[97,142,146],[108,112,115,120,130,141,142],[112,113,115,116,120,130,138,141,142],[115,117,130,138,141,142],[64,65,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148],[112,118,142],[119,141,142,146],[108,112,120,130,142],[121,142],[122,142],[99,123,142],[124,140,142,146],[125,142],[126,142],[112,127,128,142],[127,129,142,144],[100,112,130,131,132,133,142],[100,130,132,142],[130,131,142],[133,142],[134,142],[99,130,142],[112,136,137,142],[136,137,142],[105,120,130,138,142],[139,142],[120,140,142],[100,115,126,141,142],[105,142],[130,142,143],[119,142,144],[142,145],[100,105,112,114,123,130,141,142,144,146],[130,142,147],[142,214,253],[142,214,238,253],[142,253],[142,214],[142,214,239,253],[142,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252],[142,239,253],[142,285],[142,297,298],[142,149,277,278,279],[142,277,278],[142,277],[142,149,276],[142,280],[142,171],[142,172,288],[142,291,293],[142,171,291,299],[142,170],[142,208],[142,208,209],[142,183],[142,184],[142,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206],[142,177,183],[142,178,180,181,183],[142,182,207],[142,179,183],[142,183,199],[142,178,183],[142,179],[62,142],[74,78,141,142],[74,130,141,142],[69,142],[71,74,138,141,142],[120,138,142],[142,149],[69,142,149],[71,74,120,141,142],[66,67,70,73,100,112,130,141,142],[66,72,142],[70,74,100,133,141,142,149],[100,142,149],[90,100,142,149],[68,69,142,149],[74,142],[68,69,70,71,72,73,74,75,76,78,79,80,81,82,83,84,85,86,87,88,89,91,92,93,94,95,96,142],[74,81,82,142],[72,74,82,83,142],[73,142],[66,69,74,142],[74,78,82,83,142],[78,142],[72,74,77,141,142],[66,71,72,74,78,81,142],[100,130,142],[69,74,90,100,142,146,149],[142,166],[142,163,165,167],[142,164],[142,164,165,166,167],[142,163,168],[142,163,168,304],[142,303,304,305,306],[142,168],[63,142,168,173,176,302,309],[63,113,122,142,163,212,302,307,308,309,311],[63,113,122,142,163,213,302,307,308,309,311],[63,122,142,163,254,302,307,308,311],[63,142,168,255,302,309],[63,122,142,163,256,302,307,308,311],[63,113,122,142,163,282,302,307,308,309,311],[63,142,168,258,302,309],[63,142,168,257,302,309],[63,142,168,259,302,309],[63,113,122,142,163,283,302,307,308,309,311],[63,122,142,163,168,302,307,308],[63,142,173,174],[63,122,142,163,168,174,207,211],[63,142,168,172,174,207],[63,142,163,168,174,207,253],[63,122,142,168,172,174,207],[63,142,174,175,176,212,213,254,255,256,257,258,259,260,282,283],[63,122,142,163,168,174,207,210,253],[63,122,142,174,207,281],[63,142,163,172,174,207],[63,142,163,168,172,174,207],[63,122,142,163,168,172,174,207],[63,142,168,172],[63,142,168],[63,113,122,142],[63,122,142,163,210],[113,142,149,150],[142,150],[142,150,151,152,153,154,155,156,157,158,159,160,161,162],[163,168,302],[174],[174,207],[168,174],[174,175,176,212,213,254,255,256,257,258,259,260,282,283],[168],[163]],"referencedMap":[[296,1],[297,2],[301,3],[295,4],[302,5],[170,6],[291,7],[267,8],[270,9],[269,10],[268,11],[266,12],[262,13],[265,14],[264,15],[263,16],[261,12],[276,17],[275,18],[274,19],[273,20],[272,21],[271,22],[169,2],[287,2],[289,23],[290,24],[64,25],[65,25],[99,26],[100,27],[101,28],[102,29],[103,30],[104,31],[105,32],[106,33],[107,34],[108,35],[109,35],[111,36],[110,37],[112,38],[113,39],[114,40],[98,41],[148,2],[115,42],[116,43],[117,44],[149,45],[118,46],[119,47],[120,48],[121,49],[122,50],[123,51],[124,52],[125,53],[126,54],[127,55],[128,55],[129,56],[130,57],[132,58],[131,59],[133,60],[134,61],[135,62],[136,63],[137,64],[138,65],[139,66],[140,67],[141,68],[142,69],[143,70],[144,71],[145,72],[146,73],[147,74],[238,75],[239,76],[214,77],[217,77],[236,75],[237,75],[227,75],[226,78],[224,75],[219,75],[232,75],[230,75],[234,75],[218,75],[231,75],[235,75],[220,75],[221,75],[233,75],[215,75],[222,75],[223,75],[225,75],[229,75],[240,79],[228,75],[216,75],[253,80],[252,2],[247,79],[249,81],[248,79],[241,79],[242,79],[244,79],[246,79],[250,81],[251,81],[243,81],[245,81],[293,2],[308,2],[285,2],[286,82],[288,2],[299,83],[280,84],[279,85],[278,86],[277,87],[281,88],[172,89],[298,90],[294,91],[292,2],[300,92],[171,93],[209,94],[208,2],[210,95],[186,96],[185,96],[206,96],[188,97],[207,98],[187,99],[182,100],[184,2],[183,101],[197,96],[194,96],[192,96],[205,96],[180,102],[201,103],[203,96],[181,96],[202,96],[204,96],[178,99],[189,96],[193,96],[199,96],[200,103],[195,96],[196,96],[191,104],[198,96],[177,96],[179,96],[190,105],[63,106],[62,2],[60,2],[61,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[21,2],[4,2],[22,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[37,2],[34,2],[35,2],[36,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[50,2],[9,2],[51,2],[52,2],[53,2],[56,2],[54,2],[55,2],[57,2],[58,2],[10,2],[1,2],[59,2],[81,107],[88,108],[80,107],[95,109],[72,110],[71,111],[94,112],[89,113],[92,114],[74,115],[73,116],[69,117],[68,118],[91,119],[70,120],[75,121],[76,2],[79,121],[66,2],[97,122],[96,121],[83,123],[84,124],[86,125],[82,126],[85,127],[90,112],[77,128],[78,129],[87,130],[67,131],[93,132],[167,133],[166,134],[164,133],[165,135],[168,136],[304,137],[305,138],[303,137],[307,139],[306,140],[310,141],[312,142],[313,143],[314,144],[315,145],[316,146],[317,147],[318,148],[319,149],[320,150],[321,151],[309,152],[175,153],[176,153],[212,154],[213,155],[254,156],[255,157],[284,158],[256,159],[282,160],[258,161],[257,155],[259,161],[283,162],[260,163],[173,164],[174,165],[311,166],[211,167],[160,2],[157,168],[150,112],[153,2],[156,168],[162,2],[161,2],[154,169],[155,169],[151,169],[163,170],[158,2],[152,169],[159,2]],"exportedModulesMap":[[296,1],[297,2],[301,3],[295,4],[302,5],[170,6],[291,7],[267,8],[270,9],[269,10],[268,11],[266,12],[262,13],[265,14],[264,15],[263,16],[261,12],[276,17],[275,18],[274,19],[273,20],[272,21],[271,22],[169,2],[287,2],[289,23],[290,24],[64,25],[65,25],[99,26],[100,27],[101,28],[102,29],[103,30],[104,31],[105,32],[106,33],[107,34],[108,35],[109,35],[111,36],[110,37],[112,38],[113,39],[114,40],[98,41],[148,2],[115,42],[116,43],[117,44],[149,45],[118,46],[119,47],[120,48],[121,49],[122,50],[123,51],[124,52],[125,53],[126,54],[127,55],[128,55],[129,56],[130,57],[132,58],[131,59],[133,60],[134,61],[135,62],[136,63],[137,64],[138,65],[139,66],[140,67],[141,68],[142,69],[143,70],[144,71],[145,72],[146,73],[147,74],[238,75],[239,76],[214,77],[217,77],[236,75],[237,75],[227,75],[226,78],[224,75],[219,75],[232,75],[230,75],[234,75],[218,75],[231,75],[235,75],[220,75],[221,75],[233,75],[215,75],[222,75],[223,75],[225,75],[229,75],[240,79],[228,75],[216,75],[253,80],[252,2],[247,79],[249,81],[248,79],[241,79],[242,79],[244,79],[246,79],[250,81],[251,81],[243,81],[245,81],[293,2],[308,2],[285,2],[286,82],[288,2],[299,83],[280,84],[279,85],[278,86],[277,87],[281,88],[172,89],[298,90],[294,91],[292,2],[300,92],[171,93],[209,94],[208,2],[210,95],[186,96],[185,96],[206,96],[188,97],[207,98],[187,99],[182,100],[184,2],[183,101],[197,96],[194,96],[192,96],[205,96],[180,102],[201,103],[203,96],[181,96],[202,96],[204,96],[178,99],[189,96],[193,96],[199,96],[200,103],[195,96],[196,96],[191,104],[198,96],[177,96],[179,96],[190,105],[63,106],[62,2],[60,2],[61,2],[12,2],[11,2],[2,2],[13,2],[14,2],[15,2],[16,2],[17,2],[18,2],[19,2],[20,2],[3,2],[21,2],[4,2],[22,2],[26,2],[23,2],[24,2],[25,2],[27,2],[28,2],[29,2],[5,2],[30,2],[31,2],[32,2],[33,2],[6,2],[37,2],[34,2],[35,2],[36,2],[38,2],[7,2],[39,2],[44,2],[45,2],[40,2],[41,2],[42,2],[43,2],[8,2],[49,2],[46,2],[47,2],[48,2],[50,2],[9,2],[51,2],[52,2],[53,2],[56,2],[54,2],[55,2],[57,2],[58,2],[10,2],[1,2],[59,2],[81,107],[88,108],[80,107],[95,109],[72,110],[71,111],[94,112],[89,113],[92,114],[74,115],[73,116],[69,117],[68,118],[91,119],[70,120],[75,121],[76,2],[79,121],[66,2],[97,122],[96,121],[83,123],[84,124],[86,125],[82,126],[85,127],[90,112],[77,128],[78,129],[87,130],[67,131],[93,132],[167,133],[166,134],[164,133],[165,135],[168,136],[304,137],[305,138],[303,137],[307,139],[306,140],[309,171],[175,172],[176,172],[212,173],[213,173],[254,173],[255,174],[284,175],[256,173],[282,173],[258,173],[257,172],[259,173],[283,172],[260,173],[173,176],[174,176],[211,177],[160,2],[157,168],[150,112],[153,2],[156,168],[162,2],[161,2],[154,169],[155,169],[151,169],[163,170],[158,2],[152,169],[159,2]],"semanticDiagnosticsPerFile":[296,297,301,295,302,170,291,267,270,269,268,266,262,265,264,263,261,276,275,274,273,272,271,169,287,289,290,64,65,99,100,101,102,103,104,105,106,107,108,109,111,110,112,113,114,98,148,115,116,117,149,118,119,120,121,122,123,124,125,126,127,128,129,130,132,131,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,238,239,214,217,236,237,227,226,224,219,232,230,234,218,231,235,220,221,233,215,222,223,225,229,240,228,216,253,252,247,249,248,241,242,244,246,250,251,243,245,293,308,285,286,288,299,280,279,278,277,281,172,298,294,292,300,171,209,208,210,186,185,206,188,207,187,182,184,183,197,194,192,205,180,201,203,181,202,204,178,189,193,199,200,195,196,191,198,177,179,190,63,62,60,61,12,11,2,13,14,15,16,17,18,19,20,3,21,4,22,26,23,24,25,27,28,29,5,30,31,32,33,6,37,34,35,36,38,7,39,44,45,40,41,42,43,8,49,46,47,48,50,9,51,52,53,56,54,55,57,58,10,1,59,81,88,80,95,72,71,94,89,92,74,73,69,68,91,70,75,76,79,66,97,96,83,84,86,82,85,90,77,78,87,67,93,167,166,164,165,168,304,305,303,307,306,310,312,313,314,315,316,317,318,319,320,321,309,175,176,212,213,254,255,284,256,282,258,257,259,283,260,173,174,311,211,160,157,150,153,156,162,161,154,155,151,163,158,152,159],"latestChangedDtsFile":"./types/__tests__/requireDependency.spec.d.ts"},"version":"5.4.5"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alphabeticalScripts.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/alphabeticalScripts.spec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bannedDependencies.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/bannedDependencies.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consistentDependencies.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/consistentDependencies.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consistentVersions.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/consistentVersions.spec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileContents.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/fileContents.spec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mustSatisfyPeerDependencies.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/mustSatisfyPeerDependencies.spec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nestedWorkspaces.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/nestedWorkspaces.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageEntry.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/packageEntry.spec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packageOrder.spec.d.ts","sourceRoot":"","sources":["../../../src/__tests__/packageOrder.spec.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|