@teambit/install 1.0.106 → 1.0.108
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.cmd.d.ts +1 -1
- package/dist/install.main.runtime.d.ts +10 -10
- package/dist/install.main.runtime.js +28 -31
- package/dist/install.main.runtime.js.map +1 -1
- package/dist/link/component-list-links.d.ts +1 -1
- package/dist/link/core-aspects-links.d.ts +1 -1
- package/dist/link/link-row.d.ts +2 -2
- package/dist/link/link.cmd.d.ts +1 -1
- package/dist/link/link.cmd.js +1 -2
- package/dist/link/link.cmd.js.map +1 -1
- package/dist/link/nested-deps-in-nm-links.d.ts +1 -1
- package/dist/link/rewire-row.d.ts +1 -1
- package/dist/link/rewire-row.js +1 -1
- package/dist/link/rewire-row.js.map +1 -1
- package/dist/pick-outdated-pkgs.spec.js +98 -2
- package/dist/pick-outdated-pkgs.spec.js.map +1 -1
- package/dist/update.cmd.d.ts +1 -1
- package/index.ts +6 -0
- package/install.aspect.ts +5 -0
- package/install.main.runtime.ts +1113 -0
- package/package.json +26 -34
- package/pick-outdated-pkgs.spec.ts +167 -0
- package/pick-outdated-pkgs.ts +155 -0
- package/tsconfig.json +16 -21
- package/types/asset.d.ts +15 -3
- package/__snapshots__/pick-outdated-pkgs.spec.ts.snap +0 -102
- package/dist/__snapshots__/pick-outdated-pkgs.spec.js.snap +0 -102
- package/dist/__snapshots__/pick-outdated-pkgs.spec.ts.snap +0 -102
- /package/dist/{preview-1703505948637.js → preview-1703647408454.js} +0 -0
package/dist/install.cmd.d.ts
CHANGED
@@ -3,7 +3,7 @@ import { WorkspaceDependencyLifecycleType } from '@teambit/dependency-resolver';
|
|
3
3
|
import { Logger } from '@teambit/logger';
|
4
4
|
import { Workspace } from '@teambit/workspace';
|
5
5
|
import { InstallMain } from './install.main.runtime';
|
6
|
-
|
6
|
+
type InstallCmdOptions = {
|
7
7
|
type: WorkspaceDependencyLifecycleType;
|
8
8
|
skipDedupe: boolean;
|
9
9
|
skipImport: boolean;
|
@@ -14,16 +14,16 @@ import { WorkspaceConfigFilesMain } from '@teambit/workspace-config-files';
|
|
14
14
|
import { Logger, LoggerMain } from '@teambit/logger';
|
15
15
|
import { IssuesMain } from '@teambit/issues';
|
16
16
|
import { CodemodResult } from '@teambit/legacy/dist/consumer/component-ops/codemod-components';
|
17
|
-
export
|
17
|
+
export type WorkspaceLinkOptions = LinkingOptions & {
|
18
18
|
rootPolicy?: WorkspacePolicy;
|
19
19
|
linkToBitRoots?: boolean;
|
20
20
|
includePeers?: boolean;
|
21
21
|
};
|
22
|
-
export
|
22
|
+
export type WorkspaceLinkResults = {
|
23
23
|
legacyLinkResults?: NodeModulesLinksResult[];
|
24
24
|
legacyLinkCodemodResults?: CodemodResult[];
|
25
25
|
} & LinkResults;
|
26
|
-
export
|
26
|
+
export type WorkspaceInstallOptions = {
|
27
27
|
addMissingDeps?: boolean;
|
28
28
|
addMissingPeers?: boolean;
|
29
29
|
lifecycleType?: WorkspaceDependencyLifecycleType;
|
@@ -42,13 +42,13 @@ export declare type WorkspaceInstallOptions = {
|
|
42
42
|
lockfileOnly?: boolean;
|
43
43
|
writeConfigFiles?: boolean;
|
44
44
|
};
|
45
|
-
export
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
45
|
+
export type ModulesInstallOptions = Omit<WorkspaceInstallOptions, 'updateExisting' | 'lifecycleType' | 'import'>;
|
46
|
+
type PreLink = (linkOpts?: WorkspaceLinkOptions) => Promise<void>;
|
47
|
+
type PreInstall = (installOpts?: WorkspaceInstallOptions) => Promise<void>;
|
48
|
+
type PostInstall = () => Promise<void>;
|
49
|
+
type PreLinkSlot = SlotRegistry<PreLink>;
|
50
|
+
type PreInstallSlot = SlotRegistry<PreInstall>;
|
51
|
+
type PostInstallSlot = SlotRegistry<PostInstall>;
|
52
52
|
export declare class InstallMain {
|
53
53
|
private dependencyResolver;
|
54
54
|
private logger;
|
@@ -272,14 +272,14 @@ class InstallMain {
|
|
272
272
|
if (packages && packages.length) {
|
273
273
|
await this._addPackages(packages, options);
|
274
274
|
}
|
275
|
-
if (options
|
275
|
+
if (options?.addMissingPeers) {
|
276
276
|
const compDirMap = await this.getComponentsDirectory([]);
|
277
277
|
const mergedRootPolicy = this.dependencyResolver.getWorkspacePolicy();
|
278
278
|
const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();
|
279
279
|
const pmInstallOptions = {
|
280
|
-
dedupe: options
|
281
|
-
copyPeerToRuntimeOnRoot:
|
282
|
-
copyPeerToRuntimeOnComponents:
|
280
|
+
dedupe: options?.dedupe,
|
281
|
+
copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,
|
282
|
+
copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,
|
283
283
|
dependencyFilterFn: depsFilterFn,
|
284
284
|
overrides: this.dependencyResolver.config.overrides,
|
285
285
|
packageImportMethod: this.dependencyResolver.config.packageImportMethod
|
@@ -354,8 +354,8 @@ class InstallMain {
|
|
354
354
|
});
|
355
355
|
}
|
356
356
|
async _addPackages(packages, options) {
|
357
|
-
if (
|
358
|
-
throw new (_exceptions().DependencyTypeNotSupportedInPolicy)(options
|
357
|
+
if (options?.lifecycleType === 'dev') {
|
358
|
+
throw new (_exceptions().DependencyTypeNotSupportedInPolicy)(options?.lifecycleType);
|
359
359
|
}
|
360
360
|
this.logger.debug(`installing the following packages: ${packages.join()}`);
|
361
361
|
const resolver = await this.dependencyResolver.getVersionResolver();
|
@@ -368,7 +368,7 @@ class InstallMain {
|
|
368
368
|
if (resolvedPackage.version) {
|
369
369
|
const versionWithPrefix = this.dependencyResolver.getVersionWithSavePrefix({
|
370
370
|
version: resolvedPackage.version,
|
371
|
-
overridePrefix: options
|
371
|
+
overridePrefix: options?.savePrefix,
|
372
372
|
wantedRange: resolvedPackage.wantedRange
|
373
373
|
});
|
374
374
|
newWorkspacePolicyEntries.push({
|
@@ -376,28 +376,28 @@ class InstallMain {
|
|
376
376
|
value: {
|
377
377
|
version: versionWithPrefix
|
378
378
|
},
|
379
|
-
lifecycleType:
|
379
|
+
lifecycleType: options?.lifecycleType || 'runtime'
|
380
380
|
});
|
381
381
|
}
|
382
382
|
});
|
383
383
|
this.dependencyResolver.addToRootPolicy(newWorkspacePolicyEntries, {
|
384
|
-
updateExisting:
|
385
|
-
skipIfExisting:
|
384
|
+
updateExisting: options?.updateExisting ?? false,
|
385
|
+
skipIfExisting: options?.skipIfExisting ?? false
|
386
386
|
});
|
387
387
|
await this.dependencyResolver.persistConfig(this.workspace.path);
|
388
388
|
}
|
389
389
|
async _installModules(options) {
|
390
390
|
const pm = this.dependencyResolver.getPackageManager();
|
391
|
-
this.logger.console(`installing dependencies in workspace using ${pm
|
391
|
+
this.logger.console(`installing dependencies in workspace using ${pm?.name} (${_chalk().default.cyan(this.dependencyResolver.getPackageManagerName())})`);
|
392
392
|
this.logger.debug(`installing dependencies in workspace with options`, options);
|
393
393
|
const depsFilterFn = await this.generateFilterFnForDepsFromLocalRemote();
|
394
394
|
const hasRootComponents = this.dependencyResolver.hasRootComponents();
|
395
395
|
// TODO: pass get install options
|
396
396
|
const installer = this.dependencyResolver.getInstaller({});
|
397
397
|
const calcManifestsOpts = {
|
398
|
-
copyPeerToRuntimeOnComponents:
|
399
|
-
copyPeerToRuntimeOnRoot:
|
400
|
-
dedupe: !hasRootComponents &&
|
398
|
+
copyPeerToRuntimeOnComponents: options?.copyPeerToRuntimeOnComponents ?? false,
|
399
|
+
copyPeerToRuntimeOnRoot: options?.copyPeerToRuntimeOnRoot ?? true,
|
400
|
+
dedupe: !hasRootComponents && options?.dedupe,
|
401
401
|
dependencyFilterFn: depsFilterFn,
|
402
402
|
nodeLinker: this.dependencyResolver.nodeLinker()
|
403
403
|
};
|
@@ -415,18 +415,18 @@ class InstallMain {
|
|
415
415
|
mergedRootPolicy,
|
416
416
|
componentsAndManifests: current
|
417
417
|
} = await this._getComponentsManifestsAndRootPolicy(installer, _objectSpread(_objectSpread({}, calcManifestsOpts), {}, {
|
418
|
-
addMissingDeps: options
|
418
|
+
addMissingDeps: options?.addMissingDeps,
|
419
419
|
linkedRootDeps
|
420
420
|
}));
|
421
421
|
const pmInstallOptions = _objectSpread(_objectSpread({}, calcManifestsOpts), {}, {
|
422
|
-
includeOptionalDeps: options
|
422
|
+
includeOptionalDeps: options?.includeOptionalDeps,
|
423
423
|
neverBuiltDependencies: this.dependencyResolver.config.neverBuiltDependencies,
|
424
424
|
overrides: this.dependencyResolver.config.overrides,
|
425
425
|
packageImportMethod: this.dependencyResolver.config.packageImportMethod,
|
426
426
|
rootComponents: hasRootComponents,
|
427
|
-
updateAll: options
|
428
|
-
optimizeReportForNonTerminal: options
|
429
|
-
lockfileOnly: options
|
427
|
+
updateAll: options?.updateAll,
|
428
|
+
optimizeReportForNonTerminal: options?.optimizeReportForNonTerminal,
|
429
|
+
lockfileOnly: options?.lockfileOnly
|
430
430
|
});
|
431
431
|
const prevManifests = new Set();
|
432
432
|
// TODO: this make duplicate
|
@@ -454,7 +454,7 @@ class InstallMain {
|
|
454
454
|
}, pmInstallOptions);
|
455
455
|
let cacheCleared = false;
|
456
456
|
await this.linkCodemods(compDirMap);
|
457
|
-
if (
|
457
|
+
if (options?.compile ?? true) {
|
458
458
|
const compileStartTime = process.hrtime();
|
459
459
|
const compileOutputMessage = `compiling components`;
|
460
460
|
this.logger.setStatusLine(compileOutputMessage);
|
@@ -471,11 +471,11 @@ class InstallMain {
|
|
471
471
|
});
|
472
472
|
this.logger.consoleSuccess(compileOutputMessage, compileStartTime);
|
473
473
|
}
|
474
|
-
if (
|
474
|
+
if (options?.writeConfigFiles ?? true) {
|
475
475
|
await this.tryWriteConfigFiles(!cacheCleared);
|
476
476
|
}
|
477
477
|
if (!dependenciesChanged) break;
|
478
|
-
if (!
|
478
|
+
if (!options?.recurringInstall) break;
|
479
479
|
const oldNonLoadedEnvs = this.getOldNonLoadedEnvs();
|
480
480
|
if (!oldNonLoadedEnvs.length) break;
|
481
481
|
prevManifests.add(manifestsHash(current.manifests));
|
@@ -492,7 +492,7 @@ class InstallMain {
|
|
492
492
|
current = await this._getComponentsManifests(installer, mergedRootPolicy, calcManifestsOpts);
|
493
493
|
installCycle += 1;
|
494
494
|
} while ((!prevManifests.has(manifestsHash(current.manifests)) || hasMissingLocalComponents) && installCycle < 5);
|
495
|
-
if (!
|
495
|
+
if (!options?.lockfileOnly) {
|
496
496
|
// We clean node_modules only after the last install.
|
497
497
|
// Otherwise, we might load an env from a location that we later remove.
|
498
498
|
await installer.pruneModules(this.workspace.path);
|
@@ -505,7 +505,7 @@ class InstallMain {
|
|
505
505
|
const mergedRootPolicy = await this.addConfiguredAspectsToWorkspacePolicy();
|
506
506
|
await this.addConfiguredGeneratorEnvsToWorkspacePolicy(mergedRootPolicy);
|
507
507
|
const componentsAndManifests = await this._getComponentsManifests(installer, mergedRootPolicy, options);
|
508
|
-
if (!
|
508
|
+
if (!options?.addMissingDeps) {
|
509
509
|
return {
|
510
510
|
componentsAndManifests,
|
511
511
|
mergedRootPolicy
|
@@ -627,8 +627,7 @@ class InstallMain {
|
|
627
627
|
async _getAllMissingPackages() {
|
628
628
|
const comps = await this.workspace.list();
|
629
629
|
return (0, _lodash().uniq)(comps.map(comp => {
|
630
|
-
|
631
|
-
const data = ((_comp$state$issues$ge = comp.state.issues.getIssue(_componentIssues().IssuesClasses.MissingPackagesDependenciesOnFs)) === null || _comp$state$issues$ge === void 0 ? void 0 : _comp$state$issues$ge.data) || [];
|
630
|
+
const data = comp.state.issues.getIssue(_componentIssues().IssuesClasses.MissingPackagesDependenciesOnFs)?.data || [];
|
632
631
|
return data.map(d => d.missingPackages).flat();
|
633
632
|
}).flat());
|
634
633
|
}
|
@@ -845,10 +844,8 @@ class InstallMain {
|
|
845
844
|
_variantPatternsToDepPolicesDict(variantPatterns) {
|
846
845
|
const variantPoliciesByPatterns = {};
|
847
846
|
for (const [variantPattern, extensions] of Object.entries(variantPatterns)) {
|
848
|
-
|
849
|
-
|
850
|
-
var _extensions$Dependenc2;
|
851
|
-
variantPoliciesByPatterns[variantPattern] = (_extensions$Dependenc2 = extensions[_dependencyResolver().DependencyResolverAspect.id]) === null || _extensions$Dependenc2 === void 0 ? void 0 : _extensions$Dependenc2.policy;
|
847
|
+
if (extensions[_dependencyResolver().DependencyResolverAspect.id]?.policy) {
|
848
|
+
variantPoliciesByPatterns[variantPattern] = extensions[_dependencyResolver().DependencyResolverAspect.id]?.policy;
|
852
849
|
}
|
853
850
|
}
|
854
851
|
return variantPoliciesByPatterns;
|
@@ -917,7 +914,7 @@ class InstallMain {
|
|
917
914
|
}
|
918
915
|
async linkCodemods(compDirMap, options) {
|
919
916
|
const bitIds = compDirMap.toArray().map(([component]) => component.id);
|
920
|
-
return (0, _workspaceModules().linkToNodeModulesWithCodemod)(this.workspace, bitIds,
|
917
|
+
return (0, _workspaceModules().linkToNodeModulesWithCodemod)(this.workspace, bitIds, options?.rewire ?? false);
|
921
918
|
}
|
922
919
|
async link(options = {}) {
|
923
920
|
const {
|