@teambit/yarn 0.0.600 → 0.0.608

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1,2 @@
1
+ /// <reference types="react" />
1
2
  export declare const Logo: () => JSX.Element;
@@ -132,7 +132,7 @@ class YarnPackageManager {
132
132
  const rootDirPath = _fslib().npath.toPortablePath(rootDir);
133
133
 
134
134
  const cacheDir = this.getCacheFolder(installOptions.cacheRootDir);
135
- const config = await this.computeConfiguration(rootDirPath, cacheDir);
135
+ const config = await this.computeConfiguration(rootDirPath, cacheDir, installOptions.nodeLinker);
136
136
  const project = new (_core().Project)(rootDirPath, {
137
137
  configuration: config
138
138
  });
@@ -349,7 +349,7 @@ class YarnPackageManager {
349
349
  } // TODO: implement this to automate configuration.
350
350
 
351
351
 
352
- async computeConfiguration(rootDirPath, cacheFolder) {
352
+ async computeConfiguration(rootDirPath, cacheFolder, nodeLinker) {
353
353
  const registries = await this.depResolver.getRegistries();
354
354
  const proxyConfig = await this.depResolver.getProxyConfig();
355
355
  const pluginConfig = (0, _cli().getPluginConfiguration)();
@@ -358,7 +358,7 @@ class YarnPackageManager {
358
358
  const defaultRegistry = registries.defaultRegistry;
359
359
  const defaultAuthProp = this.getAuthProp(defaultRegistry);
360
360
  const data = {
361
- nodeLinker: 'node-modules',
361
+ nodeLinker: nodeLinker === 'isolated' ? 'pnpm' : 'node-modules',
362
362
  installStatePath: `${rootDirPath}/.yarn/install-state.gz`,
363
363
  cacheFolder,
364
364
  pnpDataPath: `${rootDirPath}/.pnp.meta.json`,
@@ -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","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","versionType","type","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 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';\nimport versionSelectorType from 'version-selector-type';\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 const versionType = parsedVersion && versionSelectorType(parsedVersion)?.type;\n if (versionType === 'version') {\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 (versionType === 'tag') {\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"]}
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","nodeLinker","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","installStatePath","pnpDataPath","npmScopes","virtualFolder","httpProxy","httpsProxy","enableStrictSsl","strictSSL","globalFolder","use","componentManifests","componentsDirMap","copyPeer","packageName","getPackageName","has","rawDeps","resolveRemoteVersion","parsedPackage","parsedVersion","versionType","type","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 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';\nimport versionSelectorType from 'version-selector-type';\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, installOptions.nodeLinker);\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(\n rootDirPath: PortablePath,\n cacheFolder: string,\n nodeLinker?: 'hoisted' | 'isolated'\n ): 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: nodeLinker === 'isolated' ? 'pnpm' : '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 const versionType = parsedVersion && versionSelectorType(parsedVersion)?.type;\n if (versionType === 'version') {\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 (versionType === 'tag') {\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,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/yarn",
3
- "version": "0.0.600",
3
+ "version": "0.0.608",
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.600"
9
+ "version": "0.0.608"
10
10
  },
11
11
  "dependencies": {
12
12
  "@teambit/harmony": "0.2.11",
@@ -22,13 +22,13 @@
22
22
  "version-selector-type": "3.0.0",
23
23
  "@babel/runtime": "7.12.18",
24
24
  "core-js": "^3.0.0",
25
- "@teambit/cli": "0.0.411",
26
- "@teambit/dependency-resolver": "0.0.599",
27
- "@teambit/logger": "0.0.500",
28
- "@teambit/pkg": "0.0.599",
29
- "@teambit/component": "0.0.599",
25
+ "@teambit/cli": "0.0.419",
26
+ "@teambit/dependency-resolver": "0.0.607",
27
+ "@teambit/logger": "0.0.508",
28
+ "@teambit/pkg": "0.0.607",
29
+ "@teambit/component": "0.0.607",
30
30
  "@teambit/ui-foundation.ui.use-box.menu": "0.0.108",
31
- "@teambit/ui": "0.0.599"
31
+ "@teambit/ui": "0.0.607"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/react": "^17.0.8",
@@ -41,7 +41,7 @@
41
41
  "@teambit/dependencies.aspect-docs.yarn": "0.0.131"
42
42
  },
43
43
  "peerDependencies": {
44
- "@teambit/legacy": "1.0.198",
44
+ "@teambit/legacy": "1.0.202",
45
45
  "react-dom": "^16.8.0 || ^17.0.0",
46
46
  "react": "^16.8.0 || ^17.0.0"
47
47
  },
@@ -69,7 +69,7 @@
69
69
  "react": "-"
70
70
  },
71
71
  "peerDependencies": {
72
- "@teambit/legacy": "1.0.198",
72
+ "@teambit/legacy": "1.0.202",
73
73
  "react-dom": "^16.8.0 || ^17.0.0",
74
74
  "react": "^16.8.0 || ^17.0.0"
75
75
  }