@teambit/yarn 0.0.579 → 0.0.583

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.
@@ -91,6 +91,16 @@ function _pluginNpm() {
91
91
  return data;
92
92
  }
93
93
 
94
+ function _parseOverrides() {
95
+ const data = _interopRequireDefault(require("@pnpm/parse-overrides"));
96
+
97
+ _parseOverrides = function () {
98
+ return data;
99
+ };
100
+
101
+ return data;
102
+ }
103
+
94
104
  function _userHome() {
95
105
  const data = _interopRequireDefault(require("user-home"));
96
106
 
@@ -136,7 +146,7 @@ class YarnPackageManager {
136
146
  }).manifest; // @ts-ignore
137
147
 
138
148
  project.setupResolutions();
139
- const rootWs = await this.createWorkspace(rootDir, project, rootManifest); // const manifests = Array.from(workspaceManifest.componentsManifestsMap.entries());
149
+ const rootWs = await this.createWorkspace(rootDir, project, rootManifest, installOptions.overrides); // const manifests = Array.from(workspaceManifest.componentsManifestsMap.entries());
140
150
 
141
151
  const manifests = this.computeComponents(workspaceManifest.componentsManifestsMap, componentDirectoryMap, installOptions.copyPeerToRuntimeOnComponents);
142
152
  this.logger.debug('root manifest for installation', rootManifest);
@@ -235,7 +245,7 @@ class YarnPackageManager {
235
245
  return result;
236
246
  }
237
247
 
238
- async createWorkspace(rootDir, project, manifest) {
248
+ async createWorkspace(rootDir, project, manifest, overrides) {
239
249
  const wsPath = _fslib().npath.toPortablePath(rootDir);
240
250
 
241
251
  const name = manifest.name || 'workspace';
@@ -251,7 +261,12 @@ class YarnPackageManager {
251
261
  ws.manifest.version = manifest.version;
252
262
  ws.manifest.dependencies = this.computeDeps(manifest.dependencies);
253
263
  ws.manifest.devDependencies = this.computeDeps(manifest.devDependencies);
254
- ws.manifest.peerDependencies = this.computeDeps(manifest.peerDependencies); // if (needOverrideInternal) this.overrideInternalWorkspaceParams(ws);
264
+ ws.manifest.peerDependencies = this.computeDeps(manifest.peerDependencies);
265
+
266
+ if (overrides) {
267
+ ws.manifest.resolutions = convertOverridesToResolutions(overrides);
268
+ } // if (needOverrideInternal) this.overrideInternalWorkspaceParams(ws);
269
+
255
270
 
256
271
  return ws;
257
272
  }
@@ -471,4 +486,25 @@ class YarnPackageManager {
471
486
 
472
487
  exports.YarnPackageManager = YarnPackageManager;
473
488
 
489
+ function convertOverridesToResolutions(overrides) {
490
+ const parsedOverrides = (0, _parseOverrides().default)(overrides);
491
+ return parsedOverrides.map(override => ({
492
+ pattern: {
493
+ from: override.parentPkg ? toYarnResolutionSelector(override.parentPkg) : undefined,
494
+ descriptor: toYarnResolutionSelector(override.targetPkg)
495
+ },
496
+ reference: override.newPref
497
+ }));
498
+ }
499
+
500
+ function toYarnResolutionSelector({
501
+ name,
502
+ pref
503
+ }) {
504
+ return {
505
+ fullName: name,
506
+ description: pref
507
+ };
508
+ }
509
+
474
510
  //# sourceMappingURL=yarn.package-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["yarn.package-manager.ts"],"names":["YarnPackageManager","constructor","depResolver","pkg","logger","install","rootDir","rootPolicy","componentDirectoryMap","installOptions","setStatusLine","options","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","dependencyFilterFn","components","workspaceManifest","getWorkspaceManifest","undefined","rootDirPath","npath","toPortablePath","cacheDir","getCacheFolder","cacheRootDir","config","computeConfiguration","project","Project","configuration","rootManifest","toJson","includeDir","copyPeerToRuntime","copyPeerToRuntimeOnRoot","manifest","setupResolutions","rootWs","createWorkspace","manifests","computeComponents","componentsManifestsMap","copyPeerToRuntimeOnComponents","debug","workspacesIdents","workspacesP","Object","keys","map","path","workspace","workspaceIdentHash","locator","identHash","cwd","overrideInternalWorkspaceParams","workspaces","Promise","all","setupWorkspaces","concat","cache","Cache","find","installReport","StreamReport","start","stdout","process","report","persistProject","persistLockfile","hasErrors","exit","exitCode","consoleSuccess","getPackageJsonPath","dir","packageJsonPath","backupPackageJsons","result","rootPackageJsonPath","getFileToBackup","componentsBackupsP","toArray","component","file","getComponentPackageJsonToBackup","restorePackageJsons","backupJsons","promises","entries","exists","fs","pathExists","remove","writeFile","existingFile","readFile","wsPath","name","ws","Workspace","setup","identity","structUtils","parseIdent","version","dependencies","computeDeps","devDependencies","peerDependencies","ident","makeIdent","scope","makeLocator","reference","anchoredDescriptor","makeDescriptor","WorkspaceResolver","protocol","relativeCwd","anchoredLocator","workspacesByCwd","Map","workspacesByIdent","forEach","dup","get","Error","push","set","getScopedRegistries","registries","scopedRegistries","scopes","reduce","acc","scopeName","regDef","authProp","getAuthProp","npmRegistryServer","uri","npmAlwaysAuth","alwaysAuth","keyName","value","registry","token","baseToken","baseDir","userHome","cacheFolder","getRegistries","proxyConfig","getProxyConfig","pluginConfig","Configuration","defaultRegistry","defaultAuthProp","data","nodeLinker","installStatePath","pnpDataPath","npmScopes","virtualFolder","httpProxy","httpsProxy","enableStrictSsl","strictSSL","globalFolder","use","componentManifests","componentsDirMap","copyPeer","packageName","getPackageName","has","rawDeps","resolveRemoteVersion","parsedPackage","parsedVersion","semver","valid","isSemver","npmPlugin","resolvers","_NpmRemapResolver","NpmSemverResolver","NpmTagResolver","resolver","range","LightReport","descriptor","resolveOptions","candidates","getCandidates","parsedRange","parseRange","selector"],"mappings":"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","sourcesContent":["import * as semver from 'semver';\nimport parsePackageName from 'parse-package-name';\nimport {\n WorkspacePolicy,\n DependencyResolverMain,\n PackageManager,\n PackageManagerInstallOptions,\n ComponentsManifestsMap,\n CreateFromComponentsOptions,\n Registries,\n Registry,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n} from '@teambit/dependency-resolver';\nimport { ComponentMap, Component } from '@teambit/component';\nimport fs from 'fs-extra';\nimport { join, resolve } from 'path';\nimport {\n Workspace,\n Project,\n Configuration,\n structUtils,\n IdentHash,\n Descriptor,\n Cache,\n StreamReport,\n ResolveOptions,\n LightReport,\n WorkspaceResolver,\n} from '@yarnpkg/core';\nimport { getPluginConfiguration } from '@yarnpkg/cli';\nimport { npath, PortablePath } from '@yarnpkg/fslib';\nimport npmPlugin from '@yarnpkg/plugin-npm';\nimport { PkgMain } from '@teambit/pkg';\nimport userHome from 'user-home';\nimport { Logger } from '@teambit/logger';\n\ntype BackupJsons = {\n [path: string]: Buffer | undefined;\n};\n\nexport class YarnPackageManager implements PackageManager {\n constructor(private depResolver: DependencyResolverMain, private pkg: PkgMain, private logger: Logger) {}\n\n async install(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<void> {\n this.logger.setStatusLine('installing dependencies');\n const options: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: true,\n dependencyFilterFn: installOptions.dependencyFilterFn,\n };\n const components = componentDirectoryMap.components;\n const workspaceManifest = await this.depResolver.getWorkspaceManifest(\n undefined,\n undefined,\n rootPolicy,\n rootDir,\n components,\n options\n );\n\n const rootDirPath = npath.toPortablePath(rootDir);\n const cacheDir = this.getCacheFolder(installOptions.cacheRootDir);\n const config = await this.computeConfiguration(rootDirPath, cacheDir);\n\n const project = new Project(rootDirPath, { configuration: config });\n\n const rootManifest = workspaceManifest.toJson({\n includeDir: true,\n copyPeerToRuntime: installOptions.copyPeerToRuntimeOnRoot,\n }).manifest;\n\n // @ts-ignore\n project.setupResolutions();\n const rootWs = await this.createWorkspace(rootDir, project, rootManifest);\n\n // const manifests = Array.from(workspaceManifest.componentsManifestsMap.entries());\n const manifests = this.computeComponents(\n workspaceManifest.componentsManifestsMap,\n componentDirectoryMap,\n installOptions.copyPeerToRuntimeOnComponents\n );\n\n this.logger.debug('root manifest for installation', rootManifest);\n this.logger.debug('components manifests for installation', manifests);\n\n const workspacesIdents = {};\n\n const workspacesP = Object.keys(manifests).map(async (path) => {\n const manifest = manifests[path];\n const workspace = await this.createWorkspace(path, project, manifest);\n const workspaceIdentHash = workspace.locator.identHash;\n //\n if (workspacesIdents[workspaceIdentHash]) {\n this.logger.debug(\n `overriding internal workspace fields to prevent duplications for workspace ${workspace.cwd}`\n );\n this.overrideInternalWorkspaceParams(workspace);\n }\n workspacesIdents[workspace.locator.identHash] = true;\n return workspace;\n });\n\n const workspaces = await Promise.all(workspacesP);\n\n this.setupWorkspaces(project, workspaces.concat(rootWs));\n\n const cache = await Cache.find(config);\n // const existingPackageJsons = await this.backupPackageJsons(rootDir, componentDirectoryMap);\n\n const installReport = await StreamReport.start(\n {\n stdout: process.stdout,\n configuration: config,\n },\n async (report) => {\n await project.install({\n persistProject: false,\n cache,\n report,\n });\n await project.persistLockfile();\n }\n );\n\n // TODO: check if package.json and link files generation can be prevented through the yarn API or\n // mock the files by hooking to `xfs`.\n // see the persistProject: false above\n // await this.restorePackageJsons(existingPackageJsons);\n\n if (installReport.hasErrors()) process.exit(installReport.exitCode());\n\n this.logger.consoleSuccess('installing dependencies');\n }\n\n private getPackageJsonPath(dir: string): string {\n const packageJsonPath = join(dir, 'package.json');\n return packageJsonPath;\n }\n\n private async backupPackageJsons(rootDir: string, componentDirectoryMap: ComponentMap<string>): Promise<BackupJsons> {\n const result: BackupJsons = {};\n const rootPackageJsonPath = this.getPackageJsonPath(rootDir);\n result[rootPackageJsonPath] = await this.getFileToBackup(rootPackageJsonPath);\n const componentsBackupsP = componentDirectoryMap.toArray().map(async ([component, dir]) => {\n const { packageJsonPath, file } = await this.getComponentPackageJsonToBackup(component, dir);\n result[packageJsonPath] = file;\n });\n await Promise.all(componentsBackupsP);\n return result;\n }\n\n private async restorePackageJsons(backupJsons: BackupJsons): Promise<void | undefined> {\n const promises = Object.entries(backupJsons).map(async ([packageJsonPath, file]) => {\n const exists = await fs.pathExists(packageJsonPath);\n // if there is no backup it means it wasn't there before and should be deleted\n if (!file) {\n if (exists) {\n return fs.remove(packageJsonPath);\n }\n return undefined;\n }\n return fs.writeFile(packageJsonPath, file);\n });\n await Promise.all(promises);\n }\n\n private async getFileToBackup(packageJsonPath: string): Promise<Buffer | undefined> {\n const exists = await fs.pathExists(packageJsonPath);\n if (!exists) {\n return undefined;\n }\n const existingFile = await fs.readFile(packageJsonPath);\n return existingFile;\n }\n\n private async getComponentPackageJsonToBackup(\n component: Component,\n dir: string\n ): Promise<{ packageJsonPath: string; file: Buffer | undefined }> {\n const packageJsonPath = resolve(join(dir, 'package.json'));\n const result = {\n packageJsonPath,\n file: await this.getFileToBackup(packageJsonPath),\n };\n return result;\n }\n\n private async createWorkspace(rootDir: string, project: Project, manifest: any) {\n const wsPath = npath.toPortablePath(rootDir);\n const name = manifest.name || 'workspace';\n\n const ws = new Workspace(wsPath, { project });\n await ws.setup();\n const identity = structUtils.parseIdent(name);\n // const needOverrideInternal = !!ws.manifest.name && !!manifest.name;\n ws.manifest.name = identity;\n ws.manifest.version = manifest.version;\n ws.manifest.dependencies = this.computeDeps(manifest.dependencies);\n ws.manifest.devDependencies = this.computeDeps(manifest.devDependencies);\n ws.manifest.peerDependencies = this.computeDeps(manifest.peerDependencies);\n\n // if (needOverrideInternal) this.overrideInternalWorkspaceParams(ws);\n\n return ws;\n }\n\n /**\n * This is used to handle cases where in the capsules dirs we have the same component with different versions\n * The yarn ident is calculated by the manifest (package.json) name if exist\n * in our case for the same component with different versions we will get the same ident which will result errors later.\n * This is make sense in the original case of yarn workspace (it make sense you don't have 2 workspace with same name)\n * However in our case it doesn't make sense.\n * This function will make sure the ident will use the version as well\n * @param ws\n */\n private overrideInternalWorkspaceParams(ws: Workspace) {\n const ident = structUtils.makeIdent(\n ws.manifest.name?.scope || null,\n `${ws.manifest.name?.name}-${ws.manifest.version}`\n );\n\n ws.manifest.name = ident;\n\n // @ts-expect-error: It's ok to initialize it now, even if it's readonly (setup is called right after construction)\n ws.locator = structUtils.makeLocator(ident, ws.reference);\n\n // @ts-expect-error: It's ok to initialize it now, even if it's readonly (setup is called right after construction)\n ws.anchoredDescriptor = structUtils.makeDescriptor(ws.locator, `${WorkspaceResolver.protocol}${ws.relativeCwd}`);\n\n // @ts-expect-error: It's ok to initialize it now, even if it's readonly (setup is called right after construction)\n ws.anchoredLocator = structUtils.makeLocator(ws.locator, `${WorkspaceResolver.protocol}${ws.relativeCwd}`);\n }\n\n private setupWorkspaces(project: Project, workspaces: Workspace[]) {\n project.workspaces = [];\n project.workspacesByCwd = new Map();\n project.workspacesByIdent = new Map();\n\n workspaces.forEach((workspace) => {\n const dup = project.workspacesByIdent.get(workspace.locator.identHash);\n if (typeof dup !== `undefined`) {\n throw new Error(`Duplicate workspace name: ${workspace.cwd} conflicts with ${dup.cwd}`);\n }\n\n project.workspaces.push(workspace);\n project.workspacesByCwd.set(workspace.cwd, workspace);\n project.workspacesByIdent.set(workspace.locator.identHash, workspace);\n });\n }\n\n private async getScopedRegistries(registries: Registries) {\n const scopedRegistries = Object.keys(registries.scopes).reduce((acc, scopeName) => {\n const regDef = registries.scopes[scopeName];\n const authProp = this.getAuthProp(regDef);\n acc[scopeName] = {\n npmRegistryServer: regDef.uri,\n npmAlwaysAuth: regDef.alwaysAuth,\n };\n if (authProp) {\n acc[scopeName][authProp.keyName] = authProp.value;\n }\n\n return acc;\n }, {});\n return scopedRegistries;\n }\n\n private getAuthProp(registry: Registry) {\n if (registry.token) {\n return {\n keyName: 'npmAuthToken',\n value: registry.token,\n };\n }\n if (registry.baseToken) {\n return {\n keyName: 'npmAuthIdent',\n value: registry.baseToken,\n };\n }\n return undefined;\n }\n\n private getCacheFolder(baseDir: string = userHome) {\n return `${baseDir}/.yarn/cache`;\n }\n\n // TODO: implement this to automate configuration.\n private async computeConfiguration(rootDirPath: PortablePath, cacheFolder: string): Promise<Configuration> {\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const pluginConfig = getPluginConfiguration();\n const config = await Configuration.find(rootDirPath, pluginConfig);\n const scopedRegistries = await this.getScopedRegistries(registries);\n const defaultRegistry = registries.defaultRegistry;\n const defaultAuthProp = this.getAuthProp(defaultRegistry);\n\n const data = {\n nodeLinker: 'node-modules',\n installStatePath: `${rootDirPath}/.yarn/install-state.gz`,\n cacheFolder,\n pnpDataPath: `${rootDirPath}/.pnp.meta.json`,\n npmScopes: scopedRegistries,\n virtualFolder: `${rootDirPath}/.yarn/__virtual__`,\n npmRegistryServer: defaultRegistry.uri || 'https://registry.yarnpkg.com',\n npmAlwaysAuth: defaultRegistry.alwaysAuth,\n httpProxy: proxyConfig?.httpProxy,\n httpsProxy: proxyConfig?.httpsProxy,\n enableStrictSsl: proxyConfig.strictSSL,\n // enableInlineBuilds: true,\n globalFolder: `${userHome}/.yarn/global`,\n\n // TODO: check about support for the following: (see more here - https://github.com/yarnpkg/berry/issues/1434#issuecomment-801449010)\n // ca?: string;\n // cert?: string;\n // key?: string;\n // noProxy?: boolean | string;\n };\n\n if (defaultAuthProp) {\n data[defaultAuthProp.keyName] = defaultAuthProp.value;\n }\n // TODO: node-modules is hardcoded now until adding support for pnp.\n config.use('<bit>', data, rootDirPath, {});\n\n return config;\n }\n\n private computeComponents(\n componentManifests: ComponentsManifestsMap,\n componentsDirMap: ComponentMap<string>,\n copyPeer = false\n ): { [key: string]: any } {\n return componentsDirMap.toArray().reduce((acc, [component, dir]) => {\n const packageName = this.pkg.getPackageName(component);\n if (componentManifests.has(packageName)) {\n acc[dir] = componentManifests.get(packageName)?.toJson({ copyPeerToRuntime: copyPeer });\n }\n\n return acc;\n }, {});\n }\n\n private computeDeps(rawDeps?: { [key: string]: string }): Map<IdentHash, Descriptor> {\n const map = new Map<IdentHash, Descriptor>();\n if (!rawDeps) return map;\n\n Object.keys(rawDeps).forEach((packageName) => {\n const ident = structUtils.parseIdent(packageName);\n map.set(ident.identHash, structUtils.makeDescriptor(ident, rawDeps[packageName]));\n });\n\n return map;\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n const parsedPackage = parsePackageName(packageName);\n const parsedVersion = parsedPackage.version;\n if (parsedVersion && semver.valid(parsedVersion)) {\n return {\n packageName: parsedPackage.name,\n version: parsedVersion,\n isSemver: true,\n };\n }\n if (!npmPlugin.resolvers) {\n throw new Error('npm resolvers for yarn API not found');\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_NpmRemapResolver, NpmSemverResolver, NpmTagResolver] = npmPlugin.resolvers;\n let resolver = new NpmSemverResolver();\n const ident = structUtils.parseIdent(parsedPackage.name);\n let range = 'npm:*';\n const rootDirPath = npath.toPortablePath(options.rootDir);\n const cacheDir = this.getCacheFolder(options.cacheRootDir);\n const config = await this.computeConfiguration(rootDirPath, cacheDir);\n\n const project = new Project(rootDirPath, { configuration: config });\n const report = new LightReport({ configuration: config, stdout: process.stdout });\n\n // Handle cases when the version is a dist tag like dev / latest for example bit install lodash@latest\n if (parsedPackage.version) {\n resolver = new NpmTagResolver();\n range = `npm:${parsedPackage.version}`;\n }\n const descriptor = structUtils.makeDescriptor(ident, range);\n\n // @ts-ignore\n project.setupResolutions();\n const resolveOptions: ResolveOptions = {\n project,\n resolver,\n report,\n };\n // const candidates = await resolver.getCandidates(descriptor, new Map(), resolveOptions);\n const candidates = await resolver.getCandidates(descriptor, new Map(), resolveOptions);\n const parsedRange = structUtils.parseRange(candidates[0].reference);\n const version = parsedRange.selector;\n return {\n packageName: parsedPackage.name,\n version,\n isSemver: true,\n };\n }\n}\n"]}
1
+ {"version":3,"sources":["yarn.package-manager.ts"],"names":["YarnPackageManager","constructor","depResolver","pkg","logger","install","rootDir","rootPolicy","componentDirectoryMap","installOptions","setStatusLine","options","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","dependencyFilterFn","components","workspaceManifest","getWorkspaceManifest","undefined","rootDirPath","npath","toPortablePath","cacheDir","getCacheFolder","cacheRootDir","config","computeConfiguration","project","Project","configuration","rootManifest","toJson","includeDir","copyPeerToRuntime","copyPeerToRuntimeOnRoot","manifest","setupResolutions","rootWs","createWorkspace","overrides","manifests","computeComponents","componentsManifestsMap","copyPeerToRuntimeOnComponents","debug","workspacesIdents","workspacesP","Object","keys","map","path","workspace","workspaceIdentHash","locator","identHash","cwd","overrideInternalWorkspaceParams","workspaces","Promise","all","setupWorkspaces","concat","cache","Cache","find","installReport","StreamReport","start","stdout","process","report","persistProject","persistLockfile","hasErrors","exit","exitCode","consoleSuccess","getPackageJsonPath","dir","packageJsonPath","backupPackageJsons","result","rootPackageJsonPath","getFileToBackup","componentsBackupsP","toArray","component","file","getComponentPackageJsonToBackup","restorePackageJsons","backupJsons","promises","entries","exists","fs","pathExists","remove","writeFile","existingFile","readFile","wsPath","name","ws","Workspace","setup","identity","structUtils","parseIdent","version","dependencies","computeDeps","devDependencies","peerDependencies","resolutions","convertOverridesToResolutions","ident","makeIdent","scope","makeLocator","reference","anchoredDescriptor","makeDescriptor","WorkspaceResolver","protocol","relativeCwd","anchoredLocator","workspacesByCwd","Map","workspacesByIdent","forEach","dup","get","Error","push","set","getScopedRegistries","registries","scopedRegistries","scopes","reduce","acc","scopeName","regDef","authProp","getAuthProp","npmRegistryServer","uri","npmAlwaysAuth","alwaysAuth","keyName","value","registry","token","baseToken","baseDir","userHome","cacheFolder","getRegistries","proxyConfig","getProxyConfig","pluginConfig","Configuration","defaultRegistry","defaultAuthProp","data","nodeLinker","installStatePath","pnpDataPath","npmScopes","virtualFolder","httpProxy","httpsProxy","enableStrictSsl","strictSSL","globalFolder","use","componentManifests","componentsDirMap","copyPeer","packageName","getPackageName","has","rawDeps","resolveRemoteVersion","parsedPackage","parsedVersion","semver","valid","isSemver","npmPlugin","resolvers","_NpmRemapResolver","NpmSemverResolver","NpmTagResolver","resolver","range","LightReport","descriptor","resolveOptions","candidates","getCandidates","parsedRange","parseRange","selector","parsedOverrides","override","pattern","from","parentPkg","toYarnResolutionSelector","targetPkg","newPref","pref","fullName","description"],"mappings":"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","sourcesContent":["import * as semver from 'semver';\nimport parsePackageName from 'parse-package-name';\nimport {\n WorkspacePolicy,\n DependencyResolverMain,\n PackageManager,\n PackageManagerInstallOptions,\n ComponentsManifestsMap,\n CreateFromComponentsOptions,\n Registries,\n Registry,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n} from '@teambit/dependency-resolver';\nimport { ComponentMap, Component } from '@teambit/component';\nimport fs from 'fs-extra';\nimport { join, resolve } from 'path';\nimport {\n Workspace,\n Project,\n Configuration,\n structUtils,\n IdentHash,\n Descriptor,\n Cache,\n StreamReport,\n ResolveOptions,\n LightReport,\n WorkspaceResolver,\n} from '@yarnpkg/core';\nimport { getPluginConfiguration } from '@yarnpkg/cli';\nimport { npath, PortablePath } from '@yarnpkg/fslib';\nimport { Resolution } from '@yarnpkg/parsers';\nimport npmPlugin from '@yarnpkg/plugin-npm';\nimport parseOverrides from '@pnpm/parse-overrides';\nimport { PkgMain } from '@teambit/pkg';\nimport userHome from 'user-home';\nimport { Logger } from '@teambit/logger';\n\ntype BackupJsons = {\n [path: string]: Buffer | undefined;\n};\n\nexport class YarnPackageManager implements PackageManager {\n constructor(private depResolver: DependencyResolverMain, private pkg: PkgMain, private logger: Logger) {}\n\n async install(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<void> {\n this.logger.setStatusLine('installing dependencies');\n const options: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: true,\n dependencyFilterFn: installOptions.dependencyFilterFn,\n };\n const components = componentDirectoryMap.components;\n const workspaceManifest = await this.depResolver.getWorkspaceManifest(\n undefined,\n undefined,\n rootPolicy,\n rootDir,\n components,\n options\n );\n\n const rootDirPath = npath.toPortablePath(rootDir);\n const cacheDir = this.getCacheFolder(installOptions.cacheRootDir);\n const config = await this.computeConfiguration(rootDirPath, cacheDir);\n\n const project = new Project(rootDirPath, { configuration: config });\n\n const rootManifest = workspaceManifest.toJson({\n includeDir: true,\n copyPeerToRuntime: installOptions.copyPeerToRuntimeOnRoot,\n }).manifest;\n\n // @ts-ignore\n project.setupResolutions();\n const rootWs = await this.createWorkspace(rootDir, project, rootManifest, installOptions.overrides);\n\n // const manifests = Array.from(workspaceManifest.componentsManifestsMap.entries());\n const manifests = this.computeComponents(\n workspaceManifest.componentsManifestsMap,\n componentDirectoryMap,\n installOptions.copyPeerToRuntimeOnComponents\n );\n\n this.logger.debug('root manifest for installation', rootManifest);\n this.logger.debug('components manifests for installation', manifests);\n\n const workspacesIdents = {};\n\n const workspacesP = Object.keys(manifests).map(async (path) => {\n const manifest = manifests[path];\n const workspace = await this.createWorkspace(path, project, manifest);\n const workspaceIdentHash = workspace.locator.identHash;\n //\n if (workspacesIdents[workspaceIdentHash]) {\n this.logger.debug(\n `overriding internal workspace fields to prevent duplications for workspace ${workspace.cwd}`\n );\n this.overrideInternalWorkspaceParams(workspace);\n }\n workspacesIdents[workspace.locator.identHash] = true;\n return workspace;\n });\n\n const workspaces = await Promise.all(workspacesP);\n\n this.setupWorkspaces(project, workspaces.concat(rootWs));\n\n const cache = await Cache.find(config);\n // const existingPackageJsons = await this.backupPackageJsons(rootDir, componentDirectoryMap);\n\n const installReport = await StreamReport.start(\n {\n stdout: process.stdout,\n configuration: config,\n },\n async (report) => {\n await project.install({\n persistProject: false,\n cache,\n report,\n });\n await project.persistLockfile();\n }\n );\n\n // TODO: check if package.json and link files generation can be prevented through the yarn API or\n // mock the files by hooking to `xfs`.\n // see the persistProject: false above\n // await this.restorePackageJsons(existingPackageJsons);\n\n if (installReport.hasErrors()) process.exit(installReport.exitCode());\n\n this.logger.consoleSuccess('installing dependencies');\n }\n\n private getPackageJsonPath(dir: string): string {\n const packageJsonPath = join(dir, 'package.json');\n return packageJsonPath;\n }\n\n private async backupPackageJsons(rootDir: string, componentDirectoryMap: ComponentMap<string>): Promise<BackupJsons> {\n const result: BackupJsons = {};\n const rootPackageJsonPath = this.getPackageJsonPath(rootDir);\n result[rootPackageJsonPath] = await this.getFileToBackup(rootPackageJsonPath);\n const componentsBackupsP = componentDirectoryMap.toArray().map(async ([component, dir]) => {\n const { packageJsonPath, file } = await this.getComponentPackageJsonToBackup(component, dir);\n result[packageJsonPath] = file;\n });\n await Promise.all(componentsBackupsP);\n return result;\n }\n\n private async restorePackageJsons(backupJsons: BackupJsons): Promise<void | undefined> {\n const promises = Object.entries(backupJsons).map(async ([packageJsonPath, file]) => {\n const exists = await fs.pathExists(packageJsonPath);\n // if there is no backup it means it wasn't there before and should be deleted\n if (!file) {\n if (exists) {\n return fs.remove(packageJsonPath);\n }\n return undefined;\n }\n return fs.writeFile(packageJsonPath, file);\n });\n await Promise.all(promises);\n }\n\n private async getFileToBackup(packageJsonPath: string): Promise<Buffer | undefined> {\n const exists = await fs.pathExists(packageJsonPath);\n if (!exists) {\n return undefined;\n }\n const existingFile = await fs.readFile(packageJsonPath);\n return existingFile;\n }\n\n private async getComponentPackageJsonToBackup(\n component: Component,\n dir: string\n ): Promise<{ packageJsonPath: string; file: Buffer | undefined }> {\n const packageJsonPath = resolve(join(dir, 'package.json'));\n const result = {\n packageJsonPath,\n file: await this.getFileToBackup(packageJsonPath),\n };\n return result;\n }\n\n private async createWorkspace(rootDir: string, project: Project, manifest: any, overrides?: Record<string, string>) {\n const wsPath = npath.toPortablePath(rootDir);\n const name = manifest.name || 'workspace';\n\n const ws = new Workspace(wsPath, { project });\n await ws.setup();\n const identity = structUtils.parseIdent(name);\n // const needOverrideInternal = !!ws.manifest.name && !!manifest.name;\n ws.manifest.name = identity;\n ws.manifest.version = manifest.version;\n ws.manifest.dependencies = this.computeDeps(manifest.dependencies);\n ws.manifest.devDependencies = this.computeDeps(manifest.devDependencies);\n ws.manifest.peerDependencies = this.computeDeps(manifest.peerDependencies);\n if (overrides) {\n ws.manifest.resolutions = convertOverridesToResolutions(overrides);\n }\n\n // if (needOverrideInternal) this.overrideInternalWorkspaceParams(ws);\n\n return ws;\n }\n\n /**\n * This is used to handle cases where in the capsules dirs we have the same component with different versions\n * The yarn ident is calculated by the manifest (package.json) name if exist\n * in our case for the same component with different versions we will get the same ident which will result errors later.\n * This is make sense in the original case of yarn workspace (it make sense you don't have 2 workspace with same name)\n * However in our case it doesn't make sense.\n * This function will make sure the ident will use the version as well\n * @param ws\n */\n private overrideInternalWorkspaceParams(ws: Workspace) {\n const ident = structUtils.makeIdent(\n ws.manifest.name?.scope || null,\n `${ws.manifest.name?.name}-${ws.manifest.version}`\n );\n\n ws.manifest.name = ident;\n\n // @ts-expect-error: It's ok to initialize it now, even if it's readonly (setup is called right after construction)\n ws.locator = structUtils.makeLocator(ident, ws.reference);\n\n // @ts-expect-error: It's ok to initialize it now, even if it's readonly (setup is called right after construction)\n ws.anchoredDescriptor = structUtils.makeDescriptor(ws.locator, `${WorkspaceResolver.protocol}${ws.relativeCwd}`);\n\n // @ts-expect-error: It's ok to initialize it now, even if it's readonly (setup is called right after construction)\n ws.anchoredLocator = structUtils.makeLocator(ws.locator, `${WorkspaceResolver.protocol}${ws.relativeCwd}`);\n }\n\n private setupWorkspaces(project: Project, workspaces: Workspace[]) {\n project.workspaces = [];\n project.workspacesByCwd = new Map();\n project.workspacesByIdent = new Map();\n\n workspaces.forEach((workspace) => {\n const dup = project.workspacesByIdent.get(workspace.locator.identHash);\n if (typeof dup !== `undefined`) {\n throw new Error(`Duplicate workspace name: ${workspace.cwd} conflicts with ${dup.cwd}`);\n }\n\n project.workspaces.push(workspace);\n project.workspacesByCwd.set(workspace.cwd, workspace);\n project.workspacesByIdent.set(workspace.locator.identHash, workspace);\n });\n }\n\n private async getScopedRegistries(registries: Registries) {\n const scopedRegistries = Object.keys(registries.scopes).reduce((acc, scopeName) => {\n const regDef = registries.scopes[scopeName];\n const authProp = this.getAuthProp(regDef);\n acc[scopeName] = {\n npmRegistryServer: regDef.uri,\n npmAlwaysAuth: regDef.alwaysAuth,\n };\n if (authProp) {\n acc[scopeName][authProp.keyName] = authProp.value;\n }\n\n return acc;\n }, {});\n return scopedRegistries;\n }\n\n private getAuthProp(registry: Registry) {\n if (registry.token) {\n return {\n keyName: 'npmAuthToken',\n value: registry.token,\n };\n }\n if (registry.baseToken) {\n return {\n keyName: 'npmAuthIdent',\n value: registry.baseToken,\n };\n }\n return undefined;\n }\n\n private getCacheFolder(baseDir: string = userHome) {\n return `${baseDir}/.yarn/cache`;\n }\n\n // TODO: implement this to automate configuration.\n private async computeConfiguration(rootDirPath: PortablePath, cacheFolder: string): Promise<Configuration> {\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const pluginConfig = getPluginConfiguration();\n const config = await Configuration.find(rootDirPath, pluginConfig);\n const scopedRegistries = await this.getScopedRegistries(registries);\n const defaultRegistry = registries.defaultRegistry;\n const defaultAuthProp = this.getAuthProp(defaultRegistry);\n\n const data = {\n nodeLinker: 'node-modules',\n installStatePath: `${rootDirPath}/.yarn/install-state.gz`,\n cacheFolder,\n pnpDataPath: `${rootDirPath}/.pnp.meta.json`,\n npmScopes: scopedRegistries,\n virtualFolder: `${rootDirPath}/.yarn/__virtual__`,\n npmRegistryServer: defaultRegistry.uri || 'https://registry.yarnpkg.com',\n npmAlwaysAuth: defaultRegistry.alwaysAuth,\n httpProxy: proxyConfig?.httpProxy,\n httpsProxy: proxyConfig?.httpsProxy,\n enableStrictSsl: proxyConfig.strictSSL,\n // enableInlineBuilds: true,\n globalFolder: `${userHome}/.yarn/global`,\n\n // TODO: check about support for the following: (see more here - https://github.com/yarnpkg/berry/issues/1434#issuecomment-801449010)\n // ca?: string;\n // cert?: string;\n // key?: string;\n // noProxy?: boolean | string;\n };\n\n if (defaultAuthProp) {\n data[defaultAuthProp.keyName] = defaultAuthProp.value;\n }\n // TODO: node-modules is hardcoded now until adding support for pnp.\n config.use('<bit>', data, rootDirPath, {});\n\n return config;\n }\n\n private computeComponents(\n componentManifests: ComponentsManifestsMap,\n componentsDirMap: ComponentMap<string>,\n copyPeer = false\n ): { [key: string]: any } {\n return componentsDirMap.toArray().reduce((acc, [component, dir]) => {\n const packageName = this.pkg.getPackageName(component);\n if (componentManifests.has(packageName)) {\n acc[dir] = componentManifests.get(packageName)?.toJson({ copyPeerToRuntime: copyPeer });\n }\n\n return acc;\n }, {});\n }\n\n private computeDeps(rawDeps?: { [key: string]: string }): Map<IdentHash, Descriptor> {\n const map = new Map<IdentHash, Descriptor>();\n if (!rawDeps) return map;\n\n Object.keys(rawDeps).forEach((packageName) => {\n const ident = structUtils.parseIdent(packageName);\n map.set(ident.identHash, structUtils.makeDescriptor(ident, rawDeps[packageName]));\n });\n\n return map;\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n const parsedPackage = parsePackageName(packageName);\n const parsedVersion = parsedPackage.version;\n if (parsedVersion && semver.valid(parsedVersion)) {\n return {\n packageName: parsedPackage.name,\n version: parsedVersion,\n isSemver: true,\n };\n }\n if (!npmPlugin.resolvers) {\n throw new Error('npm resolvers for yarn API not found');\n }\n\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const [_NpmRemapResolver, NpmSemverResolver, NpmTagResolver] = npmPlugin.resolvers;\n let resolver = new NpmSemverResolver();\n const ident = structUtils.parseIdent(parsedPackage.name);\n let range = 'npm:*';\n const rootDirPath = npath.toPortablePath(options.rootDir);\n const cacheDir = this.getCacheFolder(options.cacheRootDir);\n const config = await this.computeConfiguration(rootDirPath, cacheDir);\n\n const project = new Project(rootDirPath, { configuration: config });\n const report = new LightReport({ configuration: config, stdout: process.stdout });\n\n // Handle cases when the version is a dist tag like dev / latest for example bit install lodash@latest\n if (parsedPackage.version) {\n resolver = new NpmTagResolver();\n range = `npm:${parsedPackage.version}`;\n }\n const descriptor = structUtils.makeDescriptor(ident, range);\n\n // @ts-ignore\n project.setupResolutions();\n const resolveOptions: ResolveOptions = {\n project,\n resolver,\n report,\n };\n // const candidates = await resolver.getCandidates(descriptor, new Map(), resolveOptions);\n const candidates = await resolver.getCandidates(descriptor, new Map(), resolveOptions);\n const parsedRange = structUtils.parseRange(candidates[0].reference);\n const version = parsedRange.selector;\n return {\n packageName: parsedPackage.name,\n version,\n isSemver: true,\n };\n }\n}\n\nfunction convertOverridesToResolutions(\n overrides: Record<string, string>\n): Array<{ pattern: Resolution; reference: string }> {\n const parsedOverrides = parseOverrides(overrides);\n return parsedOverrides.map((override) => ({\n pattern: {\n from: override.parentPkg ? toYarnResolutionSelector(override.parentPkg) : undefined,\n descriptor: toYarnResolutionSelector(override.targetPkg),\n },\n reference: override.newPref,\n }));\n}\n\nfunction toYarnResolutionSelector({ name, pref }: { name: string; pref?: string }) {\n return {\n fullName: name,\n description: pref,\n };\n}\n"]}
package/package.json CHANGED
@@ -1,18 +1,20 @@
1
1
  {
2
2
  "name": "@teambit/yarn",
3
- "version": "0.0.579",
3
+ "version": "0.0.583",
4
4
  "homepage": "https://bit.dev/teambit/dependencies/yarn",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.dependencies",
8
8
  "name": "yarn",
9
- "version": "0.0.579"
9
+ "version": "0.0.583"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/harmony": "0.2.11",
13
+ "@pnpm/parse-overrides": "1.0.0",
13
14
  "@yarnpkg/cli": "3.0.1",
14
15
  "@yarnpkg/core": "^3.1.0-rc.1",
15
16
  "@yarnpkg/fslib": "2.5.1",
17
+ "@yarnpkg/parsers": "2.4.1",
16
18
  "@yarnpkg/plugin-npm": "2.5.0",
17
19
  "fs-extra": "10.0.0",
18
20
  "parse-package-name": "0.1.0",
@@ -20,11 +22,11 @@
20
22
  "user-home": "2.0.0",
21
23
  "@babel/runtime": "7.12.18",
22
24
  "core-js": "^3.0.0",
23
- "@teambit/cli": "0.0.399",
24
- "@teambit/dependency-resolver": "0.0.578",
25
- "@teambit/logger": "0.0.487",
26
- "@teambit/pkg": "0.0.578",
27
- "@teambit/component": "0.0.578"
25
+ "@teambit/cli": "0.0.400",
26
+ "@teambit/dependency-resolver": "0.0.582",
27
+ "@teambit/logger": "0.0.488",
28
+ "@teambit/pkg": "0.0.582",
29
+ "@teambit/component": "0.0.582"
28
30
  },
29
31
  "devDependencies": {
30
32
  "@types/react": "^17.0.8",
@@ -35,10 +37,10 @@
35
37
  "@types/jest": "^26.0.0",
36
38
  "@types/react-dom": "^17.0.5",
37
39
  "@types/node": "12.20.4",
38
- "@teambit/dependencies.aspect-docs.yarn": "0.0.121"
40
+ "@teambit/dependencies.aspect-docs.yarn": "0.0.122"
39
41
  },
40
42
  "peerDependencies": {
41
- "@teambit/legacy": "1.0.185",
43
+ "@teambit/legacy": "1.0.186",
42
44
  "react-dom": "^16.8.0 || ^17.0.0",
43
45
  "react": "^16.8.0 || ^17.0.0"
44
46
  },
@@ -66,7 +68,7 @@
66
68
  "react": "-"
67
69
  },
68
70
  "peerDependencies": {
69
- "@teambit/legacy": "1.0.185",
71
+ "@teambit/legacy": "1.0.186",
70
72
  "react-dom": "^16.8.0 || ^17.0.0",
71
73
  "react": "^16.8.0 || ^17.0.0"
72
74
  }