@teambit/dependency-resolver 1.0.912 → 1.0.913
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/dependency-installer.d.ts +5 -2
- package/dist/dependency-installer.js +10 -3
- package/dist/dependency-installer.js.map +1 -1
- package/dist/dependency-resolver-workspace-config.d.ts +17 -0
- package/dist/dependency-resolver-workspace-config.js.map +1 -1
- package/dist/dependency-resolver.main.runtime.js +9 -4
- package/dist/dependency-resolver.main.runtime.js.map +1 -1
- package/dist/manifest/workspace-manifest-factory.d.ts +20 -1
- package/dist/manifest/workspace-manifest-factory.js +223 -30
- package/dist/manifest/workspace-manifest-factory.js.map +1 -1
- package/dist/manifest/workspace-manifest.d.ts +3 -1
- package/dist/manifest/workspace-manifest.js +10 -3
- package/dist/manifest/workspace-manifest.js.map +1 -1
- package/dist/package-manager.d.ts +1 -0
- package/dist/package-manager.js.map +1 -1
- package/dist/policy/env-policy/env-policy.d.ts +16 -2
- package/dist/policy/env-policy/env-policy.js +12 -4
- package/dist/policy/env-policy/env-policy.js.map +1 -1
- package/dist/policy/variant-policy/variant-policy.d.ts +2 -0
- package/dist/policy/variant-policy/variant-policy.js +5 -1
- package/dist/policy/variant-policy/variant-policy.js.map +1 -1
- package/dist/{preview-1773927560597.js → preview-1773942498396.js} +2 -2
- package/manifest/workspace-manifest-factory.ts +277 -34
- package/manifest/workspace-manifest.ts +14 -3
- package/package.json +8 -8
- package/policy/env-policy/env-policy.ts +24 -4
- package/policy/variant-policy/variant-policy.ts +6 -0
|
@@ -14,7 +14,7 @@ function _manifest() {
|
|
|
14
14
|
class WorkspaceManifest extends _manifest().Manifest {
|
|
15
15
|
constructor(
|
|
16
16
|
// TODO: please prefer readonly on public
|
|
17
|
-
name, version, dependencies, envSelfPeersPolicy, rootDir, componentsManifestsMap) {
|
|
17
|
+
name, version, dependencies, envSelfPeersPolicy, rootDir, componentsManifestsMap, peerOverrides = {}) {
|
|
18
18
|
super(name, version, dependencies);
|
|
19
19
|
this.name = name;
|
|
20
20
|
this.version = version;
|
|
@@ -22,6 +22,7 @@ class WorkspaceManifest extends _manifest().Manifest {
|
|
|
22
22
|
this.envSelfPeersPolicy = envSelfPeersPolicy;
|
|
23
23
|
this.rootDir = rootDir;
|
|
24
24
|
this.componentsManifestsMap = componentsManifestsMap;
|
|
25
|
+
this.peerOverrides = peerOverrides;
|
|
25
26
|
}
|
|
26
27
|
get dir() {
|
|
27
28
|
return this.rootDir;
|
|
@@ -29,12 +30,18 @@ class WorkspaceManifest extends _manifest().Manifest {
|
|
|
29
30
|
getComponentMap() {}
|
|
30
31
|
toJson(options = {}) {
|
|
31
32
|
const manifest = super.toJson(options);
|
|
32
|
-
if (options.installPeersFromEnvs) {
|
|
33
|
+
if (options.installPeersFromEnvs || options.resolveEnvPeersFromRoot) {
|
|
33
34
|
const peersManifest = this.envSelfPeersPolicy?.toVersionManifest();
|
|
34
35
|
// Resolve "+" version placeholders from peersManifest
|
|
35
36
|
const resolvedPeersManifest = this._resolvePlusVersions(peersManifest || {});
|
|
36
37
|
manifest.dependencies = manifest.dependencies || {};
|
|
37
|
-
|
|
38
|
+
// Env peers are added as defaults — workspace.jsonc policy takes priority across all dep sections
|
|
39
|
+
for (const [pkgName, version] of Object.entries(resolvedPeersManifest)) {
|
|
40
|
+
const alreadyDefined = manifest.dependencies?.[pkgName] || manifest.devDependencies?.[pkgName] || manifest.peerDependencies?.[pkgName] || manifest.optionalDependencies?.[pkgName];
|
|
41
|
+
if (!alreadyDefined) {
|
|
42
|
+
manifest.dependencies[pkgName] = version;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
38
45
|
}
|
|
39
46
|
return manifest;
|
|
40
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_manifest","data","require","WorkspaceManifest","Manifest","constructor","name","version","dependencies","envSelfPeersPolicy","rootDir","componentsManifestsMap","dir","getComponentMap","toJson","options","manifest","installPeersFromEnvs","peersManifest","toVersionManifest","resolvedPeersManifest","_resolvePlusVersions","Object","
|
|
1
|
+
{"version":3,"names":["_manifest","data","require","WorkspaceManifest","Manifest","constructor","name","version","dependencies","envSelfPeersPolicy","rootDir","componentsManifestsMap","peerOverrides","dir","getComponentMap","toJson","options","manifest","installPeersFromEnvs","resolveEnvPeersFromRoot","peersManifest","toVersionManifest","resolvedPeersManifest","_resolvePlusVersions","pkgName","Object","entries","alreadyDefined","devDependencies","peerDependencies","optionalDependencies","keys","reduce","acc","foundVersion","toJsonWithDir","exports"],"sources":["workspace-manifest.ts"],"sourcesContent":["import type { SemVer } from 'semver';\nimport type { VariantPolicy } from '../policy';\n\nimport type { ComponentsManifestsMap } from '../types';\nimport type { ManifestToJsonOptions, ManifestDependenciesObject } from './manifest';\nimport { Manifest } from './manifest';\n\nexport interface WorkspaceManifestToJsonOptions extends ManifestToJsonOptions {\n installPeersFromEnvs?: boolean;\n resolveEnvPeersFromRoot?: boolean;\n}\n\nexport class WorkspaceManifest extends Manifest {\n constructor(\n // TODO: please prefer readonly on public\n public name: string,\n public version: SemVer,\n public dependencies: ManifestDependenciesObject,\n private envSelfPeersPolicy: VariantPolicy | undefined,\n private rootDir: string,\n public componentsManifestsMap: ComponentsManifestsMap,\n public peerOverrides: Record<string, string> = {}\n ) {\n super(name, version, dependencies);\n }\n\n get dir() {\n return this.rootDir;\n }\n\n getComponentMap() {}\n\n toJson(options: WorkspaceManifestToJsonOptions = {}): Record<string, any> {\n const manifest = super.toJson(options);\n if (options.installPeersFromEnvs || options.resolveEnvPeersFromRoot) {\n const peersManifest = this.envSelfPeersPolicy?.toVersionManifest();\n // Resolve \"+\" version placeholders from peersManifest\n const resolvedPeersManifest = this._resolvePlusVersions(peersManifest || {});\n manifest.dependencies = manifest.dependencies || {};\n // Env peers are added as defaults — workspace.jsonc policy takes priority across all dep sections\n for (const [pkgName, version] of Object.entries(resolvedPeersManifest)) {\n const alreadyDefined = manifest.dependencies?.[pkgName] ||\n manifest.devDependencies?.[pkgName] ||\n manifest.peerDependencies?.[pkgName] ||\n manifest.optionalDependencies?.[pkgName];\n if (!alreadyDefined) {\n manifest.dependencies[pkgName] = version;\n }\n }\n }\n return manifest;\n }\n\n /**\n * Resolves \"+\" version placeholders in the env peers policy.\n * The \"+\" means: use the version from the workspace components (.bitmap or workspace.jsonc).\n */\n private _resolvePlusVersions(peersManifest: Record<string, string>): Record<string, string> {\n return Object.keys(peersManifest).reduce((acc, pkgName) => {\n const version = peersManifest[pkgName];\n if (version !== '+') {\n acc[pkgName] = version;\n return acc;\n }\n const foundVersion =\n this.dependencies.dependencies?.[pkgName] ||\n this.dependencies.optionalDependencies?.[pkgName] ||\n this.dependencies.devDependencies?.[pkgName] ||\n this.dependencies.peerDependencies?.[pkgName];\n // Fallback to '*' if we can't resolve the version\n acc[pkgName] = foundVersion || '*';\n return acc;\n }, {});\n }\n\n toJsonWithDir(options: WorkspaceManifestToJsonOptions = {}): { rootDir: string; manifest: Record<string, any> } {\n return {\n manifest: this.toJson(options),\n rootDir: this.rootDir,\n };\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -17,6 +17,7 @@ export type PackageManagerInstallOptions = {
|
|
|
17
17
|
copyPeerToRuntimeOnComponents?: boolean;
|
|
18
18
|
excludeLinksFromLockfile?: boolean;
|
|
19
19
|
installPeersFromEnvs?: boolean;
|
|
20
|
+
resolveEnvPeersFromRoot?: boolean;
|
|
20
21
|
dependencyFilterFn?: DepsFilterFn;
|
|
21
22
|
overrides?: Record<string, string>;
|
|
22
23
|
lockfileOnly?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_core","data","require"],"sources":["package-manager.ts"],"sourcesContent":["import { PeerDependencyIssuesByProjects } from '@pnpm/core';\nimport type { PeerDependencyRules, ProjectManifest, DependencyManifest } from '@pnpm/types';\nimport type { ComponentID, ComponentMap, Component } from '@teambit/component';\nimport { type DependenciesGraph } from '@teambit/objects';\nimport type { Registries } from '@teambit/pkg.entities.registry';\nimport type { DepsFilterFn } from './manifest';\nimport type { NetworkConfig, ProxyConfig } from './dependency-resolver.main.runtime';\n\nexport { PeerDependencyIssuesByProjects };\n\nexport type PackageImportMethod = 'auto' | 'hardlink' | 'copy' | 'clone';\n\nexport type PackageManagerInstallOptions = {\n cacheRootDir?: string;\n /**\n * decide whether to dedup dependencies.\n */\n dedupe?: boolean;\n\n copyPeerToRuntimeOnRoot?: boolean;\n\n copyPeerToRuntimeOnComponents?: boolean;\n\n excludeLinksFromLockfile?: boolean;\n\n installPeersFromEnvs?: boolean;\n\n dependencyFilterFn?: DepsFilterFn;\n\n overrides?: Record<string, string>;\n\n lockfileOnly?: boolean;\n\n /**\n * When false, the package manager will not write the node_modules directory\n */\n enableModulesDir?: boolean;\n\n nodeLinker?: 'hoisted' | 'isolated';\n\n packageManagerConfigRootDir?: string;\n\n packageImportMethod?: PackageImportMethod;\n\n rootComponents?: boolean;\n\n rootComponentsForCapsules?: boolean;\n\n useNesting?: boolean;\n\n keepExistingModulesDir?: boolean;\n\n sideEffectsCache?: boolean;\n\n engineStrict?: boolean;\n\n nodeVersion?: string;\n\n peerDependencyRules?: PeerDependencyRules;\n\n includeOptionalDeps?: boolean;\n\n updateAll?: boolean;\n\n hidePackageManagerOutput?: boolean;\n\n pruneNodeModules?: boolean;\n\n hasRootComponents?: boolean;\n\n neverBuiltDependencies?: string[];\n\n allowScripts?: Record<string, boolean | 'warn'>;\n\n dangerouslyAllowAllScripts?: boolean;\n\n preferOffline?: boolean;\n\n nmSelfReferences?: boolean;\n\n /**\n * e.g. when running `bit install` through the web or the IDE, not from the CLI.\n */\n optimizeReportForNonTerminal?: boolean;\n\n /**\n * Sets the frequency of updating the progress output in milliseconds.\n * E.g., if this is set to 1000, then the progress will be updated every second.\n */\n throttleProgress?: number;\n\n hideProgressPrefix?: boolean;\n\n hideLifecycleOutput?: boolean;\n\n /**\n * Do installation using lockfile only. Ignore the component manifests.\n */\n ignorePackageManifest?: boolean;\n\n /**\n * When enabled, installation by the package manager will be skipped\n * but all the options will be calculated and the rebuild function will be returned.\n * We use this option for a performance optimization in Ripple CI.\n */\n dryRun?: boolean;\n\n dedupeInjectedDeps?: boolean;\n\n /**\n * When this is set to true, pnpm will hoist workspace packages to node_modules/.pnpm/node_modules.\n * This is something we need in capsules.\n */\n hoistWorkspacePackages?: boolean;\n\n /**\n * Tells pnpm which packages should be hoisted to node_modules/.pnpm/node_modules.\n * By default, all packages are hoisted - however, if you know that only some flawed packages have phantom dependencies,\n * you can use this option to exclusively hoist the phantom dependencies (recommended).\n */\n hoistPatterns?: string[];\n\n /**\n * When true, dependencies from the workspace are hoisted to node_modules/.pnpm/node_modules\n * even if they are found in the root node_modules\n */\n hoistInjectedDependencies?: boolean;\n\n /**\n * Tells pnpm to automatically install peer dependencies. It is true by default.\n */\n autoInstallPeers?: boolean;\n\n /**\n * Tells the package manager to return the list of dependencies that has to be built.\n * This is used by Ripple CI.\n */\n returnListOfDepsRequiringBuild?: boolean;\n\n dependenciesGraph?: DependenciesGraph;\n\n forcedHarmonyVersion?: string;\n\n /**\n * Defines the minimum number of minutes that must pass after a version is published before pnpm will install it.\n * This applies to all dependencies, including transitive ones.\n */\n minimumReleaseAge?: number;\n\n /**\n * If you set minimumReleaseAge but need certain dependencies to always install the newest version immediately,\n * you can list them under minimumReleaseAgeExclude. The exclusion works by package name or package name pattern\n * and applies to all versions of that package.\n */\n minimumReleaseAgeExclude?: string[];\n};\n\nexport type PackageManagerGetPeerDependencyIssuesOptions = PackageManagerInstallOptions;\n\nexport type ResolvedPackageVersion = {\n packageName: string;\n version: string | null;\n wantedRange?: string;\n isSemver: boolean;\n resolvedVia?: string;\n manifest?: DependencyManifest;\n};\n\nexport type PackageManagerResolveRemoteVersionOptions = {\n rootDir: string;\n cacheRootDir?: string;\n packageManagerConfigRootDir?: string;\n fullMetadata?: boolean;\n // fetchToCache?: boolean;\n // update?: boolean;\n};\n\nexport interface InstallationContext {\n rootDir: string;\n manifests: Record<string, ProjectManifest>;\n componentDirectoryMap: ComponentMap<string>;\n}\n\nexport interface PackageManager {\n /**\n * Name of the package manager\n */\n name: string;\n /**\n * install dependencies\n * @param componentDirectoryMap\n */\n install(\n context: InstallationContext,\n options: PackageManagerInstallOptions\n ): Promise<{ dependenciesChanged: boolean }>;\n\n pruneModules?(rootDir: string): Promise<void>;\n\n resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion>;\n\n getPeerDependencyIssues?(\n rootDir: string,\n manifests: Record<string, ProjectManifest>,\n options: PackageManagerGetPeerDependencyIssuesOptions\n ): Promise<PeerDependencyIssuesByProjects>;\n\n getInjectedDirs?(rootDir: string, componentDir: string, packageName: string): Promise<string[]>;\n\n getRegistries?(): Promise<Registries>;\n\n getProxyConfig?(): Promise<ProxyConfig>;\n\n getNetworkConfig?(): Promise<NetworkConfig>;\n\n /**\n * Specify if the package manager can be run with deduping on existing worksapce (which already contains root dependencies)\n * again, with a different context.\n * If the package manager is not capable of doing so, we want to disable the deduping.\n */\n supportsDedupingOnExistingRoot?: () => boolean;\n\n /**\n * Returns \"dependencies\" entries for \".bit_roots\".\n * These entries tell the package manager from where to the local components should be installed.\n */\n getWorkspaceDepsOfBitRoots(manifests: ProjectManifest[]): Record<string, string>;\n\n findUsages?(depName: string, opts: { lockfileDir: string; depth?: number }): Promise<string>;\n\n calcDependenciesGraph?(options: CalcDepsGraphOptions): Promise<void>;\n}\n\nexport interface CalcDepsGraphForComponentOptions {\n component: Component;\n componentRootDir?: string;\n componentRelativeDir: string;\n pkgName?: string;\n}\n\nexport interface CalcDepsGraphOptions {\n components: CalcDepsGraphForComponentOptions[];\n componentIdByPkgName: ComponentIdByPkgName;\n rootDir: string;\n}\n\nexport type ComponentIdByPkgName = Map<string, ComponentID>;\n"],"mappings":";;;;;;;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_core","data","require"],"sources":["package-manager.ts"],"sourcesContent":["import { PeerDependencyIssuesByProjects } from '@pnpm/core';\nimport type { PeerDependencyRules, ProjectManifest, DependencyManifest } from '@pnpm/types';\nimport type { ComponentID, ComponentMap, Component } from '@teambit/component';\nimport { type DependenciesGraph } from '@teambit/objects';\nimport type { Registries } from '@teambit/pkg.entities.registry';\nimport type { DepsFilterFn } from './manifest';\nimport type { NetworkConfig, ProxyConfig } from './dependency-resolver.main.runtime';\n\nexport { PeerDependencyIssuesByProjects };\n\nexport type PackageImportMethod = 'auto' | 'hardlink' | 'copy' | 'clone';\n\nexport type PackageManagerInstallOptions = {\n cacheRootDir?: string;\n /**\n * decide whether to dedup dependencies.\n */\n dedupe?: boolean;\n\n copyPeerToRuntimeOnRoot?: boolean;\n\n copyPeerToRuntimeOnComponents?: boolean;\n\n excludeLinksFromLockfile?: boolean;\n\n installPeersFromEnvs?: boolean;\n\n resolveEnvPeersFromRoot?: boolean;\n\n dependencyFilterFn?: DepsFilterFn;\n\n overrides?: Record<string, string>;\n\n lockfileOnly?: boolean;\n\n /**\n * When false, the package manager will not write the node_modules directory\n */\n enableModulesDir?: boolean;\n\n nodeLinker?: 'hoisted' | 'isolated';\n\n packageManagerConfigRootDir?: string;\n\n packageImportMethod?: PackageImportMethod;\n\n rootComponents?: boolean;\n\n rootComponentsForCapsules?: boolean;\n\n useNesting?: boolean;\n\n keepExistingModulesDir?: boolean;\n\n sideEffectsCache?: boolean;\n\n engineStrict?: boolean;\n\n nodeVersion?: string;\n\n peerDependencyRules?: PeerDependencyRules;\n\n includeOptionalDeps?: boolean;\n\n updateAll?: boolean;\n\n hidePackageManagerOutput?: boolean;\n\n pruneNodeModules?: boolean;\n\n hasRootComponents?: boolean;\n\n neverBuiltDependencies?: string[];\n\n allowScripts?: Record<string, boolean | 'warn'>;\n\n dangerouslyAllowAllScripts?: boolean;\n\n preferOffline?: boolean;\n\n nmSelfReferences?: boolean;\n\n /**\n * e.g. when running `bit install` through the web or the IDE, not from the CLI.\n */\n optimizeReportForNonTerminal?: boolean;\n\n /**\n * Sets the frequency of updating the progress output in milliseconds.\n * E.g., if this is set to 1000, then the progress will be updated every second.\n */\n throttleProgress?: number;\n\n hideProgressPrefix?: boolean;\n\n hideLifecycleOutput?: boolean;\n\n /**\n * Do installation using lockfile only. Ignore the component manifests.\n */\n ignorePackageManifest?: boolean;\n\n /**\n * When enabled, installation by the package manager will be skipped\n * but all the options will be calculated and the rebuild function will be returned.\n * We use this option for a performance optimization in Ripple CI.\n */\n dryRun?: boolean;\n\n dedupeInjectedDeps?: boolean;\n\n /**\n * When this is set to true, pnpm will hoist workspace packages to node_modules/.pnpm/node_modules.\n * This is something we need in capsules.\n */\n hoistWorkspacePackages?: boolean;\n\n /**\n * Tells pnpm which packages should be hoisted to node_modules/.pnpm/node_modules.\n * By default, all packages are hoisted - however, if you know that only some flawed packages have phantom dependencies,\n * you can use this option to exclusively hoist the phantom dependencies (recommended).\n */\n hoistPatterns?: string[];\n\n /**\n * When true, dependencies from the workspace are hoisted to node_modules/.pnpm/node_modules\n * even if they are found in the root node_modules\n */\n hoistInjectedDependencies?: boolean;\n\n /**\n * Tells pnpm to automatically install peer dependencies. It is true by default.\n */\n autoInstallPeers?: boolean;\n\n /**\n * Tells the package manager to return the list of dependencies that has to be built.\n * This is used by Ripple CI.\n */\n returnListOfDepsRequiringBuild?: boolean;\n\n dependenciesGraph?: DependenciesGraph;\n\n forcedHarmonyVersion?: string;\n\n /**\n * Defines the minimum number of minutes that must pass after a version is published before pnpm will install it.\n * This applies to all dependencies, including transitive ones.\n */\n minimumReleaseAge?: number;\n\n /**\n * If you set minimumReleaseAge but need certain dependencies to always install the newest version immediately,\n * you can list them under minimumReleaseAgeExclude. The exclusion works by package name or package name pattern\n * and applies to all versions of that package.\n */\n minimumReleaseAgeExclude?: string[];\n};\n\nexport type PackageManagerGetPeerDependencyIssuesOptions = PackageManagerInstallOptions;\n\nexport type ResolvedPackageVersion = {\n packageName: string;\n version: string | null;\n wantedRange?: string;\n isSemver: boolean;\n resolvedVia?: string;\n manifest?: DependencyManifest;\n};\n\nexport type PackageManagerResolveRemoteVersionOptions = {\n rootDir: string;\n cacheRootDir?: string;\n packageManagerConfigRootDir?: string;\n fullMetadata?: boolean;\n // fetchToCache?: boolean;\n // update?: boolean;\n};\n\nexport interface InstallationContext {\n rootDir: string;\n manifests: Record<string, ProjectManifest>;\n componentDirectoryMap: ComponentMap<string>;\n}\n\nexport interface PackageManager {\n /**\n * Name of the package manager\n */\n name: string;\n /**\n * install dependencies\n * @param componentDirectoryMap\n */\n install(\n context: InstallationContext,\n options: PackageManagerInstallOptions\n ): Promise<{ dependenciesChanged: boolean }>;\n\n pruneModules?(rootDir: string): Promise<void>;\n\n resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion>;\n\n getPeerDependencyIssues?(\n rootDir: string,\n manifests: Record<string, ProjectManifest>,\n options: PackageManagerGetPeerDependencyIssuesOptions\n ): Promise<PeerDependencyIssuesByProjects>;\n\n getInjectedDirs?(rootDir: string, componentDir: string, packageName: string): Promise<string[]>;\n\n getRegistries?(): Promise<Registries>;\n\n getProxyConfig?(): Promise<ProxyConfig>;\n\n getNetworkConfig?(): Promise<NetworkConfig>;\n\n /**\n * Specify if the package manager can be run with deduping on existing worksapce (which already contains root dependencies)\n * again, with a different context.\n * If the package manager is not capable of doing so, we want to disable the deduping.\n */\n supportsDedupingOnExistingRoot?: () => boolean;\n\n /**\n * Returns \"dependencies\" entries for \".bit_roots\".\n * These entries tell the package manager from where to the local components should be installed.\n */\n getWorkspaceDepsOfBitRoots(manifests: ProjectManifest[]): Record<string, string>;\n\n findUsages?(depName: string, opts: { lockfileDir: string; depth?: number }): Promise<string>;\n\n calcDependenciesGraph?(options: CalcDepsGraphOptions): Promise<void>;\n}\n\nexport interface CalcDepsGraphForComponentOptions {\n component: Component;\n componentRootDir?: string;\n componentRelativeDir: string;\n pkgName?: string;\n}\n\nexport interface CalcDepsGraphOptions {\n components: CalcDepsGraphForComponentOptions[];\n componentIdByPkgName: ComponentIdByPkgName;\n rootDir: string;\n}\n\nexport type ComponentIdByPkgName = Map<string, ComponentID>;\n"],"mappings":";;;;;;;;;;;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA","ignoreList":[]}
|
|
@@ -15,6 +15,19 @@ export type EnvJsoncPolicyEntry = {
|
|
|
15
15
|
};
|
|
16
16
|
export type EnvJsoncPolicyPeerEntry = EnvJsoncPolicyEntry & {
|
|
17
17
|
supportedRange: string;
|
|
18
|
+
/**
|
|
19
|
+
* When true, this peer dependency will be resolved as a single version at the workspace root,
|
|
20
|
+
* even if different envs specify different versions. Useful for @types packages and workspace-level
|
|
21
|
+
* tools (eslint, prettier) that must resolve from the workspace root.
|
|
22
|
+
* When false (default), conflicts are resolved per-component via env roots.
|
|
23
|
+
*/
|
|
24
|
+
workspaceSingleton?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* When true, generates a pnpm override for this peer using its version,
|
|
27
|
+
* forcing all transitive dependencies to use the same version.
|
|
28
|
+
* Useful to prevent old versions from being pulled by published packages.
|
|
29
|
+
*/
|
|
30
|
+
override?: boolean;
|
|
18
31
|
};
|
|
19
32
|
export type VersionKeyName = 'version' | 'supportedRange';
|
|
20
33
|
export type EnvJsoncPolicyConfigKey = 'peers' | 'dev' | 'runtime';
|
|
@@ -30,7 +43,8 @@ export type EnvPolicyLegacyConfigObject = Pick<EnvPolicyEnvJsoncConfigObject, 'p
|
|
|
30
43
|
export type EnvPolicyConfigObject = EnvPolicyEnvJsoncConfigObject | EnvPolicyLegacyConfigObject;
|
|
31
44
|
export declare class EnvPolicy extends VariantPolicy {
|
|
32
45
|
readonly selfPolicy: VariantPolicy;
|
|
33
|
-
|
|
34
|
-
|
|
46
|
+
readonly envId?: string | undefined;
|
|
47
|
+
constructor(_policiesEntries: VariantPolicyEntry[], selfPolicy: VariantPolicy, envId?: string | undefined);
|
|
48
|
+
static fromConfigObject(configObject: EnvPolicyConfigObject, { includeLegacyPeersInSelfPolicy }?: VariantPolicyFromConfigObjectOptions, envId?: string): EnvPolicy;
|
|
35
49
|
static getEmpty(): EnvPolicy;
|
|
36
50
|
}
|
|
@@ -28,13 +28,14 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
28
28
|
*/
|
|
29
29
|
|
|
30
30
|
class EnvPolicy extends _variantPolicy().VariantPolicy {
|
|
31
|
-
constructor(_policiesEntries, selfPolicy) {
|
|
31
|
+
constructor(_policiesEntries, selfPolicy, envId) {
|
|
32
32
|
super(_policiesEntries);
|
|
33
33
|
this.selfPolicy = selfPolicy;
|
|
34
|
+
this.envId = envId;
|
|
34
35
|
}
|
|
35
36
|
static fromConfigObject(configObject, {
|
|
36
37
|
includeLegacyPeersInSelfPolicy
|
|
37
|
-
} = {}) {
|
|
38
|
+
} = {}, envId) {
|
|
38
39
|
(0, _validateEnvPolicy().validateEnvPolicyConfigObject)(configObject);
|
|
39
40
|
|
|
40
41
|
/**
|
|
@@ -79,7 +80,7 @@ class EnvPolicy extends _variantPolicy().VariantPolicy {
|
|
|
79
80
|
}, []);
|
|
80
81
|
const newPolicy = _variantPolicy().VariantPolicy.fromArray(componentPeersEntries.concat(otherEntries));
|
|
81
82
|
const finalComponentPolicy = _variantPolicy().VariantPolicy.mergePolices([legacyPolicy, newPolicy]);
|
|
82
|
-
return new EnvPolicy(finalComponentPolicy.entries, selfPolicy);
|
|
83
|
+
return new EnvPolicy(finalComponentPolicy.entries, selfPolicy, envId);
|
|
83
84
|
}
|
|
84
85
|
static getEmpty() {
|
|
85
86
|
return new EnvPolicy([], _variantPolicy().VariantPolicy.getEmpty());
|
|
@@ -108,7 +109,14 @@ function entriesFromKey(configObject, keyName, versionKey = 'version', lifecycle
|
|
|
108
109
|
if (!entry[versionKey]) {
|
|
109
110
|
throw new Error(`env.jsonc: "policy.${keyName}" entry must be a property with a "${versionKey}" field. got "${entry}"`);
|
|
110
111
|
}
|
|
111
|
-
|
|
112
|
+
const peerEntry = entry;
|
|
113
|
+
const hasPeerProps = 'workspaceSingleton' in entry || 'override' in entry;
|
|
114
|
+
const value = hasPeerProps ? {
|
|
115
|
+
version: entry[versionKey],
|
|
116
|
+
workspaceSingleton: peerEntry.workspaceSingleton,
|
|
117
|
+
override: peerEntry.override
|
|
118
|
+
} : entry[versionKey];
|
|
119
|
+
return (0, _variantPolicy().createVariantPolicyEntry)(entry.name, value, lifecycleType, _objectSpread(_objectSpread({}, options), {}, {
|
|
112
120
|
source: options.source ?? 'env',
|
|
113
121
|
hidden: entry.hidden,
|
|
114
122
|
// allow override the entry's force value (used for the env itself)
|
|
@@ -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","Error","name","optional"],"sources":["env-policy.ts"],"sourcesContent":["import { validateEnvPolicyConfigObject } from './validate-env-policy';\nimport type {\n VariantPolicyEntry,\n VariantPolicyConfigObject,\n VariantPolicyFromConfigObjectOptions,\n} from '../variant-policy';\nimport { createVariantPolicyEntry, VariantPolicy } from '../variant-policy';\nimport type { DependencyLifecycleType } from '../../dependencies';\n\nexport type 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 if (!entry[versionKey]) {\n throw new Error(\n `env.jsonc: \"policy.${keyName}\" entry must be a property with a \"${versionKey}\" field. got \"${entry}\"`\n );\n }\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
|
+
{"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","envId","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","Error","peerEntry","hasPeerProps","workspaceSingleton","override","name","optional"],"sources":["env-policy.ts"],"sourcesContent":["import { validateEnvPolicyConfigObject } from './validate-env-policy';\nimport type {\n VariantPolicyEntry,\n VariantPolicyConfigObject,\n VariantPolicyFromConfigObjectOptions,\n} from '../variant-policy';\nimport { createVariantPolicyEntry, VariantPolicy } from '../variant-policy';\nimport type { DependencyLifecycleType } from '../../dependencies';\n\nexport type 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 * When true, this peer dependency will be resolved as a single version at the workspace root,\n * even if different envs specify different versions. Useful for @types packages and workspace-level\n * tools (eslint, prettier) that must resolve from the workspace root.\n * When false (default), conflicts are resolved per-component via env roots.\n */\n workspaceSingleton?: boolean;\n /**\n * When true, generates a pnpm override for this peer using its version,\n * forcing all transitive dependencies to use the same version.\n * Useful to prevent old versions from being pulled by published packages.\n */\n override?: boolean;\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 readonly envId?: string\n ) {\n super(_policiesEntries);\n }\n\n static fromConfigObject(\n configObject: EnvPolicyConfigObject,\n { includeLegacyPeersInSelfPolicy }: VariantPolicyFromConfigObjectOptions = {},\n envId?: string\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, envId);\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 if (!entry[versionKey]) {\n throw new Error(\n `env.jsonc: \"policy.${keyName}\" entry must be a property with a \"${versionKey}\" field. got \"${entry}\"`\n );\n }\n const peerEntry = entry as EnvJsoncPolicyPeerEntry;\n const hasPeerProps = 'workspaceSingleton' in entry || 'override' in entry;\n const value = hasPeerProps\n ? { version: entry[versionKey], workspaceSingleton: peerEntry.workspaceSingleton, override: peerEntry.override }\n : entry[versionKey];\n return createVariantPolicyEntry(entry.name, value, 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":[]}
|
|
@@ -28,6 +28,8 @@ export type VariantPolicyEntryValue = {
|
|
|
28
28
|
version: VariantPolicyEntryVersion;
|
|
29
29
|
resolveFromEnv?: boolean;
|
|
30
30
|
optional?: boolean;
|
|
31
|
+
workspaceSingleton?: boolean;
|
|
32
|
+
override?: boolean;
|
|
31
33
|
};
|
|
32
34
|
export type DependencySource = 'auto' | 'env' | 'env-own' | 'slots' | 'config';
|
|
33
35
|
export type VariantPolicyEntry = PolicyEntry & {
|
|
@@ -274,9 +274,13 @@ function createVariantPolicyEntry(depId, value, lifecycleType, opts) {
|
|
|
274
274
|
const version = typeof value === 'string' ? value : value.version;
|
|
275
275
|
const resolveFromEnv = typeof value === 'string' ? false : value.resolveFromEnv;
|
|
276
276
|
const optional = typeof value === 'string' ? undefined : value.optional;
|
|
277
|
+
const workspaceSingleton = typeof value === 'string' ? undefined : value.workspaceSingleton;
|
|
278
|
+
const override = typeof value === 'string' ? undefined : value.override;
|
|
277
279
|
const entryValue = {
|
|
278
280
|
version,
|
|
279
|
-
resolveFromEnv
|
|
281
|
+
resolveFromEnv,
|
|
282
|
+
workspaceSingleton,
|
|
283
|
+
override
|
|
280
284
|
};
|
|
281
285
|
const entry = _objectSpread(_objectSpread({}, opts), {}, {
|
|
282
286
|
dependencyId: depId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_toolboxCrypto","data","require","_lodash","_componentPackageVersion","_dependencies","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","VariantPolicy","constructor","_policiesEntries","uniqEntries","entries","names","map","dependencyId","find","depId","lifecycleType","matchedEntry","entry","idEqual","lifecycleEqual","byLifecycleType","filtered","sortByName","sorted","sortBy","hashNameVersion","toHash","version","join","sha1","predicate","hiddenOnly","dep","hidden","getResolvedFromEnv","resolveFromEnv","getDepVersion","undefined","getValidSemverDepVersion","snapToSemver","serialize","toConfigObject","res","dependencies","devDependencies","peerDependencies","reduce","acc","keyName","KEY_NAME_BY_LIFECYCLE_TYPE","toVersionManifest","toNameVersionTuple","toLegacyAutoDetectOverrides","force","toLegacyDepsOverrides","used","includes","fromConfigObject","configObject","options","runtimeEntries","entriesFromKey","devEntries","peerEntries","concat","fromArray","parse","serializedEntries","getEmpty","mergePolices","policies","allEntries","curr","reverse","exports","uniq","uniqWith","entry1","entry2","obj","LIFECYCLE_TYPE_BY_KEY_NAME","Array","isArray","entriesFromArrayKey","entriesFromObjectKey","createVariantPolicyEntry","compact","configEntries","name","source","Boolean","optional","opts","Error","entryValue"],"sources":["variant-policy.ts"],"sourcesContent":["import { sha1 } from '@teambit/toolbox.crypto.sha1';\nimport { compact, sortBy, uniqWith } from 'lodash';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport type { DependenciesOverridesData } from '@teambit/legacy.consumer-config';\nimport type { Policy, PolicyConfigKeys, PolicyConfigKeysNames, PolicyEntry, SemverVersion } from '../policy';\nimport type { DependencyLifecycleType } from '../../dependencies';\nimport { KEY_NAME_BY_LIFECYCLE_TYPE, LIFECYCLE_TYPE_BY_KEY_NAME } from '../../dependencies';\n\nexport type VariantPolicyConfigObject = Partial<Record<keyof PolicyConfigKeys, VariantPolicyLifecycleConfigObject>>;\n\ntype VariantPolicyLifecycleConfigObject = {\n [dependencyId: string]: VariantPolicyConfigEntryValue;\n};\n\ntype VariantPolicyLifecycleConfigEntryObject = {\n name: string;\n version: string;\n /**\n * hide the dependency from the component's package.json / dependencies list\n */\n hidden?: boolean;\n /**\n * force add to component dependencies even if it's not used by the component.\n */\n force?: boolean;\n optional?: boolean;\n};\n\nexport type VariantPolicyConfigArr = Partial<Record<PolicyConfigKeysNames, VariantPolicyLifecycleConfigEntryObject[]>>;\ntype VariantPolicyConfigObj = Partial<Record<PolicyConfigKeysNames, Record<string, VariantPolicyConfigEntryValue>>>;\n\nexport type VariantPolicyConfigEntryValue = VariantPolicyEntryValue | VariantPolicyEntryVersion;\n\n/**\n * Allowed values are valid semver values, git urls, fs path.\n */\nexport type VariantPolicyEntryVersion = SemverVersion;\n\nexport type VariantPolicyEntryValue = {\n version: VariantPolicyEntryVersion;\n resolveFromEnv?: boolean;\n optional?: boolean;\n};\n\nexport type DependencySource = 'auto' | 'env' | 'env-own' | 'slots' | 'config';\n\nexport type VariantPolicyEntry = PolicyEntry & {\n value: VariantPolicyEntryValue;\n source?: DependencySource; // determines where the dependency was resolved from, e.g. from its env, or config\n /**\n * hide the dependency from the component's package.json / dependencies list\n */\n hidden?: boolean;\n /**\n * force add to component dependencies even if it's not used by the component.\n */\n force?: boolean;\n optional?: boolean;\n};\n\nexport type SerializedVariantPolicyEntry = VariantPolicyEntry;\nexport type SerializedVariantPolicy = SerializedVariantPolicyEntry[];\n\nexport interface VariantPolicyFromConfigObjectOptions {\n includeLegacyPeersInSelfPolicy?: boolean;\n source?: DependencySource;\n hidden?: boolean;\n force?: boolean;\n optional?: boolean;\n}\n\nexport class VariantPolicy implements Policy<VariantPolicyConfigObject> {\n constructor(private _policiesEntries: VariantPolicyEntry[]) {\n this._policiesEntries = uniqEntries(_policiesEntries);\n }\n\n get entries(): VariantPolicyEntry[] {\n return this._policiesEntries;\n }\n\n get names(): string[] {\n return this.entries.map((e) => e.dependencyId);\n }\n\n get length(): number {\n return this.entries.length;\n }\n\n find(depId: string, lifecycleType?: DependencyLifecycleType): VariantPolicyEntry | undefined {\n const matchedEntry = this.entries.find((entry) => {\n const idEqual = entry.dependencyId === depId;\n const lifecycleEqual = lifecycleType ? entry.lifecycleType === lifecycleType : true;\n return idEqual && lifecycleEqual;\n });\n return matchedEntry;\n }\n\n byLifecycleType(lifecycleType: DependencyLifecycleType): VariantPolicy {\n const filtered = this._policiesEntries.filter((entry) => entry.lifecycleType === lifecycleType);\n return new VariantPolicy(filtered);\n }\n\n sortByName(): VariantPolicy {\n const sorted = sortBy(this.entries, ['dependencyId']);\n return new VariantPolicy(sorted);\n }\n\n /**\n * Return a hash of all the peers names and their version\n * This useful when you want to compare 2 envs\n */\n hashNameVersion(): string {\n const sorted = this.sortByName();\n const toHash = sorted.entries.map(({ dependencyId, value }) => `${dependencyId}::${value.version}`).join(':::');\n return sha1(toHash);\n }\n\n filter(predicate: (dep: VariantPolicyEntry, index?: number) => boolean): VariantPolicy {\n const filtered = this.entries.filter(predicate);\n return new VariantPolicy(filtered);\n }\n\n hiddenOnly(): VariantPolicy {\n return this.filter((dep) => !!dep.hidden);\n }\n\n /**\n * Filter only deps which should be resolved from the env\n */\n getResolvedFromEnv() {\n return this.filter((dep) => {\n return !!dep.value.resolveFromEnv;\n });\n }\n\n getDepVersion(depId: string, lifecycleType?: DependencyLifecycleType): VariantPolicyEntryVersion | undefined {\n const entry = this.find(depId, lifecycleType);\n if (!entry) {\n return undefined;\n }\n return entry.value.version;\n }\n\n getValidSemverDepVersion(\n depId: string,\n lifecycleType?: DependencyLifecycleType\n ): VariantPolicyEntryVersion | undefined {\n const version = this.getDepVersion(depId, lifecycleType);\n if (!version) return undefined;\n return snapToSemver(version);\n }\n\n serialize(): SerializedVariantPolicy {\n return this.entries;\n }\n\n toConfigObject(): VariantPolicyConfigObject {\n const res: VariantPolicyConfigObject = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n this._policiesEntries.reduce((acc, entry) => {\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType];\n const value = entry.value.resolveFromEnv ? entry.value : entry.value.version;\n acc[keyName][entry.dependencyId] = value;\n return acc;\n }, res);\n return res;\n }\n\n /**\n * Create a manifest object in the form of a package.json entries\n * a.k.a { [depId]: version }\n * @returns\n */\n toVersionManifest(): { [name: string]: string } {\n return this.entries.reduce((acc, entry) => {\n acc[entry.dependencyId] = entry.value.version;\n return acc;\n }, {});\n }\n\n toNameVersionTuple(): [string, string][] {\n return this.entries.map((entry) => {\n return [entry.dependencyId, entry.value.version];\n });\n }\n\n /**\n * This used in in the legacy to apply env component policy on stuff that were auto detected\n * it will take used only entries (which means entries that component are really uses)\n * and in case of hidden deps it will mark them as removed using the \"-\" value to remove them from the component\n * @returns\n */\n toLegacyAutoDetectOverrides(): DependenciesOverridesData {\n const res: DependenciesOverridesData = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n this._policiesEntries.reduce((acc, entry) => {\n if (entry.force) return acc;\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType];\n acc[keyName][entry.dependencyId] = entry.value.version;\n return acc;\n }, res);\n return res;\n }\n\n toLegacyDepsOverrides(): DependenciesOverridesData {\n const res: DependenciesOverridesData = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n const used: string[] = [];\n this._policiesEntries.reduce((acc, entry) => {\n // entries that not marked with force, will be handled by the legacy deps resolver and will not be added to the overrides\n if (!entry.force) return acc;\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType];\n // We don't want the same entry to appear many times in different lifecycle types\n // this is important for example when a peer is configured by an env (on itself) which will make it a runtime dep of the env\n // but the env of the env is configure the same dep as peer in general (like with react)\n if (!used.includes(entry.dependencyId) || entry.value.version === '-') {\n acc[keyName][entry.dependencyId] = entry.value.version;\n if (entry.value.version !== '-') {\n used.push(entry.dependencyId);\n }\n }\n return acc;\n }, res);\n return res;\n }\n\n static fromConfigObject(\n configObject: any, // VariantPolicyConfigArr | VariantPolicyConfigObj,\n options: VariantPolicyFromConfigObjectOptions = {}\n ): VariantPolicy {\n const runtimeEntries = entriesFromKey(configObject, 'dependencies', options);\n const devEntries = entriesFromKey(configObject, 'devDependencies', options);\n const peerEntries = entriesFromKey(configObject, 'peerDependencies', options);\n const entries = runtimeEntries.concat(devEntries).concat(peerEntries);\n return new VariantPolicy(entries);\n }\n\n static fromArray(entries: VariantPolicyEntry[]): VariantPolicy {\n return new VariantPolicy(entries);\n }\n\n static parse(serializedEntries: SerializedVariantPolicy): VariantPolicy {\n return new VariantPolicy(serializedEntries);\n }\n\n static getEmpty(): VariantPolicy {\n return new VariantPolicy([]);\n }\n\n static mergePolices(policies: VariantPolicy[]): VariantPolicy {\n let allEntries: VariantPolicyEntry[] = [];\n allEntries = policies.reduce((acc, curr) => {\n return acc.concat(curr.entries);\n }, allEntries);\n // We reverse it to make sure the latest policy will be stronger in case of conflict\n allEntries = allEntries.reverse();\n return new VariantPolicy(allEntries);\n }\n}\n\nfunction uniqEntries(entries: Array<VariantPolicyEntry>): Array<VariantPolicyEntry> {\n const uniq = uniqWith(entries, (entry1: VariantPolicyEntry, entry2: VariantPolicyEntry) => {\n return entry1.dependencyId === entry2.dependencyId && entry1.lifecycleType === entry2.lifecycleType;\n });\n return uniq;\n}\n\nfunction entriesFromKey(\n configObject: VariantPolicyConfigArr | VariantPolicyConfigObj,\n keyName: PolicyConfigKeysNames,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n const obj = configObject[keyName];\n if (!obj) {\n return [];\n }\n const lifecycleType = LIFECYCLE_TYPE_BY_KEY_NAME[keyName];\n if (Array.isArray(obj)) {\n return entriesFromArrayKey(obj, lifecycleType, options);\n }\n return entriesFromObjectKey(obj, lifecycleType, options);\n}\n\nfunction entriesFromObjectKey(\n obj: Record<string, VariantPolicyConfigEntryValue> | undefined,\n lifecycleType: DependencyLifecycleType,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n if (!obj) {\n return [];\n }\n const entries = Object.entries(obj).map(([depId, value]: [string, VariantPolicyConfigEntryValue]) => {\n if (value) {\n return createVariantPolicyEntry(depId, value, lifecycleType, {\n ...options,\n force: options.force ?? true,\n });\n }\n return undefined;\n });\n return compact(entries);\n}\n\nfunction entriesFromArrayKey(\n configEntries: Array<VariantPolicyLifecycleConfigEntryObject> | undefined,\n lifecycleType: DependencyLifecycleType,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n if (!configEntries) {\n return [];\n }\n const entries = configEntries.map((entry) => {\n return createVariantPolicyEntry(entry.name, entry.version, lifecycleType, {\n ...options,\n source: options.source ?? 'config',\n hidden: Boolean(options.hidden ?? entry.hidden),\n // allow override the entry's force value (used for the env itself)\n force: Boolean(options.force ?? entry.force),\n optional: Boolean(options.optional ?? entry.optional),\n });\n });\n return entries;\n}\n\nexport function createVariantPolicyEntry(\n depId: string,\n value: VariantPolicyConfigEntryValue,\n lifecycleType: DependencyLifecycleType,\n opts: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry {\n if (!value) {\n throw new Error(`createVariantPolicyEntry, value is missing for ${depId}`);\n }\n const version = typeof value === 'string' ? value : value.version;\n const resolveFromEnv = typeof value === 'string' ? false : value.resolveFromEnv;\n const optional = typeof value === 'string' ? undefined : value.optional;\n\n const entryValue: VariantPolicyEntryValue = {\n version,\n resolveFromEnv,\n };\n const entry: VariantPolicyEntry = {\n ...opts,\n dependencyId: depId,\n value: entryValue,\n lifecycleType,\n optional: optional ?? opts.optional,\n };\n return entry;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_toolboxCrypto","data","require","_lodash","_componentPackageVersion","_dependencies","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","VariantPolicy","constructor","_policiesEntries","uniqEntries","entries","names","map","dependencyId","find","depId","lifecycleType","matchedEntry","entry","idEqual","lifecycleEqual","byLifecycleType","filtered","sortByName","sorted","sortBy","hashNameVersion","toHash","version","join","sha1","predicate","hiddenOnly","dep","hidden","getResolvedFromEnv","resolveFromEnv","getDepVersion","undefined","getValidSemverDepVersion","snapToSemver","serialize","toConfigObject","res","dependencies","devDependencies","peerDependencies","reduce","acc","keyName","KEY_NAME_BY_LIFECYCLE_TYPE","toVersionManifest","toNameVersionTuple","toLegacyAutoDetectOverrides","force","toLegacyDepsOverrides","used","includes","fromConfigObject","configObject","options","runtimeEntries","entriesFromKey","devEntries","peerEntries","concat","fromArray","parse","serializedEntries","getEmpty","mergePolices","policies","allEntries","curr","reverse","exports","uniq","uniqWith","entry1","entry2","obj","LIFECYCLE_TYPE_BY_KEY_NAME","Array","isArray","entriesFromArrayKey","entriesFromObjectKey","createVariantPolicyEntry","compact","configEntries","name","source","Boolean","optional","opts","Error","workspaceSingleton","override","entryValue"],"sources":["variant-policy.ts"],"sourcesContent":["import { sha1 } from '@teambit/toolbox.crypto.sha1';\nimport { compact, sortBy, uniqWith } from 'lodash';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport type { DependenciesOverridesData } from '@teambit/legacy.consumer-config';\nimport type { Policy, PolicyConfigKeys, PolicyConfigKeysNames, PolicyEntry, SemverVersion } from '../policy';\nimport type { DependencyLifecycleType } from '../../dependencies';\nimport { KEY_NAME_BY_LIFECYCLE_TYPE, LIFECYCLE_TYPE_BY_KEY_NAME } from '../../dependencies';\n\nexport type VariantPolicyConfigObject = Partial<Record<keyof PolicyConfigKeys, VariantPolicyLifecycleConfigObject>>;\n\ntype VariantPolicyLifecycleConfigObject = {\n [dependencyId: string]: VariantPolicyConfigEntryValue;\n};\n\ntype VariantPolicyLifecycleConfigEntryObject = {\n name: string;\n version: string;\n /**\n * hide the dependency from the component's package.json / dependencies list\n */\n hidden?: boolean;\n /**\n * force add to component dependencies even if it's not used by the component.\n */\n force?: boolean;\n optional?: boolean;\n};\n\nexport type VariantPolicyConfigArr = Partial<Record<PolicyConfigKeysNames, VariantPolicyLifecycleConfigEntryObject[]>>;\ntype VariantPolicyConfigObj = Partial<Record<PolicyConfigKeysNames, Record<string, VariantPolicyConfigEntryValue>>>;\n\nexport type VariantPolicyConfigEntryValue = VariantPolicyEntryValue | VariantPolicyEntryVersion;\n\n/**\n * Allowed values are valid semver values, git urls, fs path.\n */\nexport type VariantPolicyEntryVersion = SemverVersion;\n\nexport type VariantPolicyEntryValue = {\n version: VariantPolicyEntryVersion;\n resolveFromEnv?: boolean;\n optional?: boolean;\n workspaceSingleton?: boolean;\n override?: boolean;\n};\n\nexport type DependencySource = 'auto' | 'env' | 'env-own' | 'slots' | 'config';\n\nexport type VariantPolicyEntry = PolicyEntry & {\n value: VariantPolicyEntryValue;\n source?: DependencySource; // determines where the dependency was resolved from, e.g. from its env, or config\n /**\n * hide the dependency from the component's package.json / dependencies list\n */\n hidden?: boolean;\n /**\n * force add to component dependencies even if it's not used by the component.\n */\n force?: boolean;\n optional?: boolean;\n};\n\nexport type SerializedVariantPolicyEntry = VariantPolicyEntry;\nexport type SerializedVariantPolicy = SerializedVariantPolicyEntry[];\n\nexport interface VariantPolicyFromConfigObjectOptions {\n includeLegacyPeersInSelfPolicy?: boolean;\n source?: DependencySource;\n hidden?: boolean;\n force?: boolean;\n optional?: boolean;\n}\n\nexport class VariantPolicy implements Policy<VariantPolicyConfigObject> {\n constructor(private _policiesEntries: VariantPolicyEntry[]) {\n this._policiesEntries = uniqEntries(_policiesEntries);\n }\n\n get entries(): VariantPolicyEntry[] {\n return this._policiesEntries;\n }\n\n get names(): string[] {\n return this.entries.map((e) => e.dependencyId);\n }\n\n get length(): number {\n return this.entries.length;\n }\n\n find(depId: string, lifecycleType?: DependencyLifecycleType): VariantPolicyEntry | undefined {\n const matchedEntry = this.entries.find((entry) => {\n const idEqual = entry.dependencyId === depId;\n const lifecycleEqual = lifecycleType ? entry.lifecycleType === lifecycleType : true;\n return idEqual && lifecycleEqual;\n });\n return matchedEntry;\n }\n\n byLifecycleType(lifecycleType: DependencyLifecycleType): VariantPolicy {\n const filtered = this._policiesEntries.filter((entry) => entry.lifecycleType === lifecycleType);\n return new VariantPolicy(filtered);\n }\n\n sortByName(): VariantPolicy {\n const sorted = sortBy(this.entries, ['dependencyId']);\n return new VariantPolicy(sorted);\n }\n\n /**\n * Return a hash of all the peers names and their version\n * This useful when you want to compare 2 envs\n */\n hashNameVersion(): string {\n const sorted = this.sortByName();\n const toHash = sorted.entries.map(({ dependencyId, value }) => `${dependencyId}::${value.version}`).join(':::');\n return sha1(toHash);\n }\n\n filter(predicate: (dep: VariantPolicyEntry, index?: number) => boolean): VariantPolicy {\n const filtered = this.entries.filter(predicate);\n return new VariantPolicy(filtered);\n }\n\n hiddenOnly(): VariantPolicy {\n return this.filter((dep) => !!dep.hidden);\n }\n\n /**\n * Filter only deps which should be resolved from the env\n */\n getResolvedFromEnv() {\n return this.filter((dep) => {\n return !!dep.value.resolveFromEnv;\n });\n }\n\n getDepVersion(depId: string, lifecycleType?: DependencyLifecycleType): VariantPolicyEntryVersion | undefined {\n const entry = this.find(depId, lifecycleType);\n if (!entry) {\n return undefined;\n }\n return entry.value.version;\n }\n\n getValidSemverDepVersion(\n depId: string,\n lifecycleType?: DependencyLifecycleType\n ): VariantPolicyEntryVersion | undefined {\n const version = this.getDepVersion(depId, lifecycleType);\n if (!version) return undefined;\n return snapToSemver(version);\n }\n\n serialize(): SerializedVariantPolicy {\n return this.entries;\n }\n\n toConfigObject(): VariantPolicyConfigObject {\n const res: VariantPolicyConfigObject = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n this._policiesEntries.reduce((acc, entry) => {\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType];\n const value = entry.value.resolveFromEnv ? entry.value : entry.value.version;\n acc[keyName][entry.dependencyId] = value;\n return acc;\n }, res);\n return res;\n }\n\n /**\n * Create a manifest object in the form of a package.json entries\n * a.k.a { [depId]: version }\n * @returns\n */\n toVersionManifest(): { [name: string]: string } {\n return this.entries.reduce((acc, entry) => {\n acc[entry.dependencyId] = entry.value.version;\n return acc;\n }, {});\n }\n\n toNameVersionTuple(): [string, string][] {\n return this.entries.map((entry) => {\n return [entry.dependencyId, entry.value.version];\n });\n }\n\n /**\n * This used in in the legacy to apply env component policy on stuff that were auto detected\n * it will take used only entries (which means entries that component are really uses)\n * and in case of hidden deps it will mark them as removed using the \"-\" value to remove them from the component\n * @returns\n */\n toLegacyAutoDetectOverrides(): DependenciesOverridesData {\n const res: DependenciesOverridesData = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n this._policiesEntries.reduce((acc, entry) => {\n if (entry.force) return acc;\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType];\n acc[keyName][entry.dependencyId] = entry.value.version;\n return acc;\n }, res);\n return res;\n }\n\n toLegacyDepsOverrides(): DependenciesOverridesData {\n const res: DependenciesOverridesData = {\n dependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n const used: string[] = [];\n this._policiesEntries.reduce((acc, entry) => {\n // entries that not marked with force, will be handled by the legacy deps resolver and will not be added to the overrides\n if (!entry.force) return acc;\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType];\n // We don't want the same entry to appear many times in different lifecycle types\n // this is important for example when a peer is configured by an env (on itself) which will make it a runtime dep of the env\n // but the env of the env is configure the same dep as peer in general (like with react)\n if (!used.includes(entry.dependencyId) || entry.value.version === '-') {\n acc[keyName][entry.dependencyId] = entry.value.version;\n if (entry.value.version !== '-') {\n used.push(entry.dependencyId);\n }\n }\n return acc;\n }, res);\n return res;\n }\n\n static fromConfigObject(\n configObject: any, // VariantPolicyConfigArr | VariantPolicyConfigObj,\n options: VariantPolicyFromConfigObjectOptions = {}\n ): VariantPolicy {\n const runtimeEntries = entriesFromKey(configObject, 'dependencies', options);\n const devEntries = entriesFromKey(configObject, 'devDependencies', options);\n const peerEntries = entriesFromKey(configObject, 'peerDependencies', options);\n const entries = runtimeEntries.concat(devEntries).concat(peerEntries);\n return new VariantPolicy(entries);\n }\n\n static fromArray(entries: VariantPolicyEntry[]): VariantPolicy {\n return new VariantPolicy(entries);\n }\n\n static parse(serializedEntries: SerializedVariantPolicy): VariantPolicy {\n return new VariantPolicy(serializedEntries);\n }\n\n static getEmpty(): VariantPolicy {\n return new VariantPolicy([]);\n }\n\n static mergePolices(policies: VariantPolicy[]): VariantPolicy {\n let allEntries: VariantPolicyEntry[] = [];\n allEntries = policies.reduce((acc, curr) => {\n return acc.concat(curr.entries);\n }, allEntries);\n // We reverse it to make sure the latest policy will be stronger in case of conflict\n allEntries = allEntries.reverse();\n return new VariantPolicy(allEntries);\n }\n}\n\nfunction uniqEntries(entries: Array<VariantPolicyEntry>): Array<VariantPolicyEntry> {\n const uniq = uniqWith(entries, (entry1: VariantPolicyEntry, entry2: VariantPolicyEntry) => {\n return entry1.dependencyId === entry2.dependencyId && entry1.lifecycleType === entry2.lifecycleType;\n });\n return uniq;\n}\n\nfunction entriesFromKey(\n configObject: VariantPolicyConfigArr | VariantPolicyConfigObj,\n keyName: PolicyConfigKeysNames,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n const obj = configObject[keyName];\n if (!obj) {\n return [];\n }\n const lifecycleType = LIFECYCLE_TYPE_BY_KEY_NAME[keyName];\n if (Array.isArray(obj)) {\n return entriesFromArrayKey(obj, lifecycleType, options);\n }\n return entriesFromObjectKey(obj, lifecycleType, options);\n}\n\nfunction entriesFromObjectKey(\n obj: Record<string, VariantPolicyConfigEntryValue> | undefined,\n lifecycleType: DependencyLifecycleType,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n if (!obj) {\n return [];\n }\n const entries = Object.entries(obj).map(([depId, value]: [string, VariantPolicyConfigEntryValue]) => {\n if (value) {\n return createVariantPolicyEntry(depId, value, lifecycleType, {\n ...options,\n force: options.force ?? true,\n });\n }\n return undefined;\n });\n return compact(entries);\n}\n\nfunction entriesFromArrayKey(\n configEntries: Array<VariantPolicyLifecycleConfigEntryObject> | undefined,\n lifecycleType: DependencyLifecycleType,\n options: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry[] {\n if (!configEntries) {\n return [];\n }\n const entries = configEntries.map((entry) => {\n return createVariantPolicyEntry(entry.name, entry.version, lifecycleType, {\n ...options,\n source: options.source ?? 'config',\n hidden: Boolean(options.hidden ?? entry.hidden),\n // allow override the entry's force value (used for the env itself)\n force: Boolean(options.force ?? entry.force),\n optional: Boolean(options.optional ?? entry.optional),\n });\n });\n return entries;\n}\n\nexport function createVariantPolicyEntry(\n depId: string,\n value: VariantPolicyConfigEntryValue,\n lifecycleType: DependencyLifecycleType,\n opts: VariantPolicyFromConfigObjectOptions\n): VariantPolicyEntry {\n if (!value) {\n throw new Error(`createVariantPolicyEntry, value is missing for ${depId}`);\n }\n const version = typeof value === 'string' ? value : value.version;\n const resolveFromEnv = typeof value === 'string' ? false : value.resolveFromEnv;\n const optional = typeof value === 'string' ? undefined : value.optional;\n const workspaceSingleton = typeof value === 'string' ? undefined : value.workspaceSingleton;\n const override = typeof value === 'string' ? undefined : value.override;\n\n const entryValue: VariantPolicyEntryValue = {\n version,\n resolveFromEnv,\n workspaceSingleton,\n override,\n };\n const entry: VariantPolicyEntry = {\n ...opts,\n dependencyId: depId,\n value: entryValue,\n lifecycleType,\n optional: optional ?? opts.optional,\n };\n return entry;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.
|
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.
|
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.913/dist/dependency-resolver.composition.js';
|
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.913/dist/dependency-resolver.docs.mdx';
|
|
3
3
|
|
|
4
4
|
export const compositions = [compositions_0];
|
|
5
5
|
export const overview = [overview_0];
|