@teambit/dependency-resolver 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.
Files changed (78) hide show
  1. package/apply-updates.spec.ts +215 -0
  2. package/apply-updates.ts +81 -0
  3. package/dependency-detector.ts +5 -0
  4. package/dependency-env.ts +6 -0
  5. package/dependency-installer.ts +347 -0
  6. package/dependency-linker.ts +719 -0
  7. package/dependency-resolver.aspect.ts +7 -0
  8. package/dependency-resolver.graphql.ts +99 -0
  9. package/dependency-resolver.main.runtime.spec.ts +530 -0
  10. package/dependency-resolver.main.runtime.ts +1797 -0
  11. package/dependency-version-resolver.ts +42 -0
  12. package/dist/apply-updates.js +2 -4
  13. package/dist/apply-updates.js.map +1 -1
  14. package/dist/dependencies/base-dependency.d.ts +7 -7
  15. package/dist/dependencies/base-dependency.js +1 -2
  16. package/dist/dependencies/base-dependency.js.map +1 -1
  17. package/dist/dependencies/component-dependency/component-dependency.js +1 -2
  18. package/dist/dependencies/component-dependency/component-dependency.js.map +1 -1
  19. package/dist/dependencies/dependency-list-factory.js +2 -4
  20. package/dist/dependencies/dependency-list-factory.js.map +1 -1
  21. package/dist/dependencies/dependency-list.d.ts +2 -2
  22. package/dist/dependencies/dependency-list.js +1 -4
  23. package/dist/dependencies/dependency-list.js.map +1 -1
  24. package/dist/dependencies/dependency.d.ts +5 -5
  25. package/dist/dependencies.service.d.ts +4 -4
  26. package/dist/dependencies.service.js +3 -3
  27. package/dist/dependencies.service.js.map +1 -1
  28. package/dist/dependency-installer.d.ts +10 -9
  29. package/dist/dependency-installer.js +5 -8
  30. package/dist/dependency-installer.js.map +1 -1
  31. package/dist/dependency-linker.d.ts +10 -9
  32. package/dist/dependency-linker.js +7 -11
  33. package/dist/dependency-linker.js.map +1 -1
  34. package/dist/dependency-resolver.composition.d.ts +2 -2
  35. package/dist/dependency-resolver.main.runtime.d.ts +15 -15
  36. package/dist/dependency-resolver.main.runtime.js +33 -39
  37. package/dist/dependency-resolver.main.runtime.js.map +1 -1
  38. package/dist/dependency-version-resolver.d.ts +2 -1
  39. package/dist/get-all-policy-pkgs.d.ts +4 -4
  40. package/dist/manifest/deduping/dedupe-dependencies.d.ts +4 -4
  41. package/dist/manifest/deduping/dedupe-dependencies.js +1 -1
  42. package/dist/manifest/deduping/dedupe-dependencies.js.map +1 -1
  43. package/dist/manifest/deduping/hoist-dependencies.js +2 -3
  44. package/dist/manifest/deduping/hoist-dependencies.js.map +1 -1
  45. package/dist/manifest/deduping/hoist-dependencies.spec.js +6 -8
  46. package/dist/manifest/deduping/hoist-dependencies.spec.js.map +1 -1
  47. package/dist/manifest/deduping/index-by-dep-id.d.ts +4 -4
  48. package/dist/manifest/deduping/index-by-dep-id.js +1 -2
  49. package/dist/manifest/deduping/index-by-dep-id.js.map +1 -1
  50. package/dist/manifest/manifest.d.ts +4 -4
  51. package/dist/manifest/update-dependency-version.js +2 -2
  52. package/dist/manifest/update-dependency-version.js.map +1 -1
  53. package/dist/manifest/workspace-manifest-factory.d.ts +3 -3
  54. package/dist/manifest/workspace-manifest-factory.js +3 -5
  55. package/dist/manifest/workspace-manifest-factory.js.map +1 -1
  56. package/dist/manifest/workspace-manifest.js +1 -2
  57. package/dist/manifest/workspace-manifest.js.map +1 -1
  58. package/dist/package-manager-legacy.d.ts +1 -1
  59. package/dist/package-manager.d.ts +5 -5
  60. package/dist/policy/env-policy/env-policy.d.ts +7 -7
  61. package/dist/policy/policy.d.ts +9 -9
  62. package/dist/policy/variant-policy/variant-policy.d.ts +9 -9
  63. package/dist/policy/workspace-policy/workspace-policy.d.ts +11 -11
  64. package/dist/{preview-1703505948637.js → preview-1703647408454.js} +2 -2
  65. package/dist/registry/registry.d.ts +6 -6
  66. package/dist/show-fragments/serialize-by-lifecycle.js +1 -2
  67. package/dist/show-fragments/serialize-by-lifecycle.js.map +1 -1
  68. package/dist/types.d.ts +8 -8
  69. package/extend-with-components-from-dir.ts +29 -0
  70. package/get-all-policy-pkgs.spec.ts +82 -0
  71. package/get-all-policy-pkgs.ts +126 -0
  72. package/index.ts +70 -0
  73. package/package-manager-legacy.ts +137 -0
  74. package/package-manager.ts +174 -0
  75. package/package.json +27 -34
  76. package/tsconfig.json +16 -21
  77. package/types/asset.d.ts +15 -3
  78. 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
+ }
@@ -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
- var _outdatedPkg$dependen;
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 ((_variantPoliciesByPat = variantPoliciesByPatterns[variantPattern]) !== null && _variantPoliciesByPat !== void 0 && (_variantPoliciesByPat = _variantPoliciesByPat[targetField]) !== null && _variantPoliciesByPat !== void 0 && (_variantPoliciesByPat = _variantPoliciesByPat[name]) !== null && _variantPoliciesByPat !== void 0 && _variantPoliciesByPat['version']) {
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","_outdatedPkg$dependen","source","dependentComponents","length","isAuto","componentId","forEach","id","toString","has","set","config","policy","get","targetField","name","latestRange","push","dependencyId","value","version","lifecycleType","variantPattern","_variantPoliciesByPat","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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"}
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 | undefined, _hidden?: boolean | undefined, _optional?: boolean | undefined);
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 | undefined;
18
- set source(source: DependencySource | undefined);
19
- set hidden(hidden: boolean | undefined);
20
- get hidden(): boolean | undefined;
21
- set optional(optional: boolean | undefined);
22
- get optional(): boolean | undefined;
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
- var _this$getPackageName;
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","_this$getPackageName","packageName","call","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;IAAA,IAAAC,oBAAA;IAC/B,MAAMC,WAAW,IAAAD,oBAAA,GAAG,IAAI,CAACF,cAAc,cAAAE,oBAAA,uBAAnBA,oBAAA,CAAAE,IAAA,KAAsB,CAAC;IAC3C,MAAMhB,OAAO,GAAG,IAAI,CAACA,OAAO;IAC5B,OAAO;MACLe,WAAW;MACXf;IACF,CAAC;EACH;AACF;AAACiB,OAAA,CAAA5B,cAAA,GAAAA,cAAA"}
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
- var _this$getPackageName;
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","_this$getPackageName","call"],"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;IAAA,IAAAC,oBAAA;IAC/B,MAAMf,WAAW,IAAAe,oBAAA,GAAG,IAAI,CAACd,cAAc,cAAAc,oBAAA,uBAAnBA,oBAAA,CAAAC,IAAA,KAAsB,CAAC;IAC3C,MAAMxB,OAAO,GAAG,IAAI,CAACA,OAAO;IAC5B,OAAO;MACLQ,WAAW;MACXR;IACF,CAAC;EACH;AACF;AAACR,OAAA,CAAAC,mBAAA,GAAAA,mBAAA"}
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 = ((_legacyComponent$issu = legacyComponent.issues.getIssueByName('MissingPackagesDependenciesOnFs')) === null || _legacyComponent$issu === void 0 ? void 0 : _legacyComponent$issu.data) || [];
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
- var _dep$getPackageName;
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","_legacyComponent$issu","missingData","issues","getIssueByName","missingPackages","map","d","flat","componentFromModel","length","fromArray","depListFromModel","getDependenciesFromLegacyModelComponent","filteredDepList","filter","dep","_dep$getPackageName","packageName","getPackageName","call","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
+ {"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 declare type LifecycleDependenciesManifest = Record<PackageName, SemverVersion>;
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 declare type FindDependencyOptions = {
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 declare type WorkspaceDependencyLifecycleType = 'runtime' | 'peer';
3
- export declare type DependencyLifecycleType = WorkspaceDependencyLifecycleType | 'dev';
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 declare type SemverVersion = string;
18
- export declare type PackageName = string;
19
- export declare type DependencyManifest = {
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
- import React from 'react';
1
+ /// <reference types="react" />
2
2
  import { EnvService, EnvDefinition, Env, EnvContext, ServiceTransformationMap } from '@teambit/envs';
3
3
  import { DependencyDetector } from './dependency-detector';
4
- export declare type DependenciesDescriptor = {
4
+ export type DependenciesDescriptor = {
5
5
  id: string;
6
6
  displayName: string;
7
7
  config?: string;
8
8
  };
9
- declare type DependenciesTransformationMap = ServiceTransformationMap & {
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<React.JSX.Element>;
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 === null || descriptor === void 0 ? void 0 : descriptor.id
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, (descriptor === null || descriptor === void 0 ? void 0 : descriptor.config) && (0, _cliHighlight().default)(descriptor === null || descriptor === void 0 ? void 0 : descriptor.config, {
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 (!(env !== null && env !== void 0 && env.detectors)) return undefined;
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":"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"}
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 declare type DepInstallerContext = {
9
+ export type DepInstallerContext = {
9
10
  inCapsule?: boolean;
10
11
  };
11
- export declare type InstallArgs = {
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 declare type InstallOptions = {
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 declare type GetComponentManifestsOptions = {
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 declare type PreInstallSubscriber = (installer: DependencyInstaller, installArgs: InstallArgs) => Promise<void>;
37
- export declare type PreInstallSubscriberList = Array<PreInstallSubscriber>;
38
- export declare type PostInstallSubscriber = (installer: DependencyInstaller, installArgs: InstallArgs) => Promise<void>;
39
- export declare type PostInstallSubscriberList = Array<PostInstallSubscriber>;
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 | undefined, cacheRootDir?: string | undefined, preInstallSubscriberList?: PreInstallSubscriberList | undefined, postInstallSubscriberList?: PostInstallSubscriberList | undefined, nodeLinker?: "isolated" | "hoisted" | undefined, packageImportMethod?: PackageImportMethod | undefined, sideEffectsCache?: boolean | undefined, nodeVersion?: string | undefined, engineStrict?: boolean | undefined, peerDependencyRules?: PeerDependencyRules | undefined, neverBuiltDependencies?: string[] | undefined, preferOffline?: boolean | undefined, installingContext?: DepInstallerContext);
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 && (_manifests$finalRootD = manifests[finalRootDir].dependencies) !== null && _manifests$finalRootD !== void 0 && _manifests$finalRootD['@teambit/harmony']) {
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 = (_this$installingConte = this.installingContext) !== null && _this$installingConte !== void 0 && _this$installingConte.inCapsule ? `(capsule) ${messagePrefix} in root dir ${this.rootDir} ${messageSuffix}` : `${messagePrefix} ${messageSuffix}`;
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
- var _this$installingConte2, _this$installingConte3, _this$installingConte4;
254
- const message = (_this$installingConte2 = this.installingContext) !== null && _this$installingConte2 !== void 0 && _this$installingConte2.inCapsule ? `(capsule) running ${type} install subscribers in root dir ${this.rootDir}` : `running ${type} install subscribers`;
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 (!((_this$installingConte4 = this.installingContext) !== null && _this$installingConte4 !== void 0 && _this$installingConte4.inCapsule)) {
258
+ if (!this.installingContext?.inCapsule) {
262
259
  this.logger.consoleSuccess(message);
263
260
  }
264
261
  }