@teambit/dependencies 1.0.667 → 1.0.668
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/apply-overrides.ts +16 -11
- package/dependencies-loader/auto-detect-deps.ts +17 -26
- package/dependencies-loader/dependencies-data.ts +3 -2
- package/dependencies-loader/dependencies-loader.ts +10 -8
- package/dependencies-loader/dependencies-versions-resolver.ts +8 -7
- package/dependencies-loader/overrides-dependencies.ts +2 -2
- package/dist/dependencies-cmd.d.ts +3 -3
- package/dist/dependencies-cmd.js.map +1 -1
- package/dist/dependencies-loader/apply-overrides.d.ts +9 -8
- package/dist/dependencies-loader/apply-overrides.js.map +1 -1
- package/dist/dependencies-loader/auto-detect-deps.d.ts +13 -13
- package/dist/dependencies-loader/auto-detect-deps.js.map +1 -1
- package/dist/dependencies-loader/dependencies-data.d.ts +2 -2
- package/dist/dependencies-loader/dependencies-data.js.map +1 -1
- package/dist/dependencies-loader/dependencies-loader.d.ts +8 -8
- package/dist/dependencies-loader/dependencies-loader.js.map +1 -1
- package/dist/dependencies-loader/dependencies-versions-resolver.d.ts +5 -5
- package/dist/dependencies-loader/dependencies-versions-resolver.js.map +1 -1
- package/dist/dependencies-loader/overrides-dependencies.d.ts +2 -2
- package/dist/dependencies-loader/overrides-dependencies.js.map +1 -1
- package/dist/dependencies.main.runtime.d.ts +13 -13
- package/dist/dependencies.main.runtime.js.map +1 -1
- package/dist/dependencies.spec.js.map +1 -1
- package/dist/dependents-cmd.d.ts +2 -2
- package/dist/dependents-cmd.js.map +1 -1
- package/dist/dependents.d.ts +3 -3
- package/dist/dependents.js.map +1 -1
- package/dist/files-dependency-builder/build-tree.d.ts +1 -1
- package/dist/files-dependency-builder/build-tree.js.map +1 -1
- package/dist/files-dependency-builder/filing-cabinet/index.d.ts +1 -1
- package/dist/files-dependency-builder/filing-cabinet/index.js.map +1 -1
- package/dist/files-dependency-builder/filing-cabinet/index.spec.js.map +1 -1
- package/dist/files-dependency-builder/generate-tree-madge.d.ts +1 -1
- package/dist/files-dependency-builder/generate-tree-madge.js.map +1 -1
- package/dist/files-dependency-builder/missing-handler.d.ts +2 -2
- package/dist/files-dependency-builder/missing-handler.js.map +1 -1
- package/dist/files-dependency-builder/path-map.d.ts +1 -1
- package/dist/files-dependency-builder/path-map.js.map +1 -1
- package/dist/files-dependency-builder/precinct/index.d.ts +1 -1
- package/dist/files-dependency-builder/precinct/index.js.map +1 -1
- package/dist/files-dependency-builder/precinct/index.spec.js.map +1 -1
- package/dist/files-dependency-builder/types/dependency-tree-type.d.ts +3 -3
- package/dist/files-dependency-builder/types/dependency-tree-type.js.map +1 -1
- package/dist/resolve-pkg-data.d.ts +1 -1
- package/dist/resolve-pkg-data.js.map +1 -1
- package/dist/template.d.ts +2 -2
- package/dist/template.js.map +1 -1
- package/files-dependency-builder/build-tree.ts +8 -4
- package/files-dependency-builder/filing-cabinet/index.spec.ts +1 -1
- package/files-dependency-builder/filing-cabinet/index.ts +2 -1
- package/files-dependency-builder/generate-tree-madge.ts +1 -1
- package/files-dependency-builder/missing-handler.ts +4 -2
- package/files-dependency-builder/path-map.ts +1 -1
- package/files-dependency-builder/precinct/index.spec.ts +1 -1
- package/files-dependency-builder/precinct/index.ts +2 -1
- package/files-dependency-builder/types/dependency-tree-type.ts +3 -3
- package/package.json +22 -22
- /package/dist/{preview-1753809186996.js → preview-1753833698619.js} +0 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_componentId","data","require","_semver","_interopRequireDefault","_componentVersion","_legacy","_lodash","_legacy2","_autoDetectDeps","e","__esModule","default","updateDependenciesVersions","depsResolver","workspace","component","overridesDependencies","autoDetectOverrides","debugDependencies","updateExtensionsVersions","consumer","autoDetectConfigMerge","getAutoDetectConfigMerge","id","currentLane","getCurrentLaneObject","componentRangePrefix","calcComponentRangePrefixByConsumerComponent","supportComponentRange","updateDependencies","dependencies","devDependencies","peerDependencies","updateExtensions","extensions","resolveVersion","depType","pkg","idFromBitMap","getIdFromBitMap","idFromComponentConfig","getIdFromComponentConfig","getFromComponentConfig","getFromBitMap","getFromUpdateDependentsOnLane","getIdFromUpdateDependentsOnLane","getFromOverrides","resolveFromOverrides","debugDep","find","dep","isEqualWithoutVersion","getFromDepPackageJson","hasVersion","getFromDepPackageJsonDueToWorkspacePolicy","fromPolicy","pkgVersionFromWorkspacePolicies","compId","range","semver","validRange","undefined","getFromMergeConfig","resolveFromMergeConfig","getFromDepPackageJsonDueToAutoDetectOverrides","isPkgInAutoDetectOverrides","getFromModel","getIdFromModelDeps","componentFromModel","strategies","strategy","strategyId","version","ComponentID","logger","trace","toString","name","versionResolvedFrom","replace","updateDependency","dependency","packageName","resolvedVersion","changeVersion","versionRange","isSnap","get","forEach","updateExtension","extension","extensionId","componentId","getAllDependenciesIds","searchWithoutVersion","existingIds","bitmapIdsFromCurrentLane","filterWithoutVersion","length","updateDependents","overrides","getComponentDependenciesWithVersion","isEmpty","Object","keys","idStr","toStringWithoutVersion","pkgName","getDependenciesToAddManually","found","validVersion","getValidComponentVersion","DEPENDENCIES_FIELDS","some","depField","getWorkspacePolicyManifest","foundVersion","field","foundValidVersion"],"sources":["dependencies-versions-resolver.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport semver from 'semver';\nimport { isSnap } from '@teambit/component-version';\nimport { Consumer } from '@teambit/legacy.consumer';\nimport { Workspace } from '@teambit/workspace';\nimport { logger } from '@teambit/legacy.logger';\nimport { isEmpty } from 'lodash';\nimport { Dependency, Dependencies, ConsumerComponent as Component } from '@teambit/legacy.consumer-component';\nimport { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy.extension-data';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { DEPENDENCIES_FIELDS } from '@teambit/legacy.constants';\nimport OverridesDependencies from './overrides-dependencies';\nimport { DebugComponentsDependency, getValidComponentVersion } from './auto-detect-deps';\n\ntype DepType = 'dependencies' | 'devDependencies' | 'peerDependencies';\n\nexport async function updateDependenciesVersions(\n depsResolver: DependencyResolverMain,\n workspace: Workspace,\n component: Component,\n overridesDependencies: OverridesDependencies,\n autoDetectOverrides?: Record<string, any>,\n debugDependencies?: DebugComponentsDependency[],\n updateExtensionsVersions = true\n) {\n const consumer: Consumer = workspace.consumer;\n const autoDetectConfigMerge = workspace.getAutoDetectConfigMerge(component.id) || {};\n const currentLane = await workspace.getCurrentLaneObject();\n const componentRangePrefix = depsResolver.calcComponentRangePrefixByConsumerComponent(component);\n const supportComponentRange = componentRangePrefix && componentRangePrefix !== '-';\n updateDependencies(component.dependencies, 'dependencies');\n updateDependencies(component.devDependencies, 'devDependencies');\n updateDependencies(component.peerDependencies, 'peerDependencies');\n if (updateExtensionsVersions) {\n updateExtensions(component.extensions);\n }\n\n /**\n * the `pkg` can be missing only in two scenarios:\n * 1: the dependency is using relative-paths, not the module path. (which bit-status shows an error and suggests\n * running bit link --rewire).\n * 2: this gets called for extension-id.\n */\n function resolveVersion(id: ComponentID, depType: DepType, pkg?: string): { version?: string; range?: string } {\n const idFromBitMap = getIdFromBitMap(id);\n const idFromComponentConfig = getIdFromComponentConfig(id);\n const getFromComponentConfig = () => idFromComponentConfig;\n const getFromBitMap = () => idFromBitMap || null;\n const getFromUpdateDependentsOnLane = () => getIdFromUpdateDependentsOnLane(id);\n // later, change this to return the version from the overrides.\n const getFromOverrides = () => resolveFromOverrides(id, depType, pkg);\n const debugDep = debugDependencies?.find((dep) => dep.id.isEqualWithoutVersion(id));\n // the id we get from the auto-detect is coming from the package.json of the dependency.\n const getFromDepPackageJson = () => (id.hasVersion() ? id : null);\n // In case it's resolved from the node_modules, and it's also in the ws policy or variants,\n // use the resolved version from the node_modules / package folder\n const getFromDepPackageJsonDueToWorkspacePolicy = () => {\n if (!pkg || !id.hasVersion()) return null;\n const fromPolicy = pkgVersionFromWorkspacePolicies(pkg);\n if (!fromPolicy) return null;\n return {\n compId: id,\n range: supportComponentRange && semver.validRange(fromPolicy) ? fromPolicy : undefined,\n };\n };\n // merge config here is only auto-detected ones. their priority is less then the ws policy\n // otherwise, imagine you merge a lane, you don't like the dependency you got from the other lane, you run\n // bit-install to change it, but it won't do anything.\n const getFromMergeConfig = () => (pkg ? resolveFromMergeConfig(id, pkg) : null);\n const getFromDepPackageJsonDueToAutoDetectOverrides = () => (pkg && isPkgInAutoDetectOverrides(pkg) ? id : null);\n // If there is a version in the node_modules/package folder, but it's not in the ws policy,\n // prefer the version from the model over the version from the node_modules\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const getFromModel = () => getIdFromModelDeps(component.componentFromModel!, id);\n\n const strategies = [\n getFromComponentConfig,\n getFromOverrides,\n getFromBitMap,\n getFromUpdateDependentsOnLane,\n getFromDepPackageJsonDueToWorkspacePolicy,\n getFromMergeConfig,\n getFromDepPackageJsonDueToAutoDetectOverrides,\n getFromModel,\n getFromDepPackageJson,\n ];\n\n for (const strategy of strategies) {\n const strategyId = strategy();\n if (!strategyId) continue;\n const version = strategyId instanceof ComponentID ? strategyId.version : strategyId.compId?.version;\n if (!version) continue;\n logger.trace(`found dependency version ${version} for ${id.toString()} in strategy ${strategy.name}`);\n if (debugDep) {\n debugDep.versionResolvedFrom = strategy.name.replace('getFrom', '');\n debugDep.version = version;\n }\n\n return { version, range: strategyId instanceof ComponentID ? undefined : strategyId.range };\n }\n return {};\n }\n\n function updateDependency(dependency: Dependency, depType: DepType) {\n const { id, packageName } = dependency;\n const { version: resolvedVersion, range } = resolveVersion(id, depType, packageName);\n if (!resolvedVersion) {\n return;\n }\n dependency.id = dependency.id.changeVersion(resolvedVersion);\n if (supportComponentRange) {\n if (range) dependency.versionRange = range;\n else if (\n resolvedVersion !== 'latest' &&\n (componentRangePrefix === '^' || componentRangePrefix === '~') &&\n !isSnap(resolvedVersion)\n ) {\n dependency.versionRange = `${componentRangePrefix}${resolvedVersion}`;\n }\n } else if (dependency.versionRange && depType !== 'peerDependencies' && dependency.versionRange !== '+') {\n dependency.versionRange = undefined;\n }\n }\n function updateDependencies(dependencies: Dependencies, depType: DepType) {\n dependencies.get().forEach((dep) => updateDependency(dep, depType));\n }\n\n function updateExtension(extension: ExtensionDataEntry) {\n if (extension.extensionId) {\n const { version: resolvedVersion } = resolveVersion(extension.extensionId, 'devDependencies');\n if (resolvedVersion) {\n extension.extensionId = extension.extensionId.changeVersion(resolvedVersion);\n }\n }\n }\n function updateExtensions(extensions: ExtensionDataList) {\n extensions.forEach(updateExtension);\n }\n\n function getIdFromModelDeps(componentFromModel: Component, componentId: ComponentID): ComponentID | null {\n if (!componentFromModel) return null;\n const dependency = componentFromModel.getAllDependenciesIds().searchWithoutVersion(componentId);\n if (!dependency) return null;\n return dependency;\n }\n\n function getIdFromBitMap(componentId: ComponentID): ComponentID | null | undefined {\n const existingIds = consumer.bitmapIdsFromCurrentLane.filterWithoutVersion(componentId);\n return existingIds.length === 1 ? existingIds[0] : undefined;\n }\n\n function getIdFromUpdateDependentsOnLane(id: ComponentID) {\n const updateDependents = currentLane?.updateDependents;\n if (!updateDependents) return undefined;\n return updateDependents.find((dep) => dep.isEqualWithoutVersion(id));\n }\n\n function getIdFromComponentConfig(componentId: ComponentID): ComponentID | undefined {\n const dependencies = component.overrides.getComponentDependenciesWithVersion();\n if (isEmpty(dependencies)) return undefined;\n const dependency = Object.keys(dependencies).find((idStr) => componentId.toStringWithoutVersion() === idStr);\n if (!dependency) return undefined;\n return componentId.changeVersion(dependencies[dependency]);\n }\n\n /**\n * config in .bitmap or component.json are resolved here.\n */\n function resolveFromOverrides(\n id: ComponentID,\n depType: DepType,\n pkgName?: string\n ): { compId?: ComponentID; range?: string } | undefined {\n if (!pkgName) return undefined;\n const dependencies = overridesDependencies.getDependenciesToAddManually();\n const found = dependencies?.[depType]?.[pkgName];\n if (!found) return undefined;\n const { version: validVersion, range } = getValidComponentVersion(found);\n const compId = validVersion ? id.changeVersion(validVersion) : undefined;\n return { compId, range };\n }\n\n function isPkgInAutoDetectOverrides(pkgName: string): boolean {\n return DEPENDENCIES_FIELDS.some(\n (depField) => autoDetectOverrides?.[depField] && autoDetectOverrides[depField][pkgName]\n );\n }\n\n function pkgVersionFromWorkspacePolicies(pkgName: string): string | undefined {\n return depsResolver.getWorkspacePolicyManifest().dependencies?.[pkgName];\n }\n\n function resolveFromMergeConfig(id: ComponentID, pkgName: string): ComponentID | undefined {\n let foundVersion: string | undefined | null;\n DEPENDENCIES_FIELDS.forEach((field) => {\n if (autoDetectConfigMerge[field]?.[pkgName]) {\n foundVersion = autoDetectConfigMerge[field]?.[pkgName];\n }\n });\n const foundValidVersion = foundVersion ? getValidComponentVersion(foundVersion) : undefined;\n return foundValidVersion?.version ? id.changeVersion(foundValidVersion.version) : undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_componentId","data","require","_semver","_interopRequireDefault","_componentVersion","_legacy","_lodash","_legacy2","_autoDetectDeps","e","__esModule","default","updateDependenciesVersions","depsResolver","workspace","component","overridesDependencies","autoDetectOverrides","debugDependencies","updateExtensionsVersions","consumer","autoDetectConfigMerge","getAutoDetectConfigMerge","id","currentLane","getCurrentLaneObject","componentRangePrefix","calcComponentRangePrefixByConsumerComponent","supportComponentRange","updateDependencies","dependencies","devDependencies","peerDependencies","updateExtensions","extensions","resolveVersion","depType","pkg","idFromBitMap","getIdFromBitMap","idFromComponentConfig","getIdFromComponentConfig","getFromComponentConfig","getFromBitMap","getFromUpdateDependentsOnLane","getIdFromUpdateDependentsOnLane","getFromOverrides","resolveFromOverrides","debugDep","find","dep","isEqualWithoutVersion","getFromDepPackageJson","hasVersion","getFromDepPackageJsonDueToWorkspacePolicy","fromPolicy","pkgVersionFromWorkspacePolicies","compId","range","semver","validRange","undefined","getFromMergeConfig","resolveFromMergeConfig","getFromDepPackageJsonDueToAutoDetectOverrides","isPkgInAutoDetectOverrides","getFromModel","getIdFromModelDeps","componentFromModel","strategies","strategy","strategyId","version","ComponentID","logger","trace","toString","name","versionResolvedFrom","replace","updateDependency","dependency","packageName","resolvedVersion","changeVersion","versionRange","isSnap","get","forEach","updateExtension","extension","extensionId","componentId","getAllDependenciesIds","searchWithoutVersion","existingIds","bitmapIdsFromCurrentLane","filterWithoutVersion","length","updateDependents","overrides","getComponentDependenciesWithVersion","isEmpty","Object","keys","idStr","toStringWithoutVersion","pkgName","getDependenciesToAddManually","found","validVersion","getValidComponentVersion","DEPENDENCIES_FIELDS","some","depField","getWorkspacePolicyManifest","foundVersion","field","foundValidVersion"],"sources":["dependencies-versions-resolver.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport semver from 'semver';\nimport { isSnap } from '@teambit/component-version';\nimport type { Consumer } from '@teambit/legacy.consumer';\nimport type { Workspace } from '@teambit/workspace';\nimport { logger } from '@teambit/legacy.logger';\nimport { isEmpty } from 'lodash';\nimport type { Dependency, Dependencies, ConsumerComponent as Component } from '@teambit/legacy.consumer-component';\nimport type { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy.extension-data';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { DEPENDENCIES_FIELDS } from '@teambit/legacy.constants';\nimport type OverridesDependencies from './overrides-dependencies';\nimport type { DebugComponentsDependency } from './auto-detect-deps';\nimport { getValidComponentVersion } from './auto-detect-deps';\n\ntype DepType = 'dependencies' | 'devDependencies' | 'peerDependencies';\n\nexport async function updateDependenciesVersions(\n depsResolver: DependencyResolverMain,\n workspace: Workspace,\n component: Component,\n overridesDependencies: OverridesDependencies,\n autoDetectOverrides?: Record<string, any>,\n debugDependencies?: DebugComponentsDependency[],\n updateExtensionsVersions = true\n) {\n const consumer: Consumer = workspace.consumer;\n const autoDetectConfigMerge = workspace.getAutoDetectConfigMerge(component.id) || {};\n const currentLane = await workspace.getCurrentLaneObject();\n const componentRangePrefix = depsResolver.calcComponentRangePrefixByConsumerComponent(component);\n const supportComponentRange = componentRangePrefix && componentRangePrefix !== '-';\n updateDependencies(component.dependencies, 'dependencies');\n updateDependencies(component.devDependencies, 'devDependencies');\n updateDependencies(component.peerDependencies, 'peerDependencies');\n if (updateExtensionsVersions) {\n updateExtensions(component.extensions);\n }\n\n /**\n * the `pkg` can be missing only in two scenarios:\n * 1: the dependency is using relative-paths, not the module path. (which bit-status shows an error and suggests\n * running bit link --rewire).\n * 2: this gets called for extension-id.\n */\n function resolveVersion(id: ComponentID, depType: DepType, pkg?: string): { version?: string; range?: string } {\n const idFromBitMap = getIdFromBitMap(id);\n const idFromComponentConfig = getIdFromComponentConfig(id);\n const getFromComponentConfig = () => idFromComponentConfig;\n const getFromBitMap = () => idFromBitMap || null;\n const getFromUpdateDependentsOnLane = () => getIdFromUpdateDependentsOnLane(id);\n // later, change this to return the version from the overrides.\n const getFromOverrides = () => resolveFromOverrides(id, depType, pkg);\n const debugDep = debugDependencies?.find((dep) => dep.id.isEqualWithoutVersion(id));\n // the id we get from the auto-detect is coming from the package.json of the dependency.\n const getFromDepPackageJson = () => (id.hasVersion() ? id : null);\n // In case it's resolved from the node_modules, and it's also in the ws policy or variants,\n // use the resolved version from the node_modules / package folder\n const getFromDepPackageJsonDueToWorkspacePolicy = () => {\n if (!pkg || !id.hasVersion()) return null;\n const fromPolicy = pkgVersionFromWorkspacePolicies(pkg);\n if (!fromPolicy) return null;\n return {\n compId: id,\n range: supportComponentRange && semver.validRange(fromPolicy) ? fromPolicy : undefined,\n };\n };\n // merge config here is only auto-detected ones. their priority is less then the ws policy\n // otherwise, imagine you merge a lane, you don't like the dependency you got from the other lane, you run\n // bit-install to change it, but it won't do anything.\n const getFromMergeConfig = () => (pkg ? resolveFromMergeConfig(id, pkg) : null);\n const getFromDepPackageJsonDueToAutoDetectOverrides = () => (pkg && isPkgInAutoDetectOverrides(pkg) ? id : null);\n // If there is a version in the node_modules/package folder, but it's not in the ws policy,\n // prefer the version from the model over the version from the node_modules\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const getFromModel = () => getIdFromModelDeps(component.componentFromModel!, id);\n\n const strategies = [\n getFromComponentConfig,\n getFromOverrides,\n getFromBitMap,\n getFromUpdateDependentsOnLane,\n getFromDepPackageJsonDueToWorkspacePolicy,\n getFromMergeConfig,\n getFromDepPackageJsonDueToAutoDetectOverrides,\n getFromModel,\n getFromDepPackageJson,\n ];\n\n for (const strategy of strategies) {\n const strategyId = strategy();\n if (!strategyId) continue;\n const version = strategyId instanceof ComponentID ? strategyId.version : strategyId.compId?.version;\n if (!version) continue;\n logger.trace(`found dependency version ${version} for ${id.toString()} in strategy ${strategy.name}`);\n if (debugDep) {\n debugDep.versionResolvedFrom = strategy.name.replace('getFrom', '');\n debugDep.version = version;\n }\n\n return { version, range: strategyId instanceof ComponentID ? undefined : strategyId.range };\n }\n return {};\n }\n\n function updateDependency(dependency: Dependency, depType: DepType) {\n const { id, packageName } = dependency;\n const { version: resolvedVersion, range } = resolveVersion(id, depType, packageName);\n if (!resolvedVersion) {\n return;\n }\n dependency.id = dependency.id.changeVersion(resolvedVersion);\n if (supportComponentRange) {\n if (range) dependency.versionRange = range;\n else if (\n resolvedVersion !== 'latest' &&\n (componentRangePrefix === '^' || componentRangePrefix === '~') &&\n !isSnap(resolvedVersion)\n ) {\n dependency.versionRange = `${componentRangePrefix}${resolvedVersion}`;\n }\n } else if (dependency.versionRange && depType !== 'peerDependencies' && dependency.versionRange !== '+') {\n dependency.versionRange = undefined;\n }\n }\n function updateDependencies(dependencies: Dependencies, depType: DepType) {\n dependencies.get().forEach((dep) => updateDependency(dep, depType));\n }\n\n function updateExtension(extension: ExtensionDataEntry) {\n if (extension.extensionId) {\n const { version: resolvedVersion } = resolveVersion(extension.extensionId, 'devDependencies');\n if (resolvedVersion) {\n extension.extensionId = extension.extensionId.changeVersion(resolvedVersion);\n }\n }\n }\n function updateExtensions(extensions: ExtensionDataList) {\n extensions.forEach(updateExtension);\n }\n\n function getIdFromModelDeps(componentFromModel: Component, componentId: ComponentID): ComponentID | null {\n if (!componentFromModel) return null;\n const dependency = componentFromModel.getAllDependenciesIds().searchWithoutVersion(componentId);\n if (!dependency) return null;\n return dependency;\n }\n\n function getIdFromBitMap(componentId: ComponentID): ComponentID | null | undefined {\n const existingIds = consumer.bitmapIdsFromCurrentLane.filterWithoutVersion(componentId);\n return existingIds.length === 1 ? existingIds[0] : undefined;\n }\n\n function getIdFromUpdateDependentsOnLane(id: ComponentID) {\n const updateDependents = currentLane?.updateDependents;\n if (!updateDependents) return undefined;\n return updateDependents.find((dep) => dep.isEqualWithoutVersion(id));\n }\n\n function getIdFromComponentConfig(componentId: ComponentID): ComponentID | undefined {\n const dependencies = component.overrides.getComponentDependenciesWithVersion();\n if (isEmpty(dependencies)) return undefined;\n const dependency = Object.keys(dependencies).find((idStr) => componentId.toStringWithoutVersion() === idStr);\n if (!dependency) return undefined;\n return componentId.changeVersion(dependencies[dependency]);\n }\n\n /**\n * config in .bitmap or component.json are resolved here.\n */\n function resolveFromOverrides(\n id: ComponentID,\n depType: DepType,\n pkgName?: string\n ): { compId?: ComponentID; range?: string } | undefined {\n if (!pkgName) return undefined;\n const dependencies = overridesDependencies.getDependenciesToAddManually();\n const found = dependencies?.[depType]?.[pkgName];\n if (!found) return undefined;\n const { version: validVersion, range } = getValidComponentVersion(found);\n const compId = validVersion ? id.changeVersion(validVersion) : undefined;\n return { compId, range };\n }\n\n function isPkgInAutoDetectOverrides(pkgName: string): boolean {\n return DEPENDENCIES_FIELDS.some(\n (depField) => autoDetectOverrides?.[depField] && autoDetectOverrides[depField][pkgName]\n );\n }\n\n function pkgVersionFromWorkspacePolicies(pkgName: string): string | undefined {\n return depsResolver.getWorkspacePolicyManifest().dependencies?.[pkgName];\n }\n\n function resolveFromMergeConfig(id: ComponentID, pkgName: string): ComponentID | undefined {\n let foundVersion: string | undefined | null;\n DEPENDENCIES_FIELDS.forEach((field) => {\n if (autoDetectConfigMerge[field]?.[pkgName]) {\n foundVersion = autoDetectConfigMerge[field]?.[pkgName];\n }\n });\n const foundValidVersion = foundVersion ? getValidComponentVersion(foundVersion) : undefined;\n return foundValidVersion?.version ? id.changeVersion(foundValidVersion.version) : undefined;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import { ConsumerComponent as Component, ManuallyChangedDependencies } from '@teambit/legacy.consumer-component';
|
2
|
-
import { FileType } from './auto-detect-deps';
|
1
|
+
import type { ConsumerComponent as Component, ManuallyChangedDependencies } from '@teambit/legacy.consumer-component';
|
2
|
+
import type { FileType } from './auto-detect-deps';
|
3
3
|
export default class OverridesDependencies {
|
4
4
|
component: Component;
|
5
5
|
componentFromModel: Component | null | undefined;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_legacy","data","require","_legacy2","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","OverridesDependencies","constructor","component","componentFromModel","manuallyRemovedDependencies","manuallyAddedDependencies","missingPackageDependencies","shouldIgnorePackage","packageName","fileType","field","isTestFile","shouldIgnorePackageByType","packages","some","pkg","ignoreField","overrides","getIgnoredPackages","ignore","_addManuallyRemovedDep","shouldIgnorePeerPackage","ignorePeer","getDependenciesToAddManually","componentOverridesData","undefined","DEPENDENCIES_FIELDS","forEach","depField","keys","dependency","dependencyValue","MANUALLY_REMOVE_DEPENDENCY","_manuallyAddPackage","packageJson","packageVersionToAdd","MANUALLY_ADD_DEPENDENCY","found","find","versionToAdd","logger","debug","id","toString","push","packageStr","_addManuallyAddedDep","includes","exports","default"],"sources":["overrides-dependencies.ts"],"sourcesContent":["import { DEPENDENCIES_FIELDS, MANUALLY_ADD_DEPENDENCY, MANUALLY_REMOVE_DEPENDENCY } from '@teambit/legacy.constants';\nimport { logger } from '@teambit/legacy.logger';\nimport { ConsumerComponent as Component, ManuallyChangedDependencies } from '@teambit/legacy.consumer-component';\nimport { FileType } from './auto-detect-deps';\n\nexport default class OverridesDependencies {\n component: Component;\n componentFromModel: Component | null | undefined;\n manuallyRemovedDependencies: ManuallyChangedDependencies;\n manuallyAddedDependencies: ManuallyChangedDependencies;\n missingPackageDependencies: string[];\n constructor(component: Component) {\n this.component = component;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this.componentFromModel = this.component.componentFromModel;\n this.manuallyRemovedDependencies = {};\n this.manuallyAddedDependencies = {};\n this.missingPackageDependencies = [];\n }\n\n shouldIgnorePackage(packageName: string, fileType: FileType): boolean {\n const field = fileType.isTestFile ? 'devDependencies' : 'dependencies';\n return this.shouldIgnorePackageByType(packageName, field);\n }\n\n shouldIgnorePackageByType(packageName: string, field: string): boolean {\n const shouldIgnorePackage = (packages: string[]) => {\n return packages.some((pkg) => pkg === packageName);\n };\n const ignoreField = this.component.overrides.getIgnoredPackages(field);\n const ignore = shouldIgnorePackage(ignoreField);\n if (ignore) {\n this._addManuallyRemovedDep(field, packageName);\n }\n return ignore;\n }\n\n shouldIgnorePeerPackage(packageName: string): boolean {\n const shouldIgnorePackage = (packages: string[]) => {\n return packages.some((pkg) => pkg === packageName);\n };\n const field = 'peerDependencies';\n const ignorePeer = this.component.overrides.getIgnoredPackages(field);\n const ignore = shouldIgnorePackage(ignorePeer);\n if (ignore) {\n this._addManuallyRemovedDep(field, packageName);\n }\n return ignore;\n }\n\n getDependenciesToAddManually(): Record<string, any> | undefined {\n const overrides = this.component.overrides.componentOverridesData;\n if (!overrides) return undefined;\n const packages = {};\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (!overrides[depField]) return;\n Object.keys(overrides[depField]).forEach((dependency) => {\n const dependencyValue = overrides[depField][dependency];\n if (dependencyValue === MANUALLY_REMOVE_DEPENDENCY) return;\n (packages[depField] ||= {})[dependency] = dependencyValue;\n });\n });\n return packages;\n }\n\n _manuallyAddPackage(\n field: string,\n dependency: string,\n dependencyValue: string,\n packageJson: Record<string, any> | null | undefined\n ): Record<string, any> | null | undefined {\n const packageVersionToAdd = (): string | null | undefined => {\n if (dependencyValue !== MANUALLY_ADD_DEPENDENCY) {\n return dependencyValue;\n }\n if (!packageJson) return null;\n for (const depField of DEPENDENCIES_FIELDS) {\n if (packageJson[depField]) {\n const found = Object.keys(packageJson[depField]).find((pkg) => pkg === dependency);\n if (found) return packageJson[depField][dependency];\n }\n }\n return null;\n };\n const versionToAdd = packageVersionToAdd();\n if (!versionToAdd) {\n logger.debug(`unable to manually add the dependency \"${dependency}\" into \"${this.component.id.toString()}\".\nit's not an existing component, nor existing package (in a package.json)`);\n this.missingPackageDependencies.push(dependency);\n return undefined;\n }\n const packageStr = `${dependency}@${versionToAdd}`;\n this._addManuallyAddedDep(field, packageStr);\n\n return { [dependency]: versionToAdd };\n }\n\n _addManuallyRemovedDep(field: string, value: string) {\n this.manuallyRemovedDependencies[field]\n ? this.manuallyRemovedDependencies[field].push(value)\n : (this.manuallyRemovedDependencies[field] = [value]);\n }\n\n _addManuallyAddedDep(field: string, value: string) {\n if (this.manuallyAddedDependencies?.[field]?.includes(value)) return;\n\n this.manuallyAddedDependencies[field]\n ? this.manuallyAddedDependencies[field].push(value)\n : (this.manuallyAddedDependencies[field] = [value]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_legacy","data","require","_legacy2","_defineProperty","e","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","OverridesDependencies","constructor","component","componentFromModel","manuallyRemovedDependencies","manuallyAddedDependencies","missingPackageDependencies","shouldIgnorePackage","packageName","fileType","field","isTestFile","shouldIgnorePackageByType","packages","some","pkg","ignoreField","overrides","getIgnoredPackages","ignore","_addManuallyRemovedDep","shouldIgnorePeerPackage","ignorePeer","getDependenciesToAddManually","componentOverridesData","undefined","DEPENDENCIES_FIELDS","forEach","depField","keys","dependency","dependencyValue","MANUALLY_REMOVE_DEPENDENCY","_manuallyAddPackage","packageJson","packageVersionToAdd","MANUALLY_ADD_DEPENDENCY","found","find","versionToAdd","logger","debug","id","toString","push","packageStr","_addManuallyAddedDep","includes","exports","default"],"sources":["overrides-dependencies.ts"],"sourcesContent":["import { DEPENDENCIES_FIELDS, MANUALLY_ADD_DEPENDENCY, MANUALLY_REMOVE_DEPENDENCY } from '@teambit/legacy.constants';\nimport { logger } from '@teambit/legacy.logger';\nimport type { ConsumerComponent as Component, ManuallyChangedDependencies } from '@teambit/legacy.consumer-component';\nimport type { FileType } from './auto-detect-deps';\n\nexport default class OverridesDependencies {\n component: Component;\n componentFromModel: Component | null | undefined;\n manuallyRemovedDependencies: ManuallyChangedDependencies;\n manuallyAddedDependencies: ManuallyChangedDependencies;\n missingPackageDependencies: string[];\n constructor(component: Component) {\n this.component = component;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this.componentFromModel = this.component.componentFromModel;\n this.manuallyRemovedDependencies = {};\n this.manuallyAddedDependencies = {};\n this.missingPackageDependencies = [];\n }\n\n shouldIgnorePackage(packageName: string, fileType: FileType): boolean {\n const field = fileType.isTestFile ? 'devDependencies' : 'dependencies';\n return this.shouldIgnorePackageByType(packageName, field);\n }\n\n shouldIgnorePackageByType(packageName: string, field: string): boolean {\n const shouldIgnorePackage = (packages: string[]) => {\n return packages.some((pkg) => pkg === packageName);\n };\n const ignoreField = this.component.overrides.getIgnoredPackages(field);\n const ignore = shouldIgnorePackage(ignoreField);\n if (ignore) {\n this._addManuallyRemovedDep(field, packageName);\n }\n return ignore;\n }\n\n shouldIgnorePeerPackage(packageName: string): boolean {\n const shouldIgnorePackage = (packages: string[]) => {\n return packages.some((pkg) => pkg === packageName);\n };\n const field = 'peerDependencies';\n const ignorePeer = this.component.overrides.getIgnoredPackages(field);\n const ignore = shouldIgnorePackage(ignorePeer);\n if (ignore) {\n this._addManuallyRemovedDep(field, packageName);\n }\n return ignore;\n }\n\n getDependenciesToAddManually(): Record<string, any> | undefined {\n const overrides = this.component.overrides.componentOverridesData;\n if (!overrides) return undefined;\n const packages = {};\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (!overrides[depField]) return;\n Object.keys(overrides[depField]).forEach((dependency) => {\n const dependencyValue = overrides[depField][dependency];\n if (dependencyValue === MANUALLY_REMOVE_DEPENDENCY) return;\n (packages[depField] ||= {})[dependency] = dependencyValue;\n });\n });\n return packages;\n }\n\n _manuallyAddPackage(\n field: string,\n dependency: string,\n dependencyValue: string,\n packageJson: Record<string, any> | null | undefined\n ): Record<string, any> | null | undefined {\n const packageVersionToAdd = (): string | null | undefined => {\n if (dependencyValue !== MANUALLY_ADD_DEPENDENCY) {\n return dependencyValue;\n }\n if (!packageJson) return null;\n for (const depField of DEPENDENCIES_FIELDS) {\n if (packageJson[depField]) {\n const found = Object.keys(packageJson[depField]).find((pkg) => pkg === dependency);\n if (found) return packageJson[depField][dependency];\n }\n }\n return null;\n };\n const versionToAdd = packageVersionToAdd();\n if (!versionToAdd) {\n logger.debug(`unable to manually add the dependency \"${dependency}\" into \"${this.component.id.toString()}\".\nit's not an existing component, nor existing package (in a package.json)`);\n this.missingPackageDependencies.push(dependency);\n return undefined;\n }\n const packageStr = `${dependency}@${versionToAdd}`;\n this._addManuallyAddedDep(field, packageStr);\n\n return { [dependency]: versionToAdd };\n }\n\n _addManuallyRemovedDep(field: string, value: string) {\n this.manuallyRemovedDependencies[field]\n ? this.manuallyRemovedDependencies[field].push(value)\n : (this.manuallyRemovedDependencies[field] = [value]);\n }\n\n _addManuallyAddedDep(field: string, value: string) {\n if (this.manuallyAddedDependencies?.[field]?.includes(value)) return;\n\n this.manuallyAddedDependencies[field]\n ? this.manuallyAddedDependencies[field].push(value)\n : (this.manuallyAddedDependencies[field] = [value]);\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,16 +1,16 @@
|
|
1
|
-
import { CLIMain } from '@teambit/cli';
|
2
|
-
import { ComponentID } from '@teambit/component-id';
|
3
|
-
import { DependencyResolverMain } from '@teambit/dependency-resolver';
|
4
|
-
import { Workspace } from '@teambit/workspace';
|
5
|
-
import { ConsumerComponent, DependencyLoaderOpts } from '@teambit/legacy.consumer-component';
|
6
|
-
import { DevFilesMain } from '@teambit/dev-files';
|
7
|
-
import { ComponentIdGraph, GraphMain } from '@teambit/graph';
|
8
|
-
import { AspectLoaderMain } from '@teambit/aspect-loader';
|
9
|
-
import { ScopeMain } from '@teambit/scope';
|
10
|
-
import { DependenciesData, OverridesDependenciesData } from './dependencies-loader/dependencies-data';
|
11
|
-
import { RemoveDependenciesFlags, SetDependenciesFlags } from './dependencies-cmd';
|
12
|
-
import { DebugDependencies } from './dependencies-loader/auto-detect-deps';
|
13
|
-
import { Logger, LoggerMain } from '@teambit/logger';
|
1
|
+
import type { CLIMain } from '@teambit/cli';
|
2
|
+
import type { ComponentID } from '@teambit/component-id';
|
3
|
+
import type { DependencyResolverMain } from '@teambit/dependency-resolver';
|
4
|
+
import type { Workspace } from '@teambit/workspace';
|
5
|
+
import type { ConsumerComponent, DependencyLoaderOpts } from '@teambit/legacy.consumer-component';
|
6
|
+
import type { DevFilesMain } from '@teambit/dev-files';
|
7
|
+
import type { ComponentIdGraph, GraphMain } from '@teambit/graph';
|
8
|
+
import type { AspectLoaderMain } from '@teambit/aspect-loader';
|
9
|
+
import type { ScopeMain } from '@teambit/scope';
|
10
|
+
import type { DependenciesData, OverridesDependenciesData } from './dependencies-loader/dependencies-data';
|
11
|
+
import type { RemoveDependenciesFlags, SetDependenciesFlags } from './dependencies-cmd';
|
12
|
+
import type { DebugDependencies } from './dependencies-loader/auto-detect-deps';
|
13
|
+
import type { Logger, LoggerMain } from '@teambit/logger';
|
14
14
|
export type RemoveDependencyResult = {
|
15
15
|
id: ComponentID;
|
16
16
|
removedPackages: string[];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_cli","data","require","_moment","_interopRequireDefault","_dependencyResolver","_workspace","_lodash","_pMapSeries","_legacy","_devFiles","_graph","_aspectLoader","_componentPackageVersion","_scope","_dependenciesLoader","_dependenciesCmd","_dependencies","_dependentsCmd","_logger","e","__esModule","default","ownKeys","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","DependenciesMain","constructor","workspace","scope","dependencyResolver","devFiles","aspectLoader","graph","logger","setPeer","componentId","range","compId","resolveComponentId","config","peer","defaultPeerRange","addSpecificComponentConfig","DependencyResolverAspect","id","shouldMergeWithExisting","shouldMergeWithPrevious","bitMap","write","unsetPeer","getAspectConfigForComponent","addComponentConfig","setDependency","componentPattern","packages","options","compIds","idsByPattern","getDepField","dev","packagesObj","Promise","all","map","pkg","name","version","getPackageNameAndVerResolved","optional","policy","changedComps","toStringWithoutVersion","addedPackages","removeDependency","removeOnlyIfExists","getLifeCycle","results","pMapSeries","component","get","missingPackages","uniq","state","issues","getIssueByName","d","flat","depList","getDependencies","getCurrentConfig","currentConfigFromWorkspace","getSpecificComponentConfig","extFromScope","getExtensionsFromScopeAndSpecific","toConfigObject","currentDepResolverConfig","newDepResolverConfig","cloneDeep","depField","KEY_NAME_BY_LIFECYCLE_TYPE","removedPackagesWithNulls","splitPkgToNameAndVer","dependency","findByPkgNameOrCompId","includes","set","depName","getPackageName","existsInSpecificConfig","removedPackages","compact","reset","eject","factory","comp","compIdWithVer","getGraphIds","host","loadDependencies","opts","dependenciesLoader","DependenciesLoader","load","loadDependenciesFromScope","dependenciesData","loadFromScope","debugDependencies","OutsideWorkspaceError","consumerComponent","_consumer","cacheResolvedDependencies","useDependenciesCache","missingPackageDependencies","manuallyAddedDependencies","manuallyRemovedDependencies","overridesDependencies","sources","dep","source","debugDependenciesData","coreAspects","blame","compName","log","getLogs","blameResults","lastVersion","logItem","changeVersion","tag","hash","snap","author","username","date","moment","Date","parseInt","format","message","usageDeep","isComponentId","getPackageManager","findUsages","lockfileDir","path","depth","undefined","usage","allComps","list","toString","resolveLatest","pkgName","versionResolver","getVersionResolver","resolved","resolveRemoteVersion","rootDir","Error","versionResolved","snapToSemver","packageSplit","split","startsWith","provider","cli","depsResolver","loggerMain","createLogger","DependenciesAspect","depsMain","depsCmd","DependenciesCmd","commands","DependenciesGetCmd","DependenciesRemoveCmd","DependenciesUnsetCmd","DependenciesDebugCmd","DependenciesSetCmd","DependenciesResetCmd","DependenciesEjectCmd","DependenciesBlameCmd","DependenciesUsageCmd","DependenciesWriteCmd","register","WhyCmd","SetPeerCmd","UnsetPeerCmd","DependentsCmd","ComponentLoader","loadDeps","bind","exports","CLIAspect","WorkspaceAspect","DevFilesAspect","AspectLoaderAspect","ScopeAspect","GraphAspect","LoggerAspect","MainRuntime","addRuntime","_default"],"sources":["dependencies.main.runtime.ts"],"sourcesContent":["import { CLIAspect, CLIMain, MainRuntime } from '@teambit/cli';\nimport moment from 'moment';\nimport { ComponentID } from '@teambit/component-id';\nimport {\n DependencyResolverAspect,\n DependencyResolverMain,\n KEY_NAME_BY_LIFECYCLE_TYPE,\n} from '@teambit/dependency-resolver';\nimport { WorkspaceAspect, OutsideWorkspaceError, Workspace } from '@teambit/workspace';\nimport { cloneDeep, compact, set, uniq } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport { ConsumerComponent, ComponentLoader, DependencyLoaderOpts } from '@teambit/legacy.consumer-component';\nimport { DevFilesAspect, DevFilesMain } from '@teambit/dev-files';\nimport { GraphAspect, ComponentIdGraph, GraphMain } from '@teambit/graph';\nimport { AspectLoaderAspect, AspectLoaderMain } from '@teambit/aspect-loader';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { ScopeAspect, ScopeMain } from '@teambit/scope';\nimport { DependenciesLoader } from './dependencies-loader/dependencies-loader';\nimport { DependenciesData, OverridesDependenciesData } from './dependencies-loader/dependencies-data';\nimport {\n DependenciesBlameCmd,\n DependenciesCmd,\n DependenciesDebugCmd,\n DependenciesEjectCmd,\n DependenciesGetCmd,\n DependenciesRemoveCmd,\n DependenciesResetCmd,\n DependenciesSetCmd,\n DependenciesUnsetCmd,\n DependenciesUsageCmd,\n DependenciesWriteCmd,\n RemoveDependenciesFlags,\n SetDependenciesFlags,\n SetPeerCmd,\n UnsetPeerCmd,\n WhyCmd,\n} from './dependencies-cmd';\nimport { DependenciesAspect } from './dependencies.aspect';\nimport { DebugDependencies } from './dependencies-loader/auto-detect-deps';\nimport { DependentsCmd } from './dependents-cmd';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\n\nexport type RemoveDependencyResult = { id: ComponentID; removedPackages: string[] };\nexport type SetDependenciesResult = { changedComps: string[]; addedPackages: Record<string, string> };\nexport type DependenciesResultsDebug = DebugDependencies &\n OverridesDependenciesData & { coreAspects: string[]; sources: { id: string; source: string }[] };\n\nexport type DependenciesResults = {\n graph: ComponentIdGraph;\n id: ComponentID;\n};\n\nexport type BlameResult = {\n snap: string;\n tag?: string;\n author: string;\n date: string;\n message: string;\n version: string;\n};\n\nexport class DependenciesMain {\n constructor(\n private workspace: Workspace,\n private scope: ScopeMain,\n private dependencyResolver: DependencyResolverMain,\n private devFiles: DevFilesMain,\n private aspectLoader: AspectLoaderMain,\n private graph: GraphMain,\n private logger: Logger\n ) {}\n\n async setPeer(componentId: string, range?: string): Promise<void> {\n const compId = await this.workspace.resolveComponentId(componentId);\n const config = { peer: true, defaultPeerRange: range };\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, config, {\n shouldMergeWithExisting: true,\n shouldMergeWithPrevious: true,\n });\n\n await this.workspace.bitMap.write(`set-peer (${componentId})`);\n }\n\n async unsetPeer(componentId: string): Promise<void> {\n const compId = await this.workspace.resolveComponentId(componentId);\n // const config = { peer: true, defaultPeerRange: range };\n const config = await this.workspace.getAspectConfigForComponent(compId, DependencyResolverAspect.id);\n if (config) {\n if ('peer' in config) {\n delete config.peer;\n }\n if ('defaultPeerRange' in config) {\n delete config.defaultPeerRange;\n }\n }\n this.workspace.bitMap.addComponentConfig(compId, DependencyResolverAspect.id, config);\n\n await this.workspace.bitMap.write(`unset-peer (${componentId})`);\n }\n\n async setDependency(\n componentPattern: string,\n packages: string[],\n options: SetDependenciesFlags = {}\n ): Promise<SetDependenciesResult> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n const getDepField = () => {\n if (options.dev) return 'devDependencies';\n if (options.peer) return 'peerDependencies';\n return 'dependencies';\n };\n const packagesObj = {};\n await Promise.all(\n packages.map(async (pkg) => {\n const [name, version] = await this.getPackageNameAndVerResolved(pkg);\n if (options.optional) {\n packagesObj[name] = { optional: true, version };\n } else {\n packagesObj[name] = version;\n }\n })\n );\n const config = {\n policy: {\n [getDepField()]: packagesObj,\n },\n };\n await Promise.all(\n compIds.map(async (compId) => {\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, config, {\n shouldMergeWithExisting: true,\n shouldMergeWithPrevious: true,\n });\n })\n );\n\n await this.workspace.bitMap.write(`deps-set (${componentPattern})`);\n\n return {\n changedComps: compIds.map((compId) => compId.toStringWithoutVersion()),\n addedPackages: packagesObj,\n };\n }\n\n async removeDependency(\n componentPattern: string,\n packages: string[],\n options: RemoveDependenciesFlags = {},\n removeOnlyIfExists = false // unset\n ): Promise<RemoveDependencyResult[]> {\n const getLifeCycle = () => {\n if (options.dev) return 'dev';\n if (options.peer) return 'peer';\n return 'runtime';\n };\n const compIds = await this.workspace.idsByPattern(componentPattern);\n const results = await pMapSeries(compIds, async (compId) => {\n const component = await this.workspace.get(compId);\n const missingPackages = uniq(\n component.state.issues\n .getIssueByName('MissingPackagesDependenciesOnFs')\n ?.data.map((d) => d.missingPackages)\n .flat() || []\n );\n const depList = this.dependencyResolver.getDependencies(component);\n const getCurrentConfig = async () => {\n const currentConfigFromWorkspace = await this.workspace.getSpecificComponentConfig(\n compId,\n DependencyResolverAspect.id\n );\n if (currentConfigFromWorkspace) return currentConfigFromWorkspace;\n const extFromScope = await this.workspace.getExtensionsFromScopeAndSpecific(compId);\n return extFromScope?.toConfigObject()[DependencyResolverAspect.id];\n };\n const currentDepResolverConfig = await getCurrentConfig();\n const newDepResolverConfig = cloneDeep(currentDepResolverConfig || {});\n const depField = KEY_NAME_BY_LIFECYCLE_TYPE[getLifeCycle()];\n const removedPackagesWithNulls = await pMapSeries(packages, async (pkg) => {\n const [name, version] = this.splitPkgToNameAndVer(pkg);\n const dependency = depList.findByPkgNameOrCompId(name, version, getLifeCycle());\n if (!dependency) {\n if (!missingPackages.includes(name)) return null;\n if (removeOnlyIfExists) return null;\n set(newDepResolverConfig, ['policy', depField, name], '-');\n return `${name}@${version || 'latest'}`;\n }\n const depName = dependency.getPackageName?.() || dependency.id;\n\n const existsInSpecificConfig = newDepResolverConfig.policy?.[depField]?.[depName];\n if (existsInSpecificConfig) {\n if (existsInSpecificConfig === '-') return null;\n delete newDepResolverConfig.policy[depField][depName];\n } else {\n if (removeOnlyIfExists) return null;\n set(newDepResolverConfig, ['policy', depField, depName], '-');\n }\n return `${depName}@${dependency.version}`;\n });\n const removedPackages = compact(removedPackagesWithNulls);\n if (!removedPackages.length) return null;\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, newDepResolverConfig);\n return { id: compId, removedPackages };\n });\n await this.workspace.bitMap.write(`deps-remove (${componentPattern})`);\n\n return compact(results);\n }\n\n async reset(componentPattern: string): Promise<ComponentID[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n await pMapSeries(compIds, async (compId) => {\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, { policy: {} });\n });\n await this.workspace.bitMap.write(`deps-reset (${componentPattern})`);\n\n return compIds;\n }\n\n async eject(componentPattern: string): Promise<ComponentID[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n await pMapSeries(compIds, async (compId) => {\n await this.workspace.addSpecificComponentConfig(\n compId,\n DependencyResolverAspect.id,\n {},\n {\n shouldMergeWithExisting: true,\n shouldMergeWithPrevious: true,\n }\n );\n });\n await this.workspace.bitMap.write(`deps-eject (${componentPattern})`);\n\n return compIds;\n }\n\n async getDependencies(id: string, scope?: boolean): Promise<DependenciesResults> {\n const factory = this.workspace && !scope ? this.workspace : this.scope;\n const compId = await (this.workspace || this.scope).resolveComponentId(id);\n const comp = await (this.workspace || this.scope).get(compId);\n const compIdWithVer = comp.id;\n const graph = await this.graph.getGraphIds([compIdWithVer], { host: factory as any });\n\n return { graph, id: compIdWithVer };\n }\n\n async loadDependencies(component: ConsumerComponent, opts: DependencyLoaderOpts) {\n const dependenciesLoader = new DependenciesLoader(\n component,\n this.dependencyResolver,\n this.devFiles,\n this.aspectLoader,\n this.logger\n );\n return dependenciesLoader.load(this.workspace, opts);\n }\n\n /**\n * load dependencies without the need for the workspace.\n * the \"auto-detect\" are passed here as \"dependenciesData\". the \"overrides\", such as dependencies from the env,\n * are calculated here.\n * eventually all these dependencies are added to the ConsumerComponent object.\n */\n async loadDependenciesFromScope(component: ConsumerComponent, dependenciesData: Partial<DependenciesData>) {\n const dependenciesLoader = new DependenciesLoader(\n component,\n this.dependencyResolver,\n this.devFiles,\n this.aspectLoader,\n this.logger\n );\n return dependenciesLoader.loadFromScope(dependenciesData);\n }\n\n async debugDependencies(id: string): Promise<DependenciesResultsDebug> {\n // @todo: supports this on bare-scope.\n if (!this.workspace) throw new OutsideWorkspaceError();\n const compId = await this.workspace.resolveComponentId(id);\n const component = await this.workspace.get(compId);\n const consumerComponent = component.state._consumer as ConsumerComponent;\n\n const dependenciesData = await this.loadDependencies(consumerComponent, {\n cacheResolvedDependencies: {},\n useDependenciesCache: false,\n });\n\n const { missingPackageDependencies, manuallyAddedDependencies, manuallyRemovedDependencies } =\n dependenciesData.overridesDependencies;\n\n const results = this.dependencyResolver.getDependencies(component);\n const sources = results.map((dep) => ({ id: dep.id, source: dep.source }));\n\n return {\n ...dependenciesData.debugDependenciesData,\n manuallyRemovedDependencies,\n manuallyAddedDependencies,\n missingPackageDependencies,\n coreAspects: dependenciesData.dependenciesData.coreAspects,\n sources,\n };\n }\n\n /**\n * helps determine what snap/tag changed a specific dependency.\n * the results are sorted from the oldest to newest.\n */\n async blame(compName: string, depName: string) {\n const id = await this.workspace.resolveComponentId(compName);\n const log = await this.workspace.scope.getLogs(id);\n const blameResults: BlameResult[] = [];\n let lastVersion = '';\n await pMapSeries(log, async (logItem) => {\n const component = await this.workspace.get(id.changeVersion(logItem.tag || logItem.hash));\n const depList = this.dependencyResolver.getDependencies(component);\n const dependency = depList.findByPkgNameOrCompId(depName);\n if (dependency && dependency.version === lastVersion) {\n return;\n }\n let version: string;\n if (!dependency) {\n if (!lastVersion) return;\n version = '<REMOVED>';\n } else {\n version = dependency.version;\n }\n if (!dependency || dependency.version === lastVersion) return;\n lastVersion = dependency.version;\n blameResults.push({\n snap: logItem.hash,\n tag: logItem.tag,\n author: logItem.username || '<N/A>',\n date: logItem.date ? moment(new Date(parseInt(logItem.date))).format('YYYY-MM-DD HH:mm:ss') : '<N/A>',\n message: logItem.message,\n version,\n });\n });\n return blameResults;\n }\n\n async usageDeep(depName: string, opts?: { depth?: number }): Promise<string | undefined> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (!isComponentId(depName)) {\n return this.dependencyResolver.getPackageManager()?.findUsages?.(depName, {\n lockfileDir: this.workspace.path,\n depth: opts?.depth,\n });\n }\n return undefined;\n }\n\n /**\n * @param depName either component-id-string or package-name (of the component or not component)\n * @returns a map of component-id-string to the version of the dependency\n */\n async usage(depName: string): Promise<{ [compIdStr: string]: string }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const [name, version] = this.splitPkgToNameAndVer(depName);\n const allComps = await this.workspace.list();\n const results = {};\n await Promise.all(\n allComps.map(async (comp) => {\n const depList = this.dependencyResolver.getDependencies(comp);\n const dependency = depList.findByPkgNameOrCompId(name, version);\n if (dependency) {\n results[comp.id.toString()] = dependency.version;\n }\n })\n );\n return results;\n }\n\n private async getPackageNameAndVerResolved(pkg: string): Promise<[string, string]> {\n const resolveLatest = async (pkgName: string) => {\n const versionResolver = await this.dependencyResolver.getVersionResolver({});\n const resolved = await versionResolver.resolveRemoteVersion(pkgName, { rootDir: '' });\n if (!resolved.version) throw new Error(`unable to resolve version for ${pkgName}`);\n return resolved.version;\n };\n const [name, version] = this.splitPkgToNameAndVer(pkg);\n const versionResolved = !version || version === 'latest' ? await resolveLatest(name) : version;\n return [name, snapToSemver(versionResolved)];\n }\n\n private splitPkgToNameAndVer(pkg: string): [string, string | undefined] {\n const packageSplit = pkg.split('@');\n if (pkg.startsWith('@')) {\n // scoped package\n if (packageSplit.length > 3) throw new Error(`invalid package \"${pkg}\" syntax, expected \"package[@version]\"`);\n return [`@${packageSplit[1]}`, packageSplit[2]];\n }\n if (packageSplit.length > 2) throw new Error(`invalid package \"${pkg}\" syntax, expected \"package[@version]\"`);\n return [packageSplit[0], packageSplit[1]];\n }\n\n static slots = [];\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n DependencyResolverAspect,\n DevFilesAspect,\n AspectLoaderAspect,\n ScopeAspect,\n GraphAspect,\n LoggerAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider([cli, workspace, depsResolver, devFiles, aspectLoader, scope, graph, loggerMain]: [\n CLIMain,\n Workspace,\n DependencyResolverMain,\n DevFilesMain,\n AspectLoaderMain,\n ScopeMain,\n GraphMain,\n LoggerMain,\n ]) {\n const logger = loggerMain.createLogger(DependenciesAspect.id);\n const depsMain = new DependenciesMain(workspace, scope, depsResolver, devFiles, aspectLoader, graph, logger);\n const depsCmd = new DependenciesCmd();\n depsCmd.commands = [\n new DependenciesGetCmd(depsMain),\n new DependenciesRemoveCmd(depsMain),\n new DependenciesUnsetCmd(depsMain),\n new DependenciesDebugCmd(depsMain),\n new DependenciesSetCmd(depsMain),\n new DependenciesResetCmd(depsMain),\n new DependenciesEjectCmd(depsMain),\n new DependenciesBlameCmd(depsMain),\n new DependenciesUsageCmd(depsMain),\n new DependenciesWriteCmd(workspace),\n ];\n cli.register(\n depsCmd,\n new WhyCmd(depsMain),\n new SetPeerCmd(depsMain),\n new UnsetPeerCmd(depsMain),\n new DependentsCmd(workspace)\n );\n\n ComponentLoader.loadDeps = depsMain.loadDependencies.bind(depsMain);\n\n return depsMain;\n }\n}\n\nfunction isComponentId(depName: string) {\n return depName.includes('/') && depName[0] !== '@';\n}\n\nDependenciesAspect.addRuntime(DependenciesMain);\n\nexport default DependenciesMain;\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_cli","data","require","_moment","_interopRequireDefault","_dependencyResolver","_workspace","_lodash","_pMapSeries","_legacy","_devFiles","_graph","_aspectLoader","_componentPackageVersion","_scope","_dependenciesLoader","_dependenciesCmd","_dependencies","_dependentsCmd","_logger","e","__esModule","default","ownKeys","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","DependenciesMain","constructor","workspace","scope","dependencyResolver","devFiles","aspectLoader","graph","logger","setPeer","componentId","range","compId","resolveComponentId","config","peer","defaultPeerRange","addSpecificComponentConfig","DependencyResolverAspect","id","shouldMergeWithExisting","shouldMergeWithPrevious","bitMap","write","unsetPeer","getAspectConfigForComponent","addComponentConfig","setDependency","componentPattern","packages","options","compIds","idsByPattern","getDepField","dev","packagesObj","Promise","all","map","pkg","name","version","getPackageNameAndVerResolved","optional","policy","changedComps","toStringWithoutVersion","addedPackages","removeDependency","removeOnlyIfExists","getLifeCycle","results","pMapSeries","component","get","missingPackages","uniq","state","issues","getIssueByName","d","flat","depList","getDependencies","getCurrentConfig","currentConfigFromWorkspace","getSpecificComponentConfig","extFromScope","getExtensionsFromScopeAndSpecific","toConfigObject","currentDepResolverConfig","newDepResolverConfig","cloneDeep","depField","KEY_NAME_BY_LIFECYCLE_TYPE","removedPackagesWithNulls","splitPkgToNameAndVer","dependency","findByPkgNameOrCompId","includes","set","depName","getPackageName","existsInSpecificConfig","removedPackages","compact","reset","eject","factory","comp","compIdWithVer","getGraphIds","host","loadDependencies","opts","dependenciesLoader","DependenciesLoader","load","loadDependenciesFromScope","dependenciesData","loadFromScope","debugDependencies","OutsideWorkspaceError","consumerComponent","_consumer","cacheResolvedDependencies","useDependenciesCache","missingPackageDependencies","manuallyAddedDependencies","manuallyRemovedDependencies","overridesDependencies","sources","dep","source","debugDependenciesData","coreAspects","blame","compName","log","getLogs","blameResults","lastVersion","logItem","changeVersion","tag","hash","snap","author","username","date","moment","Date","parseInt","format","message","usageDeep","isComponentId","getPackageManager","findUsages","lockfileDir","path","depth","undefined","usage","allComps","list","toString","resolveLatest","pkgName","versionResolver","getVersionResolver","resolved","resolveRemoteVersion","rootDir","Error","versionResolved","snapToSemver","packageSplit","split","startsWith","provider","cli","depsResolver","loggerMain","createLogger","DependenciesAspect","depsMain","depsCmd","DependenciesCmd","commands","DependenciesGetCmd","DependenciesRemoveCmd","DependenciesUnsetCmd","DependenciesDebugCmd","DependenciesSetCmd","DependenciesResetCmd","DependenciesEjectCmd","DependenciesBlameCmd","DependenciesUsageCmd","DependenciesWriteCmd","register","WhyCmd","SetPeerCmd","UnsetPeerCmd","DependentsCmd","ComponentLoader","loadDeps","bind","exports","CLIAspect","WorkspaceAspect","DevFilesAspect","AspectLoaderAspect","ScopeAspect","GraphAspect","LoggerAspect","MainRuntime","addRuntime","_default"],"sources":["dependencies.main.runtime.ts"],"sourcesContent":["import type { CLIMain } from '@teambit/cli';\nimport { CLIAspect, MainRuntime } from '@teambit/cli';\nimport moment from 'moment';\nimport type { ComponentID } from '@teambit/component-id';\nimport type { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { DependencyResolverAspect, KEY_NAME_BY_LIFECYCLE_TYPE } from '@teambit/dependency-resolver';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect, OutsideWorkspaceError } from '@teambit/workspace';\nimport { cloneDeep, compact, set, uniq } from 'lodash';\nimport pMapSeries from 'p-map-series';\nimport type { ConsumerComponent, DependencyLoaderOpts } from '@teambit/legacy.consumer-component';\nimport { ComponentLoader } from '@teambit/legacy.consumer-component';\nimport type { DevFilesMain } from '@teambit/dev-files';\nimport { DevFilesAspect } from '@teambit/dev-files';\nimport type { ComponentIdGraph, GraphMain } from '@teambit/graph';\nimport { GraphAspect } from '@teambit/graph';\nimport type { AspectLoaderMain } from '@teambit/aspect-loader';\nimport { AspectLoaderAspect } from '@teambit/aspect-loader';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport type { ScopeMain } from '@teambit/scope';\nimport { ScopeAspect } from '@teambit/scope';\nimport { DependenciesLoader } from './dependencies-loader/dependencies-loader';\nimport type { DependenciesData, OverridesDependenciesData } from './dependencies-loader/dependencies-data';\nimport type { RemoveDependenciesFlags, SetDependenciesFlags } from './dependencies-cmd';\nimport {\n DependenciesBlameCmd,\n DependenciesCmd,\n DependenciesDebugCmd,\n DependenciesEjectCmd,\n DependenciesGetCmd,\n DependenciesRemoveCmd,\n DependenciesResetCmd,\n DependenciesSetCmd,\n DependenciesUnsetCmd,\n DependenciesUsageCmd,\n DependenciesWriteCmd,\n SetPeerCmd,\n UnsetPeerCmd,\n WhyCmd,\n} from './dependencies-cmd';\nimport { DependenciesAspect } from './dependencies.aspect';\nimport type { DebugDependencies } from './dependencies-loader/auto-detect-deps';\nimport { DependentsCmd } from './dependents-cmd';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\n\nexport type RemoveDependencyResult = { id: ComponentID; removedPackages: string[] };\nexport type SetDependenciesResult = { changedComps: string[]; addedPackages: Record<string, string> };\nexport type DependenciesResultsDebug = DebugDependencies &\n OverridesDependenciesData & { coreAspects: string[]; sources: { id: string; source: string }[] };\n\nexport type DependenciesResults = {\n graph: ComponentIdGraph;\n id: ComponentID;\n};\n\nexport type BlameResult = {\n snap: string;\n tag?: string;\n author: string;\n date: string;\n message: string;\n version: string;\n};\n\nexport class DependenciesMain {\n constructor(\n private workspace: Workspace,\n private scope: ScopeMain,\n private dependencyResolver: DependencyResolverMain,\n private devFiles: DevFilesMain,\n private aspectLoader: AspectLoaderMain,\n private graph: GraphMain,\n private logger: Logger\n ) {}\n\n async setPeer(componentId: string, range?: string): Promise<void> {\n const compId = await this.workspace.resolveComponentId(componentId);\n const config = { peer: true, defaultPeerRange: range };\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, config, {\n shouldMergeWithExisting: true,\n shouldMergeWithPrevious: true,\n });\n\n await this.workspace.bitMap.write(`set-peer (${componentId})`);\n }\n\n async unsetPeer(componentId: string): Promise<void> {\n const compId = await this.workspace.resolveComponentId(componentId);\n // const config = { peer: true, defaultPeerRange: range };\n const config = await this.workspace.getAspectConfigForComponent(compId, DependencyResolverAspect.id);\n if (config) {\n if ('peer' in config) {\n delete config.peer;\n }\n if ('defaultPeerRange' in config) {\n delete config.defaultPeerRange;\n }\n }\n this.workspace.bitMap.addComponentConfig(compId, DependencyResolverAspect.id, config);\n\n await this.workspace.bitMap.write(`unset-peer (${componentId})`);\n }\n\n async setDependency(\n componentPattern: string,\n packages: string[],\n options: SetDependenciesFlags = {}\n ): Promise<SetDependenciesResult> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n const getDepField = () => {\n if (options.dev) return 'devDependencies';\n if (options.peer) return 'peerDependencies';\n return 'dependencies';\n };\n const packagesObj = {};\n await Promise.all(\n packages.map(async (pkg) => {\n const [name, version] = await this.getPackageNameAndVerResolved(pkg);\n if (options.optional) {\n packagesObj[name] = { optional: true, version };\n } else {\n packagesObj[name] = version;\n }\n })\n );\n const config = {\n policy: {\n [getDepField()]: packagesObj,\n },\n };\n await Promise.all(\n compIds.map(async (compId) => {\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, config, {\n shouldMergeWithExisting: true,\n shouldMergeWithPrevious: true,\n });\n })\n );\n\n await this.workspace.bitMap.write(`deps-set (${componentPattern})`);\n\n return {\n changedComps: compIds.map((compId) => compId.toStringWithoutVersion()),\n addedPackages: packagesObj,\n };\n }\n\n async removeDependency(\n componentPattern: string,\n packages: string[],\n options: RemoveDependenciesFlags = {},\n removeOnlyIfExists = false // unset\n ): Promise<RemoveDependencyResult[]> {\n const getLifeCycle = () => {\n if (options.dev) return 'dev';\n if (options.peer) return 'peer';\n return 'runtime';\n };\n const compIds = await this.workspace.idsByPattern(componentPattern);\n const results = await pMapSeries(compIds, async (compId) => {\n const component = await this.workspace.get(compId);\n const missingPackages = uniq(\n component.state.issues\n .getIssueByName('MissingPackagesDependenciesOnFs')\n ?.data.map((d) => d.missingPackages)\n .flat() || []\n );\n const depList = this.dependencyResolver.getDependencies(component);\n const getCurrentConfig = async () => {\n const currentConfigFromWorkspace = await this.workspace.getSpecificComponentConfig(\n compId,\n DependencyResolverAspect.id\n );\n if (currentConfigFromWorkspace) return currentConfigFromWorkspace;\n const extFromScope = await this.workspace.getExtensionsFromScopeAndSpecific(compId);\n return extFromScope?.toConfigObject()[DependencyResolverAspect.id];\n };\n const currentDepResolverConfig = await getCurrentConfig();\n const newDepResolverConfig = cloneDeep(currentDepResolverConfig || {});\n const depField = KEY_NAME_BY_LIFECYCLE_TYPE[getLifeCycle()];\n const removedPackagesWithNulls = await pMapSeries(packages, async (pkg) => {\n const [name, version] = this.splitPkgToNameAndVer(pkg);\n const dependency = depList.findByPkgNameOrCompId(name, version, getLifeCycle());\n if (!dependency) {\n if (!missingPackages.includes(name)) return null;\n if (removeOnlyIfExists) return null;\n set(newDepResolverConfig, ['policy', depField, name], '-');\n return `${name}@${version || 'latest'}`;\n }\n const depName = dependency.getPackageName?.() || dependency.id;\n\n const existsInSpecificConfig = newDepResolverConfig.policy?.[depField]?.[depName];\n if (existsInSpecificConfig) {\n if (existsInSpecificConfig === '-') return null;\n delete newDepResolverConfig.policy[depField][depName];\n } else {\n if (removeOnlyIfExists) return null;\n set(newDepResolverConfig, ['policy', depField, depName], '-');\n }\n return `${depName}@${dependency.version}`;\n });\n const removedPackages = compact(removedPackagesWithNulls);\n if (!removedPackages.length) return null;\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, newDepResolverConfig);\n return { id: compId, removedPackages };\n });\n await this.workspace.bitMap.write(`deps-remove (${componentPattern})`);\n\n return compact(results);\n }\n\n async reset(componentPattern: string): Promise<ComponentID[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n await pMapSeries(compIds, async (compId) => {\n await this.workspace.addSpecificComponentConfig(compId, DependencyResolverAspect.id, { policy: {} });\n });\n await this.workspace.bitMap.write(`deps-reset (${componentPattern})`);\n\n return compIds;\n }\n\n async eject(componentPattern: string): Promise<ComponentID[]> {\n const compIds = await this.workspace.idsByPattern(componentPattern);\n await pMapSeries(compIds, async (compId) => {\n await this.workspace.addSpecificComponentConfig(\n compId,\n DependencyResolverAspect.id,\n {},\n {\n shouldMergeWithExisting: true,\n shouldMergeWithPrevious: true,\n }\n );\n });\n await this.workspace.bitMap.write(`deps-eject (${componentPattern})`);\n\n return compIds;\n }\n\n async getDependencies(id: string, scope?: boolean): Promise<DependenciesResults> {\n const factory = this.workspace && !scope ? this.workspace : this.scope;\n const compId = await (this.workspace || this.scope).resolveComponentId(id);\n const comp = await (this.workspace || this.scope).get(compId);\n const compIdWithVer = comp.id;\n const graph = await this.graph.getGraphIds([compIdWithVer], { host: factory as any });\n\n return { graph, id: compIdWithVer };\n }\n\n async loadDependencies(component: ConsumerComponent, opts: DependencyLoaderOpts) {\n const dependenciesLoader = new DependenciesLoader(\n component,\n this.dependencyResolver,\n this.devFiles,\n this.aspectLoader,\n this.logger\n );\n return dependenciesLoader.load(this.workspace, opts);\n }\n\n /**\n * load dependencies without the need for the workspace.\n * the \"auto-detect\" are passed here as \"dependenciesData\". the \"overrides\", such as dependencies from the env,\n * are calculated here.\n * eventually all these dependencies are added to the ConsumerComponent object.\n */\n async loadDependenciesFromScope(component: ConsumerComponent, dependenciesData: Partial<DependenciesData>) {\n const dependenciesLoader = new DependenciesLoader(\n component,\n this.dependencyResolver,\n this.devFiles,\n this.aspectLoader,\n this.logger\n );\n return dependenciesLoader.loadFromScope(dependenciesData);\n }\n\n async debugDependencies(id: string): Promise<DependenciesResultsDebug> {\n // @todo: supports this on bare-scope.\n if (!this.workspace) throw new OutsideWorkspaceError();\n const compId = await this.workspace.resolveComponentId(id);\n const component = await this.workspace.get(compId);\n const consumerComponent = component.state._consumer as ConsumerComponent;\n\n const dependenciesData = await this.loadDependencies(consumerComponent, {\n cacheResolvedDependencies: {},\n useDependenciesCache: false,\n });\n\n const { missingPackageDependencies, manuallyAddedDependencies, manuallyRemovedDependencies } =\n dependenciesData.overridesDependencies;\n\n const results = this.dependencyResolver.getDependencies(component);\n const sources = results.map((dep) => ({ id: dep.id, source: dep.source }));\n\n return {\n ...dependenciesData.debugDependenciesData,\n manuallyRemovedDependencies,\n manuallyAddedDependencies,\n missingPackageDependencies,\n coreAspects: dependenciesData.dependenciesData.coreAspects,\n sources,\n };\n }\n\n /**\n * helps determine what snap/tag changed a specific dependency.\n * the results are sorted from the oldest to newest.\n */\n async blame(compName: string, depName: string) {\n const id = await this.workspace.resolveComponentId(compName);\n const log = await this.workspace.scope.getLogs(id);\n const blameResults: BlameResult[] = [];\n let lastVersion = '';\n await pMapSeries(log, async (logItem) => {\n const component = await this.workspace.get(id.changeVersion(logItem.tag || logItem.hash));\n const depList = this.dependencyResolver.getDependencies(component);\n const dependency = depList.findByPkgNameOrCompId(depName);\n if (dependency && dependency.version === lastVersion) {\n return;\n }\n let version: string;\n if (!dependency) {\n if (!lastVersion) return;\n version = '<REMOVED>';\n } else {\n version = dependency.version;\n }\n if (!dependency || dependency.version === lastVersion) return;\n lastVersion = dependency.version;\n blameResults.push({\n snap: logItem.hash,\n tag: logItem.tag,\n author: logItem.username || '<N/A>',\n date: logItem.date ? moment(new Date(parseInt(logItem.date))).format('YYYY-MM-DD HH:mm:ss') : '<N/A>',\n message: logItem.message,\n version,\n });\n });\n return blameResults;\n }\n\n async usageDeep(depName: string, opts?: { depth?: number }): Promise<string | undefined> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n if (!isComponentId(depName)) {\n return this.dependencyResolver.getPackageManager()?.findUsages?.(depName, {\n lockfileDir: this.workspace.path,\n depth: opts?.depth,\n });\n }\n return undefined;\n }\n\n /**\n * @param depName either component-id-string or package-name (of the component or not component)\n * @returns a map of component-id-string to the version of the dependency\n */\n async usage(depName: string): Promise<{ [compIdStr: string]: string }> {\n if (!this.workspace) throw new OutsideWorkspaceError();\n const [name, version] = this.splitPkgToNameAndVer(depName);\n const allComps = await this.workspace.list();\n const results = {};\n await Promise.all(\n allComps.map(async (comp) => {\n const depList = this.dependencyResolver.getDependencies(comp);\n const dependency = depList.findByPkgNameOrCompId(name, version);\n if (dependency) {\n results[comp.id.toString()] = dependency.version;\n }\n })\n );\n return results;\n }\n\n private async getPackageNameAndVerResolved(pkg: string): Promise<[string, string]> {\n const resolveLatest = async (pkgName: string) => {\n const versionResolver = await this.dependencyResolver.getVersionResolver({});\n const resolved = await versionResolver.resolveRemoteVersion(pkgName, { rootDir: '' });\n if (!resolved.version) throw new Error(`unable to resolve version for ${pkgName}`);\n return resolved.version;\n };\n const [name, version] = this.splitPkgToNameAndVer(pkg);\n const versionResolved = !version || version === 'latest' ? await resolveLatest(name) : version;\n return [name, snapToSemver(versionResolved)];\n }\n\n private splitPkgToNameAndVer(pkg: string): [string, string | undefined] {\n const packageSplit = pkg.split('@');\n if (pkg.startsWith('@')) {\n // scoped package\n if (packageSplit.length > 3) throw new Error(`invalid package \"${pkg}\" syntax, expected \"package[@version]\"`);\n return [`@${packageSplit[1]}`, packageSplit[2]];\n }\n if (packageSplit.length > 2) throw new Error(`invalid package \"${pkg}\" syntax, expected \"package[@version]\"`);\n return [packageSplit[0], packageSplit[1]];\n }\n\n static slots = [];\n static dependencies = [\n CLIAspect,\n WorkspaceAspect,\n DependencyResolverAspect,\n DevFilesAspect,\n AspectLoaderAspect,\n ScopeAspect,\n GraphAspect,\n LoggerAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider([cli, workspace, depsResolver, devFiles, aspectLoader, scope, graph, loggerMain]: [\n CLIMain,\n Workspace,\n DependencyResolverMain,\n DevFilesMain,\n AspectLoaderMain,\n ScopeMain,\n GraphMain,\n LoggerMain,\n ]) {\n const logger = loggerMain.createLogger(DependenciesAspect.id);\n const depsMain = new DependenciesMain(workspace, scope, depsResolver, devFiles, aspectLoader, graph, logger);\n const depsCmd = new DependenciesCmd();\n depsCmd.commands = [\n new DependenciesGetCmd(depsMain),\n new DependenciesRemoveCmd(depsMain),\n new DependenciesUnsetCmd(depsMain),\n new DependenciesDebugCmd(depsMain),\n new DependenciesSetCmd(depsMain),\n new DependenciesResetCmd(depsMain),\n new DependenciesEjectCmd(depsMain),\n new DependenciesBlameCmd(depsMain),\n new DependenciesUsageCmd(depsMain),\n new DependenciesWriteCmd(workspace),\n ];\n cli.register(\n depsCmd,\n new WhyCmd(depsMain),\n new SetPeerCmd(depsMain),\n new UnsetPeerCmd(depsMain),\n new DependentsCmd(workspace)\n );\n\n ComponentLoader.loadDeps = depsMain.loadDependencies.bind(depsMain);\n\n return depsMain;\n }\n}\n\nfunction isComponentId(depName: string) {\n return depName.includes('/') && depName[0] !== '@';\n}\n\nDependenciesAspect.addRuntime(DependenciesMain);\n\nexport default DependenciesMain;\n"],"mappings":"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","ignoreList":[]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_chai","data","require","_harmonyTesting","_workspaceTesting","_componentTesting","_dependencies","describe","timeout","workspaceData","setDepsResult","before","mockWorkspace","workspacePath","mockComponents","dependencies","loadAspect","DependenciesAspect","setDependency","after","destroyWorkspace","it","expect","addedPackages","to","deep","eq"],"sources":["dependencies.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport { loadAspect } from '@teambit/harmony.testing.load-aspect';\nimport { mockWorkspace, destroyWorkspace
|
1
|
+
{"version":3,"names":["_chai","data","require","_harmonyTesting","_workspaceTesting","_componentTesting","_dependencies","describe","timeout","workspaceData","setDepsResult","before","mockWorkspace","workspacePath","mockComponents","dependencies","loadAspect","DependenciesAspect","setDependency","after","destroyWorkspace","it","expect","addedPackages","to","deep","eq"],"sources":["dependencies.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport { loadAspect } from '@teambit/harmony.testing.load-aspect';\nimport type { WorkspaceData } from '@teambit/workspace.testing.mock-workspace';\nimport { mockWorkspace, destroyWorkspace } from '@teambit/workspace.testing.mock-workspace';\nimport { mockComponents } from '@teambit/component.testing.mock-components';\nimport type { DependenciesMain, SetDependenciesResult } from './dependencies.main.runtime';\nimport { DependenciesAspect } from './dependencies.aspect';\n\ndescribe('Dependencies Aspect', function () {\n this.timeout(0);\n\n describe('setDependency() with a snap', () => {\n let workspaceData: WorkspaceData;\n let setDepsResult: SetDependenciesResult;\n before(async () => {\n workspaceData = mockWorkspace();\n const { workspacePath } = workspaceData;\n await mockComponents(workspacePath);\n const dependencies: DependenciesMain = await loadAspect(DependenciesAspect, workspacePath);\n setDepsResult = await dependencies.setDependency('comp1', [\n '@org/scope.some-comp@ccb187997f01c2d8ec180fd321c7cd04034cd2d9',\n ]);\n });\n after(async () => {\n await destroyWorkspace(workspaceData);\n });\n it('should add the snap prefix', () => {\n expect(setDepsResult.addedPackages).to.deep.eq({\n '@org/scope.some-comp': '0.0.0-ccb187997f01c2d8ec180fd321c7cd04034cd2d9',\n });\n });\n });\n});\n"],"mappings":";;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,gBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,kBAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,iBAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,kBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,iBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,cAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,aAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEAM,QAAQ,CAAC,qBAAqB,EAAE,YAAY;EAC1C,IAAI,CAACC,OAAO,CAAC,CAAC,CAAC;EAEfD,QAAQ,CAAC,6BAA6B,EAAE,MAAM;IAC5C,IAAIE,aAA4B;IAChC,IAAIC,aAAoC;IACxCC,MAAM,CAAC,YAAY;MACjBF,aAAa,GAAG,IAAAG,iCAAa,EAAC,CAAC;MAC/B,MAAM;QAAEC;MAAc,CAAC,GAAGJ,aAAa;MACvC,MAAM,IAAAK,kCAAc,EAACD,aAAa,CAAC;MACnC,MAAME,YAA8B,GAAG,MAAM,IAAAC,4BAAU,EAACC,kCAAkB,EAAEJ,aAAa,CAAC;MAC1FH,aAAa,GAAG,MAAMK,YAAY,CAACG,aAAa,CAAC,OAAO,EAAE,CACxD,+DAA+D,CAChE,CAAC;IACJ,CAAC,CAAC;IACFC,KAAK,CAAC,YAAY;MAChB,MAAM,IAAAC,oCAAgB,EAACX,aAAa,CAAC;IACvC,CAAC,CAAC;IACFY,EAAE,CAAC,4BAA4B,EAAE,MAAM;MACrC,IAAAC,cAAM,EAACZ,aAAa,CAACa,aAAa,CAAC,CAACC,EAAE,CAACC,IAAI,CAACC,EAAE,CAAC;QAC7C,sBAAsB,EAAE;MAC1B,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
package/dist/dependents-cmd.d.ts
CHANGED
@@ -1,5 +1,5 @@
|
|
1
|
-
import { Command, CommandOptions } from '@teambit/cli';
|
2
|
-
import { Workspace } from '@teambit/workspace';
|
1
|
+
import type { Command, CommandOptions } from '@teambit/cli';
|
2
|
+
import type { Workspace } from '@teambit/workspace';
|
3
3
|
export declare class DependentsCmd implements Command {
|
4
4
|
private workspace;
|
5
5
|
name: string;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_dependents","_template","e","__esModule","default","ownKeys","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","DependentsCmd","constructor","workspace","name","description","report","id","results","dependents","scopeDependents","workspaceDependents","toString","toStringWithoutVersion","scopeTable","generateDependentsInfoTable","workspaceTable","chalk","bold","json","depInfoToString","depInfo","map","exports"],"sources":["dependents-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport { Command, CommandOptions } from '@teambit/cli';\nimport { dependents
|
1
|
+
{"version":3,"names":["_chalk","data","_interopRequireDefault","require","_dependents","_template","e","__esModule","default","ownKeys","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","DependentsCmd","constructor","workspace","name","description","report","id","results","dependents","scopeDependents","workspaceDependents","toString","toStringWithoutVersion","scopeTable","generateDependentsInfoTable","workspaceTable","chalk","bold","json","depInfoToString","depInfo","map","exports"],"sources":["dependents-cmd.ts"],"sourcesContent":["import chalk from 'chalk';\nimport type { Command, CommandOptions } from '@teambit/cli';\nimport type { DependentsResults } from './dependents';\nimport { dependents } from './dependents';\nimport { generateDependentsInfoTable } from './template';\nimport type { Workspace } from '@teambit/workspace';\n\nexport class DependentsCmd implements Command {\n name = 'dependents <component-name>';\n helpUrl = 'reference/dependencies/inspecting-dependencies#review-dependents';\n arguments = [\n {\n name: 'component-name',\n description: 'component name or component id',\n },\n ];\n description = 'show dependents of the given component';\n group = 'dependencies';\n alias = '';\n options = [['j', 'json', 'return the dependents in JSON format']] as CommandOptions;\n\n constructor(private workspace: Workspace) {}\n\n async report([id]: [string]) {\n const results: DependentsResults = await dependents(id, this.workspace);\n if (!results.scopeDependents.length && !results.workspaceDependents.length) {\n return `no dependents found for ${results.id.toString()}.\ntry running \"bit cat-component ${results.id.toStringWithoutVersion()}\" to see whether the component/version exists locally`;\n }\n const scopeTable = generateDependentsInfoTable(results.scopeDependents, results.id);\n const workspaceTable = generateDependentsInfoTable(results.workspaceDependents, results.id);\n return `${chalk.bold('Dependents originated from workspace')}\n${workspaceTable || '<none>'}\n\n${chalk.bold('Dependents originated from scope')}\n${scopeTable || '<none>'}`;\n }\n\n async json([id]: [string]) {\n const results: DependentsResults = await dependents(id, this.workspace);\n const depInfoToString = (depInfo) => {\n return {\n ...depInfo,\n id: depInfo.id.toString(),\n };\n };\n return {\n scopeDependents: results.scopeDependents.map(depInfoToString),\n workspaceDependents: results.workspaceDependents.map(depInfoToString),\n id: results.id.toString(),\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/dist/dependents.d.ts
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
import { ComponentID } from '@teambit/component-id';
|
2
|
-
import { DependenciesInfo } from '@teambit/legacy.dependency-graph';
|
3
|
-
import { Workspace } from '@teambit/workspace';
|
1
|
+
import type { ComponentID } from '@teambit/component-id';
|
2
|
+
import type { DependenciesInfo } from '@teambit/legacy.dependency-graph';
|
3
|
+
import type { Workspace } from '@teambit/workspace';
|
4
4
|
export type DependentsResults = {
|
5
5
|
scopeDependents: DependenciesInfo[];
|
6
6
|
workspaceDependents: DependenciesInfo[];
|
package/dist/dependents.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_bitError","data","require","_legacy","dependents","id","workspace","throwForNewComponent","bitId","resolveComponentId","scopeDependencyGraph","DependencyGraph","loadLatest","consumer","scope","scopeDependents","getDependentsInfo","workspaceGraph","buildGraphFromWorkspace","workspaceDependencyGraph","workspaceDependents","bitMap","getExistingBitId","hasScope","BitError"],"sources":["dependents.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\nimport {
|
1
|
+
{"version":3,"names":["_bitError","data","require","_legacy","dependents","id","workspace","throwForNewComponent","bitId","resolveComponentId","scopeDependencyGraph","DependencyGraph","loadLatest","consumer","scope","scopeDependents","getDependentsInfo","workspaceGraph","buildGraphFromWorkspace","workspaceDependencyGraph","workspaceDependents","bitMap","getExistingBitId","hasScope","BitError"],"sources":["dependents.ts"],"sourcesContent":["import type { ComponentID } from '@teambit/component-id';\nimport { BitError } from '@teambit/bit-error';\nimport type { DependenciesInfo } from '@teambit/legacy.dependency-graph';\nimport { DependencyGraph } from '@teambit/legacy.dependency-graph';\nimport type { Workspace } from '@teambit/workspace';\n\nexport type DependentsResults = {\n scopeDependents: DependenciesInfo[];\n workspaceDependents: DependenciesInfo[];\n id: ComponentID;\n};\n\nexport async function dependents(id: string, workspace: Workspace): Promise<DependentsResults> {\n throwForNewComponent(id, workspace);\n const bitId = await workspace.resolveComponentId(id);\n const scopeDependencyGraph = await DependencyGraph.loadLatest(workspace.consumer.scope);\n const scopeDependents = scopeDependencyGraph.getDependentsInfo(bitId);\n const workspaceGraph = await DependencyGraph.buildGraphFromWorkspace(workspace);\n const workspaceDependencyGraph = new DependencyGraph(workspaceGraph);\n const workspaceDependents = workspaceDependencyGraph.getDependentsInfo(bitId);\n return { scopeDependents, workspaceDependents, id: bitId };\n}\n\nfunction throwForNewComponent(id: string, workspace: Workspace) {\n const bitId = workspace.consumer.bitMap.getExistingBitId(id, false);\n if (!bitId) return;\n if (!bitId._legacy.hasScope()) {\n throw new BitError(`${id} is a new component, there is no data about it in the scope`);\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAE,QAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,OAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AASO,eAAeG,UAAUA,CAACC,EAAU,EAAEC,SAAoB,EAA8B;EAC7FC,oBAAoB,CAACF,EAAE,EAAEC,SAAS,CAAC;EACnC,MAAME,KAAK,GAAG,MAAMF,SAAS,CAACG,kBAAkB,CAACJ,EAAE,CAAC;EACpD,MAAMK,oBAAoB,GAAG,MAAMC,yBAAe,CAACC,UAAU,CAACN,SAAS,CAACO,QAAQ,CAACC,KAAK,CAAC;EACvF,MAAMC,eAAe,GAAGL,oBAAoB,CAACM,iBAAiB,CAACR,KAAK,CAAC;EACrE,MAAMS,cAAc,GAAG,MAAMN,yBAAe,CAACO,uBAAuB,CAACZ,SAAS,CAAC;EAC/E,MAAMa,wBAAwB,GAAG,KAAIR,yBAAe,EAACM,cAAc,CAAC;EACpE,MAAMG,mBAAmB,GAAGD,wBAAwB,CAACH,iBAAiB,CAACR,KAAK,CAAC;EAC7E,OAAO;IAAEO,eAAe;IAAEK,mBAAmB;IAAEf,EAAE,EAAEG;EAAM,CAAC;AAC5D;AAEA,SAASD,oBAAoBA,CAACF,EAAU,EAAEC,SAAoB,EAAE;EAC9D,MAAME,KAAK,GAAGF,SAAS,CAACO,QAAQ,CAACQ,MAAM,CAACC,gBAAgB,CAACjB,EAAE,EAAE,KAAK,CAAC;EACnE,IAAI,CAACG,KAAK,EAAE;EACZ,IAAI,CAACA,KAAK,CAACL,OAAO,CAACoB,QAAQ,CAAC,CAAC,EAAE;IAC7B,MAAM,KAAIC,oBAAQ,EAAC,GAAGnB,EAAE,6DAA6D,CAAC;EACxF;AACF","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { DependencyTreeParams, DependenciesTree } from './types/dependency-tree-type';
|
1
|
+
import type { DependencyTreeParams, DependenciesTree } from './types/dependency-tree-type';
|
2
2
|
/**
|
3
3
|
* Function for fetching dependency tree of file or dir
|
4
4
|
* @param baseDir working directory
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_path","_interopRequireDefault","_resolvePkgData","_generateTreeMadge","_missingHandler","_pathMap","_dependencyTreeType","e","__esModule","default","groupDependencyList","dependenciesPaths","componentDir","resultGroups","DependenciesTreeItem","isPackage","str","includes","forEach","dependencyPath","files","push","file","resolvedPackage","resolvePackageData","path","join","unidentifiedPackages","componentId","components","version","versionUsedByDependent","concreteVersion","packageWithVersion","name","Object","assign","packages","MadgeTreeToDependenciesTree","tree","result","keys","filePath","isEmpty","updateTreeWithPathMap","pathMapAbsolute","baseDir","length","pathMap","convertPathMapToRelativePaths","treeFiles","mainFilePathMap","find","Error","filter","dependency","fileObject","dependencyPathMap","dependencies","resolvedDep","importSource","importSpecifiers","depImportSpecifiers","map","importSpecifier","mainFile","mergeManuallyFoundPackagesToTree","foundPackages","missingGroups","pkg","fileDep","packageName","set","originFile","component","mergeMissingToTree","missing","missingCloned","clone","mergeErrorsToTree","errors","error","getDependencyTree","workspacePath","filePaths","visited","cacheProjectAst","envDetectors","config","includeNpm","requireConfig","webpackConfig","nonExistent","fullPaths","startsWith","resolve","madgeTree","skipped","generateTree","MissingHandler","groupAndFindMissing"],"sources":["build-tree.ts"],"sourcesContent":["import { clone, isEmpty, set } from 'lodash';\nimport path from 'path';\nimport { resolvePackageData } from '../resolve-pkg-data';\nimport generateTree, { MadgeTree } from './generate-tree-madge';\nimport { FoundPackages, MissingGroupItem, MissingHandler } from './missing-handler';\nimport { convertPathMapToRelativePaths, PathMapItem } from './path-map';\nimport { DependencyTreeParams, FileObject, DependenciesTree, DependenciesTreeItem } from './types/dependency-tree-type';\n\n/**\n * Gets a list of dependencies and group them by types (files, components, packages)\n * It's also transform the node package dependencies from array of paths to object in this format:\n * {dependencyName: version} (like in package.json)\n *\n * componentDir is the root of working directory (used for node packages version calculation)\n */\nfunction groupDependencyList(dependenciesPaths: string[], componentDir: string): DependenciesTreeItem {\n const resultGroups = new DependenciesTreeItem();\n const isPackage = (str: string) => str.includes('node_modules/');\n dependenciesPaths.forEach((dependencyPath) => {\n if (!isPackage(dependencyPath)) {\n resultGroups.files.push({ file: dependencyPath });\n return;\n }\n const resolvedPackage = resolvePackageData(componentDir, path.join(componentDir, dependencyPath));\n if (!resolvedPackage) {\n // package doesn't have package.json, probably it's a custom-resolve-module dep file\n resultGroups.unidentifiedPackages.push(dependencyPath);\n return;\n }\n\n // If the package is a component add it to the components list\n if (resolvedPackage.componentId) {\n resultGroups.components.push(resolvedPackage);\n return;\n }\n const version = resolvedPackage.versionUsedByDependent || resolvedPackage.concreteVersion;\n const packageWithVersion = {\n [resolvedPackage.name]: version,\n };\n Object.assign(resultGroups.packages, packageWithVersion);\n });\n\n return resultGroups;\n}\n\n/**\n * Run over each entry in the tree and transform the dependencies from list of paths\n * to object with dependencies types\n *\n * @returns new tree with grouped dependencies\n */\nfunction MadgeTreeToDependenciesTree(tree: MadgeTree, componentDir: string): DependenciesTree {\n const result: DependenciesTree = {};\n Object.keys(tree).forEach((filePath) => {\n if (tree[filePath] && !isEmpty(tree[filePath])) {\n result[filePath] = groupDependencyList(tree[filePath], componentDir);\n } else {\n result[filePath] = new DependenciesTreeItem();\n }\n });\n\n return result;\n}\n\n/**\n * add extra data such as custom-resolve and link-files from pathMap\n */\nfunction updateTreeWithPathMap(tree: DependenciesTree, pathMapAbsolute: PathMapItem[], baseDir: string): void {\n if (!pathMapAbsolute.length) return;\n const pathMap = convertPathMapToRelativePaths(pathMapAbsolute, baseDir);\n Object.keys(tree).forEach((filePath: string) => {\n const treeFiles = tree[filePath].files;\n if (!treeFiles.length) return; // file has no dependency\n const mainFilePathMap = pathMap.find((file) => file.file === filePath);\n if (!mainFilePathMap) throw new Error(`updateTreeWithPathMap: PathMap is missing for ${filePath}`);\n // a file might have a cycle dependency with itself, remove it from the dependencies.\n tree[filePath].files = treeFiles.filter((dependency) => dependency.file !== filePath);\n tree[filePath].files.forEach((fileObject: FileObject) => {\n const dependencyPathMap = mainFilePathMap.dependencies.find((file) => file.resolvedDep === fileObject.file);\n if (!dependencyPathMap) {\n throw new Error(`updateTreeWithPathMap: dependencyPathMap is missing for ${fileObject.file}`);\n }\n fileObject.importSource = dependencyPathMap.importSource;\n if (dependencyPathMap.importSpecifiers && dependencyPathMap.importSpecifiers.length) {\n const depImportSpecifiers = dependencyPathMap.importSpecifiers.map((importSpecifier) => {\n return {\n mainFile: importSpecifier,\n };\n });\n fileObject.importSpecifiers = depImportSpecifiers;\n }\n return fileObject;\n });\n });\n}\n\nfunction mergeManuallyFoundPackagesToTree(\n foundPackages: FoundPackages,\n missingGroups: MissingGroupItem[],\n tree: DependenciesTree\n) {\n if (isEmpty(foundPackages.components) && isEmpty(foundPackages.packages)) return;\n // Merge manually found packages (by groupMissing()) with the packages found by Madge (generate-tree-madge)\n Object.keys(foundPackages.packages).forEach((pkg) => {\n // locate package in groups(contains missing)\n missingGroups.forEach((fileDep: MissingGroupItem) => {\n if (fileDep.packages && fileDep.packages.includes(pkg)) {\n fileDep.packages = fileDep.packages.filter((packageName) => packageName !== pkg);\n set(tree[fileDep.originFile], ['packages', pkg], foundPackages.packages[pkg]);\n }\n });\n });\n foundPackages.components.forEach((component) => {\n missingGroups.forEach((fileDep: MissingGroupItem) => {\n if (fileDep.packages && fileDep.packages.includes(component.name)) {\n fileDep.packages = fileDep.packages.filter((packageName) => packageName !== component.name);\n (tree[fileDep.originFile] ||= new DependenciesTreeItem()).components.push(component);\n }\n });\n });\n}\n\nfunction mergeMissingToTree(missingGroups, tree: DependenciesTree) {\n if (isEmpty(missingGroups)) return;\n missingGroups.forEach((missing) => {\n const missingCloned = clone(missing);\n delete missingCloned.originFile;\n (tree[missing.originFile] ||= new DependenciesTreeItem()).missing = missingCloned;\n });\n}\n\nfunction mergeErrorsToTree(errors, tree: DependenciesTree) {\n if (isEmpty(errors)) return;\n Object.keys(errors).forEach((file) => {\n (tree[file] ||= new DependenciesTreeItem()).error = errors[file];\n });\n}\n\n/**\n * Function for fetching dependency tree of file or dir\n * @param baseDir working directory\n * @param workspacePath\n * @param filePaths path of the file to calculate the dependencies\n */\nexport async function getDependencyTree({\n componentDir, // component rootDir\n workspacePath,\n filePaths,\n visited = {},\n cacheProjectAst,\n envDetectors,\n}: DependencyTreeParams): Promise<{ tree: DependenciesTree }> {\n const config = {\n baseDir: componentDir,\n includeNpm: true,\n requireConfig: null,\n webpackConfig: null,\n visited,\n nonExistent: [],\n cacheProjectAst,\n envDetectors,\n };\n // This is important because without this, madge won't know to resolve files if we run the\n // CMD not from the root dir\n const fullPaths = filePaths.map((filePath) => {\n if (filePath.startsWith(componentDir)) {\n return filePath;\n }\n return path.resolve(componentDir, filePath);\n });\n const { madgeTree, skipped, pathMap, errors } = generateTree(fullPaths, config);\n const tree: DependenciesTree = MadgeTreeToDependenciesTree(madgeTree, componentDir);\n const { missingGroups, foundPackages } = new MissingHandler(\n skipped,\n componentDir,\n workspacePath\n ).groupAndFindMissing();\n\n if (foundPackages) mergeManuallyFoundPackagesToTree(foundPackages, missingGroups, tree);\n if (errors) mergeErrorsToTree(errors, tree);\n if (missingGroups) mergeMissingToTree(missingGroups, tree);\n if (pathMap) updateTreeWithPathMap(tree, pathMap, componentDir);\n\n return { tree };\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["_lodash","data","require","_path","_interopRequireDefault","_resolvePkgData","_generateTreeMadge","_missingHandler","_pathMap","_dependencyTreeType","e","__esModule","default","groupDependencyList","dependenciesPaths","componentDir","resultGroups","DependenciesTreeItem","isPackage","str","includes","forEach","dependencyPath","files","push","file","resolvedPackage","resolvePackageData","path","join","unidentifiedPackages","componentId","components","version","versionUsedByDependent","concreteVersion","packageWithVersion","name","Object","assign","packages","MadgeTreeToDependenciesTree","tree","result","keys","filePath","isEmpty","updateTreeWithPathMap","pathMapAbsolute","baseDir","length","pathMap","convertPathMapToRelativePaths","treeFiles","mainFilePathMap","find","Error","filter","dependency","fileObject","dependencyPathMap","dependencies","resolvedDep","importSource","importSpecifiers","depImportSpecifiers","map","importSpecifier","mainFile","mergeManuallyFoundPackagesToTree","foundPackages","missingGroups","pkg","fileDep","packageName","set","originFile","component","mergeMissingToTree","missing","missingCloned","clone","mergeErrorsToTree","errors","error","getDependencyTree","workspacePath","filePaths","visited","cacheProjectAst","envDetectors","config","includeNpm","requireConfig","webpackConfig","nonExistent","fullPaths","startsWith","resolve","madgeTree","skipped","generateTree","MissingHandler","groupAndFindMissing"],"sources":["build-tree.ts"],"sourcesContent":["import { clone, isEmpty, set } from 'lodash';\nimport path from 'path';\nimport { resolvePackageData } from '../resolve-pkg-data';\nimport type { MadgeTree } from './generate-tree-madge';\nimport generateTree from './generate-tree-madge';\nimport type { FoundPackages, MissingGroupItem } from './missing-handler';\nimport { MissingHandler } from './missing-handler';\nimport type { PathMapItem } from './path-map';\nimport { convertPathMapToRelativePaths } from './path-map';\nimport type { DependencyTreeParams, FileObject, DependenciesTree } from './types/dependency-tree-type';\nimport { DependenciesTreeItem } from './types/dependency-tree-type';\n\n/**\n * Gets a list of dependencies and group them by types (files, components, packages)\n * It's also transform the node package dependencies from array of paths to object in this format:\n * {dependencyName: version} (like in package.json)\n *\n * componentDir is the root of working directory (used for node packages version calculation)\n */\nfunction groupDependencyList(dependenciesPaths: string[], componentDir: string): DependenciesTreeItem {\n const resultGroups = new DependenciesTreeItem();\n const isPackage = (str: string) => str.includes('node_modules/');\n dependenciesPaths.forEach((dependencyPath) => {\n if (!isPackage(dependencyPath)) {\n resultGroups.files.push({ file: dependencyPath });\n return;\n }\n const resolvedPackage = resolvePackageData(componentDir, path.join(componentDir, dependencyPath));\n if (!resolvedPackage) {\n // package doesn't have package.json, probably it's a custom-resolve-module dep file\n resultGroups.unidentifiedPackages.push(dependencyPath);\n return;\n }\n\n // If the package is a component add it to the components list\n if (resolvedPackage.componentId) {\n resultGroups.components.push(resolvedPackage);\n return;\n }\n const version = resolvedPackage.versionUsedByDependent || resolvedPackage.concreteVersion;\n const packageWithVersion = {\n [resolvedPackage.name]: version,\n };\n Object.assign(resultGroups.packages, packageWithVersion);\n });\n\n return resultGroups;\n}\n\n/**\n * Run over each entry in the tree and transform the dependencies from list of paths\n * to object with dependencies types\n *\n * @returns new tree with grouped dependencies\n */\nfunction MadgeTreeToDependenciesTree(tree: MadgeTree, componentDir: string): DependenciesTree {\n const result: DependenciesTree = {};\n Object.keys(tree).forEach((filePath) => {\n if (tree[filePath] && !isEmpty(tree[filePath])) {\n result[filePath] = groupDependencyList(tree[filePath], componentDir);\n } else {\n result[filePath] = new DependenciesTreeItem();\n }\n });\n\n return result;\n}\n\n/**\n * add extra data such as custom-resolve and link-files from pathMap\n */\nfunction updateTreeWithPathMap(tree: DependenciesTree, pathMapAbsolute: PathMapItem[], baseDir: string): void {\n if (!pathMapAbsolute.length) return;\n const pathMap = convertPathMapToRelativePaths(pathMapAbsolute, baseDir);\n Object.keys(tree).forEach((filePath: string) => {\n const treeFiles = tree[filePath].files;\n if (!treeFiles.length) return; // file has no dependency\n const mainFilePathMap = pathMap.find((file) => file.file === filePath);\n if (!mainFilePathMap) throw new Error(`updateTreeWithPathMap: PathMap is missing for ${filePath}`);\n // a file might have a cycle dependency with itself, remove it from the dependencies.\n tree[filePath].files = treeFiles.filter((dependency) => dependency.file !== filePath);\n tree[filePath].files.forEach((fileObject: FileObject) => {\n const dependencyPathMap = mainFilePathMap.dependencies.find((file) => file.resolvedDep === fileObject.file);\n if (!dependencyPathMap) {\n throw new Error(`updateTreeWithPathMap: dependencyPathMap is missing for ${fileObject.file}`);\n }\n fileObject.importSource = dependencyPathMap.importSource;\n if (dependencyPathMap.importSpecifiers && dependencyPathMap.importSpecifiers.length) {\n const depImportSpecifiers = dependencyPathMap.importSpecifiers.map((importSpecifier) => {\n return {\n mainFile: importSpecifier,\n };\n });\n fileObject.importSpecifiers = depImportSpecifiers;\n }\n return fileObject;\n });\n });\n}\n\nfunction mergeManuallyFoundPackagesToTree(\n foundPackages: FoundPackages,\n missingGroups: MissingGroupItem[],\n tree: DependenciesTree\n) {\n if (isEmpty(foundPackages.components) && isEmpty(foundPackages.packages)) return;\n // Merge manually found packages (by groupMissing()) with the packages found by Madge (generate-tree-madge)\n Object.keys(foundPackages.packages).forEach((pkg) => {\n // locate package in groups(contains missing)\n missingGroups.forEach((fileDep: MissingGroupItem) => {\n if (fileDep.packages && fileDep.packages.includes(pkg)) {\n fileDep.packages = fileDep.packages.filter((packageName) => packageName !== pkg);\n set(tree[fileDep.originFile], ['packages', pkg], foundPackages.packages[pkg]);\n }\n });\n });\n foundPackages.components.forEach((component) => {\n missingGroups.forEach((fileDep: MissingGroupItem) => {\n if (fileDep.packages && fileDep.packages.includes(component.name)) {\n fileDep.packages = fileDep.packages.filter((packageName) => packageName !== component.name);\n (tree[fileDep.originFile] ||= new DependenciesTreeItem()).components.push(component);\n }\n });\n });\n}\n\nfunction mergeMissingToTree(missingGroups, tree: DependenciesTree) {\n if (isEmpty(missingGroups)) return;\n missingGroups.forEach((missing) => {\n const missingCloned = clone(missing);\n delete missingCloned.originFile;\n (tree[missing.originFile] ||= new DependenciesTreeItem()).missing = missingCloned;\n });\n}\n\nfunction mergeErrorsToTree(errors, tree: DependenciesTree) {\n if (isEmpty(errors)) return;\n Object.keys(errors).forEach((file) => {\n (tree[file] ||= new DependenciesTreeItem()).error = errors[file];\n });\n}\n\n/**\n * Function for fetching dependency tree of file or dir\n * @param baseDir working directory\n * @param workspacePath\n * @param filePaths path of the file to calculate the dependencies\n */\nexport async function getDependencyTree({\n componentDir, // component rootDir\n workspacePath,\n filePaths,\n visited = {},\n cacheProjectAst,\n envDetectors,\n}: DependencyTreeParams): Promise<{ tree: DependenciesTree }> {\n const config = {\n baseDir: componentDir,\n includeNpm: true,\n requireConfig: null,\n webpackConfig: null,\n visited,\n nonExistent: [],\n cacheProjectAst,\n envDetectors,\n };\n // This is important because without this, madge won't know to resolve files if we run the\n // CMD not from the root dir\n const fullPaths = filePaths.map((filePath) => {\n if (filePath.startsWith(componentDir)) {\n return filePath;\n }\n return path.resolve(componentDir, filePath);\n });\n const { madgeTree, skipped, pathMap, errors } = generateTree(fullPaths, config);\n const tree: DependenciesTree = MadgeTreeToDependenciesTree(madgeTree, componentDir);\n const { missingGroups, foundPackages } = new MissingHandler(\n skipped,\n componentDir,\n workspacePath\n ).groupAndFindMissing();\n\n if (foundPackages) mergeManuallyFoundPackagesToTree(foundPackages, missingGroups, tree);\n if (errors) mergeErrorsToTree(errors, tree);\n if (missingGroups) mergeMissingToTree(missingGroups, tree);\n if (pathMap) updateTreeWithPathMap(tree, pathMap, componentDir);\n\n return { tree };\n}\n"],"mappings":";;;;;;AAAA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,MAAA;EAAA,MAAAF,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,gBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,eAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAK,mBAAA;EAAA,MAAAL,IAAA,GAAAG,sBAAA,CAAAF,OAAA;EAAAI,kBAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAM,gBAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,eAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAO,SAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,QAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAQ,oBAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,mBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAoE,SAAAG,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEpE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASG,mBAAmBA,CAACC,iBAA2B,EAAEC,YAAoB,EAAwB;EACpG,MAAMC,YAAY,GAAG,KAAIC,0CAAoB,EAAC,CAAC;EAC/C,MAAMC,SAAS,GAAIC,GAAW,IAAKA,GAAG,CAACC,QAAQ,CAAC,eAAe,CAAC;EAChEN,iBAAiB,CAACO,OAAO,CAAEC,cAAc,IAAK;IAC5C,IAAI,CAACJ,SAAS,CAACI,cAAc,CAAC,EAAE;MAC9BN,YAAY,CAACO,KAAK,CAACC,IAAI,CAAC;QAAEC,IAAI,EAAEH;MAAe,CAAC,CAAC;MACjD;IACF;IACA,MAAMI,eAAe,GAAG,IAAAC,oCAAkB,EAACZ,YAAY,EAAEa,eAAI,CAACC,IAAI,CAACd,YAAY,EAAEO,cAAc,CAAC,CAAC;IACjG,IAAI,CAACI,eAAe,EAAE;MACpB;MACAV,YAAY,CAACc,oBAAoB,CAACN,IAAI,CAACF,cAAc,CAAC;MACtD;IACF;;IAEA;IACA,IAAII,eAAe,CAACK,WAAW,EAAE;MAC/Bf,YAAY,CAACgB,UAAU,CAACR,IAAI,CAACE,eAAe,CAAC;MAC7C;IACF;IACA,MAAMO,OAAO,GAAGP,eAAe,CAACQ,sBAAsB,IAAIR,eAAe,CAACS,eAAe;IACzF,MAAMC,kBAAkB,GAAG;MACzB,CAACV,eAAe,CAACW,IAAI,GAAGJ;IAC1B,CAAC;IACDK,MAAM,CAACC,MAAM,CAACvB,YAAY,CAACwB,QAAQ,EAAEJ,kBAAkB,CAAC;EAC1D,CAAC,CAAC;EAEF,OAAOpB,YAAY;AACrB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAASyB,2BAA2BA,CAACC,IAAe,EAAE3B,YAAoB,EAAoB;EAC5F,MAAM4B,MAAwB,GAAG,CAAC,CAAC;EACnCL,MAAM,CAACM,IAAI,CAACF,IAAI,CAAC,CAACrB,OAAO,CAAEwB,QAAQ,IAAK;IACtC,IAAIH,IAAI,CAACG,QAAQ,CAAC,IAAI,CAAC,IAAAC,iBAAO,EAACJ,IAAI,CAACG,QAAQ,CAAC,CAAC,EAAE;MAC9CF,MAAM,CAACE,QAAQ,CAAC,GAAGhC,mBAAmB,CAAC6B,IAAI,CAACG,QAAQ,CAAC,EAAE9B,YAAY,CAAC;IACtE,CAAC,MAAM;MACL4B,MAAM,CAACE,QAAQ,CAAC,GAAG,KAAI5B,0CAAoB,EAAC,CAAC;IAC/C;EACF,CAAC,CAAC;EAEF,OAAO0B,MAAM;AACf;;AAEA;AACA;AACA;AACA,SAASI,qBAAqBA,CAACL,IAAsB,EAAEM,eAA8B,EAAEC,OAAe,EAAQ;EAC5G,IAAI,CAACD,eAAe,CAACE,MAAM,EAAE;EAC7B,MAAMC,OAAO,GAAG,IAAAC,wCAA6B,EAACJ,eAAe,EAAEC,OAAO,CAAC;EACvEX,MAAM,CAACM,IAAI,CAACF,IAAI,CAAC,CAACrB,OAAO,CAAEwB,QAAgB,IAAK;IAC9C,MAAMQ,SAAS,GAAGX,IAAI,CAACG,QAAQ,CAAC,CAACtB,KAAK;IACtC,IAAI,CAAC8B,SAAS,CAACH,MAAM,EAAE,OAAO,CAAC;IAC/B,MAAMI,eAAe,GAAGH,OAAO,CAACI,IAAI,CAAE9B,IAAI,IAAKA,IAAI,CAACA,IAAI,KAAKoB,QAAQ,CAAC;IACtE,IAAI,CAACS,eAAe,EAAE,MAAM,IAAIE,KAAK,CAAC,iDAAiDX,QAAQ,EAAE,CAAC;IAClG;IACAH,IAAI,CAACG,QAAQ,CAAC,CAACtB,KAAK,GAAG8B,SAAS,CAACI,MAAM,CAAEC,UAAU,IAAKA,UAAU,CAACjC,IAAI,KAAKoB,QAAQ,CAAC;IACrFH,IAAI,CAACG,QAAQ,CAAC,CAACtB,KAAK,CAACF,OAAO,CAAEsC,UAAsB,IAAK;MACvD,MAAMC,iBAAiB,GAAGN,eAAe,CAACO,YAAY,CAACN,IAAI,CAAE9B,IAAI,IAAKA,IAAI,CAACqC,WAAW,KAAKH,UAAU,CAAClC,IAAI,CAAC;MAC3G,IAAI,CAACmC,iBAAiB,EAAE;QACtB,MAAM,IAAIJ,KAAK,CAAC,2DAA2DG,UAAU,CAAClC,IAAI,EAAE,CAAC;MAC/F;MACAkC,UAAU,CAACI,YAAY,GAAGH,iBAAiB,CAACG,YAAY;MACxD,IAAIH,iBAAiB,CAACI,gBAAgB,IAAIJ,iBAAiB,CAACI,gBAAgB,CAACd,MAAM,EAAE;QACnF,MAAMe,mBAAmB,GAAGL,iBAAiB,CAACI,gBAAgB,CAACE,GAAG,CAAEC,eAAe,IAAK;UACtF,OAAO;YACLC,QAAQ,EAAED;UACZ,CAAC;QACH,CAAC,CAAC;QACFR,UAAU,CAACK,gBAAgB,GAAGC,mBAAmB;MACnD;MACA,OAAON,UAAU;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEA,SAASU,gCAAgCA,CACvCC,aAA4B,EAC5BC,aAAiC,EACjC7B,IAAsB,EACtB;EACA,IAAI,IAAAI,iBAAO,EAACwB,aAAa,CAACtC,UAAU,CAAC,IAAI,IAAAc,iBAAO,EAACwB,aAAa,CAAC9B,QAAQ,CAAC,EAAE;EAC1E;EACAF,MAAM,CAACM,IAAI,CAAC0B,aAAa,CAAC9B,QAAQ,CAAC,CAACnB,OAAO,CAAEmD,GAAG,IAAK;IACnD;IACAD,aAAa,CAAClD,OAAO,CAAEoD,OAAyB,IAAK;MACnD,IAAIA,OAAO,CAACjC,QAAQ,IAAIiC,OAAO,CAACjC,QAAQ,CAACpB,QAAQ,CAACoD,GAAG,CAAC,EAAE;QACtDC,OAAO,CAACjC,QAAQ,GAAGiC,OAAO,CAACjC,QAAQ,CAACiB,MAAM,CAAEiB,WAAW,IAAKA,WAAW,KAAKF,GAAG,CAAC;QAChF,IAAAG,aAAG,EAACjC,IAAI,CAAC+B,OAAO,CAACG,UAAU,CAAC,EAAE,CAAC,UAAU,EAAEJ,GAAG,CAAC,EAAEF,aAAa,CAAC9B,QAAQ,CAACgC,GAAG,CAAC,CAAC;MAC/E;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EACFF,aAAa,CAACtC,UAAU,CAACX,OAAO,CAAEwD,SAAS,IAAK;IAC9CN,aAAa,CAAClD,OAAO,CAAEoD,OAAyB,IAAK;MACnD,IAAIA,OAAO,CAACjC,QAAQ,IAAIiC,OAAO,CAACjC,QAAQ,CAACpB,QAAQ,CAACyD,SAAS,CAACxC,IAAI,CAAC,EAAE;QACjEoC,OAAO,CAACjC,QAAQ,GAAGiC,OAAO,CAACjC,QAAQ,CAACiB,MAAM,CAAEiB,WAAW,IAAKA,WAAW,KAAKG,SAAS,CAACxC,IAAI,CAAC;QAC3F,CAACK,IAAI,CAAC+B,OAAO,CAACG,UAAU,CAAC,KAAK,KAAI3D,0CAAoB,EAAC,CAAC,EAAEe,UAAU,CAACR,IAAI,CAACqD,SAAS,CAAC;MACtF;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ;AAEA,SAASC,kBAAkBA,CAACP,aAAa,EAAE7B,IAAsB,EAAE;EACjE,IAAI,IAAAI,iBAAO,EAACyB,aAAa,CAAC,EAAE;EAC5BA,aAAa,CAAClD,OAAO,CAAE0D,OAAO,IAAK;IACjC,MAAMC,aAAa,GAAG,IAAAC,eAAK,EAACF,OAAO,CAAC;IACpC,OAAOC,aAAa,CAACJ,UAAU;IAC/B,CAAClC,IAAI,CAACqC,OAAO,CAACH,UAAU,CAAC,KAAK,KAAI3D,0CAAoB,EAAC,CAAC,EAAE8D,OAAO,GAAGC,aAAa;EACnF,CAAC,CAAC;AACJ;AAEA,SAASE,iBAAiBA,CAACC,MAAM,EAAEzC,IAAsB,EAAE;EACzD,IAAI,IAAAI,iBAAO,EAACqC,MAAM,CAAC,EAAE;EACrB7C,MAAM,CAACM,IAAI,CAACuC,MAAM,CAAC,CAAC9D,OAAO,CAAEI,IAAI,IAAK;IACpC,CAACiB,IAAI,CAACjB,IAAI,CAAC,KAAK,KAAIR,0CAAoB,EAAC,CAAC,EAAEmE,KAAK,GAAGD,MAAM,CAAC1D,IAAI,CAAC;EAClE,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,eAAe4D,iBAAiBA,CAAC;EACtCtE,YAAY;EAAE;EACduE,aAAa;EACbC,SAAS;EACTC,OAAO,GAAG,CAAC,CAAC;EACZC,eAAe;EACfC;AACoB,CAAC,EAAuC;EAC5D,MAAMC,MAAM,GAAG;IACb1C,OAAO,EAAElC,YAAY;IACrB6E,UAAU,EAAE,IAAI;IAChBC,aAAa,EAAE,IAAI;IACnBC,aAAa,EAAE,IAAI;IACnBN,OAAO;IACPO,WAAW,EAAE,EAAE;IACfN,eAAe;IACfC;EACF,CAAC;EACD;EACA;EACA,MAAMM,SAAS,GAAGT,SAAS,CAACrB,GAAG,CAAErB,QAAQ,IAAK;IAC5C,IAAIA,QAAQ,CAACoD,UAAU,CAAClF,YAAY,CAAC,EAAE;MACrC,OAAO8B,QAAQ;IACjB;IACA,OAAOjB,eAAI,CAACsE,OAAO,CAACnF,YAAY,EAAE8B,QAAQ,CAAC;EAC7C,CAAC,CAAC;EACF,MAAM;IAAEsD,SAAS;IAAEC,OAAO;IAAEjD,OAAO;IAAEgC;EAAO,CAAC,GAAG,IAAAkB,4BAAY,EAACL,SAAS,EAAEL,MAAM,CAAC;EAC/E,MAAMjD,IAAsB,GAAGD,2BAA2B,CAAC0D,SAAS,EAAEpF,YAAY,CAAC;EACnF,MAAM;IAAEwD,aAAa;IAAED;EAAc,CAAC,GAAG,KAAIgC,gCAAc,EACzDF,OAAO,EACPrF,YAAY,EACZuE,aACF,CAAC,CAACiB,mBAAmB,CAAC,CAAC;EAEvB,IAAIjC,aAAa,EAAED,gCAAgC,CAACC,aAAa,EAAEC,aAAa,EAAE7B,IAAI,CAAC;EACvF,IAAIyC,MAAM,EAAED,iBAAiB,CAACC,MAAM,EAAEzC,IAAI,CAAC;EAC3C,IAAI6B,aAAa,EAAEO,kBAAkB,CAACP,aAAa,EAAE7B,IAAI,CAAC;EAC1D,IAAIS,OAAO,EAAEJ,qBAAqB,CAACL,IAAI,EAAES,OAAO,EAAEpC,YAAY,CAAC;EAE/D,OAAO;IAAE2B;EAAK,CAAC;AACjB","ignoreList":[]}
|