@teambit/install 0.0.93 → 0.0.95
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/install.main.runtime.d.ts +13 -8
- package/dist/install.main.runtime.js +32 -66
- package/dist/install.main.runtime.js.map +1 -1
- package/dist/{preview-1674039846300.js → preview-1674271762484.js} +0 -0
- package/package-tar/teambit-install-0.0.95.tgz +0 -0
- package/package.json +4 -3
- package/package-tar/teambit-install-0.0.93.tgz +0 -0
@@ -4,8 +4,8 @@ import { CLIMain } from '@teambit/cli';
|
|
4
4
|
import { Workspace } from '@teambit/workspace';
|
5
5
|
import { VariantsMain } from '@teambit/variants';
|
6
6
|
import { Component, ComponentMap } from '@teambit/component';
|
7
|
+
import { SlotRegistry } from '@teambit/harmony';
|
7
8
|
import { WorkspaceDependencyLifecycleType, DependencyResolverMain, LinkingOptions, LinkResults, WorkspacePolicy } from '@teambit/dependency-resolver';
|
8
|
-
import { ImporterMain } from '@teambit/importer';
|
9
9
|
import { Logger, LoggerMain } from '@teambit/logger';
|
10
10
|
import { IssuesMain } from '@teambit/issues';
|
11
11
|
export declare type WorkspaceLinkOptions = LinkingOptions & {
|
@@ -24,14 +24,19 @@ export declare type WorkspaceInstallOptions = {
|
|
24
24
|
compile?: boolean;
|
25
25
|
};
|
26
26
|
export declare type ModulesInstallOptions = Omit<WorkspaceInstallOptions, 'updateExisting' | 'lifecycleType' | 'import'>;
|
27
|
+
declare type PreLink = (linkOpts?: WorkspaceLinkOptions) => Promise<void>;
|
28
|
+
declare type PreInstall = (installOpts?: WorkspaceInstallOptions) => Promise<void>;
|
29
|
+
declare type PreLinkSlot = SlotRegistry<PreLink>;
|
30
|
+
declare type PreInstallSlot = SlotRegistry<PreInstall>;
|
27
31
|
export declare class InstallMain {
|
28
32
|
private dependencyResolver;
|
29
33
|
private logger;
|
30
34
|
private workspace;
|
31
35
|
private variants;
|
32
|
-
private importer;
|
33
36
|
private compiler;
|
34
|
-
|
37
|
+
private preLinkSlot;
|
38
|
+
private preInstallSlot;
|
39
|
+
constructor(dependencyResolver: DependencyResolverMain, logger: Logger, workspace: Workspace, variants: VariantsMain, compiler: CompilerMain, preLinkSlot: PreLinkSlot, preInstallSlot: PreInstallSlot);
|
35
40
|
/**
|
36
41
|
* Install dependencies for all components in the workspace
|
37
42
|
*
|
@@ -39,6 +44,8 @@ export declare class InstallMain {
|
|
39
44
|
* @memberof Workspace
|
40
45
|
*/
|
41
46
|
install(packages?: string[], options?: WorkspaceInstallOptions): Promise<ComponentMap<string>>;
|
47
|
+
registerPreLink(fn: PreLink): void;
|
48
|
+
registerPreInstall(fn: PreInstall): void;
|
42
49
|
private _addPackages;
|
43
50
|
private _installModules;
|
44
51
|
private _getComponentsManifests;
|
@@ -63,7 +70,6 @@ export declare class InstallMain {
|
|
63
70
|
uninstallDependencies(packages: string[]): Promise<ComponentMap<string>>;
|
64
71
|
linkCoreAspectsAndLegacy(options?: WorkspaceLinkOptions): Promise<LinkResults>;
|
65
72
|
link(options?: WorkspaceLinkOptions): Promise<LinkResults>;
|
66
|
-
private importObjects;
|
67
73
|
/**
|
68
74
|
* Generate a filter to pass to the installer
|
69
75
|
* This will filter deps which are come from remotes which defined in scope.json
|
@@ -72,19 +78,18 @@ export declare class InstallMain {
|
|
72
78
|
*/
|
73
79
|
private generateFilterFnForDepsFromLocalRemote;
|
74
80
|
private getComponentsDirectory;
|
75
|
-
static slots:
|
81
|
+
static slots: (((registerFn: () => string) => SlotRegistry<PreLinkSlot>) | ((registerFn: () => string) => SlotRegistry<PreInstallSlot>))[];
|
76
82
|
static dependencies: import("@teambit/harmony").Aspect[];
|
77
83
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
78
|
-
static provider([dependencyResolver, workspace, loggerExt, variants, cli, community,
|
84
|
+
static provider([dependencyResolver, workspace, loggerExt, variants, cli, community, compiler, issues]: [
|
79
85
|
DependencyResolverMain,
|
80
86
|
Workspace,
|
81
87
|
LoggerMain,
|
82
88
|
VariantsMain,
|
83
89
|
CLIMain,
|
84
90
|
CommunityMain,
|
85
|
-
ImporterMain,
|
86
91
|
CompilerMain,
|
87
92
|
IssuesMain
|
88
|
-
]): Promise<InstallMain>;
|
93
|
+
], _: any, [preLinkSlot, preInstallSlot]: [PreLinkSlot, PreInstallSlot]): Promise<InstallMain>;
|
89
94
|
}
|
90
95
|
export default InstallMain;
|
@@ -30,13 +30,6 @@ function _compiler() {
|
|
30
30
|
};
|
31
31
|
return data;
|
32
32
|
}
|
33
|
-
function _manyComponentsWriter() {
|
34
|
-
const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component-ops/many-components-writer"));
|
35
|
-
_manyComponentsWriter = function () {
|
36
|
-
return data;
|
37
|
-
};
|
38
|
-
return data;
|
39
|
-
}
|
40
33
|
function _cli() {
|
41
34
|
const data = require("@teambit/cli");
|
42
35
|
_cli = function () {
|
@@ -65,13 +58,6 @@ function _lodash() {
|
|
65
58
|
};
|
66
59
|
return data;
|
67
60
|
}
|
68
|
-
function _exceptions() {
|
69
|
-
const data = require("@teambit/legacy/dist/consumer/exceptions");
|
70
|
-
_exceptions = function () {
|
71
|
-
return data;
|
72
|
-
};
|
73
|
-
return data;
|
74
|
-
}
|
75
61
|
function _componentIdToPackageName() {
|
76
62
|
const data = _interopRequireDefault(require("@teambit/legacy/dist/utils/bit/component-id-to-package-name"));
|
77
63
|
_componentIdToPackageName = function () {
|
@@ -93,6 +79,20 @@ function _component() {
|
|
93
79
|
};
|
94
80
|
return data;
|
95
81
|
}
|
82
|
+
function _pMapSeries() {
|
83
|
+
const data = _interopRequireDefault(require("p-map-series"));
|
84
|
+
_pMapSeries = function () {
|
85
|
+
return data;
|
86
|
+
};
|
87
|
+
return data;
|
88
|
+
}
|
89
|
+
function _harmony() {
|
90
|
+
const data = require("@teambit/harmony");
|
91
|
+
_harmony = function () {
|
92
|
+
return data;
|
93
|
+
};
|
94
|
+
return data;
|
95
|
+
}
|
96
96
|
function _componentIssues() {
|
97
97
|
const data = require("@teambit/component-issues");
|
98
98
|
_componentIssues = function () {
|
@@ -107,13 +107,6 @@ function _dependencyResolver() {
|
|
107
107
|
};
|
108
108
|
return data;
|
109
109
|
}
|
110
|
-
function _importer() {
|
111
|
-
const data = require("@teambit/importer");
|
112
|
-
_importer = function () {
|
113
|
-
return data;
|
114
|
-
};
|
115
|
-
return data;
|
116
|
-
}
|
117
110
|
function _logger() {
|
118
111
|
const data = require("@teambit/logger");
|
119
112
|
_logger = function () {
|
@@ -135,9 +128,9 @@ function _objectHash() {
|
|
135
128
|
};
|
136
129
|
return data;
|
137
130
|
}
|
138
|
-
function
|
131
|
+
function _exceptions() {
|
139
132
|
const data = require("./exceptions");
|
140
|
-
|
133
|
+
_exceptions = function () {
|
141
134
|
return data;
|
142
135
|
};
|
143
136
|
return data;
|
@@ -187,13 +180,14 @@ function _update() {
|
|
187
180
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
188
181
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2().default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
189
182
|
class InstallMain {
|
190
|
-
constructor(dependencyResolver, logger, workspace, variants,
|
183
|
+
constructor(dependencyResolver, logger, workspace, variants, compiler, preLinkSlot, preInstallSlot) {
|
191
184
|
this.dependencyResolver = dependencyResolver;
|
192
185
|
this.logger = logger;
|
193
186
|
this.workspace = workspace;
|
194
187
|
this.variants = variants;
|
195
|
-
this.importer = importer;
|
196
188
|
this.compiler = compiler;
|
189
|
+
this.preLinkSlot = preLinkSlot;
|
190
|
+
this.preInstallSlot = preInstallSlot;
|
197
191
|
}
|
198
192
|
/**
|
199
193
|
* Install dependencies for all components in the workspace
|
@@ -226,16 +220,18 @@ class InstallMain {
|
|
226
220
|
this.logger.console('No missing peer dependencies found.');
|
227
221
|
}
|
228
222
|
}
|
229
|
-
|
230
|
-
this.logger.setStatusLine('importing missing objects');
|
231
|
-
await this.importObjects();
|
232
|
-
this.logger.consoleSuccess();
|
233
|
-
}
|
223
|
+
await (0, _pMapSeries().default)(this.preInstallSlot.values(), fn => fn(options)); // import objects if not disabled in options
|
234
224
|
return this._installModules(options);
|
235
225
|
}
|
226
|
+
registerPreLink(fn) {
|
227
|
+
this.preLinkSlot.register(fn);
|
228
|
+
}
|
229
|
+
registerPreInstall(fn) {
|
230
|
+
this.preInstallSlot.register(fn);
|
231
|
+
}
|
236
232
|
async _addPackages(packages, options) {
|
237
233
|
if (!(options !== null && options !== void 0 && options.variants) && (options === null || options === void 0 ? void 0 : options.lifecycleType) === 'dev') {
|
238
|
-
throw new (
|
234
|
+
throw new (_exceptions().DependencyTypeNotSupportedInPolicy)(options === null || options === void 0 ? void 0 : options.lifecycleType);
|
239
235
|
}
|
240
236
|
this.logger.debug(`installing the following packages: ${packages.join()}`);
|
241
237
|
const resolver = await this.dependencyResolver.getVersionResolver();
|
@@ -469,9 +465,7 @@ class InstallMain {
|
|
469
465
|
return res;
|
470
466
|
}
|
471
467
|
async link(options = {}) {
|
472
|
-
|
473
|
-
await this.importObjects();
|
474
|
-
}
|
468
|
+
await (0, _pMapSeries().default)(this.preLinkSlot.values(), fn => fn(options)); // import objects if not disabled in options
|
475
469
|
options.consumer = this.workspace.consumer;
|
476
470
|
const compDirMap = await this.getComponentsDirectory([]);
|
477
471
|
const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();
|
@@ -482,23 +476,6 @@ class InstallMain {
|
|
482
476
|
const res = await linker.link(this.workspace.path, mergedRootPolicy, compDirMap, options);
|
483
477
|
return res;
|
484
478
|
}
|
485
|
-
async importObjects() {
|
486
|
-
const importOptions = {
|
487
|
-
ids: [],
|
488
|
-
objectsOnly: true,
|
489
|
-
installNpmPackages: false
|
490
|
-
};
|
491
|
-
try {
|
492
|
-
await this.importer.import(importOptions, []);
|
493
|
-
} catch (err) {
|
494
|
-
// TODO: this is a hack since the legacy throw an error, we should provide a way to not throw this error from the legacy
|
495
|
-
if (err instanceof _exceptions().NothingToImport) {
|
496
|
-
// Do not write nothing to import warning
|
497
|
-
return;
|
498
|
-
}
|
499
|
-
throw err;
|
500
|
-
}
|
501
|
-
}
|
502
479
|
|
503
480
|
/**
|
504
481
|
* Generate a filter to pass to the installer
|
@@ -531,20 +508,9 @@ class InstallMain {
|
|
531
508
|
const components = ids.length ? await this.workspace.getMany(ids) : await this.workspace.list();
|
532
509
|
return _component().ComponentMap.as(components, component => this.workspace.componentDir(component.id));
|
533
510
|
}
|
534
|
-
static async provider([dependencyResolver, workspace, loggerExt, variants, cli, community,
|
511
|
+
static async provider([dependencyResolver, workspace, loggerExt, variants, cli, community, compiler, issues], _, [preLinkSlot, preInstallSlot]) {
|
535
512
|
const logger = loggerExt.createLogger('teambit.bit/install');
|
536
|
-
const installExt = new InstallMain(dependencyResolver, logger, workspace, variants,
|
537
|
-
_manyComponentsWriter().default.registerExternalInstaller({
|
538
|
-
install: async () => {
|
539
|
-
// TODO: think how we should pass this options
|
540
|
-
const installOpts = {
|
541
|
-
dedupe: true,
|
542
|
-
updateExisting: false,
|
543
|
-
import: false
|
544
|
-
};
|
545
|
-
return installExt.install(undefined, installOpts);
|
546
|
-
}
|
547
|
-
});
|
513
|
+
const installExt = new InstallMain(dependencyResolver, logger, workspace, variants, compiler, preLinkSlot, preInstallSlot);
|
548
514
|
if (issues) {
|
549
515
|
issues.registerAddComponentsIssues(installExt.addDuplicateComponentAndPackageIssue.bind(installExt));
|
550
516
|
}
|
@@ -562,8 +528,8 @@ class InstallMain {
|
|
562
528
|
}
|
563
529
|
}
|
564
530
|
exports.InstallMain = InstallMain;
|
565
|
-
(0, _defineProperty2().default)(InstallMain, "slots", []);
|
566
|
-
(0, _defineProperty2().default)(InstallMain, "dependencies", [_dependencyResolver().DependencyResolverAspect, _workspace().WorkspaceAspect, _logger().LoggerAspect, _variants().VariantsAspect, _cli().CLIAspect, _community().CommunityAspect,
|
531
|
+
(0, _defineProperty2().default)(InstallMain, "slots", [_harmony().Slot.withType(), _harmony().Slot.withType()]);
|
532
|
+
(0, _defineProperty2().default)(InstallMain, "dependencies", [_dependencyResolver().DependencyResolverAspect, _workspace().WorkspaceAspect, _logger().LoggerAspect, _variants().VariantsAspect, _cli().CLIAspect, _community().CommunityAspect, _compiler().CompilerAspect, _issues().IssuesAspect]);
|
567
533
|
(0, _defineProperty2().default)(InstallMain, "runtime", _cli().MainRuntime);
|
568
534
|
function hasComponentsFromWorkspaceInMissingDeps({
|
569
535
|
componentDirectoryMap,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["InstallMain","constructor","dependencyResolver","logger","workspace","variants","importer","compiler","install","packages","options","length","_addPackages","addMissingPeers","compDirMap","getComponentsDirectory","mergedRootPolicy","getWorkspacePolicy","depsFilterFn","generateFilterFnForDepsFromLocalRemote","pmInstallOptions","dedupe","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","dependencyFilterFn","overrides","config","packageImportMethod","missingPeers","getMissingPeerDependencies","path","missingPeerPackages","Object","entries","map","peerName","range","console","import","setStatusLine","importObjects","consoleSuccess","_installModules","lifecycleType","DependencyTypeNotSupportedInPolicy","debug","join","resolver","getVersionResolver","resolvedPackagesP","packageName","resolveRemoteVersion","rootDir","resolvedPackages","Promise","all","newWorkspacePolicyEntries","forEach","resolvedPackage","version","versionWithPrefix","getVersionWithSavePrefix","savePrefix","push","dependencyId","value","addToRootPolicy","updateExisting","persistConfig","chalk","cyan","getPackageManagerName","hasRootComponents","rootComponents","installer","getInstaller","current","_getComponentsManifests","prevManifests","Set","link","linkTeambitBit","legacyLink","linkCoreAspects","linkDepsResolvedFromEnv","linkNestedDepsInNM","linkOpts","isLegacy","installCycle","hasMissingLocalComponents","hasComponentsFromWorkspaceInMissingDeps","consumer","componentLoader","clearComponentsCache","clearCache","installComponents","manifests","componentDirectoryMap","installTeambitBit","linkCoreAspectsAndLegacy","rootPolicy","compile","compileOnWorkspace","initiator","CompilationInitiator","Install","add","hash","has","dependencyInstaller","installOptions","getComponentManifests","updateDependencies","componentConfigFiles","componentPoliciesById","_getComponentsWithDependencyPolicies","variantPatterns","raw","variantPoliciesByPatterns","_variantPatternsToDepPolicesDict","components","list","outdatedPkgs","getOutdatedPkgsFromPolicies","outdatedPkgsToUpdate","off","pickOutdatedPkgs","on","updatedVariants","updatedComponents","applyUpdates","_updateVariantsPolicies","updatedComponentConfigFiles","values","pick","_saveManyComponentConfigFiles","_reloadConsumer","addDuplicateComponentAndPackageIssue","workspacePolicy","component","state","_consumer","removed","pkgName","componentIdToPackageName","found","find","issues","getOrCreate","IssuesClasses","DuplicateComponentAndPackage","data","allComponentIds","listIds","componentId","componentConfigFile","index","depResolverConfig","aspects","get","DependencyResolverAspect","id","toString","policy","variantPattern","extensions","updateVariantPolicies","setExtension","overrideExisting","Array","from","write","override","uninstallDependencies","removeFromRootPolicy","linker","getLinker","linkingOptions","compIds","res","fetchObject","importOptions","ids","objectsOnly","installNpmPackages","err","NothingToImport","remotes","scope","_legacyRemotes","reg","getRegistries","packageScopes","keys","scopes","dependencyList","filtered","filter","dep","ComponentDependency","isHub","some","startsWith","getMany","ComponentMap","as","componentDir","provider","loggerExt","cli","community","createLogger","installExt","ManyComponentsWriter","registerExternalInstaller","installOpts","undefined","registerAddComponentsIssues","bind","commands","InstallCmd","UninstallCmd","UpdateCmd","LinkCommand","getDocsDomain","register","registerOnMultipleComponentsAdd","WorkspaceAspect","LoggerAspect","VariantsAspect","CLIAspect","CommunityAspect","ImporterAspect","CompilerAspect","IssuesAspect","MainRuntime","missingDeps","toArray","issue","getIssue","MissingPackagesDependenciesOnFs","flat","name","InstallAspect","addRuntime"],"sources":["install.main.runtime.ts"],"sourcesContent":["import { CommunityMain, CommunityAspect } from '@teambit/community';\nimport { CompilerMain, CompilerAspect, CompilationInitiator } from '@teambit/compiler';\nimport ManyComponentsWriter from '@teambit/legacy/dist/consumer/component-ops/many-components-writer';\nimport { CLIMain, CommandList, CLIAspect, MainRuntime } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { WorkspaceAspect, Workspace, ComponentConfigFile } from '@teambit/workspace';\nimport { pick } from 'lodash';\nimport { ProjectManifest } from '@pnpm/types';\nimport { NothingToImport } from '@teambit/legacy/dist/consumer/exceptions';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { VariantsMain, Patterns, VariantsAspect } from '@teambit/variants';\nimport { Component, ComponentID, ComponentMap } from '@teambit/component';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport {\n WorkspaceDependencyLifecycleType,\n DependencyResolverMain,\n DependencyInstaller,\n DependencyResolverAspect,\n PackageManagerInstallOptions,\n ComponentDependency,\n VariantPolicyConfigObject,\n WorkspacePolicyEntry,\n LinkingOptions,\n LinkResults,\n DependencyList,\n OutdatedPkg,\n WorkspacePolicy,\n} from '@teambit/dependency-resolver';\nimport { ImporterAspect, ImporterMain, ImportOptions } from '@teambit/importer';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport hash from 'object-hash';\nimport { DependencyTypeNotSupportedInPolicy } from './exceptions';\nimport { InstallAspect } from './install.aspect';\nimport { pickOutdatedPkgs } from './pick-outdated-pkgs';\nimport { LinkCommand } from './link';\nimport InstallCmd from './install.cmd';\nimport UninstallCmd from './uninstall.cmd';\nimport UpdateCmd from './update.cmd';\n\nexport type WorkspaceLinkOptions = LinkingOptions & {\n rootPolicy?: WorkspacePolicy\n};\n\nexport type WorkspaceInstallOptions = {\n addMissingPeers?: boolean;\n variants?: string;\n lifecycleType?: WorkspaceDependencyLifecycleType;\n dedupe?: boolean;\n import?: boolean;\n copyPeerToRuntimeOnRoot?: boolean;\n copyPeerToRuntimeOnComponents?: boolean;\n updateExisting?: boolean;\n savePrefix?: string;\n compile?: boolean;\n};\n\nexport type ModulesInstallOptions = Omit<WorkspaceInstallOptions, 'updateExisting' | 'lifecycleType' | 'import'>;\n\nexport class InstallMain {\n constructor(\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger,\n\n private workspace: Workspace,\n\n private variants: VariantsMain,\n\n private importer: ImporterMain,\n\n private compiler: CompilerMain\n ) {}\n /**\n * Install dependencies for all components in the workspace\n *\n * @returns\n * @memberof Workspace\n */\n async install(packages?: string[], options?: WorkspaceInstallOptions): Promise<ComponentMap<string>> {\n if (packages && packages.length) {\n await this._addPackages(packages, options);\n }\n if (options?.addMissingPeers) {\n const compDirMap = await this.getComponentsDirectory([]);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();\n const pmInstallOptions: PackageManagerInstallOptions = {\n dedupe: options?.dedupe,\n copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,\n copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,\n dependencyFilterFn: depsFilterFn,\n overrides: this.dependencyResolver.config.overrides,\n packageImportMethod: this.dependencyResolver.config.packageImportMethod,\n };\n const missingPeers = await this.dependencyResolver.getMissingPeerDependencies(\n this.workspace.path,\n mergedRootPolicy,\n compDirMap,\n pmInstallOptions\n );\n if (missingPeers) {\n const missingPeerPackages = Object.entries(missingPeers).map(([peerName, range]) => `${peerName}@${range}`);\n await this._addPackages(missingPeerPackages, options);\n } else {\n this.logger.console('No missing peer dependencies found.');\n }\n }\n if (options?.import) {\n this.logger.setStatusLine('importing missing objects');\n await this.importObjects();\n this.logger.consoleSuccess();\n }\n return this._installModules(options);\n }\n\n private async _addPackages(packages: string[], options?: WorkspaceInstallOptions) {\n if (!options?.variants && (options?.lifecycleType as string) === 'dev') {\n throw new DependencyTypeNotSupportedInPolicy(options?.lifecycleType as string);\n }\n this.logger.debug(`installing the following packages: ${packages.join()}`);\n const resolver = await this.dependencyResolver.getVersionResolver();\n const resolvedPackagesP = packages.map((packageName) =>\n resolver.resolveRemoteVersion(packageName, {\n rootDir: this.workspace.path,\n })\n );\n const resolvedPackages = await Promise.all(resolvedPackagesP);\n const newWorkspacePolicyEntries: WorkspacePolicyEntry[] = [];\n resolvedPackages.forEach((resolvedPackage) => {\n if (resolvedPackage.version) {\n const versionWithPrefix = this.dependencyResolver.getVersionWithSavePrefix(\n resolvedPackage.version,\n options?.savePrefix\n );\n newWorkspacePolicyEntries.push({\n dependencyId: resolvedPackage.packageName,\n value: {\n version: versionWithPrefix,\n },\n lifecycleType: options?.lifecycleType || 'runtime',\n });\n }\n });\n if (!options?.variants) {\n this.dependencyResolver.addToRootPolicy(newWorkspacePolicyEntries, {\n updateExisting: options?.updateExisting ?? false,\n });\n } else {\n // TODO: implement\n }\n await this.dependencyResolver.persistConfig(this.workspace.path);\n }\n\n private async _installModules(options?: ModulesInstallOptions): Promise<ComponentMap<string>> {\n this.logger.console(\n `installing dependencies in workspace using ${chalk.cyan(this.dependencyResolver.getPackageManagerName())}`\n );\n this.logger.debug(`installing dependencies in workspace with options`, options);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();\n const hasRootComponents = this.dependencyResolver.hasRootComponents();\n const pmInstallOptions: PackageManagerInstallOptions = {\n dedupe: !hasRootComponents && options?.dedupe,\n copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,\n copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,\n dependencyFilterFn: depsFilterFn,\n overrides: this.dependencyResolver.config.overrides,\n packageImportMethod: this.dependencyResolver.config.packageImportMethod,\n rootComponents: hasRootComponents,\n };\n // TODO: pass get install options\n const installer = this.dependencyResolver.getInstaller({});\n let current = await this._getComponentsManifests(installer, mergedRootPolicy, pmInstallOptions);\n const prevManifests = new Set<string>();\n // TODO: this make duplicate\n // this.logger.consoleSuccess();\n // TODO: add the links results to the output\n await this.link({\n linkTeambitBit: true,\n legacyLink: true,\n linkCoreAspects: this.dependencyResolver.linkCoreAspects(),\n linkDepsResolvedFromEnv: !hasRootComponents,\n linkNestedDepsInNM: false,\n });\n const linkOpts = {\n linkTeambitBit: false,\n legacyLink: true,\n linkCoreAspects: false,\n linkDepsResolvedFromEnv: !hasRootComponents,\n linkNestedDepsInNM: !this.workspace.isLegacy && !hasRootComponents,\n };\n let installCycle = 0;\n let hasMissingLocalComponents = true;\n /* eslint-disable no-await-in-loop */\n do {\n // In case there are missing local components,\n // we'll need to make another round of installation as on the first round the missing local components\n // are not added to the manifests.\n // This is an issue when installation is done using root components.\n hasMissingLocalComponents = hasRootComponents && hasComponentsFromWorkspaceInMissingDeps(current);\n this.workspace.consumer.componentLoader.clearComponentsCache();\n this.workspace.clearCache();\n await installer.installComponents(\n this.workspace.path,\n current.manifests,\n mergedRootPolicy,\n current.componentDirectoryMap,\n { installTeambitBit: false },\n pmInstallOptions\n );\n // Core aspects should be relinked after installation because Yarn removes all symlinks created not by Yarn.\n // If we don't link the core aspects immediately, the components will fail during load.\n await this.linkCoreAspectsAndLegacy({\n linkTeambitBit: false,\n linkCoreAspects: this.dependencyResolver.linkCoreAspects(),\n rootPolicy: mergedRootPolicy\n });\n if (options?.compile) {\n await this.compiler.compileOnWorkspace([], { initiator: CompilationInitiator.Install });\n }\n await this.link(linkOpts);\n prevManifests.add(hash(current.manifests));\n current = await this._getComponentsManifests(installer, mergedRootPolicy, pmInstallOptions);\n installCycle += 1;\n } while ((!prevManifests.has(hash(current.manifests)) || hasMissingLocalComponents) && installCycle < 5);\n /* eslint-enable no-await-in-loop */\n return current.componentDirectoryMap;\n }\n\n private async _getComponentsManifests(\n dependencyInstaller: DependencyInstaller,\n rootPolicy: WorkspacePolicy,\n installOptions: Pick<\n PackageManagerInstallOptions,\n 'dedupe' | 'dependencyFilterFn' | 'copyPeerToRuntimeOnComponents'\n >\n ): Promise<ComponentsAndManifests> {\n const componentDirectoryMap = await this.getComponentsDirectory([]);\n const manifests = await dependencyInstaller.getComponentManifests({\n ...installOptions,\n componentDirectoryMap,\n rootPolicy,\n rootDir: this.workspace.path,\n });\n return {\n componentDirectoryMap,\n manifests,\n };\n }\n\n /**\n * Updates out-of-date dependencies in the workspace.\n *\n * @param options.all {Boolean} updates all outdated dependencies without showing a prompt.\n */\n async updateDependencies(options: { all: boolean }) {\n const { componentConfigFiles, componentPoliciesById } = await this._getComponentsWithDependencyPolicies();\n const variantPatterns = this.variants.raw();\n const variantPoliciesByPatterns = this._variantPatternsToDepPolicesDict(variantPatterns);\n const components = await this.workspace.list();\n const outdatedPkgs = await this.dependencyResolver.getOutdatedPkgsFromPolicies({\n rootDir: this.workspace.path,\n variantPoliciesByPatterns,\n componentPoliciesById,\n components,\n });\n let outdatedPkgsToUpdate!: OutdatedPkg[];\n if (options.all) {\n outdatedPkgsToUpdate = outdatedPkgs;\n } else {\n this.logger.off();\n outdatedPkgsToUpdate = await pickOutdatedPkgs(outdatedPkgs);\n this.logger.on();\n }\n const { updatedVariants, updatedComponents } = this.dependencyResolver.applyUpdates(outdatedPkgsToUpdate, {\n variantPoliciesByPatterns,\n componentPoliciesById,\n });\n await this._updateVariantsPolicies(variantPatterns, updatedVariants);\n const updatedComponentConfigFiles = Object.values(pick(componentConfigFiles, updatedComponents));\n await this._saveManyComponentConfigFiles(updatedComponentConfigFiles);\n await this.workspace._reloadConsumer();\n return this._installModules({ dedupe: true });\n }\n\n async addDuplicateComponentAndPackageIssue(components: Component[]) {\n const workspacePolicy = this.dependencyResolver.getWorkspacePolicy();\n components.forEach((component) => {\n if (component.state._consumer.removed) return;\n const pkgName = componentIdToPackageName(component.state._consumer);\n const found = workspacePolicy.find(pkgName);\n if (found) {\n component.state.issues.getOrCreate(IssuesClasses.DuplicateComponentAndPackage).data = found.dependencyId;\n }\n });\n }\n\n private async _getComponentsWithDependencyPolicies() {\n const allComponentIds = await this.workspace.listIds();\n const componentConfigFiles: Record<string, ComponentConfigFile> = {};\n const componentPoliciesById: Record<string, any> = {};\n (\n await Promise.all<ComponentConfigFile | undefined>(\n allComponentIds.map((componentId) => this.workspace.componentConfigFile(componentId))\n )\n ).forEach((componentConfigFile, index) => {\n if (!componentConfigFile) return;\n const depResolverConfig = componentConfigFile.aspects.get(DependencyResolverAspect.id);\n if (!depResolverConfig) return;\n const componentId = allComponentIds[index].toString();\n componentConfigFiles[componentId] = componentConfigFile;\n componentPoliciesById[componentId] = depResolverConfig.config.policy;\n });\n return {\n componentConfigFiles,\n componentPoliciesById,\n };\n }\n\n private _variantPatternsToDepPolicesDict(variantPatterns: Patterns): Record<string, VariantPolicyConfigObject> {\n const variantPoliciesByPatterns: Record<string, VariantPolicyConfigObject> = {};\n for (const [variantPattern, extensions] of Object.entries(variantPatterns)) {\n if (extensions[DependencyResolverAspect.id]?.policy) {\n variantPoliciesByPatterns[variantPattern] = extensions[DependencyResolverAspect.id]?.policy;\n }\n }\n return variantPoliciesByPatterns;\n }\n\n private _updateVariantsPolicies(variantPatterns: Record<string, any>, updateVariantPolicies: string[]) {\n for (const variantPattern of updateVariantPolicies) {\n this.variants.setExtension(\n variantPattern,\n DependencyResolverAspect.id,\n variantPatterns[variantPattern][DependencyResolverAspect.id],\n { overrideExisting: true }\n );\n }\n return this.dependencyResolver.persistConfig(this.workspace.path);\n }\n\n private async _saveManyComponentConfigFiles(componentConfigFiles: ComponentConfigFile[]) {\n await Promise.all(\n Array.from(componentConfigFiles).map(async (componentConfigFile) => {\n await componentConfigFile.write({ override: true });\n })\n );\n }\n\n /**\n * Uninstall the specified packages from dependencies.\n *\n * @param {string[]} the list of packages that should be removed from dependencies.\n */\n async uninstallDependencies(packages: string[]) {\n this.dependencyResolver.removeFromRootPolicy(packages);\n await this.dependencyResolver.persistConfig(this.workspace.path);\n return this._installModules({ dedupe: true });\n }\n\n async linkCoreAspectsAndLegacy(options: WorkspaceLinkOptions = {}) {\n const linker = this.dependencyResolver.getLinker({\n rootDir: this.workspace.path,\n linkingOptions: options,\n });\n const compIds = await this.workspace.listIds();\n const res = await linker.linkCoreAspectsAndLegacy(this.workspace.path, compIds, options.rootPolicy, options);\n return res;\n }\n\n async link(options: WorkspaceLinkOptions = {}): Promise<LinkResults> {\n if (options.fetchObject) {\n await this.importObjects();\n }\n options.consumer = this.workspace.consumer;\n const compDirMap = await this.getComponentsDirectory([]);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const linker = this.dependencyResolver.getLinker({\n rootDir: this.workspace.path,\n linkingOptions: options,\n });\n const res = await linker.link(this.workspace.path, mergedRootPolicy, compDirMap, options);\n return res;\n }\n\n private async importObjects() {\n const importOptions: ImportOptions = {\n ids: [],\n objectsOnly: true,\n installNpmPackages: false,\n };\n try {\n await this.importer.import(importOptions, []);\n } catch (err: any) {\n // TODO: this is a hack since the legacy throw an error, we should provide a way to not throw this error from the legacy\n if (err instanceof NothingToImport) {\n // Do not write nothing to import warning\n return;\n }\n throw err;\n }\n }\n\n /**\n * Generate a filter to pass to the installer\n * This will filter deps which are come from remotes which defined in scope.json\n * those components comes from local remotes, usually doesn't have a package in a registry\n * so no reason to try to install them (it will fail)\n */\n private async generateFilterFnForDepsFromLocalRemote() {\n // TODO: once scope create a new API for this, replace it with the new one\n const remotes = await this.workspace.scope._legacyRemotes();\n const reg = await this.dependencyResolver.getRegistries();\n const packageScopes = Object.keys(reg.scopes);\n return (dependencyList: DependencyList): DependencyList => {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n return true;\n }\n if (remotes.isHub(dep.componentId.scope)) {\n return true;\n }\n if (packageScopes.some((scope) => dep.packageName.startsWith(`@${scope}/`))) {\n return true;\n }\n return false;\n });\n return filtered;\n };\n }\n\n private async getComponentsDirectory(ids: ComponentID[]): Promise<ComponentMap<string>> {\n const components = ids.length ? await this.workspace.getMany(ids) : await this.workspace.list();\n return ComponentMap.as<string>(components, (component) => this.workspace.componentDir(component.id));\n }\n\n static slots = [];\n static dependencies = [\n DependencyResolverAspect,\n WorkspaceAspect,\n LoggerAspect,\n VariantsAspect,\n CLIAspect,\n CommunityAspect,\n ImporterAspect,\n CompilerAspect,\n IssuesAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider([\n dependencyResolver,\n workspace,\n loggerExt,\n variants,\n cli,\n community,\n importer,\n compiler,\n issues,\n ]: [\n DependencyResolverMain,\n Workspace,\n LoggerMain,\n VariantsMain,\n CLIMain,\n CommunityMain,\n ImporterMain,\n CompilerMain,\n IssuesMain\n ]) {\n const logger = loggerExt.createLogger('teambit.bit/install');\n const installExt = new InstallMain(dependencyResolver, logger, workspace, variants, importer, compiler);\n ManyComponentsWriter.registerExternalInstaller({\n install: async () => {\n // TODO: think how we should pass this options\n const installOpts: WorkspaceInstallOptions = {\n dedupe: true,\n updateExisting: false,\n import: false,\n };\n return installExt.install(undefined, installOpts);\n },\n });\n if (issues) {\n issues.registerAddComponentsIssues(installExt.addDuplicateComponentAndPackageIssue.bind(installExt));\n }\n const commands: CommandList = [\n new InstallCmd(installExt, workspace, logger),\n new UninstallCmd(installExt),\n new UpdateCmd(installExt),\n new LinkCommand(installExt, workspace, logger, community.getDocsDomain()),\n ];\n cli.register(...commands);\n if (dependencyResolver.hasRootComponents()) {\n workspace.registerOnMultipleComponentsAdd(async () => {\n await installExt.install(undefined, { compile: true, import: false });\n });\n }\n return installExt;\n }\n}\n\ntype ComponentsAndManifests = {\n componentDirectoryMap: ComponentMap<string>;\n manifests: Record<string, ProjectManifest>;\n};\n\nfunction hasComponentsFromWorkspaceInMissingDeps({\n componentDirectoryMap,\n manifests,\n}: ComponentsAndManifests): boolean {\n const missingDeps = new Set<string>(\n componentDirectoryMap\n .toArray()\n .map(([{ state }]) => {\n const issue = state.issues.getIssue(IssuesClasses.MissingPackagesDependenciesOnFs);\n if (!issue) return [];\n return Object.values(issue.data).flat();\n })\n .flat()\n );\n return Object.values(manifests).some(({ name }) => name && missingDeps.has(name));\n}\n\nInstallAspect.addRuntime(InstallMain);\n\nexport default InstallMain;\n"],"mappings":"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"}
|
1
|
+
{"version":3,"names":["InstallMain","constructor","dependencyResolver","logger","workspace","variants","compiler","preLinkSlot","preInstallSlot","install","packages","options","length","_addPackages","addMissingPeers","compDirMap","getComponentsDirectory","mergedRootPolicy","getWorkspacePolicy","depsFilterFn","generateFilterFnForDepsFromLocalRemote","pmInstallOptions","dedupe","copyPeerToRuntimeOnRoot","copyPeerToRuntimeOnComponents","dependencyFilterFn","overrides","config","packageImportMethod","missingPeers","getMissingPeerDependencies","path","missingPeerPackages","Object","entries","map","peerName","range","console","pMapSeries","values","fn","_installModules","registerPreLink","register","registerPreInstall","lifecycleType","DependencyTypeNotSupportedInPolicy","debug","join","resolver","getVersionResolver","resolvedPackagesP","packageName","resolveRemoteVersion","rootDir","resolvedPackages","Promise","all","newWorkspacePolicyEntries","forEach","resolvedPackage","version","versionWithPrefix","getVersionWithSavePrefix","savePrefix","push","dependencyId","value","addToRootPolicy","updateExisting","persistConfig","chalk","cyan","getPackageManagerName","hasRootComponents","rootComponents","installer","getInstaller","current","_getComponentsManifests","prevManifests","Set","link","linkTeambitBit","legacyLink","linkCoreAspects","linkDepsResolvedFromEnv","linkNestedDepsInNM","linkOpts","isLegacy","installCycle","hasMissingLocalComponents","hasComponentsFromWorkspaceInMissingDeps","consumer","componentLoader","clearComponentsCache","clearCache","installComponents","manifests","componentDirectoryMap","installTeambitBit","linkCoreAspectsAndLegacy","rootPolicy","compile","compileOnWorkspace","initiator","CompilationInitiator","Install","add","hash","has","dependencyInstaller","installOptions","getComponentManifests","updateDependencies","componentConfigFiles","componentPoliciesById","_getComponentsWithDependencyPolicies","variantPatterns","raw","variantPoliciesByPatterns","_variantPatternsToDepPolicesDict","components","list","outdatedPkgs","getOutdatedPkgsFromPolicies","outdatedPkgsToUpdate","off","pickOutdatedPkgs","on","updatedVariants","updatedComponents","applyUpdates","_updateVariantsPolicies","updatedComponentConfigFiles","pick","_saveManyComponentConfigFiles","_reloadConsumer","addDuplicateComponentAndPackageIssue","workspacePolicy","component","state","_consumer","removed","pkgName","componentIdToPackageName","found","find","issues","getOrCreate","IssuesClasses","DuplicateComponentAndPackage","data","allComponentIds","listIds","componentId","componentConfigFile","index","depResolverConfig","aspects","get","DependencyResolverAspect","id","toString","policy","variantPattern","extensions","updateVariantPolicies","setExtension","overrideExisting","Array","from","write","override","uninstallDependencies","removeFromRootPolicy","linker","getLinker","linkingOptions","compIds","res","remotes","scope","_legacyRemotes","reg","getRegistries","packageScopes","keys","scopes","dependencyList","filtered","filter","dep","ComponentDependency","isHub","some","startsWith","ids","getMany","ComponentMap","as","componentDir","provider","loggerExt","cli","community","_","createLogger","installExt","registerAddComponentsIssues","bind","commands","InstallCmd","UninstallCmd","UpdateCmd","LinkCommand","getDocsDomain","registerOnMultipleComponentsAdd","undefined","import","Slot","withType","WorkspaceAspect","LoggerAspect","VariantsAspect","CLIAspect","CommunityAspect","CompilerAspect","IssuesAspect","MainRuntime","missingDeps","toArray","issue","getIssue","MissingPackagesDependenciesOnFs","flat","name","InstallAspect","addRuntime"],"sources":["install.main.runtime.ts"],"sourcesContent":["import { CommunityMain, CommunityAspect } from '@teambit/community';\nimport { CompilerMain, CompilerAspect, CompilationInitiator } from '@teambit/compiler';\nimport { CLIMain, CommandList, CLIAspect, MainRuntime } from '@teambit/cli';\nimport chalk from 'chalk';\nimport { WorkspaceAspect, Workspace, ComponentConfigFile } from '@teambit/workspace';\nimport { pick } from 'lodash';\nimport { ProjectManifest } from '@pnpm/types';\nimport componentIdToPackageName from '@teambit/legacy/dist/utils/bit/component-id-to-package-name';\nimport { VariantsMain, Patterns, VariantsAspect } from '@teambit/variants';\nimport { Component, ComponentID, ComponentMap } from '@teambit/component';\nimport pMapSeries from 'p-map-series';\nimport { Slot, SlotRegistry } from '@teambit/harmony';\nimport { IssuesClasses } from '@teambit/component-issues';\nimport {\n WorkspaceDependencyLifecycleType,\n DependencyResolverMain,\n DependencyInstaller,\n DependencyResolverAspect,\n PackageManagerInstallOptions,\n ComponentDependency,\n VariantPolicyConfigObject,\n WorkspacePolicyEntry,\n LinkingOptions,\n LinkResults,\n DependencyList,\n OutdatedPkg,\n WorkspacePolicy,\n} from '@teambit/dependency-resolver';\nimport { Logger, LoggerAspect, LoggerMain } from '@teambit/logger';\nimport { IssuesAspect, IssuesMain } from '@teambit/issues';\nimport hash from 'object-hash';\nimport { DependencyTypeNotSupportedInPolicy } from './exceptions';\nimport { InstallAspect } from './install.aspect';\nimport { pickOutdatedPkgs } from './pick-outdated-pkgs';\nimport { LinkCommand } from './link';\nimport InstallCmd from './install.cmd';\nimport UninstallCmd from './uninstall.cmd';\nimport UpdateCmd from './update.cmd';\n\nexport type WorkspaceLinkOptions = LinkingOptions & {\n rootPolicy?: WorkspacePolicy;\n};\n\nexport type WorkspaceInstallOptions = {\n addMissingPeers?: boolean;\n variants?: string;\n lifecycleType?: WorkspaceDependencyLifecycleType;\n dedupe?: boolean;\n import?: boolean;\n copyPeerToRuntimeOnRoot?: boolean;\n copyPeerToRuntimeOnComponents?: boolean;\n updateExisting?: boolean;\n savePrefix?: string;\n compile?: boolean;\n};\n\nexport type ModulesInstallOptions = Omit<WorkspaceInstallOptions, 'updateExisting' | 'lifecycleType' | 'import'>;\n\ntype PreLink = (linkOpts?: WorkspaceLinkOptions) => Promise<void>;\ntype PreInstall = (installOpts?: WorkspaceInstallOptions) => Promise<void>;\n\ntype PreLinkSlot = SlotRegistry<PreLink>;\ntype PreInstallSlot = SlotRegistry<PreInstall>;\n\nexport class InstallMain {\n constructor(\n private dependencyResolver: DependencyResolverMain,\n\n private logger: Logger,\n\n private workspace: Workspace,\n\n private variants: VariantsMain,\n\n private compiler: CompilerMain,\n\n private preLinkSlot: PreLinkSlot,\n\n private preInstallSlot: PreInstallSlot\n ) {}\n /**\n * Install dependencies for all components in the workspace\n *\n * @returns\n * @memberof Workspace\n */\n async install(packages?: string[], options?: WorkspaceInstallOptions): Promise<ComponentMap<string>> {\n if (packages && packages.length) {\n await this._addPackages(packages, options);\n }\n if (options?.addMissingPeers) {\n const compDirMap = await this.getComponentsDirectory([]);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();\n const pmInstallOptions: PackageManagerInstallOptions = {\n dedupe: options?.dedupe,\n copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,\n copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,\n dependencyFilterFn: depsFilterFn,\n overrides: this.dependencyResolver.config.overrides,\n packageImportMethod: this.dependencyResolver.config.packageImportMethod,\n };\n const missingPeers = await this.dependencyResolver.getMissingPeerDependencies(\n this.workspace.path,\n mergedRootPolicy,\n compDirMap,\n pmInstallOptions\n );\n if (missingPeers) {\n const missingPeerPackages = Object.entries(missingPeers).map(([peerName, range]) => `${peerName}@${range}`);\n await this._addPackages(missingPeerPackages, options);\n } else {\n this.logger.console('No missing peer dependencies found.');\n }\n }\n await pMapSeries(this.preInstallSlot.values(), (fn) => fn(options)); // import objects if not disabled in options\n return this._installModules(options);\n }\n\n registerPreLink(fn: PreLink) {\n this.preLinkSlot.register(fn);\n }\n\n registerPreInstall(fn: PreInstall) {\n this.preInstallSlot.register(fn);\n }\n\n private async _addPackages(packages: string[], options?: WorkspaceInstallOptions) {\n if (!options?.variants && (options?.lifecycleType as string) === 'dev') {\n throw new DependencyTypeNotSupportedInPolicy(options?.lifecycleType as string);\n }\n this.logger.debug(`installing the following packages: ${packages.join()}`);\n const resolver = await this.dependencyResolver.getVersionResolver();\n const resolvedPackagesP = packages.map((packageName) =>\n resolver.resolveRemoteVersion(packageName, {\n rootDir: this.workspace.path,\n })\n );\n const resolvedPackages = await Promise.all(resolvedPackagesP);\n const newWorkspacePolicyEntries: WorkspacePolicyEntry[] = [];\n resolvedPackages.forEach((resolvedPackage) => {\n if (resolvedPackage.version) {\n const versionWithPrefix = this.dependencyResolver.getVersionWithSavePrefix(\n resolvedPackage.version,\n options?.savePrefix\n );\n newWorkspacePolicyEntries.push({\n dependencyId: resolvedPackage.packageName,\n value: {\n version: versionWithPrefix,\n },\n lifecycleType: options?.lifecycleType || 'runtime',\n });\n }\n });\n if (!options?.variants) {\n this.dependencyResolver.addToRootPolicy(newWorkspacePolicyEntries, {\n updateExisting: options?.updateExisting ?? false,\n });\n } else {\n // TODO: implement\n }\n await this.dependencyResolver.persistConfig(this.workspace.path);\n }\n\n private async _installModules(options?: ModulesInstallOptions): Promise<ComponentMap<string>> {\n this.logger.console(\n `installing dependencies in workspace using ${chalk.cyan(this.dependencyResolver.getPackageManagerName())}`\n );\n this.logger.debug(`installing dependencies in workspace with options`, options);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();\n const hasRootComponents = this.dependencyResolver.hasRootComponents();\n const pmInstallOptions: PackageManagerInstallOptions = {\n dedupe: !hasRootComponents && options?.dedupe,\n copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,\n copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,\n dependencyFilterFn: depsFilterFn,\n overrides: this.dependencyResolver.config.overrides,\n packageImportMethod: this.dependencyResolver.config.packageImportMethod,\n rootComponents: hasRootComponents,\n };\n // TODO: pass get install options\n const installer = this.dependencyResolver.getInstaller({});\n let current = await this._getComponentsManifests(installer, mergedRootPolicy, pmInstallOptions);\n const prevManifests = new Set<string>();\n // TODO: this make duplicate\n // this.logger.consoleSuccess();\n // TODO: add the links results to the output\n await this.link({\n linkTeambitBit: true,\n legacyLink: true,\n linkCoreAspects: this.dependencyResolver.linkCoreAspects(),\n linkDepsResolvedFromEnv: !hasRootComponents,\n linkNestedDepsInNM: false,\n });\n const linkOpts = {\n linkTeambitBit: false,\n legacyLink: true,\n linkCoreAspects: false,\n linkDepsResolvedFromEnv: !hasRootComponents,\n linkNestedDepsInNM: !this.workspace.isLegacy && !hasRootComponents,\n };\n let installCycle = 0;\n let hasMissingLocalComponents = true;\n /* eslint-disable no-await-in-loop */\n do {\n // In case there are missing local components,\n // we'll need to make another round of installation as on the first round the missing local components\n // are not added to the manifests.\n // This is an issue when installation is done using root components.\n hasMissingLocalComponents = hasRootComponents && hasComponentsFromWorkspaceInMissingDeps(current);\n this.workspace.consumer.componentLoader.clearComponentsCache();\n this.workspace.clearCache();\n await installer.installComponents(\n this.workspace.path,\n current.manifests,\n mergedRootPolicy,\n current.componentDirectoryMap,\n { installTeambitBit: false },\n pmInstallOptions\n );\n // Core aspects should be relinked after installation because Yarn removes all symlinks created not by Yarn.\n // If we don't link the core aspects immediately, the components will fail during load.\n await this.linkCoreAspectsAndLegacy({\n linkTeambitBit: false,\n linkCoreAspects: this.dependencyResolver.linkCoreAspects(),\n rootPolicy: mergedRootPolicy,\n });\n if (options?.compile) {\n await this.compiler.compileOnWorkspace([], { initiator: CompilationInitiator.Install });\n }\n await this.link(linkOpts);\n prevManifests.add(hash(current.manifests));\n current = await this._getComponentsManifests(installer, mergedRootPolicy, pmInstallOptions);\n installCycle += 1;\n } while ((!prevManifests.has(hash(current.manifests)) || hasMissingLocalComponents) && installCycle < 5);\n /* eslint-enable no-await-in-loop */\n return current.componentDirectoryMap;\n }\n\n private async _getComponentsManifests(\n dependencyInstaller: DependencyInstaller,\n rootPolicy: WorkspacePolicy,\n installOptions: Pick<\n PackageManagerInstallOptions,\n 'dedupe' | 'dependencyFilterFn' | 'copyPeerToRuntimeOnComponents'\n >\n ): Promise<ComponentsAndManifests> {\n const componentDirectoryMap = await this.getComponentsDirectory([]);\n const manifests = await dependencyInstaller.getComponentManifests({\n ...installOptions,\n componentDirectoryMap,\n rootPolicy,\n rootDir: this.workspace.path,\n });\n return {\n componentDirectoryMap,\n manifests,\n };\n }\n\n /**\n * Updates out-of-date dependencies in the workspace.\n *\n * @param options.all {Boolean} updates all outdated dependencies without showing a prompt.\n */\n async updateDependencies(options: { all: boolean }) {\n const { componentConfigFiles, componentPoliciesById } = await this._getComponentsWithDependencyPolicies();\n const variantPatterns = this.variants.raw();\n const variantPoliciesByPatterns = this._variantPatternsToDepPolicesDict(variantPatterns);\n const components = await this.workspace.list();\n const outdatedPkgs = await this.dependencyResolver.getOutdatedPkgsFromPolicies({\n rootDir: this.workspace.path,\n variantPoliciesByPatterns,\n componentPoliciesById,\n components,\n });\n let outdatedPkgsToUpdate!: OutdatedPkg[];\n if (options.all) {\n outdatedPkgsToUpdate = outdatedPkgs;\n } else {\n this.logger.off();\n outdatedPkgsToUpdate = await pickOutdatedPkgs(outdatedPkgs);\n this.logger.on();\n }\n const { updatedVariants, updatedComponents } = this.dependencyResolver.applyUpdates(outdatedPkgsToUpdate, {\n variantPoliciesByPatterns,\n componentPoliciesById,\n });\n await this._updateVariantsPolicies(variantPatterns, updatedVariants);\n const updatedComponentConfigFiles = Object.values(pick(componentConfigFiles, updatedComponents));\n await this._saveManyComponentConfigFiles(updatedComponentConfigFiles);\n await this.workspace._reloadConsumer();\n return this._installModules({ dedupe: true });\n }\n\n async addDuplicateComponentAndPackageIssue(components: Component[]) {\n const workspacePolicy = this.dependencyResolver.getWorkspacePolicy();\n components.forEach((component) => {\n if (component.state._consumer.removed) return;\n const pkgName = componentIdToPackageName(component.state._consumer);\n const found = workspacePolicy.find(pkgName);\n if (found) {\n component.state.issues.getOrCreate(IssuesClasses.DuplicateComponentAndPackage).data = found.dependencyId;\n }\n });\n }\n\n private async _getComponentsWithDependencyPolicies() {\n const allComponentIds = await this.workspace.listIds();\n const componentConfigFiles: Record<string, ComponentConfigFile> = {};\n const componentPoliciesById: Record<string, any> = {};\n (\n await Promise.all<ComponentConfigFile | undefined>(\n allComponentIds.map((componentId) => this.workspace.componentConfigFile(componentId))\n )\n ).forEach((componentConfigFile, index) => {\n if (!componentConfigFile) return;\n const depResolverConfig = componentConfigFile.aspects.get(DependencyResolverAspect.id);\n if (!depResolverConfig) return;\n const componentId = allComponentIds[index].toString();\n componentConfigFiles[componentId] = componentConfigFile;\n componentPoliciesById[componentId] = depResolverConfig.config.policy;\n });\n return {\n componentConfigFiles,\n componentPoliciesById,\n };\n }\n\n private _variantPatternsToDepPolicesDict(variantPatterns: Patterns): Record<string, VariantPolicyConfigObject> {\n const variantPoliciesByPatterns: Record<string, VariantPolicyConfigObject> = {};\n for (const [variantPattern, extensions] of Object.entries(variantPatterns)) {\n if (extensions[DependencyResolverAspect.id]?.policy) {\n variantPoliciesByPatterns[variantPattern] = extensions[DependencyResolverAspect.id]?.policy;\n }\n }\n return variantPoliciesByPatterns;\n }\n\n private _updateVariantsPolicies(variantPatterns: Record<string, any>, updateVariantPolicies: string[]) {\n for (const variantPattern of updateVariantPolicies) {\n this.variants.setExtension(\n variantPattern,\n DependencyResolverAspect.id,\n variantPatterns[variantPattern][DependencyResolverAspect.id],\n { overrideExisting: true }\n );\n }\n return this.dependencyResolver.persistConfig(this.workspace.path);\n }\n\n private async _saveManyComponentConfigFiles(componentConfigFiles: ComponentConfigFile[]) {\n await Promise.all(\n Array.from(componentConfigFiles).map(async (componentConfigFile) => {\n await componentConfigFile.write({ override: true });\n })\n );\n }\n\n /**\n * Uninstall the specified packages from dependencies.\n *\n * @param {string[]} the list of packages that should be removed from dependencies.\n */\n async uninstallDependencies(packages: string[]) {\n this.dependencyResolver.removeFromRootPolicy(packages);\n await this.dependencyResolver.persistConfig(this.workspace.path);\n return this._installModules({ dedupe: true });\n }\n\n async linkCoreAspectsAndLegacy(options: WorkspaceLinkOptions = {}) {\n const linker = this.dependencyResolver.getLinker({\n rootDir: this.workspace.path,\n linkingOptions: options,\n });\n const compIds = await this.workspace.listIds();\n const res = await linker.linkCoreAspectsAndLegacy(this.workspace.path, compIds, options.rootPolicy, options);\n return res;\n }\n\n async link(options: WorkspaceLinkOptions = {}): Promise<LinkResults> {\n await pMapSeries(this.preLinkSlot.values(), (fn) => fn(options)); // import objects if not disabled in options\n options.consumer = this.workspace.consumer;\n const compDirMap = await this.getComponentsDirectory([]);\n const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();\n const linker = this.dependencyResolver.getLinker({\n rootDir: this.workspace.path,\n linkingOptions: options,\n });\n const res = await linker.link(this.workspace.path, mergedRootPolicy, compDirMap, options);\n return res;\n }\n\n /**\n * Generate a filter to pass to the installer\n * This will filter deps which are come from remotes which defined in scope.json\n * those components comes from local remotes, usually doesn't have a package in a registry\n * so no reason to try to install them (it will fail)\n */\n private async generateFilterFnForDepsFromLocalRemote() {\n // TODO: once scope create a new API for this, replace it with the new one\n const remotes = await this.workspace.scope._legacyRemotes();\n const reg = await this.dependencyResolver.getRegistries();\n const packageScopes = Object.keys(reg.scopes);\n return (dependencyList: DependencyList): DependencyList => {\n const filtered = dependencyList.filter((dep) => {\n if (!(dep instanceof ComponentDependency)) {\n return true;\n }\n if (remotes.isHub(dep.componentId.scope)) {\n return true;\n }\n if (packageScopes.some((scope) => dep.packageName.startsWith(`@${scope}/`))) {\n return true;\n }\n return false;\n });\n return filtered;\n };\n }\n\n private async getComponentsDirectory(ids: ComponentID[]): Promise<ComponentMap<string>> {\n const components = ids.length ? await this.workspace.getMany(ids) : await this.workspace.list();\n return ComponentMap.as<string>(components, (component) => this.workspace.componentDir(component.id));\n }\n\n static slots = [Slot.withType<PreLinkSlot>(), Slot.withType<PreInstallSlot>()];\n static dependencies = [\n DependencyResolverAspect,\n WorkspaceAspect,\n LoggerAspect,\n VariantsAspect,\n CLIAspect,\n CommunityAspect,\n CompilerAspect,\n IssuesAspect,\n ];\n\n static runtime = MainRuntime;\n\n static async provider(\n [dependencyResolver, workspace, loggerExt, variants, cli, community, compiler, issues]: [\n DependencyResolverMain,\n Workspace,\n LoggerMain,\n VariantsMain,\n CLIMain,\n CommunityMain,\n CompilerMain,\n IssuesMain\n ],\n _,\n [preLinkSlot, preInstallSlot]: [PreLinkSlot, PreInstallSlot]\n ) {\n const logger = loggerExt.createLogger('teambit.bit/install');\n const installExt = new InstallMain(\n dependencyResolver,\n logger,\n workspace,\n variants,\n compiler,\n preLinkSlot,\n preInstallSlot\n );\n if (issues) {\n issues.registerAddComponentsIssues(installExt.addDuplicateComponentAndPackageIssue.bind(installExt));\n }\n const commands: CommandList = [\n new InstallCmd(installExt, workspace, logger),\n new UninstallCmd(installExt),\n new UpdateCmd(installExt),\n new LinkCommand(installExt, workspace, logger, community.getDocsDomain()),\n ];\n cli.register(...commands);\n if (dependencyResolver.hasRootComponents()) {\n workspace.registerOnMultipleComponentsAdd(async () => {\n await installExt.install(undefined, { compile: true, import: false });\n });\n }\n return installExt;\n }\n}\n\ntype ComponentsAndManifests = {\n componentDirectoryMap: ComponentMap<string>;\n manifests: Record<string, ProjectManifest>;\n};\n\nfunction hasComponentsFromWorkspaceInMissingDeps({\n componentDirectoryMap,\n manifests,\n}: ComponentsAndManifests): boolean {\n const missingDeps = new Set<string>(\n componentDirectoryMap\n .toArray()\n .map(([{ state }]) => {\n const issue = state.issues.getIssue(IssuesClasses.MissingPackagesDependenciesOnFs);\n if (!issue) return [];\n return Object.values(issue.data).flat();\n })\n .flat()\n );\n return Object.values(manifests).some(({ name }) => name && missingDeps.has(name));\n}\n\nInstallAspect.addRuntime(InstallMain);\n\nexport default InstallMain;\n"],"mappings":"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"}
|
File without changes
|
Binary file
|
package/package.json
CHANGED
@@ -1,18 +1,19 @@
|
|
1
1
|
{
|
2
2
|
"name": "@teambit/install",
|
3
|
-
"version": "0.0.
|
3
|
+
"version": "0.0.95",
|
4
4
|
"homepage": "https://bit.dev/teambit/workspace/install",
|
5
5
|
"main": "dist/index.js",
|
6
6
|
"componentId": {
|
7
7
|
"scope": "teambit.workspace",
|
8
8
|
"name": "install",
|
9
|
-
"version": "0.0.
|
9
|
+
"version": "0.0.95"
|
10
10
|
},
|
11
11
|
"dependencies": {
|
12
12
|
"chalk": "2.4.2",
|
13
13
|
"@pnpm/types": "8.10.0",
|
14
14
|
"lodash": "4.17.21",
|
15
15
|
"object-hash": "2.1.1",
|
16
|
+
"p-map-series": "2.1.0",
|
16
17
|
"@pnpm/colorize-semver-diff": "1.0.1",
|
17
18
|
"@pnpm/semver-diff": "1.1.0",
|
18
19
|
"enquirer": "2.3.6",
|
@@ -37,7 +38,7 @@
|
|
37
38
|
"@types/testing-library__jest-dom": "5.9.5"
|
38
39
|
},
|
39
40
|
"peerDependencies": {
|
40
|
-
"@teambit/legacy": "1.0.
|
41
|
+
"@teambit/legacy": "1.0.429",
|
41
42
|
"react": "^16.8.0 || ^17.0.0",
|
42
43
|
"react-dom": "^16.8.0 || ^17.0.0"
|
43
44
|
},
|
Binary file
|