@teambit/dependency-resolver 1.0.330 → 1.0.332

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.
Files changed (30) hide show
  1. package/artifacts/__bit_junit.xml +27 -27
  2. package/artifacts/preview/teambit_dependencies_dependency_resolver-preview.js +1 -1
  3. package/artifacts/schema.json +373 -1206
  4. package/dependencies/component-dependency/component-dependency-factory.ts +1 -1
  5. package/dist/dependencies/component-dependency/component-dependency-factory.js +5 -5
  6. package/dist/dependencies/component-dependency/component-dependency-factory.js.map +1 -1
  7. package/dist/dependency-detector.d.ts +1 -1
  8. package/dist/dependency-detector.js +6 -6
  9. package/dist/dependency-detector.js.map +1 -1
  10. package/dist/dependency-installer.d.ts +1 -1
  11. package/dist/dependency-installer.js.map +1 -1
  12. package/dist/dependency-linker.d.ts +1 -1
  13. package/dist/dependency-linker.js +8 -8
  14. package/dist/dependency-linker.js.map +1 -1
  15. package/dist/dependency-resolver.main.runtime.js +20 -20
  16. package/dist/dependency-resolver.main.runtime.js.map +1 -1
  17. package/dist/dependency-version-resolver.d.ts +1 -1
  18. package/dist/dependency-version-resolver.js.map +1 -1
  19. package/dist/manifest/workspace-manifest-factory.js +6 -6
  20. package/dist/manifest/workspace-manifest-factory.js.map +1 -1
  21. package/dist/package-manager-legacy.js +13 -8
  22. package/dist/package-manager-legacy.js.map +1 -1
  23. package/dist/policy/variant-policy/variant-policy.js +4 -4
  24. package/dist/policy/variant-policy/variant-policy.js.map +1 -1
  25. package/dist/{preview-1720513025675.js → preview-1720690103747.js} +2 -2
  26. package/dist/types.d.ts +1 -1
  27. package/dist/types.js.map +1 -1
  28. package/manifest/workspace-manifest-factory.ts +1 -1
  29. package/package.json +20 -16
  30. package/policy/variant-policy/variant-policy.ts +1 -1
@@ -1,4 +1,4 @@
1
- import { PathAbsolute } from '@teambit/legacy/dist/utils/path';
1
+ import { PathAbsolute } from '@teambit/toolbox.path.path';
2
2
  import { PackageManager, PackageManagerResolveRemoteVersionOptions, ResolvedPackageVersion } from './package-manager';
3
3
  export declare class DependencyVersionResolver {
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_pLimit","data","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DEFAULT_REMOTE_RESOLVE_VERSIONS","fetchToCache","update","DependencyVersionResolver","constructor","packageManager","cacheRootDir","networkConcurrency","limitRequests","pLimit","resolveRemoteVersion","packageName","options","calculatedOpts","assign","resolved","exports"],"sources":["dependency-version-resolver.ts"],"sourcesContent":["import { PathAbsolute } from '@teambit/legacy/dist/utils/path';\nimport pLimit from 'p-limit';\n\nimport { PackageManager, PackageManagerResolveRemoteVersionOptions, ResolvedPackageVersion } from './package-manager';\n\nconst DEFAULT_REMOTE_RESOLVE_VERSIONS = {\n fetchToCache: true,\n update: true,\n};\n\nexport class DependencyVersionResolver {\n private limitRequests: pLimit.Limit;\n\n constructor(\n /**\n * package manager instance.\n */\n private packageManager: PackageManager,\n\n private cacheRootDir?: string | PathAbsolute,\n\n networkConcurrency?: number\n ) {\n this.limitRequests = pLimit(networkConcurrency ?? 16);\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n // Make sure to take other default if passed options with only one option\n const calculatedOpts = Object.assign(\n {},\n DEFAULT_REMOTE_RESOLVE_VERSIONS,\n { cacheRootDir: this.cacheRootDir },\n options\n );\n // TODO: the cache should be probably passed to the package manager constructor not to the install function\n const resolved = this.limitRequests(() => this.packageManager.resolveRemoteVersion(packageName, calculatedOpts));\n return resolved;\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6B,SAAAC,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAI7B,MAAMgB,+BAA+B,GAAG;EACtCC,YAAY,EAAE,IAAI;EAClBC,MAAM,EAAE;AACV,CAAC;AAEM,MAAMC,yBAAyB,CAAC;EAGrCC,WAAWA;EACT;AACJ;AACA;EACYC,cAA8B,EAE9BC,YAAoC,EAE5CC,kBAA2B,EAC3B;IAAA,KALQF,cAA8B,GAA9BA,cAA8B;IAAA,KAE9BC,YAAoC,GAApCA,YAAoC;IAAAxB,eAAA;IAI5C,IAAI,CAAC0B,aAAa,GAAG,IAAAC,iBAAM,EAACF,kBAAkB,IAAI,EAAE,CAAC;EACvD;EAEA,MAAMG,oBAAoBA,CACxBC,WAAmB,EACnBC,OAAkD,EACjB;IACjC;IACA,MAAMC,cAAc,GAAG3B,MAAM,CAAC4B,MAAM,CAClC,CAAC,CAAC,EACFd,+BAA+B,EAC/B;MAAEM,YAAY,EAAE,IAAI,CAACA;IAAa,CAAC,EACnCM,OACF,CAAC;IACD;IACA,MAAMG,QAAQ,GAAG,IAAI,CAACP,aAAa,CAAC,MAAM,IAAI,CAACH,cAAc,CAACK,oBAAoB,CAACC,WAAW,EAAEE,cAAc,CAAC,CAAC;IAChH,OAAOE,QAAQ;EACjB;AACF;AAACC,OAAA,CAAAb,yBAAA,GAAAA,yBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_pLimit","data","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DEFAULT_REMOTE_RESOLVE_VERSIONS","fetchToCache","update","DependencyVersionResolver","constructor","packageManager","cacheRootDir","networkConcurrency","limitRequests","pLimit","resolveRemoteVersion","packageName","options","calculatedOpts","assign","resolved","exports"],"sources":["dependency-version-resolver.ts"],"sourcesContent":["import { PathAbsolute } from '@teambit/toolbox.path.path';\nimport pLimit from 'p-limit';\n\nimport { PackageManager, PackageManagerResolveRemoteVersionOptions, ResolvedPackageVersion } from './package-manager';\n\nconst DEFAULT_REMOTE_RESOLVE_VERSIONS = {\n fetchToCache: true,\n update: true,\n};\n\nexport class DependencyVersionResolver {\n private limitRequests: pLimit.Limit;\n\n constructor(\n /**\n * package manager instance.\n */\n private packageManager: PackageManager,\n\n private cacheRootDir?: string | PathAbsolute,\n\n networkConcurrency?: number\n ) {\n this.limitRequests = pLimit(networkConcurrency ?? 16);\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n // Make sure to take other default if passed options with only one option\n const calculatedOpts = Object.assign(\n {},\n DEFAULT_REMOTE_RESOLVE_VERSIONS,\n { cacheRootDir: this.cacheRootDir },\n options\n );\n // TODO: the cache should be probably passed to the package manager constructor not to the install function\n const resolved = this.limitRequests(() => this.packageManager.resolveRemoteVersion(packageName, calculatedOpts));\n return resolved;\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6B,SAAAC,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAI7B,MAAMgB,+BAA+B,GAAG;EACtCC,YAAY,EAAE,IAAI;EAClBC,MAAM,EAAE;AACV,CAAC;AAEM,MAAMC,yBAAyB,CAAC;EAGrCC,WAAWA;EACT;AACJ;AACA;EACYC,cAA8B,EAE9BC,YAAoC,EAE5CC,kBAA2B,EAC3B;IAAA,KALQF,cAA8B,GAA9BA,cAA8B;IAAA,KAE9BC,YAAoC,GAApCA,YAAoC;IAAAxB,eAAA;IAI5C,IAAI,CAAC0B,aAAa,GAAG,IAAAC,iBAAM,EAACF,kBAAkB,IAAI,EAAE,CAAC;EACvD;EAEA,MAAMG,oBAAoBA,CACxBC,WAAmB,EACnBC,OAAkD,EACjB;IACjC;IACA,MAAMC,cAAc,GAAG3B,MAAM,CAAC4B,MAAM,CAClC,CAAC,CAAC,EACFd,+BAA+B,EAC/B;MAAEM,YAAY,EAAE,IAAI,CAACA;IAAa,CAAC,EACnCM,OACF,CAAC;IACD;IACA,MAAMG,QAAQ,GAAG,IAAI,CAACP,aAAa,CAAC,MAAM,IAAI,CAACH,cAAc,CAACK,oBAAoB,CAACC,WAAW,EAAEE,cAAc,CAAC,CAAC;IAChH,OAAOE,QAAQ;EACjB;AACF;AAACC,OAAA,CAAAb,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -18,9 +18,9 @@ function _componentIssues() {
18
18
  };
19
19
  return data;
20
20
  }
21
- function _componentIdToPackageName() {
22
- const data = _interopRequireDefault(require("@teambit/legacy/dist/utils/bit/component-id-to-package-name"));
23
- _componentIdToPackageName = function () {
21
+ function _pkgModules() {
22
+ const data = require("@teambit/pkg.modules.component-package-name");
23
+ _pkgModules = function () {
24
24
  return data;
25
25
  };
26
26
  return data;
@@ -184,7 +184,7 @@ class WorkspaceManifestFactory {
184
184
  }) {
185
185
  const packageNames = components.map(component => this.dependencyResolver.getPackageName(component));
186
186
  const buildResultsP = components.map(async component => {
187
- const packageName = (0, _componentIdToPackageName().default)(component.state._consumer);
187
+ const packageName = (0, _pkgModules().componentIdToPackageName)(component.state._consumer);
188
188
  let depList = this.dependencyResolver.getDependencies(component, {
189
189
  includeHidden: true
190
190
  });
@@ -278,7 +278,7 @@ class WorkspaceManifestFactory {
278
278
  // don't use Promise.all, along the road this code might import an env from a remote, which can't be done in parallel.
279
279
  // otherwise, it may import the same component multiple times, and if fails, the ref (remote-lane) files may be corrupted.
280
280
  await (0, _pMapSeries().default)(components, async component => {
281
- const packageName = (0, _componentIdToPackageName().default)(component.state._consumer);
281
+ const packageName = (0, _pkgModules().componentIdToPackageName)(component.state._consumer);
282
282
  if (dedupedDependencies.componentDependenciesMap.has(packageName) || createManifestForComponentsWithoutDependencies) {
283
283
  const blankDependencies = {
284
284
  dependencies: {},
@@ -322,7 +322,7 @@ function filterComponents(dependencyList, componentsToFilterOut) {
322
322
  // If the package is already in the workspace as a local component,
323
323
  // then we don't want to install that package as a dependency to node_modules.
324
324
  // Otherwise, it would rewrite the local component inside the root node_modules that is created by bit link.
325
- return !componentsToFilterOut.some(component => depPkgName === (0, _componentIdToPackageName().default)(component.state._consumer));
325
+ return !componentsToFilterOut.some(component => depPkgName === (0, _pkgModules().componentIdToPackageName)(component.state._consumer));
326
326
  }
327
327
  // Remove dependencies which has no version (they are new in the workspace)
328
328
  if (!dep.componentId.hasVersion()) return false;
@@ -1 +1 @@
1
- {"version":3,"names":["_aspectLoader","data","require","_componentIssues","_componentIdToPackageName","_interopRequireDefault","_lodash","_semver","_pMapSeries","_componentPackageVersion","_dependencies","_policy","_componentManifest","_deduping","_updateDependencyVersion","_workspaceManifest","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","DEFAULT_CREATE_OPTIONS","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","resolveVersionsFromDependenciesOnly","excludeExtensionsDependencies","WorkspaceManifestFactory","constructor","dependencyResolver","aspectLoader","createFromComponents","name","version","rootPolicy","rootDir","components","options","optsWithDefaults","assign","hasRootComponents","filterOutCoreAspects","componentDependenciesMap","buildComponentDependenciesMap","undefined","dependencyFilterFn","referenceLocalPackages","rootDependencies","toManifest","dependencies","dedupedDependencies","getEmptyDedupedDependencies","dedupeDependencies","dedupePeerDependencies","mapValues","deps","excludeWorkspaceDependencies","componentsManifestsMap","getComponentsManifests","envSelfPeers","getEnvsSelfPeersPolicy","workspaceManifest","WorkspaceManifest","coreAspectIds","getCoreAspectIds","coreAspectPkgNames","Set","map","coreAspectId","getCoreAspectPackageName","add","dep","has","dependencyId","foundEnvs","component","values","envPolicy","peersPolicies","policy","selfPolicy","mergedPolicies","VariantPolicy","mergePolices","packageNames","getPackageName","buildResultsP","packageName","componentIdToPackageName","state","_consumer","depList","getDependencies","includeHidden","additionalDeps","comp","toTypeArray","compIdWithoutVersion","id","split","isExtension","includes","componentInWorkspace","find","c","isEqual","componentId","pkgName","depManifestBeforeFiltering","toDependenciesManifest","filterComponents","filterExtensions","updateDependenciesVersions","depManifest","devMissings","runtimeMissings","getMissingPackages","unresolvedRuntimeMissingRootDeps","pickBy","_version","rootPackageName","devDependencies","peerDependencies","unresolvedDevMissingRootDeps","defaultPeerDependencies","_getDefaultPeerDependencies","result","Map","results","Promise","all","currResult","set","packageNamesFromWorkspace","getComponentEnvPolicy","selfPolicyWithoutLocal","fromPairs","toNameVersionTuple","dependencyList","getPolicy","updateDependencyVersion","componentsManifests","pMapSeries","blankDependencies","optionalDependencies","peerDependenciesMeta","get","getVersion","hasVersion","snapToSemver","manifest","ComponentManifest","SemVer","exports","filtered","ComponentDependency","componentsToFilterOut","depPkgName","some","existingComponent","toString","ignoreVersion","isEqualWithoutVersion","versionSpec","startsWith","missingPackagesData","issues","getIssue","IssuesClasses","MissingPackagesDependenciesOnFs","isDevFile","missingPackages","uniq","difference"],"sources":["workspace-manifest-factory.ts"],"sourcesContent":["import { AspectLoaderMain, getCoreAspectPackageName } from '@teambit/aspect-loader';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Component } from '@teambit/component';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { fromPairs, pickBy, mapValues, uniq, difference } from 'lodash';\nimport { SemVer } from 'semver';\nimport pMapSeries from 'p-map-series';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { ComponentDependency, DependencyList, PackageName } from '../dependencies';\nimport { VariantPolicy, WorkspacePolicy, EnvPolicy } from '../policy';\nimport { DependencyResolverMain } from '../dependency-resolver.main.runtime';\nimport { ComponentsManifestsMap } from '../types';\nimport { ComponentManifest } from './component-manifest';\nimport { dedupeDependencies, DedupedDependencies, getEmptyDedupedDependencies } from './deduping';\nimport { ManifestToJsonOptions, ManifestDependenciesObject, DepObjectValue } from './manifest';\nimport { updateDependencyVersion } from './update-dependency-version';\nimport { WorkspaceManifest } from './workspace-manifest';\n\nexport type DepsFilterFn = (dependencies: DependencyList) => DependencyList;\n\nexport type ComponentDependenciesMap = Map<PackageName, ManifestDependenciesObject>;\nexport interface WorkspaceManifestToJsonOptions extends ManifestToJsonOptions {\n includeDir?: boolean;\n}\n\nexport type CreateFromComponentsOptions = {\n filterComponentsFromManifests: boolean;\n createManifestForComponentsWithoutDependencies: boolean;\n dedupe?: boolean;\n dependencyFilterFn?: DepsFilterFn;\n resolveVersionsFromDependenciesOnly?: boolean;\n referenceLocalPackages?: boolean;\n hasRootComponents?: boolean;\n excludeExtensionsDependencies?: boolean;\n};\n\nconst DEFAULT_CREATE_OPTIONS: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: true,\n resolveVersionsFromDependenciesOnly: false,\n excludeExtensionsDependencies: false,\n};\nexport class WorkspaceManifestFactory {\n constructor(private dependencyResolver: DependencyResolverMain, private aspectLoader: AspectLoaderMain) {}\n\n async createFromComponents(\n name: string,\n version: SemVer,\n rootPolicy: WorkspacePolicy,\n rootDir: string,\n components: Component[],\n options: CreateFromComponentsOptions = DEFAULT_CREATE_OPTIONS\n ): Promise<WorkspaceManifest> {\n // Make sure to take other default if passed options with only one option\n const optsWithDefaults = Object.assign({}, DEFAULT_CREATE_OPTIONS, options);\n const hasRootComponents = options.hasRootComponents ?? this.dependencyResolver.hasRootComponents();\n rootPolicy = this.filterOutCoreAspects(rootPolicy);\n const componentDependenciesMap: ComponentDependenciesMap = await this.buildComponentDependenciesMap(components, {\n filterComponentsFromManifests: optsWithDefaults.filterComponentsFromManifests,\n rootPolicy: optsWithDefaults.resolveVersionsFromDependenciesOnly ? undefined : rootPolicy,\n dependencyFilterFn: optsWithDefaults.dependencyFilterFn,\n excludeExtensionsDependencies: optsWithDefaults.excludeExtensionsDependencies,\n referenceLocalPackages: optsWithDefaults.referenceLocalPackages && hasRootComponents,\n rootDependencies: hasRootComponents ? rootPolicy.toManifest().dependencies : undefined,\n });\n let dedupedDependencies = getEmptyDedupedDependencies();\n if (hasRootComponents) {\n const { rootDependencies } = dedupeDependencies(rootPolicy, componentDependenciesMap, {\n dedupePeerDependencies: hasRootComponents,\n });\n // We hoist dependencies in order for the IDE to work.\n // For runtime, the peer dependencies are installed inside:\n // <ws root>/node_module/<comp name>/node_module/<comp name>/node_modules\n dedupedDependencies.rootDependencies = mapValues(\n rootDependencies,\n (deps) => deps && excludeWorkspaceDependencies(deps)\n );\n dedupedDependencies.componentDependenciesMap = componentDependenciesMap;\n } else if (options.dedupe) {\n dedupedDependencies = dedupeDependencies(rootPolicy, componentDependenciesMap);\n } else {\n dedupedDependencies.rootDependencies = rootPolicy.toManifest();\n dedupedDependencies.componentDependenciesMap = componentDependenciesMap;\n }\n const componentsManifestsMap = await this.getComponentsManifests(\n dedupedDependencies,\n components,\n optsWithDefaults.createManifestForComponentsWithoutDependencies\n );\n const envSelfPeers = this.getEnvsSelfPeersPolicy(componentsManifestsMap);\n const workspaceManifest = new WorkspaceManifest(\n name,\n version,\n dedupedDependencies.rootDependencies,\n envSelfPeers,\n rootDir,\n componentsManifestsMap\n );\n return workspaceManifest;\n }\n\n private filterOutCoreAspects(rootPolicy: WorkspacePolicy) {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n const coreAspectPkgNames = new Set(coreAspectIds.map((coreAspectId) => getCoreAspectPackageName(coreAspectId)));\n coreAspectPkgNames.add('@teambit/legacy');\n return rootPolicy.filter((dep) => !coreAspectPkgNames.has(dep.dependencyId));\n }\n\n private getEnvsSelfPeersPolicy(componentsManifestsMap: ComponentsManifestsMap) {\n const foundEnvs: EnvPolicy[] = [];\n for (const component of componentsManifestsMap.values()) {\n foundEnvs.push(component.envPolicy);\n }\n const peersPolicies = foundEnvs.map((policy) => policy.selfPolicy);\n // TODO: At the moment we are just merge everything, so in case of conflicts one will be taken\n // TODO: once we have root for each env, we should know to handle it differently\n const mergedPolicies = VariantPolicy.mergePolices(peersPolicies);\n return mergedPolicies;\n }\n\n /**\n * Get the components and build a map with the package name (from the component) as key and the dependencies as values\n *\n * @param {Component[]} components\n * @param {boolean} [filterComponentsFromManifests=true] - filter existing components from the dep graphs\n * @returns\n */\n private async buildComponentDependenciesMap(\n components: Component[],\n {\n dependencyFilterFn,\n filterComponentsFromManifests,\n excludeExtensionsDependencies,\n referenceLocalPackages,\n rootDependencies,\n rootPolicy,\n }: {\n dependencyFilterFn?: DepsFilterFn;\n filterComponentsFromManifests?: boolean;\n excludeExtensionsDependencies?: boolean;\n referenceLocalPackages?: boolean;\n rootDependencies?: Record<string, string>;\n rootPolicy?: WorkspacePolicy;\n }\n ): Promise<ComponentDependenciesMap> {\n const packageNames = components.map((component) => this.dependencyResolver.getPackageName(component));\n const buildResultsP = components.map(async (component) => {\n const packageName = componentIdToPackageName(component.state._consumer);\n let depList = this.dependencyResolver.getDependencies(component, { includeHidden: true });\n const additionalDeps = {};\n if (referenceLocalPackages) {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n for (const comp of depList.toTypeArray('component') as ComponentDependency[]) {\n const [compIdWithoutVersion] = comp.id.split('@');\n if (!comp.isExtension && !coreAspectIds.includes(compIdWithoutVersion)) {\n const componentInWorkspace = components.find((c) => c.id.isEqual(comp.componentId));\n if (componentInWorkspace) {\n const pkgName = this.dependencyResolver.getPackageName(componentInWorkspace);\n if (pkgName !== '@teambit/harmony') {\n additionalDeps[pkgName] = `workspace:*`;\n }\n }\n }\n }\n }\n const depManifestBeforeFiltering = depList.toDependenciesManifest();\n\n if (filterComponentsFromManifests ?? true) {\n depList = filterComponents(depList, components);\n }\n if (excludeExtensionsDependencies) {\n depList = filterExtensions(depList);\n }\n // Remove bit bin from dep list\n depList = depList.filter((dep) => dep.id !== '@teambit/legacy');\n if (dependencyFilterFn) {\n depList = dependencyFilterFn(depList);\n }\n await this.updateDependenciesVersions(component, rootPolicy, depList);\n const depManifest = depList.toDependenciesManifest();\n const { devMissings, runtimeMissings } = await getMissingPackages(component);\n // Only add missing root deps that are not already in the component manifest\n // We are using depManifestBeforeFiltering to support (rare) cases when a dependency is both:\n // a component in the workspace (bitmap) and a dependency in the workspace.jsonc / package.json\n // this happens for the bit repo itself for the @teambit/component-version component\n // in this case we don't want to add that to the manifest when it's missing, because it will be linked from the\n // workspace\n const unresolvedRuntimeMissingRootDeps = pickBy(rootDependencies, (_version, rootPackageName) => {\n return (\n runtimeMissings.includes(rootPackageName) &&\n !depManifestBeforeFiltering.dependencies[rootPackageName] &&\n !depManifestBeforeFiltering.devDependencies[rootPackageName] &&\n !depManifestBeforeFiltering.peerDependencies[rootPackageName]\n );\n });\n // Only add missing root deps that are not already in the component manifest\n const unresolvedDevMissingRootDeps = pickBy(rootDependencies, (_version, rootPackageName) => {\n return (\n devMissings.includes(rootPackageName) &&\n !depManifestBeforeFiltering.dependencies[rootPackageName] &&\n !depManifestBeforeFiltering.devDependencies[rootPackageName] &&\n !depManifestBeforeFiltering.peerDependencies[rootPackageName]\n );\n });\n\n const defaultPeerDependencies = await this._getDefaultPeerDependencies(component, packageNames);\n\n depManifest.dependencies = {\n ...defaultPeerDependencies,\n ...unresolvedRuntimeMissingRootDeps,\n ...additionalDeps,\n ...depManifest.dependencies,\n };\n\n depManifest.devDependencies = {\n ...unresolvedDevMissingRootDeps,\n ...depManifest.devDependencies,\n };\n\n return { packageName, depManifest };\n });\n const result: ComponentDependenciesMap = new Map();\n\n if (buildResultsP.length) {\n const results = await Promise.all(buildResultsP);\n results.forEach((currResult) => {\n result.set(currResult.packageName, currResult.depManifest);\n });\n }\n\n return result;\n }\n\n private async _getDefaultPeerDependencies(\n component: Component,\n packageNamesFromWorkspace: string[]\n ): Promise<Record<string, string>> {\n const envPolicy = await this.dependencyResolver.getComponentEnvPolicy(component);\n const selfPolicyWithoutLocal = envPolicy.selfPolicy.filter(\n (dep) => !packageNamesFromWorkspace.includes(dep.dependencyId)\n );\n return fromPairs(selfPolicyWithoutLocal.toNameVersionTuple());\n }\n\n private async updateDependenciesVersions(\n component: Component,\n rootPolicy: WorkspacePolicy | undefined,\n dependencyList: DependencyList\n ): Promise<void> {\n // If root policy is not passed, it means that installation happens in a capsule\n // and we only resolve versions from the dependencies, not any policies.\n const mergedPolicies = rootPolicy && (await this.dependencyResolver.getPolicy(component));\n dependencyList.forEach((dep) => {\n updateDependencyVersion(dep, rootPolicy, mergedPolicies);\n });\n }\n\n /**\n * Get the components manifests based on the calculated dedupedDependencies\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {Component[]} components\n * @returns {ComponentsManifestsMap}\n */\n async getComponentsManifests(\n dedupedDependencies: DedupedDependencies,\n components: Component[],\n createManifestForComponentsWithoutDependencies = true\n ): Promise<ComponentsManifestsMap> {\n const componentsManifests: ComponentsManifestsMap = new Map();\n // don't use Promise.all, along the road this code might import an env from a remote, which can't be done in parallel.\n // otherwise, it may import the same component multiple times, and if fails, the ref (remote-lane) files may be corrupted.\n await pMapSeries(components, async (component) => {\n const packageName = componentIdToPackageName(component.state._consumer);\n if (\n dedupedDependencies.componentDependenciesMap.has(packageName) ||\n createManifestForComponentsWithoutDependencies\n ) {\n const blankDependencies: ManifestDependenciesObject = {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n peerDependenciesMeta: {},\n };\n let dependencies = blankDependencies;\n if (dedupedDependencies.componentDependenciesMap.has(packageName)) {\n dependencies = dedupedDependencies.componentDependenciesMap.get(packageName) as ManifestDependenciesObject;\n }\n\n const getVersion = (): string => {\n if (!component.id.hasVersion()) return '0.0.1-new';\n return snapToSemver(component.id.version as string);\n };\n\n const version = getVersion();\n const envPolicy = await this.dependencyResolver.getComponentEnvPolicy(component);\n const manifest = new ComponentManifest(packageName, new SemVer(version), dependencies, component, envPolicy);\n componentsManifests.set(packageName, manifest);\n }\n });\n return componentsManifests;\n }\n}\n\nfunction filterExtensions(dependencyList: DependencyList): DependencyList {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n return true;\n }\n return !dep.isExtension;\n });\n return filtered;\n}\n\nfunction filterComponents(dependencyList: DependencyList, componentsToFilterOut: Component[]): DependencyList {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n const depPkgName = dep.getPackageName?.();\n if (!depPkgName) return true;\n // If the package is already in the workspace as a local component,\n // then we don't want to install that package as a dependency to node_modules.\n // Otherwise, it would rewrite the local component inside the root node_modules that is created by bit link.\n return !componentsToFilterOut.some(\n (component) => depPkgName === componentIdToPackageName(component.state._consumer)\n );\n }\n // Remove dependencies which has no version (they are new in the workspace)\n if (!dep.componentId.hasVersion()) return false;\n const existingComponent = componentsToFilterOut.find((component) => {\n // For new components, the component has no version but the dependency id has version 0.0.1\n if (!component.id.hasVersion()) {\n return component.id.toString() === dep.componentId.toString({ ignoreVersion: true });\n }\n // We are checking against both component.id and component.state._consumer.id\n // Because during tag operation, the component.id has the current version (before the tag)\n // while the component.state._consumer.id has the upcoming version (the version that will be after the tag)\n // The dependency in some cases is already updated to the upcoming version\n return (\n component.id.isEqualWithoutVersion(dep.componentId) ||\n component.state._consumer.id.isEqualWithoutVersion(dep.componentId)\n );\n });\n if (existingComponent) return false;\n return true;\n });\n return filtered;\n}\n\nfunction excludeWorkspaceDependencies(deps: DepObjectValue): DepObjectValue {\n return pickBy(deps, (versionSpec) => !versionSpec.startsWith('file:') && !versionSpec.startsWith('workspace:'));\n}\n\nasync function getMissingPackages(component: Component): Promise<{ devMissings: string[]; runtimeMissings: string[] }> {\n const missingPackagesData = component.state.issues.getIssue(IssuesClasses.MissingPackagesDependenciesOnFs)?.data;\n if (!missingPackagesData?.length) return { devMissings: [], runtimeMissings: [] };\n\n let devMissings: string[] = [];\n let runtimeMissings: string[] = [];\n\n missingPackagesData.forEach((data) => {\n if (data.isDevFile) {\n devMissings.push(...data.missingPackages);\n } else {\n runtimeMissings.push(...data.missingPackages);\n }\n });\n devMissings = uniq(devMissings);\n runtimeMissings = uniq(runtimeMissings);\n\n // Remove dev missing which are also runtime missing\n devMissings = difference(devMissings, runtimeMissings);\n return {\n devMissings,\n runtimeMissings,\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_aspectLoader","data","require","_componentIssues","_pkgModules","_lodash","_semver","_pMapSeries","_interopRequireDefault","_componentPackageVersion","_dependencies","_policy","_componentManifest","_deduping","_updateDependencyVersion","_workspaceManifest","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","DEFAULT_CREATE_OPTIONS","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","resolveVersionsFromDependenciesOnly","excludeExtensionsDependencies","WorkspaceManifestFactory","constructor","dependencyResolver","aspectLoader","createFromComponents","name","version","rootPolicy","rootDir","components","options","optsWithDefaults","assign","hasRootComponents","filterOutCoreAspects","componentDependenciesMap","buildComponentDependenciesMap","undefined","dependencyFilterFn","referenceLocalPackages","rootDependencies","toManifest","dependencies","dedupedDependencies","getEmptyDedupedDependencies","dedupeDependencies","dedupePeerDependencies","mapValues","deps","excludeWorkspaceDependencies","componentsManifestsMap","getComponentsManifests","envSelfPeers","getEnvsSelfPeersPolicy","workspaceManifest","WorkspaceManifest","coreAspectIds","getCoreAspectIds","coreAspectPkgNames","Set","map","coreAspectId","getCoreAspectPackageName","add","dep","has","dependencyId","foundEnvs","component","values","envPolicy","peersPolicies","policy","selfPolicy","mergedPolicies","VariantPolicy","mergePolices","packageNames","getPackageName","buildResultsP","packageName","componentIdToPackageName","state","_consumer","depList","getDependencies","includeHidden","additionalDeps","comp","toTypeArray","compIdWithoutVersion","id","split","isExtension","includes","componentInWorkspace","find","c","isEqual","componentId","pkgName","depManifestBeforeFiltering","toDependenciesManifest","filterComponents","filterExtensions","updateDependenciesVersions","depManifest","devMissings","runtimeMissings","getMissingPackages","unresolvedRuntimeMissingRootDeps","pickBy","_version","rootPackageName","devDependencies","peerDependencies","unresolvedDevMissingRootDeps","defaultPeerDependencies","_getDefaultPeerDependencies","result","Map","results","Promise","all","currResult","set","packageNamesFromWorkspace","getComponentEnvPolicy","selfPolicyWithoutLocal","fromPairs","toNameVersionTuple","dependencyList","getPolicy","updateDependencyVersion","componentsManifests","pMapSeries","blankDependencies","optionalDependencies","peerDependenciesMeta","get","getVersion","hasVersion","snapToSemver","manifest","ComponentManifest","SemVer","exports","filtered","ComponentDependency","componentsToFilterOut","depPkgName","some","existingComponent","toString","ignoreVersion","isEqualWithoutVersion","versionSpec","startsWith","missingPackagesData","issues","getIssue","IssuesClasses","MissingPackagesDependenciesOnFs","isDevFile","missingPackages","uniq","difference"],"sources":["workspace-manifest-factory.ts"],"sourcesContent":["import { AspectLoaderMain, getCoreAspectPackageName } from '@teambit/aspect-loader';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport { Component } from '@teambit/component';\nimport { componentIdToPackageName } from '@teambit/pkg.modules.component-package-name';\nimport { fromPairs, pickBy, mapValues, uniq, difference } from 'lodash';\nimport { SemVer } from 'semver';\nimport pMapSeries from 'p-map-series';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { ComponentDependency, DependencyList, PackageName } from '../dependencies';\nimport { VariantPolicy, WorkspacePolicy, EnvPolicy } from '../policy';\nimport { DependencyResolverMain } from '../dependency-resolver.main.runtime';\nimport { ComponentsManifestsMap } from '../types';\nimport { ComponentManifest } from './component-manifest';\nimport { dedupeDependencies, DedupedDependencies, getEmptyDedupedDependencies } from './deduping';\nimport { ManifestToJsonOptions, ManifestDependenciesObject, DepObjectValue } from './manifest';\nimport { updateDependencyVersion } from './update-dependency-version';\nimport { WorkspaceManifest } from './workspace-manifest';\n\nexport type DepsFilterFn = (dependencies: DependencyList) => DependencyList;\n\nexport type ComponentDependenciesMap = Map<PackageName, ManifestDependenciesObject>;\nexport interface WorkspaceManifestToJsonOptions extends ManifestToJsonOptions {\n includeDir?: boolean;\n}\n\nexport type CreateFromComponentsOptions = {\n filterComponentsFromManifests: boolean;\n createManifestForComponentsWithoutDependencies: boolean;\n dedupe?: boolean;\n dependencyFilterFn?: DepsFilterFn;\n resolveVersionsFromDependenciesOnly?: boolean;\n referenceLocalPackages?: boolean;\n hasRootComponents?: boolean;\n excludeExtensionsDependencies?: boolean;\n};\n\nconst DEFAULT_CREATE_OPTIONS: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: true,\n resolveVersionsFromDependenciesOnly: false,\n excludeExtensionsDependencies: false,\n};\nexport class WorkspaceManifestFactory {\n constructor(private dependencyResolver: DependencyResolverMain, private aspectLoader: AspectLoaderMain) {}\n\n async createFromComponents(\n name: string,\n version: SemVer,\n rootPolicy: WorkspacePolicy,\n rootDir: string,\n components: Component[],\n options: CreateFromComponentsOptions = DEFAULT_CREATE_OPTIONS\n ): Promise<WorkspaceManifest> {\n // Make sure to take other default if passed options with only one option\n const optsWithDefaults = Object.assign({}, DEFAULT_CREATE_OPTIONS, options);\n const hasRootComponents = options.hasRootComponents ?? this.dependencyResolver.hasRootComponents();\n rootPolicy = this.filterOutCoreAspects(rootPolicy);\n const componentDependenciesMap: ComponentDependenciesMap = await this.buildComponentDependenciesMap(components, {\n filterComponentsFromManifests: optsWithDefaults.filterComponentsFromManifests,\n rootPolicy: optsWithDefaults.resolveVersionsFromDependenciesOnly ? undefined : rootPolicy,\n dependencyFilterFn: optsWithDefaults.dependencyFilterFn,\n excludeExtensionsDependencies: optsWithDefaults.excludeExtensionsDependencies,\n referenceLocalPackages: optsWithDefaults.referenceLocalPackages && hasRootComponents,\n rootDependencies: hasRootComponents ? rootPolicy.toManifest().dependencies : undefined,\n });\n let dedupedDependencies = getEmptyDedupedDependencies();\n if (hasRootComponents) {\n const { rootDependencies } = dedupeDependencies(rootPolicy, componentDependenciesMap, {\n dedupePeerDependencies: hasRootComponents,\n });\n // We hoist dependencies in order for the IDE to work.\n // For runtime, the peer dependencies are installed inside:\n // <ws root>/node_module/<comp name>/node_module/<comp name>/node_modules\n dedupedDependencies.rootDependencies = mapValues(\n rootDependencies,\n (deps) => deps && excludeWorkspaceDependencies(deps)\n );\n dedupedDependencies.componentDependenciesMap = componentDependenciesMap;\n } else if (options.dedupe) {\n dedupedDependencies = dedupeDependencies(rootPolicy, componentDependenciesMap);\n } else {\n dedupedDependencies.rootDependencies = rootPolicy.toManifest();\n dedupedDependencies.componentDependenciesMap = componentDependenciesMap;\n }\n const componentsManifestsMap = await this.getComponentsManifests(\n dedupedDependencies,\n components,\n optsWithDefaults.createManifestForComponentsWithoutDependencies\n );\n const envSelfPeers = this.getEnvsSelfPeersPolicy(componentsManifestsMap);\n const workspaceManifest = new WorkspaceManifest(\n name,\n version,\n dedupedDependencies.rootDependencies,\n envSelfPeers,\n rootDir,\n componentsManifestsMap\n );\n return workspaceManifest;\n }\n\n private filterOutCoreAspects(rootPolicy: WorkspacePolicy) {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n const coreAspectPkgNames = new Set(coreAspectIds.map((coreAspectId) => getCoreAspectPackageName(coreAspectId)));\n coreAspectPkgNames.add('@teambit/legacy');\n return rootPolicy.filter((dep) => !coreAspectPkgNames.has(dep.dependencyId));\n }\n\n private getEnvsSelfPeersPolicy(componentsManifestsMap: ComponentsManifestsMap) {\n const foundEnvs: EnvPolicy[] = [];\n for (const component of componentsManifestsMap.values()) {\n foundEnvs.push(component.envPolicy);\n }\n const peersPolicies = foundEnvs.map((policy) => policy.selfPolicy);\n // TODO: At the moment we are just merge everything, so in case of conflicts one will be taken\n // TODO: once we have root for each env, we should know to handle it differently\n const mergedPolicies = VariantPolicy.mergePolices(peersPolicies);\n return mergedPolicies;\n }\n\n /**\n * Get the components and build a map with the package name (from the component) as key and the dependencies as values\n *\n * @param {Component[]} components\n * @param {boolean} [filterComponentsFromManifests=true] - filter existing components from the dep graphs\n * @returns\n */\n private async buildComponentDependenciesMap(\n components: Component[],\n {\n dependencyFilterFn,\n filterComponentsFromManifests,\n excludeExtensionsDependencies,\n referenceLocalPackages,\n rootDependencies,\n rootPolicy,\n }: {\n dependencyFilterFn?: DepsFilterFn;\n filterComponentsFromManifests?: boolean;\n excludeExtensionsDependencies?: boolean;\n referenceLocalPackages?: boolean;\n rootDependencies?: Record<string, string>;\n rootPolicy?: WorkspacePolicy;\n }\n ): Promise<ComponentDependenciesMap> {\n const packageNames = components.map((component) => this.dependencyResolver.getPackageName(component));\n const buildResultsP = components.map(async (component) => {\n const packageName = componentIdToPackageName(component.state._consumer);\n let depList = this.dependencyResolver.getDependencies(component, { includeHidden: true });\n const additionalDeps = {};\n if (referenceLocalPackages) {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n for (const comp of depList.toTypeArray('component') as ComponentDependency[]) {\n const [compIdWithoutVersion] = comp.id.split('@');\n if (!comp.isExtension && !coreAspectIds.includes(compIdWithoutVersion)) {\n const componentInWorkspace = components.find((c) => c.id.isEqual(comp.componentId));\n if (componentInWorkspace) {\n const pkgName = this.dependencyResolver.getPackageName(componentInWorkspace);\n if (pkgName !== '@teambit/harmony') {\n additionalDeps[pkgName] = `workspace:*`;\n }\n }\n }\n }\n }\n const depManifestBeforeFiltering = depList.toDependenciesManifest();\n\n if (filterComponentsFromManifests ?? true) {\n depList = filterComponents(depList, components);\n }\n if (excludeExtensionsDependencies) {\n depList = filterExtensions(depList);\n }\n // Remove bit bin from dep list\n depList = depList.filter((dep) => dep.id !== '@teambit/legacy');\n if (dependencyFilterFn) {\n depList = dependencyFilterFn(depList);\n }\n await this.updateDependenciesVersions(component, rootPolicy, depList);\n const depManifest = depList.toDependenciesManifest();\n const { devMissings, runtimeMissings } = await getMissingPackages(component);\n // Only add missing root deps that are not already in the component manifest\n // We are using depManifestBeforeFiltering to support (rare) cases when a dependency is both:\n // a component in the workspace (bitmap) and a dependency in the workspace.jsonc / package.json\n // this happens for the bit repo itself for the @teambit/component-version component\n // in this case we don't want to add that to the manifest when it's missing, because it will be linked from the\n // workspace\n const unresolvedRuntimeMissingRootDeps = pickBy(rootDependencies, (_version, rootPackageName) => {\n return (\n runtimeMissings.includes(rootPackageName) &&\n !depManifestBeforeFiltering.dependencies[rootPackageName] &&\n !depManifestBeforeFiltering.devDependencies[rootPackageName] &&\n !depManifestBeforeFiltering.peerDependencies[rootPackageName]\n );\n });\n // Only add missing root deps that are not already in the component manifest\n const unresolvedDevMissingRootDeps = pickBy(rootDependencies, (_version, rootPackageName) => {\n return (\n devMissings.includes(rootPackageName) &&\n !depManifestBeforeFiltering.dependencies[rootPackageName] &&\n !depManifestBeforeFiltering.devDependencies[rootPackageName] &&\n !depManifestBeforeFiltering.peerDependencies[rootPackageName]\n );\n });\n\n const defaultPeerDependencies = await this._getDefaultPeerDependencies(component, packageNames);\n\n depManifest.dependencies = {\n ...defaultPeerDependencies,\n ...unresolvedRuntimeMissingRootDeps,\n ...additionalDeps,\n ...depManifest.dependencies,\n };\n\n depManifest.devDependencies = {\n ...unresolvedDevMissingRootDeps,\n ...depManifest.devDependencies,\n };\n\n return { packageName, depManifest };\n });\n const result: ComponentDependenciesMap = new Map();\n\n if (buildResultsP.length) {\n const results = await Promise.all(buildResultsP);\n results.forEach((currResult) => {\n result.set(currResult.packageName, currResult.depManifest);\n });\n }\n\n return result;\n }\n\n private async _getDefaultPeerDependencies(\n component: Component,\n packageNamesFromWorkspace: string[]\n ): Promise<Record<string, string>> {\n const envPolicy = await this.dependencyResolver.getComponentEnvPolicy(component);\n const selfPolicyWithoutLocal = envPolicy.selfPolicy.filter(\n (dep) => !packageNamesFromWorkspace.includes(dep.dependencyId)\n );\n return fromPairs(selfPolicyWithoutLocal.toNameVersionTuple());\n }\n\n private async updateDependenciesVersions(\n component: Component,\n rootPolicy: WorkspacePolicy | undefined,\n dependencyList: DependencyList\n ): Promise<void> {\n // If root policy is not passed, it means that installation happens in a capsule\n // and we only resolve versions from the dependencies, not any policies.\n const mergedPolicies = rootPolicy && (await this.dependencyResolver.getPolicy(component));\n dependencyList.forEach((dep) => {\n updateDependencyVersion(dep, rootPolicy, mergedPolicies);\n });\n }\n\n /**\n * Get the components manifests based on the calculated dedupedDependencies\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {Component[]} components\n * @returns {ComponentsManifestsMap}\n */\n async getComponentsManifests(\n dedupedDependencies: DedupedDependencies,\n components: Component[],\n createManifestForComponentsWithoutDependencies = true\n ): Promise<ComponentsManifestsMap> {\n const componentsManifests: ComponentsManifestsMap = new Map();\n // don't use Promise.all, along the road this code might import an env from a remote, which can't be done in parallel.\n // otherwise, it may import the same component multiple times, and if fails, the ref (remote-lane) files may be corrupted.\n await pMapSeries(components, async (component) => {\n const packageName = componentIdToPackageName(component.state._consumer);\n if (\n dedupedDependencies.componentDependenciesMap.has(packageName) ||\n createManifestForComponentsWithoutDependencies\n ) {\n const blankDependencies: ManifestDependenciesObject = {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n peerDependenciesMeta: {},\n };\n let dependencies = blankDependencies;\n if (dedupedDependencies.componentDependenciesMap.has(packageName)) {\n dependencies = dedupedDependencies.componentDependenciesMap.get(packageName) as ManifestDependenciesObject;\n }\n\n const getVersion = (): string => {\n if (!component.id.hasVersion()) return '0.0.1-new';\n return snapToSemver(component.id.version as string);\n };\n\n const version = getVersion();\n const envPolicy = await this.dependencyResolver.getComponentEnvPolicy(component);\n const manifest = new ComponentManifest(packageName, new SemVer(version), dependencies, component, envPolicy);\n componentsManifests.set(packageName, manifest);\n }\n });\n return componentsManifests;\n }\n}\n\nfunction filterExtensions(dependencyList: DependencyList): DependencyList {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n return true;\n }\n return !dep.isExtension;\n });\n return filtered;\n}\n\nfunction filterComponents(dependencyList: DependencyList, componentsToFilterOut: Component[]): DependencyList {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n const depPkgName = dep.getPackageName?.();\n if (!depPkgName) return true;\n // If the package is already in the workspace as a local component,\n // then we don't want to install that package as a dependency to node_modules.\n // Otherwise, it would rewrite the local component inside the root node_modules that is created by bit link.\n return !componentsToFilterOut.some(\n (component) => depPkgName === componentIdToPackageName(component.state._consumer)\n );\n }\n // Remove dependencies which has no version (they are new in the workspace)\n if (!dep.componentId.hasVersion()) return false;\n const existingComponent = componentsToFilterOut.find((component) => {\n // For new components, the component has no version but the dependency id has version 0.0.1\n if (!component.id.hasVersion()) {\n return component.id.toString() === dep.componentId.toString({ ignoreVersion: true });\n }\n // We are checking against both component.id and component.state._consumer.id\n // Because during tag operation, the component.id has the current version (before the tag)\n // while the component.state._consumer.id has the upcoming version (the version that will be after the tag)\n // The dependency in some cases is already updated to the upcoming version\n return (\n component.id.isEqualWithoutVersion(dep.componentId) ||\n component.state._consumer.id.isEqualWithoutVersion(dep.componentId)\n );\n });\n if (existingComponent) return false;\n return true;\n });\n return filtered;\n}\n\nfunction excludeWorkspaceDependencies(deps: DepObjectValue): DepObjectValue {\n return pickBy(deps, (versionSpec) => !versionSpec.startsWith('file:') && !versionSpec.startsWith('workspace:'));\n}\n\nasync function getMissingPackages(component: Component): Promise<{ devMissings: string[]; runtimeMissings: string[] }> {\n const missingPackagesData = component.state.issues.getIssue(IssuesClasses.MissingPackagesDependenciesOnFs)?.data;\n if (!missingPackagesData?.length) return { devMissings: [], runtimeMissings: [] };\n\n let devMissings: string[] = [];\n let runtimeMissings: string[] = [];\n\n missingPackagesData.forEach((data) => {\n if (data.isDevFile) {\n devMissings.push(...data.missingPackages);\n } else {\n runtimeMissings.push(...data.missingPackages);\n }\n });\n devMissings = uniq(devMissings);\n runtimeMissings = uniq(runtimeMissings);\n\n // Remove dev missing which are also runtime missing\n devMissings = difference(devMissings, runtimeMissings);\n return {\n devMissings,\n runtimeMissings,\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -4,13 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
- function _child_process() {
8
- const data = require("@teambit/legacy/dist/utils/child_process");
9
- _child_process = function () {
10
- return data;
11
- };
12
- return data;
13
- }
14
7
  function _toolboxFs() {
15
8
  const data = require("@teambit/toolbox.fs.link-or-symlink");
16
9
  _toolboxFs = function () {
@@ -134,7 +127,7 @@ class PackageManager {
134
127
  cwd: folder,
135
128
  stdio: 'pipe'
136
129
  });
137
- (0, _child_process().pipeOutput)(child);
130
+ pipeOutput(child);
138
131
  await child;
139
132
  return;
140
133
  }
@@ -191,5 +184,17 @@ function linkBitLegacyInCapsule(capsule) {
191
184
  _fsExtra().default.removeSync(bitLegacyPath);
192
185
  (0, _toolboxFs().createLinkOrSymlink)(localBitLegacyPath, bitLegacyPath);
193
186
  }
187
+ function pipeOutput(childProcess) {
188
+ const {
189
+ stdout,
190
+ stderr
191
+ } = childProcess;
192
+ if (stdout) {
193
+ stdout.pipe(process.stdout);
194
+ }
195
+ if (stderr) {
196
+ stderr.pipe(process.stderr);
197
+ }
198
+ }
194
199
 
195
200
  //# sourceMappingURL=package-manager-legacy.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_child_process","data","require","_toolboxFs","_events","_execa","_interopRequireDefault","_fsExtra","_pMapSeries","_path","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","PackageManager","constructor","packageManagerName","logger","EventEmitter","name","checkIfFileExistsInCapsule","capsule","file","pathToFile","join","wrkDir","fs","promises","access","removeLockFilesInCapsule","safeUnlink","toRemove","unlink","capsulesInstall","capsules","opts","packageManager","longProcessLogger","createLongProcessLogger","length","mapSeries","componentId","component","id","toString","logProgress","execOptions","cwd","getExecCall","execa","Error","installProc","info","stdout","on","d","stderr","warn","console","log","error","linkBitLegacyInCapsule","end","runInstallInFolder","folder","child","stdio","pipeOutput","Promise","resolve","reject","exitStatus","exports","bitLegacyPath","path","getLocalBitLegacyPath","pathOutsideNodeModules","__dirname","endsWith","sep","localBitLegacyPath","mkdirSync","removeSync","createLinkOrSymlink"],"sources":["package-manager-legacy.ts"],"sourcesContent":["/* eslint-disable no-empty */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { Capsule } from '@teambit/isolator';\nimport { Logger } from '@teambit/logger';\nimport { pipeOutput } from '@teambit/legacy/dist/utils/child_process';\nimport { createLinkOrSymlink } from '@teambit/toolbox.fs.link-or-symlink';\nimport { EventEmitter } from 'events';\nimport execa from 'execa';\nimport fs from 'fs-extra';\nimport mapSeries from 'p-map-series';\nimport path, { join } from 'path';\n\nexport default class PackageManager {\n private emitter = new EventEmitter();\n constructor(readonly packageManagerName: string, readonly logger: Logger) {}\n\n get name() {\n return this.packageManagerName;\n }\n async checkIfFileExistsInCapsule(capsule: Capsule, file: string) {\n const pathToFile = join(capsule.wrkDir, file);\n try {\n await capsule.fs.promises.access(pathToFile);\n return true;\n } catch (e: any) {}\n return false;\n }\n\n async removeLockFilesInCapsule(capsule: Capsule) {\n async function safeUnlink(toRemove: string) {\n try {\n await capsule.fs.promises.unlink(join(capsule.wrkDir, toRemove));\n } catch (e: any) {}\n }\n await safeUnlink('yarn.lock');\n await safeUnlink('package-lock.json');\n }\n async capsulesInstall(capsules: Capsule[], opts: {} = {}) {\n const packageManager = this.packageManagerName;\n const longProcessLogger = this.logger.createLongProcessLogger('installing capsules', capsules.length);\n if (packageManager === 'npm' || packageManager === 'yarn' || packageManager === 'pnpm') {\n // Don't run them in parallel (Promise.all), the package-manager doesn't handle it well.\n await mapSeries(capsules, async (capsule) => {\n const componentId = capsule.component.id.toString();\n longProcessLogger.logProgress(componentId);\n // TODO: remove this hack once harmony supports ownExtensionName\n const execOptions = { cwd: capsule.wrkDir };\n const getExecCall = () => {\n switch (packageManager) {\n case 'npm':\n return execa('npm', ['install', '--no-package-lock'], execOptions);\n case 'yarn':\n return execa('yarn', [], execOptions);\n case 'pnpm':\n return execa('pnpm', ['install'], execOptions);\n default:\n throw new Error(`unsupported package manager ${packageManager}`);\n }\n };\n const installProc = getExecCall();\n this.logger.info(`${componentId}, ${packageManager === 'npm' ? '$ npm install --no-package-lock' : '$ yarn'}`); // TODO: better\n installProc.stdout!.on('data', (d) => this.logger.info(`${componentId}, ${d.toString()}`));\n installProc.stderr!.on('data', (d) => this.logger.warn(`${componentId}, ${d.toString()}`));\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n installProc.on('error', (e) => {\n console.log('error:', e); // eslint-disable-line no-console\n this.logger.error(`${componentId}, ${e}`);\n });\n await installProc;\n linkBitLegacyInCapsule(capsule);\n });\n } else {\n throw new Error(`unsupported package manager ${packageManager}`);\n }\n longProcessLogger.end();\n return null;\n }\n\n async runInstallInFolder(folder: string, opts: {} = {}): Promise<void> {\n const packageManager = this.packageManagerName;\n if (packageManager === 'yarn') {\n const child = execa('yarn', [], { cwd: folder, stdio: 'pipe' });\n pipeOutput(child);\n await child;\n return;\n }\n if (packageManager === 'npm') {\n const child = execa('npm', ['install'], { cwd: folder, stdio: 'pipe' });\n this.logger.info(`${folder} $ npm install`);\n await new Promise((resolve, reject) => {\n // @ts-ignore\n child.stdout.on('data', (d) => this.logger.info(`${folder} ${d.toString()}`));\n // @ts-ignore\n child.stderr.on('data', (d) => this.logger.warn(`${folder} ${d.toString()}`));\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n child.on('error', (e) => {\n reject(e);\n });\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n child.on('close', (exitStatus) => {\n if (exitStatus) {\n reject(new Error(`${folder}`));\n } else {\n resolve(null);\n }\n });\n });\n return;\n }\n throw new Error(`unsupported package manager ${packageManager}`);\n }\n}\n\nfunction linkBitLegacyInCapsule(capsule) {\n const bitLegacyPath = path.join(capsule.wrkDir, './node_modules/@teambit/legacy');\n const getLocalBitLegacyPath = () => {\n const pathOutsideNodeModules = path.join(__dirname, '../..');\n if (pathOutsideNodeModules.endsWith(`${path.sep}dist`)) {\n return pathOutsideNodeModules;\n }\n throw new Error('unable to link @teambit/legacy to the capsule, the location of @teambit/legacy is unknown');\n };\n const localBitLegacyPath = getLocalBitLegacyPath();\n // if there are no deps, sometimes the node_modules folder is not created\n // and we need it in order to perform the linking\n try {\n capsule.fs.mkdirSync('node_modules');\n } catch (e: any) {\n // fail silently - we only need to create it if it doesn't already exist\n }\n // we use fs directly here rather than the capsule.fs because there are some edge cases\n // that the capusle fs does not deal with well (eg. identifying and deleting\n // a symlink rather than the what the symlink links to)\n fs.removeSync(bitLegacyPath);\n createLinkOrSymlink(localBitLegacyPath, bitLegacyPath);\n}\n"],"mappings":";;;;;;AAKA,SAAAA,eAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,cAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,WAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,UAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,QAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,OAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAI,OAAA;EAAA,MAAAJ,IAAA,GAAAK,sBAAA,CAAAJ,OAAA;EAAAG,MAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAM,SAAA;EAAA,MAAAN,IAAA,GAAAK,sBAAA,CAAAJ,OAAA;EAAAK,QAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAO,YAAA;EAAA,MAAAP,IAAA,GAAAK,sBAAA,CAAAJ,OAAA;EAAAM,WAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAQ,MAAA;EAAA,MAAAR,IAAA,GAAAS,uBAAA,CAAAR,OAAA;EAAAO,KAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAkC,SAAAU,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAF,wBAAAE,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,CAAA,SAAAG,CAAA,GAAAP,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,CAAA,UAAAG,CAAA,KAAAA,CAAA,CAAAV,GAAA,IAAAU,CAAA,CAAAC,GAAA,IAAAP,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAG,CAAA,IAAAT,CAAA,CAAAM,CAAA,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAe,GAAA,CAAAlB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAAA,SAAAd,uBAAAM,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAI,UAAA,GAAAJ,CAAA,KAAAK,OAAA,EAAAL,CAAA;AAAA,SAAAmB,gBAAAnB,CAAA,EAAAE,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAkB,cAAA,CAAAlB,CAAA,MAAAF,CAAA,GAAAW,MAAA,CAAAC,cAAA,CAAAZ,CAAA,EAAAE,CAAA,IAAAmB,KAAA,EAAAlB,CAAA,EAAAmB,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAxB,CAAA,CAAAE,CAAA,IAAAC,CAAA,EAAAH,CAAA;AAAA,SAAAoB,eAAAjB,CAAA,QAAAc,CAAA,GAAAQ,YAAA,CAAAtB,CAAA,uCAAAc,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAQ,aAAAtB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAH,CAAA,GAAAG,CAAA,CAAAuB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAiB,CAAA,GAAAjB,CAAA,CAAAgB,IAAA,CAAAb,CAAA,EAAAD,CAAA,uCAAAe,CAAA,SAAAA,CAAA,YAAAW,SAAA,yEAAA1B,CAAA,GAAA2B,MAAA,GAAAC,MAAA,EAAA3B,CAAA,KAXlC,8BACA,uDACA;AAWe,MAAM4B,cAAc,CAAC;EAElCC,WAAWA,CAAUC,kBAA0B,EAAWC,MAAc,EAAE;IAAA,KAArDD,kBAA0B,GAA1BA,kBAA0B;IAAA,KAAWC,MAAc,GAAdA,MAAc;IAAAf,eAAA,kBADtD,KAAIgB,sBAAY,EAAC,CAAC;EACuC;EAE3E,IAAIC,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACH,kBAAkB;EAChC;EACA,MAAMI,0BAA0BA,CAACC,OAAgB,EAAEC,IAAY,EAAE;IAC/D,MAAMC,UAAU,GAAG,IAAAC,YAAI,EAACH,OAAO,CAACI,MAAM,EAAEH,IAAI,CAAC;IAC7C,IAAI;MACF,MAAMD,OAAO,CAACK,EAAE,CAACC,QAAQ,CAACC,MAAM,CAACL,UAAU,CAAC;MAC5C,OAAO,IAAI;IACb,CAAC,CAAC,OAAOxC,CAAM,EAAE,CAAC;IAClB,OAAO,KAAK;EACd;EAEA,MAAM8C,wBAAwBA,CAACR,OAAgB,EAAE;IAC/C,eAAeS,UAAUA,CAACC,QAAgB,EAAE;MAC1C,IAAI;QACF,MAAMV,OAAO,CAACK,EAAE,CAACC,QAAQ,CAACK,MAAM,CAAC,IAAAR,YAAI,EAACH,OAAO,CAACI,MAAM,EAAEM,QAAQ,CAAC,CAAC;MAClE,CAAC,CAAC,OAAOhD,CAAM,EAAE,CAAC;IACpB;IACA,MAAM+C,UAAU,CAAC,WAAW,CAAC;IAC7B,MAAMA,UAAU,CAAC,mBAAmB,CAAC;EACvC;EACA,MAAMG,eAAeA,CAACC,QAAmB,EAAEC,IAAQ,GAAG,CAAC,CAAC,EAAE;IACxD,MAAMC,cAAc,GAAG,IAAI,CAACpB,kBAAkB;IAC9C,MAAMqB,iBAAiB,GAAG,IAAI,CAACpB,MAAM,CAACqB,uBAAuB,CAAC,qBAAqB,EAAEJ,QAAQ,CAACK,MAAM,CAAC;IACrG,IAAIH,cAAc,KAAK,KAAK,IAAIA,cAAc,KAAK,MAAM,IAAIA,cAAc,KAAK,MAAM,EAAE;MACtF;MACA,MAAM,IAAAI,qBAAS,EAACN,QAAQ,EAAE,MAAOb,OAAO,IAAK;QAC3C,MAAMoB,WAAW,GAAGpB,OAAO,CAACqB,SAAS,CAACC,EAAE,CAACC,QAAQ,CAAC,CAAC;QACnDP,iBAAiB,CAACQ,WAAW,CAACJ,WAAW,CAAC;QAC1C;QACA,MAAMK,WAAW,GAAG;UAAEC,GAAG,EAAE1B,OAAO,CAACI;QAAO,CAAC;QAC3C,MAAMuB,WAAW,GAAGA,CAAA,KAAM;UACxB,QAAQZ,cAAc;YACpB,KAAK,KAAK;cACR,OAAO,IAAAa,gBAAK,EAAC,KAAK,EAAE,CAAC,SAAS,EAAE,mBAAmB,CAAC,EAAEH,WAAW,CAAC;YACpE,KAAK,MAAM;cACT,OAAO,IAAAG,gBAAK,EAAC,MAAM,EAAE,EAAE,EAAEH,WAAW,CAAC;YACvC,KAAK,MAAM;cACT,OAAO,IAAAG,gBAAK,EAAC,MAAM,EAAE,CAAC,SAAS,CAAC,EAAEH,WAAW,CAAC;YAChD;cACE,MAAM,IAAII,KAAK,CAAC,+BAA+Bd,cAAc,EAAE,CAAC;UACpE;QACF,CAAC;QACD,MAAMe,WAAW,GAAGH,WAAW,CAAC,CAAC;QACjC,IAAI,CAAC/B,MAAM,CAACmC,IAAI,CAAC,GAAGX,WAAW,KAAKL,cAAc,KAAK,KAAK,GAAG,iCAAiC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;QAChHe,WAAW,CAACE,MAAM,CAAEC,EAAE,CAAC,MAAM,EAAGC,CAAC,IAAK,IAAI,CAACtC,MAAM,CAACmC,IAAI,CAAC,GAAGX,WAAW,KAAKc,CAAC,CAACX,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1FO,WAAW,CAACK,MAAM,CAAEF,EAAE,CAAC,MAAM,EAAGC,CAAC,IAAK,IAAI,CAACtC,MAAM,CAACwC,IAAI,CAAC,GAAGhB,WAAW,KAAKc,CAAC,CAACX,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QAC1F;QACAO,WAAW,CAACG,EAAE,CAAC,OAAO,EAAGvE,CAAC,IAAK;UAC7B2E,OAAO,CAACC,GAAG,CAAC,QAAQ,EAAE5E,CAAC,CAAC,CAAC,CAAC;UAC1B,IAAI,CAACkC,MAAM,CAAC2C,KAAK,CAAC,GAAGnB,WAAW,KAAK1D,CAAC,EAAE,CAAC;QAC3C,CAAC,CAAC;QACF,MAAMoE,WAAW;QACjBU,sBAAsB,CAACxC,OAAO,CAAC;MACjC,CAAC,CAAC;IACJ,CAAC,MAAM;MACL,MAAM,IAAI6B,KAAK,CAAC,+BAA+Bd,cAAc,EAAE,CAAC;IAClE;IACAC,iBAAiB,CAACyB,GAAG,CAAC,CAAC;IACvB,OAAO,IAAI;EACb;EAEA,MAAMC,kBAAkBA,CAACC,MAAc,EAAE7B,IAAQ,GAAG,CAAC,CAAC,EAAiB;IACrE,MAAMC,cAAc,GAAG,IAAI,CAACpB,kBAAkB;IAC9C,IAAIoB,cAAc,KAAK,MAAM,EAAE;MAC7B,MAAM6B,KAAK,GAAG,IAAAhB,gBAAK,EAAC,MAAM,EAAE,EAAE,EAAE;QAAEF,GAAG,EAAEiB,MAAM;QAAEE,KAAK,EAAE;MAAO,CAAC,CAAC;MAC/D,IAAAC,2BAAU,EAACF,KAAK,CAAC;MACjB,MAAMA,KAAK;MACX;IACF;IACA,IAAI7B,cAAc,KAAK,KAAK,EAAE;MAC5B,MAAM6B,KAAK,GAAG,IAAAhB,gBAAK,EAAC,KAAK,EAAE,CAAC,SAAS,CAAC,EAAE;QAAEF,GAAG,EAAEiB,MAAM;QAAEE,KAAK,EAAE;MAAO,CAAC,CAAC;MACvE,IAAI,CAACjD,MAAM,CAACmC,IAAI,CAAC,GAAGY,MAAM,gBAAgB,CAAC;MAC3C,MAAM,IAAII,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;QACrC;QACAL,KAAK,CAACZ,MAAM,CAACC,EAAE,CAAC,MAAM,EAAGC,CAAC,IAAK,IAAI,CAACtC,MAAM,CAACmC,IAAI,CAAC,GAAGY,MAAM,IAAIT,CAAC,CAACX,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7E;QACAqB,KAAK,CAACT,MAAM,CAACF,EAAE,CAAC,MAAM,EAAGC,CAAC,IAAK,IAAI,CAACtC,MAAM,CAACwC,IAAI,CAAC,GAAGO,MAAM,IAAIT,CAAC,CAACX,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7E;QACAqB,KAAK,CAACX,EAAE,CAAC,OAAO,EAAGvE,CAAC,IAAK;UACvBuF,MAAM,CAACvF,CAAC,CAAC;QACX,CAAC,CAAC;QACF;QACAkF,KAAK,CAACX,EAAE,CAAC,OAAO,EAAGiB,UAAU,IAAK;UAChC,IAAIA,UAAU,EAAE;YACdD,MAAM,CAAC,IAAIpB,KAAK,CAAC,GAAGc,MAAM,EAAE,CAAC,CAAC;UAChC,CAAC,MAAM;YACLK,OAAO,CAAC,IAAI,CAAC;UACf;QACF,CAAC,CAAC;MACJ,CAAC,CAAC;MACF;IACF;IACA,MAAM,IAAInB,KAAK,CAAC,+BAA+Bd,cAAc,EAAE,CAAC;EAClE;AACF;AAACoC,OAAA,CAAApF,OAAA,GAAA0B,cAAA;AAED,SAAS+C,sBAAsBA,CAACxC,OAAO,EAAE;EACvC,MAAMoD,aAAa,GAAGC,eAAI,CAAClD,IAAI,CAACH,OAAO,CAACI,MAAM,EAAE,gCAAgC,CAAC;EACjF,MAAMkD,qBAAqB,GAAGA,CAAA,KAAM;IAClC,MAAMC,sBAAsB,GAAGF,eAAI,CAAClD,IAAI,CAACqD,SAAS,EAAE,OAAO,CAAC;IAC5D,IAAID,sBAAsB,CAACE,QAAQ,CAAC,GAAGJ,eAAI,CAACK,GAAG,MAAM,CAAC,EAAE;MACtD,OAAOH,sBAAsB;IAC/B;IACA,MAAM,IAAI1B,KAAK,CAAC,2FAA2F,CAAC;EAC9G,CAAC;EACD,MAAM8B,kBAAkB,GAAGL,qBAAqB,CAAC,CAAC;EAClD;EACA;EACA,IAAI;IACFtD,OAAO,CAACK,EAAE,CAACuD,SAAS,CAAC,cAAc,CAAC;EACtC,CAAC,CAAC,OAAOlG,CAAM,EAAE;IACf;EAAA;EAEF;EACA;EACA;EACA2C,kBAAE,CAACwD,UAAU,CAACT,aAAa,CAAC;EAC5B,IAAAU,gCAAmB,EAACH,kBAAkB,EAAEP,aAAa,CAAC;AACxD","ignoreList":[]}
1
+ {"version":3,"names":["_toolboxFs","data","require","_events","_execa","_interopRequireDefault","_fsExtra","_pMapSeries","_path","_interopRequireWildcard","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","_defineProperty","_toPropertyKey","value","enumerable","configurable","writable","_toPrimitive","Symbol","toPrimitive","TypeError","String","Number","PackageManager","constructor","packageManagerName","logger","EventEmitter","name","checkIfFileExistsInCapsule","capsule","file","pathToFile","join","wrkDir","fs","promises","access","removeLockFilesInCapsule","safeUnlink","toRemove","unlink","capsulesInstall","capsules","opts","packageManager","longProcessLogger","createLongProcessLogger","length","mapSeries","componentId","component","id","toString","logProgress","execOptions","cwd","getExecCall","execa","Error","installProc","info","stdout","on","d","stderr","warn","console","log","error","linkBitLegacyInCapsule","end","runInstallInFolder","folder","child","stdio","pipeOutput","Promise","resolve","reject","exitStatus","exports","bitLegacyPath","path","getLocalBitLegacyPath","pathOutsideNodeModules","__dirname","endsWith","sep","localBitLegacyPath","mkdirSync","removeSync","createLinkOrSymlink","childProcess","pipe","process"],"sources":["package-manager-legacy.ts"],"sourcesContent":["/* eslint-disable no-empty */\n/* eslint-disable @typescript-eslint/no-unused-vars */\n/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { Capsule } from '@teambit/isolator';\nimport { Logger } from '@teambit/logger';\nimport { createLinkOrSymlink } from '@teambit/toolbox.fs.link-or-symlink';\nimport { EventEmitter } from 'events';\nimport execa from 'execa';\nimport fs from 'fs-extra';\nimport mapSeries from 'p-map-series';\nimport path, { join } from 'path';\n\nexport default class PackageManager {\n private emitter = new EventEmitter();\n constructor(readonly packageManagerName: string, readonly logger: Logger) {}\n\n get name() {\n return this.packageManagerName;\n }\n async checkIfFileExistsInCapsule(capsule: Capsule, file: string) {\n const pathToFile = join(capsule.wrkDir, file);\n try {\n await capsule.fs.promises.access(pathToFile);\n return true;\n } catch (e: any) {}\n return false;\n }\n\n async removeLockFilesInCapsule(capsule: Capsule) {\n async function safeUnlink(toRemove: string) {\n try {\n await capsule.fs.promises.unlink(join(capsule.wrkDir, toRemove));\n } catch (e: any) {}\n }\n await safeUnlink('yarn.lock');\n await safeUnlink('package-lock.json');\n }\n async capsulesInstall(capsules: Capsule[], opts: {} = {}) {\n const packageManager = this.packageManagerName;\n const longProcessLogger = this.logger.createLongProcessLogger('installing capsules', capsules.length);\n if (packageManager === 'npm' || packageManager === 'yarn' || packageManager === 'pnpm') {\n // Don't run them in parallel (Promise.all), the package-manager doesn't handle it well.\n await mapSeries(capsules, async (capsule) => {\n const componentId = capsule.component.id.toString();\n longProcessLogger.logProgress(componentId);\n // TODO: remove this hack once harmony supports ownExtensionName\n const execOptions = { cwd: capsule.wrkDir };\n const getExecCall = () => {\n switch (packageManager) {\n case 'npm':\n return execa('npm', ['install', '--no-package-lock'], execOptions);\n case 'yarn':\n return execa('yarn', [], execOptions);\n case 'pnpm':\n return execa('pnpm', ['install'], execOptions);\n default:\n throw new Error(`unsupported package manager ${packageManager}`);\n }\n };\n const installProc = getExecCall();\n this.logger.info(`${componentId}, ${packageManager === 'npm' ? '$ npm install --no-package-lock' : '$ yarn'}`); // TODO: better\n installProc.stdout!.on('data', (d) => this.logger.info(`${componentId}, ${d.toString()}`));\n installProc.stderr!.on('data', (d) => this.logger.warn(`${componentId}, ${d.toString()}`));\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n installProc.on('error', (e) => {\n console.log('error:', e); // eslint-disable-line no-console\n this.logger.error(`${componentId}, ${e}`);\n });\n await installProc;\n linkBitLegacyInCapsule(capsule);\n });\n } else {\n throw new Error(`unsupported package manager ${packageManager}`);\n }\n longProcessLogger.end();\n return null;\n }\n\n async runInstallInFolder(folder: string, opts: {} = {}): Promise<void> {\n const packageManager = this.packageManagerName;\n if (packageManager === 'yarn') {\n const child = execa('yarn', [], { cwd: folder, stdio: 'pipe' });\n pipeOutput(child);\n await child;\n return;\n }\n if (packageManager === 'npm') {\n const child = execa('npm', ['install'], { cwd: folder, stdio: 'pipe' });\n this.logger.info(`${folder} $ npm install`);\n await new Promise((resolve, reject) => {\n // @ts-ignore\n child.stdout.on('data', (d) => this.logger.info(`${folder} ${d.toString()}`));\n // @ts-ignore\n child.stderr.on('data', (d) => this.logger.warn(`${folder} ${d.toString()}`));\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n child.on('error', (e) => {\n reject(e);\n });\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n child.on('close', (exitStatus) => {\n if (exitStatus) {\n reject(new Error(`${folder}`));\n } else {\n resolve(null);\n }\n });\n });\n return;\n }\n throw new Error(`unsupported package manager ${packageManager}`);\n }\n}\n\nfunction linkBitLegacyInCapsule(capsule) {\n const bitLegacyPath = path.join(capsule.wrkDir, './node_modules/@teambit/legacy');\n const getLocalBitLegacyPath = () => {\n const pathOutsideNodeModules = path.join(__dirname, '../..');\n if (pathOutsideNodeModules.endsWith(`${path.sep}dist`)) {\n return pathOutsideNodeModules;\n }\n throw new Error('unable to link @teambit/legacy to the capsule, the location of @teambit/legacy is unknown');\n };\n const localBitLegacyPath = getLocalBitLegacyPath();\n // if there are no deps, sometimes the node_modules folder is not created\n // and we need it in order to perform the linking\n try {\n capsule.fs.mkdirSync('node_modules');\n } catch (e: any) {\n // fail silently - we only need to create it if it doesn't already exist\n }\n // we use fs directly here rather than the capsule.fs because there are some edge cases\n // that the capusle fs does not deal with well (eg. identifying and deleting\n // a symlink rather than the what the symlink links to)\n fs.removeSync(bitLegacyPath);\n createLinkOrSymlink(localBitLegacyPath, bitLegacyPath);\n}\n\nfunction pipeOutput(childProcess) {\n const { stdout, stderr } = childProcess;\n if (stdout) {\n stdout.pipe(process.stdout);\n }\n if (stderr) {\n stderr.pipe(process.stderr);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,9 +5,9 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.VariantPolicy = void 0;
7
7
  exports.createVariantPolicyEntry = createVariantPolicyEntry;
8
- function _utils() {
9
- const data = require("@teambit/legacy/dist/utils");
10
- _utils = function () {
8
+ function _toolboxCrypto() {
9
+ const data = require("@teambit/toolbox.crypto.sha1");
10
+ _toolboxCrypto = function () {
11
11
  return data;
12
12
  };
13
13
  return data;
@@ -83,7 +83,7 @@ class VariantPolicy {
83
83
  dependencyId,
84
84
  value
85
85
  }) => `${dependencyId}::${value.version}`).join(':::');
86
- return (0, _utils().sha1)(toHash);
86
+ return (0, _toolboxCrypto().sha1)(toHash);
87
87
  }
88
88
  filter(predicate) {
89
89
  const filtered = this.entries.filter(predicate);
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","data","require","_lodash","_componentPackageVersion","_dependencies","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","VariantPolicy","constructor","_policiesEntries","uniqEntries","entries","names","map","dependencyId","find","depId","lifecycleType","matchedEntry","entry","idEqual","lifecycleEqual","byLifecycleType","filtered","sortByName","sorted","sortBy","hashNameVersion","toHash","version","join","sha1","predicate","hiddenOnly","dep","hidden","getResolvedFromEnv","resolveFromEnv","getDepVersion","undefined","getValidSemverDepVersion","snapToSemver","serialize","toConfigObject","res","dependencies","devDependencies","peerDependencies","reduce","acc","keyName","KEY_NAME_BY_LIFECYCLE_TYPE","toVersionManifest","toNameVersionTuple","toLegacyAutoDetectOverrides","force","toLegacyDepsOverrides","used","includes","fromConfigObject","configObject","options","runtimeEntries","entriesFromKey","devEntries","peerEntries","concat","fromArray","parse","serializedEntries","getEmpty","mergePolices","policies","allEntries","curr","reverse","exports","uniq","uniqWith","entry1","entry2","obj","LIFECYCLE_TYPE_BY_KEY_NAME","Array","isArray","entriesFromArrayKey","entriesFromObjectKey","createVariantPolicyEntry","compact","configEntries","name","source","Boolean","optional","opts","entryValue"],"sources":["variant-policy.ts"],"sourcesContent":["import { sha1 } from '@teambit/legacy/dist/utils';\nimport { compact, sortBy, uniqWith } from 'lodash';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { DependenciesOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';\nimport { Policy, PolicyConfigKeys, PolicyConfigKeysNames, PolicyEntry, SemverVersion } from '../policy';\nimport { DependencyLifecycleType, KEY_NAME_BY_LIFECYCLE_TYPE, LIFECYCLE_TYPE_BY_KEY_NAME } from '../../dependencies';\n\nexport type VariantPolicyConfigObject = Partial<Record<keyof PolicyConfigKeys, VariantPolicyLifecycleConfigObject>>;\n\ntype VariantPolicyLifecycleConfigObject = {\n [dependencyId: string]: VariantPolicyConfigEntryValue;\n};\n\ntype VariantPolicyLifecycleConfigEntryObject = {\n name: string;\n version: string;\n /**\n * hide the dependency from the component's package.json / dependencies list\n */\n hidden?: boolean;\n /**\n * force add to component dependencies even if it's not used by the component.\n */\n force?: boolean;\n optional?: boolean;\n};\n\nexport type VariantPolicyConfigEntryValue = VariantPolicyEntryValue | VariantPolicyEntryVersion;\n\n/**\n * Allowed values are valid semver values, git urls, fs path.\n */\nexport type VariantPolicyEntryVersion = SemverVersion;\n\nexport type VariantPolicyEntryValue = {\n version: VariantPolicyEntryVersion;\n resolveFromEnv?: boolean;\n optional?: boolean;\n};\n\nexport type DependencySource = 'auto' | 'env' | 'env-own' | 'slots' | 'config';\n\nexport type VariantPolicyEntry = PolicyEntry & {\n value: VariantPolicyEntryValue;\n source?: DependencySource; // determines where the dependency was resolved from, e.g. from its env, or config\n /**\n * hide the dependency from the component's package.json / dependencies list\n */\n hidden?: boolean;\n /**\n * force add to component dependencies even if it's not used by the component.\n */\n force?: boolean;\n optional?: boolean;\n};\n\nexport type SerializedVariantPolicyEntry = VariantPolicyEntry;\nexport type SerializedVariantPolicy = SerializedVariantPolicyEntry[];\n\nexport interface VariantPolicyFromConfigObjectOptions {\n includeLegacyPeersInSelfPolicy?: boolean;\n source?: DependencySource;\n hidden?: boolean;\n force?: boolean;\n optional?: boolean;\n}\n\nexport class VariantPolicy implements Policy<VariantPolicyConfigObject> {\n constructor(private _policiesEntries: VariantPolicyEntry[]) {\n this._policiesEntries = uniqEntries(_policiesEntries);\n }\n\n get entries(): VariantPolicyEntry[] {\n return this._policiesEntries;\n }\n\n get names(): string[] {\n return this.entries.map((e) => e.dependencyId);\n }\n\n get length(): number {\n return this.entries.length;\n }\n\n find(depId: string, lifecycleType?: DependencyLifecycleType): VariantPolicyEntry | undefined {\n const matchedEntry = this.entries.find((entry) => {\n const idEqual = entry.dependencyId === depId;\n const lifecycleEqual = lifecycleType ? entry.lifecycleType === lifecycleType : true;\n return idEqual && lifecycleEqual;\n });\n return matchedEntry;\n }\n\n byLifecycleType(lifecycleType: DependencyLifecycleType): VariantPolicy {\n const filtered = this._policiesEntries.filter((entry) => entry.lifecycleType === lifecycleType);\n return new VariantPolicy(filtered);\n }\n\n sortByName(): VariantPolicy {\n const sorted = sortBy(this.entries, ['dependencyId']);\n return new VariantPolicy(sorted);\n }\n\n /**\n * Return a hash of all the peers names and their version\n * This useful when you want to compare 2 envs\n */\n hashNameVersion(): string {\n const sorted = this.sortByName();\n const toHash = sorted.entries.map(({ dependencyId, value }) => `${dependencyId}::${value.version}`).join(':::');\n return sha1(toHash);\n }\n\n filter(predicate: (dep: VariantPolicyEntry, index?: number) => boolean): VariantPolicy {\n const filtered = this.entries.filter(predicate);\n return new VariantPolicy(filtered);\n }\n\n hiddenOnly(): VariantPolicy {\n return this.filter((dep) => !!dep.hidden);\n }\n\n /**\n * Filter only deps which should be resolved from the env\n */\n getResolvedFromEnv() {\n return this.filter((dep) => {\n return !!dep.value.resolveFromEnv;\n });\n }\n\n getDepVersion(depId: string, lifecycleType?: DependencyLifecycleType): VariantPolicyEntryVersion | undefined {\n const entry = this.find(depId, lifecycleType);\n if (!entry) {\n return undefined;\n }\n return entry.value.version;\n }\n\n getValidSemverDepVersion(\n depId: string,\n lifecycleType?: DependencyLifecycleType\n ): VariantPolicyEntryVersion | undefined {\n const version = this.getDepVersion(depId, lifecycleType);\n if (!version) return undefined;\n return snapToSemver(version);\n }\n\n serialize(): SerializedVariantPolicy {\n return this.entries;\n }\n\n toConfigObject(): VariantPolicyConfigObject {\n const res: VariantPolicyConfigObject = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n this._policiesEntries.reduce((acc, entry) => {\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType];\n const value = entry.value.resolveFromEnv ? entry.value : entry.value.version;\n acc[keyName][entry.dependencyId] = value;\n return acc;\n }, res);\n return res;\n }\n\n /**\n * Create a manifest object in the form of a package.json entries\n * a.k.a { [depId]: version }\n * @returns\n */\n toVersionManifest(): { [name: string]: string } {\n return this.entries.reduce((acc, entry) => {\n acc[entry.dependencyId] = entry.value.version;\n return acc;\n }, {});\n }\n\n toNameVersionTuple(): [string, string][] {\n return this.entries.map((entry) => {\n return [entry.dependencyId, entry.value.version];\n });\n }\n\n /**\n * This used in in the legacy to apply env component policy on stuff that were auto detected\n * it will take used only entries (which means entries that component are really uses)\n * and in case of hidden deps it will mark them as removed using the \"-\" value to remove them from the component\n * @returns\n */\n toLegacyAutoDetectOverrides(): DependenciesOverridesData {\n const res: DependenciesOverridesData = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n this._policiesEntries.reduce((acc, entry) => {\n if (entry.force) return acc;\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType];\n acc[keyName][entry.dependencyId] = entry.value.version;\n return acc;\n }, res);\n return res;\n }\n\n toLegacyDepsOverrides(): DependenciesOverridesData {\n const res: DependenciesOverridesData = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n const used: string[] = [];\n this._policiesEntries.reduce((acc, entry) => {\n // entries that not marked with force, will be handled by the legacy deps resolver and will not be added to the overrides\n if (!entry.force) return acc;\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType];\n // We don't want the same entry to appear many times in different lifecycle types\n // this is important for example when a peer is configured by an env (on itself) which will make it a runtime dep of the env\n // but the env of the env is configure the same dep as peer in general (like with react)\n if (!used.includes(entry.dependencyId) || entry.value.version === '-') {\n acc[keyName][entry.dependencyId] = entry.value.version;\n if (entry.value.version !== '-') {\n used.push(entry.dependencyId);\n }\n }\n return acc;\n }, res);\n return res;\n }\n\n static fromConfigObject(configObject, options: VariantPolicyFromConfigObjectOptions = {}): VariantPolicy {\n const runtimeEntries = entriesFromKey(configObject, 'dependencies', options);\n const devEntries = entriesFromKey(configObject, 'devDependencies', options);\n const peerEntries = entriesFromKey(configObject, 'peerDependencies', options);\n const entries = runtimeEntries.concat(devEntries).concat(peerEntries);\n return new VariantPolicy(entries);\n }\n\n static fromArray(entries: VariantPolicyEntry[]): VariantPolicy {\n return new VariantPolicy(entries);\n }\n\n static parse(serializedEntries: SerializedVariantPolicy): VariantPolicy {\n return new VariantPolicy(serializedEntries);\n }\n\n static getEmpty(): VariantPolicy {\n return new VariantPolicy([]);\n }\n\n static mergePolices(policies: VariantPolicy[]): VariantPolicy {\n let allEntries: VariantPolicyEntry[] = [];\n allEntries = policies.reduce((acc, curr) => {\n return acc.concat(curr.entries);\n }, allEntries);\n // We reverse it to make sure the latest policy will be stronger in case of conflict\n allEntries = allEntries.reverse();\n return new VariantPolicy(allEntries);\n }\n}\n\nfunction uniqEntries(entries: Array<VariantPolicyEntry>): Array<VariantPolicyEntry> {\n const uniq = uniqWith(entries, (entry1: VariantPolicyEntry, entry2: VariantPolicyEntry) => {\n return entry1.dependencyId === entry2.dependencyId && entry1.lifecycleType === entry2.lifecycleType;\n });\n return uniq;\n}\n\nfunction entriesFromKey(\n configObject: VariantPolicyConfigObject,\n keyName: PolicyConfigKeysNames,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n const obj = configObject[keyName];\n if (!obj) {\n return [];\n }\n const lifecycleType = LIFECYCLE_TYPE_BY_KEY_NAME[keyName];\n if (Array.isArray(obj)) {\n return entriesFromArrayKey(obj, lifecycleType, options);\n }\n return entriesFromObjectKey(obj, lifecycleType, options);\n}\n\nfunction entriesFromObjectKey(\n obj: Record<string, VariantPolicyConfigEntryValue> | undefined,\n lifecycleType: DependencyLifecycleType,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n if (!obj) {\n return [];\n }\n const entries = Object.entries(obj).map(([depId, value]: [string, VariantPolicyConfigEntryValue]) => {\n if (value) {\n return createVariantPolicyEntry(depId, value, lifecycleType, {\n ...options,\n force: options.force ?? true,\n });\n }\n return undefined;\n });\n return compact(entries);\n}\n\nfunction entriesFromArrayKey(\n configEntries: Array<VariantPolicyLifecycleConfigEntryObject> | undefined,\n lifecycleType: DependencyLifecycleType,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n if (!configEntries) {\n return [];\n }\n const entries = configEntries.map((entry) => {\n return createVariantPolicyEntry(entry.name, entry.version, lifecycleType, {\n ...options,\n source: options.source ?? 'config',\n hidden: Boolean(options.hidden ?? entry.hidden),\n // allow override the entry's force value (used for the env itself)\n force: Boolean(options.force ?? entry.force),\n optional: Boolean(options.optional ?? entry.optional),\n });\n });\n return entries;\n}\n\nexport function createVariantPolicyEntry(\n depId: string,\n value: VariantPolicyConfigEntryValue,\n lifecycleType: DependencyLifecycleType,\n opts: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry {\n const version = typeof value === 'string' ? value : value.version;\n const resolveFromEnv = typeof value === 'string' ? false : value.resolveFromEnv;\n const optional = typeof value === 'string' ? undefined : value.optional;\n\n const entryValue: VariantPolicyEntryValue = {\n version,\n resolveFromEnv,\n };\n const entry: VariantPolicyEntry = {\n ...opts,\n dependencyId: depId,\n value: entryValue,\n lifecycleType,\n optional: optional ?? opts.optional,\n };\n return entry;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_toolboxCrypto","data","require","_lodash","_componentPackageVersion","_dependencies","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","VariantPolicy","constructor","_policiesEntries","uniqEntries","entries","names","map","dependencyId","find","depId","lifecycleType","matchedEntry","entry","idEqual","lifecycleEqual","byLifecycleType","filtered","sortByName","sorted","sortBy","hashNameVersion","toHash","version","join","sha1","predicate","hiddenOnly","dep","hidden","getResolvedFromEnv","resolveFromEnv","getDepVersion","undefined","getValidSemverDepVersion","snapToSemver","serialize","toConfigObject","res","dependencies","devDependencies","peerDependencies","reduce","acc","keyName","KEY_NAME_BY_LIFECYCLE_TYPE","toVersionManifest","toNameVersionTuple","toLegacyAutoDetectOverrides","force","toLegacyDepsOverrides","used","includes","fromConfigObject","configObject","options","runtimeEntries","entriesFromKey","devEntries","peerEntries","concat","fromArray","parse","serializedEntries","getEmpty","mergePolices","policies","allEntries","curr","reverse","exports","uniq","uniqWith","entry1","entry2","obj","LIFECYCLE_TYPE_BY_KEY_NAME","Array","isArray","entriesFromArrayKey","entriesFromObjectKey","createVariantPolicyEntry","compact","configEntries","name","source","Boolean","optional","opts","entryValue"],"sources":["variant-policy.ts"],"sourcesContent":["import { sha1 } from '@teambit/toolbox.crypto.sha1';\nimport { compact, sortBy, uniqWith } from 'lodash';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport { DependenciesOverridesData } from '@teambit/legacy/dist/consumer/config/component-overrides';\nimport { Policy, PolicyConfigKeys, PolicyConfigKeysNames, PolicyEntry, SemverVersion } from '../policy';\nimport { DependencyLifecycleType, KEY_NAME_BY_LIFECYCLE_TYPE, LIFECYCLE_TYPE_BY_KEY_NAME } from '../../dependencies';\n\nexport type VariantPolicyConfigObject = Partial<Record<keyof PolicyConfigKeys, VariantPolicyLifecycleConfigObject>>;\n\ntype VariantPolicyLifecycleConfigObject = {\n [dependencyId: string]: VariantPolicyConfigEntryValue;\n};\n\ntype VariantPolicyLifecycleConfigEntryObject = {\n name: string;\n version: string;\n /**\n * hide the dependency from the component's package.json / dependencies list\n */\n hidden?: boolean;\n /**\n * force add to component dependencies even if it's not used by the component.\n */\n force?: boolean;\n optional?: boolean;\n};\n\nexport type VariantPolicyConfigEntryValue = VariantPolicyEntryValue | VariantPolicyEntryVersion;\n\n/**\n * Allowed values are valid semver values, git urls, fs path.\n */\nexport type VariantPolicyEntryVersion = SemverVersion;\n\nexport type VariantPolicyEntryValue = {\n version: VariantPolicyEntryVersion;\n resolveFromEnv?: boolean;\n optional?: boolean;\n};\n\nexport type DependencySource = 'auto' | 'env' | 'env-own' | 'slots' | 'config';\n\nexport type VariantPolicyEntry = PolicyEntry & {\n value: VariantPolicyEntryValue;\n source?: DependencySource; // determines where the dependency was resolved from, e.g. from its env, or config\n /**\n * hide the dependency from the component's package.json / dependencies list\n */\n hidden?: boolean;\n /**\n * force add to component dependencies even if it's not used by the component.\n */\n force?: boolean;\n optional?: boolean;\n};\n\nexport type SerializedVariantPolicyEntry = VariantPolicyEntry;\nexport type SerializedVariantPolicy = SerializedVariantPolicyEntry[];\n\nexport interface VariantPolicyFromConfigObjectOptions {\n includeLegacyPeersInSelfPolicy?: boolean;\n source?: DependencySource;\n hidden?: boolean;\n force?: boolean;\n optional?: boolean;\n}\n\nexport class VariantPolicy implements Policy<VariantPolicyConfigObject> {\n constructor(private _policiesEntries: VariantPolicyEntry[]) {\n this._policiesEntries = uniqEntries(_policiesEntries);\n }\n\n get entries(): VariantPolicyEntry[] {\n return this._policiesEntries;\n }\n\n get names(): string[] {\n return this.entries.map((e) => e.dependencyId);\n }\n\n get length(): number {\n return this.entries.length;\n }\n\n find(depId: string, lifecycleType?: DependencyLifecycleType): VariantPolicyEntry | undefined {\n const matchedEntry = this.entries.find((entry) => {\n const idEqual = entry.dependencyId === depId;\n const lifecycleEqual = lifecycleType ? entry.lifecycleType === lifecycleType : true;\n return idEqual && lifecycleEqual;\n });\n return matchedEntry;\n }\n\n byLifecycleType(lifecycleType: DependencyLifecycleType): VariantPolicy {\n const filtered = this._policiesEntries.filter((entry) => entry.lifecycleType === lifecycleType);\n return new VariantPolicy(filtered);\n }\n\n sortByName(): VariantPolicy {\n const sorted = sortBy(this.entries, ['dependencyId']);\n return new VariantPolicy(sorted);\n }\n\n /**\n * Return a hash of all the peers names and their version\n * This useful when you want to compare 2 envs\n */\n hashNameVersion(): string {\n const sorted = this.sortByName();\n const toHash = sorted.entries.map(({ dependencyId, value }) => `${dependencyId}::${value.version}`).join(':::');\n return sha1(toHash);\n }\n\n filter(predicate: (dep: VariantPolicyEntry, index?: number) => boolean): VariantPolicy {\n const filtered = this.entries.filter(predicate);\n return new VariantPolicy(filtered);\n }\n\n hiddenOnly(): VariantPolicy {\n return this.filter((dep) => !!dep.hidden);\n }\n\n /**\n * Filter only deps which should be resolved from the env\n */\n getResolvedFromEnv() {\n return this.filter((dep) => {\n return !!dep.value.resolveFromEnv;\n });\n }\n\n getDepVersion(depId: string, lifecycleType?: DependencyLifecycleType): VariantPolicyEntryVersion | undefined {\n const entry = this.find(depId, lifecycleType);\n if (!entry) {\n return undefined;\n }\n return entry.value.version;\n }\n\n getValidSemverDepVersion(\n depId: string,\n lifecycleType?: DependencyLifecycleType\n ): VariantPolicyEntryVersion | undefined {\n const version = this.getDepVersion(depId, lifecycleType);\n if (!version) return undefined;\n return snapToSemver(version);\n }\n\n serialize(): SerializedVariantPolicy {\n return this.entries;\n }\n\n toConfigObject(): VariantPolicyConfigObject {\n const res: VariantPolicyConfigObject = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n this._policiesEntries.reduce((acc, entry) => {\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType];\n const value = entry.value.resolveFromEnv ? entry.value : entry.value.version;\n acc[keyName][entry.dependencyId] = value;\n return acc;\n }, res);\n return res;\n }\n\n /**\n * Create a manifest object in the form of a package.json entries\n * a.k.a { [depId]: version }\n * @returns\n */\n toVersionManifest(): { [name: string]: string } {\n return this.entries.reduce((acc, entry) => {\n acc[entry.dependencyId] = entry.value.version;\n return acc;\n }, {});\n }\n\n toNameVersionTuple(): [string, string][] {\n return this.entries.map((entry) => {\n return [entry.dependencyId, entry.value.version];\n });\n }\n\n /**\n * This used in in the legacy to apply env component policy on stuff that were auto detected\n * it will take used only entries (which means entries that component are really uses)\n * and in case of hidden deps it will mark them as removed using the \"-\" value to remove them from the component\n * @returns\n */\n toLegacyAutoDetectOverrides(): DependenciesOverridesData {\n const res: DependenciesOverridesData = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n this._policiesEntries.reduce((acc, entry) => {\n if (entry.force) return acc;\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType];\n acc[keyName][entry.dependencyId] = entry.value.version;\n return acc;\n }, res);\n return res;\n }\n\n toLegacyDepsOverrides(): DependenciesOverridesData {\n const res: DependenciesOverridesData = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n const used: string[] = [];\n this._policiesEntries.reduce((acc, entry) => {\n // entries that not marked with force, will be handled by the legacy deps resolver and will not be added to the overrides\n if (!entry.force) return acc;\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType];\n // We don't want the same entry to appear many times in different lifecycle types\n // this is important for example when a peer is configured by an env (on itself) which will make it a runtime dep of the env\n // but the env of the env is configure the same dep as peer in general (like with react)\n if (!used.includes(entry.dependencyId) || entry.value.version === '-') {\n acc[keyName][entry.dependencyId] = entry.value.version;\n if (entry.value.version !== '-') {\n used.push(entry.dependencyId);\n }\n }\n return acc;\n }, res);\n return res;\n }\n\n static fromConfigObject(configObject, options: VariantPolicyFromConfigObjectOptions = {}): VariantPolicy {\n const runtimeEntries = entriesFromKey(configObject, 'dependencies', options);\n const devEntries = entriesFromKey(configObject, 'devDependencies', options);\n const peerEntries = entriesFromKey(configObject, 'peerDependencies', options);\n const entries = runtimeEntries.concat(devEntries).concat(peerEntries);\n return new VariantPolicy(entries);\n }\n\n static fromArray(entries: VariantPolicyEntry[]): VariantPolicy {\n return new VariantPolicy(entries);\n }\n\n static parse(serializedEntries: SerializedVariantPolicy): VariantPolicy {\n return new VariantPolicy(serializedEntries);\n }\n\n static getEmpty(): VariantPolicy {\n return new VariantPolicy([]);\n }\n\n static mergePolices(policies: VariantPolicy[]): VariantPolicy {\n let allEntries: VariantPolicyEntry[] = [];\n allEntries = policies.reduce((acc, curr) => {\n return acc.concat(curr.entries);\n }, allEntries);\n // We reverse it to make sure the latest policy will be stronger in case of conflict\n allEntries = allEntries.reverse();\n return new VariantPolicy(allEntries);\n }\n}\n\nfunction uniqEntries(entries: Array<VariantPolicyEntry>): Array<VariantPolicyEntry> {\n const uniq = uniqWith(entries, (entry1: VariantPolicyEntry, entry2: VariantPolicyEntry) => {\n return entry1.dependencyId === entry2.dependencyId && entry1.lifecycleType === entry2.lifecycleType;\n });\n return uniq;\n}\n\nfunction entriesFromKey(\n configObject: VariantPolicyConfigObject,\n keyName: PolicyConfigKeysNames,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n const obj = configObject[keyName];\n if (!obj) {\n return [];\n }\n const lifecycleType = LIFECYCLE_TYPE_BY_KEY_NAME[keyName];\n if (Array.isArray(obj)) {\n return entriesFromArrayKey(obj, lifecycleType, options);\n }\n return entriesFromObjectKey(obj, lifecycleType, options);\n}\n\nfunction entriesFromObjectKey(\n obj: Record<string, VariantPolicyConfigEntryValue> | undefined,\n lifecycleType: DependencyLifecycleType,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n if (!obj) {\n return [];\n }\n const entries = Object.entries(obj).map(([depId, value]: [string, VariantPolicyConfigEntryValue]) => {\n if (value) {\n return createVariantPolicyEntry(depId, value, lifecycleType, {\n ...options,\n force: options.force ?? true,\n });\n }\n return undefined;\n });\n return compact(entries);\n}\n\nfunction entriesFromArrayKey(\n configEntries: Array<VariantPolicyLifecycleConfigEntryObject> | undefined,\n lifecycleType: DependencyLifecycleType,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n if (!configEntries) {\n return [];\n }\n const entries = configEntries.map((entry) => {\n return createVariantPolicyEntry(entry.name, entry.version, lifecycleType, {\n ...options,\n source: options.source ?? 'config',\n hidden: Boolean(options.hidden ?? entry.hidden),\n // allow override the entry's force value (used for the env itself)\n force: Boolean(options.force ?? entry.force),\n optional: Boolean(options.optional ?? entry.optional),\n });\n });\n return entries;\n}\n\nexport function createVariantPolicyEntry(\n depId: string,\n value: VariantPolicyConfigEntryValue,\n lifecycleType: DependencyLifecycleType,\n opts: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry {\n const version = typeof value === 'string' ? value : value.version;\n const resolveFromEnv = typeof value === 'string' ? false : value.resolveFromEnv;\n const optional = typeof value === 'string' ? undefined : value.optional;\n\n const entryValue: VariantPolicyEntryValue = {\n version,\n resolveFromEnv,\n };\n const entry: VariantPolicyEntry = {\n ...opts,\n dependencyId: depId,\n value: entryValue,\n lifecycleType,\n optional: optional ?? opts.optional,\n };\n return entry;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.330/dist/dependency-resolver.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.330/dist/dependency-resolver.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.332/dist/dependency-resolver.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.332/dist/dependency-resolver.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { ComponentConfig, ComponentFS } from '@teambit/component';
2
- import { PathLinux } from '@teambit/legacy/dist/utils/path';
2
+ import { PathLinux } from '@teambit/toolbox.path.path';
3
3
  import { ComponentManifest } from './manifest/component-manifest';
4
4
  import { PackageName } from './dependencies';
5
5
  export type RegistryName = string;
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { ComponentConfig, ComponentFS } from '@teambit/component';\nimport { PathLinux } from '@teambit/legacy/dist/utils/path';\n\nimport { ComponentManifest } from './manifest/component-manifest';\nimport { PackageName } from './dependencies';\n\nexport type RegistryName = string;\n\nexport type Registry = {\n uri: string;\n alwaysAuth: boolean;\n authHeaderValue?: string;\n originalAuthType: string;\n originalAuthValue: string;\n};\n\nexport type RegistriesMap = Record<RegistryName, Registry>;\n\n// Exact format TBD\nexport interface RawComponentState {\n filesystem: ComponentFS;\n config: ComponentConfig;\n}\n\n/**\n * Import Specifier data.\n * For example, `import foo from './bar' `, \"foo\" is the import-specifier and is default.\n * Conversely, `import { foo } from './bar' `, here, \"foo\" is non-default.\n */\nexport type Specifier = {\n isDefault: boolean;\n name: string;\n};\n\n/**\n * ImportSpecifier are used to generate links from component to its dependencies.\n * For example, a component might have a dependency: \"import { foo } from './bar' \", when a link is generated, we use\n * the import-specifier name, which is \"foo\" to generate the link correctly.\n */\nexport type ImportSpecifier = {\n mainFile: Specifier;\n};\n\n/**\n * a dependency component may have multiple files that are required from the parent component, each\n * one of the files has its RelativePath instance.\n *\n * For example:\n * main component: \"foo\" => foo.js => `const isString = require('../utils/is-string'); const isArray = require('../utils/is-array');\n * dependency: \"utils\" => utils/is-string.js, utils/is-array.js\n * In this example, the component \"foo\" has one dependency \"utils\" with two RelativePaths.\n * one for utils/is-string.js file and the second for utils/is-array.js file\n */\nexport type RelativePath = {\n sourceRelativePath: PathLinux; // location of the link file\n destinationRelativePath: PathLinux; // destination written inside the link file\n importSpecifiers?: ImportSpecifier[];\n importSource?: string; // available when isCustomResolveUsed=true, contains the import path. e.g. \"import x from 'src/utils'\", importSource is 'src/utils'.\n};\n\n/**\n * A definition of one dependency statement in a file\n * For example `import('something')` or require('something')\n */\ninterface FileDependencyDefinition {\n // The path itself as appear in the source code (what inside the () for example)\n // This can be a module path like 'my-package' or relative (for legacy support)\n dependencyPath: string;\n // Used for legacy support\n relativePaths?: RelativePath[];\n // Used for statements like `import type {x} from 'y'\n isType?: boolean;\n}\n\nexport type FileDependenciesDefinition = FileDependencyDefinition[];\n\nexport type ComponentsManifestsMap = Map<PackageName, ComponentManifest>;\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import { ComponentConfig, ComponentFS } from '@teambit/component';\nimport { PathLinux } from '@teambit/toolbox.path.path';\n\nimport { ComponentManifest } from './manifest/component-manifest';\nimport { PackageName } from './dependencies';\n\nexport type RegistryName = string;\n\nexport type Registry = {\n uri: string;\n alwaysAuth: boolean;\n authHeaderValue?: string;\n originalAuthType: string;\n originalAuthValue: string;\n};\n\nexport type RegistriesMap = Record<RegistryName, Registry>;\n\n// Exact format TBD\nexport interface RawComponentState {\n filesystem: ComponentFS;\n config: ComponentConfig;\n}\n\n/**\n * Import Specifier data.\n * For example, `import foo from './bar' `, \"foo\" is the import-specifier and is default.\n * Conversely, `import { foo } from './bar' `, here, \"foo\" is non-default.\n */\nexport type Specifier = {\n isDefault: boolean;\n name: string;\n};\n\n/**\n * ImportSpecifier are used to generate links from component to its dependencies.\n * For example, a component might have a dependency: \"import { foo } from './bar' \", when a link is generated, we use\n * the import-specifier name, which is \"foo\" to generate the link correctly.\n */\nexport type ImportSpecifier = {\n mainFile: Specifier;\n};\n\n/**\n * a dependency component may have multiple files that are required from the parent component, each\n * one of the files has its RelativePath instance.\n *\n * For example:\n * main component: \"foo\" => foo.js => `const isString = require('../utils/is-string'); const isArray = require('../utils/is-array');\n * dependency: \"utils\" => utils/is-string.js, utils/is-array.js\n * In this example, the component \"foo\" has one dependency \"utils\" with two RelativePaths.\n * one for utils/is-string.js file and the second for utils/is-array.js file\n */\nexport type RelativePath = {\n sourceRelativePath: PathLinux; // location of the link file\n destinationRelativePath: PathLinux; // destination written inside the link file\n importSpecifiers?: ImportSpecifier[];\n importSource?: string; // available when isCustomResolveUsed=true, contains the import path. e.g. \"import x from 'src/utils'\", importSource is 'src/utils'.\n};\n\n/**\n * A definition of one dependency statement in a file\n * For example `import('something')` or require('something')\n */\ninterface FileDependencyDefinition {\n // The path itself as appear in the source code (what inside the () for example)\n // This can be a module path like 'my-package' or relative (for legacy support)\n dependencyPath: string;\n // Used for legacy support\n relativePaths?: RelativePath[];\n // Used for statements like `import type {x} from 'y'\n isType?: boolean;\n}\n\nexport type FileDependenciesDefinition = FileDependencyDefinition[];\n\nexport type ComponentsManifestsMap = Map<PackageName, ComponentManifest>;\n"],"mappings":"","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { AspectLoaderMain, getCoreAspectPackageName } from '@teambit/aspect-loader';
2
2
  import { IssuesClasses } from '@teambit/component-issues';
3
3
  import { Component } from '@teambit/component';
4
- import componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';
4
+ import { componentIdToPackageName } from '@teambit/pkg.modules.component-package-name';
5
5
  import { fromPairs, pickBy, mapValues, uniq, difference } from 'lodash';
6
6
  import { SemVer } from 'semver';
7
7
  import pMapSeries from 'p-map-series';