@teambit/isolator 0.0.834 → 0.0.835
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.
@@ -103,16 +103,6 @@ function _logger() {
|
|
103
103
|
return data;
|
104
104
|
}
|
105
105
|
|
106
|
-
function _pMapSeries() {
|
107
|
-
const data = _interopRequireDefault(require("p-map-series"));
|
108
|
-
|
109
|
-
_pMapSeries = function () {
|
110
|
-
return data;
|
111
|
-
};
|
112
|
-
|
113
|
-
return data;
|
114
|
-
}
|
115
|
-
|
116
106
|
function _logger2() {
|
117
107
|
const data = require("@teambit/logger");
|
118
108
|
|
@@ -677,14 +667,13 @@ class IsolatorMain {
|
|
677
667
|
}
|
678
668
|
|
679
669
|
async updateWithCurrentPackageJsonData(capsulesWithPackagesData, capsules) {
|
680
|
-
|
681
|
-
return (0, _pMapSeries().default)(capsules, async capsule => {
|
670
|
+
return Promise.all(capsules.map(async capsule => {
|
682
671
|
const packageJson = await this.getCurrentPackageJson(capsule, capsules);
|
683
672
|
const found = capsulesWithPackagesData.filter(c => c.capsule.component.id.isEqual(capsule.component.id));
|
684
673
|
if (!found.length) throw new Error(`updateWithCurrentPackageJsonData unable to find ${capsule.component.id}`);
|
685
674
|
if (found.length > 1) throw new Error(`updateWithCurrentPackageJsonData found duplicate capsules: ${capsule.component.id.toString()}""`);
|
686
675
|
found[0].currentPackageJson = packageJson.packageJsonObject;
|
687
|
-
});
|
676
|
+
}));
|
688
677
|
}
|
689
678
|
|
690
679
|
async getCurrentPackageJson(capsule, capsules) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["DEFAULT_ISOLATE_INSTALL_OPTIONS","installPackages","dedupe","installPeersFromEnvs","copyPeerToRuntimeOnComponents","copyPeerToRuntimeOnRoot","IsolatorMain","provider","dependencyResolver","loggerExtension","componentAspect","graphAspect","globalConfig","aspectLoader","logger","createLogger","IsolatorAspect","id","isolator","constructor","graphBuilder","isolateComponents","seeders","opts","legacyScope","host","getHost","legacyLogger","debug","join","JSON","stringify","Object","assign","name","createGraphOpts","pick","componentsToIsolate","seedersOnly","getMany","createGraph","baseDir","path","capsuleList","createCapsules","Network","getCapsulesRootDir","rootBaseDir","getGraphOpts","graph","getGraph","successorsSubgraph","map","toString","compsAndDeps","nodes","node","attr","existingCompsP","c","existing","includeFromNestedHosts","hasIdNested","hasId","undefined","existingComps","Promise","all","compact","cloneCapsule","originalCapsule","newBaseDir","network","component","clonedCapsule","seedersCapsules","fs","copy","components","installOptions","useNesting","hasRootComponents","config","capsulesDir","emptyRootDir","emptyDir","capsules","createCapsulesFromComponents","allCapsuleList","CapsuleList","fromArray","getExistingAsIs","skipIfExists","existingCapsules","filter","capsule","existsSync","length","capsulesWithPackagesData","getCapsulesPreviousPackageJson","writeComponentsInCapsules","updateWithCurrentPackageJsonData","cachePackagesOnCapsulesRoot","linkingOptions","newCapsuleList","installInCapsules","linkInCapsules","rootDir","forEach","capsuleWithPackageData","currentPackageJson","Error","writeFileSync","PACKAGE_JSON","isolateInstallOptions","installer","getInstaller","cacheRootDirectory","peerOnlyPolicy","getWorkspacePeersOnlyPolicy","installTeambitBit","packageManagerConfigRootDir","packageManagerInstallOptions","overrides","capsulesOverrides","rootComponentsForCapsules","keepExistingModulesDir","install","toComponentMap","linker","getLinker","capsulesWithModifiedPackageJson","getCapsulesWithModifiedPackageJson","link","legacyLink","linkNestedDepsInNM","symlinkOnCapsuleRoot","symlinkDependenciesToCapsules","coreAspectIds","getCoreAspectIds","coreAspectCapsules","compIdWithoutVersion","split","includes","symlinkBitLegacyToCapsules","packageJsonHasChanged","wereDependenciesInPackageJsonChanged","modifiedComps","unmodifiedComps","isModified","buildStatus","push","legacyUnmodifiedComps","state","_consumer","clone","legacyModifiedComps","legacyComponents","importMultipleDistsArtifacts","allIds","BitIds","getCapsule","params","getComponentWriteParams","scope","componentWriter","ComponentWriter","dataToPersist","populateComponentsFilesToWriteForCapsule","persistAllToCapsule","keepExistingCapsule","workspacePolicy","getWorkspacePolicy","byLifecycleType","ids","bitMap","BitMap","writeToPath","consumer","override","writePackageJson","writeConfig","ignoreBitDependencies","excludeRegistryPrefix","isolated","tuples","ComponentMap","create","list","workspacePath","workspaceCapsuleFolder","readdir","capsuleFullPaths","workspace","e","code","capsulesRootBaseDir","getRootDirOfAllCapsules","hash","deleteCapsules","capsuleBaseDir","dirToDelete","remove","Capsule","createFromComponent","getGlobalCapsulesBaseDir","previousPackageJson","DEPENDENCIES_FIELDS","some","field","equals","packageJsonPath","previousPackageJsonRaw","promises","readFile","encoding","parse","pMapSeries","packageJson","getCurrentPackageJson","found","isEqual","packageJsonObject","currentVersion","getComponentPackageVersionWithCache","getComponentDepsManifest","dependencies","manifest","devDependencies","compDeps","toTypeArray","dep","depCapsule","componentId","version","snapToSemver","keyName","KEY_NAME_BY_LIFECYCLE_TYPE","lifecycle","entry","toManifest","packageName","deps","getDependencies","PackageJsonFile","loadFromCapsuleSync","addDependencies","packageJsonFile","addDevDependencies","addOrUpdateProperty","idStr","_componentsPackagesVersionCache","getComponentPackageVersion","MainRuntime","DependencyResolverAspect","LoggerAspect","ComponentAspect","GraphAspect","GlobalConfigAspect","AspectLoaderAspect","addRuntime"],"sources":["isolator.main.runtime.ts"],"sourcesContent":["import { MainRuntime } from '@teambit/cli';\nimport { compact, pick } from 'lodash';\nimport { AspectLoaderMain, AspectLoaderAspect } from '@teambit/aspect-loader';\nimport { Component, ComponentMap, ComponentAspect, ComponentID } from '@teambit/component';\nimport type { ComponentMain, ComponentFactory } from '@teambit/component';\nimport { getComponentPackageVersion, snapToSemver } from '@teambit/component-package-version';\nimport { GraphAspect } from '@teambit/graph';\nimport type { GraphBuilder } from '@teambit/graph';\nimport {\n DependencyResolverAspect,\n DependencyResolverMain,\n LinkingOptions,\n WorkspacePolicy,\n InstallOptions,\n DependencyList,\n ComponentDependency,\n KEY_NAME_BY_LIFECYCLE_TYPE,\n PackageManagerInstallOptions,\n} from '@teambit/dependency-resolver';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport pMapSeries from 'p-map-series';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport LegacyScope from '@teambit/legacy/dist/scope/scope';\nimport GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport { DEPENDENCIES_FIELDS, PACKAGE_JSON } from '@teambit/legacy/dist/constants';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport PackageJsonFile from '@teambit/legacy/dist/consumer/component/package-json-file';\nimport { importMultipleDistsArtifacts } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport fs from 'fs-extra';\nimport hash from 'object-hash';\nimport path from 'path';\nimport equals from 'ramda/src/equals';\nimport BitMap from '@teambit/legacy/dist/consumer/bit-map';\nimport ComponentWriter, { ComponentWriterProps } from '@teambit/legacy/dist/consumer/component-ops/component-writer';\nimport { Capsule } from './capsule';\nimport CapsuleList from './capsule-list';\nimport { IsolatorAspect } from './isolator.aspect';\nimport { symlinkBitLegacyToCapsules } from './symlink-bit-legacy-to-capsules';\nimport { symlinkOnCapsuleRoot, symlinkDependenciesToCapsules } from './symlink-dependencies-to-capsules';\nimport { Network } from './network';\n\nexport type ListResults = {\n workspace: string;\n capsules: string[];\n};\n\nexport type IsolateComponentsInstallOptions = {\n installPackages?: boolean; // default: true\n // TODO: add back when depResolver.getInstaller support it\n // packageManager?: string;\n dedupe?: boolean;\n copyPeerToRuntimeOnComponents?: boolean;\n copyPeerToRuntimeOnRoot?: boolean;\n installPeersFromEnvs?: boolean;\n installTeambitBit?: boolean;\n packageManagerConfigRootDir?: string;\n // When set to true, the newly added components will be grouped inside one directory.\n // This is useful for scope aspect capsules, which are installed in stages.\n useNesting?: boolean;\n};\n\ntype CreateGraphOptions = {\n /**\n * include components that exists in nested hosts. for example include components that exist in scope but not in the workspace\n */\n includeFromNestedHosts?: boolean;\n\n /**\n * Force specific host to get the component from.\n */\n host?: ComponentFactory;\n};\n\nexport type IsolateComponentsOptions = CreateGraphOptions & {\n name?: string;\n /**\n * absolute path to put all the capsules dirs inside.\n */\n rootBaseDir?: string;\n\n /**\n * the capsule root-dir based on a *hash* of this baseDir, not on the baseDir itself.\n * A folder with this hash as its name will be created in the rootBaseDir\n * By default this value will be the host path\n */\n baseDir?: string;\n\n /**\n * create a new capsule with a random string attached to the path suffix\n */\n alwaysNew?: boolean;\n\n /**\n * installation options\n */\n installOptions?: IsolateComponentsInstallOptions;\n\n linkingOptions?: LinkingOptions;\n\n /**\n * delete the capsule rootDir first. it makes sure that the isolation process starts fresh with\n * no previous capsules. for build and tag this is true.\n */\n emptyRootDir?: boolean;\n\n /**\n * skip the reproduction of the capsule in case it exists.\n */\n skipIfExists?: boolean;\n\n /**\n * get existing capsule without doing any changes, no writes, no installations.\n */\n getExistingAsIs?: boolean;\n\n /**\n * place the package-manager cache on the capsule-root\n */\n cachePackagesOnCapsulesRoot?: boolean;\n\n /**\n * do not build graph with all dependencies. isolate the seeders only.\n */\n seedersOnly?: boolean;\n\n /**\n * Force specific host to get the component from.\n */\n host?: ComponentFactory;\n\n packageManagerConfigRootDir?: string;\n};\n\ntype CapsulePackageJsonData = {\n capsule: Capsule;\n currentPackageJson?: Record<string, any>;\n previousPackageJson: Record<string, any> | null;\n};\n\nconst DEFAULT_ISOLATE_INSTALL_OPTIONS: IsolateComponentsInstallOptions = {\n installPackages: true,\n dedupe: true,\n installPeersFromEnvs: true,\n copyPeerToRuntimeOnComponents: false,\n copyPeerToRuntimeOnRoot: true,\n};\n\nexport class IsolatorMain {\n static runtime = MainRuntime;\n static dependencies = [\n DependencyResolverAspect,\n LoggerAspect,\n ComponentAspect,\n GraphAspect,\n GlobalConfigAspect,\n AspectLoaderAspect,\n ];\n static defaultConfig = {};\n _componentsPackagesVersionCache: { [idStr: string]: string } = {}; // cache packages versions of components\n\n static async provider([\n dependencyResolver,\n loggerExtension,\n componentAspect,\n graphAspect,\n globalConfig,\n aspectLoader,\n ]: [\n DependencyResolverMain,\n LoggerMain,\n ComponentMain,\n GraphBuilder,\n GlobalConfigMain,\n AspectLoaderMain\n ]): Promise<IsolatorMain> {\n const logger = loggerExtension.createLogger(IsolatorAspect.id);\n const isolator = new IsolatorMain(\n dependencyResolver,\n logger,\n componentAspect,\n graphAspect,\n globalConfig,\n aspectLoader\n );\n return isolator;\n }\n constructor(\n private dependencyResolver: DependencyResolverMain,\n private logger: Logger,\n private componentAspect: ComponentMain,\n private graphBuilder: GraphBuilder,\n private globalConfig: GlobalConfigMain,\n private aspectLoader: AspectLoaderMain\n ) {}\n\n // TODO: the legacy scope used for the component writer, which then decide if it need to write the artifacts and dists\n // TODO: we should think of another way to provide it (maybe a new opts) then take the scope internally from the host\n async isolateComponents(\n seeders: ComponentID[],\n opts: IsolateComponentsOptions = {},\n legacyScope?: LegacyScope\n ): Promise<Network> {\n const host = this.componentAspect.getHost();\n legacyLogger.debug(\n `isolatorExt, createNetwork ${seeders.join(', ')}. opts: ${JSON.stringify(\n Object.assign({}, opts, { host: opts.host?.name })\n )}`\n );\n const createGraphOpts = pick(opts, ['includeFromNestedHosts', 'host']);\n const componentsToIsolate = opts.seedersOnly\n ? await host.getMany(seeders)\n : await this.createGraph(seeders, createGraphOpts);\n opts.baseDir = opts.baseDir || host.path;\n const capsuleList = await this.createCapsules(componentsToIsolate, opts, legacyScope);\n return new Network(capsuleList, seeders, this.getCapsulesRootDir(opts.baseDir, opts.rootBaseDir));\n }\n\n private async createGraph(seeders: ComponentID[], opts: CreateGraphOptions = {}): Promise<Component[]> {\n const host = this.componentAspect.getHost();\n const getGraphOpts = pick(opts, ['host']);\n const graph = await this.graphBuilder.getGraph(seeders, getGraphOpts);\n const successorsSubgraph = graph.successorsSubgraph(seeders.map((id) => id.toString()));\n const compsAndDeps = successorsSubgraph.nodes.map((node) => node.attr);\n // do not ignore the version here. a component might be in .bitmap with one version and\n // installed as a package with another version. we don't want them both.\n const existingCompsP = compsAndDeps.map(async (c) => {\n let existing;\n if (opts.includeFromNestedHosts) {\n existing = await host.hasIdNested(c.id, true);\n } else {\n existing = await host.hasId(c.id);\n }\n if (existing) return c;\n return undefined;\n });\n const existingComps = await Promise.all(existingCompsP);\n return compact(existingComps);\n }\n\n /**\n *\n * @param originalCapsule the capsule that contains the original component\n * @param newBaseDir relative path. (it will be saved inside `this.getRootDirOfAllCapsules()`. the final path of the capsule will be getRootDirOfAllCapsules() + newBaseDir + filenameify(component.id))\n * @returns a new capsule with the same content of the original capsule but with a new baseDir and all packages\n * installed in the newBaseDir.\n */\n async cloneCapsule(originalCapsule: Capsule, newBaseDir: string): Promise<Capsule> {\n const network = await this.isolateComponents([originalCapsule.component.id], { baseDir: newBaseDir });\n const clonedCapsule = network.seedersCapsules[0];\n await fs.copy(originalCapsule.path, clonedCapsule.path);\n return clonedCapsule;\n }\n\n /**\n * Create capsules for the provided components\n * do not use this outside directly, use isolate components which build the entire network\n * @param components\n * @param opts\n * @param legacyScope\n */\n private async createCapsules(\n components: Component[],\n opts: IsolateComponentsOptions,\n legacyScope?: Scope\n ): Promise<CapsuleList> {\n const installOptions = {\n ...DEFAULT_ISOLATE_INSTALL_OPTIONS,\n ...opts.installOptions,\n useNesting: this.dependencyResolver.hasRootComponents() && opts.installOptions?.useNesting,\n };\n const config = { installPackages: true, ...opts };\n const capsulesDir = this.getCapsulesRootDir(opts.baseDir as string, opts.rootBaseDir);\n if (opts.emptyRootDir) {\n await fs.emptyDir(capsulesDir);\n }\n let capsules = await this.createCapsulesFromComponents(components, capsulesDir, config);\n const allCapsuleList = CapsuleList.fromArray(capsules);\n let capsuleList = allCapsuleList;\n if (opts.getExistingAsIs) {\n return capsuleList;\n }\n\n if (opts.skipIfExists) {\n if (!installOptions.useNesting) {\n const existingCapsules = CapsuleList.fromArray(\n capsuleList.filter((capsule) => capsule.fs.existsSync('package.json'))\n );\n\n if (existingCapsules.length === capsuleList.length) return existingCapsules;\n } else {\n capsules = capsules.filter((capsule) => !capsule.fs.existsSync('package.json'));\n capsuleList = CapsuleList.fromArray(capsules);\n }\n }\n const capsulesWithPackagesData = await this.getCapsulesPreviousPackageJson(capsules);\n\n await this.writeComponentsInCapsules(components, capsuleList, legacyScope);\n await this.updateWithCurrentPackageJsonData(capsulesWithPackagesData, capsuleList);\n if (installOptions.installPackages) {\n const cachePackagesOnCapsulesRoot = opts.cachePackagesOnCapsulesRoot ?? false;\n const linkingOptions = opts.linkingOptions ?? {};\n if (installOptions.useNesting) {\n await Promise.all(\n capsuleList.map(async (capsule) => {\n const newCapsuleList = CapsuleList.fromArray([capsule]);\n await this.installInCapsules(capsule.path, newCapsuleList, installOptions, cachePackagesOnCapsulesRoot);\n await this.linkInCapsules(capsulesDir, newCapsuleList, capsulesWithPackagesData, linkingOptions);\n })\n );\n } else {\n // When nesting is used, the first component (which is the entry component) is installed in the root\n // and all other components (which are the dependencies of the entry component) are installed in\n // a subdirectory.\n const rootDir = installOptions?.useNesting ? capsuleList[0].path : capsulesDir;\n await this.installInCapsules(rootDir, capsuleList, installOptions, cachePackagesOnCapsulesRoot);\n await this.linkInCapsules(capsulesDir, capsuleList, capsulesWithPackagesData, linkingOptions);\n }\n }\n\n // rewrite the package-json with the component dependencies in it. the original package.json\n // that was written before, didn't have these dependencies in order for the package-manager to\n // be able to install them without crushing when the versions don't exist yet\n capsulesWithPackagesData.forEach((capsuleWithPackageData) => {\n const { currentPackageJson, capsule } = capsuleWithPackageData;\n if (!currentPackageJson)\n throw new Error(\n `isolator.createCapsules, unable to find currentPackageJson for ${capsule.component.id.toString()}`\n );\n capsuleWithPackageData.capsule.fs.writeFileSync(PACKAGE_JSON, JSON.stringify(currentPackageJson, null, 2));\n });\n\n return allCapsuleList;\n }\n\n private async installInCapsules(\n capsulesDir: string,\n capsuleList: CapsuleList,\n isolateInstallOptions: IsolateComponentsInstallOptions,\n cachePackagesOnCapsulesRoot?: boolean\n ) {\n const installer = this.dependencyResolver.getInstaller({\n rootDir: capsulesDir,\n cacheRootDirectory: cachePackagesOnCapsulesRoot ? capsulesDir : undefined,\n });\n // When using isolator we don't want to use the policy defined in the workspace directly,\n // we only want to instal deps from components and the peer from the workspace\n\n const peerOnlyPolicy = this.getWorkspacePeersOnlyPolicy();\n const installOptions: InstallOptions = {\n installTeambitBit: !!isolateInstallOptions.installTeambitBit,\n packageManagerConfigRootDir: isolateInstallOptions.packageManagerConfigRootDir,\n };\n\n const packageManagerInstallOptions: PackageManagerInstallOptions = {\n dedupe: isolateInstallOptions.dedupe,\n copyPeerToRuntimeOnComponents: isolateInstallOptions.copyPeerToRuntimeOnComponents,\n copyPeerToRuntimeOnRoot: isolateInstallOptions.copyPeerToRuntimeOnRoot,\n installPeersFromEnvs: isolateInstallOptions.installPeersFromEnvs,\n overrides: this.dependencyResolver.config.capsulesOverrides || this.dependencyResolver.config.overrides,\n rootComponentsForCapsules: this.dependencyResolver.hasRootComponents(),\n useNesting: isolateInstallOptions.useNesting,\n keepExistingModulesDir: this.dependencyResolver.hasRootComponents(),\n };\n await installer.install(\n capsulesDir,\n peerOnlyPolicy,\n this.toComponentMap(capsuleList),\n installOptions,\n packageManagerInstallOptions\n );\n }\n\n private async linkInCapsules(\n capsulesDir: string,\n capsuleList: CapsuleList,\n capsulesWithPackagesData: CapsulePackageJsonData[],\n linkingOptions: LinkingOptions\n ) {\n const linker = this.dependencyResolver.getLinker({\n rootDir: capsulesDir,\n linkingOptions,\n });\n const peerOnlyPolicy = this.getWorkspacePeersOnlyPolicy();\n const capsulesWithModifiedPackageJson = this.getCapsulesWithModifiedPackageJson(capsulesWithPackagesData);\n await linker.link(capsulesDir, peerOnlyPolicy, this.toComponentMap(capsuleList), {\n ...linkingOptions,\n legacyLink: false,\n linkNestedDepsInNM: !this.dependencyResolver.hasRootComponents() && linkingOptions.linkNestedDepsInNM,\n });\n if (!this.dependencyResolver.hasRootComponents()) {\n await symlinkOnCapsuleRoot(capsuleList, this.logger, capsulesDir);\n await symlinkDependenciesToCapsules(capsulesWithModifiedPackageJson, capsuleList, this.logger);\n } else {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n const coreAspectCapsules = CapsuleList.fromArray(\n capsuleList.filter((capsule) => {\n const [compIdWithoutVersion] = capsule.component.id.toString().split('@');\n return coreAspectIds.includes(compIdWithoutVersion);\n })\n );\n await symlinkOnCapsuleRoot(coreAspectCapsules, this.logger, capsulesDir);\n }\n // TODO: this is a hack to have access to the bit bin project in order to access core extensions from user extension\n // TODO: remove this after exporting core extensions as components\n await symlinkBitLegacyToCapsules(capsulesWithModifiedPackageJson, this.logger);\n // await copyBitLegacyToCapsuleRoot(capsulesDir, this.logger);\n }\n\n private getCapsulesWithModifiedPackageJson(capsulesWithPackagesData: CapsulePackageJsonData[]) {\n const capsulesWithModifiedPackageJson: Capsule[] = capsulesWithPackagesData\n .filter((capsuleWithPackageData) => {\n const packageJsonHasChanged = this.wereDependenciesInPackageJsonChanged(capsuleWithPackageData);\n // @todo: when a component is tagged, it changes all package-json of its dependents, but it\n // should not trigger any \"npm install\" because they dependencies are symlinked by us\n return packageJsonHasChanged;\n })\n .map((capsuleWithPackageData) => capsuleWithPackageData.capsule);\n return capsulesWithModifiedPackageJson;\n }\n\n private async writeComponentsInCapsules(components: Component[], capsuleList: CapsuleList, legacyScope?: Scope) {\n const modifiedComps: Component[] = [];\n const unmodifiedComps: Component[] = [];\n await Promise.all(\n components.map(async (component) => {\n const isModified = await component.isModified();\n if (!isModified && component.buildStatus === 'succeed') {\n // the \"component.buildStatus\" check is important for \"bit sign\" when on lane to not go to the original scope\n unmodifiedComps.push(component);\n } else {\n modifiedComps.push(component);\n }\n })\n );\n const legacyUnmodifiedComps = unmodifiedComps.map((component) => component.state._consumer.clone());\n const legacyModifiedComps = modifiedComps.map((component) => component.state._consumer.clone());\n const legacyComponents = [...legacyUnmodifiedComps, ...legacyModifiedComps];\n if (legacyScope && unmodifiedComps.length) await importMultipleDistsArtifacts(legacyScope, legacyUnmodifiedComps);\n const allIds = BitIds.fromArray(legacyComponents.map((c) => c.id));\n await Promise.all(\n components.map(async (component) => {\n const capsule = capsuleList.getCapsule(component.id);\n if (!capsule) return;\n const params = this.getComponentWriteParams(component.state._consumer, allIds, legacyScope);\n if (await component.isModified()) {\n delete params.scope;\n }\n const componentWriter = new ComponentWriter(params);\n const dataToPersist = await componentWriter.populateComponentsFilesToWriteForCapsule();\n await dataToPersist.persistAllToCapsule(capsule, { keepExistingCapsule: true });\n })\n );\n }\n\n private getWorkspacePeersOnlyPolicy(): WorkspacePolicy {\n const workspacePolicy = this.dependencyResolver.getWorkspacePolicy();\n const peerOnlyPolicy = workspacePolicy.byLifecycleType('peer');\n return peerOnlyPolicy;\n }\n\n private getComponentWriteParams(\n component: ConsumerComponent,\n ids: BitIds,\n legacyScope?: Scope\n ): ComponentWriterProps {\n return {\n component,\n // @ts-ignore\n bitMap: new BitMap(undefined, undefined, undefined, false),\n writeToPath: '.',\n consumer: undefined,\n scope: legacyScope,\n override: false,\n writePackageJson: true,\n writeConfig: false,\n ignoreBitDependencies: ids,\n excludeRegistryPrefix: false,\n isolated: true,\n };\n }\n\n private toComponentMap(capsuleList: CapsuleList): ComponentMap<string> {\n const tuples: [Component, string][] = capsuleList.map((capsule) => {\n return [capsule.component, capsule.path];\n });\n\n return ComponentMap.create(tuples);\n }\n\n async list(workspacePath: string): Promise<ListResults> {\n try {\n const workspaceCapsuleFolder = this.getCapsulesRootDir(workspacePath);\n const capsules = await fs.readdir(workspaceCapsuleFolder);\n const capsuleFullPaths = capsules.map((c) => path.join(workspaceCapsuleFolder, c));\n return {\n workspace: workspacePath,\n capsules: capsuleFullPaths,\n };\n } catch (e: any) {\n if (e.code === 'ENOENT') {\n return { workspace: workspacePath, capsules: [] };\n }\n throw e;\n }\n }\n\n getCapsulesRootDir(baseDir: string, rootBaseDir?: string): PathOsBasedAbsolute {\n const capsulesRootBaseDir = rootBaseDir || this.getRootDirOfAllCapsules();\n return path.join(capsulesRootBaseDir, hash(baseDir));\n }\n\n async deleteCapsules(capsuleBaseDir: string | null): Promise<string> {\n const dirToDelete = capsuleBaseDir ? this.getCapsulesRootDir(capsuleBaseDir) : this.getRootDirOfAllCapsules();\n await fs.remove(dirToDelete);\n return dirToDelete;\n }\n\n private async createCapsulesFromComponents(\n components: Component[],\n baseDir: string,\n opts: IsolateComponentsOptions\n ): Promise<Capsule[]> {\n const capsules: Capsule[] = await Promise.all(\n components.map((component: Component) => {\n return Capsule.createFromComponent(component, baseDir, opts);\n })\n );\n return capsules;\n }\n\n private getRootDirOfAllCapsules(): string {\n return this.globalConfig.getGlobalCapsulesBaseDir();\n }\n\n private wereDependenciesInPackageJsonChanged(capsuleWithPackageData: CapsulePackageJsonData): boolean {\n const { previousPackageJson, currentPackageJson } = capsuleWithPackageData;\n if (!previousPackageJson) return true;\n // @ts-ignore at this point, currentPackageJson is set\n return DEPENDENCIES_FIELDS.some((field) => !equals(previousPackageJson[field], currentPackageJson[field]));\n }\n\n private async getCapsulesPreviousPackageJson(capsules: Capsule[]): Promise<CapsulePackageJsonData[]> {\n return Promise.all(\n capsules.map(async (capsule) => {\n const packageJsonPath = path.join(capsule.path, 'package.json');\n let previousPackageJson: any = null;\n try {\n const previousPackageJsonRaw = await capsule.fs.promises.readFile(packageJsonPath, { encoding: 'utf8' });\n previousPackageJson = JSON.parse(previousPackageJsonRaw);\n } catch (e: any) {\n // package-json doesn't exist in the capsule, that's fine, it'll be considered as a cache miss\n }\n return {\n capsule,\n previousPackageJson,\n };\n })\n );\n }\n\n private async updateWithCurrentPackageJsonData(\n capsulesWithPackagesData: CapsulePackageJsonData[],\n capsules: CapsuleList\n ) {\n // ci seems to have some inconsistencies behavior (regards to the package.json) when using Promise.all.\n return pMapSeries(capsules, async (capsule) => {\n const packageJson = await this.getCurrentPackageJson(capsule, capsules);\n const found = capsulesWithPackagesData.filter((c) => c.capsule.component.id.isEqual(capsule.component.id));\n if (!found.length) throw new Error(`updateWithCurrentPackageJsonData unable to find ${capsule.component.id}`);\n if (found.length > 1)\n throw new Error(\n `updateWithCurrentPackageJsonData found duplicate capsules: ${capsule.component.id.toString()}\"\"`\n );\n found[0].currentPackageJson = packageJson.packageJsonObject;\n });\n }\n\n private async getCurrentPackageJson(capsule: Capsule, capsules: CapsuleList): Promise<PackageJsonFile> {\n const component: Component = capsule.component;\n const currentVersion = await this.getComponentPackageVersionWithCache(component);\n const getComponentDepsManifest = async (dependencies: DependencyList) => {\n const manifest = {\n dependencies: {},\n devDependencies: {},\n };\n const compDeps = dependencies.toTypeArray<ComponentDependency>('component');\n const promises = compDeps.map(async (dep) => {\n const depCapsule = capsules.getCapsule(dep.componentId);\n let version = dep.version;\n if (depCapsule) {\n version = await this.getComponentPackageVersionWithCache(depCapsule?.component);\n } else {\n version = snapToSemver(version);\n }\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];\n const entry = dep.toManifest();\n if (entry) {\n manifest[keyName][entry.packageName] = version;\n }\n });\n await Promise.all(promises);\n return manifest;\n };\n const deps = await this.dependencyResolver.getDependencies(component);\n const manifest = await getComponentDepsManifest(deps);\n\n // component.packageJsonFile is not available here. we don't mutate the component object for capsules.\n // also, don't use `PackageJsonFile.createFromComponent`, as it looses the intermediate changes\n // such as postInstall scripts for custom-module-resolution.\n const packageJson = PackageJsonFile.loadFromCapsuleSync(capsule.path);\n\n const addDependencies = (packageJsonFile: PackageJsonFile) => {\n packageJsonFile.addDependencies(manifest.dependencies);\n packageJsonFile.addDevDependencies(manifest.devDependencies);\n };\n addDependencies(packageJson);\n packageJson.addOrUpdateProperty('version', currentVersion);\n return packageJson;\n }\n\n private async getComponentPackageVersionWithCache(component: Component): Promise<string> {\n const idStr = component.id.toString();\n if (this._componentsPackagesVersionCache[idStr]) {\n return this._componentsPackagesVersionCache[idStr];\n }\n const version = await getComponentPackageVersion(component);\n this._componentsPackagesVersionCache[idStr] = version;\n return version;\n }\n}\n\nIsolatorAspect.addRuntime(IsolatorMain);\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["DEFAULT_ISOLATE_INSTALL_OPTIONS","installPackages","dedupe","installPeersFromEnvs","copyPeerToRuntimeOnComponents","copyPeerToRuntimeOnRoot","IsolatorMain","provider","dependencyResolver","loggerExtension","componentAspect","graphAspect","globalConfig","aspectLoader","logger","createLogger","IsolatorAspect","id","isolator","constructor","graphBuilder","isolateComponents","seeders","opts","legacyScope","host","getHost","legacyLogger","debug","join","JSON","stringify","Object","assign","name","createGraphOpts","pick","componentsToIsolate","seedersOnly","getMany","createGraph","baseDir","path","capsuleList","createCapsules","Network","getCapsulesRootDir","rootBaseDir","getGraphOpts","graph","getGraph","successorsSubgraph","map","toString","compsAndDeps","nodes","node","attr","existingCompsP","c","existing","includeFromNestedHosts","hasIdNested","hasId","undefined","existingComps","Promise","all","compact","cloneCapsule","originalCapsule","newBaseDir","network","component","clonedCapsule","seedersCapsules","fs","copy","components","installOptions","useNesting","hasRootComponents","config","capsulesDir","emptyRootDir","emptyDir","capsules","createCapsulesFromComponents","allCapsuleList","CapsuleList","fromArray","getExistingAsIs","skipIfExists","existingCapsules","filter","capsule","existsSync","length","capsulesWithPackagesData","getCapsulesPreviousPackageJson","writeComponentsInCapsules","updateWithCurrentPackageJsonData","cachePackagesOnCapsulesRoot","linkingOptions","newCapsuleList","installInCapsules","linkInCapsules","rootDir","forEach","capsuleWithPackageData","currentPackageJson","Error","writeFileSync","PACKAGE_JSON","isolateInstallOptions","installer","getInstaller","cacheRootDirectory","peerOnlyPolicy","getWorkspacePeersOnlyPolicy","installTeambitBit","packageManagerConfigRootDir","packageManagerInstallOptions","overrides","capsulesOverrides","rootComponentsForCapsules","keepExistingModulesDir","install","toComponentMap","linker","getLinker","capsulesWithModifiedPackageJson","getCapsulesWithModifiedPackageJson","link","legacyLink","linkNestedDepsInNM","symlinkOnCapsuleRoot","symlinkDependenciesToCapsules","coreAspectIds","getCoreAspectIds","coreAspectCapsules","compIdWithoutVersion","split","includes","symlinkBitLegacyToCapsules","packageJsonHasChanged","wereDependenciesInPackageJsonChanged","modifiedComps","unmodifiedComps","isModified","buildStatus","push","legacyUnmodifiedComps","state","_consumer","clone","legacyModifiedComps","legacyComponents","importMultipleDistsArtifacts","allIds","BitIds","getCapsule","params","getComponentWriteParams","scope","componentWriter","ComponentWriter","dataToPersist","populateComponentsFilesToWriteForCapsule","persistAllToCapsule","keepExistingCapsule","workspacePolicy","getWorkspacePolicy","byLifecycleType","ids","bitMap","BitMap","writeToPath","consumer","override","writePackageJson","writeConfig","ignoreBitDependencies","excludeRegistryPrefix","isolated","tuples","ComponentMap","create","list","workspacePath","workspaceCapsuleFolder","readdir","capsuleFullPaths","workspace","e","code","capsulesRootBaseDir","getRootDirOfAllCapsules","hash","deleteCapsules","capsuleBaseDir","dirToDelete","remove","Capsule","createFromComponent","getGlobalCapsulesBaseDir","previousPackageJson","DEPENDENCIES_FIELDS","some","field","equals","packageJsonPath","previousPackageJsonRaw","promises","readFile","encoding","parse","packageJson","getCurrentPackageJson","found","isEqual","packageJsonObject","currentVersion","getComponentPackageVersionWithCache","getComponentDepsManifest","dependencies","manifest","devDependencies","compDeps","toTypeArray","dep","depCapsule","componentId","version","snapToSemver","keyName","KEY_NAME_BY_LIFECYCLE_TYPE","lifecycle","entry","toManifest","packageName","deps","getDependencies","PackageJsonFile","loadFromCapsuleSync","addDependencies","packageJsonFile","addDevDependencies","addOrUpdateProperty","idStr","_componentsPackagesVersionCache","getComponentPackageVersion","MainRuntime","DependencyResolverAspect","LoggerAspect","ComponentAspect","GraphAspect","GlobalConfigAspect","AspectLoaderAspect","addRuntime"],"sources":["isolator.main.runtime.ts"],"sourcesContent":["import { MainRuntime } from '@teambit/cli';\nimport { compact, pick } from 'lodash';\nimport { AspectLoaderMain, AspectLoaderAspect } from '@teambit/aspect-loader';\nimport { Component, ComponentMap, ComponentAspect, ComponentID } from '@teambit/component';\nimport type { ComponentMain, ComponentFactory } from '@teambit/component';\nimport { getComponentPackageVersion, snapToSemver } from '@teambit/component-package-version';\nimport { GraphAspect } from '@teambit/graph';\nimport type { GraphBuilder } from '@teambit/graph';\nimport {\n DependencyResolverAspect,\n DependencyResolverMain,\n LinkingOptions,\n WorkspacePolicy,\n InstallOptions,\n DependencyList,\n ComponentDependency,\n KEY_NAME_BY_LIFECYCLE_TYPE,\n PackageManagerInstallOptions,\n} from '@teambit/dependency-resolver';\nimport legacyLogger from '@teambit/legacy/dist/logger/logger';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { BitIds } from '@teambit/legacy/dist/bit-id';\nimport LegacyScope from '@teambit/legacy/dist/scope/scope';\nimport GlobalConfigAspect, { GlobalConfigMain } from '@teambit/global-config';\nimport { DEPENDENCIES_FIELDS, PACKAGE_JSON } from '@teambit/legacy/dist/constants';\nimport ConsumerComponent from '@teambit/legacy/dist/consumer/component';\nimport PackageJsonFile from '@teambit/legacy/dist/consumer/component/package-json-file';\nimport { importMultipleDistsArtifacts } from '@teambit/legacy/dist/consumer/component/sources/artifact-files';\nimport { PathOsBasedAbsolute } from '@teambit/legacy/dist/utils/path';\nimport { Scope } from '@teambit/legacy/dist/scope';\nimport fs from 'fs-extra';\nimport hash from 'object-hash';\nimport path from 'path';\nimport equals from 'ramda/src/equals';\nimport BitMap from '@teambit/legacy/dist/consumer/bit-map';\nimport ComponentWriter, { ComponentWriterProps } from '@teambit/legacy/dist/consumer/component-ops/component-writer';\nimport { Capsule } from './capsule';\nimport CapsuleList from './capsule-list';\nimport { IsolatorAspect } from './isolator.aspect';\nimport { symlinkBitLegacyToCapsules } from './symlink-bit-legacy-to-capsules';\nimport { symlinkOnCapsuleRoot, symlinkDependenciesToCapsules } from './symlink-dependencies-to-capsules';\nimport { Network } from './network';\n\nexport type ListResults = {\n workspace: string;\n capsules: string[];\n};\n\nexport type IsolateComponentsInstallOptions = {\n installPackages?: boolean; // default: true\n // TODO: add back when depResolver.getInstaller support it\n // packageManager?: string;\n dedupe?: boolean;\n copyPeerToRuntimeOnComponents?: boolean;\n copyPeerToRuntimeOnRoot?: boolean;\n installPeersFromEnvs?: boolean;\n installTeambitBit?: boolean;\n packageManagerConfigRootDir?: string;\n // When set to true, the newly added components will be grouped inside one directory.\n // This is useful for scope aspect capsules, which are installed in stages.\n useNesting?: boolean;\n};\n\ntype CreateGraphOptions = {\n /**\n * include components that exists in nested hosts. for example include components that exist in scope but not in the workspace\n */\n includeFromNestedHosts?: boolean;\n\n /**\n * Force specific host to get the component from.\n */\n host?: ComponentFactory;\n};\n\nexport type IsolateComponentsOptions = CreateGraphOptions & {\n name?: string;\n /**\n * absolute path to put all the capsules dirs inside.\n */\n rootBaseDir?: string;\n\n /**\n * the capsule root-dir based on a *hash* of this baseDir, not on the baseDir itself.\n * A folder with this hash as its name will be created in the rootBaseDir\n * By default this value will be the host path\n */\n baseDir?: string;\n\n /**\n * create a new capsule with a random string attached to the path suffix\n */\n alwaysNew?: boolean;\n\n /**\n * installation options\n */\n installOptions?: IsolateComponentsInstallOptions;\n\n linkingOptions?: LinkingOptions;\n\n /**\n * delete the capsule rootDir first. it makes sure that the isolation process starts fresh with\n * no previous capsules. for build and tag this is true.\n */\n emptyRootDir?: boolean;\n\n /**\n * skip the reproduction of the capsule in case it exists.\n */\n skipIfExists?: boolean;\n\n /**\n * get existing capsule without doing any changes, no writes, no installations.\n */\n getExistingAsIs?: boolean;\n\n /**\n * place the package-manager cache on the capsule-root\n */\n cachePackagesOnCapsulesRoot?: boolean;\n\n /**\n * do not build graph with all dependencies. isolate the seeders only.\n */\n seedersOnly?: boolean;\n\n /**\n * Force specific host to get the component from.\n */\n host?: ComponentFactory;\n\n packageManagerConfigRootDir?: string;\n};\n\ntype CapsulePackageJsonData = {\n capsule: Capsule;\n currentPackageJson?: Record<string, any>;\n previousPackageJson: Record<string, any> | null;\n};\n\nconst DEFAULT_ISOLATE_INSTALL_OPTIONS: IsolateComponentsInstallOptions = {\n installPackages: true,\n dedupe: true,\n installPeersFromEnvs: true,\n copyPeerToRuntimeOnComponents: false,\n copyPeerToRuntimeOnRoot: true,\n};\n\nexport class IsolatorMain {\n static runtime = MainRuntime;\n static dependencies = [\n DependencyResolverAspect,\n LoggerAspect,\n ComponentAspect,\n GraphAspect,\n GlobalConfigAspect,\n AspectLoaderAspect,\n ];\n static defaultConfig = {};\n _componentsPackagesVersionCache: { [idStr: string]: string } = {}; // cache packages versions of components\n\n static async provider([\n dependencyResolver,\n loggerExtension,\n componentAspect,\n graphAspect,\n globalConfig,\n aspectLoader,\n ]: [\n DependencyResolverMain,\n LoggerMain,\n ComponentMain,\n GraphBuilder,\n GlobalConfigMain,\n AspectLoaderMain\n ]): Promise<IsolatorMain> {\n const logger = loggerExtension.createLogger(IsolatorAspect.id);\n const isolator = new IsolatorMain(\n dependencyResolver,\n logger,\n componentAspect,\n graphAspect,\n globalConfig,\n aspectLoader\n );\n return isolator;\n }\n constructor(\n private dependencyResolver: DependencyResolverMain,\n private logger: Logger,\n private componentAspect: ComponentMain,\n private graphBuilder: GraphBuilder,\n private globalConfig: GlobalConfigMain,\n private aspectLoader: AspectLoaderMain\n ) {}\n\n // TODO: the legacy scope used for the component writer, which then decide if it need to write the artifacts and dists\n // TODO: we should think of another way to provide it (maybe a new opts) then take the scope internally from the host\n async isolateComponents(\n seeders: ComponentID[],\n opts: IsolateComponentsOptions = {},\n legacyScope?: LegacyScope\n ): Promise<Network> {\n const host = this.componentAspect.getHost();\n legacyLogger.debug(\n `isolatorExt, createNetwork ${seeders.join(', ')}. opts: ${JSON.stringify(\n Object.assign({}, opts, { host: opts.host?.name })\n )}`\n );\n const createGraphOpts = pick(opts, ['includeFromNestedHosts', 'host']);\n const componentsToIsolate = opts.seedersOnly\n ? await host.getMany(seeders)\n : await this.createGraph(seeders, createGraphOpts);\n opts.baseDir = opts.baseDir || host.path;\n const capsuleList = await this.createCapsules(componentsToIsolate, opts, legacyScope);\n return new Network(capsuleList, seeders, this.getCapsulesRootDir(opts.baseDir, opts.rootBaseDir));\n }\n\n private async createGraph(seeders: ComponentID[], opts: CreateGraphOptions = {}): Promise<Component[]> {\n const host = this.componentAspect.getHost();\n const getGraphOpts = pick(opts, ['host']);\n const graph = await this.graphBuilder.getGraph(seeders, getGraphOpts);\n const successorsSubgraph = graph.successorsSubgraph(seeders.map((id) => id.toString()));\n const compsAndDeps = successorsSubgraph.nodes.map((node) => node.attr);\n // do not ignore the version here. a component might be in .bitmap with one version and\n // installed as a package with another version. we don't want them both.\n const existingCompsP = compsAndDeps.map(async (c) => {\n let existing;\n if (opts.includeFromNestedHosts) {\n existing = await host.hasIdNested(c.id, true);\n } else {\n existing = await host.hasId(c.id);\n }\n if (existing) return c;\n return undefined;\n });\n const existingComps = await Promise.all(existingCompsP);\n return compact(existingComps);\n }\n\n /**\n *\n * @param originalCapsule the capsule that contains the original component\n * @param newBaseDir relative path. (it will be saved inside `this.getRootDirOfAllCapsules()`. the final path of the capsule will be getRootDirOfAllCapsules() + newBaseDir + filenameify(component.id))\n * @returns a new capsule with the same content of the original capsule but with a new baseDir and all packages\n * installed in the newBaseDir.\n */\n async cloneCapsule(originalCapsule: Capsule, newBaseDir: string): Promise<Capsule> {\n const network = await this.isolateComponents([originalCapsule.component.id], { baseDir: newBaseDir });\n const clonedCapsule = network.seedersCapsules[0];\n await fs.copy(originalCapsule.path, clonedCapsule.path);\n return clonedCapsule;\n }\n\n /**\n * Create capsules for the provided components\n * do not use this outside directly, use isolate components which build the entire network\n * @param components\n * @param opts\n * @param legacyScope\n */\n private async createCapsules(\n components: Component[],\n opts: IsolateComponentsOptions,\n legacyScope?: Scope\n ): Promise<CapsuleList> {\n const installOptions = {\n ...DEFAULT_ISOLATE_INSTALL_OPTIONS,\n ...opts.installOptions,\n useNesting: this.dependencyResolver.hasRootComponents() && opts.installOptions?.useNesting,\n };\n const config = { installPackages: true, ...opts };\n const capsulesDir = this.getCapsulesRootDir(opts.baseDir as string, opts.rootBaseDir);\n if (opts.emptyRootDir) {\n await fs.emptyDir(capsulesDir);\n }\n let capsules = await this.createCapsulesFromComponents(components, capsulesDir, config);\n const allCapsuleList = CapsuleList.fromArray(capsules);\n let capsuleList = allCapsuleList;\n if (opts.getExistingAsIs) {\n return capsuleList;\n }\n\n if (opts.skipIfExists) {\n if (!installOptions.useNesting) {\n const existingCapsules = CapsuleList.fromArray(\n capsuleList.filter((capsule) => capsule.fs.existsSync('package.json'))\n );\n\n if (existingCapsules.length === capsuleList.length) return existingCapsules;\n } else {\n capsules = capsules.filter((capsule) => !capsule.fs.existsSync('package.json'));\n capsuleList = CapsuleList.fromArray(capsules);\n }\n }\n const capsulesWithPackagesData = await this.getCapsulesPreviousPackageJson(capsules);\n\n await this.writeComponentsInCapsules(components, capsuleList, legacyScope);\n await this.updateWithCurrentPackageJsonData(capsulesWithPackagesData, capsuleList);\n if (installOptions.installPackages) {\n const cachePackagesOnCapsulesRoot = opts.cachePackagesOnCapsulesRoot ?? false;\n const linkingOptions = opts.linkingOptions ?? {};\n if (installOptions.useNesting) {\n await Promise.all(\n capsuleList.map(async (capsule) => {\n const newCapsuleList = CapsuleList.fromArray([capsule]);\n await this.installInCapsules(capsule.path, newCapsuleList, installOptions, cachePackagesOnCapsulesRoot);\n await this.linkInCapsules(capsulesDir, newCapsuleList, capsulesWithPackagesData, linkingOptions);\n })\n );\n } else {\n // When nesting is used, the first component (which is the entry component) is installed in the root\n // and all other components (which are the dependencies of the entry component) are installed in\n // a subdirectory.\n const rootDir = installOptions?.useNesting ? capsuleList[0].path : capsulesDir;\n await this.installInCapsules(rootDir, capsuleList, installOptions, cachePackagesOnCapsulesRoot);\n await this.linkInCapsules(capsulesDir, capsuleList, capsulesWithPackagesData, linkingOptions);\n }\n }\n\n // rewrite the package-json with the component dependencies in it. the original package.json\n // that was written before, didn't have these dependencies in order for the package-manager to\n // be able to install them without crushing when the versions don't exist yet\n capsulesWithPackagesData.forEach((capsuleWithPackageData) => {\n const { currentPackageJson, capsule } = capsuleWithPackageData;\n if (!currentPackageJson)\n throw new Error(\n `isolator.createCapsules, unable to find currentPackageJson for ${capsule.component.id.toString()}`\n );\n capsuleWithPackageData.capsule.fs.writeFileSync(PACKAGE_JSON, JSON.stringify(currentPackageJson, null, 2));\n });\n\n return allCapsuleList;\n }\n\n private async installInCapsules(\n capsulesDir: string,\n capsuleList: CapsuleList,\n isolateInstallOptions: IsolateComponentsInstallOptions,\n cachePackagesOnCapsulesRoot?: boolean\n ) {\n const installer = this.dependencyResolver.getInstaller({\n rootDir: capsulesDir,\n cacheRootDirectory: cachePackagesOnCapsulesRoot ? capsulesDir : undefined,\n });\n // When using isolator we don't want to use the policy defined in the workspace directly,\n // we only want to instal deps from components and the peer from the workspace\n\n const peerOnlyPolicy = this.getWorkspacePeersOnlyPolicy();\n const installOptions: InstallOptions = {\n installTeambitBit: !!isolateInstallOptions.installTeambitBit,\n packageManagerConfigRootDir: isolateInstallOptions.packageManagerConfigRootDir,\n };\n\n const packageManagerInstallOptions: PackageManagerInstallOptions = {\n dedupe: isolateInstallOptions.dedupe,\n copyPeerToRuntimeOnComponents: isolateInstallOptions.copyPeerToRuntimeOnComponents,\n copyPeerToRuntimeOnRoot: isolateInstallOptions.copyPeerToRuntimeOnRoot,\n installPeersFromEnvs: isolateInstallOptions.installPeersFromEnvs,\n overrides: this.dependencyResolver.config.capsulesOverrides || this.dependencyResolver.config.overrides,\n rootComponentsForCapsules: this.dependencyResolver.hasRootComponents(),\n useNesting: isolateInstallOptions.useNesting,\n keepExistingModulesDir: this.dependencyResolver.hasRootComponents(),\n };\n await installer.install(\n capsulesDir,\n peerOnlyPolicy,\n this.toComponentMap(capsuleList),\n installOptions,\n packageManagerInstallOptions\n );\n }\n\n private async linkInCapsules(\n capsulesDir: string,\n capsuleList: CapsuleList,\n capsulesWithPackagesData: CapsulePackageJsonData[],\n linkingOptions: LinkingOptions\n ) {\n const linker = this.dependencyResolver.getLinker({\n rootDir: capsulesDir,\n linkingOptions,\n });\n const peerOnlyPolicy = this.getWorkspacePeersOnlyPolicy();\n const capsulesWithModifiedPackageJson = this.getCapsulesWithModifiedPackageJson(capsulesWithPackagesData);\n await linker.link(capsulesDir, peerOnlyPolicy, this.toComponentMap(capsuleList), {\n ...linkingOptions,\n legacyLink: false,\n linkNestedDepsInNM: !this.dependencyResolver.hasRootComponents() && linkingOptions.linkNestedDepsInNM,\n });\n if (!this.dependencyResolver.hasRootComponents()) {\n await symlinkOnCapsuleRoot(capsuleList, this.logger, capsulesDir);\n await symlinkDependenciesToCapsules(capsulesWithModifiedPackageJson, capsuleList, this.logger);\n } else {\n const coreAspectIds = this.aspectLoader.getCoreAspectIds();\n const coreAspectCapsules = CapsuleList.fromArray(\n capsuleList.filter((capsule) => {\n const [compIdWithoutVersion] = capsule.component.id.toString().split('@');\n return coreAspectIds.includes(compIdWithoutVersion);\n })\n );\n await symlinkOnCapsuleRoot(coreAspectCapsules, this.logger, capsulesDir);\n }\n // TODO: this is a hack to have access to the bit bin project in order to access core extensions from user extension\n // TODO: remove this after exporting core extensions as components\n await symlinkBitLegacyToCapsules(capsulesWithModifiedPackageJson, this.logger);\n // await copyBitLegacyToCapsuleRoot(capsulesDir, this.logger);\n }\n\n private getCapsulesWithModifiedPackageJson(capsulesWithPackagesData: CapsulePackageJsonData[]) {\n const capsulesWithModifiedPackageJson: Capsule[] = capsulesWithPackagesData\n .filter((capsuleWithPackageData) => {\n const packageJsonHasChanged = this.wereDependenciesInPackageJsonChanged(capsuleWithPackageData);\n // @todo: when a component is tagged, it changes all package-json of its dependents, but it\n // should not trigger any \"npm install\" because they dependencies are symlinked by us\n return packageJsonHasChanged;\n })\n .map((capsuleWithPackageData) => capsuleWithPackageData.capsule);\n return capsulesWithModifiedPackageJson;\n }\n\n private async writeComponentsInCapsules(components: Component[], capsuleList: CapsuleList, legacyScope?: Scope) {\n const modifiedComps: Component[] = [];\n const unmodifiedComps: Component[] = [];\n await Promise.all(\n components.map(async (component) => {\n const isModified = await component.isModified();\n if (!isModified && component.buildStatus === 'succeed') {\n // the \"component.buildStatus\" check is important for \"bit sign\" when on lane to not go to the original scope\n unmodifiedComps.push(component);\n } else {\n modifiedComps.push(component);\n }\n })\n );\n const legacyUnmodifiedComps = unmodifiedComps.map((component) => component.state._consumer.clone());\n const legacyModifiedComps = modifiedComps.map((component) => component.state._consumer.clone());\n const legacyComponents = [...legacyUnmodifiedComps, ...legacyModifiedComps];\n if (legacyScope && unmodifiedComps.length) await importMultipleDistsArtifacts(legacyScope, legacyUnmodifiedComps);\n const allIds = BitIds.fromArray(legacyComponents.map((c) => c.id));\n await Promise.all(\n components.map(async (component) => {\n const capsule = capsuleList.getCapsule(component.id);\n if (!capsule) return;\n const params = this.getComponentWriteParams(component.state._consumer, allIds, legacyScope);\n if (await component.isModified()) {\n delete params.scope;\n }\n const componentWriter = new ComponentWriter(params);\n const dataToPersist = await componentWriter.populateComponentsFilesToWriteForCapsule();\n await dataToPersist.persistAllToCapsule(capsule, { keepExistingCapsule: true });\n })\n );\n }\n\n private getWorkspacePeersOnlyPolicy(): WorkspacePolicy {\n const workspacePolicy = this.dependencyResolver.getWorkspacePolicy();\n const peerOnlyPolicy = workspacePolicy.byLifecycleType('peer');\n return peerOnlyPolicy;\n }\n\n private getComponentWriteParams(\n component: ConsumerComponent,\n ids: BitIds,\n legacyScope?: Scope\n ): ComponentWriterProps {\n return {\n component,\n // @ts-ignore\n bitMap: new BitMap(undefined, undefined, undefined, false),\n writeToPath: '.',\n consumer: undefined,\n scope: legacyScope,\n override: false,\n writePackageJson: true,\n writeConfig: false,\n ignoreBitDependencies: ids,\n excludeRegistryPrefix: false,\n isolated: true,\n };\n }\n\n private toComponentMap(capsuleList: CapsuleList): ComponentMap<string> {\n const tuples: [Component, string][] = capsuleList.map((capsule) => {\n return [capsule.component, capsule.path];\n });\n\n return ComponentMap.create(tuples);\n }\n\n async list(workspacePath: string): Promise<ListResults> {\n try {\n const workspaceCapsuleFolder = this.getCapsulesRootDir(workspacePath);\n const capsules = await fs.readdir(workspaceCapsuleFolder);\n const capsuleFullPaths = capsules.map((c) => path.join(workspaceCapsuleFolder, c));\n return {\n workspace: workspacePath,\n capsules: capsuleFullPaths,\n };\n } catch (e: any) {\n if (e.code === 'ENOENT') {\n return { workspace: workspacePath, capsules: [] };\n }\n throw e;\n }\n }\n\n getCapsulesRootDir(baseDir: string, rootBaseDir?: string): PathOsBasedAbsolute {\n const capsulesRootBaseDir = rootBaseDir || this.getRootDirOfAllCapsules();\n return path.join(capsulesRootBaseDir, hash(baseDir));\n }\n\n async deleteCapsules(capsuleBaseDir: string | null): Promise<string> {\n const dirToDelete = capsuleBaseDir ? this.getCapsulesRootDir(capsuleBaseDir) : this.getRootDirOfAllCapsules();\n await fs.remove(dirToDelete);\n return dirToDelete;\n }\n\n private async createCapsulesFromComponents(\n components: Component[],\n baseDir: string,\n opts: IsolateComponentsOptions\n ): Promise<Capsule[]> {\n const capsules: Capsule[] = await Promise.all(\n components.map((component: Component) => {\n return Capsule.createFromComponent(component, baseDir, opts);\n })\n );\n return capsules;\n }\n\n private getRootDirOfAllCapsules(): string {\n return this.globalConfig.getGlobalCapsulesBaseDir();\n }\n\n private wereDependenciesInPackageJsonChanged(capsuleWithPackageData: CapsulePackageJsonData): boolean {\n const { previousPackageJson, currentPackageJson } = capsuleWithPackageData;\n if (!previousPackageJson) return true;\n // @ts-ignore at this point, currentPackageJson is set\n return DEPENDENCIES_FIELDS.some((field) => !equals(previousPackageJson[field], currentPackageJson[field]));\n }\n\n private async getCapsulesPreviousPackageJson(capsules: Capsule[]): Promise<CapsulePackageJsonData[]> {\n return Promise.all(\n capsules.map(async (capsule) => {\n const packageJsonPath = path.join(capsule.path, 'package.json');\n let previousPackageJson: any = null;\n try {\n const previousPackageJsonRaw = await capsule.fs.promises.readFile(packageJsonPath, { encoding: 'utf8' });\n previousPackageJson = JSON.parse(previousPackageJsonRaw);\n } catch (e: any) {\n // package-json doesn't exist in the capsule, that's fine, it'll be considered as a cache miss\n }\n return {\n capsule,\n previousPackageJson,\n };\n })\n );\n }\n\n private async updateWithCurrentPackageJsonData(\n capsulesWithPackagesData: CapsulePackageJsonData[],\n capsules: CapsuleList\n ) {\n return Promise.all(\n capsules.map(async (capsule) => {\n const packageJson = await this.getCurrentPackageJson(capsule, capsules);\n const found = capsulesWithPackagesData.filter((c) => c.capsule.component.id.isEqual(capsule.component.id));\n if (!found.length) throw new Error(`updateWithCurrentPackageJsonData unable to find ${capsule.component.id}`);\n if (found.length > 1)\n throw new Error(\n `updateWithCurrentPackageJsonData found duplicate capsules: ${capsule.component.id.toString()}\"\"`\n );\n found[0].currentPackageJson = packageJson.packageJsonObject;\n })\n );\n }\n\n private async getCurrentPackageJson(capsule: Capsule, capsules: CapsuleList): Promise<PackageJsonFile> {\n const component: Component = capsule.component;\n const currentVersion = await this.getComponentPackageVersionWithCache(component);\n const getComponentDepsManifest = async (dependencies: DependencyList) => {\n const manifest = {\n dependencies: {},\n devDependencies: {},\n };\n const compDeps = dependencies.toTypeArray<ComponentDependency>('component');\n const promises = compDeps.map(async (dep) => {\n const depCapsule = capsules.getCapsule(dep.componentId);\n let version = dep.version;\n if (depCapsule) {\n version = await this.getComponentPackageVersionWithCache(depCapsule?.component);\n } else {\n version = snapToSemver(version);\n }\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];\n const entry = dep.toManifest();\n if (entry) {\n manifest[keyName][entry.packageName] = version;\n }\n });\n await Promise.all(promises);\n return manifest;\n };\n const deps = await this.dependencyResolver.getDependencies(component);\n const manifest = await getComponentDepsManifest(deps);\n\n // component.packageJsonFile is not available here. we don't mutate the component object for capsules.\n // also, don't use `PackageJsonFile.createFromComponent`, as it looses the intermediate changes\n // such as postInstall scripts for custom-module-resolution.\n const packageJson = PackageJsonFile.loadFromCapsuleSync(capsule.path);\n\n const addDependencies = (packageJsonFile: PackageJsonFile) => {\n packageJsonFile.addDependencies(manifest.dependencies);\n packageJsonFile.addDevDependencies(manifest.devDependencies);\n };\n addDependencies(packageJson);\n packageJson.addOrUpdateProperty('version', currentVersion);\n return packageJson;\n }\n\n private async getComponentPackageVersionWithCache(component: Component): Promise<string> {\n const idStr = component.id.toString();\n if (this._componentsPackagesVersionCache[idStr]) {\n return this._componentsPackagesVersionCache[idStr];\n }\n const version = await getComponentPackageVersion(component);\n this._componentsPackagesVersionCache[idStr] = version;\n return version;\n }\n}\n\nIsolatorAspect.addRuntime(IsolatorMain);\n"],"mappings":"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"}
|
Binary file
|
package/package.json
CHANGED
@@ -1,18 +1,17 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/isolator",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.835",
|
4
4
|
"homepage": "https://bit.dev/teambit/component/isolator",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.component",
|
8
8
|
"name": "isolator",
|
9
|
-
"version": "0.0.
|
9
|
+
"version": "0.0.835"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"fs-extra": "10.0.0",
|
13
13
|
"lodash": "4.17.21",
|
14
14
|
"object-hash": "2.1.1",
|
15
|
-
"p-map-series": "2.1.0",
|
16
15
|
"ramda": "0.27.1",
|
17
16
|
"@teambit/any-fs": "0.0.5",
|
18
17
|
"@teambit/capsule": "0.0.12",
|
@@ -24,15 +23,15 @@
|
|
24
23
|
"@babel/runtime": "7.12.18",
|
25
24
|
"core-js": "^3.0.0",
|
26
25
|
"@teambit/harmony": "0.3.3",
|
27
|
-
"@teambit/component": "0.0.
|
28
|
-
"@teambit/legacy-bit-id": "0.0.
|
29
|
-
"@teambit/aspect-loader": "0.0.
|
30
|
-
"@teambit/cli": "0.0.
|
31
|
-
"@teambit/component-package-version": "0.0.
|
32
|
-
"@teambit/dependency-resolver": "0.0.
|
33
|
-
"@teambit/global-config": "0.0.
|
34
|
-
"@teambit/graph": "0.0.
|
35
|
-
"@teambit/logger": "0.0.
|
26
|
+
"@teambit/component": "0.0.835",
|
27
|
+
"@teambit/legacy-bit-id": "0.0.406",
|
28
|
+
"@teambit/aspect-loader": "0.0.835",
|
29
|
+
"@teambit/cli": "0.0.560",
|
30
|
+
"@teambit/component-package-version": "0.0.405",
|
31
|
+
"@teambit/dependency-resolver": "0.0.835",
|
32
|
+
"@teambit/global-config": "0.0.562",
|
33
|
+
"@teambit/graph": "0.0.835",
|
34
|
+
"@teambit/logger": "0.0.653"
|
36
35
|
},
|
37
36
|
"devDependencies": {
|
38
37
|
"@types/react": "^17.0.8",
|
@@ -47,7 +46,7 @@
|
|
47
46
|
"@types/node": "12.20.4"
|
48
47
|
},
|
49
48
|
"peerDependencies": {
|
50
|
-
"@teambit/legacy": "1.0.
|
49
|
+
"@teambit/legacy": "1.0.342",
|
51
50
|
"react-dom": "^16.8.0 || ^17.0.0",
|
52
51
|
"react": "^16.8.0 || ^17.0.0"
|
53
52
|
},
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_isolator@0.0.
|
2
|
-
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_isolator@0.0.
|
1
|
+
import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_isolator@0.0.835/dist/isolator.composition.js';
|
2
|
+
import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad3d35bfc38b9cd90c0e05b598a5a55af/teambit.component_isolator@0.0.835/dist/isolator.docs.md';
|
3
3
|
|
4
4
|
export const compositions = [compositions_0];
|
5
5
|
export const overview = [overview_0];
|
Binary file
|