@teambit/config-merger 0.0.773 → 0.0.776
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.
|
@@ -411,7 +411,7 @@ see the conflicts below and edit your workspace.jsonc as you see fit.`;
|
|
|
411
411
|
const potentialRangeChar = depInWsVer[0];
|
|
412
412
|
const newRange = potentialRangeChar + depInCompVer;
|
|
413
413
|
if (newRange === depInWsVer) {
|
|
414
|
-
addNotUpdateToLogs(`the
|
|
414
|
+
addNotUpdateToLogs(`the workspace range ${depInWsVer} already matches ${depInCompVer} from the component`);
|
|
415
415
|
return;
|
|
416
416
|
}
|
|
417
417
|
if (!_semver().default.validRange(newRange)) {
|
|
@@ -445,7 +445,7 @@ see the conflicts below and edit your workspace.jsonc as you see fit.`;
|
|
|
445
445
|
addToConflict();
|
|
446
446
|
return;
|
|
447
447
|
}
|
|
448
|
-
addNotUpdateToLogs(`the version
|
|
448
|
+
addNotUpdateToLogs(`the workspace version ${depInWsVer} is greater than ${depInCompVer} from the component`);
|
|
449
449
|
return;
|
|
450
450
|
}
|
|
451
451
|
|
|
@@ -455,18 +455,18 @@ see the conflicts below and edit your workspace.jsonc as you see fit.`;
|
|
|
455
455
|
addToUpdate();
|
|
456
456
|
return;
|
|
457
457
|
}
|
|
458
|
-
addNotUpdateToLogs(`the range
|
|
458
|
+
addNotUpdateToLogs(`the workspace range ${depInWsVer} is greater than ${depInCompVer} from the component`);
|
|
459
459
|
return;
|
|
460
460
|
}
|
|
461
461
|
if (isDepInCompVersion && isDepInWsRange) {
|
|
462
462
|
const wsMinVer = _semver().default.minVersion(depInWsVer);
|
|
463
463
|
if (!wsMinVer) {
|
|
464
464
|
this.logger.warn(`unable to calculate the min version of ${depInWsVer}`);
|
|
465
|
-
addNotUpdateToLogs(`unable to calculate the min version of ${depInWsVer} from
|
|
465
|
+
addNotUpdateToLogs(`unable to calculate the min version of ${depInWsVer} from the workspace`);
|
|
466
466
|
return;
|
|
467
467
|
}
|
|
468
468
|
if (_semver().default.gt(wsMinVer, depInCompVer)) {
|
|
469
|
-
addNotUpdateToLogs(`the min version
|
|
469
|
+
addNotUpdateToLogs(`the workspace range ${depInWsVer} (min version ${wsMinVer}) is greater than ${depInCompVer} from the component`);
|
|
470
470
|
return;
|
|
471
471
|
}
|
|
472
472
|
if (_semver().default.satisfies(depInCompVer, depInWsVer)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_semver","data","_interopRequireDefault","require","_lodash","_dependencyResolver","_componentPackageVersion","_tempy","_fsExtra","_cli","_workspace","_logger","_legacy","_bitError","_config","_componentModules","_pkgModules","_configMergeResult","_configMerger","_aggregatedDeps","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","WS_DEPS_FIELDS","ConfigMergerMain","constructor","workspace","logger","config","depsResolver","generateConfigMergeConflictFileForAll","allConfigMerge","configMergeFile","getConflictMergeFile","forEach","configMerge","conflict","generateMergeConflictFile","addConflict","compIdStr","hasConflict","write","writeWorkspaceJsoncWithConflictsGracefully","workspaceDepsConflicts","writeWorkspaceJsoncWithConflicts","undefined","err","error","errTitle","message","conflictsStr","map","depField","name","version","currentVal","otherVal","parseVersionLineWithConflict","flat","join","BitError","wsConfig","workspaceConfig","Error","wsJsoncPath","path","wsJsoncOriginalContent","fs","readFile","wsJsoncContent","originalDep","includes","replace","baseFilePath","tempy","otherFilePath","mergeFilesParams","filePath","currentFile","label","baseFile","otherFile","mergeResult","mergeFiles","conflictFile","debug","backupConfigFile","writeFile","updateWorkspaceJsoncWithDepsIfNeeded","allResults","c","getDepsResolverResult","nonConflictDeps","AggregatedDeps","mergedConfig","mergedConfigPolicy","policy","DEPENDENCIES_FIELDS","pkg","push","conflictDeps","mergedConfigConflict","notConflictedPackages","depsNames","conflictedPackages","length","depResolver","extensions","findCoreExtension","DependencyResolverAspect","id","workspaceDepsUnchanged","workspaceJsonUpdates","pkgName","currentVer","hasSameVersions","reportMultipleVersions","newVer","getFirstVersion","compIds","getCompIdsBy","workspaceJsonConflicts","dependencies","peerDependencies","conflictPackagesToRemoveFromConfigMerge","conflictRaw","split","otherValValid","snapToSemver","currentVerInWsJson","semver","satisfies","force","isEmpty","result","filter","dep","keys","reasonForChange","workspaceDepsUpdates","updateDepsInWorkspaceConfig","components","mergeStrategy","workspacePolicy","getWorkspacePolicyFromConfig","workspacePolicyObj","entries","reduce","acc","current","dependencyId","componentDepsWithMultipleVer","component","deps","getDependenciesFromLegacyComponent","source","depId","getPackageName","compToLog","info","componentDeps","logs","depInCompVer","depInWsVer","isDepInCompVersion","Boolean","valid","isDepInCompRange","validRange","addNotUpdateToLogs","reason","isDepInWsVersion","isDepInWsRange","lifeCycle","find","d","lifecycleType","addToUpdate","addRangeFrom","potentialRangeChar","newRange","warnMsg","warn","addToConflict","gt","isRange1GreaterThanRange2Naively","wsMinVer","minVersion","compMinVer","JSON","stringify","updateWsConfigWithGivenChanges","workspaceConfigConflictWriteError","wsPolicy","getLifeCycle","newWorkspacePolicyEntries","addToRootPolicy","updateExisting","persistConfig","provider","loggerMain","createLogger","ConfigMergerAspect","exports","WorkspaceAspect","ConfigAspect","LoggerAspect","MainRuntime","addRuntime","_default"],"sources":["config-merger.main.runtime.ts"],"sourcesContent":["import semver from 'semver';\nimport { isEmpty } from 'lodash';\nimport type { DependencyResolverMain, WorkspacePolicy, WorkspacePolicyEntry } from '@teambit/dependency-resolver';\nimport { DependencyResolverAspect } from '@teambit/dependency-resolver';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport tempy from 'tempy';\nimport fs from 'fs-extra';\nimport { MainRuntime } from '@teambit/cli';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { ConsumerComponent } from '@teambit/legacy.consumer-component';\nimport { DEPENDENCIES_FIELDS } from '@teambit/legacy.constants';\nimport { BitError } from '@teambit/bit-error';\nimport type { ConfigMain } from '@teambit/config';\nimport { ConfigAspect } from '@teambit/config';\nimport { mergeFiles } from '@teambit/component.modules.merge-helper';\nimport { isRange1GreaterThanRange2Naively } from '@teambit/pkg.modules.semver-helper';\nimport type { ConfigMergeResult } from './config-merge-result';\nimport { parseVersionLineWithConflict } from './config-merge-result';\nimport { ConfigMergerAspect } from './config-merger.aspect';\nimport { AggregatedDeps } from './aggregated-deps';\nimport type {\n MergeFileParams,\n MergeStrategy,\n WorkspaceConfigUpdateResult,\n WorkspaceDepsConflicts,\n WorkspaceDepsUnchanged,\n WorkspaceDepsUpdates,\n} from '@teambit/component.modules.merge-helper';\n\nexport type PkgEntry = { name: string; version: string; force: boolean };\n\nconst WS_DEPS_FIELDS = ['dependencies', 'peerDependencies'];\n\nexport class ConfigMergerMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private config: ConfigMain,\n private depsResolver: DependencyResolverMain\n ) {}\n\n async generateConfigMergeConflictFileForAll(allConfigMerge: ConfigMergeResult[]) {\n const configMergeFile = this.workspace.getConflictMergeFile();\n allConfigMerge.forEach((configMerge) => {\n const conflict = configMerge.generateMergeConflictFile();\n if (!conflict) return;\n configMergeFile.addConflict(configMerge.compIdStr, conflict);\n });\n if (configMergeFile.hasConflict()) {\n await configMergeFile.write();\n }\n }\n\n async writeWorkspaceJsoncWithConflictsGracefully(\n workspaceDepsConflicts: WorkspaceDepsConflicts\n ): Promise<Error | undefined> {\n try {\n await this.writeWorkspaceJsoncWithConflicts(workspaceDepsConflicts);\n return undefined;\n } catch (err: any) {\n this.logger.error(`unable to write workspace.jsonc with conflicts`, err);\n const errTitle = `unable to write workspace.jsonc with conflicts, due to an error: \"${err.message}\".\nsee the conflicts below and edit your workspace.jsonc as you see fit.`;\n const conflictsStr = WS_DEPS_FIELDS.map((depField) => {\n if (!workspaceDepsConflicts[depField]) return [];\n return workspaceDepsConflicts[depField].map(({ name, version }) => {\n const { currentVal, otherVal } = parseVersionLineWithConflict(version);\n return `(${depField}) ${name}: ours: ${currentVal}, theirs: ${otherVal}`;\n });\n })\n .flat()\n .join('\\n');\n return new BitError(`${errTitle}\\n${conflictsStr}`);\n }\n }\n\n private async writeWorkspaceJsoncWithConflicts(workspaceDepsConflicts: WorkspaceDepsConflicts) {\n const wsConfig = this.config.workspaceConfig;\n if (!wsConfig) throw new Error(`unable to get workspace config`);\n const wsJsoncPath = wsConfig.path;\n const wsJsoncOriginalContent = await fs.readFile(wsJsoncPath, 'utf8');\n let wsJsoncContent = wsJsoncOriginalContent;\n WS_DEPS_FIELDS.forEach((depField) => {\n if (!workspaceDepsConflicts[depField]) return;\n workspaceDepsConflicts[depField].forEach(({ name, version }) => {\n const { currentVal, otherVal } = parseVersionLineWithConflict(version);\n // e.g. \"@ci/8oypmb6p-remote.bar.foo\": \"^0.0.3\"\n const originalDep = `\"${name}\": \"${currentVal}\"`;\n if (!wsJsoncContent.includes(originalDep)) {\n throw new Error(`unable to find the dependency ${originalDep} in the workspace.jsonc`);\n }\n wsJsoncContent = wsJsoncContent.replace(originalDep, `\"${name}\": \"${otherVal}\"`);\n });\n });\n\n const baseFilePath = await tempy.write('');\n const otherFilePath = await tempy.write(wsJsoncContent);\n const mergeFilesParams: MergeFileParams = {\n filePath: wsJsoncPath,\n currentFile: {\n label: 'ours',\n path: wsJsoncPath,\n },\n baseFile: {\n path: baseFilePath,\n },\n otherFile: {\n label: 'theirs',\n path: otherFilePath,\n },\n };\n const mergeResult = await mergeFiles(mergeFilesParams);\n const conflictFile = mergeResult.conflict;\n if (!conflictFile) {\n this.logger.debug(`original content:\\n${wsJsoncOriginalContent}`);\n this.logger.debug(`new content:\\n${wsJsoncContent}`);\n throw new Error('unable to generate conflict from the workspace.jsonc file. see debug.log for the file content');\n }\n await wsConfig.backupConfigFile('before writing conflicts');\n this.logger.debug('writing workspace.jsonc with conflicts');\n await fs.writeFile(wsJsoncPath, conflictFile);\n }\n\n async updateWorkspaceJsoncWithDepsIfNeeded(allConfigMerge: ConfigMergeResult[]): Promise<{\n workspaceDepsUpdates?: WorkspaceDepsUpdates;\n workspaceDepsConflicts?: WorkspaceDepsConflicts;\n workspaceDepsUnchanged?: WorkspaceDepsUnchanged;\n }> {\n const allResults = allConfigMerge.map((c) => c.getDepsResolverResult());\n\n // aggregate all dependencies that can be updated (not conflicting)\n const nonConflictDeps = new AggregatedDeps();\n allConfigMerge.forEach((configMerge) => {\n const mergedConfig = configMerge.getDepsResolverResult()?.mergedConfig;\n if (!mergedConfig || mergedConfig === '-') return;\n const mergedConfigPolicy = mergedConfig.policy || {};\n DEPENDENCIES_FIELDS.forEach((depField) => {\n mergedConfigPolicy[depField]?.forEach((pkg: PkgEntry) => nonConflictDeps.push(pkg, configMerge.compIdStr));\n });\n });\n\n // aggregate all dependencies that have conflicts\n const conflictDeps = new AggregatedDeps();\n allConfigMerge.forEach((configMerge) => {\n const mergedConfigConflict = configMerge.getDepsResolverResult()?.conflict;\n if (!mergedConfigConflict) return;\n DEPENDENCIES_FIELDS.forEach((depField) => {\n mergedConfigConflict[depField]?.forEach((pkg: PkgEntry) => conflictDeps.push(pkg, configMerge.compIdStr));\n });\n });\n\n // uncomment to get the aggregated deps of both the conflicted and non-conflicted\n // console.log('nonConflictDeps', nonConflictDeps.toString(), 'conflictDeps', conflictDeps.toString());\n\n const notConflictedPackages = nonConflictDeps.depsNames;\n const conflictedPackages = conflictDeps.depsNames;\n if (!notConflictedPackages.length && !conflictedPackages.length) return {};\n\n const workspaceConfig = this.config.workspaceConfig;\n if (!workspaceConfig) throw new Error(`updateWorkspaceJsoncWithDepsIfNeeded unable to get workspace config`);\n const depResolver = workspaceConfig.extensions.findCoreExtension(DependencyResolverAspect.id);\n const policy = depResolver?.config.policy;\n if (!policy) {\n return {};\n }\n\n const workspaceDepsUnchanged: { [pkgName: string]: string } = {};\n\n // calculate the workspace.json updates\n const workspaceJsonUpdates: WorkspaceDepsUpdates = {};\n notConflictedPackages.forEach((pkgName) => {\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (!policy[depField]?.[pkgName]) return; // doesn't exists in the workspace.json\n const currentVer = policy[depField][pkgName];\n if (!nonConflictDeps.hasSameVersions(pkgName)) {\n // we only want the deps that the other lane has them in the workspace.json and that all comps use the same dep.\n workspaceDepsUnchanged[pkgName] = nonConflictDeps.reportMultipleVersions(pkgName);\n return;\n }\n const newVer = nonConflictDeps.getFirstVersion(pkgName);\n if (currentVer === newVer) return;\n workspaceJsonUpdates[pkgName] = [currentVer, newVer];\n policy[depField][pkgName] = newVer;\n const compIds = nonConflictDeps.getCompIdsBy(pkgName).join(', ');\n this.logger.debug(\n `update workspace.jsonc: ${pkgName} from ${currentVer} to ${newVer}. Triggered by: ${compIds}`\n );\n });\n });\n\n // calculate the workspace.json conflicts\n const workspaceJsonConflicts = { dependencies: [], peerDependencies: [] };\n const conflictPackagesToRemoveFromConfigMerge: string[] = [];\n conflictedPackages.forEach((pkgName) => {\n if (!conflictDeps.hasSameVersions(pkgName)) {\n // we only want the deps that the other lane has them in the workspace.json and that all comps use the same dep.\n workspaceDepsUnchanged[pkgName] = conflictDeps.reportMultipleVersions(pkgName);\n return;\n }\n const conflictRaw = conflictDeps.getFirstVersion(pkgName);\n const [, currentVal, otherVal] = conflictRaw.split('::');\n // in case of a snap, the otherVal is the snap-hash, we need to convert it to semver\n const otherValValid = snapToSemver(otherVal);\n WS_DEPS_FIELDS.forEach((depField) => {\n if (!policy[depField]?.[pkgName]) return;\n const currentVerInWsJson = policy[depField][pkgName];\n if (!currentVerInWsJson) return;\n // the version is coming from the workspace.jsonc\n conflictPackagesToRemoveFromConfigMerge.push(pkgName);\n if (semver.satisfies(otherValValid, currentVerInWsJson)) {\n // the other version is compatible with the current version in the workspace.json\n return;\n }\n workspaceJsonConflicts[depField].push({\n name: pkgName,\n version: conflictRaw.replace(currentVal, currentVerInWsJson),\n force: false,\n });\n conflictPackagesToRemoveFromConfigMerge.push(pkgName);\n const compIds = conflictDeps.getCompIdsBy(pkgName).join(', ');\n this.logger.debug(\n `conflict workspace.jsonc: ${pkgName} current: ${currentVerInWsJson}, other: ${otherValValid}. Triggered by: ${compIds}`\n );\n });\n });\n WS_DEPS_FIELDS.forEach((depField) => {\n if (isEmpty(workspaceJsonConflicts[depField])) delete workspaceJsonConflicts[depField];\n });\n\n if (conflictPackagesToRemoveFromConfigMerge.length) {\n allResults.forEach((result) => {\n if (result?.conflict) {\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (!result.conflict?.[depField]) return;\n result.conflict[depField] = result.conflict?.[depField].filter(\n (dep) => !conflictPackagesToRemoveFromConfigMerge.includes(dep.name)\n );\n if (!result.conflict[depField].length) delete result.conflict[depField];\n });\n if (isEmpty(result.conflict)) result.conflict = undefined;\n }\n });\n }\n\n if (Object.keys(workspaceJsonUpdates).length) {\n await workspaceConfig.write({ reasonForChange: 'merge (update dependencies)' });\n }\n\n this.logger.debug('final workspace.jsonc updates', workspaceJsonUpdates);\n this.logger.debug('final workspace.jsonc conflicts', workspaceJsonConflicts);\n\n return {\n workspaceDepsUpdates: Object.keys(workspaceJsonUpdates).length ? workspaceJsonUpdates : undefined,\n workspaceDepsConflicts: Object.keys(workspaceJsonConflicts).length ? workspaceJsonConflicts : undefined,\n workspaceDepsUnchanged: Object.keys(workspaceDepsUnchanged).length ? workspaceDepsUnchanged : undefined,\n };\n }\n\n async updateDepsInWorkspaceConfig(\n components: ConsumerComponent[],\n mergeStrategy?: MergeStrategy\n ): Promise<WorkspaceConfigUpdateResult | undefined> {\n if (mergeStrategy === 'ours') {\n this.logger.debug('mergeStrategy is \"ours\", skipping the workspace.jsonc update');\n return undefined;\n }\n const workspacePolicy = this.depsResolver.getWorkspacePolicyFromConfig();\n const workspacePolicyObj = workspacePolicy.entries.reduce((acc, current) => {\n acc[current.dependencyId] = current.value.version;\n return acc;\n }, {});\n const componentDepsWithMultipleVer: Record<string, string[]> = {};\n components.forEach((component) => {\n const deps = this.depsResolver.getDependenciesFromLegacyComponent(component);\n deps.forEach((dep) => {\n if (dep.source !== 'auto') return;\n const depId = dep.getPackageName?.();\n if (!depId) return; // unclear when this happens.\n if (!workspacePolicyObj[depId]) return;\n if (workspacePolicyObj[depId] === dep.version) return;\n if (componentDepsWithMultipleVer[depId]?.includes(dep.version)) return;\n\n (componentDepsWithMultipleVer[depId] ||= []).push(dep.version);\n });\n });\n\n const compToLog = Object.keys(componentDepsWithMultipleVer)\n .map(\n (depId) =>\n `${depId} => workspace: ${workspacePolicyObj[depId]}, components: ${componentDepsWithMultipleVer[depId].join(\n ', '\n )}`\n )\n .join('\\n');\n this.logger.info(`found the following deps to update/conflict:\\n${compToLog}`);\n\n const componentDeps = Object.keys(componentDepsWithMultipleVer).reduce((acc, depId) => {\n // if there are different versions of this dep between the components, forget about it.\n if (componentDepsWithMultipleVer[depId].length > 1) return acc;\n acc[depId] = componentDepsWithMultipleVer[depId][0];\n return acc;\n }, {});\n\n if (isEmpty(componentDeps)) {\n return undefined;\n }\n\n const workspaceDepsUpdates: WorkspaceDepsUpdates = {};\n const workspaceDepsConflicts: WorkspaceDepsConflicts = { dependencies: [], peerDependencies: [] };\n\n const logs: string[] = [];\n\n Object.keys(componentDeps).forEach((depId) => {\n const depInCompVer: string = componentDeps[depId];\n const depInWsVer: string = workspacePolicyObj[depId];\n const isDepInCompVersion = Boolean(semver.valid(depInCompVer));\n const isDepInCompRange = !isDepInCompVersion && Boolean(semver.validRange(depInCompVer));\n\n const addNotUpdateToLogs = (reason: string) => {\n logs.push(`${depId} - not updating. ${reason}`);\n };\n\n if (!isDepInCompVersion && !isDepInCompRange) {\n addNotUpdateToLogs(`probably a snap-hash`);\n return; // probably a snap-hash.\n }\n const isDepInWsVersion = Boolean(semver.valid(depInWsVer));\n const isDepInWsRange = !isDepInWsVersion && Boolean(semver.validRange(depInWsVer));\n if (!isDepInWsVersion && !isDepInWsRange) {\n addNotUpdateToLogs(`probably a snap-hash`);\n return; // probably a snap-hash.\n }\n\n // both are either versions or ranges\n const lifeCycle =\n workspacePolicy.entries.find((d) => d.dependencyId === depId)?.lifecycleType === 'peer'\n ? 'peerDependencies'\n : 'dependencies';\n\n const addToUpdate = (addRangeFrom?: string) => {\n if (addRangeFrom) {\n // depInCompVer is a version, depInWsVer is a range\n const potentialRangeChar = depInWsVer[0];\n const newRange = potentialRangeChar + depInCompVer;\n if (newRange === depInWsVer) {\n addNotUpdateToLogs(`the min version from ws ${depInWsVer} is the same as ${depInCompVer} from comp`);\n return;\n }\n if (!semver.validRange(newRange)) {\n const warnMsg = `failed to add the range \"${potentialRangeChar}\" to ${depInCompVer}, the result is not a valid range`;\n this.logger.warn(warnMsg);\n addNotUpdateToLogs(warnMsg);\n return;\n }\n logs.push(`${depId} - updating from ${depInWsVer} to ${newRange} (new range based on ${depInCompVer})`);\n workspaceDepsUpdates[depId] = [depInWsVer, newRange];\n } else {\n logs.push(`${depId} - updating from ${depInWsVer} to ${depInCompVer}`);\n workspaceDepsUpdates[depId] = [depInWsVer, depInCompVer];\n }\n };\n const addToConflict = () => {\n if (mergeStrategy === 'theirs') {\n addToUpdate();\n return;\n }\n workspaceDepsConflicts[lifeCycle].push({ name: depId, version: `CONFLICT::${depInWsVer}::${depInCompVer}` });\n logs.push(`${depId} - conflict. ours: ${depInWsVer}, theirs: ${depInCompVer}`);\n };\n\n // both are versions\n if (isDepInCompVersion && isDepInWsVersion) {\n if (semver.gt(depInCompVer, depInWsVer)) {\n addToConflict();\n return;\n }\n addNotUpdateToLogs(`the version from ws ${depInWsVer} is greater than ${depInCompVer} from comp`);\n return;\n }\n\n // both are ranges\n if (isDepInCompRange && isDepInWsRange) {\n if (isRange1GreaterThanRange2Naively(depInCompVer, depInWsVer)) {\n addToUpdate();\n return;\n }\n addNotUpdateToLogs(`the range from ws ${depInWsVer} is greater than ${depInCompVer} from comp`);\n return;\n }\n\n if (isDepInCompVersion && isDepInWsRange) {\n const wsMinVer = semver.minVersion(depInWsVer);\n if (!wsMinVer) {\n this.logger.warn(`unable to calculate the min version of ${depInWsVer}`);\n addNotUpdateToLogs(`unable to calculate the min version of ${depInWsVer} from ws`);\n return;\n }\n if (semver.gt(wsMinVer, depInCompVer)) {\n addNotUpdateToLogs(`the min version from ws ${depInWsVer} is greater than ${depInCompVer} from comp`);\n return;\n }\n if (semver.satisfies(depInCompVer, depInWsVer)) {\n addToUpdate(depInWsVer);\n return;\n }\n addToConflict();\n return;\n }\n\n if (isDepInCompRange && isDepInWsVersion) {\n if (semver.satisfies(depInWsVer, depInCompVer)) {\n addToUpdate();\n return;\n }\n const compMinVer = semver.minVersion(depInCompVer);\n if (!compMinVer) {\n this.logger.warn(`unable to calculate the min version of ${compMinVer}`);\n addNotUpdateToLogs(`unable to calculate the min version of ${compMinVer} from comp`);\n return;\n }\n if (semver.gt(compMinVer, depInWsVer)) {\n addToConflict();\n return;\n }\n addNotUpdateToLogs(`the min version from comp ${compMinVer} is less than ${depInWsVer} from ws`);\n }\n throw new Error(`unhandled case: comp: ${depInCompVer}, ws: ${depInWsVer}`);\n });\n\n WS_DEPS_FIELDS.forEach((depField) => {\n if (isEmpty(workspaceDepsConflicts[depField])) delete workspaceDepsConflicts[depField];\n });\n\n this.logger.debug(`workspace config-merge all components logs\\n${logs.join('\\n')}`);\n this.logger.debug('final workspace.jsonc updates [from, to]', workspaceDepsUpdates);\n this.logger.debug(`final workspace.jsonc conflicts ${JSON.stringify(workspaceDepsConflicts, undefined, 2)}`);\n\n await this.updateWsConfigWithGivenChanges(workspaceDepsUpdates, workspacePolicy);\n let workspaceConfigConflictWriteError: Error | undefined;\n if (!isEmpty(workspaceDepsConflicts)) {\n workspaceConfigConflictWriteError = await this.writeWorkspaceJsoncWithConflictsGracefully(workspaceDepsConflicts);\n }\n\n return {\n workspaceDepsUpdates: isEmpty(workspaceDepsUpdates) ? undefined : workspaceDepsUpdates,\n workspaceDepsConflicts: isEmpty(workspaceDepsConflicts) ? undefined : workspaceDepsConflicts,\n workspaceConfigConflictWriteError,\n logs,\n };\n }\n\n private async updateWsConfigWithGivenChanges(workspaceDepsUpdates: WorkspaceDepsUpdates, wsPolicy: WorkspacePolicy) {\n if (isEmpty(workspaceDepsUpdates)) return;\n const getLifeCycle = (depId: string) => {\n const lifeCycle = wsPolicy.entries.find((d) => d.dependencyId === depId)?.lifecycleType;\n if (!lifeCycle) throw new Error(`unable to find the lifecycle of ${depId}`);\n return lifeCycle;\n };\n\n const newWorkspacePolicyEntries: WorkspacePolicyEntry[] = Object.keys(workspaceDepsUpdates).map((pkgName) => {\n return {\n dependencyId: pkgName,\n lifecycleType: getLifeCycle(pkgName),\n value: {\n version: workspaceDepsUpdates[pkgName][1],\n },\n };\n });\n this.depsResolver.addToRootPolicy(newWorkspacePolicyEntries, {\n updateExisting: true,\n });\n await this.depsResolver.persistConfig('config-merger (update root policy)');\n }\n\n static slots = [];\n static dependencies = [WorkspaceAspect, ConfigAspect, LoggerAspect, DependencyResolverAspect];\n static runtime = MainRuntime;\n static async provider([workspace, config, loggerMain, depsResolver]: [\n Workspace,\n ConfigMain,\n LoggerMain,\n DependencyResolverMain,\n ]) {\n const logger = loggerMain.createLogger(ConfigMergerAspect.id);\n return new ConfigMergerMain(workspace, logger, config, depsResolver);\n }\n}\n\nConfigMergerAspect.addRuntime(ConfigMergerMain);\n\nexport default ConfigMergerMain;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_semver","data","_interopRequireDefault","require","_lodash","_dependencyResolver","_componentPackageVersion","_tempy","_fsExtra","_cli","_workspace","_logger","_legacy","_bitError","_config","_componentModules","_pkgModules","_configMergeResult","_configMerger","_aggregatedDeps","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","WS_DEPS_FIELDS","ConfigMergerMain","constructor","workspace","logger","config","depsResolver","generateConfigMergeConflictFileForAll","allConfigMerge","configMergeFile","getConflictMergeFile","forEach","configMerge","conflict","generateMergeConflictFile","addConflict","compIdStr","hasConflict","write","writeWorkspaceJsoncWithConflictsGracefully","workspaceDepsConflicts","writeWorkspaceJsoncWithConflicts","undefined","err","error","errTitle","message","conflictsStr","map","depField","name","version","currentVal","otherVal","parseVersionLineWithConflict","flat","join","BitError","wsConfig","workspaceConfig","Error","wsJsoncPath","path","wsJsoncOriginalContent","fs","readFile","wsJsoncContent","originalDep","includes","replace","baseFilePath","tempy","otherFilePath","mergeFilesParams","filePath","currentFile","label","baseFile","otherFile","mergeResult","mergeFiles","conflictFile","debug","backupConfigFile","writeFile","updateWorkspaceJsoncWithDepsIfNeeded","allResults","c","getDepsResolverResult","nonConflictDeps","AggregatedDeps","mergedConfig","mergedConfigPolicy","policy","DEPENDENCIES_FIELDS","pkg","push","conflictDeps","mergedConfigConflict","notConflictedPackages","depsNames","conflictedPackages","length","depResolver","extensions","findCoreExtension","DependencyResolverAspect","id","workspaceDepsUnchanged","workspaceJsonUpdates","pkgName","currentVer","hasSameVersions","reportMultipleVersions","newVer","getFirstVersion","compIds","getCompIdsBy","workspaceJsonConflicts","dependencies","peerDependencies","conflictPackagesToRemoveFromConfigMerge","conflictRaw","split","otherValValid","snapToSemver","currentVerInWsJson","semver","satisfies","force","isEmpty","result","filter","dep","keys","reasonForChange","workspaceDepsUpdates","updateDepsInWorkspaceConfig","components","mergeStrategy","workspacePolicy","getWorkspacePolicyFromConfig","workspacePolicyObj","entries","reduce","acc","current","dependencyId","componentDepsWithMultipleVer","component","deps","getDependenciesFromLegacyComponent","source","depId","getPackageName","compToLog","info","componentDeps","logs","depInCompVer","depInWsVer","isDepInCompVersion","Boolean","valid","isDepInCompRange","validRange","addNotUpdateToLogs","reason","isDepInWsVersion","isDepInWsRange","lifeCycle","find","d","lifecycleType","addToUpdate","addRangeFrom","potentialRangeChar","newRange","warnMsg","warn","addToConflict","gt","isRange1GreaterThanRange2Naively","wsMinVer","minVersion","compMinVer","JSON","stringify","updateWsConfigWithGivenChanges","workspaceConfigConflictWriteError","wsPolicy","getLifeCycle","newWorkspacePolicyEntries","addToRootPolicy","updateExisting","persistConfig","provider","loggerMain","createLogger","ConfigMergerAspect","exports","WorkspaceAspect","ConfigAspect","LoggerAspect","MainRuntime","addRuntime","_default"],"sources":["config-merger.main.runtime.ts"],"sourcesContent":["import semver from 'semver';\nimport { isEmpty } from 'lodash';\nimport type { DependencyResolverMain, WorkspacePolicy, WorkspacePolicyEntry } from '@teambit/dependency-resolver';\nimport { DependencyResolverAspect } from '@teambit/dependency-resolver';\nimport { snapToSemver } from '@teambit/component-package-version';\nimport tempy from 'tempy';\nimport fs from 'fs-extra';\nimport { MainRuntime } from '@teambit/cli';\nimport type { Workspace } from '@teambit/workspace';\nimport { WorkspaceAspect } from '@teambit/workspace';\nimport type { Logger, LoggerMain } from '@teambit/logger';\nimport { LoggerAspect } from '@teambit/logger';\nimport type { ConsumerComponent } from '@teambit/legacy.consumer-component';\nimport { DEPENDENCIES_FIELDS } from '@teambit/legacy.constants';\nimport { BitError } from '@teambit/bit-error';\nimport type { ConfigMain } from '@teambit/config';\nimport { ConfigAspect } from '@teambit/config';\nimport { mergeFiles } from '@teambit/component.modules.merge-helper';\nimport { isRange1GreaterThanRange2Naively } from '@teambit/pkg.modules.semver-helper';\nimport type { ConfigMergeResult } from './config-merge-result';\nimport { parseVersionLineWithConflict } from './config-merge-result';\nimport { ConfigMergerAspect } from './config-merger.aspect';\nimport { AggregatedDeps } from './aggregated-deps';\nimport type {\n MergeFileParams,\n MergeStrategy,\n WorkspaceConfigUpdateResult,\n WorkspaceDepsConflicts,\n WorkspaceDepsUnchanged,\n WorkspaceDepsUpdates,\n} from '@teambit/component.modules.merge-helper';\n\nexport type PkgEntry = { name: string; version: string; force: boolean };\n\nconst WS_DEPS_FIELDS = ['dependencies', 'peerDependencies'];\n\nexport class ConfigMergerMain {\n constructor(\n private workspace: Workspace,\n private logger: Logger,\n private config: ConfigMain,\n private depsResolver: DependencyResolverMain\n ) {}\n\n async generateConfigMergeConflictFileForAll(allConfigMerge: ConfigMergeResult[]) {\n const configMergeFile = this.workspace.getConflictMergeFile();\n allConfigMerge.forEach((configMerge) => {\n const conflict = configMerge.generateMergeConflictFile();\n if (!conflict) return;\n configMergeFile.addConflict(configMerge.compIdStr, conflict);\n });\n if (configMergeFile.hasConflict()) {\n await configMergeFile.write();\n }\n }\n\n async writeWorkspaceJsoncWithConflictsGracefully(\n workspaceDepsConflicts: WorkspaceDepsConflicts\n ): Promise<Error | undefined> {\n try {\n await this.writeWorkspaceJsoncWithConflicts(workspaceDepsConflicts);\n return undefined;\n } catch (err: any) {\n this.logger.error(`unable to write workspace.jsonc with conflicts`, err);\n const errTitle = `unable to write workspace.jsonc with conflicts, due to an error: \"${err.message}\".\nsee the conflicts below and edit your workspace.jsonc as you see fit.`;\n const conflictsStr = WS_DEPS_FIELDS.map((depField) => {\n if (!workspaceDepsConflicts[depField]) return [];\n return workspaceDepsConflicts[depField].map(({ name, version }) => {\n const { currentVal, otherVal } = parseVersionLineWithConflict(version);\n return `(${depField}) ${name}: ours: ${currentVal}, theirs: ${otherVal}`;\n });\n })\n .flat()\n .join('\\n');\n return new BitError(`${errTitle}\\n${conflictsStr}`);\n }\n }\n\n private async writeWorkspaceJsoncWithConflicts(workspaceDepsConflicts: WorkspaceDepsConflicts) {\n const wsConfig = this.config.workspaceConfig;\n if (!wsConfig) throw new Error(`unable to get workspace config`);\n const wsJsoncPath = wsConfig.path;\n const wsJsoncOriginalContent = await fs.readFile(wsJsoncPath, 'utf8');\n let wsJsoncContent = wsJsoncOriginalContent;\n WS_DEPS_FIELDS.forEach((depField) => {\n if (!workspaceDepsConflicts[depField]) return;\n workspaceDepsConflicts[depField].forEach(({ name, version }) => {\n const { currentVal, otherVal } = parseVersionLineWithConflict(version);\n // e.g. \"@ci/8oypmb6p-remote.bar.foo\": \"^0.0.3\"\n const originalDep = `\"${name}\": \"${currentVal}\"`;\n if (!wsJsoncContent.includes(originalDep)) {\n throw new Error(`unable to find the dependency ${originalDep} in the workspace.jsonc`);\n }\n wsJsoncContent = wsJsoncContent.replace(originalDep, `\"${name}\": \"${otherVal}\"`);\n });\n });\n\n const baseFilePath = await tempy.write('');\n const otherFilePath = await tempy.write(wsJsoncContent);\n const mergeFilesParams: MergeFileParams = {\n filePath: wsJsoncPath,\n currentFile: {\n label: 'ours',\n path: wsJsoncPath,\n },\n baseFile: {\n path: baseFilePath,\n },\n otherFile: {\n label: 'theirs',\n path: otherFilePath,\n },\n };\n const mergeResult = await mergeFiles(mergeFilesParams);\n const conflictFile = mergeResult.conflict;\n if (!conflictFile) {\n this.logger.debug(`original content:\\n${wsJsoncOriginalContent}`);\n this.logger.debug(`new content:\\n${wsJsoncContent}`);\n throw new Error('unable to generate conflict from the workspace.jsonc file. see debug.log for the file content');\n }\n await wsConfig.backupConfigFile('before writing conflicts');\n this.logger.debug('writing workspace.jsonc with conflicts');\n await fs.writeFile(wsJsoncPath, conflictFile);\n }\n\n async updateWorkspaceJsoncWithDepsIfNeeded(allConfigMerge: ConfigMergeResult[]): Promise<{\n workspaceDepsUpdates?: WorkspaceDepsUpdates;\n workspaceDepsConflicts?: WorkspaceDepsConflicts;\n workspaceDepsUnchanged?: WorkspaceDepsUnchanged;\n }> {\n const allResults = allConfigMerge.map((c) => c.getDepsResolverResult());\n\n // aggregate all dependencies that can be updated (not conflicting)\n const nonConflictDeps = new AggregatedDeps();\n allConfigMerge.forEach((configMerge) => {\n const mergedConfig = configMerge.getDepsResolverResult()?.mergedConfig;\n if (!mergedConfig || mergedConfig === '-') return;\n const mergedConfigPolicy = mergedConfig.policy || {};\n DEPENDENCIES_FIELDS.forEach((depField) => {\n mergedConfigPolicy[depField]?.forEach((pkg: PkgEntry) => nonConflictDeps.push(pkg, configMerge.compIdStr));\n });\n });\n\n // aggregate all dependencies that have conflicts\n const conflictDeps = new AggregatedDeps();\n allConfigMerge.forEach((configMerge) => {\n const mergedConfigConflict = configMerge.getDepsResolverResult()?.conflict;\n if (!mergedConfigConflict) return;\n DEPENDENCIES_FIELDS.forEach((depField) => {\n mergedConfigConflict[depField]?.forEach((pkg: PkgEntry) => conflictDeps.push(pkg, configMerge.compIdStr));\n });\n });\n\n // uncomment to get the aggregated deps of both the conflicted and non-conflicted\n // console.log('nonConflictDeps', nonConflictDeps.toString(), 'conflictDeps', conflictDeps.toString());\n\n const notConflictedPackages = nonConflictDeps.depsNames;\n const conflictedPackages = conflictDeps.depsNames;\n if (!notConflictedPackages.length && !conflictedPackages.length) return {};\n\n const workspaceConfig = this.config.workspaceConfig;\n if (!workspaceConfig) throw new Error(`updateWorkspaceJsoncWithDepsIfNeeded unable to get workspace config`);\n const depResolver = workspaceConfig.extensions.findCoreExtension(DependencyResolverAspect.id);\n const policy = depResolver?.config.policy;\n if (!policy) {\n return {};\n }\n\n const workspaceDepsUnchanged: { [pkgName: string]: string } = {};\n\n // calculate the workspace.json updates\n const workspaceJsonUpdates: WorkspaceDepsUpdates = {};\n notConflictedPackages.forEach((pkgName) => {\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (!policy[depField]?.[pkgName]) return; // doesn't exists in the workspace.json\n const currentVer = policy[depField][pkgName];\n if (!nonConflictDeps.hasSameVersions(pkgName)) {\n // we only want the deps that the other lane has them in the workspace.json and that all comps use the same dep.\n workspaceDepsUnchanged[pkgName] = nonConflictDeps.reportMultipleVersions(pkgName);\n return;\n }\n const newVer = nonConflictDeps.getFirstVersion(pkgName);\n if (currentVer === newVer) return;\n workspaceJsonUpdates[pkgName] = [currentVer, newVer];\n policy[depField][pkgName] = newVer;\n const compIds = nonConflictDeps.getCompIdsBy(pkgName).join(', ');\n this.logger.debug(\n `update workspace.jsonc: ${pkgName} from ${currentVer} to ${newVer}. Triggered by: ${compIds}`\n );\n });\n });\n\n // calculate the workspace.json conflicts\n const workspaceJsonConflicts = { dependencies: [], peerDependencies: [] };\n const conflictPackagesToRemoveFromConfigMerge: string[] = [];\n conflictedPackages.forEach((pkgName) => {\n if (!conflictDeps.hasSameVersions(pkgName)) {\n // we only want the deps that the other lane has them in the workspace.json and that all comps use the same dep.\n workspaceDepsUnchanged[pkgName] = conflictDeps.reportMultipleVersions(pkgName);\n return;\n }\n const conflictRaw = conflictDeps.getFirstVersion(pkgName);\n const [, currentVal, otherVal] = conflictRaw.split('::');\n // in case of a snap, the otherVal is the snap-hash, we need to convert it to semver\n const otherValValid = snapToSemver(otherVal);\n WS_DEPS_FIELDS.forEach((depField) => {\n if (!policy[depField]?.[pkgName]) return;\n const currentVerInWsJson = policy[depField][pkgName];\n if (!currentVerInWsJson) return;\n // the version is coming from the workspace.jsonc\n conflictPackagesToRemoveFromConfigMerge.push(pkgName);\n if (semver.satisfies(otherValValid, currentVerInWsJson)) {\n // the other version is compatible with the current version in the workspace.json\n return;\n }\n workspaceJsonConflicts[depField].push({\n name: pkgName,\n version: conflictRaw.replace(currentVal, currentVerInWsJson),\n force: false,\n });\n conflictPackagesToRemoveFromConfigMerge.push(pkgName);\n const compIds = conflictDeps.getCompIdsBy(pkgName).join(', ');\n this.logger.debug(\n `conflict workspace.jsonc: ${pkgName} current: ${currentVerInWsJson}, other: ${otherValValid}. Triggered by: ${compIds}`\n );\n });\n });\n WS_DEPS_FIELDS.forEach((depField) => {\n if (isEmpty(workspaceJsonConflicts[depField])) delete workspaceJsonConflicts[depField];\n });\n\n if (conflictPackagesToRemoveFromConfigMerge.length) {\n allResults.forEach((result) => {\n if (result?.conflict) {\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (!result.conflict?.[depField]) return;\n result.conflict[depField] = result.conflict?.[depField].filter(\n (dep) => !conflictPackagesToRemoveFromConfigMerge.includes(dep.name)\n );\n if (!result.conflict[depField].length) delete result.conflict[depField];\n });\n if (isEmpty(result.conflict)) result.conflict = undefined;\n }\n });\n }\n\n if (Object.keys(workspaceJsonUpdates).length) {\n await workspaceConfig.write({ reasonForChange: 'merge (update dependencies)' });\n }\n\n this.logger.debug('final workspace.jsonc updates', workspaceJsonUpdates);\n this.logger.debug('final workspace.jsonc conflicts', workspaceJsonConflicts);\n\n return {\n workspaceDepsUpdates: Object.keys(workspaceJsonUpdates).length ? workspaceJsonUpdates : undefined,\n workspaceDepsConflicts: Object.keys(workspaceJsonConflicts).length ? workspaceJsonConflicts : undefined,\n workspaceDepsUnchanged: Object.keys(workspaceDepsUnchanged).length ? workspaceDepsUnchanged : undefined,\n };\n }\n\n async updateDepsInWorkspaceConfig(\n components: ConsumerComponent[],\n mergeStrategy?: MergeStrategy\n ): Promise<WorkspaceConfigUpdateResult | undefined> {\n if (mergeStrategy === 'ours') {\n this.logger.debug('mergeStrategy is \"ours\", skipping the workspace.jsonc update');\n return undefined;\n }\n const workspacePolicy = this.depsResolver.getWorkspacePolicyFromConfig();\n const workspacePolicyObj = workspacePolicy.entries.reduce((acc, current) => {\n acc[current.dependencyId] = current.value.version;\n return acc;\n }, {});\n const componentDepsWithMultipleVer: Record<string, string[]> = {};\n components.forEach((component) => {\n const deps = this.depsResolver.getDependenciesFromLegacyComponent(component);\n deps.forEach((dep) => {\n if (dep.source !== 'auto') return;\n const depId = dep.getPackageName?.();\n if (!depId) return; // unclear when this happens.\n if (!workspacePolicyObj[depId]) return;\n if (workspacePolicyObj[depId] === dep.version) return;\n if (componentDepsWithMultipleVer[depId]?.includes(dep.version)) return;\n\n (componentDepsWithMultipleVer[depId] ||= []).push(dep.version);\n });\n });\n\n const compToLog = Object.keys(componentDepsWithMultipleVer)\n .map(\n (depId) =>\n `${depId} => workspace: ${workspacePolicyObj[depId]}, components: ${componentDepsWithMultipleVer[depId].join(\n ', '\n )}`\n )\n .join('\\n');\n this.logger.info(`found the following deps to update/conflict:\\n${compToLog}`);\n\n const componentDeps = Object.keys(componentDepsWithMultipleVer).reduce((acc, depId) => {\n // if there are different versions of this dep between the components, forget about it.\n if (componentDepsWithMultipleVer[depId].length > 1) return acc;\n acc[depId] = componentDepsWithMultipleVer[depId][0];\n return acc;\n }, {});\n\n if (isEmpty(componentDeps)) {\n return undefined;\n }\n\n const workspaceDepsUpdates: WorkspaceDepsUpdates = {};\n const workspaceDepsConflicts: WorkspaceDepsConflicts = { dependencies: [], peerDependencies: [] };\n\n const logs: string[] = [];\n\n Object.keys(componentDeps).forEach((depId) => {\n const depInCompVer: string = componentDeps[depId];\n const depInWsVer: string = workspacePolicyObj[depId];\n const isDepInCompVersion = Boolean(semver.valid(depInCompVer));\n const isDepInCompRange = !isDepInCompVersion && Boolean(semver.validRange(depInCompVer));\n\n const addNotUpdateToLogs = (reason: string) => {\n logs.push(`${depId} - not updating. ${reason}`);\n };\n\n if (!isDepInCompVersion && !isDepInCompRange) {\n addNotUpdateToLogs(`probably a snap-hash`);\n return; // probably a snap-hash.\n }\n const isDepInWsVersion = Boolean(semver.valid(depInWsVer));\n const isDepInWsRange = !isDepInWsVersion && Boolean(semver.validRange(depInWsVer));\n if (!isDepInWsVersion && !isDepInWsRange) {\n addNotUpdateToLogs(`probably a snap-hash`);\n return; // probably a snap-hash.\n }\n\n // both are either versions or ranges\n const lifeCycle =\n workspacePolicy.entries.find((d) => d.dependencyId === depId)?.lifecycleType === 'peer'\n ? 'peerDependencies'\n : 'dependencies';\n\n const addToUpdate = (addRangeFrom?: string) => {\n if (addRangeFrom) {\n // depInCompVer is a version, depInWsVer is a range\n const potentialRangeChar = depInWsVer[0];\n const newRange = potentialRangeChar + depInCompVer;\n if (newRange === depInWsVer) {\n addNotUpdateToLogs(`the workspace range ${depInWsVer} already matches ${depInCompVer} from the component`);\n return;\n }\n if (!semver.validRange(newRange)) {\n const warnMsg = `failed to add the range \"${potentialRangeChar}\" to ${depInCompVer}, the result is not a valid range`;\n this.logger.warn(warnMsg);\n addNotUpdateToLogs(warnMsg);\n return;\n }\n logs.push(`${depId} - updating from ${depInWsVer} to ${newRange} (new range based on ${depInCompVer})`);\n workspaceDepsUpdates[depId] = [depInWsVer, newRange];\n } else {\n logs.push(`${depId} - updating from ${depInWsVer} to ${depInCompVer}`);\n workspaceDepsUpdates[depId] = [depInWsVer, depInCompVer];\n }\n };\n const addToConflict = () => {\n if (mergeStrategy === 'theirs') {\n addToUpdate();\n return;\n }\n workspaceDepsConflicts[lifeCycle].push({ name: depId, version: `CONFLICT::${depInWsVer}::${depInCompVer}` });\n logs.push(`${depId} - conflict. ours: ${depInWsVer}, theirs: ${depInCompVer}`);\n };\n\n // both are versions\n if (isDepInCompVersion && isDepInWsVersion) {\n if (semver.gt(depInCompVer, depInWsVer)) {\n addToConflict();\n return;\n }\n addNotUpdateToLogs(`the workspace version ${depInWsVer} is greater than ${depInCompVer} from the component`);\n return;\n }\n\n // both are ranges\n if (isDepInCompRange && isDepInWsRange) {\n if (isRange1GreaterThanRange2Naively(depInCompVer, depInWsVer)) {\n addToUpdate();\n return;\n }\n addNotUpdateToLogs(`the workspace range ${depInWsVer} is greater than ${depInCompVer} from the component`);\n return;\n }\n\n if (isDepInCompVersion && isDepInWsRange) {\n const wsMinVer = semver.minVersion(depInWsVer);\n if (!wsMinVer) {\n this.logger.warn(`unable to calculate the min version of ${depInWsVer}`);\n addNotUpdateToLogs(`unable to calculate the min version of ${depInWsVer} from the workspace`);\n return;\n }\n if (semver.gt(wsMinVer, depInCompVer)) {\n addNotUpdateToLogs(\n `the workspace range ${depInWsVer} (min version ${wsMinVer}) is greater than ${depInCompVer} from the component`\n );\n return;\n }\n if (semver.satisfies(depInCompVer, depInWsVer)) {\n addToUpdate(depInWsVer);\n return;\n }\n addToConflict();\n return;\n }\n\n if (isDepInCompRange && isDepInWsVersion) {\n if (semver.satisfies(depInWsVer, depInCompVer)) {\n addToUpdate();\n return;\n }\n const compMinVer = semver.minVersion(depInCompVer);\n if (!compMinVer) {\n this.logger.warn(`unable to calculate the min version of ${compMinVer}`);\n addNotUpdateToLogs(`unable to calculate the min version of ${compMinVer} from comp`);\n return;\n }\n if (semver.gt(compMinVer, depInWsVer)) {\n addToConflict();\n return;\n }\n addNotUpdateToLogs(`the min version from comp ${compMinVer} is less than ${depInWsVer} from ws`);\n }\n throw new Error(`unhandled case: comp: ${depInCompVer}, ws: ${depInWsVer}`);\n });\n\n WS_DEPS_FIELDS.forEach((depField) => {\n if (isEmpty(workspaceDepsConflicts[depField])) delete workspaceDepsConflicts[depField];\n });\n\n this.logger.debug(`workspace config-merge all components logs\\n${logs.join('\\n')}`);\n this.logger.debug('final workspace.jsonc updates [from, to]', workspaceDepsUpdates);\n this.logger.debug(`final workspace.jsonc conflicts ${JSON.stringify(workspaceDepsConflicts, undefined, 2)}`);\n\n await this.updateWsConfigWithGivenChanges(workspaceDepsUpdates, workspacePolicy);\n let workspaceConfigConflictWriteError: Error | undefined;\n if (!isEmpty(workspaceDepsConflicts)) {\n workspaceConfigConflictWriteError = await this.writeWorkspaceJsoncWithConflictsGracefully(workspaceDepsConflicts);\n }\n\n return {\n workspaceDepsUpdates: isEmpty(workspaceDepsUpdates) ? undefined : workspaceDepsUpdates,\n workspaceDepsConflicts: isEmpty(workspaceDepsConflicts) ? undefined : workspaceDepsConflicts,\n workspaceConfigConflictWriteError,\n logs,\n };\n }\n\n private async updateWsConfigWithGivenChanges(workspaceDepsUpdates: WorkspaceDepsUpdates, wsPolicy: WorkspacePolicy) {\n if (isEmpty(workspaceDepsUpdates)) return;\n const getLifeCycle = (depId: string) => {\n const lifeCycle = wsPolicy.entries.find((d) => d.dependencyId === depId)?.lifecycleType;\n if (!lifeCycle) throw new Error(`unable to find the lifecycle of ${depId}`);\n return lifeCycle;\n };\n\n const newWorkspacePolicyEntries: WorkspacePolicyEntry[] = Object.keys(workspaceDepsUpdates).map((pkgName) => {\n return {\n dependencyId: pkgName,\n lifecycleType: getLifeCycle(pkgName),\n value: {\n version: workspaceDepsUpdates[pkgName][1],\n },\n };\n });\n this.depsResolver.addToRootPolicy(newWorkspacePolicyEntries, {\n updateExisting: true,\n });\n await this.depsResolver.persistConfig('config-merger (update root policy)');\n }\n\n static slots = [];\n static dependencies = [WorkspaceAspect, ConfigAspect, LoggerAspect, DependencyResolverAspect];\n static runtime = MainRuntime;\n static async provider([workspace, config, loggerMain, depsResolver]: [\n Workspace,\n ConfigMain,\n LoggerMain,\n DependencyResolverMain,\n ]) {\n const logger = loggerMain.createLogger(ConfigMergerAspect.id);\n return new ConfigMergerMain(workspace, logger, config, depsResolver);\n }\n}\n\nConfigMergerAspect.addRuntime(ConfigMergerMain);\n\nexport default ConfigMergerMain;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/config-merger",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.776",
|
|
4
4
|
"homepage": "https://bit.cloud/teambit/workspace/config-merger",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.workspace",
|
|
8
8
|
"name": "config-merger",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.776"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"lodash": "4.17.21",
|
|
@@ -26,11 +26,11 @@
|
|
|
26
26
|
"@teambit/legacy.constants": "0.0.24",
|
|
27
27
|
"@teambit/legacy.consumer-component": "0.0.102",
|
|
28
28
|
"@teambit/pkg.modules.semver-helper": "0.0.22",
|
|
29
|
-
"@teambit/builder": "1.0.
|
|
30
|
-
"@teambit/dependency-resolver": "1.0.
|
|
31
|
-
"@teambit/envs": "1.0.
|
|
32
|
-
"@teambit/objects": "0.0.
|
|
33
|
-
"@teambit/workspace": "1.0.
|
|
29
|
+
"@teambit/builder": "1.0.909",
|
|
30
|
+
"@teambit/dependency-resolver": "1.0.909",
|
|
31
|
+
"@teambit/envs": "1.0.909",
|
|
32
|
+
"@teambit/objects": "0.0.416",
|
|
33
|
+
"@teambit/workspace": "1.0.909"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@types/lodash": "4.14.165",
|
|
File without changes
|