@teambit/dependency-resolver 1.0.107 → 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/apply-updates.spec.ts +215 -0
- package/apply-updates.ts +81 -0
- package/dependency-detector.ts +5 -0
- package/dependency-env.ts +6 -0
- package/dependency-installer.ts +347 -0
- package/dependency-linker.ts +719 -0
- package/dependency-resolver.aspect.ts +7 -0
- package/dependency-resolver.graphql.ts +99 -0
- package/dependency-resolver.main.runtime.spec.ts +530 -0
- package/dependency-resolver.main.runtime.ts +1797 -0
- package/dependency-version-resolver.ts +42 -0
- package/dist/apply-updates.js +2 -4
- package/dist/apply-updates.js.map +1 -1
- package/dist/dependencies/base-dependency.d.ts +7 -7
- package/dist/dependencies/base-dependency.js +1 -2
- package/dist/dependencies/base-dependency.js.map +1 -1
- package/dist/dependencies/component-dependency/component-dependency.js +1 -2
- package/dist/dependencies/component-dependency/component-dependency.js.map +1 -1
- package/dist/dependencies/dependency-list-factory.js +2 -4
- package/dist/dependencies/dependency-list-factory.js.map +1 -1
- package/dist/dependencies/dependency-list.d.ts +2 -2
- package/dist/dependencies/dependency-list.js +1 -4
- package/dist/dependencies/dependency-list.js.map +1 -1
- package/dist/dependencies/dependency.d.ts +5 -5
- package/dist/dependencies.service.d.ts +4 -4
- package/dist/dependencies.service.js +3 -3
- package/dist/dependencies.service.js.map +1 -1
- package/dist/dependency-installer.d.ts +10 -9
- package/dist/dependency-installer.js +5 -8
- package/dist/dependency-installer.js.map +1 -1
- package/dist/dependency-linker.d.ts +10 -9
- package/dist/dependency-linker.js +7 -11
- package/dist/dependency-linker.js.map +1 -1
- package/dist/dependency-resolver.composition.d.ts +2 -2
- package/dist/dependency-resolver.main.runtime.d.ts +15 -15
- package/dist/dependency-resolver.main.runtime.js +33 -39
- package/dist/dependency-resolver.main.runtime.js.map +1 -1
- package/dist/dependency-version-resolver.d.ts +2 -1
- package/dist/get-all-policy-pkgs.d.ts +4 -4
- package/dist/manifest/deduping/dedupe-dependencies.d.ts +4 -4
- package/dist/manifest/deduping/dedupe-dependencies.js +1 -1
- package/dist/manifest/deduping/dedupe-dependencies.js.map +1 -1
- package/dist/manifest/deduping/hoist-dependencies.js +2 -3
- package/dist/manifest/deduping/hoist-dependencies.js.map +1 -1
- package/dist/manifest/deduping/hoist-dependencies.spec.js +6 -8
- package/dist/manifest/deduping/hoist-dependencies.spec.js.map +1 -1
- package/dist/manifest/deduping/index-by-dep-id.d.ts +4 -4
- package/dist/manifest/deduping/index-by-dep-id.js +1 -2
- package/dist/manifest/deduping/index-by-dep-id.js.map +1 -1
- package/dist/manifest/manifest.d.ts +4 -4
- package/dist/manifest/update-dependency-version.js +2 -2
- package/dist/manifest/update-dependency-version.js.map +1 -1
- package/dist/manifest/workspace-manifest-factory.d.ts +3 -3
- package/dist/manifest/workspace-manifest-factory.js +3 -5
- package/dist/manifest/workspace-manifest-factory.js.map +1 -1
- package/dist/manifest/workspace-manifest.js +1 -2
- package/dist/manifest/workspace-manifest.js.map +1 -1
- package/dist/package-manager-legacy.d.ts +1 -1
- package/dist/package-manager.d.ts +5 -5
- package/dist/policy/env-policy/env-policy.d.ts +7 -7
- package/dist/policy/policy.d.ts +9 -9
- package/dist/policy/variant-policy/variant-policy.d.ts +9 -9
- package/dist/policy/workspace-policy/workspace-policy.d.ts +11 -11
- package/dist/{preview-1703590665075.js → preview-1703647408454.js} +2 -2
- package/dist/registry/registry.d.ts +6 -6
- package/dist/show-fragments/serialize-by-lifecycle.js +1 -2
- package/dist/show-fragments/serialize-by-lifecycle.js.map +1 -1
- package/dist/types.d.ts +8 -8
- package/extend-with-components-from-dir.ts +29 -0
- package/get-all-policy-pkgs.spec.ts +82 -0
- package/get-all-policy-pkgs.ts +126 -0
- package/index.ts +70 -0
- package/package-manager-legacy.ts +137 -0
- package/package-manager.ts +174 -0
- package/package.json +27 -34
- package/tsconfig.json +16 -21
- package/types/asset.d.ts +15 -3
- package/types.ts +77 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { PathAbsolute } from '@teambit/legacy/dist/utils/path';
|
|
2
|
+
import pLimit from 'p-limit';
|
|
3
|
+
|
|
4
|
+
import { PackageManager, PackageManagerResolveRemoteVersionOptions, ResolvedPackageVersion } from './package-manager';
|
|
5
|
+
|
|
6
|
+
const DEFAULT_REMOTE_RESOLVE_VERSIONS = {
|
|
7
|
+
fetchToCache: true,
|
|
8
|
+
update: true,
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
export class DependencyVersionResolver {
|
|
12
|
+
private limitRequests: pLimit.Limit;
|
|
13
|
+
|
|
14
|
+
constructor(
|
|
15
|
+
/**
|
|
16
|
+
* package manager instance.
|
|
17
|
+
*/
|
|
18
|
+
private packageManager: PackageManager,
|
|
19
|
+
|
|
20
|
+
private cacheRootDir?: string | PathAbsolute,
|
|
21
|
+
|
|
22
|
+
networkConcurrency?: number
|
|
23
|
+
) {
|
|
24
|
+
this.limitRequests = pLimit(networkConcurrency ?? 16);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
async resolveRemoteVersion(
|
|
28
|
+
packageName: string,
|
|
29
|
+
options: PackageManagerResolveRemoteVersionOptions
|
|
30
|
+
): Promise<ResolvedPackageVersion> {
|
|
31
|
+
// Make sure to take other default if passed options with only one option
|
|
32
|
+
const calculatedOpts = Object.assign(
|
|
33
|
+
{},
|
|
34
|
+
DEFAULT_REMOTE_RESOLVE_VERSIONS,
|
|
35
|
+
{ cacheRootDir: this.cacheRootDir },
|
|
36
|
+
options
|
|
37
|
+
);
|
|
38
|
+
// TODO: the cache should be probably passed to the package manager constructor not to the install function
|
|
39
|
+
const resolved = this.limitRequests(() => this.packageManager.resolveRemoteVersion(packageName, calculatedOpts));
|
|
40
|
+
return resolved;
|
|
41
|
+
}
|
|
42
|
+
}
|
package/dist/apply-updates.js
CHANGED
|
@@ -14,8 +14,7 @@ function applyUpdates(outdatedPkgs, {
|
|
|
14
14
|
const updatedVariants = new Set();
|
|
15
15
|
const updatedComponents = new Map();
|
|
16
16
|
for (const outdatedPkg of outdatedPkgs) {
|
|
17
|
-
|
|
18
|
-
if (outdatedPkg.source === 'component' || outdatedPkg.source === 'rootPolicy' && (_outdatedPkg$dependen = outdatedPkg.dependentComponents) !== null && _outdatedPkg$dependen !== void 0 && _outdatedPkg$dependen.length && !outdatedPkg.isAuto) {
|
|
17
|
+
if (outdatedPkg.source === 'component' || outdatedPkg.source === 'rootPolicy' && outdatedPkg.dependentComponents?.length && !outdatedPkg.isAuto) {
|
|
19
18
|
// eslint-disable-next-line
|
|
20
19
|
(outdatedPkg.dependentComponents ?? [outdatedPkg.componentId]).forEach(componentId => {
|
|
21
20
|
const id = componentId.toString();
|
|
@@ -49,7 +48,6 @@ function applyUpdates(outdatedPkgs, {
|
|
|
49
48
|
break;
|
|
50
49
|
case 'variants':
|
|
51
50
|
if (outdatedPkg.variantPattern) {
|
|
52
|
-
var _variantPoliciesByPat;
|
|
53
51
|
const {
|
|
54
52
|
variantPattern,
|
|
55
53
|
targetField,
|
|
@@ -57,7 +55,7 @@ function applyUpdates(outdatedPkgs, {
|
|
|
57
55
|
} = outdatedPkg;
|
|
58
56
|
updatedVariants.add(outdatedPkg.variantPattern);
|
|
59
57
|
// eslint-disable-next-line dot-notation, @typescript-eslint/dot-notation
|
|
60
|
-
if (
|
|
58
|
+
if (variantPoliciesByPatterns[variantPattern]?.[targetField]?.[name]?.['version']) {
|
|
61
59
|
// eslint-disable-line
|
|
62
60
|
variantPoliciesByPatterns[variantPattern][targetField][name]['version'] = outdatedPkg.latestRange; // eslint-disable-line
|
|
63
61
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["applyUpdates","outdatedPkgs","variantPoliciesByPatterns","updatedWorkspacePolicyEntries","updatedVariants","Set","updatedComponents","Map","outdatedPkg","
|
|
1
|
+
{"version":3,"names":["applyUpdates","outdatedPkgs","variantPoliciesByPatterns","updatedWorkspacePolicyEntries","updatedVariants","Set","updatedComponents","Map","outdatedPkg","source","dependentComponents","length","isAuto","componentId","forEach","id","toString","has","set","config","policy","get","targetField","name","latestRange","push","dependencyId","value","version","lifecycleType","variantPattern","add","Error","Array","from","values"],"sources":["apply-updates.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component';\nimport { MergedOutdatedPkg } from './dependency-resolver.main.runtime';\nimport { VariantPolicyConfigObject, WorkspacePolicyEntry } from './policy';\n\nexport interface UpdatedComponent {\n componentId: ComponentID;\n config: Record<string, any>;\n}\n\n/**\n * Applies updates to policies.\n */\nexport function applyUpdates(\n outdatedPkgs: Array<Omit<MergedOutdatedPkg, 'currentRange'>>,\n {\n variantPoliciesByPatterns,\n }: {\n variantPoliciesByPatterns: Record<string, VariantPolicyConfigObject>;\n }\n): {\n updatedVariants: string[];\n updatedComponents: UpdatedComponent[];\n updatedWorkspacePolicyEntries: WorkspacePolicyEntry[];\n} {\n const updatedWorkspacePolicyEntries: WorkspacePolicyEntry[] = [];\n const updatedVariants = new Set<string>();\n const updatedComponents = new Map<string, UpdatedComponent>();\n\n for (const outdatedPkg of outdatedPkgs) {\n if (\n outdatedPkg.source === 'component' ||\n (outdatedPkg.source === 'rootPolicy' && outdatedPkg.dependentComponents?.length && !outdatedPkg.isAuto)\n ) {\n // eslint-disable-next-line\n (outdatedPkg.dependentComponents ?? [outdatedPkg.componentId!]).forEach((componentId) => {\n const id = componentId.toString();\n if (!updatedComponents.has(id)) {\n updatedComponents.set(id, { componentId, config: { policy: {} } });\n }\n const { config } = updatedComponents.get(id)!; // eslint-disable-line\n if (!config.policy[outdatedPkg.targetField]) {\n config.policy[outdatedPkg.targetField] = {};\n }\n config.policy[outdatedPkg.targetField][outdatedPkg.name] = outdatedPkg.latestRange;\n });\n } else {\n switch (outdatedPkg.source) {\n case 'rootPolicy':\n case 'component-model':\n updatedWorkspacePolicyEntries.push({\n dependencyId: outdatedPkg.name,\n value: {\n version: outdatedPkg.latestRange,\n },\n lifecycleType: outdatedPkg.targetField === 'peerDependencies' ? 'peer' : 'runtime',\n });\n break;\n case 'variants':\n if (outdatedPkg.variantPattern) {\n const { variantPattern, targetField, name } = outdatedPkg;\n updatedVariants.add(outdatedPkg.variantPattern);\n // eslint-disable-next-line dot-notation, @typescript-eslint/dot-notation\n if (variantPoliciesByPatterns[variantPattern]?.[targetField]?.[name]?.['version']) {\n // eslint-disable-line\n variantPoliciesByPatterns[variantPattern][targetField]![name]['version'] = outdatedPkg.latestRange; // eslint-disable-line\n } else {\n variantPoliciesByPatterns[variantPattern][targetField]![name] = outdatedPkg.latestRange; // eslint-disable-line\n }\n }\n break;\n default:\n throw new Error(`Unsupported policy source for update: ${outdatedPkg.source}`);\n }\n }\n }\n return {\n updatedVariants: Array.from(updatedVariants),\n updatedComponents: Array.from(updatedComponents.values()),\n updatedWorkspacePolicyEntries,\n };\n}\n"],"mappings":"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"}
|
|
@@ -8,18 +8,18 @@ export declare abstract class BaseDependency implements Dependency {
|
|
|
8
8
|
private _hidden?;
|
|
9
9
|
private _optional?;
|
|
10
10
|
_type: string;
|
|
11
|
-
constructor(_id: string, _version: string, _lifecycle: DependencyLifecycleType, _source?: DependencySource
|
|
11
|
+
constructor(_id: string, _version: string, _lifecycle: DependencyLifecycleType, _source?: DependencySource, _hidden?: boolean, _optional?: boolean);
|
|
12
12
|
get id(): string;
|
|
13
13
|
set id(newId: string);
|
|
14
14
|
get version(): string;
|
|
15
15
|
get type(): string;
|
|
16
16
|
get lifecycle(): DependencyLifecycleType;
|
|
17
|
-
get source(): DependencySource
|
|
18
|
-
set source(source: DependencySource
|
|
19
|
-
set hidden(hidden: boolean
|
|
20
|
-
get hidden(): boolean
|
|
21
|
-
set optional(optional: boolean
|
|
22
|
-
get optional(): boolean
|
|
17
|
+
get source(): DependencySource;
|
|
18
|
+
set source(source: DependencySource);
|
|
19
|
+
set hidden(hidden: boolean);
|
|
20
|
+
get hidden(): boolean;
|
|
21
|
+
set optional(optional: boolean);
|
|
22
|
+
get optional(): boolean;
|
|
23
23
|
serialize<SerializedDependency>(): SerializedDependency;
|
|
24
24
|
setVersion(newVersion: string): void;
|
|
25
25
|
getPackageName(): string;
|
|
@@ -68,8 +68,7 @@ class BaseDependency {
|
|
|
68
68
|
return this.id;
|
|
69
69
|
}
|
|
70
70
|
toManifest() {
|
|
71
|
-
|
|
72
|
-
const packageName = (_this$getPackageName = this.getPackageName) === null || _this$getPackageName === void 0 ? void 0 : _this$getPackageName.call(this);
|
|
71
|
+
const packageName = this.getPackageName?.();
|
|
73
72
|
const version = this.version;
|
|
74
73
|
return {
|
|
75
74
|
packageName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseDependency","constructor","_id","_version","_lifecycle","_source","_hidden","_optional","_defineProperty","id","newId","version","type","_type","lifecycle","source","hidden","optional","serialize","__type","toString","setVersion","newVersion","getPackageName","toManifest","
|
|
1
|
+
{"version":3,"names":["BaseDependency","constructor","_id","_version","_lifecycle","_source","_hidden","_optional","_defineProperty","id","newId","version","type","_type","lifecycle","source","hidden","optional","serialize","__type","toString","setVersion","newVersion","getPackageName","toManifest","packageName","exports"],"sources":["base-dependency.ts"],"sourcesContent":["import { DependencySource } from '../policy/variant-policy/variant-policy';\nimport { Dependency, DependencyLifecycleType, DependencyManifest } from './dependency';\n\nexport abstract class BaseDependency implements Dependency {\n _type: string;\n\n constructor(\n private _id: string,\n private _version: string,\n private _lifecycle: DependencyLifecycleType,\n private _source?: DependencySource,\n private _hidden?: boolean,\n private _optional?: boolean\n ) {}\n\n get id(): string {\n return this._id;\n }\n\n set id(newId: string) {\n this._id = newId;\n }\n\n get version() {\n return this._version;\n }\n\n get type() {\n return this._type;\n }\n\n get lifecycle() {\n return this._lifecycle;\n }\n\n get source() {\n return this._source;\n }\n\n set source(source) {\n this._source = source;\n }\n\n set hidden(hidden) {\n this._hidden = hidden;\n }\n\n get hidden() {\n return this._hidden;\n }\n\n set optional(optional) {\n this._optional = optional;\n }\n\n get optional() {\n return this._optional;\n }\n\n serialize<SerializedDependency>(): SerializedDependency {\n return {\n id: this.id,\n version: this.version,\n __type: this.type,\n lifecycle: this.lifecycle.toString(),\n source: this.source,\n hidden: this.hidden,\n optional: this.optional,\n } as unknown as SerializedDependency;\n }\n\n setVersion(newVersion: string) {\n this._version = newVersion;\n }\n\n getPackageName() {\n return this.id;\n }\n\n toManifest(): DependencyManifest {\n const packageName = this.getPackageName?.();\n const version = this.version;\n return {\n packageName,\n version,\n };\n }\n}\n"],"mappings":";;;;;;;;;AAGO,MAAeA,cAAc,CAAuB;EAGzDC,WAAWA,CACDC,GAAW,EACXC,QAAgB,EAChBC,UAAmC,EACnCC,OAA0B,EAC1BC,OAAiB,EACjBC,SAAmB,EAC3B;IAAA,KANQL,GAAW,GAAXA,GAAW;IAAA,KACXC,QAAgB,GAAhBA,QAAgB;IAAA,KAChBC,UAAmC,GAAnCA,UAAmC;IAAA,KACnCC,OAA0B,GAA1BA,OAA0B;IAAA,KAC1BC,OAAiB,GAAjBA,OAAiB;IAAA,KACjBC,SAAmB,GAAnBA,SAAmB;IAAAC,eAAA;EAC1B;EAEH,IAAIC,EAAEA,CAAA,EAAW;IACf,OAAO,IAAI,CAACP,GAAG;EACjB;EAEA,IAAIO,EAAEA,CAACC,KAAa,EAAE;IACpB,IAAI,CAACR,GAAG,GAAGQ,KAAK;EAClB;EAEA,IAAIC,OAAOA,CAAA,EAAG;IACZ,OAAO,IAAI,CAACR,QAAQ;EACtB;EAEA,IAAIS,IAAIA,CAAA,EAAG;IACT,OAAO,IAAI,CAACC,KAAK;EACnB;EAEA,IAAIC,SAASA,CAAA,EAAG;IACd,OAAO,IAAI,CAACV,UAAU;EACxB;EAEA,IAAIW,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACV,OAAO;EACrB;EAEA,IAAIU,MAAMA,CAACA,MAAM,EAAE;IACjB,IAAI,CAACV,OAAO,GAAGU,MAAM;EACvB;EAEA,IAAIC,MAAMA,CAACA,MAAM,EAAE;IACjB,IAAI,CAACV,OAAO,GAAGU,MAAM;EACvB;EAEA,IAAIA,MAAMA,CAAA,EAAG;IACX,OAAO,IAAI,CAACV,OAAO;EACrB;EAEA,IAAIW,QAAQA,CAACA,QAAQ,EAAE;IACrB,IAAI,CAACV,SAAS,GAAGU,QAAQ;EAC3B;EAEA,IAAIA,QAAQA,CAAA,EAAG;IACb,OAAO,IAAI,CAACV,SAAS;EACvB;EAEAW,SAASA,CAAA,EAA+C;IACtD,OAAO;MACLT,EAAE,EAAE,IAAI,CAACA,EAAE;MACXE,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBQ,MAAM,EAAE,IAAI,CAACP,IAAI;MACjBE,SAAS,EAAE,IAAI,CAACA,SAAS,CAACM,QAAQ,CAAC,CAAC;MACpCL,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBC,MAAM,EAAE,IAAI,CAACA,MAAM;MACnBC,QAAQ,EAAE,IAAI,CAACA;IACjB,CAAC;EACH;EAEAI,UAAUA,CAACC,UAAkB,EAAE;IAC7B,IAAI,CAACnB,QAAQ,GAAGmB,UAAU;EAC5B;EAEAC,cAAcA,CAAA,EAAG;IACf,OAAO,IAAI,CAACd,EAAE;EAChB;EAEAe,UAAUA,CAAA,EAAuB;IAC/B,MAAMC,WAAW,GAAG,IAAI,CAACF,cAAc,GAAG,CAAC;IAC3C,MAAMZ,OAAO,GAAG,IAAI,CAACA,OAAO;IAC5B,OAAO;MACLc,WAAW;MACXd;IACF,CAAC;EACH;AACF;AAACe,OAAA,CAAA1B,cAAA,GAAAA,cAAA"}
|
|
@@ -54,8 +54,7 @@ class ComponentDependency extends _baseDependency().BaseDependency {
|
|
|
54
54
|
return serialized;
|
|
55
55
|
}
|
|
56
56
|
toManifest() {
|
|
57
|
-
|
|
58
|
-
const packageName = (_this$getPackageName = this.getPackageName) === null || _this$getPackageName === void 0 ? void 0 : _this$getPackageName.call(this);
|
|
57
|
+
const packageName = this.getPackageName?.();
|
|
59
58
|
const version = this.version;
|
|
60
59
|
return {
|
|
61
60
|
packageName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_baseDependency","data","require","TYPE","exports","ComponentDependency","BaseDependency","constructor","_componentId","_isExtension","_packageName","id","version","lifecycle","source","hidden","optional","_type","componentId","isExtension","packageName","getPackageName","setVersion","newVersion","newComponentId","changeVersion","splittedId","split","length","newId","serialize","serialized","Object","assign","toManifest"
|
|
1
|
+
{"version":3,"names":["_baseDependency","data","require","TYPE","exports","ComponentDependency","BaseDependency","constructor","_componentId","_isExtension","_packageName","id","version","lifecycle","source","hidden","optional","_type","componentId","isExtension","packageName","getPackageName","setVersion","newVersion","newComponentId","changeVersion","splittedId","split","length","newId","serialize","serialized","Object","assign","toManifest"],"sources":["component-dependency.ts"],"sourcesContent":["import type { ComponentID } from '@teambit/component-id';\nimport type { BitIdProps } from '@teambit/legacy-bit-id';\n\nimport { SerializedDependency, DependencyLifecycleType, DependencyManifest } from '../dependency';\nimport { BaseDependency } from '../base-dependency';\nimport { DependencySource } from '../../policy/variant-policy/variant-policy';\n\nexport const TYPE = 'component';\n\nexport interface SerializedComponentDependency extends SerializedDependency {\n componentId: BitIdProps;\n isExtension: boolean;\n packageName: string;\n}\n\n// TODO: think about where is the right place to put this\nexport class ComponentDependency extends BaseDependency {\n constructor(\n private _componentId: ComponentID,\n private _isExtension: boolean,\n private _packageName: string,\n id: string,\n version: string,\n lifecycle: DependencyLifecycleType,\n source?: DependencySource,\n hidden?: boolean,\n optional?: boolean\n ) {\n super(id, version, lifecycle, source, hidden, optional);\n this._type = TYPE;\n }\n\n get componentId() {\n return this._componentId;\n }\n\n get isExtension() {\n return this._isExtension;\n }\n\n get packageName() {\n return this._packageName;\n }\n\n getPackageName() {\n return this.packageName;\n }\n\n setVersion(newVersion: string) {\n super.setVersion(newVersion);\n const newComponentId = this.componentId.changeVersion(newVersion);\n this._componentId = newComponentId;\n const splittedId = this.id.split('@');\n if (splittedId.length === 2) {\n const newId = `${splittedId[0]}@${newVersion}`;\n this.id = newId;\n }\n }\n\n // eslint-disable-next-line @typescript-eslint/no-shadow\n serialize<SerializedComponentDependency>(): SerializedComponentDependency {\n const serialized = Object.assign({}, super.serialize(), {\n componentId: this.componentId.serialize(),\n isExtension: this.isExtension,\n packageName: this.packageName,\n }) as unknown as SerializedComponentDependency;\n return serialized;\n }\n\n toManifest(): DependencyManifest {\n const packageName = this.getPackageName?.();\n const version = this.version;\n return {\n packageName,\n version,\n };\n }\n}\n"],"mappings":";;;;;;AAIA,SAAAA,gBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,eAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAGO,MAAME,IAAI,GAAAC,OAAA,CAAAD,IAAA,GAAG,WAAW;AAQ/B;AACO,MAAME,mBAAmB,SAASC,gCAAc,CAAC;EACtDC,WAAWA,CACDC,YAAyB,EACzBC,YAAqB,EACrBC,YAAoB,EAC5BC,EAAU,EACVC,OAAe,EACfC,SAAkC,EAClCC,MAAyB,EACzBC,MAAgB,EAChBC,QAAkB,EAClB;IACA,KAAK,CAACL,EAAE,EAAEC,OAAO,EAAEC,SAAS,EAAEC,MAAM,EAAEC,MAAM,EAAEC,QAAQ,CAAC;IAAC,KAVhDR,YAAyB,GAAzBA,YAAyB;IAAA,KACzBC,YAAqB,GAArBA,YAAqB;IAAA,KACrBC,YAAoB,GAApBA,YAAoB;IAS5B,IAAI,CAACO,KAAK,GAAGd,IAAI;EACnB;EAEA,IAAIe,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACV,YAAY;EAC1B;EAEA,IAAIW,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACV,YAAY;EAC1B;EAEA,IAAIW,WAAWA,CAAA,EAAG;IAChB,OAAO,IAAI,CAACV,YAAY;EAC1B;EAEAW,cAAcA,CAAA,EAAG;IACf,OAAO,IAAI,CAACD,WAAW;EACzB;EAEAE,UAAUA,CAACC,UAAkB,EAAE;IAC7B,KAAK,CAACD,UAAU,CAACC,UAAU,CAAC;IAC5B,MAAMC,cAAc,GAAG,IAAI,CAACN,WAAW,CAACO,aAAa,CAACF,UAAU,CAAC;IACjE,IAAI,CAACf,YAAY,GAAGgB,cAAc;IAClC,MAAME,UAAU,GAAG,IAAI,CAACf,EAAE,CAACgB,KAAK,CAAC,GAAG,CAAC;IACrC,IAAID,UAAU,CAACE,MAAM,KAAK,CAAC,EAAE;MAC3B,MAAMC,KAAK,GAAI,GAAEH,UAAU,CAAC,CAAC,CAAE,IAAGH,UAAW,EAAC;MAC9C,IAAI,CAACZ,EAAE,GAAGkB,KAAK;IACjB;EACF;;EAEA;EACAC,SAASA,CAAA,EAAiE;IACxE,MAAMC,UAAU,GAAGC,MAAM,CAACC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAACH,SAAS,CAAC,CAAC,EAAE;MACtDZ,WAAW,EAAE,IAAI,CAACA,WAAW,CAACY,SAAS,CAAC,CAAC;MACzCX,WAAW,EAAE,IAAI,CAACA,WAAW;MAC7BC,WAAW,EAAE,IAAI,CAACA;IACpB,CAAC,CAA6C;IAC9C,OAAOW,UAAU;EACnB;EAEAG,UAAUA,CAAA,EAAuB;IAC/B,MAAMd,WAAW,GAAG,IAAI,CAACC,cAAc,GAAG,CAAC;IAC3C,MAAMT,OAAO,GAAG,IAAI,CAACA,OAAO;IAC5B,OAAO;MACLQ,WAAW;MACXR;IACF,CAAC;EACH;AACF;AAACR,OAAA,CAAAC,mBAAA,GAAAA,mBAAA"}
|
|
@@ -80,9 +80,8 @@ class DependencyListFactory {
|
|
|
80
80
|
* @param legacyComponent
|
|
81
81
|
*/
|
|
82
82
|
async getMissingDependenciesByComponentFromModel(legacyComponent) {
|
|
83
|
-
var _legacyComponent$issu;
|
|
84
83
|
// Use getIssueByName to prevent issues when getting different instances while using both bit from bvm and from the repo
|
|
85
|
-
const missingData =
|
|
84
|
+
const missingData = legacyComponent.issues.getIssueByName('MissingPackagesDependenciesOnFs')?.data || [];
|
|
86
85
|
const missingPackages = missingData.map(d => d.missingPackages).flat();
|
|
87
86
|
const componentFromModel = legacyComponent.componentFromModel;
|
|
88
87
|
if (!missingPackages.length || !componentFromModel) {
|
|
@@ -92,8 +91,7 @@ class DependencyListFactory {
|
|
|
92
91
|
const depListFromModel = await this.getDependenciesFromLegacyModelComponent(componentFromModel);
|
|
93
92
|
// Only deps from model which are also required in the current component on fs (currently missing)
|
|
94
93
|
const filteredDepList = depListFromModel.filter(dep => {
|
|
95
|
-
|
|
96
|
-
const packageName = (_dep$getPackageName = dep.getPackageName) === null || _dep$getPackageName === void 0 ? void 0 : _dep$getPackageName.call(dep);
|
|
94
|
+
const packageName = dep.getPackageName?.();
|
|
97
95
|
if (!packageName) {
|
|
98
96
|
return false;
|
|
99
97
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_dependencyList","_exceptions","_dependencyResolver","obj","__esModule","default","DependencyListFactory","constructor","factories","fromSerializedDependencies","serializedDependencies","dependencies","mapSeries","serializedDependency","type","__type","factory","UnknownDepType","dependency","parse","DependencyList","fromLegacyComponent","legacyComponent","lists","Object","values","missingDepsFromModel","getMissingDependenciesByComponentFromModel","push","merge","
|
|
1
|
+
{"version":3,"names":["_pMapSeries","data","_interopRequireDefault","require","_lodash","_dependencyList","_exceptions","_dependencyResolver","obj","__esModule","default","DependencyListFactory","constructor","factories","fromSerializedDependencies","serializedDependencies","dependencies","mapSeries","serializedDependency","type","__type","factory","UnknownDepType","dependency","parse","DependencyList","fromLegacyComponent","legacyComponent","lists","Object","values","missingDepsFromModel","getMissingDependenciesByComponentFromModel","push","merge","missingData","issues","getIssueByName","missingPackages","map","d","flat","componentFromModel","length","fromArray","depListFromModel","getDependenciesFromLegacyModelComponent","filteredDepList","filter","dep","packageName","getPackageName","includes","entry","extensions","findCoreExtension","DependencyResolverAspect","id","get","exports"],"sources":["dependency-list-factory.ts"],"sourcesContent":["import mapSeries from 'p-map-series';\nimport type { MissingPackagesData } from '@teambit/component-issues';\nimport { get } from 'lodash';\nimport LegacyComponent from '@teambit/legacy/dist/consumer/component';\nimport { DependencyFactory } from './dependency-factory';\nimport { SerializedDependency } from './dependency';\nimport { DependencyList } from './dependency-list';\nimport { UnknownDepType } from './exceptions';\nimport { DependencyResolverAspect } from '../dependency-resolver.aspect';\n\nexport class DependencyListFactory {\n constructor(private factories: Record<string, DependencyFactory>) {}\n\n async fromSerializedDependencies(serializedDependencies: SerializedDependency[]): Promise<DependencyList> {\n const dependencies = await mapSeries(serializedDependencies, async (serializedDependency) => {\n const type = serializedDependency.__type;\n const factory = this.factories[type];\n if (!factory) {\n throw new UnknownDepType(type);\n }\n const dependency = await factory.parse(serializedDependency);\n return dependency;\n });\n return new DependencyList(dependencies);\n }\n\n async fromLegacyComponent(legacyComponent: LegacyComponent): Promise<DependencyList> {\n const lists = await mapSeries(Object.values(this.factories), async (factory) => {\n if (factory.fromLegacyComponent && typeof factory.fromLegacyComponent === 'function') {\n return factory.fromLegacyComponent(legacyComponent);\n }\n return new DependencyList([]);\n });\n\n // This is an important step, see comment for the function to better understand\n const missingDepsFromModel = await this.getMissingDependenciesByComponentFromModel(legacyComponent);\n lists.push(missingDepsFromModel);\n return DependencyList.merge(lists);\n }\n\n /**\n * Some time after importing component (for example), there are required dependencies which are not installed yet, they will consider as missing.\n * since the installer it self used the calculated deps for installing we need them to be listed as well.\n * what we do here, is to add deps from the model in case they considered as missing deps in the fs\n * we don't want just to add all of them since some of them might be removed by the user in the fs (in the source code).\n * by intersect the missing deps (deps which are still required in source code) with the deps from model we have a list of deps with all the required\n * data of them\n * @param legacyComponent\n */\n private async getMissingDependenciesByComponentFromModel(legacyComponent: LegacyComponent): Promise<DependencyList> {\n // Use getIssueByName to prevent issues when getting different instances while using both bit from bvm and from the repo\n const missingData = (legacyComponent.issues.getIssueByName('MissingPackagesDependenciesOnFs')?.data ||\n []) as MissingPackagesData[];\n\n const missingPackages: string[] = missingData.map((d) => d.missingPackages).flat();\n const componentFromModel = legacyComponent.componentFromModel;\n if (!missingPackages.length || !componentFromModel) {\n return DependencyList.fromArray([]);\n }\n // All deps defined in model\n const depListFromModel = await this.getDependenciesFromLegacyModelComponent(componentFromModel);\n // Only deps from model which are also required in the current component on fs (currently missing)\n const filteredDepList = depListFromModel.filter((dep) => {\n const packageName = dep.getPackageName?.();\n if (!packageName) {\n return false;\n }\n return missingPackages.includes(packageName);\n });\n return filteredDepList;\n }\n\n /**\n * Get dependencies based on the component from model attached to the legacy (consumer component)\n * @param legacyComponent\n */\n private async getDependenciesFromLegacyModelComponent(legacyComponent: LegacyComponent): Promise<DependencyList> {\n const entry = legacyComponent.extensions.findCoreExtension(DependencyResolverAspect.id);\n if (!entry) {\n return DependencyList.fromArray([]);\n }\n const serializedDependencies: SerializedDependency[] = get(entry, ['data', 'dependencies'], []);\n return this.fromSerializedDependencies(serializedDependencies);\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Dependency, DependencyLifecycleType, SerializedDependency, SemverVersion, PackageName } from './dependency';
|
|
2
2
|
import { ComponentDependency } from './component-dependency';
|
|
3
|
-
export
|
|
3
|
+
export type LifecycleDependenciesManifest = Record<PackageName, SemverVersion>;
|
|
4
4
|
export interface DependenciesManifest {
|
|
5
5
|
dependencies?: LifecycleDependenciesManifest;
|
|
6
6
|
optionalDependencies?: LifecycleDependenciesManifest;
|
|
@@ -14,7 +14,7 @@ export interface PeerDependenciesMeta {
|
|
|
14
14
|
export interface PeerDependencyMeta {
|
|
15
15
|
optional: true;
|
|
16
16
|
}
|
|
17
|
-
export
|
|
17
|
+
export type FindDependencyOptions = {
|
|
18
18
|
ignoreVersion?: boolean;
|
|
19
19
|
};
|
|
20
20
|
export declare class DependencyList {
|
|
@@ -69,10 +69,7 @@ class DependencyList {
|
|
|
69
69
|
findByPkgNameOrCompId(id, version) {
|
|
70
70
|
const findByVariousStrategies = () => {
|
|
71
71
|
// try by full-id or package-name
|
|
72
|
-
const found = this.dependencies.find(dep => {
|
|
73
|
-
var _dep$getPackageName;
|
|
74
|
-
return dep.id === id || ((_dep$getPackageName = dep.getPackageName) === null || _dep$getPackageName === void 0 ? void 0 : _dep$getPackageName.call(dep)) === id || dep.id.startsWith(`${id}@`);
|
|
75
|
-
});
|
|
72
|
+
const found = this.dependencies.find(dep => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`));
|
|
76
73
|
if (found) return found;
|
|
77
74
|
const compDeps = this.toTypeArray('component');
|
|
78
75
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","data","require","_componentPackageVersion","_constants","_componentDependency","DependencyList","constructor","_dependencies","uniqDeps","dependencies","sort","sorted","a","b","id","findDependency","componentIdStr","opts","ignoreVersion","find","dep","componentIdStrWithoutVersion","removeVersion","findByPkgNameOrCompId","version","findByVariousStrategies","found","_dep$getPackageName","getPackageName","call","startsWith","compDeps","toTypeArray","foundByName","filter","componentId","fullName","length","Error","undefined","SNAP_VERSION_PREFIX","replace","forEach","predicate","map","filtered","fromArray","filterHidden","hidden","typeName","list","type","byTypeName","byLifecycle","lifecycle","serialize","serialized","getComponentDependencies","ComponentDependency","toDependenciesManifest","manifest","optionalDependencies","devDependencies","peerDependencies","peerDependenciesMeta","keyName","optional","KEY_NAME_BY_LIFECYCLE_TYPE","entry","toManifest","packageName","merge","lists","res","deps","reduce","acc","curr","concat","exports","uniq","uniqBy","property","split"],"sources":["dependency-list.ts"],"sourcesContent":["import { uniqBy, property } from 'lodash';\nimport { SNAP_VERSION_PREFIX } from '@teambit/component-package-version';\nimport { Dependency, DependencyLifecycleType, SerializedDependency, SemverVersion, PackageName } from './dependency';\nimport { KEY_NAME_BY_LIFECYCLE_TYPE } from './constants';\nimport { ComponentDependency } from './component-dependency';\n\nexport type LifecycleDependenciesManifest = Record<PackageName, SemverVersion>;\n\nexport interface DependenciesManifest {\n dependencies?: LifecycleDependenciesManifest;\n optionalDependencies?: LifecycleDependenciesManifest;\n devDependencies?: LifecycleDependenciesManifest;\n peerDependencies?: LifecycleDependenciesManifest;\n peerDependenciesMeta?: PeerDependenciesMeta;\n}\n\nexport interface PeerDependenciesMeta {\n [peerName: string]: PeerDependencyMeta;\n}\n\nexport interface PeerDependencyMeta {\n optional: true;\n}\n\nexport type FindDependencyOptions = {\n ignoreVersion?: boolean;\n};\nexport class DependencyList {\n constructor(private _dependencies: Array<Dependency>) {\n this._dependencies = uniqDeps(_dependencies);\n }\n // constructor(private _dependencies: Dependency[]){}\n\n get dependencies(): Dependency[] {\n return this._dependencies;\n }\n\n sort(): DependencyList {\n const sorted = this.dependencies.sort((a, b) => {\n if (a.id < b.id) {\n return -1;\n }\n if (a.id > b.id) {\n return 1;\n }\n return 0;\n });\n return new DependencyList(sorted);\n }\n\n /**\n * @param componentIdStr complete string include the scope and the version\n */\n findDependency(componentIdStr: string, opts: FindDependencyOptions = {}): Dependency | undefined {\n const ignoreVersion = opts.ignoreVersion;\n if (!ignoreVersion) {\n return this.dependencies.find((dep) => dep.id === componentIdStr);\n }\n const componentIdStrWithoutVersion = removeVersion(componentIdStr);\n return this.dependencies.find((dep) => removeVersion(dep.id) === componentIdStrWithoutVersion);\n }\n\n findByPkgNameOrCompId(id: string, version?: string): Dependency | undefined {\n const findByVariousStrategies = () => {\n // try by full-id or package-name\n const found = this.dependencies.find(\n (dep) => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`)\n );\n if (found) return found;\n const compDeps = this.toTypeArray<ComponentDependency>('component');\n\n // try by component-name\n const foundByName = compDeps.filter((dep) => dep.componentId.fullName === id);\n if (foundByName.length > 1) {\n throw new Error(\n `found multiple dependencies with the same component-name \"${id}\", please specify the full component-id`\n );\n }\n if (foundByName.length === 1) return foundByName[0];\n return undefined;\n };\n const found = findByVariousStrategies();\n if (!found) return undefined;\n if (version) {\n // because the version for snaps is stored in deps as the hash without the prefix of \"0.0.0-\"\"\n if (version.startsWith(SNAP_VERSION_PREFIX) && found.version === version.replace(SNAP_VERSION_PREFIX, ''))\n return found;\n return found.version === version ? found : undefined;\n }\n return found;\n }\n\n forEach(predicate: (dep: Dependency, index?: number) => void): void {\n this.dependencies.forEach(predicate);\n }\n\n map(predicate: (dep: Dependency, index?: number) => any) {\n return this.dependencies.map(predicate);\n }\n\n filter(predicate: (dep: Dependency, index?: number) => boolean): DependencyList {\n const filtered = this.dependencies.filter(predicate);\n return DependencyList.fromArray(filtered);\n }\n\n filterHidden(): DependencyList {\n return this.filter((dep) => !dep.hidden);\n }\n\n toTypeArray<T extends Dependency>(typeName: string): T[] {\n const list: T[] = this.dependencies.filter((dep) => dep.type === typeName) as any as T[];\n return list;\n }\n\n byTypeName(typeName: string): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.type === typeName);\n return DependencyList.fromArray(filtered);\n }\n\n byLifecycle(lifecycle: DependencyLifecycleType): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.lifecycle === lifecycle);\n return DependencyList.fromArray(filtered);\n }\n\n serialize(): SerializedDependency[] {\n const serialized = this.dependencies.map((dep) => {\n return dep.serialize();\n });\n return serialized;\n }\n\n getComponentDependencies(): ComponentDependency[] {\n return this.dependencies.filter((dep) => dep instanceof ComponentDependency) as ComponentDependency[];\n }\n\n toDependenciesManifest(): Required<DependenciesManifest> {\n const manifest: Required<DependenciesManifest> = {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n peerDependenciesMeta: {},\n };\n this.forEach((dep) => {\n const keyName =\n dep.optional && dep.lifecycle === 'runtime'\n ? 'optionalDependencies'\n : KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];\n const entry = dep.toManifest();\n if (entry) {\n manifest[keyName][entry.packageName] = entry.version;\n if (dep.optional && dep.lifecycle === 'peer') {\n manifest.peerDependenciesMeta[entry.packageName] = { optional: true };\n }\n }\n });\n return manifest;\n }\n\n static merge(lists: DependencyList[]): DependencyList {\n const res: Dependency[] = [];\n const deps = lists.reduce((acc, curr) => {\n acc = acc.concat(curr.dependencies);\n return acc;\n }, res);\n return new DependencyList(deps);\n }\n\n static fromArray(dependencies: Array<Dependency>) {\n return new DependencyList(dependencies);\n }\n}\n\nfunction uniqDeps(dependencies: Array<Dependency>): Array<Dependency> {\n const uniq = uniqBy(dependencies, property('id'));\n return uniq;\n}\n\nfunction removeVersion(id: string): string {\n if (id.startsWith('@')) return id.split('@')[1]; // scoped package\n return id.split('@')[0];\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_lodash","data","require","_componentPackageVersion","_constants","_componentDependency","DependencyList","constructor","_dependencies","uniqDeps","dependencies","sort","sorted","a","b","id","findDependency","componentIdStr","opts","ignoreVersion","find","dep","componentIdStrWithoutVersion","removeVersion","findByPkgNameOrCompId","version","findByVariousStrategies","found","getPackageName","startsWith","compDeps","toTypeArray","foundByName","filter","componentId","fullName","length","Error","undefined","SNAP_VERSION_PREFIX","replace","forEach","predicate","map","filtered","fromArray","filterHidden","hidden","typeName","list","type","byTypeName","byLifecycle","lifecycle","serialize","serialized","getComponentDependencies","ComponentDependency","toDependenciesManifest","manifest","optionalDependencies","devDependencies","peerDependencies","peerDependenciesMeta","keyName","optional","KEY_NAME_BY_LIFECYCLE_TYPE","entry","toManifest","packageName","merge","lists","res","deps","reduce","acc","curr","concat","exports","uniq","uniqBy","property","split"],"sources":["dependency-list.ts"],"sourcesContent":["import { uniqBy, property } from 'lodash';\nimport { SNAP_VERSION_PREFIX } from '@teambit/component-package-version';\nimport { Dependency, DependencyLifecycleType, SerializedDependency, SemverVersion, PackageName } from './dependency';\nimport { KEY_NAME_BY_LIFECYCLE_TYPE } from './constants';\nimport { ComponentDependency } from './component-dependency';\n\nexport type LifecycleDependenciesManifest = Record<PackageName, SemverVersion>;\n\nexport interface DependenciesManifest {\n dependencies?: LifecycleDependenciesManifest;\n optionalDependencies?: LifecycleDependenciesManifest;\n devDependencies?: LifecycleDependenciesManifest;\n peerDependencies?: LifecycleDependenciesManifest;\n peerDependenciesMeta?: PeerDependenciesMeta;\n}\n\nexport interface PeerDependenciesMeta {\n [peerName: string]: PeerDependencyMeta;\n}\n\nexport interface PeerDependencyMeta {\n optional: true;\n}\n\nexport type FindDependencyOptions = {\n ignoreVersion?: boolean;\n};\nexport class DependencyList {\n constructor(private _dependencies: Array<Dependency>) {\n this._dependencies = uniqDeps(_dependencies);\n }\n // constructor(private _dependencies: Dependency[]){}\n\n get dependencies(): Dependency[] {\n return this._dependencies;\n }\n\n sort(): DependencyList {\n const sorted = this.dependencies.sort((a, b) => {\n if (a.id < b.id) {\n return -1;\n }\n if (a.id > b.id) {\n return 1;\n }\n return 0;\n });\n return new DependencyList(sorted);\n }\n\n /**\n * @param componentIdStr complete string include the scope and the version\n */\n findDependency(componentIdStr: string, opts: FindDependencyOptions = {}): Dependency | undefined {\n const ignoreVersion = opts.ignoreVersion;\n if (!ignoreVersion) {\n return this.dependencies.find((dep) => dep.id === componentIdStr);\n }\n const componentIdStrWithoutVersion = removeVersion(componentIdStr);\n return this.dependencies.find((dep) => removeVersion(dep.id) === componentIdStrWithoutVersion);\n }\n\n findByPkgNameOrCompId(id: string, version?: string): Dependency | undefined {\n const findByVariousStrategies = () => {\n // try by full-id or package-name\n const found = this.dependencies.find(\n (dep) => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`)\n );\n if (found) return found;\n const compDeps = this.toTypeArray<ComponentDependency>('component');\n\n // try by component-name\n const foundByName = compDeps.filter((dep) => dep.componentId.fullName === id);\n if (foundByName.length > 1) {\n throw new Error(\n `found multiple dependencies with the same component-name \"${id}\", please specify the full component-id`\n );\n }\n if (foundByName.length === 1) return foundByName[0];\n return undefined;\n };\n const found = findByVariousStrategies();\n if (!found) return undefined;\n if (version) {\n // because the version for snaps is stored in deps as the hash without the prefix of \"0.0.0-\"\"\n if (version.startsWith(SNAP_VERSION_PREFIX) && found.version === version.replace(SNAP_VERSION_PREFIX, ''))\n return found;\n return found.version === version ? found : undefined;\n }\n return found;\n }\n\n forEach(predicate: (dep: Dependency, index?: number) => void): void {\n this.dependencies.forEach(predicate);\n }\n\n map(predicate: (dep: Dependency, index?: number) => any) {\n return this.dependencies.map(predicate);\n }\n\n filter(predicate: (dep: Dependency, index?: number) => boolean): DependencyList {\n const filtered = this.dependencies.filter(predicate);\n return DependencyList.fromArray(filtered);\n }\n\n filterHidden(): DependencyList {\n return this.filter((dep) => !dep.hidden);\n }\n\n toTypeArray<T extends Dependency>(typeName: string): T[] {\n const list: T[] = this.dependencies.filter((dep) => dep.type === typeName) as any as T[];\n return list;\n }\n\n byTypeName(typeName: string): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.type === typeName);\n return DependencyList.fromArray(filtered);\n }\n\n byLifecycle(lifecycle: DependencyLifecycleType): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.lifecycle === lifecycle);\n return DependencyList.fromArray(filtered);\n }\n\n serialize(): SerializedDependency[] {\n const serialized = this.dependencies.map((dep) => {\n return dep.serialize();\n });\n return serialized;\n }\n\n getComponentDependencies(): ComponentDependency[] {\n return this.dependencies.filter((dep) => dep instanceof ComponentDependency) as ComponentDependency[];\n }\n\n toDependenciesManifest(): Required<DependenciesManifest> {\n const manifest: Required<DependenciesManifest> = {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n peerDependenciesMeta: {},\n };\n this.forEach((dep) => {\n const keyName =\n dep.optional && dep.lifecycle === 'runtime'\n ? 'optionalDependencies'\n : KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];\n const entry = dep.toManifest();\n if (entry) {\n manifest[keyName][entry.packageName] = entry.version;\n if (dep.optional && dep.lifecycle === 'peer') {\n manifest.peerDependenciesMeta[entry.packageName] = { optional: true };\n }\n }\n });\n return manifest;\n }\n\n static merge(lists: DependencyList[]): DependencyList {\n const res: Dependency[] = [];\n const deps = lists.reduce((acc, curr) => {\n acc = acc.concat(curr.dependencies);\n return acc;\n }, res);\n return new DependencyList(deps);\n }\n\n static fromArray(dependencies: Array<Dependency>) {\n return new DependencyList(dependencies);\n }\n}\n\nfunction uniqDeps(dependencies: Array<Dependency>): Array<Dependency> {\n const uniq = uniqBy(dependencies, property('id'));\n return uniq;\n}\n\nfunction removeVersion(id: string): string {\n if (id.startsWith('@')) return id.split('@')[1]; // scoped package\n return id.split('@')[0];\n}\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { DependencySource } from '../policy/variant-policy/variant-policy';
|
|
2
|
-
export
|
|
3
|
-
export
|
|
2
|
+
export type WorkspaceDependencyLifecycleType = 'runtime' | 'peer';
|
|
3
|
+
export type DependencyLifecycleType = WorkspaceDependencyLifecycleType | 'dev';
|
|
4
4
|
export interface SerializedDependency {
|
|
5
5
|
id: string;
|
|
6
6
|
version: string;
|
|
@@ -14,9 +14,9 @@ export interface SerializedDependency {
|
|
|
14
14
|
/**
|
|
15
15
|
* Allowed values are valid semver values and the "-" sign.
|
|
16
16
|
*/
|
|
17
|
-
export
|
|
18
|
-
export
|
|
19
|
-
export
|
|
17
|
+
export type SemverVersion = string;
|
|
18
|
+
export type PackageName = string;
|
|
19
|
+
export type DependencyManifest = {
|
|
20
20
|
packageName: PackageName;
|
|
21
21
|
version: SemverVersion;
|
|
22
22
|
};
|
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
/// <reference types="react" />
|
|
2
2
|
import { EnvService, EnvDefinition, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';
|
|
3
3
|
import { DependencyDetector } from './dependency-detector';
|
|
4
|
-
export
|
|
4
|
+
export type DependenciesDescriptor = {
|
|
5
5
|
id: string;
|
|
6
6
|
displayName: string;
|
|
7
7
|
config?: string;
|
|
8
8
|
};
|
|
9
|
-
|
|
9
|
+
type DependenciesTransformationMap = ServiceTransformationMap & {
|
|
10
10
|
getDepDetectors: () => DependencyDetector[] | null;
|
|
11
11
|
};
|
|
12
12
|
export declare class DependenciesService implements EnvService<{}, DependenciesDescriptor> {
|
|
13
13
|
name: string;
|
|
14
|
-
render(env: EnvDefinition): Promise<
|
|
14
|
+
render(env: EnvDefinition): Promise<JSX.Element>;
|
|
15
15
|
getDescriptor(env: EnvDefinition): Promise<DependenciesDescriptor | undefined>;
|
|
16
16
|
transform(env: Env, context: EnvContext): DependenciesTransformationMap | undefined;
|
|
17
17
|
}
|
|
@@ -36,10 +36,10 @@ class DependenciesService {
|
|
|
36
36
|
async render(env) {
|
|
37
37
|
const descriptor = await this.getDescriptor(env);
|
|
38
38
|
return /*#__PURE__*/_react().default.createElement(_ink().Text, {
|
|
39
|
-
key: descriptor
|
|
39
|
+
key: descriptor?.id
|
|
40
40
|
}, /*#__PURE__*/_react().default.createElement(_ink().Text, {
|
|
41
41
|
color: "cyan"
|
|
42
|
-
}, "configured dependencies: "), /*#__PURE__*/_react().default.createElement(_ink().Newline, null), /*#__PURE__*/_react().default.createElement(_ink().Text, null,
|
|
42
|
+
}, "configured dependencies: "), /*#__PURE__*/_react().default.createElement(_ink().Newline, null), /*#__PURE__*/_react().default.createElement(_ink().Text, null, descriptor?.config && (0, _cliHighlight().default)(descriptor?.config, {
|
|
43
43
|
language: 'javascript',
|
|
44
44
|
ignoreIllegals: true
|
|
45
45
|
})), /*#__PURE__*/_react().default.createElement(_ink().Newline, null));
|
|
@@ -55,7 +55,7 @@ class DependenciesService {
|
|
|
55
55
|
}
|
|
56
56
|
transform(env, context) {
|
|
57
57
|
// Old env
|
|
58
|
-
if (!
|
|
58
|
+
if (!env?.detectors) return undefined;
|
|
59
59
|
return {
|
|
60
60
|
getDepDetectors: () => env.detectors()(context)
|
|
61
61
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","data","_interopRequireDefault","require","_ink","_cliHighlight","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","DependenciesService","constructor","render","env","descriptor","getDescriptor","createElement","Text","id","color","Newline","config","highlight","language","ignoreIllegals","getDependencies","undefined","dependencies","name","JSON","stringify","displayName","transform","context","detectors","getDepDetectors","exports"],"sources":["dependencies.service.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, Newline } from 'ink';\nimport { EnvService, EnvDefinition, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';\nimport highlight from 'cli-highlight';\nimport { DependencyDetector } from './dependency-detector';\n\nexport type DependenciesDescriptor = {\n id: string;\n displayName: string;\n config?: string;\n};\n\ntype DependenciesTransformationMap = ServiceTransformationMap & {\n getDepDetectors: () => DependencyDetector[] | null;\n};\n\nexport class DependenciesService implements EnvService<{}, DependenciesDescriptor> {\n name = 'Dependencies';\n\n async render(env: EnvDefinition) {\n const descriptor = await this.getDescriptor(env);\n\n return (\n <Text key={descriptor?.id}>\n <Text color=\"cyan\">configured dependencies: </Text>\n <Newline />\n <Text>\n {descriptor?.config && highlight(descriptor?.config, { language: 'javascript', ignoreIllegals: true })}\n </Text>\n <Newline />\n </Text>\n );\n }\n\n async getDescriptor(env: EnvDefinition): Promise<DependenciesDescriptor | undefined> {\n if (!env.env.getDependencies) return undefined;\n const dependencies = await env.env.getDependencies();\n return {\n id: this.name,\n config: dependencies ? JSON.stringify(dependencies, null, 2) : undefined,\n displayName: this.name,\n };\n }\n\n transform(env: Env, context: EnvContext): DependenciesTransformationMap | undefined {\n // Old env\n if (!env?.detectors) return undefined;\n return {\n getDepDetectors: () => env.detectors()(context),\n };\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,OAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,MAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,KAAA;EAAA,MAAAH,IAAA,GAAAE,OAAA;EAAAC,IAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,SAAAI,cAAA;EAAA,MAAAJ,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAE,aAAA,YAAAA,CAAA;IAAA,OAAAJ,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAsC,SAAAC,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,gBAAAH,GAAA,EAAAI,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAJ,GAAA,IAAAO,MAAA,CAAAC,cAAA,CAAAR,GAAA,EAAAI,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAI,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAX,GAAA,CAAAI,GAAA,IAAAC,KAAA,WAAAL,GAAA;AAAA,SAAAM,eAAAM,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAF,CAAA,uCAAAC,CAAA,GAAAA,CAAA,GAAAE,MAAA,CAAAF,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAI,CAAA,2BAAAJ,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAK,CAAA,GAAAL,CAAA,CAAAM,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAJ,CAAA,GAAAI,CAAA,CAAAG,IAAA,CAAAR,CAAA,EAAAI,CAAA,uCAAAH,CAAA,SAAAA,CAAA,YAAAQ,SAAA,yEAAAL,CAAA,GAAAD,MAAA,GAAAO,MAAA,EAAAV,CAAA;AAa/B,MAAMW,mBAAmB,CAAmD;EAAAC,YAAA;IAAArB,eAAA,eAC1E,cAAc;EAAA;EAErB,MAAMsB,MAAMA,CAACC,GAAkB,EAAE;IAC/B,MAAMC,UAAU,GAAG,MAAM,IAAI,CAACC,aAAa,CAACF,GAAG,CAAC;IAEhD,oBACEhC,MAAA,GAAAQ,OAAA,CAAA2B,aAAA,CAAC/B,IAAA,GAAAgC,IAAI;MAAC1B,GAAG,EAAEuB,UAAU,
|
|
1
|
+
{"version":3,"names":["_react","data","_interopRequireDefault","require","_ink","_cliHighlight","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","String","r","e","Symbol","toPrimitive","call","TypeError","Number","DependenciesService","constructor","render","env","descriptor","getDescriptor","createElement","Text","id","color","Newline","config","highlight","language","ignoreIllegals","getDependencies","undefined","dependencies","name","JSON","stringify","displayName","transform","context","detectors","getDepDetectors","exports"],"sources":["dependencies.service.tsx"],"sourcesContent":["import React from 'react';\nimport { Text, Newline } from 'ink';\nimport { EnvService, EnvDefinition, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';\nimport highlight from 'cli-highlight';\nimport { DependencyDetector } from './dependency-detector';\n\nexport type DependenciesDescriptor = {\n id: string;\n displayName: string;\n config?: string;\n};\n\ntype DependenciesTransformationMap = ServiceTransformationMap & {\n getDepDetectors: () => DependencyDetector[] | null;\n};\n\nexport class DependenciesService implements EnvService<{}, DependenciesDescriptor> {\n name = 'Dependencies';\n\n async render(env: EnvDefinition) {\n const descriptor = await this.getDescriptor(env);\n\n return (\n <Text key={descriptor?.id}>\n <Text color=\"cyan\">configured dependencies: </Text>\n <Newline />\n <Text>\n {descriptor?.config && highlight(descriptor?.config, { language: 'javascript', ignoreIllegals: true })}\n </Text>\n <Newline />\n </Text>\n );\n }\n\n async getDescriptor(env: EnvDefinition): Promise<DependenciesDescriptor | undefined> {\n if (!env.env.getDependencies) return undefined;\n const dependencies = await env.env.getDependencies();\n return {\n id: this.name,\n config: dependencies ? JSON.stringify(dependencies, null, 2) : undefined,\n displayName: this.name,\n };\n }\n\n transform(env: Env, context: EnvContext): DependenciesTransformationMap | undefined {\n // Old env\n if (!env?.detectors) return undefined;\n return {\n getDepDetectors: () => env.detectors()(context),\n };\n }\n}\n"],"mappings":"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"}
|
|
@@ -2,20 +2,21 @@ import { AspectLoaderMain } from '@teambit/aspect-loader';
|
|
|
2
2
|
import { ComponentMap } from '@teambit/component';
|
|
3
3
|
import { DependencyResolverMain } from '@teambit/dependency-resolver';
|
|
4
4
|
import { Logger } from '@teambit/logger';
|
|
5
|
+
import { PathAbsolute } from '@teambit/legacy/dist/utils/path';
|
|
5
6
|
import { PeerDependencyRules, ProjectManifest } from '@pnpm/types';
|
|
6
7
|
import { PackageManager, PackageManagerInstallOptions, PackageImportMethod } from './package-manager';
|
|
7
8
|
import { WorkspacePolicy } from './policy';
|
|
8
|
-
export
|
|
9
|
+
export type DepInstallerContext = {
|
|
9
10
|
inCapsule?: boolean;
|
|
10
11
|
};
|
|
11
|
-
export
|
|
12
|
+
export type InstallArgs = {
|
|
12
13
|
rootDir: string | undefined;
|
|
13
14
|
rootPolicy: WorkspacePolicy;
|
|
14
15
|
componentDirectoryMap: ComponentMap<string>;
|
|
15
16
|
options: InstallOptions;
|
|
16
17
|
packageManagerOptions: PackageManagerInstallOptions;
|
|
17
18
|
};
|
|
18
|
-
export
|
|
19
|
+
export type InstallOptions = {
|
|
19
20
|
installTeambitBit: boolean;
|
|
20
21
|
packageManagerConfigRootDir?: string;
|
|
21
22
|
resolveVersionsFromDependenciesOnly?: boolean;
|
|
@@ -24,7 +25,7 @@ export declare type InstallOptions = {
|
|
|
24
25
|
excludeExtensionsDependencies?: boolean;
|
|
25
26
|
dedupeInjectedDeps?: boolean;
|
|
26
27
|
};
|
|
27
|
-
export
|
|
28
|
+
export type GetComponentManifestsOptions = {
|
|
28
29
|
componentDirectoryMap: ComponentMap<string>;
|
|
29
30
|
rootPolicy: WorkspacePolicy;
|
|
30
31
|
rootDir: string;
|
|
@@ -33,10 +34,10 @@ export declare type GetComponentManifestsOptions = {
|
|
|
33
34
|
hasRootComponents?: boolean;
|
|
34
35
|
excludeExtensionsDependencies?: boolean;
|
|
35
36
|
} & Pick<PackageManagerInstallOptions, 'dedupe' | 'dependencyFilterFn' | 'copyPeerToRuntimeOnComponents' | 'copyPeerToRuntimeOnRoot' | 'installPeersFromEnvs'>;
|
|
36
|
-
export
|
|
37
|
-
export
|
|
38
|
-
export
|
|
39
|
-
export
|
|
37
|
+
export type PreInstallSubscriber = (installer: DependencyInstaller, installArgs: InstallArgs) => Promise<void>;
|
|
38
|
+
export type PreInstallSubscriberList = Array<PreInstallSubscriber>;
|
|
39
|
+
export type PostInstallSubscriber = (installer: DependencyInstaller, installArgs: InstallArgs) => Promise<void>;
|
|
40
|
+
export type PostInstallSubscriberList = Array<PostInstallSubscriber>;
|
|
40
41
|
export declare class DependencyInstaller {
|
|
41
42
|
/**
|
|
42
43
|
* package manager instance.
|
|
@@ -62,7 +63,7 @@ export declare class DependencyInstaller {
|
|
|
62
63
|
/**
|
|
63
64
|
* package manager instance.
|
|
64
65
|
*/
|
|
65
|
-
packageManager: PackageManager, aspectLoader: AspectLoaderMain, logger: Logger, dependencyResolver: DependencyResolverMain, rootDir?: string |
|
|
66
|
+
packageManager: PackageManager, aspectLoader: AspectLoaderMain, logger: Logger, dependencyResolver: DependencyResolverMain, rootDir?: string | PathAbsolute, cacheRootDir?: string | PathAbsolute, preInstallSubscriberList?: PreInstallSubscriberList, postInstallSubscriberList?: PostInstallSubscriberList, nodeLinker?: 'hoisted' | 'isolated', packageImportMethod?: PackageImportMethod, sideEffectsCache?: boolean, nodeVersion?: string, engineStrict?: boolean, peerDependencyRules?: PeerDependencyRules, neverBuiltDependencies?: string[], preferOffline?: boolean, installingContext?: DepInstallerContext);
|
|
66
67
|
install(rootDir: string | undefined, rootPolicy: WorkspacePolicy, componentDirectoryMap: ComponentMap<string>, options?: InstallOptions, packageManagerOptions?: PackageManagerInstallOptions): Promise<{
|
|
67
68
|
dependenciesChanged: boolean;
|
|
68
69
|
}>;
|
|
@@ -88,7 +88,6 @@ class DependencyInstaller {
|
|
|
88
88
|
return this.installComponents(finalRootDir, manifests, rootPolicy, componentDirectoryMap, options, packageManagerOptions);
|
|
89
89
|
}
|
|
90
90
|
async installComponents(rootDir, manifests, rootPolicy, componentDirectoryMap, options = DEFAULT_INSTALL_OPTIONS, packageManagerOptions = DEFAULT_PM_INSTALL_OPTIONS) {
|
|
91
|
-
var _this$installingConte;
|
|
92
91
|
const args = {
|
|
93
92
|
componentDirectoryMap,
|
|
94
93
|
options,
|
|
@@ -106,7 +105,6 @@ class DependencyInstaller {
|
|
|
106
105
|
manifests = JSON.parse(JSON.stringify(manifests));
|
|
107
106
|
const linkedDependencies = JSON.parse(JSON.stringify(options.linkedDependencies));
|
|
108
107
|
if (linkedDependencies[finalRootDir]) {
|
|
109
|
-
var _manifests$finalRootD;
|
|
110
108
|
const directDeps = new Set();
|
|
111
109
|
Object.values(manifests).forEach(manifest => {
|
|
112
110
|
for (const depName of Object.keys(_objectSpread(_objectSpread({}, manifest.dependencies), manifest.devDependencies))) {
|
|
@@ -118,7 +116,7 @@ class DependencyInstaller {
|
|
|
118
116
|
delete linkedDependencies[finalRootDir][manifest.name];
|
|
119
117
|
}
|
|
120
118
|
}
|
|
121
|
-
if (options.forceTeambitHarmonyLink &&
|
|
119
|
+
if (options.forceTeambitHarmonyLink && manifests[finalRootDir].dependencies?.['@teambit/harmony']) {
|
|
122
120
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
123
121
|
delete manifests[finalRootDir].dependencies['@teambit/harmony'];
|
|
124
122
|
}
|
|
@@ -170,7 +168,7 @@ class DependencyInstaller {
|
|
|
170
168
|
}
|
|
171
169
|
const messagePrefix = 'running package installation';
|
|
172
170
|
const messageSuffix = `using ${this.packageManager.name}`;
|
|
173
|
-
const message =
|
|
171
|
+
const message = this.installingContext?.inCapsule ? `(capsule) ${messagePrefix} in root dir ${this.rootDir} ${messageSuffix}` : `${messagePrefix} ${messageSuffix}`;
|
|
174
172
|
if (!hidePackageManagerOutput) {
|
|
175
173
|
this.logger.setStatusLine(message);
|
|
176
174
|
}
|
|
@@ -250,15 +248,14 @@ class DependencyInstaller {
|
|
|
250
248
|
return Promise.all(promises);
|
|
251
249
|
}
|
|
252
250
|
async runPrePostSubscribers(subscribers = [], type, args) {
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
if (!((_this$installingConte3 = this.installingContext) !== null && _this$installingConte3 !== void 0 && _this$installingConte3.inCapsule)) {
|
|
251
|
+
const message = this.installingContext?.inCapsule ? `(capsule) running ${type} install subscribers in root dir ${this.rootDir}` : `running ${type} install subscribers`;
|
|
252
|
+
if (!this.installingContext?.inCapsule) {
|
|
256
253
|
this.logger.setStatusLine(message);
|
|
257
254
|
}
|
|
258
255
|
await (0, _pMapSeries().default)(subscribers, async subscriber => {
|
|
259
256
|
return subscriber(this, args);
|
|
260
257
|
});
|
|
261
|
-
if (!
|
|
258
|
+
if (!this.installingContext?.inCapsule) {
|
|
262
259
|
this.logger.consoleSuccess(message);
|
|
263
260
|
}
|
|
264
261
|
}
|