@teambit/dependency-resolver 1.0.425 → 1.0.427

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":["CoreAspectLinkError","Error","constructor","id","err","toString","exports"],"sources":["core-aspect-link-error.ts"],"sourcesContent":["export class CoreAspectLinkError extends Error {\n constructor(private id: string, private err: Error) {\n super(`failed linking core aspect '${id}' with the following error: ${err.toString()}`);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,mBAAmB,SAASC,KAAK,CAAC;EAC7CC,WAAWA,CAASC,EAAU,EAAUC,GAAU,EAAE;IAClD,KAAK,CAAC,+BAA+BD,EAAE,+BAA+BC,GAAG,CAACC,QAAQ,CAAC,CAAC,EAAE,CAAC;IAAC,KADtEF,EAAU,GAAVA,EAAU;IAAA,KAAUC,GAAU,GAAVA,GAAU;EAElD;AACF;AAACE,OAAA,CAAAN,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["CoreAspectLinkError","Error","constructor","id","err","toString","exports"],"sources":["core-aspect-link-error.ts"],"sourcesContent":["export class CoreAspectLinkError extends Error {\n constructor(\n private id: string,\n private err: Error\n ) {\n super(`failed linking core aspect '${id}' with the following error: ${err.toString()}`);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,mBAAmB,SAASC,KAAK,CAAC;EAC7CC,WAAWA,CACDC,EAAU,EACVC,GAAU,EAClB;IACA,KAAK,CAAC,+BAA+BD,EAAE,+BAA+BC,GAAG,CAACC,QAAQ,CAAC,CAAC,EAAE,CAAC;IAAC,KAHhFF,EAAU,GAAVA,EAAU;IAAA,KACVC,GAAU,GAAVA,GAAU;EAGpB;AACF;AAACE,OAAA,CAAAN,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["NonAspectCorePackageLinkError","Error","constructor","err","packageName","toString","exports"],"sources":["non-aspect-core-package-link-error.ts"],"sourcesContent":["export class NonAspectCorePackageLinkError extends Error {\n constructor(private err: Error, packageName: string) {\n super(`failed linking non aspect core package (${packageName}) with the following error: ${err.toString()}`);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,6BAA6B,SAASC,KAAK,CAAC;EACvDC,WAAWA,CAASC,GAAU,EAAEC,WAAmB,EAAE;IACnD,KAAK,CAAC,2CAA2CA,WAAW,+BAA+BD,GAAG,CAACE,QAAQ,CAAC,CAAC,EAAE,CAAC;IAAC,KAD3FF,GAAU,GAAVA,GAAU;EAE9B;AACF;AAACG,OAAA,CAAAN,6BAAA,GAAAA,6BAAA","ignoreList":[]}
1
+ {"version":3,"names":["NonAspectCorePackageLinkError","Error","constructor","err","packageName","toString","exports"],"sources":["non-aspect-core-package-link-error.ts"],"sourcesContent":["export class NonAspectCorePackageLinkError extends Error {\n constructor(\n private err: Error,\n packageName: string\n ) {\n super(`failed linking non aspect core package (${packageName}) with the following error: ${err.toString()}`);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,6BAA6B,SAASC,KAAK,CAAC;EACvDC,WAAWA,CACDC,GAAU,EAClBC,WAAmB,EACnB;IACA,KAAK,CAAC,2CAA2CA,WAAW,+BAA+BD,GAAG,CAACE,QAAQ,CAAC,CAAC,EAAE,CAAC;IAAC,KAHrGF,GAAU,GAAVA,GAAU;EAIpB;AACF;AAACG,OAAA,CAAAN,6BAAA,GAAAA,6BAAA","ignoreList":[]}
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { WorkspaceManifest, ComponentManifest } from './manifest';
5
5
  export type { CreateFromComponentsOptions, ManifestDependenciesObject } from './manifest';
6
6
  export { Registries, Registry } from './registry';
7
7
  export type { InstallationContext, PackageImportMethod, PackageManager, PackageManagerInstallOptions, PackageManagerResolveRemoteVersionOptions, ResolvedPackageVersion, } from './package-manager';
8
- export type { DependencyResolverWorkspaceConfig, NodeLinker, } from './dependency-resolver-workspace-config';
8
+ export type { DependencyResolverWorkspaceConfig, NodeLinker } from './dependency-resolver-workspace-config';
9
9
  export type { DependencyResolverMain, DependencyResolverVariantConfig, MergedOutdatedPkg, } from './dependency-resolver.main.runtime';
10
10
  export { NPM_REGISTRY, BIT_CLOUD_REGISTRY } from './dependency-resolver.main.runtime';
11
11
  export type { ProxyConfig as PackageManagerProxyConfig, NetworkConfig as PackageManagerNetworkConfig, } from './dependency-resolver.main.runtime';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["_dependencyResolver","data","require","_manifest","_registry","_dependencyResolverMain","_dependencies","_policy","_dependencyLinker","_dependencyInstaller","_extendWithComponentsFromDir","_hoistDependencies"],"sources":["index.ts"],"sourcesContent":["import { DependencyResolverAspect } from './dependency-resolver.aspect';\n\nexport type { UpdatedComponent } from './apply-updates';\nexport type { RawComponentState, ComponentsManifestsMap, RegistriesMap } from './types';\nexport { WorkspaceManifest, ComponentManifest } from './manifest';\nexport type { CreateFromComponentsOptions, ManifestDependenciesObject } from './manifest';\nexport { Registries, Registry } from './registry';\nexport type {\n InstallationContext,\n PackageImportMethod,\n PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n} from './package-manager';\nexport type {\n DependencyResolverWorkspaceConfig,\n NodeLinker,\n} from './dependency-resolver-workspace-config';\nexport type {\n DependencyResolverMain,\n DependencyResolverVariantConfig,\n MergedOutdatedPkg,\n} from './dependency-resolver.main.runtime';\nexport { NPM_REGISTRY, BIT_CLOUD_REGISTRY } from './dependency-resolver.main.runtime';\nexport type {\n ProxyConfig as PackageManagerProxyConfig,\n NetworkConfig as PackageManagerNetworkConfig,\n} from './dependency-resolver.main.runtime';\nexport { DependencyList, BaseDependency, ComponentDependency, KEY_NAME_BY_LIFECYCLE_TYPE } from './dependencies';\nexport type {\n DependencyLifecycleType,\n WorkspaceDependencyLifecycleType,\n DependencyFactory,\n SerializedDependency,\n Dependency,\n SemverVersion,\n DependenciesManifest,\n} from './dependencies';\nexport { WorkspacePolicy, VariantPolicy, EnvPolicy } from './policy';\nexport type {\n WorkspacePolicyEntry,\n WorkspacePolicyConfigObject,\n VariantPolicyConfigObject,\n Policy,\n PolicySemver,\n PolicyConfigKeys,\n PolicyConfigKeysNames,\n PolicyEntry,\n SerializedVariantPolicy,\n WorkspacePolicyConfigKeysNames,\n EnvPolicyConfigObject,\n} from './policy';\nexport { DependencyLinker } from './dependency-linker';\nexport type {\n CoreAspectLinkResult,\n LinkDetail,\n LinkResults,\n LinkingOptions,\n DepsLinkedToEnvResult,\n NestedNMDepsLinksResult,\n LinkToDirResult,\n} from './dependency-linker';\nexport { DependencyInstaller } from './dependency-installer';\nexport type { GetComponentManifestsOptions, InstallOptions, InstallArgs } from './dependency-installer';\nexport type { DependencyDetector, FileContext } from './dependency-detector';\nexport type { DependencySource, VariantPolicyEntry } from './policy/variant-policy/variant-policy';\nexport type { OutdatedPkg } from './get-all-policy-pkgs';\nexport { extendWithComponentsFromDir } from './extend-with-components-from-dir';\nexport { isRange } from './manifest/deduping/hoist-dependencies';\nexport type { DependencyEnv } from './dependency-env';\nexport { DependencyResolverAspect as default, DependencyResolverAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,oBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,mBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAkBA,SAAAI,wBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,uBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAK,cAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,aAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAUA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAcA,SAAAO,kBAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,iBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAUA,SAAAQ,qBAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,oBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAS,6BAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,4BAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,mBAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,kBAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_dependencyResolver","data","require","_manifest","_registry","_dependencyResolverMain","_dependencies","_policy","_dependencyLinker","_dependencyInstaller","_extendWithComponentsFromDir","_hoistDependencies"],"sources":["index.ts"],"sourcesContent":["import { DependencyResolverAspect } from './dependency-resolver.aspect';\n\nexport type { UpdatedComponent } from './apply-updates';\nexport type { RawComponentState, ComponentsManifestsMap, RegistriesMap } from './types';\nexport { WorkspaceManifest, ComponentManifest } from './manifest';\nexport type { CreateFromComponentsOptions, ManifestDependenciesObject } from './manifest';\nexport { Registries, Registry } from './registry';\nexport type {\n InstallationContext,\n PackageImportMethod,\n PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n} from './package-manager';\nexport type { DependencyResolverWorkspaceConfig, NodeLinker } from './dependency-resolver-workspace-config';\nexport type {\n DependencyResolverMain,\n DependencyResolverVariantConfig,\n MergedOutdatedPkg,\n} from './dependency-resolver.main.runtime';\nexport { NPM_REGISTRY, BIT_CLOUD_REGISTRY } from './dependency-resolver.main.runtime';\nexport type {\n ProxyConfig as PackageManagerProxyConfig,\n NetworkConfig as PackageManagerNetworkConfig,\n} from './dependency-resolver.main.runtime';\nexport { DependencyList, BaseDependency, ComponentDependency, KEY_NAME_BY_LIFECYCLE_TYPE } from './dependencies';\nexport type {\n DependencyLifecycleType,\n WorkspaceDependencyLifecycleType,\n DependencyFactory,\n SerializedDependency,\n Dependency,\n SemverVersion,\n DependenciesManifest,\n} from './dependencies';\nexport { WorkspacePolicy, VariantPolicy, EnvPolicy } from './policy';\nexport type {\n WorkspacePolicyEntry,\n WorkspacePolicyConfigObject,\n VariantPolicyConfigObject,\n Policy,\n PolicySemver,\n PolicyConfigKeys,\n PolicyConfigKeysNames,\n PolicyEntry,\n SerializedVariantPolicy,\n WorkspacePolicyConfigKeysNames,\n EnvPolicyConfigObject,\n} from './policy';\nexport { DependencyLinker } from './dependency-linker';\nexport type {\n CoreAspectLinkResult,\n LinkDetail,\n LinkResults,\n LinkingOptions,\n DepsLinkedToEnvResult,\n NestedNMDepsLinksResult,\n LinkToDirResult,\n} from './dependency-linker';\nexport { DependencyInstaller } from './dependency-installer';\nexport type { GetComponentManifestsOptions, InstallOptions, InstallArgs } from './dependency-installer';\nexport type { DependencyDetector, FileContext } from './dependency-detector';\nexport type { DependencySource, VariantPolicyEntry } from './policy/variant-policy/variant-policy';\nexport type { OutdatedPkg } from './get-all-policy-pkgs';\nexport { extendWithComponentsFromDir } from './extend-with-components-from-dir';\nexport { isRange } from './manifest/deduping/hoist-dependencies';\nexport type { DependencyEnv } from './dependency-env';\nexport { DependencyResolverAspect as default, DependencyResolverAspect };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAAAA,oBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,mBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAIA,SAAAE,UAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,SAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAG,UAAA;EAAA,MAAAH,IAAA,GAAAC,OAAA;EAAAE,SAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAeA,SAAAI,wBAAA;EAAA,MAAAJ,IAAA,GAAAC,OAAA;EAAAG,uBAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAK,cAAA;EAAA,MAAAL,IAAA,GAAAC,OAAA;EAAAI,aAAA,YAAAA,CAAA;IAAA,OAAAL,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAUA,SAAAM,QAAA;EAAA,MAAAN,IAAA,GAAAC,OAAA;EAAAK,OAAA,YAAAA,CAAA;IAAA,OAAAN,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAcA,SAAAO,kBAAA;EAAA,MAAAP,IAAA,GAAAC,OAAA;EAAAM,iBAAA,YAAAA,CAAA;IAAA,OAAAP,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAUA,SAAAQ,qBAAA;EAAA,MAAAR,IAAA,GAAAC,OAAA;EAAAO,oBAAA,YAAAA,CAAA;IAAA,OAAAR,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAKA,SAAAS,6BAAA;EAAA,MAAAT,IAAA,GAAAC,OAAA;EAAAQ,4BAAA,YAAAA,CAAA;IAAA,OAAAT,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAU,mBAAA;EAAA,MAAAV,IAAA,GAAAC,OAAA;EAAAS,kBAAA,YAAAA,CAAA;IAAA,OAAAV,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["Manifest","constructor","name","version","dependencies","toJson","options","optionalDependencies","devDependencies","peerDependencies","peerDependenciesMeta","copyPeerToRuntime","_objectSpread","manifest","exports"],"sources":["manifest.ts"],"sourcesContent":["import { SemVer } from 'semver';\nimport { PeerDependenciesMeta } from '../dependencies/dependency-list';\nimport { PackageName, SemverVersion } from '../dependencies';\n\n// export type ManifestDependenciesKeys = 'dependencies' | 'devDependencies' | 'peerDependencies';\n\nexport type ManifestDependenciesKeys = {\n dependencies: 'dependencies';\n optionalDependencies: 'optionalDependencies';\n devDependencies: 'devDependencies';\n peerDependencies: 'peerDependencies';\n};\n\nexport type ManifestDependenciesKeysNames = keyof ManifestDependenciesKeys;\n\nexport type ManifestDependenciesObject = Partial<Record<ManifestDependenciesKeysNames, DepObjectValue>> & {\n peerDependenciesMeta?: PeerDependenciesMeta;\n};\n\nexport type DepObjectValue = Record<PackageName, SemverVersion>;\n\nexport interface ManifestToJsonOptions {\n copyPeerToRuntime?: boolean;\n}\n\nexport class Manifest {\n constructor(public name: string, public version: SemVer, public dependencies: ManifestDependenciesObject) {}\n\n // Should be implemented on sub classes\n // get dir(): string {\n // throw new BitError('not implemented');\n // }\n\n toJson(options: ManifestToJsonOptions = {}): Record<string, any> {\n let dependencies = this.dependencies.dependencies || {};\n const optionalDependencies = this.dependencies.optionalDependencies || {};\n const devDependencies = this.dependencies.devDependencies || {};\n const peerDependencies = this.dependencies.peerDependencies || {};\n const peerDependenciesMeta = this.dependencies.peerDependenciesMeta || {};\n if (options.copyPeerToRuntime) {\n dependencies = { ...peerDependencies, ...dependencies };\n }\n const manifest = {\n name: this.name,\n version: this.version.version,\n dependencies,\n optionalDependencies,\n devDependencies,\n peerDependencies,\n peerDependenciesMeta,\n };\n // if (options.includeDir) {\n // return {\n // rootDir: this.dir,\n // manifest,\n // };\n // }\n return manifest;\n }\n}\n"],"mappings":";;;;;;;;;;;AAIA;;AAqBO,MAAMA,QAAQ,CAAC;EACpBC,WAAWA,CAAQC,IAAY,EAASC,OAAe,EAASC,YAAwC,EAAE;IAAA,KAAvFF,IAAY,GAAZA,IAAY;IAAA,KAASC,OAAe,GAAfA,OAAe;IAAA,KAASC,YAAwC,GAAxCA,YAAwC;EAAG;;EAE3G;EACA;EACA;EACA;;EAEAC,MAAMA,CAACC,OAA8B,GAAG,CAAC,CAAC,EAAuB;IAC/D,IAAIF,YAAY,GAAG,IAAI,CAACA,YAAY,CAACA,YAAY,IAAI,CAAC,CAAC;IACvD,MAAMG,oBAAoB,GAAG,IAAI,CAACH,YAAY,CAACG,oBAAoB,IAAI,CAAC,CAAC;IACzE,MAAMC,eAAe,GAAG,IAAI,CAACJ,YAAY,CAACI,eAAe,IAAI,CAAC,CAAC;IAC/D,MAAMC,gBAAgB,GAAG,IAAI,CAACL,YAAY,CAACK,gBAAgB,IAAI,CAAC,CAAC;IACjE,MAAMC,oBAAoB,GAAG,IAAI,CAACN,YAAY,CAACM,oBAAoB,IAAI,CAAC,CAAC;IACzE,IAAIJ,OAAO,CAACK,iBAAiB,EAAE;MAC7BP,YAAY,GAAAQ,aAAA,CAAAA,aAAA,KAAQH,gBAAgB,GAAKL,YAAY,CAAE;IACzD;IACA,MAAMS,QAAQ,GAAG;MACfX,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,OAAO,EAAE,IAAI,CAACA,OAAO,CAACA,OAAO;MAC7BC,YAAY;MACZG,oBAAoB;MACpBC,eAAe;MACfC,gBAAgB;MAChBC;IACF,CAAC;IACD;IACA;IACA;IACA;IACA;IACA;IACA,OAAOG,QAAQ;EACjB;AACF;AAACC,OAAA,CAAAd,QAAA,GAAAA,QAAA","ignoreList":[]}
1
+ {"version":3,"names":["Manifest","constructor","name","version","dependencies","toJson","options","optionalDependencies","devDependencies","peerDependencies","peerDependenciesMeta","copyPeerToRuntime","_objectSpread","manifest","exports"],"sources":["manifest.ts"],"sourcesContent":["import { SemVer } from 'semver';\nimport { PeerDependenciesMeta } from '../dependencies/dependency-list';\nimport { PackageName, SemverVersion } from '../dependencies';\n\n// export type ManifestDependenciesKeys = 'dependencies' | 'devDependencies' | 'peerDependencies';\n\nexport type ManifestDependenciesKeys = {\n dependencies: 'dependencies';\n optionalDependencies: 'optionalDependencies';\n devDependencies: 'devDependencies';\n peerDependencies: 'peerDependencies';\n};\n\nexport type ManifestDependenciesKeysNames = keyof ManifestDependenciesKeys;\n\nexport type ManifestDependenciesObject = Partial<Record<ManifestDependenciesKeysNames, DepObjectValue>> & {\n peerDependenciesMeta?: PeerDependenciesMeta;\n};\n\nexport type DepObjectValue = Record<PackageName, SemverVersion>;\n\nexport interface ManifestToJsonOptions {\n copyPeerToRuntime?: boolean;\n}\n\nexport class Manifest {\n constructor(\n public name: string,\n public version: SemVer,\n public dependencies: ManifestDependenciesObject\n ) {}\n\n // Should be implemented on sub classes\n // get dir(): string {\n // throw new BitError('not implemented');\n // }\n\n toJson(options: ManifestToJsonOptions = {}): Record<string, any> {\n let dependencies = this.dependencies.dependencies || {};\n const optionalDependencies = this.dependencies.optionalDependencies || {};\n const devDependencies = this.dependencies.devDependencies || {};\n const peerDependencies = this.dependencies.peerDependencies || {};\n const peerDependenciesMeta = this.dependencies.peerDependenciesMeta || {};\n if (options.copyPeerToRuntime) {\n dependencies = { ...peerDependencies, ...dependencies };\n }\n const manifest = {\n name: this.name,\n version: this.version.version,\n dependencies,\n optionalDependencies,\n devDependencies,\n peerDependencies,\n peerDependenciesMeta,\n };\n // if (options.includeDir) {\n // return {\n // rootDir: this.dir,\n // manifest,\n // };\n // }\n return manifest;\n }\n}\n"],"mappings":";;;;;;;;;;;AAIA;;AAqBO,MAAMA,QAAQ,CAAC;EACpBC,WAAWA,CACFC,IAAY,EACZC,OAAe,EACfC,YAAwC,EAC/C;IAAA,KAHOF,IAAY,GAAZA,IAAY;IAAA,KACZC,OAAe,GAAfA,OAAe;IAAA,KACfC,YAAwC,GAAxCA,YAAwC;EAC9C;;EAEH;EACA;EACA;EACA;;EAEAC,MAAMA,CAACC,OAA8B,GAAG,CAAC,CAAC,EAAuB;IAC/D,IAAIF,YAAY,GAAG,IAAI,CAACA,YAAY,CAACA,YAAY,IAAI,CAAC,CAAC;IACvD,MAAMG,oBAAoB,GAAG,IAAI,CAACH,YAAY,CAACG,oBAAoB,IAAI,CAAC,CAAC;IACzE,MAAMC,eAAe,GAAG,IAAI,CAACJ,YAAY,CAACI,eAAe,IAAI,CAAC,CAAC;IAC/D,MAAMC,gBAAgB,GAAG,IAAI,CAACL,YAAY,CAACK,gBAAgB,IAAI,CAAC,CAAC;IACjE,MAAMC,oBAAoB,GAAG,IAAI,CAACN,YAAY,CAACM,oBAAoB,IAAI,CAAC,CAAC;IACzE,IAAIJ,OAAO,CAACK,iBAAiB,EAAE;MAC7BP,YAAY,GAAAQ,aAAA,CAAAA,aAAA,KAAQH,gBAAgB,GAAKL,YAAY,CAAE;IACzD;IACA,MAAMS,QAAQ,GAAG;MACfX,IAAI,EAAE,IAAI,CAACA,IAAI;MACfC,OAAO,EAAE,IAAI,CAACA,OAAO,CAACA,OAAO;MAC7BC,YAAY;MACZG,oBAAoB;MACpBC,eAAe;MACfC,gBAAgB;MAChBC;IACF,CAAC;IACD;IACA;IACA;IACA;IACA;IACA;IACA,OAAOG,QAAQ;EACjB;AACF;AAACC,OAAA,CAAAd,QAAA,GAAAA,QAAA","ignoreList":[]}
@@ -1 +1 @@
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":[]}
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(\n private dependencyResolver: DependencyResolverMain,\n private aspectLoader: AspectLoaderMain\n ) {}\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 +1 @@
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":[]}
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(\n readonly packageManagerName: string,\n readonly logger: Logger\n ) {}\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":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_validateEnvPolicy","data","require","_variantPolicy","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","EnvPolicy","VariantPolicy","constructor","_policiesEntries","selfPolicy","fromConfigObject","configObject","includeLegacyPeersInSelfPolicy","validateEnvPolicyConfigObject","selfPeersEntries","peers","peerDependencies","handleLegacyPeers","entriesFromKey","source","force","fromArray","legacyPolicy","hidden","componentPeersEntries","otherKeyNames","otherEntries","reduce","acc","keyName","currEntries","concat","newPolicy","finalComponentPolicy","mergePolices","entries","getEmpty","exports","map","packageName","version","createVariantPolicyEntry","versionKey","lifecycleType","options","configEntries","entry","name","optional"],"sources":["env-policy.ts"],"sourcesContent":["import { validateEnvPolicyConfigObject } from './validate-env-policy';\nimport {\n createVariantPolicyEntry,\n VariantPolicyEntry,\n VariantPolicy,\n VariantPolicyConfigObject,\n VariantPolicyFromConfigObjectOptions,\n} from '../variant-policy';\nimport { DependencyLifecycleType } from '../../dependencies';\n\ntype EnvJsoncPolicyEntry = {\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 EnvJsoncPolicyPeerEntry = EnvJsoncPolicyEntry & {\n supportedRange: string;\n};\n\nexport type VersionKeyName = 'version' | 'supportedRange';\n\nexport type EnvJsoncPolicyConfigKey = 'peers' | 'dev' | 'runtime';\n\nexport type EnvPolicyEnvJsoncConfigObject = {\n peers?: EnvJsoncPolicyPeerEntry[];\n dev?: EnvJsoncPolicyEntry[];\n runtime?: EnvJsoncPolicyEntry[];\n};\n\n/**\n * Config that is used before the new env.jsonc format was introduced.\n */\nexport type EnvPolicyLegacyConfigObject = Pick<EnvPolicyEnvJsoncConfigObject, 'peers'> & VariantPolicyConfigObject;\n\nexport type EnvPolicyConfigObject = EnvPolicyEnvJsoncConfigObject | EnvPolicyLegacyConfigObject;\n\nexport class EnvPolicy extends VariantPolicy {\n constructor(_policiesEntries: VariantPolicyEntry[], readonly selfPolicy: VariantPolicy) {\n super(_policiesEntries);\n }\n\n static fromConfigObject(\n configObject: EnvPolicyConfigObject,\n { includeLegacyPeersInSelfPolicy }: VariantPolicyFromConfigObjectOptions = {}\n ): EnvPolicy {\n validateEnvPolicyConfigObject(configObject);\n\n /**\n * Calculate the policy for the env itself.\n * Always force it for the env itself\n */\n let selfPeersEntries: VariantPolicyEntry[];\n // @ts-ignore TODO: need to fix this, the | confusing the compiler\n if (includeLegacyPeersInSelfPolicy && !configObject.peers && configObject.peerDependencies) {\n // @ts-ignore TODO: need to fix this, the | confusing the compiler\n selfPeersEntries = handleLegacyPeers(configObject);\n } else {\n // @ts-ignore TODO: need to fix this, the | confusing the compiler\n selfPeersEntries = entriesFromKey(configObject, 'peers', 'version', 'runtime', {\n source: 'env-own',\n force: true,\n });\n }\n const selfPolicy = VariantPolicy.fromArray(selfPeersEntries);\n\n /**\n * Legacy policy used by the old getDependencies function on the env aspect.\n * when we used to configure dependencies, devDependencies, peerDependencies as objects of dependencyId: version\n * Those were always forced on the components as visible dependencies.\n */\n const legacyPolicy = VariantPolicy.fromConfigObject(configObject, { source: 'env', force: true, hidden: false });\n // @ts-ignore TODO: need to fix this, the | confusing the compiler\n const componentPeersEntries = entriesFromKey(configObject, 'peers', 'supportedRange', 'peer', { source: 'env' });\n const otherKeyNames: EnvJsoncPolicyConfigKey[] = ['dev', 'runtime'];\n const otherEntries: VariantPolicyEntry[] = otherKeyNames.reduce(\n (acc: VariantPolicyEntry[], keyName: EnvJsoncPolicyConfigKey) => {\n // @ts-ignore TODO: need to fix this, the | confusing the compiler\n const currEntries = entriesFromKey(configObject, keyName, 'version', keyName as DependencyLifecycleType, {\n source: 'env',\n });\n return acc.concat(currEntries);\n },\n []\n );\n const newPolicy = VariantPolicy.fromArray(componentPeersEntries.concat(otherEntries));\n const finalComponentPolicy = VariantPolicy.mergePolices([legacyPolicy, newPolicy]);\n return new EnvPolicy(finalComponentPolicy.entries, selfPolicy);\n }\n\n static getEmpty(): EnvPolicy {\n return new EnvPolicy([], VariantPolicy.getEmpty());\n }\n}\n\nfunction handleLegacyPeers(configObject: VariantPolicyConfigObject): VariantPolicyEntry[] {\n if (!configObject.peerDependencies) {\n return [];\n }\n const entries = Object.entries(configObject.peerDependencies).map(([packageName, version]) => {\n return createVariantPolicyEntry(packageName, version, 'runtime', {\n source: 'env-own',\n hidden: false,\n force: true,\n });\n });\n return entries;\n}\n\nfunction entriesFromKey(\n configObject: VariantPolicyConfigObject,\n keyName: EnvJsoncPolicyConfigKey,\n versionKey: VersionKeyName = 'version',\n lifecycleType: DependencyLifecycleType,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n const configEntries: Array<EnvJsoncPolicyPeerEntry | EnvJsoncPolicyEntry> = configObject[keyName];\n if (!configEntries) {\n return [];\n }\n const entries = configEntries.map((entry) => {\n return createVariantPolicyEntry(entry.name, entry[versionKey], lifecycleType, {\n ...options,\n source: options.source ?? 'env',\n hidden: entry.hidden,\n // allow override the entry's force value (used for the env itself)\n force: options.force ?? !!entry.force,\n optional: options.optional ?? !!entry.optional,\n });\n });\n return entries;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,mBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,kBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,eAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,cAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAM2B,SAAAG,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAD,CAAA,GAAAG,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAAvB,CAAA,CAAAC,CAAA,IAAAC,CAAA,EAAAF,CAAA;AAAA,SAAAoB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA3B,CAAA,QAAAwB,CAAA,GAAAxB,CAAA,CAAA4B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AA+B3B;AACA;AACA;;AAKO,MAAM8B,SAAS,SAASC,8BAAa,CAAC;EAC3CC,WAAWA,CAACC,gBAAsC,EAAWC,UAAyB,EAAE;IACtF,KAAK,CAACD,gBAAgB,CAAC;IAAC,KADmCC,UAAyB,GAAzBA,UAAyB;EAEtF;EAEA,OAAOC,gBAAgBA,CACrBC,YAAmC,EACnC;IAAEC;EAAqE,CAAC,GAAG,CAAC,CAAC,EAClE;IACX,IAAAC,kDAA6B,EAACF,YAAY,CAAC;;IAE3C;AACJ;AACA;AACA;IACI,IAAIG,gBAAsC;IAC1C;IACA,IAAIF,8BAA8B,IAAI,CAACD,YAAY,CAACI,KAAK,IAAIJ,YAAY,CAACK,gBAAgB,EAAE;MAC1F;MACAF,gBAAgB,GAAGG,iBAAiB,CAACN,YAAY,CAAC;IACpD,CAAC,MAAM;MACL;MACAG,gBAAgB,GAAGI,cAAc,CAACP,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE;QAC7EQ,MAAM,EAAE,SAAS;QACjBC,KAAK,EAAE;MACT,CAAC,CAAC;IACJ;IACA,MAAMX,UAAU,GAAGH,8BAAa,CAACe,SAAS,CAACP,gBAAgB,CAAC;;IAE5D;AACJ;AACA;AACA;AACA;IACI,MAAMQ,YAAY,GAAGhB,8BAAa,CAACI,gBAAgB,CAACC,YAAY,EAAE;MAAEQ,MAAM,EAAE,KAAK;MAAEC,KAAK,EAAE,IAAI;MAAEG,MAAM,EAAE;IAAM,CAAC,CAAC;IAChH;IACA,MAAMC,qBAAqB,GAAGN,cAAc,CAACP,YAAY,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE;MAAEQ,MAAM,EAAE;IAAM,CAAC,CAAC;IAChH,MAAMM,aAAwC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC;IACnE,MAAMC,YAAkC,GAAGD,aAAa,CAACE,MAAM,CAC7D,CAACC,GAAyB,EAAEC,OAAgC,KAAK;MAC/D;MACA,MAAMC,WAAW,GAAGZ,cAAc,CAACP,YAAY,EAAEkB,OAAO,EAAE,SAAS,EAAEA,OAAO,EAA6B;QACvGV,MAAM,EAAE;MACV,CAAC,CAAC;MACF,OAAOS,GAAG,CAACG,MAAM,CAACD,WAAW,CAAC;IAChC,CAAC,EACD,EACF,CAAC;IACD,MAAME,SAAS,GAAG1B,8BAAa,CAACe,SAAS,CAACG,qBAAqB,CAACO,MAAM,CAACL,YAAY,CAAC,CAAC;IACrF,MAAMO,oBAAoB,GAAG3B,8BAAa,CAAC4B,YAAY,CAAC,CAACZ,YAAY,EAAEU,SAAS,CAAC,CAAC;IAClF,OAAO,IAAI3B,SAAS,CAAC4B,oBAAoB,CAACE,OAAO,EAAE1B,UAAU,CAAC;EAChE;EAEA,OAAO2B,QAAQA,CAAA,EAAc;IAC3B,OAAO,IAAI/B,SAAS,CAAC,EAAE,EAAEC,8BAAa,CAAC8B,QAAQ,CAAC,CAAC,CAAC;EACpD;AACF;AAACC,OAAA,CAAAhC,SAAA,GAAAA,SAAA;AAED,SAASY,iBAAiBA,CAACN,YAAuC,EAAwB;EACxF,IAAI,CAACA,YAAY,CAACK,gBAAgB,EAAE;IAClC,OAAO,EAAE;EACX;EACA,MAAMmB,OAAO,GAAG3D,MAAM,CAAC2D,OAAO,CAACxB,YAAY,CAACK,gBAAgB,CAAC,CAACsB,GAAG,CAAC,CAAC,CAACC,WAAW,EAAEC,OAAO,CAAC,KAAK;IAC5F,OAAO,IAAAC,yCAAwB,EAACF,WAAW,EAAEC,OAAO,EAAE,SAAS,EAAE;MAC/DrB,MAAM,EAAE,SAAS;MACjBI,MAAM,EAAE,KAAK;MACbH,KAAK,EAAE;IACT,CAAC,CAAC;EACJ,CAAC,CAAC;EACF,OAAOe,OAAO;AAChB;AAEA,SAASjB,cAAcA,CACrBP,YAAuC,EACvCkB,OAAgC,EAChCa,UAA0B,GAAG,SAAS,EACtCC,aAAsC,EACtCC,OAA6C,EACvB;EACtB,MAAMC,aAAmE,GAAGlC,YAAY,CAACkB,OAAO,CAAC;EACjG,IAAI,CAACgB,aAAa,EAAE;IAClB,OAAO,EAAE;EACX;EACA,MAAMV,OAAO,GAAGU,aAAa,CAACP,GAAG,CAAEQ,KAAK,IAAK;IAC3C,OAAO,IAAAL,yCAAwB,EAACK,KAAK,CAACC,IAAI,EAAED,KAAK,CAACJ,UAAU,CAAC,EAAEC,aAAa,EAAA1D,aAAA,CAAAA,aAAA,KACvE2D,OAAO;MACVzB,MAAM,EAAEyB,OAAO,CAACzB,MAAM,IAAI,KAAK;MAC/BI,MAAM,EAAEuB,KAAK,CAACvB,MAAM;MACpB;MACAH,KAAK,EAAEwB,OAAO,CAACxB,KAAK,IAAI,CAAC,CAAC0B,KAAK,CAAC1B,KAAK;MACrC4B,QAAQ,EAAEJ,OAAO,CAACI,QAAQ,IAAI,CAAC,CAACF,KAAK,CAACE;IAAQ,EAC/C,CAAC;EACJ,CAAC,CAAC;EACF,OAAOb,OAAO;AAChB","ignoreList":[]}
1
+ {"version":3,"names":["_validateEnvPolicy","data","require","_variantPolicy","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","EnvPolicy","VariantPolicy","constructor","_policiesEntries","selfPolicy","fromConfigObject","configObject","includeLegacyPeersInSelfPolicy","validateEnvPolicyConfigObject","selfPeersEntries","peers","peerDependencies","handleLegacyPeers","entriesFromKey","source","force","fromArray","legacyPolicy","hidden","componentPeersEntries","otherKeyNames","otherEntries","reduce","acc","keyName","currEntries","concat","newPolicy","finalComponentPolicy","mergePolices","entries","getEmpty","exports","map","packageName","version","createVariantPolicyEntry","versionKey","lifecycleType","options","configEntries","entry","name","optional"],"sources":["env-policy.ts"],"sourcesContent":["import { validateEnvPolicyConfigObject } from './validate-env-policy';\nimport {\n createVariantPolicyEntry,\n VariantPolicyEntry,\n VariantPolicy,\n VariantPolicyConfigObject,\n VariantPolicyFromConfigObjectOptions,\n} from '../variant-policy';\nimport { DependencyLifecycleType } from '../../dependencies';\n\ntype EnvJsoncPolicyEntry = {\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 EnvJsoncPolicyPeerEntry = EnvJsoncPolicyEntry & {\n supportedRange: string;\n};\n\nexport type VersionKeyName = 'version' | 'supportedRange';\n\nexport type EnvJsoncPolicyConfigKey = 'peers' | 'dev' | 'runtime';\n\nexport type EnvPolicyEnvJsoncConfigObject = {\n peers?: EnvJsoncPolicyPeerEntry[];\n dev?: EnvJsoncPolicyEntry[];\n runtime?: EnvJsoncPolicyEntry[];\n};\n\n/**\n * Config that is used before the new env.jsonc format was introduced.\n */\nexport type EnvPolicyLegacyConfigObject = Pick<EnvPolicyEnvJsoncConfigObject, 'peers'> & VariantPolicyConfigObject;\n\nexport type EnvPolicyConfigObject = EnvPolicyEnvJsoncConfigObject | EnvPolicyLegacyConfigObject;\n\nexport class EnvPolicy extends VariantPolicy {\n constructor(\n _policiesEntries: VariantPolicyEntry[],\n readonly selfPolicy: VariantPolicy\n ) {\n super(_policiesEntries);\n }\n\n static fromConfigObject(\n configObject: EnvPolicyConfigObject,\n { includeLegacyPeersInSelfPolicy }: VariantPolicyFromConfigObjectOptions = {}\n ): EnvPolicy {\n validateEnvPolicyConfigObject(configObject);\n\n /**\n * Calculate the policy for the env itself.\n * Always force it for the env itself\n */\n let selfPeersEntries: VariantPolicyEntry[];\n // @ts-ignore TODO: need to fix this, the | confusing the compiler\n if (includeLegacyPeersInSelfPolicy && !configObject.peers && configObject.peerDependencies) {\n // @ts-ignore TODO: need to fix this, the | confusing the compiler\n selfPeersEntries = handleLegacyPeers(configObject);\n } else {\n // @ts-ignore TODO: need to fix this, the | confusing the compiler\n selfPeersEntries = entriesFromKey(configObject, 'peers', 'version', 'runtime', {\n source: 'env-own',\n force: true,\n });\n }\n const selfPolicy = VariantPolicy.fromArray(selfPeersEntries);\n\n /**\n * Legacy policy used by the old getDependencies function on the env aspect.\n * when we used to configure dependencies, devDependencies, peerDependencies as objects of dependencyId: version\n * Those were always forced on the components as visible dependencies.\n */\n const legacyPolicy = VariantPolicy.fromConfigObject(configObject, { source: 'env', force: true, hidden: false });\n // @ts-ignore TODO: need to fix this, the | confusing the compiler\n const componentPeersEntries = entriesFromKey(configObject, 'peers', 'supportedRange', 'peer', { source: 'env' });\n const otherKeyNames: EnvJsoncPolicyConfigKey[] = ['dev', 'runtime'];\n const otherEntries: VariantPolicyEntry[] = otherKeyNames.reduce(\n (acc: VariantPolicyEntry[], keyName: EnvJsoncPolicyConfigKey) => {\n // @ts-ignore TODO: need to fix this, the | confusing the compiler\n const currEntries = entriesFromKey(configObject, keyName, 'version', keyName as DependencyLifecycleType, {\n source: 'env',\n });\n return acc.concat(currEntries);\n },\n []\n );\n const newPolicy = VariantPolicy.fromArray(componentPeersEntries.concat(otherEntries));\n const finalComponentPolicy = VariantPolicy.mergePolices([legacyPolicy, newPolicy]);\n return new EnvPolicy(finalComponentPolicy.entries, selfPolicy);\n }\n\n static getEmpty(): EnvPolicy {\n return new EnvPolicy([], VariantPolicy.getEmpty());\n }\n}\n\nfunction handleLegacyPeers(configObject: VariantPolicyConfigObject): VariantPolicyEntry[] {\n if (!configObject.peerDependencies) {\n return [];\n }\n const entries = Object.entries(configObject.peerDependencies).map(([packageName, version]) => {\n return createVariantPolicyEntry(packageName, version, 'runtime', {\n source: 'env-own',\n hidden: false,\n force: true,\n });\n });\n return entries;\n}\n\nfunction entriesFromKey(\n configObject: VariantPolicyConfigObject,\n keyName: EnvJsoncPolicyConfigKey,\n versionKey: VersionKeyName = 'version',\n lifecycleType: DependencyLifecycleType,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n const configEntries: Array<EnvJsoncPolicyPeerEntry | EnvJsoncPolicyEntry> = configObject[keyName];\n if (!configEntries) {\n return [];\n }\n const entries = configEntries.map((entry) => {\n return createVariantPolicyEntry(entry.name, entry[versionKey], lifecycleType, {\n ...options,\n source: options.source ?? 'env',\n hidden: entry.hidden,\n // allow override the entry's force value (used for the env itself)\n force: options.force ?? !!entry.force,\n optional: options.optional ?? !!entry.optional,\n });\n });\n return entries;\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.425/dist/dependency-resolver.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.425/dist/dependency-resolver.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.427/dist/dependency-resolver.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.427/dist/dependency-resolver.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
@@ -1,5 +1,8 @@
1
1
  export class CoreAspectLinkError extends Error {
2
- constructor(private id: string, private err: Error) {
2
+ constructor(
3
+ private id: string,
4
+ private err: Error
5
+ ) {
3
6
  super(`failed linking core aspect '${id}' with the following error: ${err.toString()}`);
4
7
  }
5
8
  }
@@ -1,5 +1,8 @@
1
1
  export class NonAspectCorePackageLinkError extends Error {
2
- constructor(private err: Error, packageName: string) {
2
+ constructor(
3
+ private err: Error,
4
+ packageName: string
5
+ ) {
3
6
  super(`failed linking non aspect core package (${packageName}) with the following error: ${err.toString()}`);
4
7
  }
5
8
  }
@@ -24,7 +24,11 @@ export interface ManifestToJsonOptions {
24
24
  }
25
25
 
26
26
  export class Manifest {
27
- constructor(public name: string, public version: SemVer, public dependencies: ManifestDependenciesObject) {}
27
+ constructor(
28
+ public name: string,
29
+ public version: SemVer,
30
+ public dependencies: ManifestDependenciesObject
31
+ ) {}
28
32
 
29
33
  // Should be implemented on sub classes
30
34
  // get dir(): string {
@@ -42,7 +42,10 @@ const DEFAULT_CREATE_OPTIONS: CreateFromComponentsOptions = {
42
42
  excludeExtensionsDependencies: false,
43
43
  };
44
44
  export class WorkspaceManifestFactory {
45
- constructor(private dependencyResolver: DependencyResolverMain, private aspectLoader: AspectLoaderMain) {}
45
+ constructor(
46
+ private dependencyResolver: DependencyResolverMain,
47
+ private aspectLoader: AspectLoaderMain
48
+ ) {}
46
49
 
47
50
  async createFromComponents(
48
51
  name: string,
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/dependency-resolver",
3
- "version": "1.0.425",
3
+ "version": "1.0.427",
4
4
  "homepage": "https://bit.cloud/teambit/dependencies/dependency-resolver",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.dependencies",
8
8
  "name": "dependency-resolver",
9
- "version": "1.0.425"
9
+ "version": "1.0.427"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -32,25 +32,25 @@
32
32
  "@teambit/component-id": "1.2.2",
33
33
  "@teambit/workspace.root-components": "1.0.0",
34
34
  "@teambit/legacy-bit-id": "1.1.1",
35
- "@teambit/component-version": "1.0.3",
36
35
  "@teambit/toolbox.object.sorter": "0.0.2",
37
- "@teambit/component": "1.0.425",
38
- "@teambit/envs": "1.0.425",
39
- "@teambit/dependencies": "1.0.425",
40
- "@teambit/aspect-loader": "1.0.425",
41
- "@teambit/logger": "0.0.1095",
36
+ "@teambit/component-version": "1.0.3",
37
+ "@teambit/component": "1.0.427",
38
+ "@teambit/envs": "1.0.427",
39
+ "@teambit/dependencies": "1.0.427",
40
+ "@teambit/aspect-loader": "1.0.427",
41
+ "@teambit/logger": "0.0.1097",
42
42
  "@teambit/toolbox.path.path": "0.0.4",
43
43
  "@teambit/pkg.modules.component-package-name": "0.0.5",
44
- "@teambit/graphql": "1.0.425",
45
- "@teambit/bit": "1.8.76",
46
- "@teambit/cli": "0.0.1002",
47
- "@teambit/component.sources": "0.0.33",
48
- "@teambit/config": "0.0.1176",
49
- "@teambit/global-config": "0.0.1005",
50
- "@teambit/harmony.modules.requireable-component": "0.0.497",
51
- "@teambit/snapping": "1.0.425",
52
- "@teambit/workspace.modules.node-modules-linker": "0.0.208",
53
- "@teambit/isolator": "1.0.425",
44
+ "@teambit/graphql": "1.0.427",
45
+ "@teambit/bit": "1.8.78",
46
+ "@teambit/cli": "0.0.1004",
47
+ "@teambit/component.sources": "0.0.34",
48
+ "@teambit/config": "0.0.1178",
49
+ "@teambit/global-config": "0.0.1007",
50
+ "@teambit/harmony.modules.requireable-component": "0.0.498",
51
+ "@teambit/snapping": "1.0.427",
52
+ "@teambit/workspace.modules.node-modules-linker": "0.0.209",
53
+ "@teambit/isolator": "1.0.427",
54
54
  "@teambit/toolbox.fs.link-or-symlink": "0.0.1",
55
55
  "@teambit/component-issues": "0.0.151",
56
56
  "@teambit/component-package-version": "0.0.434",
@@ -64,7 +64,7 @@
64
64
  "@types/semver": "7.3.4",
65
65
  "@types/mocha": "9.1.0",
66
66
  "@teambit/harmony.envs.core-aspect-env-jest": "0.0.37",
67
- "@teambit/dependencies.aspect-docs.dependency-resolver": "0.0.177"
67
+ "@teambit/dependencies.aspect-docs.dependency-resolver": "0.0.178"
68
68
  },
69
69
  "peerDependencies": {
70
70
  "react": "^17.0.0 || ^18.0.0",
@@ -44,7 +44,10 @@ export type EnvPolicyLegacyConfigObject = Pick<EnvPolicyEnvJsoncConfigObject, 'p
44
44
  export type EnvPolicyConfigObject = EnvPolicyEnvJsoncConfigObject | EnvPolicyLegacyConfigObject;
45
45
 
46
46
  export class EnvPolicy extends VariantPolicy {
47
- constructor(_policiesEntries: VariantPolicyEntry[], readonly selfPolicy: VariantPolicy) {
47
+ constructor(
48
+ _policiesEntries: VariantPolicyEntry[],
49
+ readonly selfPolicy: VariantPolicy
50
+ ) {
48
51
  super(_policiesEntries);
49
52
  }
50
53