@teambit/dependencies 1.0.689 → 1.0.691
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/dependencies-loader/auto-detect-deps.ts +1 -2
- package/dependencies-loader/dependencies-data.ts +1 -0
- package/dist/dependencies-loader/auto-detect-deps.js +1 -2
- package/dist/dependencies-loader/auto-detect-deps.js.map +1 -1
- package/dist/dependencies-loader/dependencies-data.js +1 -0
- package/dist/dependencies-loader/dependencies-data.js.map +1 -1
- package/dist/files-dependency-builder/build-tree.spec.js +1 -1
- package/dist/files-dependency-builder/build-tree.spec.js.map +1 -1
- package/files-dependency-builder/build-tree.spec.ts +1 -1
- package/package.json +21 -21
- /package/dist/{preview-1754508671685.js → preview-1754572257287.js} +0 -0
@@ -226,7 +226,6 @@ export class AutoDetectDeps {
|
|
226
226
|
destination: string | null | undefined;
|
227
227
|
} {
|
228
228
|
let depFileRelative: PathLinux = depFile; // dependency file path relative to consumer root
|
229
|
-
let destination: string | null | undefined;
|
230
229
|
const rootDir = this.componentMap.rootDir;
|
231
230
|
// The depFileRelative is relative to rootDir, change it to be relative to current consumer.
|
232
231
|
// We can't use path.resolve(rootDir, fileDep) because this might not work when running
|
@@ -237,7 +236,7 @@ export class AutoDetectDeps {
|
|
237
236
|
|
238
237
|
const componentId = this.consumer.bitMap.getComponentIdByPath(depFileRelative);
|
239
238
|
|
240
|
-
return { componentId, depFileRelative, destination };
|
239
|
+
return { componentId, depFileRelative, destination: undefined };
|
241
240
|
}
|
242
241
|
|
243
242
|
private processDepFiles(originFile: PathLinuxRelative, fileType: FileType, nested = false) {
|
@@ -267,7 +267,6 @@ class AutoDetectDeps {
|
|
267
267
|
*/
|
268
268
|
getComponentIdByDepFile(depFile) {
|
269
269
|
let depFileRelative = depFile; // dependency file path relative to consumer root
|
270
|
-
let destination;
|
271
270
|
const rootDir = this.componentMap.rootDir;
|
272
271
|
// The depFileRelative is relative to rootDir, change it to be relative to current consumer.
|
273
272
|
// We can't use path.resolve(rootDir, fileDep) because this might not work when running
|
@@ -279,7 +278,7 @@ class AutoDetectDeps {
|
|
279
278
|
return {
|
280
279
|
componentId,
|
281
280
|
depFileRelative,
|
282
|
-
destination
|
281
|
+
destination: undefined
|
283
282
|
};
|
284
283
|
}
|
285
284
|
processDepFiles(originFile, fileType, nested = false) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["path","data","_interopRequireWildcard","require","_fsExtra","_interopRequireDefault","_semver","_componentVersion","_lodash","_componentIssues","_legacy","_legacy2","_legacy3","_toolboxFs","_legacy4","_componentPackageVersion","_filesDependencyBuilder","_packageToDefinetlyTyped","_dependenciesData","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","AutoDetectDeps","constructor","component","workspace","devFiles","depsResolver","aspectLoader","componentId","componentMap","componentFromModel","consumerPath","consumer","getPath","allDependencies","dependencies","devDependencies","peerDependencies","allPackagesDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","processedFiles","issues","debugDependenciesData","components","setTree","tree","getDependenciesData","cacheResolvedDependencies","cacheProjectAst","componentDir","join","rootDir","allFiles","getAllFilesPaths","envDetectors","getEnvDetectors","dependenciesTree","getDependencyTree","workspacePath","filePaths","visited","length","populateDependencies","envExtendsDeps","getDevFilesForConsumerComp","dependenciesData","DependenciesData","coreAspects","calcComponentEnvDepDetectors","extensions","files","testsFiles","forEach","file","fileType","isTestFile","includes","throwForNonExistFile","processCoreAspects","processMissing","processErrors","processPackages","processComponents","processDepFiles","processUnidentifiedPackages","Error","getComponentIdByResolvedPackageData","bit","getComponentIdByDepFile","depFile","depFileRelative","destination","rootDirFullPath","fullDepFile","resolve","pathNormalizeToLinux","relative","bitMap","getComponentIdByPath","originFile","nested","push","allDepsFiles","isEmpty","isDepFileUntracked","processOneDepFile","importSpecifiers","dummyFileType","depFileObject","importSource","_pushToUntrackDependenciesIssues","isEqual","ignoreVersion","endsWith","getOrCreate","IssuesClasses","ImportFromDirectory","depComponentMap","getComponentIfExist","depRootDir","undefined","destinationRelativePath","startsWith","pathRelativeLinux","sourceRelativePath","depsPaths","importSpecifier","mainFile","exported","currentComponentsDeps","Dependency","_pushToRelativeComponentsAuthoredIssues","existingDependency","getExistingDependency","existingDepRelativePaths","getExistingDepRelativePaths","relativePaths","nonExistingImportSpecifiers","getDiffSpecifiers","depDebug","id","pushToDependenciesArray","compDep","SelfReference","name","dependencyPackageJsonPath","packageJsonPath","dependentPackageJsonPath","componentIdResolvedFrom","packageName","getVersionFromPkgJson","version","versionFromDependencyPkgJson","getValidComponentVersion","concreteVersion","versionResolvedFrom","versionFromDependentPkgJson","versionUsedByDependent","changeVersion","existingId","addImportNonMainIssueIfNeeded","isPeer","packageJsonContent","peer","peerVersionRange","defaultPeerRange","semver","valid","_pushToDependenciesIfNotExist","isPkgInWorkspacePolicies","pkgName","getWorkspacePolicyManifest","filePath","dependencyPkgData","depMain","main","normalizedDepMain","replace","depFullPath","fullPath","extDisallowNonMain","extname","pkgRootDir","dirname","fs","existsSync","DEFAULT_DIST_DIRNAME","nonMainFileSplit","split","nonMainFileShort","ImportNonMainFiles","packages","modelDeps","getAllPackageDependencies","keys","packageNames","concat","missing","_addTypesPackagesForTypeScript","assign","processMissingFiles","missingFiles","filter","hasExtension","Boolean","rootDirAbs","toAbsolutePath","filePathAbs","relativeToCompDir","relativeToCompDirWithoutExt","removeFileExtension","compFilesWithoutExt","map","existWithDifferentExt","some","_pushToMissingDependenciesOnFs","processMissingPackages","missingPackages","_pushToMissingPackagesDependenciesIssues","error","logger","errorAndAddBreadCrumb","code","location","lineNumber","column","ParseErrors","message","ResolveErrors","getCoreAspectsPackagesAndIds","coreAspectIds","values","toStringWithoutVersion","coreAspectsPackages","unidentifiedPackages","usedCoreAspects","findMatchingCoreAspect","find","coreAspectName","unidentifiedPackagesFiltered","matchingCoreAspectPackageName","bitsFiltered","packageInfo","uniq","dependency","opts","existingDevDependency","d","isEqualWithoutVersion","relativePath","paths","originSpecifiers","targetSpecifiers","cmp","specifier1","specifier2","differenceWith","isTypeScript","getExt","depsHost","addFromConfig","DEPENDENCIES_FIELDS","depField","typesPackage","packageToDefinetlyTyped","addFromModel","typedPackageFromModel","added","findExisting","result","getIssue","UntrackedDependencies","currentUntracked","found","untrackedFiles","existing","newUntrackedFile","untrackIssue","untrackedCurrentFile","RelativeComponentsAuthored","MissingDependenciesOnFs","MissingPackagesDependenciesOnFs","foundFile","isDevFile","exports","SNAP_VERSION_PREFIX","versionWithoutSnapPrefix","isSnap","validRange","coerced","coerce","range"],"sources":["auto-detect-deps.ts"],"sourcesContent":["import * as path from 'path';\nimport fs from 'fs-extra';\nimport semver from 'semver';\nimport { isSnap } from '@teambit/component-version';\nimport type { ComponentID } from '@teambit/component-id';\nimport { uniq, isEmpty, forEach, differenceWith } from 'lodash';\nimport type { IssuesList } from '@teambit/component-issues';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport type { RelativePath, ImportSpecifier, ConsumerComponent as Component } from '@teambit/legacy.consumer-component';\nimport { Dependency } from '@teambit/legacy.consumer-component';\nimport { DEFAULT_DIST_DIRNAME, DEPENDENCIES_FIELDS } from '@teambit/legacy.constants';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport { logger } from '@teambit/legacy.logger';\nimport { getExt } from '@teambit/toolbox.fs.extension-getter';\nimport type { PathLinux, PathLinuxRelative, PathOsBased } from '@teambit/legacy.utils';\nimport { pathNormalizeToLinux, pathRelativeLinux, removeFileExtension } from '@teambit/legacy.utils';\nimport type { ResolvedPackageData } from '../resolve-pkg-data';\nimport type { ComponentMap } from '@teambit/legacy.bit-map';\nimport { SNAP_VERSION_PREFIX } from '@teambit/component-package-version';\nimport type { DependencyResolverMain, DependencyDetector } from '@teambit/dependency-resolver';\nimport { getDependencyTree } from '../files-dependency-builder';\nimport type { FileObject, DependenciesTree } from '../files-dependency-builder/types/dependency-tree-type';\nimport type { DevFilesMain } from '@teambit/dev-files';\nimport type { Workspace } from '@teambit/workspace';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { packageToDefinetlyTyped } from './package-to-definetly-typed';\nimport { DependenciesData } from './dependencies-data';\nimport type { AllDependencies, AllPackagesDependencies } from './apply-overrides';\n\nexport type FileType = {\n isTestFile: boolean;\n};\n\nexport type DebugDependencies = {\n components: DebugComponentsDependency[];\n unidentifiedPackages?: string[];\n};\n\nexport type DebugComponentsDependency = {\n id: ComponentID;\n importSource?: string;\n dependencyPackageJsonPath?: string;\n dependentPackageJsonPath?: string;\n // can be resolved here or can be any one of the strategies in dependencies-version-resolver\n versionResolvedFrom?: 'DependencyPkgJson' | 'DependentPkgJson' | 'BitMap' | 'Model' | 'MergeConfig' | string;\n version?: string;\n componentIdResolvedFrom?: 'DependencyPkgJson' | 'DependencyPath';\n packageName?: string;\n};\n\ntype PushToDepsArrayOpts = {\n fileType: FileType;\n depDebug: DebugComponentsDependency;\n isPeer?: boolean;\n};\n\nexport class AutoDetectDeps {\n componentId: ComponentID;\n componentMap: ComponentMap;\n componentFromModel: Component;\n consumerPath: PathOsBased;\n tree: DependenciesTree;\n allDependencies: AllDependencies;\n allPackagesDependencies: AllPackagesDependencies;\n issues: IssuesList;\n coreAspects: string[] = [];\n processedFiles: string[];\n debugDependenciesData: DebugDependencies;\n autoDetectConfigMerge: Record<string, any>;\n constructor(\n private component: Component,\n private workspace: Workspace,\n private devFiles: DevFilesMain,\n private depsResolver: DependencyResolverMain,\n private aspectLoader: AspectLoaderMain\n ) {\n this.componentId = component.componentId;\n // the consumerComponent is coming from the workspace, so it must have the componentMap prop\n this.componentMap = this.component.componentMap as ComponentMap;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this.componentFromModel = this.component.componentFromModel;\n this.consumerPath = this.consumer.getPath();\n this.allDependencies = {\n dependencies: [],\n devDependencies: [],\n peerDependencies: [],\n };\n this.allPackagesDependencies = {\n packageDependencies: {},\n devPackageDependencies: {},\n peerPackageDependencies: {},\n };\n this.processedFiles = [];\n this.issues = component.issues;\n this.debugDependenciesData = { components: [] };\n }\n\n get consumer(): Consumer {\n return this.workspace.consumer;\n }\n\n private setTree(tree: DependenciesTree) {\n this.tree = tree;\n // console.log(JSON.stringify(tree, null, 4)); // uncomment to easily watch the tree received from bit-javascript\n }\n\n /**\n * Resolve components and packages dependencies for a component.\n * This method should NOT have any side-effect on the component. the DependenciesLoader class is\n * responsible for saving this data on the component object.\n *\n * The process is as follows:\n * 1) Use the language driver to parse the component files and find for each file its dependencies.\n * 2) The results we get from the driver per file tells us what are the files and packages that depend on our file.\n * and also whether there are missing packages and files.\n * 3) Using the information from the driver, we go over each one of the dependencies files and find its counterpart\n * component. The way how we find it, is by using the bit.map file which has a mapping between the component name and\n * the file paths.\n * 4) If we find a component to the file dependency, we add it to component.dependencies. Otherwise, it's added to\n * component.issues.untrackedDependencies\n * 5) Similarly, when we find the packages dependencies, they are added to component.packageDependencies. Otherwise,\n * they're added to component.issues.missingPackagesDependenciesOnFs\n * 6) In case the driver found a file dependency that is not on the file-system, we add that file to\n * component.issues.missingDependenciesOnFs\n */\n async getDependenciesData(\n cacheResolvedDependencies: Record<string, any>,\n cacheProjectAst: Record<string, any> | undefined\n ): Promise<{ dependenciesData: DependenciesData; debugDependenciesData: DebugDependencies }> {\n const componentDir = path.join(this.consumerPath, this.componentMap.rootDir);\n const allFiles = this.componentMap.getAllFilesPaths();\n const envDetectors = await this.getEnvDetectors();\n // find the dependencies (internal files and packages) through automatic dependency resolution\n const dependenciesTree = await getDependencyTree({\n componentDir,\n workspacePath: this.consumerPath,\n filePaths: allFiles,\n visited: cacheResolvedDependencies,\n cacheProjectAst,\n envDetectors,\n });\n // we have the files dependencies, these files should be components that are registered in bit.map. Otherwise,\n // they are referred as \"untracked components\" and the user should add them later on in order to tag\n this.setTree(dependenciesTree.tree);\n if (dependenciesTree.tree['env.jsonc']?.components.length > 0) {\n await this.populateDependencies(['env.jsonc'], []);\n }\n const envExtendsDeps = this.allDependencies.dependencies.length\n ? this.allDependencies.dependencies\n : this.component.componentFromModel?.dependencies.dependencies;\n const devFiles = await this.devFiles.getDevFilesForConsumerComp(this.component, envExtendsDeps);\n await this.populateDependencies(allFiles, devFiles);\n return {\n dependenciesData: new DependenciesData(\n this.allDependencies,\n this.allPackagesDependencies,\n this.issues,\n this.coreAspects\n ),\n debugDependenciesData: this.debugDependenciesData,\n };\n }\n\n async getEnvDetectors(): Promise<DependencyDetector[] | null> {\n return this.depsResolver.calcComponentEnvDepDetectors(this.component.extensions);\n }\n\n /**\n * Given the tree of file dependencies from the driver, find the components of these files.\n * Each dependency file has a path, use bit.map to search for the component name by that path.\n * If the component is found, add it to \"this.allDependencies.dependencies\". Otherwise, add it to \"this.issues.untrackedDependencies\".\n *\n * For the found components, add their sourceRelativePath and destinationRelativePath, they are being used for\n * generating links upon import:\n * sourceRelativePath - location of the link file.\n * destinationRelativePath - destination written inside the link file.\n *\n * When a dependency is found in a regular (implementation) file, it goes to `dependencies`. If\n * it found on a test file, it goes to `devDependencies`.\n * Similarly, when a package is found in a regular file, it goes to `packageDependencies`. When\n * if found in a test file, it goes to `devPackageDependencies`.\n * An exception for the above is when a package is required in a regular or test file but is also\n * mentioned in the `package.json` file as a peerDependency, in that case, the package is added\n * to `peerPackageDependencies` and removed from other places. Unless this package is overridden\n * and marked as ignored in the consumer or component config file.\n */\n private async populateDependencies(files: string[], testsFiles: string[]) {\n files.forEach((file) => {\n const fileType: FileType = {\n isTestFile: testsFiles.includes(file),\n };\n this.throwForNonExistFile(file);\n this.processCoreAspects(file);\n this.processMissing(file, fileType);\n this.processErrors(file);\n this.processPackages(file, fileType);\n this.processComponents(file, fileType);\n this.processDepFiles(file, fileType);\n this.processUnidentifiedPackages(file);\n });\n }\n\n private throwForNonExistFile(file: string) {\n if (!this.tree[file]) {\n throw new Error(\n `DependencyResolver: a file \"${file}\" was not returned from the driver, its dependencies are unknown`\n );\n }\n }\n\n private getComponentIdByResolvedPackageData(bit: ResolvedPackageData): ComponentID {\n if (!bit.componentId) {\n throw new Error(`resolved Bit component must have componentId prop in the package.json file`);\n }\n return bit.componentId;\n }\n\n /**\n * this happens when using relative paths between components, which is allowed on Legacy only.\n * on Harmony, during the execution of this function, it recognizes the use of relative-paths, enter\n * it to the \"issues\", then, later, it shows a warning on bit-status and block tagging.\n */\n private getComponentIdByDepFile(depFile: PathLinux): {\n componentId: ComponentID | undefined;\n depFileRelative: PathLinux;\n destination: string | null | undefined;\n } {\n let depFileRelative: PathLinux = depFile; // dependency file path relative to consumer root\n let destination: string | null | undefined;\n const rootDir = this.componentMap.rootDir;\n // The depFileRelative is relative to rootDir, change it to be relative to current consumer.\n // We can't use path.resolve(rootDir, fileDep) because this might not work when running\n // bit commands not from root, because resolve take by default the process.cwd\n const rootDirFullPath = path.join(this.consumerPath, rootDir);\n const fullDepFile = path.resolve(rootDirFullPath, depFile);\n depFileRelative = pathNormalizeToLinux(path.relative(this.consumerPath, fullDepFile));\n\n const componentId = this.consumer.bitMap.getComponentIdByPath(depFileRelative);\n\n return { componentId, depFileRelative, destination };\n }\n\n private processDepFiles(originFile: PathLinuxRelative, fileType: FileType, nested = false) {\n // We don't just return because different files of the component might import different things from the depFile\n // See more info here: https://github.com/teambit/bit/issues/1796\n if (!this.processedFiles.includes(originFile)) {\n this.processedFiles.push(originFile);\n // We don't want to calculate nested files again after they calculated as direct files\n } else if (nested) {\n return;\n }\n const allDepsFiles = this.tree[originFile].files;\n if (!allDepsFiles || isEmpty(allDepsFiles)) return;\n allDepsFiles.forEach((depFile: FileObject) => {\n const isDepFileUntracked = this.processOneDepFile(\n originFile,\n depFile.file,\n depFile.importSpecifiers,\n fileType,\n depFile,\n nested\n );\n // Only continue recursively if the dep file is untracked\n // for tracked deps if they have untracked deps they will be shown under their own components\n if (isDepFileUntracked) {\n // Recursively check for untracked files (to show them all in bit status)\n // for nested files we don't really care about the file types since we won't do all the checking\n const dummyFileType: FileType = {\n isTestFile: false,\n };\n this.processDepFiles(depFile.file, dummyFileType, true);\n }\n });\n }\n\n // return true if the dep file is untracked\n private processOneDepFile(\n originFile: PathLinuxRelative,\n depFile: string,\n importSpecifiers: ImportSpecifier[] | undefined,\n fileType: FileType,\n depFileObject: FileObject,\n nested = false\n ): boolean {\n const { componentId, depFileRelative, destination } = this.getComponentIdByDepFile(depFile);\n const importSource: string = depFileObject.importSource as string;\n // the file dependency doesn't have any counterpart component. Add it to this.issues.untrackedDependencies\n if (!componentId) {\n this._pushToUntrackDependenciesIssues(originFile, depFileRelative, nested);\n return true;\n }\n // happens when in the same component one file requires another one. In this case, there is\n // noting to do regarding the dependencies\n if (componentId.isEqual(this.componentId, { ignoreVersion: true })) {\n if (importSource === '.' || importSource.endsWith('/..')) {\n (this.issues.getOrCreate(IssuesClasses.ImportFromDirectory).data[originFile] ||= []).push(importSource);\n }\n return false;\n }\n\n const depComponentMap = this.consumer.bitMap.getComponentIfExist(componentId);\n // found a dependency component. Add it to this.allDependencies.dependencies\n const depRootDir = depComponentMap ? depComponentMap.rootDir : undefined;\n const destinationRelativePath =\n destination ||\n (depRootDir && depFileRelative.startsWith(depRootDir)\n ? pathRelativeLinux(depRootDir, depFileRelative)\n : depFileRelative);\n\n // when there is no rootDir for the current dependency (it happens when it's AUTHORED), keep the original path\n const sourceRelativePath = depRootDir ? depFileRelative : depFile;\n\n const depsPaths: RelativePath = {\n sourceRelativePath,\n destinationRelativePath,\n };\n if (importSpecifiers) {\n importSpecifiers.forEach((importSpecifier) => {\n if (importSpecifier.mainFile) delete importSpecifier.mainFile.exported;\n });\n depsPaths.importSpecifiers = importSpecifiers;\n }\n const currentComponentsDeps = new Dependency(componentId, [depsPaths]);\n this._pushToRelativeComponentsAuthoredIssues(originFile, componentId, importSource, depsPaths);\n\n const allDependencies: Dependency[] = [\n ...this.allDependencies.dependencies,\n ...this.allDependencies.devDependencies,\n ];\n const existingDependency = this.getExistingDependency(allDependencies, componentId);\n if (existingDependency) {\n const existingDepRelativePaths = this.getExistingDepRelativePaths(existingDependency, depsPaths);\n if (!existingDepRelativePaths) {\n // it is another file of an already existing component. Just add the new path\n existingDependency.relativePaths.push(depsPaths);\n return false;\n }\n // The dep path already exists but maybe this dep-file has more importSpecifiers\n if (depsPaths.importSpecifiers) {\n // add them to the existing dep\n if (!existingDepRelativePaths.importSpecifiers) {\n existingDepRelativePaths.importSpecifiers = [...depsPaths.importSpecifiers];\n } else {\n // both have importSpecifiers\n const nonExistingImportSpecifiers = this.getDiffSpecifiers(\n existingDepRelativePaths.importSpecifiers,\n depsPaths.importSpecifiers\n );\n existingDepRelativePaths.importSpecifiers.push(...nonExistingImportSpecifiers);\n }\n }\n\n if (depsPaths.importSource && !existingDepRelativePaths.importSource) {\n existingDepRelativePaths.importSource = depsPaths.importSource;\n }\n } else {\n const depDebug: DebugComponentsDependency = {\n id: currentComponentsDeps.id,\n importSource,\n };\n this.pushToDependenciesArray(currentComponentsDeps, { fileType, depDebug });\n }\n return false;\n }\n\n /**\n * process require/import of Bit components where the require statement is not a relative path\n * but a module path, such as `require('@bit/bit.envs/compiler/babel');`\n */\n private processComponents(originFile: PathLinuxRelative, fileType: FileType) {\n const components = this.tree[originFile].components;\n if (!components || isEmpty(components)) return;\n components.forEach((compDep) => {\n let componentId = this.getComponentIdByResolvedPackageData(compDep);\n if (componentId.isEqual(this.componentId)) {\n this.issues.getOrCreate(IssuesClasses.SelfReference).data[originFile] = compDep.name;\n // the component is importing itself, so ignore it. although currently it doesn't cause any issues, (probably\n // because it filtered out later), it's better to remove it as soon as possible, for less-confusing debugging.\n return;\n }\n const depDebug: DebugComponentsDependency = {\n id: componentId,\n dependencyPackageJsonPath: compDep.packageJsonPath,\n dependentPackageJsonPath: compDep.dependentPackageJsonPath,\n componentIdResolvedFrom: 'DependencyPkgJson',\n packageName: compDep.name,\n };\n if (originFile === 'env.jsonc') {\n depDebug.importSource = 'env.jsonc';\n }\n const getVersionFromPkgJson = (): string | null => {\n const { version: versionFromDependencyPkgJson } = getValidComponentVersion(compDep.concreteVersion);\n if (versionFromDependencyPkgJson) {\n depDebug.versionResolvedFrom = 'DependencyPkgJson';\n return versionFromDependencyPkgJson;\n }\n const { version: versionFromDependentPkgJson } = getValidComponentVersion(compDep.versionUsedByDependent);\n if (versionFromDependentPkgJson) {\n depDebug.versionResolvedFrom = 'DependentPkgJson';\n return versionFromDependentPkgJson;\n }\n return null;\n };\n const version = getVersionFromPkgJson();\n if (version) {\n componentId = componentId.changeVersion(version);\n }\n const existingId = componentId;\n if (existingId.isEqual(this.componentId)) {\n // happens when one of the component files requires another using module path\n // no need to enter anything to the dependencies\n return;\n }\n this.addImportNonMainIssueIfNeeded(originFile, compDep);\n const isPeer = compDep.packageJsonContent?.bit?.peer;\n let peerVersionRange: string | undefined;\n if (isPeer) {\n const defaultPeerRange = compDep.packageJsonContent?.bit?.defaultPeerRange;\n if (!defaultPeerRange) {\n peerVersionRange = '*';\n } else if (['~', '^', '>='].includes(defaultPeerRange)) {\n if (semver.valid(compDep.concreteVersion)) {\n peerVersionRange = `${defaultPeerRange}${compDep.concreteVersion}`;\n } else {\n peerVersionRange = `${defaultPeerRange}0.0.0-${compDep.concreteVersion}`;\n }\n } else {\n peerVersionRange = defaultPeerRange;\n }\n }\n const currentComponentsDeps = new Dependency(existingId, [], compDep.name, peerVersionRange);\n this._pushToDependenciesIfNotExist(currentComponentsDeps, {\n fileType,\n depDebug,\n isPeer,\n });\n });\n }\n\n private isPkgInWorkspacePolicies(pkgName: string) {\n return this.depsResolver.getWorkspacePolicyManifest().dependencies?.[pkgName];\n }\n\n private addImportNonMainIssueIfNeeded(filePath: PathLinuxRelative, dependencyPkgData: ResolvedPackageData) {\n const depMain: PathLinuxRelative | undefined = dependencyPkgData.packageJsonContent?.main;\n if (!depMain) {\n return;\n }\n const normalizedDepMain = depMain.replace('./', '');\n const depFullPath = pathNormalizeToLinux(dependencyPkgData.fullPath);\n if (depFullPath.endsWith(normalizedDepMain)) {\n // it requires the main-file. all is good.\n return;\n }\n const extDisallowNonMain = ['.ts', '.tsx', '.js', '.jsx'];\n if (!extDisallowNonMain.includes(path.extname(depFullPath))) {\n // some files such as scss/json are needed to be imported as non-main\n return;\n }\n const pkgRootDir = dependencyPkgData.packageJsonPath && path.dirname(dependencyPkgData.packageJsonPath);\n if (pkgRootDir && !fs.existsSync(path.join(pkgRootDir, DEFAULT_DIST_DIRNAME))) {\n // the dependency wasn't compiled yet. the issue is probably because depMain points to the dist\n // and depFullPath is in the source.\n return;\n }\n const nonMainFileSplit = depFullPath.split(`node_modules/`);\n const nonMainFileShort = nonMainFileSplit[1] || nonMainFileSplit[0];\n if (nonMainFileShort.includes('eslintrc')) {\n // a temporary workaround for envs that don't expose eslintrc config in their index file.\n // this is needed for a future change of detecting require.resolve syntax\n return;\n }\n (this.issues.getOrCreate(IssuesClasses.ImportNonMainFiles).data[filePath] ||= []).push(nonMainFileShort);\n }\n\n private processPackages(originFile: PathLinuxRelative, fileType: FileType) {\n const packages = this.tree[originFile].packages;\n if (this.componentFromModel) {\n const modelDeps = this.componentFromModel.getAllPackageDependencies();\n // If a package is not in the policies, then we resolve the package from the model.\n for (const pkgName of Object.keys(packages)) {\n if (!this.isPkgInWorkspacePolicies(pkgName) && modelDeps[pkgName]) {\n packages[pkgName] = modelDeps[pkgName];\n }\n }\n }\n const packageNames = Object.keys(packages).concat(this.tree[originFile].missing?.packages ?? []);\n this._addTypesPackagesForTypeScript(packageNames, originFile);\n if (!packages || isEmpty(packages)) return;\n if (fileType.isTestFile) {\n Object.assign(this.allPackagesDependencies.devPackageDependencies, packages);\n } else {\n Object.assign(this.allPackagesDependencies.packageDependencies, packages);\n }\n }\n\n private processMissing(originFile: PathLinuxRelative, fileType: FileType) {\n const missing = this.tree[originFile].missing;\n if (!missing) return;\n const processMissingFiles = () => {\n if (isEmpty(missing.files)) return;\n const missingFiles = missing.files.filter((file) => {\n const hasExtension = Boolean(path.extname(file));\n if (!hasExtension) return true;\n // the missing file has extension, e.g. \"index.js\". It's possible that this file doesn't exist in the source\n // but will be available in the dists. so if found same filename without the extension, we assume it's fine.\n const rootDirAbs = this.consumer.toAbsolutePath(this.componentMap.rootDir);\n const filePathAbs = path.resolve(rootDirAbs, file);\n const relativeToCompDir = path.relative(rootDirAbs, filePathAbs);\n const relativeToCompDirWithoutExt = removeFileExtension(relativeToCompDir);\n const compFilesWithoutExt = this.componentMap.getAllFilesPaths().map((f) => removeFileExtension(f));\n const existWithDifferentExt = compFilesWithoutExt.some((f) => f === relativeToCompDirWithoutExt);\n return !existWithDifferentExt;\n });\n if (isEmpty(missingFiles)) return;\n this._pushToMissingDependenciesOnFs(originFile, missingFiles);\n };\n const processMissingPackages = () => {\n if (isEmpty(missing.packages)) return;\n const missingPackages = missing.packages;\n if (!isEmpty(missingPackages)) {\n this._pushToMissingPackagesDependenciesIssues(originFile, missingPackages, fileType);\n }\n };\n processMissingFiles();\n processMissingPackages();\n }\n\n private processErrors(originFile: PathLinuxRelative) {\n const error: any = this.tree[originFile].error;\n if (!error) return;\n logger.errorAndAddBreadCrumb(\n 'dependency-resolver.processErrors',\n `got an error from the driver while resolving dependencies from \"${originFile}\"`\n );\n logger.error('dependency-resolver.processErrors', error);\n if (error.code === 'PARSING_ERROR') {\n const location = error.lineNumber && error.column ? ` (line: ${error.lineNumber}, column: ${error.column})` : '';\n this.issues.getOrCreate(IssuesClasses.ParseErrors).data[originFile] = error.message + location;\n } else this.issues.getOrCreate(IssuesClasses.ResolveErrors).data[originFile] = error.message;\n }\n\n /**\n * when a user uses core-extensions these core-extensions should not be dependencies.\n * here, we filter them out from all places they could entered as dependencies.\n * an exception is when running this method on bit-core-extensions themselves (dogfooding), in\n * which case we recognizes that the current originFile is a core-extension and avoid filtering.\n */\n private processCoreAspects(originFile: PathLinuxRelative) {\n const coreAspects = this.aspectLoader.getCoreAspectsPackagesAndIds();\n\n // const scopes = coreAspects.map((id) => {\n // const id = id.split()\n // });\n\n const coreAspectIds = Object.values(coreAspects);\n if (coreAspectIds.includes(this.component.id.toStringWithoutVersion())) {\n return;\n }\n\n const coreAspectsPackages = Object.keys(coreAspects);\n\n const components = this.tree[originFile].components;\n const unidentifiedPackages = this.tree[originFile].unidentifiedPackages;\n const usedCoreAspects: string[] = [];\n\n const findMatchingCoreAspect = (packageName: string) => {\n return coreAspectsPackages.find((coreAspectName) => packageName === coreAspectName);\n };\n const unidentifiedPackagesFiltered = unidentifiedPackages?.filter((packageName) => {\n const matchingCoreAspectPackageName = findMatchingCoreAspect(packageName);\n if (matchingCoreAspectPackageName) {\n usedCoreAspects.push(coreAspects[matchingCoreAspectPackageName]);\n }\n return !matchingCoreAspectPackageName;\n });\n const bitsFiltered = components?.filter((packageInfo) => {\n const matchingCoreAspectPackageName = findMatchingCoreAspect(packageInfo.name);\n if (matchingCoreAspectPackageName) {\n usedCoreAspects.push(coreAspects[matchingCoreAspectPackageName]);\n }\n return !matchingCoreAspectPackageName;\n });\n\n this.tree[originFile].unidentifiedPackages = unidentifiedPackagesFiltered;\n this.tree[originFile].components = bitsFiltered;\n this.coreAspects.push(...uniq(usedCoreAspects));\n }\n\n /**\n * ** LEGACY ONLY **\n * This is related to a legacy feature \"custom-module-resolution\". the code was removed, only the debug is still there, just in case.\n *\n * ** OLD COMMENT **\n * currently the only unidentified packages being process are the ones coming from custom-modules-resolution.\n * assuming the author used custom-resolution, which enable using non-relative import syntax,\n * for example, requiring the file 'src/utils/is-string' from anywhere as require('utils/is-string');\n * now, when the component is imported, the driver recognizes 'utils/is-string' as a package,\n * because it's not relative.\n * the goal here is to use the 'package' the driver found and match it with one of the\n * dependencies from the model. In the example above, we might find in the model, a dependency\n * is-string with importSource of 'utils/is-string'.\n * Once a match is found, copy the relativePaths from the model.\n *\n * keep in mind that this custom-modules-resolution supported on legacy components only.\n * as such, no need to find the packageName to pass to _pushToDependenciesIfNotExist method.\n */\n private processUnidentifiedPackages(originFile: PathLinuxRelative) {\n const unidentifiedPackages = this.tree[originFile].unidentifiedPackages;\n if (!unidentifiedPackages || !unidentifiedPackages.length) return;\n this.debugDependenciesData.unidentifiedPackages = unidentifiedPackages;\n }\n\n private _pushToDependenciesIfNotExist(dependency: Dependency, opts: PushToDepsArrayOpts) {\n const existingDependency = this.getExistingDependency(this.allDependencies.dependencies, dependency.id);\n const existingDevDependency = this.getExistingDependency(this.allDependencies.devDependencies, dependency.id);\n // no need to enter dev dependency to devDependencies if it exists already in dependencies\n if (existingDependency || (existingDevDependency && opts.fileType.isTestFile)) {\n return;\n }\n // at this point, either, it doesn't exist at all and should be entered.\n // or it exists in devDependencies but now it comes from non-dev file, which should be entered\n // as non-dev.\n this.pushToDependenciesArray(dependency, opts);\n }\n\n private pushToDependenciesArray(currentComponentsDeps: Dependency, opts: PushToDepsArrayOpts) {\n if (opts.fileType.isTestFile) {\n this.allDependencies.devDependencies.push(currentComponentsDeps);\n } else if (opts.isPeer) {\n this.allDependencies.peerDependencies.push(currentComponentsDeps);\n } else {\n this.allDependencies.dependencies.push(currentComponentsDeps);\n }\n this.debugDependenciesData.components.push(opts.depDebug);\n }\n\n private getExistingDependency(dependencies: Dependency[], id: ComponentID): Dependency | null | undefined {\n return dependencies.find((d) => d.id.isEqualWithoutVersion(id));\n }\n\n private getExistingDepRelativePaths(dependency: Dependency, relativePath: RelativePath) {\n if (!dependency.relativePaths || isEmpty(dependency.relativePaths)) return null;\n return dependency.relativePaths.find(\n (paths) =>\n paths.sourceRelativePath === relativePath.sourceRelativePath &&\n paths.destinationRelativePath === relativePath.destinationRelativePath\n );\n }\n\n private getDiffSpecifiers(originSpecifiers: ImportSpecifier[], targetSpecifiers: ImportSpecifier[]) {\n const cmp = (specifier1, specifier2) => specifier1.mainFile.name === specifier2.mainFile.name;\n return differenceWith(targetSpecifiers, originSpecifiers, cmp);\n }\n\n /**\n * when requiring packages in typescript, sometimes there are the types packages with the same\n * name, which the user probably wants as well. for example, requiring `foo` package, will also\n * add `@types/foo` to the devDependencies if it has been found in the user `package.json` file.\n *\n * ideally this should be in bit-javascript. however, the decision where to put these `@types`\n * packages (dependencies/devDependencies) is done here according to the user `package.json`\n * and can't be done there because the `Tree` we get from bit-javascript doesn't have this\n * distinction.\n */\n private _addTypesPackagesForTypeScript(packageNames: string[], originFile: PathLinuxRelative): void {\n if (packageNames.length === 0) return;\n const isTypeScript = getExt(originFile) === 'ts' || getExt(originFile) === 'tsx';\n if (!isTypeScript) return;\n const depsHost = this.depsResolver.getWorkspacePolicyManifest();\n const addFromConfig = (packageName: string): boolean => {\n if (!depsHost) return false;\n return DEPENDENCIES_FIELDS.some((depField) => {\n if (!depsHost[depField]) return false;\n const typesPackage = packageToDefinetlyTyped(packageName);\n if (!depsHost[depField][typesPackage]) return false;\n Object.assign(this.allPackagesDependencies.devPackageDependencies, {\n [typesPackage]: depsHost[depField][typesPackage],\n });\n return true;\n });\n };\n const addFromModel = (packageName: string) => {\n if (!this.componentFromModel) return;\n const typesPackage = packageToDefinetlyTyped(packageName);\n const typedPackageFromModel = this.componentFromModel.devPackageDependencies[typesPackage];\n if (!typedPackageFromModel) return;\n Object.assign(this.allPackagesDependencies.devPackageDependencies, {\n [typesPackage]: typedPackageFromModel,\n });\n };\n\n packageNames.forEach((packageName) => {\n const added = addFromConfig(packageName);\n if (!added) addFromModel(packageName);\n });\n }\n\n private _pushToUntrackDependenciesIssues(originFile: PathLinuxRelative, depFileRelative, nested = false) {\n const findExisting = () => {\n let result;\n forEach(this.issues.getIssue(IssuesClasses.UntrackedDependencies)?.data || {}, (currentUntracked) => {\n const found = currentUntracked.untrackedFiles.find((file) => {\n return file.relativePath === depFileRelative;\n });\n if (found) {\n result = found;\n }\n });\n return result;\n };\n const existing = findExisting();\n const newUntrackedFile = { relativePath: depFileRelative, existing: false };\n // If it's already found mark them both as existing\n if (existing) {\n newUntrackedFile.existing = true;\n existing.existing = true;\n }\n const untrackIssue = this.issues.getOrCreate(IssuesClasses.UntrackedDependencies);\n const untrackedCurrentFile = untrackIssue?.data[originFile];\n if (untrackedCurrentFile) {\n untrackedCurrentFile.untrackedFiles.push(newUntrackedFile);\n } else {\n untrackIssue.data[originFile] = { nested, untrackedFiles: [newUntrackedFile] };\n }\n }\n private _pushToRelativeComponentsAuthoredIssues(\n originFile,\n componentId: ComponentID,\n importSource: string,\n relativePath: RelativePath\n ) {\n (this.issues.getOrCreate(IssuesClasses.RelativeComponentsAuthored).data[originFile] ||= []).push({\n importSource,\n componentId,\n relativePath,\n });\n }\n private _pushToMissingDependenciesOnFs(originFile: PathLinuxRelative, missingFiles: string[]) {\n (this.issues.getOrCreate(IssuesClasses.MissingDependenciesOnFs).data[originFile] ||= []).push(...missingFiles);\n }\n private _pushToMissingPackagesDependenciesIssues(\n originFile: PathLinuxRelative,\n missingPackages: string[],\n fileType: FileType\n ) {\n const data = this.issues.getOrCreate(IssuesClasses.MissingPackagesDependenciesOnFs).data;\n const foundFile = data.find((file) => file.filePath === originFile);\n if (foundFile) {\n foundFile.missingPackages = uniq([...missingPackages, ...foundFile.missingPackages]);\n } else {\n data.push({ filePath: originFile, missingPackages, isDevFile: fileType.isTestFile });\n }\n }\n}\n\n/**\n * this is not necessarily a valid semver version. in case of a snap, it returns the hash only, not a valid semver.\n * this is for the ComponentID.version.\n */\nexport function getValidComponentVersion(version?: string): { version?: string; range?: string } {\n if (!version) {\n return { version: undefined };\n }\n if (version.startsWith(SNAP_VERSION_PREFIX)) {\n const versionWithoutSnapPrefix = version.replace(SNAP_VERSION_PREFIX, '');\n if (isSnap(versionWithoutSnapPrefix)) {\n return { version: versionWithoutSnapPrefix };\n }\n }\n if (semver.valid(version)) {\n // this takes care of pre-releases as well, as they're considered valid semver.\n return { version };\n }\n if (semver.validRange(version)) {\n // if this is a range, e.g. ^1.0.0, return a valid version: 1.0.0.\n const coerced = semver.coerce(version);\n if (coerced) {\n return { version: coerced.version, range: version };\n }\n }\n if (isSnap(version)) {\n return { version };\n }\n // it's probably a relative path to the component\n return { version: undefined };\n}\n"],"mappings":";;;;;;;AAAA,SAAAA,KAAA;EAAA,MAAAC,IAAA,GAAAC,uBAAA,CAAAC,OAAA;EAAAH,IAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,SAAA;EAAA,MAAAH,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAAC,QAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAK,QAAA;EAAA,MAAAL,IAAA,GAAAI,sBAAA,CAAAF,OAAA;EAAAG,OAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,kBAAA;EAAA,MAAAN,IAAA,GAAAE,OAAA;EAAAI,iBAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,QAAA;EAAA,MAAAP,IAAA,GAAAE,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAQ,iBAAA;EAAA,MAAAR,IAAA,GAAAE,OAAA;EAAAM,gBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAS,QAAA;EAAA,MAAAT,IAAA,GAAAE,OAAA;EAAAO,OAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,SAAA;EAAA,MAAAV,IAAA,GAAAE,OAAA;EAAAQ,QAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAW,SAAA;EAAA,MAAAX,IAAA,GAAAE,OAAA;EAAAS,QAAA,YAAAA,CAAA;IAAA,OAAAX,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAY,WAAA;EAAA,MAAAZ,IAAA,GAAAE,OAAA;EAAAU,UAAA,YAAAA,CAAA;IAAA,OAAAZ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAa,SAAA;EAAA,MAAAb,IAAA,GAAAE,OAAA;EAAAW,QAAA,YAAAA,CAAA;IAAA,OAAAb,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGA,SAAAc,yBAAA;EAAA,MAAAd,IAAA,GAAAE,OAAA;EAAAY,wBAAA,YAAAA,CAAA;IAAA,OAAAd,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAe,wBAAA;EAAA,MAAAf,IAAA,GAAAE,OAAA;EAAAa,uBAAA,YAAAA,CAAA;IAAA,OAAAf,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAgB,yBAAA;EAAA,MAAAhB,IAAA,GAAAE,OAAA;EAAAc,wBAAA,YAAAA,CAAA;IAAA,OAAAhB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAiB,kBAAA;EAAA,MAAAjB,IAAA,GAAAE,OAAA;EAAAe,iBAAA,YAAAA,CAAA;IAAA,OAAAjB,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAuD,SAAAI,uBAAAc,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAjB,wBAAAiB,CAAA,EAAAG,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAArB,uBAAA,YAAAA,CAAAiB,CAAA,EAAAG,CAAA,SAAAA,CAAA,IAAAH,CAAA,IAAAA,CAAA,CAAAC,UAAA,SAAAD,CAAA,MAAAO,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAR,OAAA,EAAAF,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAS,CAAA,MAAAF,CAAA,GAAAJ,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAE,CAAA,CAAAI,GAAA,CAAAX,CAAA,UAAAO,CAAA,CAAAK,GAAA,CAAAZ,CAAA,GAAAO,CAAA,CAAAM,GAAA,CAAAb,CAAA,EAAAS,CAAA,gBAAAN,CAAA,IAAAH,CAAA,gBAAAG,CAAA,OAAAW,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAG,CAAA,OAAAK,CAAA,IAAAD,CAAA,GAAAS,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAG,CAAA,OAAAK,CAAA,CAAAI,GAAA,IAAAJ,CAAA,CAAAK,GAAA,IAAAN,CAAA,CAAAE,CAAA,EAAAN,CAAA,EAAAK,CAAA,IAAAC,CAAA,CAAAN,CAAA,IAAAH,CAAA,CAAAG,CAAA,WAAAM,CAAA,KAAAT,CAAA,EAAAG,CAAA;AAAA,SAAAgB,gBAAAnB,CAAA,EAAAK,CAAA,EAAAF,CAAA,YAAAE,CAAA,GAAAe,cAAA,CAAAf,CAAA,MAAAL,CAAA,GAAAgB,MAAA,CAAAC,cAAA,CAAAjB,CAAA,EAAAK,CAAA,IAAAgB,KAAA,EAAAlB,CAAA,EAAAmB,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAxB,CAAA,CAAAK,CAAA,IAAAF,CAAA,EAAAH,CAAA;AAAA,SAAAoB,eAAAjB,CAAA,QAAAK,CAAA,GAAAiB,YAAA,CAAAtB,CAAA,uCAAAK,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAiB,aAAAtB,CAAA,EAAAE,CAAA,2BAAAF,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAuB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAQ,CAAA,GAAAR,CAAA,CAAAe,IAAA,CAAAZ,CAAA,EAAAE,CAAA,uCAAAG,CAAA,SAAAA,CAAA,YAAAoB,SAAA,yEAAAvB,CAAA,GAAAwB,MAAA,GAAAC,MAAA,EAAA3B,CAAA;AA8BhD,MAAM4B,cAAc,CAAC;EAa1BC,WAAWA,CACDC,SAAoB,EACpBC,SAAoB,EACpBC,QAAsB,EACtBC,YAAoC,EACpCC,YAA8B,EACtC;IAAA,KALQJ,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,SAAoB,GAApBA,SAAoB;IAAA,KACpBC,QAAsB,GAAtBA,QAAsB;IAAA,KACtBC,YAAoC,GAApCA,YAAoC;IAAA,KACpCC,YAA8B,GAA9BA,YAA8B;IAAAlB,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,sBAThB,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAWxB,IAAI,CAACmB,WAAW,GAAGL,SAAS,CAACK,WAAW;IACxC;IACA,IAAI,CAACC,YAAY,GAAG,IAAI,CAACN,SAAS,CAACM,YAA4B;IAC/D;IACA,IAAI,CAACC,kBAAkB,GAAG,IAAI,CAACP,SAAS,CAACO,kBAAkB;IAC3D,IAAI,CAACC,YAAY,GAAG,IAAI,CAACC,QAAQ,CAACC,OAAO,CAAC,CAAC;IAC3C,IAAI,CAACC,eAAe,GAAG;MACrBC,YAAY,EAAE,EAAE;MAChBC,eAAe,EAAE,EAAE;MACnBC,gBAAgB,EAAE;IACpB,CAAC;IACD,IAAI,CAACC,uBAAuB,GAAG;MAC7BC,mBAAmB,EAAE,CAAC,CAAC;MACvBC,sBAAsB,EAAE,CAAC,CAAC;MAC1BC,uBAAuB,EAAE,CAAC;IAC5B,CAAC;IACD,IAAI,CAACC,cAAc,GAAG,EAAE;IACxB,IAAI,CAACC,MAAM,GAAGpB,SAAS,CAACoB,MAAM;IAC9B,IAAI,CAACC,qBAAqB,GAAG;MAAEC,UAAU,EAAE;IAAG,CAAC;EACjD;EAEA,IAAIb,QAAQA,CAAA,EAAa;IACvB,OAAO,IAAI,CAACR,SAAS,CAACQ,QAAQ;EAChC;EAEQc,OAAOA,CAACC,IAAsB,EAAE;IACtC,IAAI,CAACA,IAAI,GAAGA,IAAI;IAChB;EACF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAMC,mBAAmBA,CACvBC,yBAA8C,EAC9CC,eAAgD,EAC2C;IAC3F,MAAMC,YAAY,GAAGhF,IAAI,CAAD,CAAC,CAACiF,IAAI,CAAC,IAAI,CAACrB,YAAY,EAAE,IAAI,CAACF,YAAY,CAACwB,OAAO,CAAC;IAC5E,MAAMC,QAAQ,GAAG,IAAI,CAACzB,YAAY,CAAC0B,gBAAgB,CAAC,CAAC;IACrD,MAAMC,YAAY,GAAG,MAAM,IAAI,CAACC,eAAe,CAAC,CAAC;IACjD;IACA,MAAMC,gBAAgB,GAAG,MAAM,IAAAC,2CAAiB,EAAC;MAC/CR,YAAY;MACZS,aAAa,EAAE,IAAI,CAAC7B,YAAY;MAChC8B,SAAS,EAAEP,QAAQ;MACnBQ,OAAO,EAAEb,yBAAyB;MAClCC,eAAe;MACfM;IACF,CAAC,CAAC;IACF;IACA;IACA,IAAI,CAACV,OAAO,CAACY,gBAAgB,CAACX,IAAI,CAAC;IACnC,IAAIW,gBAAgB,CAACX,IAAI,CAAC,WAAW,CAAC,EAAEF,UAAU,CAACkB,MAAM,GAAG,CAAC,EAAE;MAC7D,MAAM,IAAI,CAACC,oBAAoB,CAAC,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC;IACpD;IACA,MAAMC,cAAc,GAAG,IAAI,CAAC/B,eAAe,CAACC,YAAY,CAAC4B,MAAM,GAC3D,IAAI,CAAC7B,eAAe,CAACC,YAAY,GACjC,IAAI,CAACZ,SAAS,CAACO,kBAAkB,EAAEK,YAAY,CAACA,YAAY;IAChE,MAAMV,QAAQ,GAAG,MAAM,IAAI,CAACA,QAAQ,CAACyC,0BAA0B,CAAC,IAAI,CAAC3C,SAAS,EAAE0C,cAAc,CAAC;IAC/F,MAAM,IAAI,CAACD,oBAAoB,CAACV,QAAQ,EAAE7B,QAAQ,CAAC;IACnD,OAAO;MACL0C,gBAAgB,EAAE,KAAIC,oCAAgB,EACpC,IAAI,CAAClC,eAAe,EACpB,IAAI,CAACI,uBAAuB,EAC5B,IAAI,CAACK,MAAM,EACX,IAAI,CAAC0B,WACP,CAAC;MACDzB,qBAAqB,EAAE,IAAI,CAACA;IAC9B,CAAC;EACH;EAEA,MAAMa,eAAeA,CAAA,EAAyC;IAC5D,OAAO,IAAI,CAAC/B,YAAY,CAAC4C,4BAA4B,CAAC,IAAI,CAAC/C,SAAS,CAACgD,UAAU,CAAC;EAClF;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,MAAcP,oBAAoBA,CAACQ,KAAe,EAAEC,UAAoB,EAAE;IACxED,KAAK,CAACE,OAAO,CAAEC,IAAI,IAAK;MACtB,MAAMC,QAAkB,GAAG;QACzBC,UAAU,EAAEJ,UAAU,CAACK,QAAQ,CAACH,IAAI;MACtC,CAAC;MACD,IAAI,CAACI,oBAAoB,CAACJ,IAAI,CAAC;MAC/B,IAAI,CAACK,kBAAkB,CAACL,IAAI,CAAC;MAC7B,IAAI,CAACM,cAAc,CAACN,IAAI,EAAEC,QAAQ,CAAC;MACnC,IAAI,CAACM,aAAa,CAACP,IAAI,CAAC;MACxB,IAAI,CAACQ,eAAe,CAACR,IAAI,EAAEC,QAAQ,CAAC;MACpC,IAAI,CAACQ,iBAAiB,CAACT,IAAI,EAAEC,QAAQ,CAAC;MACtC,IAAI,CAACS,eAAe,CAACV,IAAI,EAAEC,QAAQ,CAAC;MACpC,IAAI,CAACU,2BAA2B,CAACX,IAAI,CAAC;IACxC,CAAC,CAAC;EACJ;EAEQI,oBAAoBA,CAACJ,IAAY,EAAE;IACzC,IAAI,CAAC,IAAI,CAAC5B,IAAI,CAAC4B,IAAI,CAAC,EAAE;MACpB,MAAM,IAAIY,KAAK,CACb,+BAA+BZ,IAAI,kEACrC,CAAC;IACH;EACF;EAEQa,mCAAmCA,CAACC,GAAwB,EAAe;IACjF,IAAI,CAACA,GAAG,CAAC7D,WAAW,EAAE;MACpB,MAAM,IAAI2D,KAAK,CAAC,4EAA4E,CAAC;IAC/F;IACA,OAAOE,GAAG,CAAC7D,WAAW;EACxB;;EAEA;AACF;AACA;AACA;AACA;EACU8D,uBAAuBA,CAACC,OAAkB,EAIhD;IACA,IAAIC,eAA0B,GAAGD,OAAO,CAAC,CAAC;IAC1C,IAAIE,WAAsC;IAC1C,MAAMxC,OAAO,GAAG,IAAI,CAACxB,YAAY,CAACwB,OAAO;IACzC;IACA;IACA;IACA,MAAMyC,eAAe,GAAG3H,IAAI,CAAD,CAAC,CAACiF,IAAI,CAAC,IAAI,CAACrB,YAAY,EAAEsB,OAAO,CAAC;IAC7D,MAAM0C,WAAW,GAAG5H,IAAI,CAAD,CAAC,CAAC6H,OAAO,CAACF,eAAe,EAAEH,OAAO,CAAC;IAC1DC,eAAe,GAAG,IAAAK,+BAAoB,EAAC9H,IAAI,CAAD,CAAC,CAAC+H,QAAQ,CAAC,IAAI,CAACnE,YAAY,EAAEgE,WAAW,CAAC,CAAC;IAErF,MAAMnE,WAAW,GAAG,IAAI,CAACI,QAAQ,CAACmE,MAAM,CAACC,oBAAoB,CAACR,eAAe,CAAC;IAE9E,OAAO;MAAEhE,WAAW;MAAEgE,eAAe;MAAEC;IAAY,CAAC;EACtD;EAEQR,eAAeA,CAACgB,UAA6B,EAAEzB,QAAkB,EAAE0B,MAAM,GAAG,KAAK,EAAE;IACzF;IACA;IACA,IAAI,CAAC,IAAI,CAAC5D,cAAc,CAACoC,QAAQ,CAACuB,UAAU,CAAC,EAAE;MAC7C,IAAI,CAAC3D,cAAc,CAAC6D,IAAI,CAACF,UAAU,CAAC;MACpC;IACF,CAAC,MAAM,IAAIC,MAAM,EAAE;MACjB;IACF;IACA,MAAME,YAAY,GAAG,IAAI,CAACzD,IAAI,CAACsD,UAAU,CAAC,CAAC7B,KAAK;IAChD,IAAI,CAACgC,YAAY,IAAI,IAAAC,iBAAO,EAACD,YAAY,CAAC,EAAE;IAC5CA,YAAY,CAAC9B,OAAO,CAAEiB,OAAmB,IAAK;MAC5C,MAAMe,kBAAkB,GAAG,IAAI,CAACC,iBAAiB,CAC/CN,UAAU,EACVV,OAAO,CAAChB,IAAI,EACZgB,OAAO,CAACiB,gBAAgB,EACxBhC,QAAQ,EACRe,OAAO,EACPW,MACF,CAAC;MACD;MACA;MACA,IAAII,kBAAkB,EAAE;QACtB;QACA;QACA,MAAMG,aAAuB,GAAG;UAC9BhC,UAAU,EAAE;QACd,CAAC;QACD,IAAI,CAACQ,eAAe,CAACM,OAAO,CAAChB,IAAI,EAAEkC,aAAa,EAAE,IAAI,CAAC;MACzD;IACF,CAAC,CAAC;EACJ;;EAEA;EACQF,iBAAiBA,CACvBN,UAA6B,EAC7BV,OAAe,EACfiB,gBAA+C,EAC/ChC,QAAkB,EAClBkC,aAAyB,EACzBR,MAAM,GAAG,KAAK,EACL;IACT,MAAM;MAAE1E,WAAW;MAAEgE,eAAe;MAAEC;IAAY,CAAC,GAAG,IAAI,CAACH,uBAAuB,CAACC,OAAO,CAAC;IAC3F,MAAMoB,YAAoB,GAAGD,aAAa,CAACC,YAAsB;IACjE;IACA,IAAI,CAACnF,WAAW,EAAE;MAChB,IAAI,CAACoF,gCAAgC,CAACX,UAAU,EAAET,eAAe,EAAEU,MAAM,CAAC;MAC1E,OAAO,IAAI;IACb;IACA;IACA;IACA,IAAI1E,WAAW,CAACqF,OAAO,CAAC,IAAI,CAACrF,WAAW,EAAE;MAAEsF,aAAa,EAAE;IAAK,CAAC,CAAC,EAAE;MAClE,IAAIH,YAAY,KAAK,GAAG,IAAIA,YAAY,CAACI,QAAQ,CAAC,KAAK,CAAC,EAAE;QACxD,CAAC,IAAI,CAACxE,MAAM,CAACyE,WAAW,CAACC,gCAAa,CAACC,mBAAmB,CAAC,CAAClJ,IAAI,CAACiI,UAAU,CAAC,KAAK,EAAE,EAAEE,IAAI,CAACQ,YAAY,CAAC;MACzG;MACA,OAAO,KAAK;IACd;IAEA,MAAMQ,eAAe,GAAG,IAAI,CAACvF,QAAQ,CAACmE,MAAM,CAACqB,mBAAmB,CAAC5F,WAAW,CAAC;IAC7E;IACA,MAAM6F,UAAU,GAAGF,eAAe,GAAGA,eAAe,CAAClE,OAAO,GAAGqE,SAAS;IACxE,MAAMC,uBAAuB,GAC3B9B,WAAW,KACV4B,UAAU,IAAI7B,eAAe,CAACgC,UAAU,CAACH,UAAU,CAAC,GACjD,IAAAI,4BAAiB,EAACJ,UAAU,EAAE7B,eAAe,CAAC,GAC9CA,eAAe,CAAC;;IAEtB;IACA,MAAMkC,kBAAkB,GAAGL,UAAU,GAAG7B,eAAe,GAAGD,OAAO;IAEjE,MAAMoC,SAAuB,GAAG;MAC9BD,kBAAkB;MAClBH;IACF,CAAC;IACD,IAAIf,gBAAgB,EAAE;MACpBA,gBAAgB,CAAClC,OAAO,CAAEsD,eAAe,IAAK;QAC5C,IAAIA,eAAe,CAACC,QAAQ,EAAE,OAAOD,eAAe,CAACC,QAAQ,CAACC,QAAQ;MACxE,CAAC,CAAC;MACFH,SAAS,CAACnB,gBAAgB,GAAGA,gBAAgB;IAC/C;IACA,MAAMuB,qBAAqB,GAAG,KAAIC,oBAAU,EAACxG,WAAW,EAAE,CAACmG,SAAS,CAAC,CAAC;IACtE,IAAI,CAACM,uCAAuC,CAAChC,UAAU,EAAEzE,WAAW,EAAEmF,YAAY,EAAEgB,SAAS,CAAC;IAE9F,MAAM7F,eAA6B,GAAG,CACpC,GAAG,IAAI,CAACA,eAAe,CAACC,YAAY,EACpC,GAAG,IAAI,CAACD,eAAe,CAACE,eAAe,CACxC;IACD,MAAMkG,kBAAkB,GAAG,IAAI,CAACC,qBAAqB,CAACrG,eAAe,EAAEN,WAAW,CAAC;IACnF,IAAI0G,kBAAkB,EAAE;MACtB,MAAME,wBAAwB,GAAG,IAAI,CAACC,2BAA2B,CAACH,kBAAkB,EAAEP,SAAS,CAAC;MAChG,IAAI,CAACS,wBAAwB,EAAE;QAC7B;QACAF,kBAAkB,CAACI,aAAa,CAACnC,IAAI,CAACwB,SAAS,CAAC;QAChD,OAAO,KAAK;MACd;MACA;MACA,IAAIA,SAAS,CAACnB,gBAAgB,EAAE;QAC9B;QACA,IAAI,CAAC4B,wBAAwB,CAAC5B,gBAAgB,EAAE;UAC9C4B,wBAAwB,CAAC5B,gBAAgB,GAAG,CAAC,GAAGmB,SAAS,CAACnB,gBAAgB,CAAC;QAC7E,CAAC,MAAM;UACL;UACA,MAAM+B,2BAA2B,GAAG,IAAI,CAACC,iBAAiB,CACxDJ,wBAAwB,CAAC5B,gBAAgB,EACzCmB,SAAS,CAACnB,gBACZ,CAAC;UACD4B,wBAAwB,CAAC5B,gBAAgB,CAACL,IAAI,CAAC,GAAGoC,2BAA2B,CAAC;QAChF;MACF;MAEA,IAAIZ,SAAS,CAAChB,YAAY,IAAI,CAACyB,wBAAwB,CAACzB,YAAY,EAAE;QACpEyB,wBAAwB,CAACzB,YAAY,GAAGgB,SAAS,CAAChB,YAAY;MAChE;IACF,CAAC,MAAM;MACL,MAAM8B,QAAmC,GAAG;QAC1CC,EAAE,EAAEX,qBAAqB,CAACW,EAAE;QAC5B/B;MACF,CAAC;MACD,IAAI,CAACgC,uBAAuB,CAACZ,qBAAqB,EAAE;QAAEvD,QAAQ;QAAEiE;MAAS,CAAC,CAAC;IAC7E;IACA,OAAO,KAAK;EACd;;EAEA;AACF;AACA;AACA;EACUzD,iBAAiBA,CAACiB,UAA6B,EAAEzB,QAAkB,EAAE;IAC3E,MAAM/B,UAAU,GAAG,IAAI,CAACE,IAAI,CAACsD,UAAU,CAAC,CAACxD,UAAU;IACnD,IAAI,CAACA,UAAU,IAAI,IAAA4D,iBAAO,EAAC5D,UAAU,CAAC,EAAE;IACxCA,UAAU,CAAC6B,OAAO,CAAEsE,OAAO,IAAK;MAC9B,IAAIpH,WAAW,GAAG,IAAI,CAAC4D,mCAAmC,CAACwD,OAAO,CAAC;MACnE,IAAIpH,WAAW,CAACqF,OAAO,CAAC,IAAI,CAACrF,WAAW,CAAC,EAAE;QACzC,IAAI,CAACe,MAAM,CAACyE,WAAW,CAACC,gCAAa,CAAC4B,aAAa,CAAC,CAAC7K,IAAI,CAACiI,UAAU,CAAC,GAAG2C,OAAO,CAACE,IAAI;QACpF;QACA;QACA;MACF;MACA,MAAML,QAAmC,GAAG;QAC1CC,EAAE,EAAElH,WAAW;QACfuH,yBAAyB,EAAEH,OAAO,CAACI,eAAe;QAClDC,wBAAwB,EAAEL,OAAO,CAACK,wBAAwB;QAC1DC,uBAAuB,EAAE,mBAAmB;QAC5CC,WAAW,EAAEP,OAAO,CAACE;MACvB,CAAC;MACD,IAAI7C,UAAU,KAAK,WAAW,EAAE;QAC9BwC,QAAQ,CAAC9B,YAAY,GAAG,WAAW;MACrC;MACA,MAAMyC,qBAAqB,GAAGA,CAAA,KAAqB;QACjD,MAAM;UAAEC,OAAO,EAAEC;QAA6B,CAAC,GAAGC,wBAAwB,CAACX,OAAO,CAACY,eAAe,CAAC;QACnG,IAAIF,4BAA4B,EAAE;UAChCb,QAAQ,CAACgB,mBAAmB,GAAG,mBAAmB;UAClD,OAAOH,4BAA4B;QACrC;QACA,MAAM;UAAED,OAAO,EAAEK;QAA4B,CAAC,GAAGH,wBAAwB,CAACX,OAAO,CAACe,sBAAsB,CAAC;QACzG,IAAID,2BAA2B,EAAE;UAC/BjB,QAAQ,CAACgB,mBAAmB,GAAG,kBAAkB;UACjD,OAAOC,2BAA2B;QACpC;QACA,OAAO,IAAI;MACb,CAAC;MACD,MAAML,OAAO,GAAGD,qBAAqB,CAAC,CAAC;MACvC,IAAIC,OAAO,EAAE;QACX7H,WAAW,GAAGA,WAAW,CAACoI,aAAa,CAACP,OAAO,CAAC;MAClD;MACA,MAAMQ,UAAU,GAAGrI,WAAW;MAC9B,IAAIqI,UAAU,CAAChD,OAAO,CAAC,IAAI,CAACrF,WAAW,CAAC,EAAE;QACxC;QACA;QACA;MACF;MACA,IAAI,CAACsI,6BAA6B,CAAC7D,UAAU,EAAE2C,OAAO,CAAC;MACvD,MAAMmB,MAAM,GAAGnB,OAAO,CAACoB,kBAAkB,EAAE3E,GAAG,EAAE4E,IAAI;MACpD,IAAIC,gBAAoC;MACxC,IAAIH,MAAM,EAAE;QACV,MAAMI,gBAAgB,GAAGvB,OAAO,CAACoB,kBAAkB,EAAE3E,GAAG,EAAE8E,gBAAgB;QAC1E,IAAI,CAACA,gBAAgB,EAAE;UACrBD,gBAAgB,GAAG,GAAG;QACxB,CAAC,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAACxF,QAAQ,CAACyF,gBAAgB,CAAC,EAAE;UACtD,IAAIC,iBAAM,CAACC,KAAK,CAACzB,OAAO,CAACY,eAAe,CAAC,EAAE;YACzCU,gBAAgB,GAAG,GAAGC,gBAAgB,GAAGvB,OAAO,CAACY,eAAe,EAAE;UACpE,CAAC,MAAM;YACLU,gBAAgB,GAAG,GAAGC,gBAAgB,SAASvB,OAAO,CAACY,eAAe,EAAE;UAC1E;QACF,CAAC,MAAM;UACLU,gBAAgB,GAAGC,gBAAgB;QACrC;MACF;MACA,MAAMpC,qBAAqB,GAAG,KAAIC,oBAAU,EAAC6B,UAAU,EAAE,EAAE,EAAEjB,OAAO,CAACE,IAAI,EAAEoB,gBAAgB,CAAC;MAC5F,IAAI,CAACI,6BAA6B,CAACvC,qBAAqB,EAAE;QACxDvD,QAAQ;QACRiE,QAAQ;QACRsB;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ;EAEQQ,wBAAwBA,CAACC,OAAe,EAAE;IAChD,OAAO,IAAI,CAAClJ,YAAY,CAACmJ,0BAA0B,CAAC,CAAC,CAAC1I,YAAY,GAAGyI,OAAO,CAAC;EAC/E;EAEQV,6BAA6BA,CAACY,QAA2B,EAAEC,iBAAsC,EAAE;IACzG,MAAMC,OAAsC,GAAGD,iBAAiB,CAACX,kBAAkB,EAAEa,IAAI;IACzF,IAAI,CAACD,OAAO,EAAE;MACZ;IACF;IACA,MAAME,iBAAiB,GAAGF,OAAO,CAACG,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;IACnD,MAAMC,WAAW,GAAG,IAAAnF,+BAAoB,EAAC8E,iBAAiB,CAACM,QAAQ,CAAC;IACpE,IAAID,WAAW,CAACjE,QAAQ,CAAC+D,iBAAiB,CAAC,EAAE;MAC3C;MACA;IACF;IACA,MAAMI,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC;IACzD,IAAI,CAACA,kBAAkB,CAACxG,QAAQ,CAAC3G,IAAI,CAAD,CAAC,CAACoN,OAAO,CAACH,WAAW,CAAC,CAAC,EAAE;MAC3D;MACA;IACF;IACA,MAAMI,UAAU,GAAGT,iBAAiB,CAAC3B,eAAe,IAAIjL,IAAI,CAAD,CAAC,CAACsN,OAAO,CAACV,iBAAiB,CAAC3B,eAAe,CAAC;IACvG,IAAIoC,UAAU,IAAI,CAACE,kBAAE,CAACC,UAAU,CAACxN,IAAI,CAAD,CAAC,CAACiF,IAAI,CAACoI,UAAU,EAAEI,+BAAoB,CAAC,CAAC,EAAE;MAC7E;MACA;MACA;IACF;IACA,MAAMC,gBAAgB,GAAGT,WAAW,CAACU,KAAK,CAAC,eAAe,CAAC;IAC3D,MAAMC,gBAAgB,GAAGF,gBAAgB,CAAC,CAAC,CAAC,IAAIA,gBAAgB,CAAC,CAAC,CAAC;IACnE,IAAIE,gBAAgB,CAACjH,QAAQ,CAAC,UAAU,CAAC,EAAE;MACzC;MACA;MACA;IACF;IACA,CAAC,IAAI,CAACnC,MAAM,CAACyE,WAAW,CAACC,gCAAa,CAAC2E,kBAAkB,CAAC,CAAC5N,IAAI,CAAC0M,QAAQ,CAAC,KAAK,EAAE,EAAEvE,IAAI,CAACwF,gBAAgB,CAAC;EAC1G;EAEQ5G,eAAeA,CAACkB,UAA6B,EAAEzB,QAAkB,EAAE;IACzE,MAAMqH,QAAQ,GAAG,IAAI,CAAClJ,IAAI,CAACsD,UAAU,CAAC,CAAC4F,QAAQ;IAC/C,IAAI,IAAI,CAACnK,kBAAkB,EAAE;MAC3B,MAAMoK,SAAS,GAAG,IAAI,CAACpK,kBAAkB,CAACqK,yBAAyB,CAAC,CAAC;MACrE;MACA,KAAK,MAAMvB,OAAO,IAAItK,MAAM,CAAC8L,IAAI,CAACH,QAAQ,CAAC,EAAE;QAC3C,IAAI,CAAC,IAAI,CAACtB,wBAAwB,CAACC,OAAO,CAAC,IAAIsB,SAAS,CAACtB,OAAO,CAAC,EAAE;UACjEqB,QAAQ,CAACrB,OAAO,CAAC,GAAGsB,SAAS,CAACtB,OAAO,CAAC;QACxC;MACF;IACF;IACA,MAAMyB,YAAY,GAAG/L,MAAM,CAAC8L,IAAI,CAACH,QAAQ,CAAC,CAACK,MAAM,CAAC,IAAI,CAACvJ,IAAI,CAACsD,UAAU,CAAC,CAACkG,OAAO,EAAEN,QAAQ,IAAI,EAAE,CAAC;IAChG,IAAI,CAACO,8BAA8B,CAACH,YAAY,EAAEhG,UAAU,CAAC;IAC7D,IAAI,CAAC4F,QAAQ,IAAI,IAAAxF,iBAAO,EAACwF,QAAQ,CAAC,EAAE;IACpC,IAAIrH,QAAQ,CAACC,UAAU,EAAE;MACvBvE,MAAM,CAACmM,MAAM,CAAC,IAAI,CAACnK,uBAAuB,CAACE,sBAAsB,EAAEyJ,QAAQ,CAAC;IAC9E,CAAC,MAAM;MACL3L,MAAM,CAACmM,MAAM,CAAC,IAAI,CAACnK,uBAAuB,CAACC,mBAAmB,EAAE0J,QAAQ,CAAC;IAC3E;EACF;EAEQhH,cAAcA,CAACoB,UAA6B,EAAEzB,QAAkB,EAAE;IACxE,MAAM2H,OAAO,GAAG,IAAI,CAACxJ,IAAI,CAACsD,UAAU,CAAC,CAACkG,OAAO;IAC7C,IAAI,CAACA,OAAO,EAAE;IACd,MAAMG,mBAAmB,GAAGA,CAAA,KAAM;MAChC,IAAI,IAAAjG,iBAAO,EAAC8F,OAAO,CAAC/H,KAAK,CAAC,EAAE;MAC5B,MAAMmI,YAAY,GAAGJ,OAAO,CAAC/H,KAAK,CAACoI,MAAM,CAAEjI,IAAI,IAAK;QAClD,MAAMkI,YAAY,GAAGC,OAAO,CAAC3O,IAAI,CAAD,CAAC,CAACoN,OAAO,CAAC5G,IAAI,CAAC,CAAC;QAChD,IAAI,CAACkI,YAAY,EAAE,OAAO,IAAI;QAC9B;QACA;QACA,MAAME,UAAU,GAAG,IAAI,CAAC/K,QAAQ,CAACgL,cAAc,CAAC,IAAI,CAACnL,YAAY,CAACwB,OAAO,CAAC;QAC1E,MAAM4J,WAAW,GAAG9O,IAAI,CAAD,CAAC,CAAC6H,OAAO,CAAC+G,UAAU,EAAEpI,IAAI,CAAC;QAClD,MAAMuI,iBAAiB,GAAG/O,IAAI,CAAD,CAAC,CAAC+H,QAAQ,CAAC6G,UAAU,EAAEE,WAAW,CAAC;QAChE,MAAME,2BAA2B,GAAG,IAAAC,8BAAmB,EAACF,iBAAiB,CAAC;QAC1E,MAAMG,mBAAmB,GAAG,IAAI,CAACxL,YAAY,CAAC0B,gBAAgB,CAAC,CAAC,CAAC+J,GAAG,CAAEvN,CAAC,IAAK,IAAAqN,8BAAmB,EAACrN,CAAC,CAAC,CAAC;QACnG,MAAMwN,qBAAqB,GAAGF,mBAAmB,CAACG,IAAI,CAAEzN,CAAC,IAAKA,CAAC,KAAKoN,2BAA2B,CAAC;QAChG,OAAO,CAACI,qBAAqB;MAC/B,CAAC,CAAC;MACF,IAAI,IAAA9G,iBAAO,EAACkG,YAAY,CAAC,EAAE;MAC3B,IAAI,CAACc,8BAA8B,CAACpH,UAAU,EAAEsG,YAAY,CAAC;IAC/D,CAAC;IACD,MAAMe,sBAAsB,GAAGA,CAAA,KAAM;MACnC,IAAI,IAAAjH,iBAAO,EAAC8F,OAAO,CAACN,QAAQ,CAAC,EAAE;MAC/B,MAAM0B,eAAe,GAAGpB,OAAO,CAACN,QAAQ;MACxC,IAAI,CAAC,IAAAxF,iBAAO,EAACkH,eAAe,CAAC,EAAE;QAC7B,IAAI,CAACC,wCAAwC,CAACvH,UAAU,EAAEsH,eAAe,EAAE/I,QAAQ,CAAC;MACtF;IACF,CAAC;IACD8H,mBAAmB,CAAC,CAAC;IACrBgB,sBAAsB,CAAC,CAAC;EAC1B;EAEQxI,aAAaA,CAACmB,UAA6B,EAAE;IACnD,MAAMwH,KAAU,GAAG,IAAI,CAAC9K,IAAI,CAACsD,UAAU,CAAC,CAACwH,KAAK;IAC9C,IAAI,CAACA,KAAK,EAAE;IACZC,iBAAM,CAACC,qBAAqB,CAC1B,mCAAmC,EACnC,mEAAmE1H,UAAU,GAC/E,CAAC;IACDyH,iBAAM,CAACD,KAAK,CAAC,mCAAmC,EAAEA,KAAK,CAAC;IACxD,IAAIA,KAAK,CAACG,IAAI,KAAK,eAAe,EAAE;MAClC,MAAMC,QAAQ,GAAGJ,KAAK,CAACK,UAAU,IAAIL,KAAK,CAACM,MAAM,GAAG,WAAWN,KAAK,CAACK,UAAU,aAAaL,KAAK,CAACM,MAAM,GAAG,GAAG,EAAE;MAChH,IAAI,CAACxL,MAAM,CAACyE,WAAW,CAACC,gCAAa,CAAC+G,WAAW,CAAC,CAAChQ,IAAI,CAACiI,UAAU,CAAC,GAAGwH,KAAK,CAACQ,OAAO,GAAGJ,QAAQ;IAChG,CAAC,MAAM,IAAI,CAACtL,MAAM,CAACyE,WAAW,CAACC,gCAAa,CAACiH,aAAa,CAAC,CAAClQ,IAAI,CAACiI,UAAU,CAAC,GAAGwH,KAAK,CAACQ,OAAO;EAC9F;;EAEA;AACF;AACA;AACA;AACA;AACA;EACUrJ,kBAAkBA,CAACqB,UAA6B,EAAE;IACxD,MAAMhC,WAAW,GAAG,IAAI,CAAC1C,YAAY,CAAC4M,4BAA4B,CAAC,CAAC;;IAEpE;IACA;IACA;;IAEA,MAAMC,aAAa,GAAGlO,MAAM,CAACmO,MAAM,CAACpK,WAAW,CAAC;IAChD,IAAImK,aAAa,CAAC1J,QAAQ,CAAC,IAAI,CAACvD,SAAS,CAACuH,EAAE,CAAC4F,sBAAsB,CAAC,CAAC,CAAC,EAAE;MACtE;IACF;IAEA,MAAMC,mBAAmB,GAAGrO,MAAM,CAAC8L,IAAI,CAAC/H,WAAW,CAAC;IAEpD,MAAMxB,UAAU,GAAG,IAAI,CAACE,IAAI,CAACsD,UAAU,CAAC,CAACxD,UAAU;IACnD,MAAM+L,oBAAoB,GAAG,IAAI,CAAC7L,IAAI,CAACsD,UAAU,CAAC,CAACuI,oBAAoB;IACvE,MAAMC,eAAyB,GAAG,EAAE;IAEpC,MAAMC,sBAAsB,GAAIvF,WAAmB,IAAK;MACtD,OAAOoF,mBAAmB,CAACI,IAAI,CAAEC,cAAc,IAAKzF,WAAW,KAAKyF,cAAc,CAAC;IACrF,CAAC;IACD,MAAMC,4BAA4B,GAAGL,oBAAoB,EAAEhC,MAAM,CAAErD,WAAW,IAAK;MACjF,MAAM2F,6BAA6B,GAAGJ,sBAAsB,CAACvF,WAAW,CAAC;MACzE,IAAI2F,6BAA6B,EAAE;QACjCL,eAAe,CAACtI,IAAI,CAAClC,WAAW,CAAC6K,6BAA6B,CAAC,CAAC;MAClE;MACA,OAAO,CAACA,6BAA6B;IACvC,CAAC,CAAC;IACF,MAAMC,YAAY,GAAGtM,UAAU,EAAE+J,MAAM,CAAEwC,WAAW,IAAK;MACvD,MAAMF,6BAA6B,GAAGJ,sBAAsB,CAACM,WAAW,CAAClG,IAAI,CAAC;MAC9E,IAAIgG,6BAA6B,EAAE;QACjCL,eAAe,CAACtI,IAAI,CAAClC,WAAW,CAAC6K,6BAA6B,CAAC,CAAC;MAClE;MACA,OAAO,CAACA,6BAA6B;IACvC,CAAC,CAAC;IAEF,IAAI,CAACnM,IAAI,CAACsD,UAAU,CAAC,CAACuI,oBAAoB,GAAGK,4BAA4B;IACzE,IAAI,CAAClM,IAAI,CAACsD,UAAU,CAAC,CAACxD,UAAU,GAAGsM,YAAY;IAC/C,IAAI,CAAC9K,WAAW,CAACkC,IAAI,CAAC,GAAG,IAAA8I,cAAI,EAACR,eAAe,CAAC,CAAC;EACjD;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUvJ,2BAA2BA,CAACe,UAA6B,EAAE;IACjE,MAAMuI,oBAAoB,GAAG,IAAI,CAAC7L,IAAI,CAACsD,UAAU,CAAC,CAACuI,oBAAoB;IACvE,IAAI,CAACA,oBAAoB,IAAI,CAACA,oBAAoB,CAAC7K,MAAM,EAAE;IAC3D,IAAI,CAACnB,qBAAqB,CAACgM,oBAAoB,GAAGA,oBAAoB;EACxE;EAEQlE,6BAA6BA,CAAC4E,UAAsB,EAAEC,IAAyB,EAAE;IACvF,MAAMjH,kBAAkB,GAAG,IAAI,CAACC,qBAAqB,CAAC,IAAI,CAACrG,eAAe,CAACC,YAAY,EAAEmN,UAAU,CAACxG,EAAE,CAAC;IACvG,MAAM0G,qBAAqB,GAAG,IAAI,CAACjH,qBAAqB,CAAC,IAAI,CAACrG,eAAe,CAACE,eAAe,EAAEkN,UAAU,CAACxG,EAAE,CAAC;IAC7G;IACA,IAAIR,kBAAkB,IAAKkH,qBAAqB,IAAID,IAAI,CAAC3K,QAAQ,CAACC,UAAW,EAAE;MAC7E;IACF;IACA;IACA;IACA;IACA,IAAI,CAACkE,uBAAuB,CAACuG,UAAU,EAAEC,IAAI,CAAC;EAChD;EAEQxG,uBAAuBA,CAACZ,qBAAiC,EAAEoH,IAAyB,EAAE;IAC5F,IAAIA,IAAI,CAAC3K,QAAQ,CAACC,UAAU,EAAE;MAC5B,IAAI,CAAC3C,eAAe,CAACE,eAAe,CAACmE,IAAI,CAAC4B,qBAAqB,CAAC;IAClE,CAAC,MAAM,IAAIoH,IAAI,CAACpF,MAAM,EAAE;MACtB,IAAI,CAACjI,eAAe,CAACG,gBAAgB,CAACkE,IAAI,CAAC4B,qBAAqB,CAAC;IACnE,CAAC,MAAM;MACL,IAAI,CAACjG,eAAe,CAACC,YAAY,CAACoE,IAAI,CAAC4B,qBAAqB,CAAC;IAC/D;IACA,IAAI,CAACvF,qBAAqB,CAACC,UAAU,CAAC0D,IAAI,CAACgJ,IAAI,CAAC1G,QAAQ,CAAC;EAC3D;EAEQN,qBAAqBA,CAACpG,YAA0B,EAAE2G,EAAe,EAAiC;IACxG,OAAO3G,YAAY,CAAC4M,IAAI,CAAEU,CAAC,IAAKA,CAAC,CAAC3G,EAAE,CAAC4G,qBAAqB,CAAC5G,EAAE,CAAC,CAAC;EACjE;EAEQL,2BAA2BA,CAAC6G,UAAsB,EAAEK,YAA0B,EAAE;IACtF,IAAI,CAACL,UAAU,CAAC5G,aAAa,IAAI,IAAAjC,iBAAO,EAAC6I,UAAU,CAAC5G,aAAa,CAAC,EAAE,OAAO,IAAI;IAC/E,OAAO4G,UAAU,CAAC5G,aAAa,CAACqG,IAAI,CACjCa,KAAK,IACJA,KAAK,CAAC9H,kBAAkB,KAAK6H,YAAY,CAAC7H,kBAAkB,IAC5D8H,KAAK,CAACjI,uBAAuB,KAAKgI,YAAY,CAAChI,uBACnD,CAAC;EACH;EAEQiB,iBAAiBA,CAACiH,gBAAmC,EAAEC,gBAAmC,EAAE;IAClG,MAAMC,GAAG,GAAGA,CAACC,UAAU,EAAEC,UAAU,KAAKD,UAAU,CAAC/H,QAAQ,CAACiB,IAAI,KAAK+G,UAAU,CAAChI,QAAQ,CAACiB,IAAI;IAC7F,OAAO,IAAAgH,wBAAc,EAACJ,gBAAgB,EAAED,gBAAgB,EAAEE,GAAG,CAAC;EAChE;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACUvD,8BAA8BA,CAACH,YAAsB,EAAEhG,UAA6B,EAAQ;IAClG,IAAIgG,YAAY,CAACtI,MAAM,KAAK,CAAC,EAAE;IAC/B,MAAMoM,YAAY,GAAG,IAAAC,mBAAM,EAAC/J,UAAU,CAAC,KAAK,IAAI,IAAI,IAAA+J,mBAAM,EAAC/J,UAAU,CAAC,KAAK,KAAK;IAChF,IAAI,CAAC8J,YAAY,EAAE;IACnB,MAAME,QAAQ,GAAG,IAAI,CAAC3O,YAAY,CAACmJ,0BAA0B,CAAC,CAAC;IAC/D,MAAMyF,aAAa,GAAI/G,WAAmB,IAAc;MACtD,IAAI,CAAC8G,QAAQ,EAAE,OAAO,KAAK;MAC3B,OAAOE,8BAAmB,CAAC/C,IAAI,CAAEgD,QAAQ,IAAK;QAC5C,IAAI,CAACH,QAAQ,CAACG,QAAQ,CAAC,EAAE,OAAO,KAAK;QACrC,MAAMC,YAAY,GAAG,IAAAC,kDAAuB,EAACnH,WAAW,CAAC;QACzD,IAAI,CAAC8G,QAAQ,CAACG,QAAQ,CAAC,CAACC,YAAY,CAAC,EAAE,OAAO,KAAK;QACnDnQ,MAAM,CAACmM,MAAM,CAAC,IAAI,CAACnK,uBAAuB,CAACE,sBAAsB,EAAE;UACjE,CAACiO,YAAY,GAAGJ,QAAQ,CAACG,QAAQ,CAAC,CAACC,YAAY;QACjD,CAAC,CAAC;QACF,OAAO,IAAI;MACb,CAAC,CAAC;IACJ,CAAC;IACD,MAAME,YAAY,GAAIpH,WAAmB,IAAK;MAC5C,IAAI,CAAC,IAAI,CAACzH,kBAAkB,EAAE;MAC9B,MAAM2O,YAAY,GAAG,IAAAC,kDAAuB,EAACnH,WAAW,CAAC;MACzD,MAAMqH,qBAAqB,GAAG,IAAI,CAAC9O,kBAAkB,CAACU,sBAAsB,CAACiO,YAAY,CAAC;MAC1F,IAAI,CAACG,qBAAqB,EAAE;MAC5BtQ,MAAM,CAACmM,MAAM,CAAC,IAAI,CAACnK,uBAAuB,CAACE,sBAAsB,EAAE;QACjE,CAACiO,YAAY,GAAGG;MAClB,CAAC,CAAC;IACJ,CAAC;IAEDvE,YAAY,CAAC3H,OAAO,CAAE6E,WAAW,IAAK;MACpC,MAAMsH,KAAK,GAAGP,aAAa,CAAC/G,WAAW,CAAC;MACxC,IAAI,CAACsH,KAAK,EAAEF,YAAY,CAACpH,WAAW,CAAC;IACvC,CAAC,CAAC;EACJ;EAEQvC,gCAAgCA,CAACX,UAA6B,EAAET,eAAe,EAAEU,MAAM,GAAG,KAAK,EAAE;IACvG,MAAMwK,YAAY,GAAGA,CAAA,KAAM;MACzB,IAAIC,MAAM;MACV,IAAArM,iBAAO,EAAC,IAAI,CAAC/B,MAAM,CAACqO,QAAQ,CAAC3J,gCAAa,CAAC4J,qBAAqB,CAAC,EAAE7S,IAAI,IAAI,CAAC,CAAC,EAAG8S,gBAAgB,IAAK;QACnG,MAAMC,KAAK,GAAGD,gBAAgB,CAACE,cAAc,CAACrC,IAAI,CAAEpK,IAAI,IAAK;UAC3D,OAAOA,IAAI,CAACgL,YAAY,KAAK/J,eAAe;QAC9C,CAAC,CAAC;QACF,IAAIuL,KAAK,EAAE;UACTJ,MAAM,GAAGI,KAAK;QAChB;MACF,CAAC,CAAC;MACF,OAAOJ,MAAM;IACf,CAAC;IACD,MAAMM,QAAQ,GAAGP,YAAY,CAAC,CAAC;IAC/B,MAAMQ,gBAAgB,GAAG;MAAE3B,YAAY,EAAE/J,eAAe;MAAEyL,QAAQ,EAAE;IAAM,CAAC;IAC3E;IACA,IAAIA,QAAQ,EAAE;MACZC,gBAAgB,CAACD,QAAQ,GAAG,IAAI;MAChCA,QAAQ,CAACA,QAAQ,GAAG,IAAI;IAC1B;IACA,MAAME,YAAY,GAAG,IAAI,CAAC5O,MAAM,CAACyE,WAAW,CAACC,gCAAa,CAAC4J,qBAAqB,CAAC;IACjF,MAAMO,oBAAoB,GAAGD,YAAY,EAAEnT,IAAI,CAACiI,UAAU,CAAC;IAC3D,IAAImL,oBAAoB,EAAE;MACxBA,oBAAoB,CAACJ,cAAc,CAAC7K,IAAI,CAAC+K,gBAAgB,CAAC;IAC5D,CAAC,MAAM;MACLC,YAAY,CAACnT,IAAI,CAACiI,UAAU,CAAC,GAAG;QAAEC,MAAM;QAAE8K,cAAc,EAAE,CAACE,gBAAgB;MAAE,CAAC;IAChF;EACF;EACQjJ,uCAAuCA,CAC7ChC,UAAU,EACVzE,WAAwB,EACxBmF,YAAoB,EACpB4I,YAA0B,EAC1B;IACA,CAAC,IAAI,CAAChN,MAAM,CAACyE,WAAW,CAACC,gCAAa,CAACoK,0BAA0B,CAAC,CAACrT,IAAI,CAACiI,UAAU,CAAC,KAAK,EAAE,EAAEE,IAAI,CAAC;MAC/FQ,YAAY;MACZnF,WAAW;MACX+N;IACF,CAAC,CAAC;EACJ;EACQlC,8BAA8BA,CAACpH,UAA6B,EAAEsG,YAAsB,EAAE;IAC5F,CAAC,IAAI,CAAChK,MAAM,CAACyE,WAAW,CAACC,gCAAa,CAACqK,uBAAuB,CAAC,CAACtT,IAAI,CAACiI,UAAU,CAAC,KAAK,EAAE,EAAEE,IAAI,CAAC,GAAGoG,YAAY,CAAC;EAChH;EACQiB,wCAAwCA,CAC9CvH,UAA6B,EAC7BsH,eAAyB,EACzB/I,QAAkB,EAClB;IACA,MAAMxG,IAAI,GAAG,IAAI,CAACuE,MAAM,CAACyE,WAAW,CAACC,gCAAa,CAACsK,+BAA+B,CAAC,CAACvT,IAAI;IACxF,MAAMwT,SAAS,GAAGxT,IAAI,CAAC2Q,IAAI,CAAEpK,IAAI,IAAKA,IAAI,CAACmG,QAAQ,KAAKzE,UAAU,CAAC;IACnE,IAAIuL,SAAS,EAAE;MACbA,SAAS,CAACjE,eAAe,GAAG,IAAA0B,cAAI,EAAC,CAAC,GAAG1B,eAAe,EAAE,GAAGiE,SAAS,CAACjE,eAAe,CAAC,CAAC;IACtF,CAAC,MAAM;MACLvP,IAAI,CAACmI,IAAI,CAAC;QAAEuE,QAAQ,EAAEzE,UAAU;QAAEsH,eAAe;QAAEkE,SAAS,EAAEjN,QAAQ,CAACC;MAAW,CAAC,CAAC;IACtF;EACF;AACF;;AAEA;AACA;AACA;AACA;AAHAiN,OAAA,CAAAzQ,cAAA,GAAAA,cAAA;AAIO,SAASsI,wBAAwBA,CAACF,OAAgB,EAAwC;EAC/F,IAAI,CAACA,OAAO,EAAE;IACZ,OAAO;MAAEA,OAAO,EAAE/B;IAAU,CAAC;EAC/B;EACA,IAAI+B,OAAO,CAAC7B,UAAU,CAACmK,8CAAmB,CAAC,EAAE;IAC3C,MAAMC,wBAAwB,GAAGvI,OAAO,CAAC0B,OAAO,CAAC4G,8CAAmB,EAAE,EAAE,CAAC;IACzE,IAAI,IAAAE,0BAAM,EAACD,wBAAwB,CAAC,EAAE;MACpC,OAAO;QAAEvI,OAAO,EAAEuI;MAAyB,CAAC;IAC9C;EACF;EACA,IAAIxH,iBAAM,CAACC,KAAK,CAAChB,OAAO,CAAC,EAAE;IACzB;IACA,OAAO;MAAEA;IAAQ,CAAC;EACpB;EACA,IAAIe,iBAAM,CAAC0H,UAAU,CAACzI,OAAO,CAAC,EAAE;IAC9B;IACA,MAAM0I,OAAO,GAAG3H,iBAAM,CAAC4H,MAAM,CAAC3I,OAAO,CAAC;IACtC,IAAI0I,OAAO,EAAE;MACX,OAAO;QAAE1I,OAAO,EAAE0I,OAAO,CAAC1I,OAAO;QAAE4I,KAAK,EAAE5I;MAAQ,CAAC;IACrD;EACF;EACA,IAAI,IAAAwI,0BAAM,EAACxI,OAAO,CAAC,EAAE;IACnB,OAAO;MAAEA;IAAQ,CAAC;EACpB;EACA;EACA,OAAO;IAAEA,OAAO,EAAE/B;EAAU,CAAC;AAC/B","ignoreList":[]}
|
1
|
+
{"version":3,"names":["path","data","_interopRequireWildcard","require","_fsExtra","_interopRequireDefault","_semver","_componentVersion","_lodash","_componentIssues","_legacy","_legacy2","_legacy3","_toolboxFs","_legacy4","_componentPackageVersion","_filesDependencyBuilder","_packageToDefinetlyTyped","_dependenciesData","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","AutoDetectDeps","constructor","component","workspace","devFiles","depsResolver","aspectLoader","componentId","componentMap","componentFromModel","consumerPath","consumer","getPath","allDependencies","dependencies","devDependencies","peerDependencies","allPackagesDependencies","packageDependencies","devPackageDependencies","peerPackageDependencies","processedFiles","issues","debugDependenciesData","components","setTree","tree","getDependenciesData","cacheResolvedDependencies","cacheProjectAst","componentDir","join","rootDir","allFiles","getAllFilesPaths","envDetectors","getEnvDetectors","dependenciesTree","getDependencyTree","workspacePath","filePaths","visited","length","populateDependencies","envExtendsDeps","getDevFilesForConsumerComp","dependenciesData","DependenciesData","coreAspects","calcComponentEnvDepDetectors","extensions","files","testsFiles","forEach","file","fileType","isTestFile","includes","throwForNonExistFile","processCoreAspects","processMissing","processErrors","processPackages","processComponents","processDepFiles","processUnidentifiedPackages","Error","getComponentIdByResolvedPackageData","bit","getComponentIdByDepFile","depFile","depFileRelative","rootDirFullPath","fullDepFile","resolve","pathNormalizeToLinux","relative","bitMap","getComponentIdByPath","destination","undefined","originFile","nested","push","allDepsFiles","isEmpty","isDepFileUntracked","processOneDepFile","importSpecifiers","dummyFileType","depFileObject","importSource","_pushToUntrackDependenciesIssues","isEqual","ignoreVersion","endsWith","getOrCreate","IssuesClasses","ImportFromDirectory","depComponentMap","getComponentIfExist","depRootDir","destinationRelativePath","startsWith","pathRelativeLinux","sourceRelativePath","depsPaths","importSpecifier","mainFile","exported","currentComponentsDeps","Dependency","_pushToRelativeComponentsAuthoredIssues","existingDependency","getExistingDependency","existingDepRelativePaths","getExistingDepRelativePaths","relativePaths","nonExistingImportSpecifiers","getDiffSpecifiers","depDebug","id","pushToDependenciesArray","compDep","SelfReference","name","dependencyPackageJsonPath","packageJsonPath","dependentPackageJsonPath","componentIdResolvedFrom","packageName","getVersionFromPkgJson","version","versionFromDependencyPkgJson","getValidComponentVersion","concreteVersion","versionResolvedFrom","versionFromDependentPkgJson","versionUsedByDependent","changeVersion","existingId","addImportNonMainIssueIfNeeded","isPeer","packageJsonContent","peer","peerVersionRange","defaultPeerRange","semver","valid","_pushToDependenciesIfNotExist","isPkgInWorkspacePolicies","pkgName","getWorkspacePolicyManifest","filePath","dependencyPkgData","depMain","main","normalizedDepMain","replace","depFullPath","fullPath","extDisallowNonMain","extname","pkgRootDir","dirname","fs","existsSync","DEFAULT_DIST_DIRNAME","nonMainFileSplit","split","nonMainFileShort","ImportNonMainFiles","packages","modelDeps","getAllPackageDependencies","keys","packageNames","concat","missing","_addTypesPackagesForTypeScript","assign","processMissingFiles","missingFiles","filter","hasExtension","Boolean","rootDirAbs","toAbsolutePath","filePathAbs","relativeToCompDir","relativeToCompDirWithoutExt","removeFileExtension","compFilesWithoutExt","map","existWithDifferentExt","some","_pushToMissingDependenciesOnFs","processMissingPackages","missingPackages","_pushToMissingPackagesDependenciesIssues","error","logger","errorAndAddBreadCrumb","code","location","lineNumber","column","ParseErrors","message","ResolveErrors","getCoreAspectsPackagesAndIds","coreAspectIds","values","toStringWithoutVersion","coreAspectsPackages","unidentifiedPackages","usedCoreAspects","findMatchingCoreAspect","find","coreAspectName","unidentifiedPackagesFiltered","matchingCoreAspectPackageName","bitsFiltered","packageInfo","uniq","dependency","opts","existingDevDependency","d","isEqualWithoutVersion","relativePath","paths","originSpecifiers","targetSpecifiers","cmp","specifier1","specifier2","differenceWith","isTypeScript","getExt","depsHost","addFromConfig","DEPENDENCIES_FIELDS","depField","typesPackage","packageToDefinetlyTyped","addFromModel","typedPackageFromModel","added","findExisting","result","getIssue","UntrackedDependencies","currentUntracked","found","untrackedFiles","existing","newUntrackedFile","untrackIssue","untrackedCurrentFile","RelativeComponentsAuthored","MissingDependenciesOnFs","MissingPackagesDependenciesOnFs","foundFile","isDevFile","exports","SNAP_VERSION_PREFIX","versionWithoutSnapPrefix","isSnap","validRange","coerced","coerce","range"],"sources":["auto-detect-deps.ts"],"sourcesContent":["import * as path from 'path';\nimport fs from 'fs-extra';\nimport semver from 'semver';\nimport { isSnap } from '@teambit/component-version';\nimport type { ComponentID } from '@teambit/component-id';\nimport { uniq, isEmpty, forEach, differenceWith } from 'lodash';\nimport type { IssuesList } from '@teambit/component-issues';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport type { RelativePath, ImportSpecifier, ConsumerComponent as Component } from '@teambit/legacy.consumer-component';\nimport { Dependency } from '@teambit/legacy.consumer-component';\nimport { DEFAULT_DIST_DIRNAME, DEPENDENCIES_FIELDS } from '@teambit/legacy.constants';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport { logger } from '@teambit/legacy.logger';\nimport { getExt } from '@teambit/toolbox.fs.extension-getter';\nimport type { PathLinux, PathLinuxRelative, PathOsBased } from '@teambit/legacy.utils';\nimport { pathNormalizeToLinux, pathRelativeLinux, removeFileExtension } from '@teambit/legacy.utils';\nimport type { ResolvedPackageData } from '../resolve-pkg-data';\nimport type { ComponentMap } from '@teambit/legacy.bit-map';\nimport { SNAP_VERSION_PREFIX } from '@teambit/component-package-version';\nimport type { DependencyResolverMain, DependencyDetector } from '@teambit/dependency-resolver';\nimport { getDependencyTree } from '../files-dependency-builder';\nimport type { FileObject, DependenciesTree } from '../files-dependency-builder/types/dependency-tree-type';\nimport type { DevFilesMain } from '@teambit/dev-files';\nimport type { Workspace } from '@teambit/workspace';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { packageToDefinetlyTyped } from './package-to-definetly-typed';\nimport { DependenciesData } from './dependencies-data';\nimport type { AllDependencies, AllPackagesDependencies } from './apply-overrides';\n\nexport type FileType = {\n isTestFile: boolean;\n};\n\nexport type DebugDependencies = {\n components: DebugComponentsDependency[];\n unidentifiedPackages?: string[];\n};\n\nexport type DebugComponentsDependency = {\n id: ComponentID;\n importSource?: string;\n dependencyPackageJsonPath?: string;\n dependentPackageJsonPath?: string;\n // can be resolved here or can be any one of the strategies in dependencies-version-resolver\n versionResolvedFrom?: 'DependencyPkgJson' | 'DependentPkgJson' | 'BitMap' | 'Model' | 'MergeConfig' | string;\n version?: string;\n componentIdResolvedFrom?: 'DependencyPkgJson' | 'DependencyPath';\n packageName?: string;\n};\n\ntype PushToDepsArrayOpts = {\n fileType: FileType;\n depDebug: DebugComponentsDependency;\n isPeer?: boolean;\n};\n\nexport class AutoDetectDeps {\n componentId: ComponentID;\n componentMap: ComponentMap;\n componentFromModel: Component;\n consumerPath: PathOsBased;\n tree: DependenciesTree;\n allDependencies: AllDependencies;\n allPackagesDependencies: AllPackagesDependencies;\n issues: IssuesList;\n coreAspects: string[] = [];\n processedFiles: string[];\n debugDependenciesData: DebugDependencies;\n autoDetectConfigMerge: Record<string, any>;\n constructor(\n private component: Component,\n private workspace: Workspace,\n private devFiles: DevFilesMain,\n private depsResolver: DependencyResolverMain,\n private aspectLoader: AspectLoaderMain\n ) {\n this.componentId = component.componentId;\n // the consumerComponent is coming from the workspace, so it must have the componentMap prop\n this.componentMap = this.component.componentMap as ComponentMap;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this.componentFromModel = this.component.componentFromModel;\n this.consumerPath = this.consumer.getPath();\n this.allDependencies = {\n dependencies: [],\n devDependencies: [],\n peerDependencies: [],\n };\n this.allPackagesDependencies = {\n packageDependencies: {},\n devPackageDependencies: {},\n peerPackageDependencies: {},\n };\n this.processedFiles = [];\n this.issues = component.issues;\n this.debugDependenciesData = { components: [] };\n }\n\n get consumer(): Consumer {\n return this.workspace.consumer;\n }\n\n private setTree(tree: DependenciesTree) {\n this.tree = tree;\n // console.log(JSON.stringify(tree, null, 4)); // uncomment to easily watch the tree received from bit-javascript\n }\n\n /**\n * Resolve components and packages dependencies for a component.\n * This method should NOT have any side-effect on the component. the DependenciesLoader class is\n * responsible for saving this data on the component object.\n *\n * The process is as follows:\n * 1) Use the language driver to parse the component files and find for each file its dependencies.\n * 2) The results we get from the driver per file tells us what are the files and packages that depend on our file.\n * and also whether there are missing packages and files.\n * 3) Using the information from the driver, we go over each one of the dependencies files and find its counterpart\n * component. The way how we find it, is by using the bit.map file which has a mapping between the component name and\n * the file paths.\n * 4) If we find a component to the file dependency, we add it to component.dependencies. Otherwise, it's added to\n * component.issues.untrackedDependencies\n * 5) Similarly, when we find the packages dependencies, they are added to component.packageDependencies. Otherwise,\n * they're added to component.issues.missingPackagesDependenciesOnFs\n * 6) In case the driver found a file dependency that is not on the file-system, we add that file to\n * component.issues.missingDependenciesOnFs\n */\n async getDependenciesData(\n cacheResolvedDependencies: Record<string, any>,\n cacheProjectAst: Record<string, any> | undefined\n ): Promise<{ dependenciesData: DependenciesData; debugDependenciesData: DebugDependencies }> {\n const componentDir = path.join(this.consumerPath, this.componentMap.rootDir);\n const allFiles = this.componentMap.getAllFilesPaths();\n const envDetectors = await this.getEnvDetectors();\n // find the dependencies (internal files and packages) through automatic dependency resolution\n const dependenciesTree = await getDependencyTree({\n componentDir,\n workspacePath: this.consumerPath,\n filePaths: allFiles,\n visited: cacheResolvedDependencies,\n cacheProjectAst,\n envDetectors,\n });\n // we have the files dependencies, these files should be components that are registered in bit.map. Otherwise,\n // they are referred as \"untracked components\" and the user should add them later on in order to tag\n this.setTree(dependenciesTree.tree);\n if (dependenciesTree.tree['env.jsonc']?.components.length > 0) {\n await this.populateDependencies(['env.jsonc'], []);\n }\n const envExtendsDeps = this.allDependencies.dependencies.length\n ? this.allDependencies.dependencies\n : this.component.componentFromModel?.dependencies.dependencies;\n const devFiles = await this.devFiles.getDevFilesForConsumerComp(this.component, envExtendsDeps);\n await this.populateDependencies(allFiles, devFiles);\n return {\n dependenciesData: new DependenciesData(\n this.allDependencies,\n this.allPackagesDependencies,\n this.issues,\n this.coreAspects\n ),\n debugDependenciesData: this.debugDependenciesData,\n };\n }\n\n async getEnvDetectors(): Promise<DependencyDetector[] | null> {\n return this.depsResolver.calcComponentEnvDepDetectors(this.component.extensions);\n }\n\n /**\n * Given the tree of file dependencies from the driver, find the components of these files.\n * Each dependency file has a path, use bit.map to search for the component name by that path.\n * If the component is found, add it to \"this.allDependencies.dependencies\". Otherwise, add it to \"this.issues.untrackedDependencies\".\n *\n * For the found components, add their sourceRelativePath and destinationRelativePath, they are being used for\n * generating links upon import:\n * sourceRelativePath - location of the link file.\n * destinationRelativePath - destination written inside the link file.\n *\n * When a dependency is found in a regular (implementation) file, it goes to `dependencies`. If\n * it found on a test file, it goes to `devDependencies`.\n * Similarly, when a package is found in a regular file, it goes to `packageDependencies`. When\n * if found in a test file, it goes to `devPackageDependencies`.\n * An exception for the above is when a package is required in a regular or test file but is also\n * mentioned in the `package.json` file as a peerDependency, in that case, the package is added\n * to `peerPackageDependencies` and removed from other places. Unless this package is overridden\n * and marked as ignored in the consumer or component config file.\n */\n private async populateDependencies(files: string[], testsFiles: string[]) {\n files.forEach((file) => {\n const fileType: FileType = {\n isTestFile: testsFiles.includes(file),\n };\n this.throwForNonExistFile(file);\n this.processCoreAspects(file);\n this.processMissing(file, fileType);\n this.processErrors(file);\n this.processPackages(file, fileType);\n this.processComponents(file, fileType);\n this.processDepFiles(file, fileType);\n this.processUnidentifiedPackages(file);\n });\n }\n\n private throwForNonExistFile(file: string) {\n if (!this.tree[file]) {\n throw new Error(\n `DependencyResolver: a file \"${file}\" was not returned from the driver, its dependencies are unknown`\n );\n }\n }\n\n private getComponentIdByResolvedPackageData(bit: ResolvedPackageData): ComponentID {\n if (!bit.componentId) {\n throw new Error(`resolved Bit component must have componentId prop in the package.json file`);\n }\n return bit.componentId;\n }\n\n /**\n * this happens when using relative paths between components, which is allowed on Legacy only.\n * on Harmony, during the execution of this function, it recognizes the use of relative-paths, enter\n * it to the \"issues\", then, later, it shows a warning on bit-status and block tagging.\n */\n private getComponentIdByDepFile(depFile: PathLinux): {\n componentId: ComponentID | undefined;\n depFileRelative: PathLinux;\n destination: string | null | undefined;\n } {\n let depFileRelative: PathLinux = depFile; // dependency file path relative to consumer root\n const rootDir = this.componentMap.rootDir;\n // The depFileRelative is relative to rootDir, change it to be relative to current consumer.\n // We can't use path.resolve(rootDir, fileDep) because this might not work when running\n // bit commands not from root, because resolve take by default the process.cwd\n const rootDirFullPath = path.join(this.consumerPath, rootDir);\n const fullDepFile = path.resolve(rootDirFullPath, depFile);\n depFileRelative = pathNormalizeToLinux(path.relative(this.consumerPath, fullDepFile));\n\n const componentId = this.consumer.bitMap.getComponentIdByPath(depFileRelative);\n\n return { componentId, depFileRelative, destination: undefined };\n }\n\n private processDepFiles(originFile: PathLinuxRelative, fileType: FileType, nested = false) {\n // We don't just return because different files of the component might import different things from the depFile\n // See more info here: https://github.com/teambit/bit/issues/1796\n if (!this.processedFiles.includes(originFile)) {\n this.processedFiles.push(originFile);\n // We don't want to calculate nested files again after they calculated as direct files\n } else if (nested) {\n return;\n }\n const allDepsFiles = this.tree[originFile].files;\n if (!allDepsFiles || isEmpty(allDepsFiles)) return;\n allDepsFiles.forEach((depFile: FileObject) => {\n const isDepFileUntracked = this.processOneDepFile(\n originFile,\n depFile.file,\n depFile.importSpecifiers,\n fileType,\n depFile,\n nested\n );\n // Only continue recursively if the dep file is untracked\n // for tracked deps if they have untracked deps they will be shown under their own components\n if (isDepFileUntracked) {\n // Recursively check for untracked files (to show them all in bit status)\n // for nested files we don't really care about the file types since we won't do all the checking\n const dummyFileType: FileType = {\n isTestFile: false,\n };\n this.processDepFiles(depFile.file, dummyFileType, true);\n }\n });\n }\n\n // return true if the dep file is untracked\n private processOneDepFile(\n originFile: PathLinuxRelative,\n depFile: string,\n importSpecifiers: ImportSpecifier[] | undefined,\n fileType: FileType,\n depFileObject: FileObject,\n nested = false\n ): boolean {\n const { componentId, depFileRelative, destination } = this.getComponentIdByDepFile(depFile);\n const importSource: string = depFileObject.importSource as string;\n // the file dependency doesn't have any counterpart component. Add it to this.issues.untrackedDependencies\n if (!componentId) {\n this._pushToUntrackDependenciesIssues(originFile, depFileRelative, nested);\n return true;\n }\n // happens when in the same component one file requires another one. In this case, there is\n // noting to do regarding the dependencies\n if (componentId.isEqual(this.componentId, { ignoreVersion: true })) {\n if (importSource === '.' || importSource.endsWith('/..')) {\n (this.issues.getOrCreate(IssuesClasses.ImportFromDirectory).data[originFile] ||= []).push(importSource);\n }\n return false;\n }\n\n const depComponentMap = this.consumer.bitMap.getComponentIfExist(componentId);\n // found a dependency component. Add it to this.allDependencies.dependencies\n const depRootDir = depComponentMap ? depComponentMap.rootDir : undefined;\n const destinationRelativePath =\n destination ||\n (depRootDir && depFileRelative.startsWith(depRootDir)\n ? pathRelativeLinux(depRootDir, depFileRelative)\n : depFileRelative);\n\n // when there is no rootDir for the current dependency (it happens when it's AUTHORED), keep the original path\n const sourceRelativePath = depRootDir ? depFileRelative : depFile;\n\n const depsPaths: RelativePath = {\n sourceRelativePath,\n destinationRelativePath,\n };\n if (importSpecifiers) {\n importSpecifiers.forEach((importSpecifier) => {\n if (importSpecifier.mainFile) delete importSpecifier.mainFile.exported;\n });\n depsPaths.importSpecifiers = importSpecifiers;\n }\n const currentComponentsDeps = new Dependency(componentId, [depsPaths]);\n this._pushToRelativeComponentsAuthoredIssues(originFile, componentId, importSource, depsPaths);\n\n const allDependencies: Dependency[] = [\n ...this.allDependencies.dependencies,\n ...this.allDependencies.devDependencies,\n ];\n const existingDependency = this.getExistingDependency(allDependencies, componentId);\n if (existingDependency) {\n const existingDepRelativePaths = this.getExistingDepRelativePaths(existingDependency, depsPaths);\n if (!existingDepRelativePaths) {\n // it is another file of an already existing component. Just add the new path\n existingDependency.relativePaths.push(depsPaths);\n return false;\n }\n // The dep path already exists but maybe this dep-file has more importSpecifiers\n if (depsPaths.importSpecifiers) {\n // add them to the existing dep\n if (!existingDepRelativePaths.importSpecifiers) {\n existingDepRelativePaths.importSpecifiers = [...depsPaths.importSpecifiers];\n } else {\n // both have importSpecifiers\n const nonExistingImportSpecifiers = this.getDiffSpecifiers(\n existingDepRelativePaths.importSpecifiers,\n depsPaths.importSpecifiers\n );\n existingDepRelativePaths.importSpecifiers.push(...nonExistingImportSpecifiers);\n }\n }\n\n if (depsPaths.importSource && !existingDepRelativePaths.importSource) {\n existingDepRelativePaths.importSource = depsPaths.importSource;\n }\n } else {\n const depDebug: DebugComponentsDependency = {\n id: currentComponentsDeps.id,\n importSource,\n };\n this.pushToDependenciesArray(currentComponentsDeps, { fileType, depDebug });\n }\n return false;\n }\n\n /**\n * process require/import of Bit components where the require statement is not a relative path\n * but a module path, such as `require('@bit/bit.envs/compiler/babel');`\n */\n private processComponents(originFile: PathLinuxRelative, fileType: FileType) {\n const components = this.tree[originFile].components;\n if (!components || isEmpty(components)) return;\n components.forEach((compDep) => {\n let componentId = this.getComponentIdByResolvedPackageData(compDep);\n if (componentId.isEqual(this.componentId)) {\n this.issues.getOrCreate(IssuesClasses.SelfReference).data[originFile] = compDep.name;\n // the component is importing itself, so ignore it. although currently it doesn't cause any issues, (probably\n // because it filtered out later), it's better to remove it as soon as possible, for less-confusing debugging.\n return;\n }\n const depDebug: DebugComponentsDependency = {\n id: componentId,\n dependencyPackageJsonPath: compDep.packageJsonPath,\n dependentPackageJsonPath: compDep.dependentPackageJsonPath,\n componentIdResolvedFrom: 'DependencyPkgJson',\n packageName: compDep.name,\n };\n if (originFile === 'env.jsonc') {\n depDebug.importSource = 'env.jsonc';\n }\n const getVersionFromPkgJson = (): string | null => {\n const { version: versionFromDependencyPkgJson } = getValidComponentVersion(compDep.concreteVersion);\n if (versionFromDependencyPkgJson) {\n depDebug.versionResolvedFrom = 'DependencyPkgJson';\n return versionFromDependencyPkgJson;\n }\n const { version: versionFromDependentPkgJson } = getValidComponentVersion(compDep.versionUsedByDependent);\n if (versionFromDependentPkgJson) {\n depDebug.versionResolvedFrom = 'DependentPkgJson';\n return versionFromDependentPkgJson;\n }\n return null;\n };\n const version = getVersionFromPkgJson();\n if (version) {\n componentId = componentId.changeVersion(version);\n }\n const existingId = componentId;\n if (existingId.isEqual(this.componentId)) {\n // happens when one of the component files requires another using module path\n // no need to enter anything to the dependencies\n return;\n }\n this.addImportNonMainIssueIfNeeded(originFile, compDep);\n const isPeer = compDep.packageJsonContent?.bit?.peer;\n let peerVersionRange: string | undefined;\n if (isPeer) {\n const defaultPeerRange = compDep.packageJsonContent?.bit?.defaultPeerRange;\n if (!defaultPeerRange) {\n peerVersionRange = '*';\n } else if (['~', '^', '>='].includes(defaultPeerRange)) {\n if (semver.valid(compDep.concreteVersion)) {\n peerVersionRange = `${defaultPeerRange}${compDep.concreteVersion}`;\n } else {\n peerVersionRange = `${defaultPeerRange}0.0.0-${compDep.concreteVersion}`;\n }\n } else {\n peerVersionRange = defaultPeerRange;\n }\n }\n const currentComponentsDeps = new Dependency(existingId, [], compDep.name, peerVersionRange);\n this._pushToDependenciesIfNotExist(currentComponentsDeps, {\n fileType,\n depDebug,\n isPeer,\n });\n });\n }\n\n private isPkgInWorkspacePolicies(pkgName: string) {\n return this.depsResolver.getWorkspacePolicyManifest().dependencies?.[pkgName];\n }\n\n private addImportNonMainIssueIfNeeded(filePath: PathLinuxRelative, dependencyPkgData: ResolvedPackageData) {\n const depMain: PathLinuxRelative | undefined = dependencyPkgData.packageJsonContent?.main;\n if (!depMain) {\n return;\n }\n const normalizedDepMain = depMain.replace('./', '');\n const depFullPath = pathNormalizeToLinux(dependencyPkgData.fullPath);\n if (depFullPath.endsWith(normalizedDepMain)) {\n // it requires the main-file. all is good.\n return;\n }\n const extDisallowNonMain = ['.ts', '.tsx', '.js', '.jsx'];\n if (!extDisallowNonMain.includes(path.extname(depFullPath))) {\n // some files such as scss/json are needed to be imported as non-main\n return;\n }\n const pkgRootDir = dependencyPkgData.packageJsonPath && path.dirname(dependencyPkgData.packageJsonPath);\n if (pkgRootDir && !fs.existsSync(path.join(pkgRootDir, DEFAULT_DIST_DIRNAME))) {\n // the dependency wasn't compiled yet. the issue is probably because depMain points to the dist\n // and depFullPath is in the source.\n return;\n }\n const nonMainFileSplit = depFullPath.split(`node_modules/`);\n const nonMainFileShort = nonMainFileSplit[1] || nonMainFileSplit[0];\n if (nonMainFileShort.includes('eslintrc')) {\n // a temporary workaround for envs that don't expose eslintrc config in their index file.\n // this is needed for a future change of detecting require.resolve syntax\n return;\n }\n (this.issues.getOrCreate(IssuesClasses.ImportNonMainFiles).data[filePath] ||= []).push(nonMainFileShort);\n }\n\n private processPackages(originFile: PathLinuxRelative, fileType: FileType) {\n const packages = this.tree[originFile].packages;\n if (this.componentFromModel) {\n const modelDeps = this.componentFromModel.getAllPackageDependencies();\n // If a package is not in the policies, then we resolve the package from the model.\n for (const pkgName of Object.keys(packages)) {\n if (!this.isPkgInWorkspacePolicies(pkgName) && modelDeps[pkgName]) {\n packages[pkgName] = modelDeps[pkgName];\n }\n }\n }\n const packageNames = Object.keys(packages).concat(this.tree[originFile].missing?.packages ?? []);\n this._addTypesPackagesForTypeScript(packageNames, originFile);\n if (!packages || isEmpty(packages)) return;\n if (fileType.isTestFile) {\n Object.assign(this.allPackagesDependencies.devPackageDependencies, packages);\n } else {\n Object.assign(this.allPackagesDependencies.packageDependencies, packages);\n }\n }\n\n private processMissing(originFile: PathLinuxRelative, fileType: FileType) {\n const missing = this.tree[originFile].missing;\n if (!missing) return;\n const processMissingFiles = () => {\n if (isEmpty(missing.files)) return;\n const missingFiles = missing.files.filter((file) => {\n const hasExtension = Boolean(path.extname(file));\n if (!hasExtension) return true;\n // the missing file has extension, e.g. \"index.js\". It's possible that this file doesn't exist in the source\n // but will be available in the dists. so if found same filename without the extension, we assume it's fine.\n const rootDirAbs = this.consumer.toAbsolutePath(this.componentMap.rootDir);\n const filePathAbs = path.resolve(rootDirAbs, file);\n const relativeToCompDir = path.relative(rootDirAbs, filePathAbs);\n const relativeToCompDirWithoutExt = removeFileExtension(relativeToCompDir);\n const compFilesWithoutExt = this.componentMap.getAllFilesPaths().map((f) => removeFileExtension(f));\n const existWithDifferentExt = compFilesWithoutExt.some((f) => f === relativeToCompDirWithoutExt);\n return !existWithDifferentExt;\n });\n if (isEmpty(missingFiles)) return;\n this._pushToMissingDependenciesOnFs(originFile, missingFiles);\n };\n const processMissingPackages = () => {\n if (isEmpty(missing.packages)) return;\n const missingPackages = missing.packages;\n if (!isEmpty(missingPackages)) {\n this._pushToMissingPackagesDependenciesIssues(originFile, missingPackages, fileType);\n }\n };\n processMissingFiles();\n processMissingPackages();\n }\n\n private processErrors(originFile: PathLinuxRelative) {\n const error: any = this.tree[originFile].error;\n if (!error) return;\n logger.errorAndAddBreadCrumb(\n 'dependency-resolver.processErrors',\n `got an error from the driver while resolving dependencies from \"${originFile}\"`\n );\n logger.error('dependency-resolver.processErrors', error);\n if (error.code === 'PARSING_ERROR') {\n const location = error.lineNumber && error.column ? ` (line: ${error.lineNumber}, column: ${error.column})` : '';\n this.issues.getOrCreate(IssuesClasses.ParseErrors).data[originFile] = error.message + location;\n } else this.issues.getOrCreate(IssuesClasses.ResolveErrors).data[originFile] = error.message;\n }\n\n /**\n * when a user uses core-extensions these core-extensions should not be dependencies.\n * here, we filter them out from all places they could entered as dependencies.\n * an exception is when running this method on bit-core-extensions themselves (dogfooding), in\n * which case we recognizes that the current originFile is a core-extension and avoid filtering.\n */\n private processCoreAspects(originFile: PathLinuxRelative) {\n const coreAspects = this.aspectLoader.getCoreAspectsPackagesAndIds();\n\n // const scopes = coreAspects.map((id) => {\n // const id = id.split()\n // });\n\n const coreAspectIds = Object.values(coreAspects);\n if (coreAspectIds.includes(this.component.id.toStringWithoutVersion())) {\n return;\n }\n\n const coreAspectsPackages = Object.keys(coreAspects);\n\n const components = this.tree[originFile].components;\n const unidentifiedPackages = this.tree[originFile].unidentifiedPackages;\n const usedCoreAspects: string[] = [];\n\n const findMatchingCoreAspect = (packageName: string) => {\n return coreAspectsPackages.find((coreAspectName) => packageName === coreAspectName);\n };\n const unidentifiedPackagesFiltered = unidentifiedPackages?.filter((packageName) => {\n const matchingCoreAspectPackageName = findMatchingCoreAspect(packageName);\n if (matchingCoreAspectPackageName) {\n usedCoreAspects.push(coreAspects[matchingCoreAspectPackageName]);\n }\n return !matchingCoreAspectPackageName;\n });\n const bitsFiltered = components?.filter((packageInfo) => {\n const matchingCoreAspectPackageName = findMatchingCoreAspect(packageInfo.name);\n if (matchingCoreAspectPackageName) {\n usedCoreAspects.push(coreAspects[matchingCoreAspectPackageName]);\n }\n return !matchingCoreAspectPackageName;\n });\n\n this.tree[originFile].unidentifiedPackages = unidentifiedPackagesFiltered;\n this.tree[originFile].components = bitsFiltered;\n this.coreAspects.push(...uniq(usedCoreAspects));\n }\n\n /**\n * ** LEGACY ONLY **\n * This is related to a legacy feature \"custom-module-resolution\". the code was removed, only the debug is still there, just in case.\n *\n * ** OLD COMMENT **\n * currently the only unidentified packages being process are the ones coming from custom-modules-resolution.\n * assuming the author used custom-resolution, which enable using non-relative import syntax,\n * for example, requiring the file 'src/utils/is-string' from anywhere as require('utils/is-string');\n * now, when the component is imported, the driver recognizes 'utils/is-string' as a package,\n * because it's not relative.\n * the goal here is to use the 'package' the driver found and match it with one of the\n * dependencies from the model. In the example above, we might find in the model, a dependency\n * is-string with importSource of 'utils/is-string'.\n * Once a match is found, copy the relativePaths from the model.\n *\n * keep in mind that this custom-modules-resolution supported on legacy components only.\n * as such, no need to find the packageName to pass to _pushToDependenciesIfNotExist method.\n */\n private processUnidentifiedPackages(originFile: PathLinuxRelative) {\n const unidentifiedPackages = this.tree[originFile].unidentifiedPackages;\n if (!unidentifiedPackages || !unidentifiedPackages.length) return;\n this.debugDependenciesData.unidentifiedPackages = unidentifiedPackages;\n }\n\n private _pushToDependenciesIfNotExist(dependency: Dependency, opts: PushToDepsArrayOpts) {\n const existingDependency = this.getExistingDependency(this.allDependencies.dependencies, dependency.id);\n const existingDevDependency = this.getExistingDependency(this.allDependencies.devDependencies, dependency.id);\n // no need to enter dev dependency to devDependencies if it exists already in dependencies\n if (existingDependency || (existingDevDependency && opts.fileType.isTestFile)) {\n return;\n }\n // at this point, either, it doesn't exist at all and should be entered.\n // or it exists in devDependencies but now it comes from non-dev file, which should be entered\n // as non-dev.\n this.pushToDependenciesArray(dependency, opts);\n }\n\n private pushToDependenciesArray(currentComponentsDeps: Dependency, opts: PushToDepsArrayOpts) {\n if (opts.fileType.isTestFile) {\n this.allDependencies.devDependencies.push(currentComponentsDeps);\n } else if (opts.isPeer) {\n this.allDependencies.peerDependencies.push(currentComponentsDeps);\n } else {\n this.allDependencies.dependencies.push(currentComponentsDeps);\n }\n this.debugDependenciesData.components.push(opts.depDebug);\n }\n\n private getExistingDependency(dependencies: Dependency[], id: ComponentID): Dependency | null | undefined {\n return dependencies.find((d) => d.id.isEqualWithoutVersion(id));\n }\n\n private getExistingDepRelativePaths(dependency: Dependency, relativePath: RelativePath) {\n if (!dependency.relativePaths || isEmpty(dependency.relativePaths)) return null;\n return dependency.relativePaths.find(\n (paths) =>\n paths.sourceRelativePath === relativePath.sourceRelativePath &&\n paths.destinationRelativePath === relativePath.destinationRelativePath\n );\n }\n\n private getDiffSpecifiers(originSpecifiers: ImportSpecifier[], targetSpecifiers: ImportSpecifier[]) {\n const cmp = (specifier1, specifier2) => specifier1.mainFile.name === specifier2.mainFile.name;\n return differenceWith(targetSpecifiers, originSpecifiers, cmp);\n }\n\n /**\n * when requiring packages in typescript, sometimes there are the types packages with the same\n * name, which the user probably wants as well. for example, requiring `foo` package, will also\n * add `@types/foo` to the devDependencies if it has been found in the user `package.json` file.\n *\n * ideally this should be in bit-javascript. however, the decision where to put these `@types`\n * packages (dependencies/devDependencies) is done here according to the user `package.json`\n * and can't be done there because the `Tree` we get from bit-javascript doesn't have this\n * distinction.\n */\n private _addTypesPackagesForTypeScript(packageNames: string[], originFile: PathLinuxRelative): void {\n if (packageNames.length === 0) return;\n const isTypeScript = getExt(originFile) === 'ts' || getExt(originFile) === 'tsx';\n if (!isTypeScript) return;\n const depsHost = this.depsResolver.getWorkspacePolicyManifest();\n const addFromConfig = (packageName: string): boolean => {\n if (!depsHost) return false;\n return DEPENDENCIES_FIELDS.some((depField) => {\n if (!depsHost[depField]) return false;\n const typesPackage = packageToDefinetlyTyped(packageName);\n if (!depsHost[depField][typesPackage]) return false;\n Object.assign(this.allPackagesDependencies.devPackageDependencies, {\n [typesPackage]: depsHost[depField][typesPackage],\n });\n return true;\n });\n };\n const addFromModel = (packageName: string) => {\n if (!this.componentFromModel) return;\n const typesPackage = packageToDefinetlyTyped(packageName);\n const typedPackageFromModel = this.componentFromModel.devPackageDependencies[typesPackage];\n if (!typedPackageFromModel) return;\n Object.assign(this.allPackagesDependencies.devPackageDependencies, {\n [typesPackage]: typedPackageFromModel,\n });\n };\n\n packageNames.forEach((packageName) => {\n const added = addFromConfig(packageName);\n if (!added) addFromModel(packageName);\n });\n }\n\n private _pushToUntrackDependenciesIssues(originFile: PathLinuxRelative, depFileRelative, nested = false) {\n const findExisting = () => {\n let result;\n forEach(this.issues.getIssue(IssuesClasses.UntrackedDependencies)?.data || {}, (currentUntracked) => {\n const found = currentUntracked.untrackedFiles.find((file) => {\n return file.relativePath === depFileRelative;\n });\n if (found) {\n result = found;\n }\n });\n return result;\n };\n const existing = findExisting();\n const newUntrackedFile = { relativePath: depFileRelative, existing: false };\n // If it's already found mark them both as existing\n if (existing) {\n newUntrackedFile.existing = true;\n existing.existing = true;\n }\n const untrackIssue = this.issues.getOrCreate(IssuesClasses.UntrackedDependencies);\n const untrackedCurrentFile = untrackIssue?.data[originFile];\n if (untrackedCurrentFile) {\n untrackedCurrentFile.untrackedFiles.push(newUntrackedFile);\n } else {\n untrackIssue.data[originFile] = { nested, untrackedFiles: [newUntrackedFile] };\n }\n }\n private _pushToRelativeComponentsAuthoredIssues(\n originFile,\n componentId: ComponentID,\n importSource: string,\n relativePath: RelativePath\n ) {\n (this.issues.getOrCreate(IssuesClasses.RelativeComponentsAuthored).data[originFile] ||= []).push({\n importSource,\n componentId,\n relativePath,\n });\n }\n private _pushToMissingDependenciesOnFs(originFile: PathLinuxRelative, missingFiles: string[]) {\n (this.issues.getOrCreate(IssuesClasses.MissingDependenciesOnFs).data[originFile] ||= []).push(...missingFiles);\n }\n private _pushToMissingPackagesDependenciesIssues(\n originFile: PathLinuxRelative,\n missingPackages: string[],\n fileType: FileType\n ) {\n const data = this.issues.getOrCreate(IssuesClasses.MissingPackagesDependenciesOnFs).data;\n const foundFile = data.find((file) => file.filePath === originFile);\n if (foundFile) {\n foundFile.missingPackages = uniq([...missingPackages, ...foundFile.missingPackages]);\n } else {\n data.push({ filePath: originFile, missingPackages, isDevFile: fileType.isTestFile });\n }\n }\n}\n\n/**\n * this is not necessarily a valid semver version. in case of a snap, it returns the hash only, not a valid semver.\n * this is for the ComponentID.version.\n */\nexport function getValidComponentVersion(version?: string): { version?: string; range?: string } {\n if (!version) {\n return { version: undefined };\n }\n if (version.startsWith(SNAP_VERSION_PREFIX)) {\n const versionWithoutSnapPrefix = version.replace(SNAP_VERSION_PREFIX, '');\n if (isSnap(versionWithoutSnapPrefix)) {\n return { version: versionWithoutSnapPrefix };\n }\n }\n if (semver.valid(version)) {\n // this takes care of pre-releases as well, as they're considered valid semver.\n return { version };\n }\n if (semver.validRange(version)) {\n // if this is a range, e.g. ^1.0.0, return a valid version: 1.0.0.\n const coerced = semver.coerce(version);\n if (coerced) {\n return { version: coerced.version, range: version };\n }\n }\n if (isSnap(version)) {\n return { version };\n }\n // it's probably a relative path to the component\n return { version: undefined };\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_componentIssues","data","require","_legacy","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","DependenciesData","constructor","allDependencies","allPackagesDependencies","issues","coreAspects","serialize","_this","rest","JSON","stringify","dependencies","map","dep","devDependencies","peerDependencies","overridesDependencies","manuallyRemovedDependencies","manuallyAddedDependencies","missingPackageDependencies","deserialize","dataParsed","parse","Dependency","issuesList","IssuesList","exports"],"sources":["dependencies-data.ts"],"sourcesContent":["import { IssuesList } from '@teambit/component-issues';\nimport type { ManuallyChangedDependencies } from '@teambit/legacy.consumer-component';\nimport { Dependency } from '@teambit/legacy.consumer-component';\nimport type { AllDependencies, AllPackagesDependencies } from './apply-overrides';\n\nexport type OverridesDependenciesData = {\n manuallyRemovedDependencies: ManuallyChangedDependencies;\n manuallyAddedDependencies: ManuallyChangedDependencies;\n missingPackageDependencies: string[];\n};\n\nexport class DependenciesData {\n constructor(\n public allDependencies: AllDependencies,\n public allPackagesDependencies: AllPackagesDependencies,\n public issues: IssuesList,\n public coreAspects: string[]\n ) {}\n\n serialize(): string {\n const { issues, allDependencies, ...rest } = this;\n return JSON.stringify({\n ...rest,\n issues: issues.serialize(),\n allDependencies: {\n dependencies: allDependencies.dependencies.map((dep) => dep.serialize()),\n devDependencies: allDependencies.devDependencies.map((dep) => dep.serialize()),\n peerDependencies: allDependencies.peerDependencies.map((dep) => dep.serialize()),\n },\n // for backward compatibility. version < 1.5.1 expected this to be saved in the fs cache.\n overridesDependencies: {\n manuallyRemovedDependencies: {},\n manuallyAddedDependencies: {},\n missingPackageDependencies: [],\n },\n });\n }\n\n static deserialize(data: string): DependenciesData {\n const dataParsed = JSON.parse(data);\n const dependencies = dataParsed.allDependencies.dependencies.map((dep) => Dependency.deserialize(dep));\n const devDependencies = dataParsed.allDependencies.devDependencies.map((dep) => Dependency.deserialize(dep));\n const peerDependencies = (dataParsed.allDependencies.peerDependencies ?? []).map((dep) =>\n Dependency.deserialize(dep)\n );\n const issuesList = IssuesList.deserialize(dataParsed.issues);\n const allDependencies = { dependencies, devDependencies, peerDependencies };\n const coreAspects = dataParsed.coreAspects;\n return new DependenciesData(allDependencies, dataParsed.allPackagesDependencies, issuesList, coreAspects);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_componentIssues","data","require","_legacy","_excluded","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","_objectWithoutProperties","_objectWithoutPropertiesLoose","n","indexOf","propertyIsEnumerable","hasOwnProperty","DependenciesData","constructor","allDependencies","allPackagesDependencies","issues","coreAspects","serialize","_this","rest","JSON","stringify","dependencies","map","dep","devDependencies","peerDependencies","overridesDependencies","manuallyRemovedDependencies","manuallyAddedDependencies","missingPackageDependencies","deserialize","dataParsed","parse","Dependency","issuesList","IssuesList","exports"],"sources":["dependencies-data.ts"],"sourcesContent":["import { IssuesList } from '@teambit/component-issues';\nimport type { ManuallyChangedDependencies } from '@teambit/legacy.consumer-component';\nimport { Dependency } from '@teambit/legacy.consumer-component';\nimport type { AllDependencies, AllPackagesDependencies } from './apply-overrides';\n\nexport type OverridesDependenciesData = {\n manuallyRemovedDependencies: ManuallyChangedDependencies;\n manuallyAddedDependencies: ManuallyChangedDependencies;\n missingPackageDependencies: string[];\n};\n\nexport class DependenciesData {\n constructor(\n public allDependencies: AllDependencies,\n public allPackagesDependencies: AllPackagesDependencies,\n public issues: IssuesList,\n public coreAspects: string[]\n ) {}\n\n serialize(): string {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const { issues, allDependencies, ...rest } = this;\n return JSON.stringify({\n ...rest,\n issues: issues.serialize(),\n allDependencies: {\n dependencies: allDependencies.dependencies.map((dep) => dep.serialize()),\n devDependencies: allDependencies.devDependencies.map((dep) => dep.serialize()),\n peerDependencies: allDependencies.peerDependencies.map((dep) => dep.serialize()),\n },\n // for backward compatibility. version < 1.5.1 expected this to be saved in the fs cache.\n overridesDependencies: {\n manuallyRemovedDependencies: {},\n manuallyAddedDependencies: {},\n missingPackageDependencies: [],\n },\n });\n }\n\n static deserialize(data: string): DependenciesData {\n const dataParsed = JSON.parse(data);\n const dependencies = dataParsed.allDependencies.dependencies.map((dep) => Dependency.deserialize(dep));\n const devDependencies = dataParsed.allDependencies.devDependencies.map((dep) => Dependency.deserialize(dep));\n const peerDependencies = (dataParsed.allDependencies.peerDependencies ?? []).map((dep) =>\n Dependency.deserialize(dep)\n );\n const issuesList = IssuesList.deserialize(dataParsed.issues);\n const allDependencies = { dependencies, devDependencies, peerDependencies };\n const coreAspects = dataParsed.coreAspects;\n return new DependenciesData(allDependencies, dataParsed.allPackagesDependencies, issuesList, coreAspects);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -29,7 +29,7 @@ const buildTreeFixtures = _path().default.join(fixtures, 'build-tree');
|
|
29
29
|
describe('buildTree', () => {
|
30
30
|
describe('getDependencyTree', () => {
|
31
31
|
const filePaths = [];
|
32
|
-
|
32
|
+
const visited = {};
|
33
33
|
const dependencyTreeParams = {
|
34
34
|
componentDir: __dirname,
|
35
35
|
workspacePath: __dirname,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_chai","data","require","_path","_interopRequireDefault","buildTree","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fixtures","precinctFixtures","path","join","buildTreeFixtures","describe","filePaths","visited","dependencyTreeParams","componentDir","__dirname","workspacePath","it","results","getDependencyTree","expect","to","deep","equal","tree","isEmpty","be","true","have","property","skip","unParsedFile","error","instanceof","Error","resultsCached","before","undefined","missingDepsFile","missing","files","packages","file","an","and","empty","lengthOf","indexDep"],"sources":["build-tree.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport path from 'path';\n\nimport * as buildTree from './build-tree';\n\nconst fixtures = `fixtures`;\nconst precinctFixtures = path.join(fixtures, 'precinct');\nconst buildTreeFixtures = path.join(fixtures, 'build-tree');\n\ndescribe('buildTree', () => {\n describe('getDependencyTree', () => {\n const filePaths: string[] = [];\n let visited: any;\n const dependencyTreeParams = {\n componentDir: __dirname,\n workspacePath: __dirname,\n filePaths,\n visited,\n };\n it('when no files are passed should return an empty tree', async () => {\n const results = await buildTree.getDependencyTree(dependencyTreeParams);\n expect(results).to.deep.equal({ tree: {} });\n });\n it('when unsupported files are passed should return them with no dependencies', async () => {\n dependencyTreeParams.filePaths = [`${fixtures}/unsupported-file.pdf`];\n const results = await buildTree.getDependencyTree(dependencyTreeParams);\n expect(results.tree[`${fixtures}/unsupported-file.pdf`].isEmpty()).to.be.true;\n });\n it('when supported and unsupported files are passed should return them all', async () => {\n dependencyTreeParams.filePaths = [`${fixtures}/unsupported-file.pdf`, `${precinctFixtures}/es6.js`];\n const results = await buildTree.getDependencyTree(dependencyTreeParams);\n expect(results.tree).to.have.property(`${fixtures}/unsupported-file.pdf`);\n expect(results.tree).to.have.property(`${fixtures}/precinct/es6.js`);\n });\n // todo: fix this one and one below once we have a way to ignore some component files from compiling/parsing altogether\n // uncomment unparseable.js\n it.skip('when a js file has parsing error it should add the file to the tree with the error instance', async () => {\n dependencyTreeParams.filePaths = [`${precinctFixtures}/unparseable.js`];\n const results = await buildTree.getDependencyTree(dependencyTreeParams);\n const unParsedFile = `${fixtures}/precinct/unparseable.js`;\n expect(results.tree).to.have.property(unParsedFile);\n expect(results.tree[unParsedFile]).to.have.property('error');\n expect(results.tree[unParsedFile].error).to.be.instanceof(Error);\n });\n it.skip('when a js file has parsing error and it retrieved from the cache it should add the file to the tree with the error instance', async () => {\n dependencyTreeParams.filePaths = [`${precinctFixtures}/unparseable.js`];\n dependencyTreeParams.visited = {};\n const results = await buildTree.getDependencyTree(dependencyTreeParams);\n const unParsedFile = `${fixtures}/precinct/unparseable.js`;\n expect(results.tree).to.have.property(unParsedFile);\n expect(results.tree[unParsedFile]).to.have.property('error');\n expect(results.tree[unParsedFile].error).to.be.instanceof(Error);\n\n // second time, this time it fetches from the cache (visited object)\n const resultsCached = await buildTree.getDependencyTree(dependencyTreeParams);\n expect(resultsCached.tree).to.have.property(unParsedFile);\n expect(resultsCached.tree[unParsedFile]).to.have.property('error');\n expect(resultsCached.tree[unParsedFile].error).to.be.instanceof(Error);\n });\n // todo: fix this one once we have a way to ignore some component files from compiling/parsing altogether\n // uncomment fixtures/build-tree/unparsed.js file\n describe.skip('when a dependency of dependency has parsing error', () => {\n let results;\n before(async () => {\n dependencyTreeParams.filePaths = [`${buildTreeFixtures}/a.js`, `${buildTreeFixtures}/b.js`];\n results = await buildTree.getDependencyTree(dependencyTreeParams);\n });\n it('should add all the files to the tree', async () => {\n expect(results.tree).to.have.property(`${fixtures}/build-tree/a.js`);\n expect(results.tree).to.have.property(`${fixtures}/build-tree/b.js`);\n expect(results.tree).to.have.property(`${fixtures}/build-tree/unparsed.js`);\n });\n it('should not add the error to the files without parsing error', () => {\n expect(results.tree[`${fixtures}/build-tree/a.js`].error).to.be.undefined;\n expect(results.tree[`${fixtures}/build-tree/b.js`].error).to.be.undefined;\n });\n it('should add the parsing error to the un-parsed file', () => {\n expect(results.tree[`${fixtures}/build-tree/unparsed.js`]).to.have.property('error');\n expect(results.tree[`${fixtures}/build-tree/unparsed.js`].error).to.be.instanceof(Error);\n });\n });\n // todo: fix this one once we have a way to ignore some component files from compiling/parsing altogether\n // uncomment fixtures/missing-deps.js file\n describe.skip('missing dependencies', () => {\n let results;\n const missingDepsFile = 'fixtures/missing-deps.js';\n before(async () => {\n dependencyTreeParams.filePaths = [missingDepsFile];\n results = await buildTree.getDependencyTree(dependencyTreeParams);\n expect(results.tree).to.have.property(`${fixtures}/missing-deps.js`);\n expect(results.tree[`${fixtures}/missing-deps.js`]).to.have.property('missing');\n });\n it('it should add the missing dependency to the missing section in the tree', async () => {\n expect(results.tree[`${fixtures}/missing-deps.js`].missing).to.have.property('files');\n expect(results.tree[`${fixtures}/missing-deps.js`].missing.files[0]).to.equal('../non-exist-dep');\n });\n it('it should add the missing package to the missing section in the tree', async () => {\n expect(results.tree[`${fixtures}/missing-deps.js`].missing).to.have.property('packages');\n expect(results.tree[`${fixtures}/missing-deps.js`].missing.packages[0]).to.equal('non-exist-package');\n });\n });\n describe('tree shaking with cycle', () => {\n describe('when a file imports from itself', () => {\n let results;\n before(async () => {\n dependencyTreeParams.filePaths = [`${buildTreeFixtures}/tree-shaking-cycle/self-cycle.js`];\n results = await buildTree.getDependencyTree(dependencyTreeParams);\n });\n it('should not throw an error and should remove itself from the dependencies files', () => {\n const file = `${fixtures}/build-tree/tree-shaking-cycle/self-cycle.js`;\n expect(results.tree[file].files).to.be.an('array').and.empty;\n });\n });\n // probably not relevant anymore.\n describe.skip('cycle with multiple files', () => {\n let results;\n before(async () => {\n dependencyTreeParams.filePaths = [`${buildTreeFixtures}/tree-shaking-cycle/foo.js`];\n results = await buildTree.getDependencyTree(dependencyTreeParams);\n });\n it('should not recognize the cycle dependencies as link files', () => {\n const file = `${fixtures}/build-tree/tree-shaking-cycle/foo.js`;\n expect(results.tree[file].files).to.be.an('array').and.have.lengthOf(1);\n const indexDep = results.tree[file].files[0];\n expect(indexDep.file).to.equal(`${fixtures}/build-tree/tree-shaking-cycle/index.js`);\n });\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_chai","data","require","_path","_interopRequireDefault","buildTree","_interopRequireWildcard","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","fixtures","precinctFixtures","path","join","buildTreeFixtures","describe","filePaths","visited","dependencyTreeParams","componentDir","__dirname","workspacePath","it","results","getDependencyTree","expect","to","deep","equal","tree","isEmpty","be","true","have","property","skip","unParsedFile","error","instanceof","Error","resultsCached","before","undefined","missingDepsFile","missing","files","packages","file","an","and","empty","lengthOf","indexDep"],"sources":["build-tree.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport path from 'path';\n\nimport * as buildTree from './build-tree';\n\nconst fixtures = `fixtures`;\nconst precinctFixtures = path.join(fixtures, 'precinct');\nconst buildTreeFixtures = path.join(fixtures, 'build-tree');\n\ndescribe('buildTree', () => {\n describe('getDependencyTree', () => {\n const filePaths: string[] = [];\n const visited: any = {};\n const dependencyTreeParams = {\n componentDir: __dirname,\n workspacePath: __dirname,\n filePaths,\n visited,\n };\n it('when no files are passed should return an empty tree', async () => {\n const results = await buildTree.getDependencyTree(dependencyTreeParams);\n expect(results).to.deep.equal({ tree: {} });\n });\n it('when unsupported files are passed should return them with no dependencies', async () => {\n dependencyTreeParams.filePaths = [`${fixtures}/unsupported-file.pdf`];\n const results = await buildTree.getDependencyTree(dependencyTreeParams);\n expect(results.tree[`${fixtures}/unsupported-file.pdf`].isEmpty()).to.be.true;\n });\n it('when supported and unsupported files are passed should return them all', async () => {\n dependencyTreeParams.filePaths = [`${fixtures}/unsupported-file.pdf`, `${precinctFixtures}/es6.js`];\n const results = await buildTree.getDependencyTree(dependencyTreeParams);\n expect(results.tree).to.have.property(`${fixtures}/unsupported-file.pdf`);\n expect(results.tree).to.have.property(`${fixtures}/precinct/es6.js`);\n });\n // todo: fix this one and one below once we have a way to ignore some component files from compiling/parsing altogether\n // uncomment unparseable.js\n it.skip('when a js file has parsing error it should add the file to the tree with the error instance', async () => {\n dependencyTreeParams.filePaths = [`${precinctFixtures}/unparseable.js`];\n const results = await buildTree.getDependencyTree(dependencyTreeParams);\n const unParsedFile = `${fixtures}/precinct/unparseable.js`;\n expect(results.tree).to.have.property(unParsedFile);\n expect(results.tree[unParsedFile]).to.have.property('error');\n expect(results.tree[unParsedFile].error).to.be.instanceof(Error);\n });\n it.skip('when a js file has parsing error and it retrieved from the cache it should add the file to the tree with the error instance', async () => {\n dependencyTreeParams.filePaths = [`${precinctFixtures}/unparseable.js`];\n dependencyTreeParams.visited = {};\n const results = await buildTree.getDependencyTree(dependencyTreeParams);\n const unParsedFile = `${fixtures}/precinct/unparseable.js`;\n expect(results.tree).to.have.property(unParsedFile);\n expect(results.tree[unParsedFile]).to.have.property('error');\n expect(results.tree[unParsedFile].error).to.be.instanceof(Error);\n\n // second time, this time it fetches from the cache (visited object)\n const resultsCached = await buildTree.getDependencyTree(dependencyTreeParams);\n expect(resultsCached.tree).to.have.property(unParsedFile);\n expect(resultsCached.tree[unParsedFile]).to.have.property('error');\n expect(resultsCached.tree[unParsedFile].error).to.be.instanceof(Error);\n });\n // todo: fix this one once we have a way to ignore some component files from compiling/parsing altogether\n // uncomment fixtures/build-tree/unparsed.js file\n describe.skip('when a dependency of dependency has parsing error', () => {\n let results;\n before(async () => {\n dependencyTreeParams.filePaths = [`${buildTreeFixtures}/a.js`, `${buildTreeFixtures}/b.js`];\n results = await buildTree.getDependencyTree(dependencyTreeParams);\n });\n it('should add all the files to the tree', async () => {\n expect(results.tree).to.have.property(`${fixtures}/build-tree/a.js`);\n expect(results.tree).to.have.property(`${fixtures}/build-tree/b.js`);\n expect(results.tree).to.have.property(`${fixtures}/build-tree/unparsed.js`);\n });\n it('should not add the error to the files without parsing error', () => {\n expect(results.tree[`${fixtures}/build-tree/a.js`].error).to.be.undefined;\n expect(results.tree[`${fixtures}/build-tree/b.js`].error).to.be.undefined;\n });\n it('should add the parsing error to the un-parsed file', () => {\n expect(results.tree[`${fixtures}/build-tree/unparsed.js`]).to.have.property('error');\n expect(results.tree[`${fixtures}/build-tree/unparsed.js`].error).to.be.instanceof(Error);\n });\n });\n // todo: fix this one once we have a way to ignore some component files from compiling/parsing altogether\n // uncomment fixtures/missing-deps.js file\n describe.skip('missing dependencies', () => {\n let results;\n const missingDepsFile = 'fixtures/missing-deps.js';\n before(async () => {\n dependencyTreeParams.filePaths = [missingDepsFile];\n results = await buildTree.getDependencyTree(dependencyTreeParams);\n expect(results.tree).to.have.property(`${fixtures}/missing-deps.js`);\n expect(results.tree[`${fixtures}/missing-deps.js`]).to.have.property('missing');\n });\n it('it should add the missing dependency to the missing section in the tree', async () => {\n expect(results.tree[`${fixtures}/missing-deps.js`].missing).to.have.property('files');\n expect(results.tree[`${fixtures}/missing-deps.js`].missing.files[0]).to.equal('../non-exist-dep');\n });\n it('it should add the missing package to the missing section in the tree', async () => {\n expect(results.tree[`${fixtures}/missing-deps.js`].missing).to.have.property('packages');\n expect(results.tree[`${fixtures}/missing-deps.js`].missing.packages[0]).to.equal('non-exist-package');\n });\n });\n describe('tree shaking with cycle', () => {\n describe('when a file imports from itself', () => {\n let results;\n before(async () => {\n dependencyTreeParams.filePaths = [`${buildTreeFixtures}/tree-shaking-cycle/self-cycle.js`];\n results = await buildTree.getDependencyTree(dependencyTreeParams);\n });\n it('should not throw an error and should remove itself from the dependencies files', () => {\n const file = `${fixtures}/build-tree/tree-shaking-cycle/self-cycle.js`;\n expect(results.tree[file].files).to.be.an('array').and.empty;\n });\n });\n // probably not relevant anymore.\n describe.skip('cycle with multiple files', () => {\n let results;\n before(async () => {\n dependencyTreeParams.filePaths = [`${buildTreeFixtures}/tree-shaking-cycle/foo.js`];\n results = await buildTree.getDependencyTree(dependencyTreeParams);\n });\n it('should not recognize the cycle dependencies as link files', () => {\n const file = `${fixtures}/build-tree/tree-shaking-cycle/foo.js`;\n expect(results.tree[file].files).to.be.an('array').and.have.lengthOf(1);\n const indexDep = results.tree[file].files[0];\n expect(indexDep.file).to.equal(`${fixtures}/build-tree/tree-shaking-cycle/index.js`);\n });\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
@@ -10,7 +10,7 @@ const buildTreeFixtures = path.join(fixtures, 'build-tree');
|
|
10
10
|
describe('buildTree', () => {
|
11
11
|
describe('getDependencyTree', () => {
|
12
12
|
const filePaths: string[] = [];
|
13
|
-
|
13
|
+
const visited: any = {};
|
14
14
|
const dependencyTreeParams = {
|
15
15
|
componentDir: __dirname,
|
16
16
|
workspacePath: __dirname,
|
package/package.json
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/dependencies",
|
3
|
-
"version": "1.0.
|
3
|
+
"version": "1.0.691",
|
4
4
|
"homepage": "https://bit.cloud/teambit/dependencies/dependencies",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.dependencies",
|
8
8
|
"name": "dependencies",
|
9
|
-
"version": "1.0.
|
9
|
+
"version": "1.0.691"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"archy": "1.0.0",
|
@@ -26,26 +26,17 @@
|
|
26
26
|
"detective-stylus": "1.0.0",
|
27
27
|
"module-definition": "3.3.1",
|
28
28
|
"node-source-walk": "4.2.0",
|
29
|
-
"@teambit/cli": "0.0.1255",
|
30
29
|
"@teambit/legacy.constants": "0.0.14",
|
31
30
|
"@teambit/harmony": "0.4.7",
|
32
31
|
"@teambit/component-id": "1.2.4",
|
33
32
|
"@teambit/component-package-version": "0.0.440",
|
34
|
-
"@teambit/legacy.consumer-component": "0.0.65",
|
35
|
-
"@teambit/logger": "0.0.1348",
|
36
33
|
"@teambit/bit-error": "0.0.404",
|
37
|
-
"@teambit/legacy.dependency-graph": "0.0.67",
|
38
|
-
"@teambit/component.sources": "0.0.116",
|
39
34
|
"@teambit/legacy.utils": "0.0.23",
|
40
35
|
"@teambit/toolbox.path.path": "0.0.8",
|
41
36
|
"@teambit/component-issues": "0.0.161",
|
42
|
-
"@teambit/legacy.bit-map": "0.0.121",
|
43
|
-
"@teambit/legacy.consumer-config": "0.0.64",
|
44
|
-
"@teambit/legacy.consumer": "0.0.64",
|
45
37
|
"@teambit/component-version": "1.0.4",
|
46
38
|
"@teambit/legacy.logger": "0.0.24",
|
47
39
|
"@teambit/toolbox.fs.extension-getter": "0.0.5",
|
48
|
-
"@teambit/legacy.extension-data": "0.0.66",
|
49
40
|
"@teambit/toolbox.fs.last-modified": "0.0.6",
|
50
41
|
"@teambit/styling.deps-lookups.lookup-styling": "0.0.4",
|
51
42
|
"@teambit/typescript.deps-lookups.lookup-typescript": "0.0.2",
|
@@ -55,12 +46,21 @@
|
|
55
46
|
"@teambit/styling.deps-detectors.detective-sass": "0.0.9",
|
56
47
|
"@teambit/styling.deps-detectors.detective-scss": "0.0.9",
|
57
48
|
"@teambit/typescript.deps-detectors.detective-typescript": "0.0.10",
|
58
|
-
"@teambit/
|
59
|
-
"@teambit/
|
60
|
-
"@teambit/
|
61
|
-
"@teambit/
|
62
|
-
"@teambit/
|
63
|
-
"@teambit/
|
49
|
+
"@teambit/cli": "0.0.1256",
|
50
|
+
"@teambit/graph": "1.0.691",
|
51
|
+
"@teambit/workspace": "1.0.691",
|
52
|
+
"@teambit/aspect-loader": "1.0.691",
|
53
|
+
"@teambit/dependency-resolver": "1.0.691",
|
54
|
+
"@teambit/dev-files": "1.0.691",
|
55
|
+
"@teambit/legacy.consumer-component": "0.0.66",
|
56
|
+
"@teambit/logger": "0.0.1349",
|
57
|
+
"@teambit/scope": "1.0.691",
|
58
|
+
"@teambit/legacy.dependency-graph": "0.0.68",
|
59
|
+
"@teambit/component.sources": "0.0.117",
|
60
|
+
"@teambit/legacy.bit-map": "0.0.122",
|
61
|
+
"@teambit/legacy.consumer-config": "0.0.65",
|
62
|
+
"@teambit/legacy.consumer": "0.0.65",
|
63
|
+
"@teambit/legacy.extension-data": "0.0.67"
|
64
64
|
},
|
65
65
|
"devDependencies": {
|
66
66
|
"@types/cli-table": "^0.3.0",
|
@@ -70,11 +70,11 @@
|
|
70
70
|
"rewire": "7.0.0",
|
71
71
|
"sinon": "17.0.1",
|
72
72
|
"@types/mocha": "9.1.0",
|
73
|
-
"@teambit/component.testing.mock-components": "0.0.328",
|
74
|
-
"@teambit/harmony.testing.load-aspect": "0.0.323",
|
75
|
-
"@teambit/workspace.testing.mock-workspace": "0.0.108",
|
76
73
|
"@teambit/defender.fs.global-bit-temp-dir": "0.0.1",
|
77
|
-
"@teambit/harmony.envs.core-aspect-env": "0.0.73"
|
74
|
+
"@teambit/harmony.envs.core-aspect-env": "0.0.73",
|
75
|
+
"@teambit/component.testing.mock-components": "0.0.329",
|
76
|
+
"@teambit/harmony.testing.load-aspect": "0.0.324",
|
77
|
+
"@teambit/workspace.testing.mock-workspace": "0.0.109"
|
78
78
|
},
|
79
79
|
"peerDependencies": {
|
80
80
|
"chai": "5.2.1",
|
File without changes
|