@teambit/dependency-resolver 1.0.281 → 1.0.283

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 (60) hide show
  1. package/artifacts/__bit_junit.xml +33 -33
  2. package/artifacts/preview/teambit_dependencies_dependency_resolver-preview.js +1 -1
  3. package/artifacts/schema.json +440 -380
  4. package/dist/apply-updates.js.map +1 -1
  5. package/dist/dependencies/base-dependency.js +1 -1
  6. package/dist/dependencies/component-dependency/component-dependency-factory.js +2 -2
  7. package/dist/dependencies/component-dependency/component-dependency-factory.js.map +1 -1
  8. package/dist/dependencies/component-dependency/component-dependency.js.map +1 -1
  9. package/dist/dependencies/dependency-list-factory.js +1 -1
  10. package/dist/dependencies/dependency-list-factory.js.map +1 -1
  11. package/dist/dependencies/dependency-list.js.map +1 -1
  12. package/dist/dependencies/exceptions/unknown-dep-type.js.map +1 -1
  13. package/dist/dependencies.service.js +2 -2
  14. package/dist/dependencies.service.js.map +1 -1
  15. package/dist/dependency-installer.js +2 -2
  16. package/dist/dependency-installer.js.map +1 -1
  17. package/dist/dependency-linker.js +2 -2
  18. package/dist/dependency-linker.js.map +1 -1
  19. package/dist/dependency-resolver.composition.js +1 -1
  20. package/dist/dependency-resolver.composition.js.map +1 -1
  21. package/dist/dependency-resolver.graphql.js +1 -1
  22. package/dist/dependency-resolver.graphql.js.map +1 -1
  23. package/dist/dependency-resolver.main.runtime.js +2 -2
  24. package/dist/dependency-resolver.main.runtime.js.map +1 -1
  25. package/dist/dependency-resolver.main.runtime.spec.js +1 -1
  26. package/dist/dependency-resolver.main.runtime.spec.js.map +1 -1
  27. package/dist/dependency-version-resolver.js +2 -2
  28. package/dist/dependency-version-resolver.js.map +1 -1
  29. package/dist/exceptions/core-aspect-link-error.js.map +1 -1
  30. package/dist/exceptions/invalid-version-with-prefix.js.map +1 -1
  31. package/dist/exceptions/main-aspect-not-installable.js.map +1 -1
  32. package/dist/exceptions/main-aspect-not-linkable.js.map +1 -1
  33. package/dist/exceptions/non-aspect-core-package-link-error.js.map +1 -1
  34. package/dist/exceptions/package-manager-not-found.js.map +1 -1
  35. package/dist/exceptions/root-dir-not-defined.js.map +1 -1
  36. package/dist/extend-with-components-from-dir.js +2 -2
  37. package/dist/extend-with-components-from-dir.js.map +1 -1
  38. package/dist/get-all-policy-pkgs.js +1 -1
  39. package/dist/get-all-policy-pkgs.js.map +1 -1
  40. package/dist/manifest/deduping/hoist-dependencies.js +2 -2
  41. package/dist/manifest/deduping/hoist-dependencies.js.map +1 -1
  42. package/dist/manifest/deduping/hoist-dependencies.spec.js.map +1 -1
  43. package/dist/manifest/manifest.js +1 -1
  44. package/dist/manifest/workspace-manifest-factory.js +2 -2
  45. package/dist/manifest/workspace-manifest-factory.js.map +1 -1
  46. package/dist/package-manager-legacy.js +2 -2
  47. package/dist/package-manager-legacy.js.map +1 -1
  48. package/dist/package-manager.d.ts +4 -0
  49. package/dist/package-manager.js.map +1 -1
  50. package/dist/policy/env-policy/env-policy.js +1 -1
  51. package/dist/policy/env-policy/env-policy.js.map +1 -1
  52. package/dist/policy/env-policy/validate-env-policy.js.map +1 -1
  53. package/dist/policy/variant-policy/variant-policy.js +1 -1
  54. package/dist/policy/variant-policy/variant-policy.js.map +1 -1
  55. package/dist/policy/workspace-policy/exceptions/entry-already-exist.js.map +1 -1
  56. package/dist/policy/workspace-policy/workspace-policy-factory.js +1 -1
  57. package/dist/policy/workspace-policy/workspace-policy-factory.js.map +1 -1
  58. package/dist/{preview-1716434516635.js → preview-1716607230882.js} +2 -2
  59. package/dist/show-fragments/serialize-by-lifecycle.js.map +1 -1
  60. package/package.json +10 -10
@@ -28,7 +28,7 @@ function _dependencyResolverMain() {
28
28
  };
29
29
  return data;
30
30
  }
31
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
31
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
32
32
  // @ts-ignore
33
33
  jest.mock('@teambit/legacy/dist/scope/network/http', () => ({
34
34
  Http: {
@@ -1 +1 @@
1
- {"version":3,"names":["_component","data","require","_path","_interopRequireDefault","_http","_dependencyResolverMain","obj","__esModule","default","jest","mock","Http","getNetworkConfig","fn","getProxyConfig","logger","debug","describe","packageManagerSlot","get","it","depResolver","DependencyResolverMain","globalConfig","fetchTimeout","fetchRetries","fetchRetryFactor","fetchRetryMintimeout","fetchRetryMaxtimeout","networkConcurrency","maxSockets","mockReturnValue","Promise","resolve","expect","toEqual","pmConfig","config","cafile","path","join","__dirname","ca","toStrictEqual","createDependencyResolverMain","resolveRemoteVersion","policy","setStatusLine","consoleSuccess","getSync","spec","Error","version","dependencies","peerDependencies","outdatedPkgs","getOutdatedPkgsFromPolicies","rootDir","variantPoliciesByPatterns","devDependencies","componentPolicies","componentId","ComponentID","fromString","components","currentRange","latestRange","name","source","variantPattern","targetField","dep1","dep2","dep3","forceVersionBump","isCoreEnv","getComponentEnvPolicyFromEnv","getDependencies","peers","supportedRange","envId","rejects","toThrowError"],"sources":["dependency-resolver.main.runtime.spec.ts"],"sourcesContent":["// @ts-ignore\njest.mock('@teambit/legacy/dist/scope/network/http', () => ({\n Http: {\n // @ts-ignore\n getNetworkConfig: jest.fn(),\n // @ts-ignore\n getProxyConfig: jest.fn(),\n },\n}));\n\n/* eslint-disable import/first */\nimport { ComponentID } from '@teambit/component';\nimport path from 'path';\nimport { Http } from '@teambit/legacy/dist/scope/network/http';\nimport { DependencyResolverMain } from './dependency-resolver.main.runtime';\n\nconst logger = {\n debug: () => {},\n};\n\ndescribe('DepenendencyResolverMain.getNetworkConfig()', () => {\n const packageManagerSlot = {\n // @ts-ignore\n get: jest.fn(() => ({\n getNetworkConfig: () => ({}),\n })),\n };\n it('should return settings from global config', async () => {\n const depResolver = new DependencyResolverMain(\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n logger as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n packageManagerSlot as any,\n {} as any,\n {} as any,\n {} as any\n );\n const globalConfig = {\n fetchTimeout: 1,\n fetchRetries: 2,\n fetchRetryFactor: 3,\n fetchRetryMintimeout: 4,\n fetchRetryMaxtimeout: 5,\n networkConcurrency: 6,\n maxSockets: 7,\n };\n // @ts-ignore\n Http.getNetworkConfig.mockReturnValue(Promise.resolve(globalConfig));\n expect(await depResolver.getNetworkConfig()).toEqual(globalConfig);\n });\n it('should return settings from package manager config', async () => {\n const depResolver = new DependencyResolverMain(\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n logger as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n packageManagerSlot as any,\n {} as any,\n {} as any,\n {} as any\n );\n const pmConfig = {\n fetchTimeout: 11,\n fetchRetries: 22,\n fetchRetryFactor: 33,\n fetchRetryMintimeout: 44,\n fetchRetryMaxtimeout: 55,\n networkConcurrency: 66,\n maxSockets: 77,\n };\n packageManagerSlot.get.mockReturnValue({\n getNetworkConfig: () => pmConfig,\n });\n // @ts-ignore\n Http.getNetworkConfig.mockReturnValue(Promise.resolve({}));\n expect(await depResolver.getNetworkConfig()).toEqual(pmConfig);\n });\n it('should return settings from aspect config', async () => {\n const config = {\n fetchTimeout: 111,\n fetchRetries: 222,\n fetchRetryFactor: 333,\n fetchRetryMintimeout: 444,\n fetchRetryMaxtimeout: 555,\n networkConcurrency: 666,\n maxSockets: 777,\n } as any;\n // @ts-ignore\n Http.getNetworkConfig.mockReturnValue(Promise.resolve({}));\n const depResolver = new DependencyResolverMain(\n config,\n {} as any,\n {} as any,\n {} as any,\n logger as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n packageManagerSlot as any,\n {} as any,\n {} as any,\n {} as any\n );\n expect(await depResolver.getNetworkConfig()).toEqual(config);\n });\n it('should merge settings from global config, package manager config, and aspect config', async () => {\n const globalConfig = {\n fetchTimeout: 1,\n fetchRetries: 2,\n };\n const pmConfig = {\n fetchRetryFactor: 33,\n fetchRetryMintimeout: 44,\n };\n const config = {\n fetchRetryMaxtimeout: 555,\n networkConcurrency: 666,\n maxSockets: 777,\n } as any;\n // @ts-ignore\n Http.getNetworkConfig.mockReturnValue(Promise.resolve(globalConfig));\n packageManagerSlot.get.mockReturnValue({\n getNetworkConfig: () => pmConfig,\n });\n const depResolver = new DependencyResolverMain(\n config,\n {} as any,\n {} as any,\n {} as any,\n logger as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n packageManagerSlot as any,\n {} as any,\n {} as any,\n {} as any\n );\n expect(await depResolver.getNetworkConfig()).toEqual({\n fetchTimeout: 1,\n fetchRetries: 2,\n fetchRetryFactor: 33,\n fetchRetryMintimeout: 44,\n fetchRetryMaxtimeout: 555,\n networkConcurrency: 666,\n maxSockets: 777,\n });\n });\n it('should read cafile when it is returned by the global config', async () => {\n const depResolver = new DependencyResolverMain(\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n { debug: jest.fn() } as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n packageManagerSlot as any,\n {} as any,\n {} as any,\n {} as any\n );\n // @ts-ignore\n Http.getNetworkConfig.mockReturnValue(\n Promise.resolve({\n cafile: path.join(__dirname, 'fixtures/cafile.txt'),\n })\n );\n // @ts-ignore\n expect((await depResolver.getNetworkConfig()).ca).toStrictEqual([\n `-----BEGIN CERTIFICATE-----\nXXXX\n-----END CERTIFICATE-----`,\n ]);\n });\n});\n\ndescribe('DepenendencyResolverMain.getOutdatedPkgsFromPolicies()', () => {\n function createDependencyResolverMain(\n resolveRemoteVersion: (spec: string) => { version: string | undefined },\n policy: any\n ) {\n const packageManagerSlot = {\n // @ts-ignore\n get: () => ({\n resolveRemoteVersion,\n getNetworkConfig: () => ({}),\n }),\n };\n return new DependencyResolverMain(\n { policy } as any,\n {} as any,\n {} as any,\n {} as any,\n {\n // @ts-ignore\n debug: jest.fn(),\n // @ts-ignore\n setStatusLine: jest.fn(),\n // @ts-ignore\n consoleSuccess: jest.fn(),\n } as any,\n {} as any,\n {} as any,\n {\n getSync: () => false,\n } as any,\n {} as any,\n packageManagerSlot as any,\n {} as any,\n {} as any,\n {} as any\n );\n }\n describe('without options', () => {\n function resolveRemoteVersion(spec: string): { version: string | undefined } {\n if (spec === 'cannot-resolve@latest') throw new Error('Cannot resolve latest');\n return {\n version: {\n 'root-runtime-dep1@latest': '2.0.0',\n 'root-peer-dep1@latest': '2.0.0',\n 'variant1-runtime-dep1@latest': '2.0.0',\n 'variant1-runtime-dep3@latest': '2.0.0',\n 'variant1-dev-dep1@latest': '2.0.0',\n 'variant1-dev-dep3@latest': '2.0.0',\n 'variant1-peer-dep1@latest': '2.0.0',\n 'variant1-peer-dep3@latest': '2.0.0',\n 'component1-runtime-dep1@latest': '2.0.0',\n 'component1-runtime-dep3@latest': '2.0.0',\n 'component1-dev-dep1@latest': '2.0.0',\n 'component1-dev-dep3@latest': '2.0.0',\n 'component1-peer-dep1@latest': '2.0.0',\n 'component1-peer-dep3@latest': '2.0.0',\n 'pkg-with-old-latest@latest': '0.0.0',\n }[spec],\n };\n }\n const policy = {\n dependencies: {\n 'root-runtime-dep1': '1.0.0',\n 'root-runtime-dep2': '1.0.0',\n },\n peerDependencies: {\n 'root-peer-dep1': '1.0.0',\n 'root-peer-dep2': '1.0.0',\n },\n };\n const depResolver = createDependencyResolverMain(resolveRemoteVersion, policy);\n it('should return outdated dependencies', async () => {\n const outdatedPkgs = await depResolver.getOutdatedPkgsFromPolicies({\n rootDir: '',\n variantPoliciesByPatterns: {\n '{variant1/*}': {\n dependencies: {\n 'variant1-runtime-dep1': '1.0.0',\n 'variant1-runtime-dep2': '1.0.0',\n 'variant1-runtime-dep3': '-',\n },\n devDependencies: {\n 'variant1-dev-dep1': '1.0.0',\n 'variant1-dev-dep2': '1.0.0',\n 'variant1-dev-dep3': '-',\n },\n peerDependencies: {\n 'variant1-peer-dep1': '1.0.0',\n 'variant1-peer-dep2': '1.0.0',\n 'variant1-peer-dep3': '-',\n },\n },\n },\n componentPolicies: [\n {\n componentId: ComponentID.fromString('scope/component1'),\n policy: {\n dependencies: {\n 'pkg-with-old-latest': '1.0.0',\n 'cannot-resolve': '1.0.0',\n 'component1-runtime-dep1': '1.0.0',\n 'component1-runtime-dep2': '1.0.0',\n 'component1-runtime-dep3': '-',\n },\n devDependencies: {\n 'component1-dev-dep1': '1.0.0',\n 'component1-dev-dep2': '1.0.0',\n 'component1-dev-dep3': '-',\n },\n peerDependencies: {\n 'component1-peer-dep1': '1.0.0',\n 'component1-peer-dep2': '1.0.0',\n 'component1-peer-dep3': '-',\n },\n },\n },\n ],\n components: [],\n });\n // @ts-ignore\n expect(outdatedPkgs).toStrictEqual([\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'root-runtime-dep1',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'root-peer-dep1',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'peerDependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'variant1-runtime-dep1',\n source: 'variants',\n variantPattern: '{variant1/*}',\n targetField: 'dependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'variant1-dev-dep1',\n source: 'variants',\n variantPattern: '{variant1/*}',\n targetField: 'devDependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'variant1-peer-dep1',\n source: 'variants',\n variantPattern: '{variant1/*}',\n targetField: 'peerDependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'component1-runtime-dep1',\n source: 'component',\n componentId: ComponentID.fromString('scope/component1'),\n targetField: 'dependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'component1-dev-dep1',\n source: 'component',\n componentId: ComponentID.fromString('scope/component1'),\n targetField: 'devDependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'component1-peer-dep1',\n source: 'component',\n componentId: ComponentID.fromString('scope/component1'),\n targetField: 'peerDependencies',\n },\n ]);\n });\n });\n describe('forced version bump', () => {\n function resolveRemoteVersion(spec: string): { version: string | undefined } {\n return {\n version: {\n 'dep1@>=0.0.1 <0.1.0': '0.0.2',\n 'dep1@>=0.0.1 <1.0.0': '0.0.2',\n 'dep1@latest': '0.0.2',\n\n 'dep2@>=0.1.0 <0.2.0': '0.1.0',\n 'dep2@>=0.1.0 <1.0.0': '0.2.0',\n 'dep2@latest': '0.2.0',\n\n 'dep3@>=1.0.0 <1.1.0': '1.0.0',\n 'dep3@>=1.0.0 <2.0.0': '1.0.0',\n 'dep3@latest': '2.0.0',\n }[spec],\n };\n }\n const policy = {\n dependencies: {\n dep1: '0.0.1',\n dep2: '^0.1.0',\n dep3: '^1.0.0',\n },\n };\n const depResolver = createDependencyResolverMain(resolveRemoteVersion, policy);\n it('should return outdated dependencies when forcedVersionBump is set to patch', async () => {\n const outdatedPkgs = await depResolver.getOutdatedPkgsFromPolicies({\n rootDir: '',\n variantPoliciesByPatterns: {},\n componentPolicies: [],\n components: [],\n forceVersionBump: 'patch',\n });\n // @ts-ignore\n expect(outdatedPkgs).toStrictEqual([\n {\n currentRange: '0.0.1',\n latestRange: '0.0.2',\n name: 'dep1',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n ]);\n });\n it('should return outdated dependencies when forcedVersionBump is set to minor', async () => {\n const outdatedPkgs = await depResolver.getOutdatedPkgsFromPolicies({\n rootDir: '',\n variantPoliciesByPatterns: {},\n componentPolicies: [],\n components: [],\n forceVersionBump: 'minor',\n });\n // @ts-ignore\n expect(outdatedPkgs).toStrictEqual([\n {\n currentRange: '0.0.1',\n latestRange: '0.0.2',\n name: 'dep1',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n {\n currentRange: '^0.1.0',\n latestRange: '^0.2.0',\n name: 'dep2',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n ]);\n });\n it('should return outdated dependencies when forcedVersionBump is set to major', async () => {\n const outdatedPkgs = await depResolver.getOutdatedPkgsFromPolicies({\n rootDir: '',\n variantPoliciesByPatterns: {},\n componentPolicies: [],\n components: [],\n forceVersionBump: 'major',\n });\n // @ts-ignore\n expect(outdatedPkgs).toStrictEqual([\n {\n currentRange: '0.0.1',\n latestRange: '0.0.2',\n name: 'dep1',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n {\n currentRange: '^0.1.0',\n latestRange: '^0.2.0',\n name: 'dep2',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n {\n currentRange: '^1.0.0',\n latestRange: '^2.0.0',\n name: 'dep3',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n ]);\n });\n });\n});\n\ndescribe('DepenendencyResolverMain.getComponentEnvPolicyFromEnv()', () => {\n it('should throw an error if the env policy has a peer with an empty string set for the supportedRange', async () => {\n const depResolver = new DependencyResolverMain(\n {} as any,\n {} as any,\n {} as any,\n {\n isCoreEnv: () => false,\n } as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any\n );\n await expect(\n depResolver.getComponentEnvPolicyFromEnv(\n {\n getDependencies: () => ({\n peers: [\n {\n name: '@teambit/community.ui.bit-cli.commands-provider',\n supportedRange: '',\n version: '',\n },\n ],\n }),\n },\n { envId: 'teambit.test/test' }\n ) // @ts-ignore\n ).rejects.toThrowError('Peer \"@teambit/community.ui.bit-cli.commands-provider\" has an empty supportedRange');\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_component","data","require","_path","_interopRequireDefault","_http","_dependencyResolverMain","e","__esModule","default","jest","mock","Http","getNetworkConfig","fn","getProxyConfig","logger","debug","describe","packageManagerSlot","get","it","depResolver","DependencyResolverMain","globalConfig","fetchTimeout","fetchRetries","fetchRetryFactor","fetchRetryMintimeout","fetchRetryMaxtimeout","networkConcurrency","maxSockets","mockReturnValue","Promise","resolve","expect","toEqual","pmConfig","config","cafile","path","join","__dirname","ca","toStrictEqual","createDependencyResolverMain","resolveRemoteVersion","policy","setStatusLine","consoleSuccess","getSync","spec","Error","version","dependencies","peerDependencies","outdatedPkgs","getOutdatedPkgsFromPolicies","rootDir","variantPoliciesByPatterns","devDependencies","componentPolicies","componentId","ComponentID","fromString","components","currentRange","latestRange","name","source","variantPattern","targetField","dep1","dep2","dep3","forceVersionBump","isCoreEnv","getComponentEnvPolicyFromEnv","getDependencies","peers","supportedRange","envId","rejects","toThrowError"],"sources":["dependency-resolver.main.runtime.spec.ts"],"sourcesContent":["// @ts-ignore\njest.mock('@teambit/legacy/dist/scope/network/http', () => ({\n Http: {\n // @ts-ignore\n getNetworkConfig: jest.fn(),\n // @ts-ignore\n getProxyConfig: jest.fn(),\n },\n}));\n\n/* eslint-disable import/first */\nimport { ComponentID } from '@teambit/component';\nimport path from 'path';\nimport { Http } from '@teambit/legacy/dist/scope/network/http';\nimport { DependencyResolverMain } from './dependency-resolver.main.runtime';\n\nconst logger = {\n debug: () => {},\n};\n\ndescribe('DepenendencyResolverMain.getNetworkConfig()', () => {\n const packageManagerSlot = {\n // @ts-ignore\n get: jest.fn(() => ({\n getNetworkConfig: () => ({}),\n })),\n };\n it('should return settings from global config', async () => {\n const depResolver = new DependencyResolverMain(\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n logger as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n packageManagerSlot as any,\n {} as any,\n {} as any,\n {} as any\n );\n const globalConfig = {\n fetchTimeout: 1,\n fetchRetries: 2,\n fetchRetryFactor: 3,\n fetchRetryMintimeout: 4,\n fetchRetryMaxtimeout: 5,\n networkConcurrency: 6,\n maxSockets: 7,\n };\n // @ts-ignore\n Http.getNetworkConfig.mockReturnValue(Promise.resolve(globalConfig));\n expect(await depResolver.getNetworkConfig()).toEqual(globalConfig);\n });\n it('should return settings from package manager config', async () => {\n const depResolver = new DependencyResolverMain(\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n logger as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n packageManagerSlot as any,\n {} as any,\n {} as any,\n {} as any\n );\n const pmConfig = {\n fetchTimeout: 11,\n fetchRetries: 22,\n fetchRetryFactor: 33,\n fetchRetryMintimeout: 44,\n fetchRetryMaxtimeout: 55,\n networkConcurrency: 66,\n maxSockets: 77,\n };\n packageManagerSlot.get.mockReturnValue({\n getNetworkConfig: () => pmConfig,\n });\n // @ts-ignore\n Http.getNetworkConfig.mockReturnValue(Promise.resolve({}));\n expect(await depResolver.getNetworkConfig()).toEqual(pmConfig);\n });\n it('should return settings from aspect config', async () => {\n const config = {\n fetchTimeout: 111,\n fetchRetries: 222,\n fetchRetryFactor: 333,\n fetchRetryMintimeout: 444,\n fetchRetryMaxtimeout: 555,\n networkConcurrency: 666,\n maxSockets: 777,\n } as any;\n // @ts-ignore\n Http.getNetworkConfig.mockReturnValue(Promise.resolve({}));\n const depResolver = new DependencyResolverMain(\n config,\n {} as any,\n {} as any,\n {} as any,\n logger as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n packageManagerSlot as any,\n {} as any,\n {} as any,\n {} as any\n );\n expect(await depResolver.getNetworkConfig()).toEqual(config);\n });\n it('should merge settings from global config, package manager config, and aspect config', async () => {\n const globalConfig = {\n fetchTimeout: 1,\n fetchRetries: 2,\n };\n const pmConfig = {\n fetchRetryFactor: 33,\n fetchRetryMintimeout: 44,\n };\n const config = {\n fetchRetryMaxtimeout: 555,\n networkConcurrency: 666,\n maxSockets: 777,\n } as any;\n // @ts-ignore\n Http.getNetworkConfig.mockReturnValue(Promise.resolve(globalConfig));\n packageManagerSlot.get.mockReturnValue({\n getNetworkConfig: () => pmConfig,\n });\n const depResolver = new DependencyResolverMain(\n config,\n {} as any,\n {} as any,\n {} as any,\n logger as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n packageManagerSlot as any,\n {} as any,\n {} as any,\n {} as any\n );\n expect(await depResolver.getNetworkConfig()).toEqual({\n fetchTimeout: 1,\n fetchRetries: 2,\n fetchRetryFactor: 33,\n fetchRetryMintimeout: 44,\n fetchRetryMaxtimeout: 555,\n networkConcurrency: 666,\n maxSockets: 777,\n });\n });\n it('should read cafile when it is returned by the global config', async () => {\n const depResolver = new DependencyResolverMain(\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n { debug: jest.fn() } as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n packageManagerSlot as any,\n {} as any,\n {} as any,\n {} as any\n );\n // @ts-ignore\n Http.getNetworkConfig.mockReturnValue(\n Promise.resolve({\n cafile: path.join(__dirname, 'fixtures/cafile.txt'),\n })\n );\n // @ts-ignore\n expect((await depResolver.getNetworkConfig()).ca).toStrictEqual([\n `-----BEGIN CERTIFICATE-----\nXXXX\n-----END CERTIFICATE-----`,\n ]);\n });\n});\n\ndescribe('DepenendencyResolverMain.getOutdatedPkgsFromPolicies()', () => {\n function createDependencyResolverMain(\n resolveRemoteVersion: (spec: string) => { version: string | undefined },\n policy: any\n ) {\n const packageManagerSlot = {\n // @ts-ignore\n get: () => ({\n resolveRemoteVersion,\n getNetworkConfig: () => ({}),\n }),\n };\n return new DependencyResolverMain(\n { policy } as any,\n {} as any,\n {} as any,\n {} as any,\n {\n // @ts-ignore\n debug: jest.fn(),\n // @ts-ignore\n setStatusLine: jest.fn(),\n // @ts-ignore\n consoleSuccess: jest.fn(),\n } as any,\n {} as any,\n {} as any,\n {\n getSync: () => false,\n } as any,\n {} as any,\n packageManagerSlot as any,\n {} as any,\n {} as any,\n {} as any\n );\n }\n describe('without options', () => {\n function resolveRemoteVersion(spec: string): { version: string | undefined } {\n if (spec === 'cannot-resolve@latest') throw new Error('Cannot resolve latest');\n return {\n version: {\n 'root-runtime-dep1@latest': '2.0.0',\n 'root-peer-dep1@latest': '2.0.0',\n 'variant1-runtime-dep1@latest': '2.0.0',\n 'variant1-runtime-dep3@latest': '2.0.0',\n 'variant1-dev-dep1@latest': '2.0.0',\n 'variant1-dev-dep3@latest': '2.0.0',\n 'variant1-peer-dep1@latest': '2.0.0',\n 'variant1-peer-dep3@latest': '2.0.0',\n 'component1-runtime-dep1@latest': '2.0.0',\n 'component1-runtime-dep3@latest': '2.0.0',\n 'component1-dev-dep1@latest': '2.0.0',\n 'component1-dev-dep3@latest': '2.0.0',\n 'component1-peer-dep1@latest': '2.0.0',\n 'component1-peer-dep3@latest': '2.0.0',\n 'pkg-with-old-latest@latest': '0.0.0',\n }[spec],\n };\n }\n const policy = {\n dependencies: {\n 'root-runtime-dep1': '1.0.0',\n 'root-runtime-dep2': '1.0.0',\n },\n peerDependencies: {\n 'root-peer-dep1': '1.0.0',\n 'root-peer-dep2': '1.0.0',\n },\n };\n const depResolver = createDependencyResolverMain(resolveRemoteVersion, policy);\n it('should return outdated dependencies', async () => {\n const outdatedPkgs = await depResolver.getOutdatedPkgsFromPolicies({\n rootDir: '',\n variantPoliciesByPatterns: {\n '{variant1/*}': {\n dependencies: {\n 'variant1-runtime-dep1': '1.0.0',\n 'variant1-runtime-dep2': '1.0.0',\n 'variant1-runtime-dep3': '-',\n },\n devDependencies: {\n 'variant1-dev-dep1': '1.0.0',\n 'variant1-dev-dep2': '1.0.0',\n 'variant1-dev-dep3': '-',\n },\n peerDependencies: {\n 'variant1-peer-dep1': '1.0.0',\n 'variant1-peer-dep2': '1.0.0',\n 'variant1-peer-dep3': '-',\n },\n },\n },\n componentPolicies: [\n {\n componentId: ComponentID.fromString('scope/component1'),\n policy: {\n dependencies: {\n 'pkg-with-old-latest': '1.0.0',\n 'cannot-resolve': '1.0.0',\n 'component1-runtime-dep1': '1.0.0',\n 'component1-runtime-dep2': '1.0.0',\n 'component1-runtime-dep3': '-',\n },\n devDependencies: {\n 'component1-dev-dep1': '1.0.0',\n 'component1-dev-dep2': '1.0.0',\n 'component1-dev-dep3': '-',\n },\n peerDependencies: {\n 'component1-peer-dep1': '1.0.0',\n 'component1-peer-dep2': '1.0.0',\n 'component1-peer-dep3': '-',\n },\n },\n },\n ],\n components: [],\n });\n // @ts-ignore\n expect(outdatedPkgs).toStrictEqual([\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'root-runtime-dep1',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'root-peer-dep1',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'peerDependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'variant1-runtime-dep1',\n source: 'variants',\n variantPattern: '{variant1/*}',\n targetField: 'dependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'variant1-dev-dep1',\n source: 'variants',\n variantPattern: '{variant1/*}',\n targetField: 'devDependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'variant1-peer-dep1',\n source: 'variants',\n variantPattern: '{variant1/*}',\n targetField: 'peerDependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'component1-runtime-dep1',\n source: 'component',\n componentId: ComponentID.fromString('scope/component1'),\n targetField: 'dependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'component1-dev-dep1',\n source: 'component',\n componentId: ComponentID.fromString('scope/component1'),\n targetField: 'devDependencies',\n },\n {\n currentRange: '1.0.0',\n latestRange: '2.0.0',\n name: 'component1-peer-dep1',\n source: 'component',\n componentId: ComponentID.fromString('scope/component1'),\n targetField: 'peerDependencies',\n },\n ]);\n });\n });\n describe('forced version bump', () => {\n function resolveRemoteVersion(spec: string): { version: string | undefined } {\n return {\n version: {\n 'dep1@>=0.0.1 <0.1.0': '0.0.2',\n 'dep1@>=0.0.1 <1.0.0': '0.0.2',\n 'dep1@latest': '0.0.2',\n\n 'dep2@>=0.1.0 <0.2.0': '0.1.0',\n 'dep2@>=0.1.0 <1.0.0': '0.2.0',\n 'dep2@latest': '0.2.0',\n\n 'dep3@>=1.0.0 <1.1.0': '1.0.0',\n 'dep3@>=1.0.0 <2.0.0': '1.0.0',\n 'dep3@latest': '2.0.0',\n }[spec],\n };\n }\n const policy = {\n dependencies: {\n dep1: '0.0.1',\n dep2: '^0.1.0',\n dep3: '^1.0.0',\n },\n };\n const depResolver = createDependencyResolverMain(resolveRemoteVersion, policy);\n it('should return outdated dependencies when forcedVersionBump is set to patch', async () => {\n const outdatedPkgs = await depResolver.getOutdatedPkgsFromPolicies({\n rootDir: '',\n variantPoliciesByPatterns: {},\n componentPolicies: [],\n components: [],\n forceVersionBump: 'patch',\n });\n // @ts-ignore\n expect(outdatedPkgs).toStrictEqual([\n {\n currentRange: '0.0.1',\n latestRange: '0.0.2',\n name: 'dep1',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n ]);\n });\n it('should return outdated dependencies when forcedVersionBump is set to minor', async () => {\n const outdatedPkgs = await depResolver.getOutdatedPkgsFromPolicies({\n rootDir: '',\n variantPoliciesByPatterns: {},\n componentPolicies: [],\n components: [],\n forceVersionBump: 'minor',\n });\n // @ts-ignore\n expect(outdatedPkgs).toStrictEqual([\n {\n currentRange: '0.0.1',\n latestRange: '0.0.2',\n name: 'dep1',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n {\n currentRange: '^0.1.0',\n latestRange: '^0.2.0',\n name: 'dep2',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n ]);\n });\n it('should return outdated dependencies when forcedVersionBump is set to major', async () => {\n const outdatedPkgs = await depResolver.getOutdatedPkgsFromPolicies({\n rootDir: '',\n variantPoliciesByPatterns: {},\n componentPolicies: [],\n components: [],\n forceVersionBump: 'major',\n });\n // @ts-ignore\n expect(outdatedPkgs).toStrictEqual([\n {\n currentRange: '0.0.1',\n latestRange: '0.0.2',\n name: 'dep1',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n {\n currentRange: '^0.1.0',\n latestRange: '^0.2.0',\n name: 'dep2',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n {\n currentRange: '^1.0.0',\n latestRange: '^2.0.0',\n name: 'dep3',\n source: 'rootPolicy',\n variantPattern: null,\n targetField: 'dependencies',\n },\n ]);\n });\n });\n});\n\ndescribe('DepenendencyResolverMain.getComponentEnvPolicyFromEnv()', () => {\n it('should throw an error if the env policy has a peer with an empty string set for the supportedRange', async () => {\n const depResolver = new DependencyResolverMain(\n {} as any,\n {} as any,\n {} as any,\n {\n isCoreEnv: () => false,\n } as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any,\n {} as any\n );\n await expect(\n depResolver.getComponentEnvPolicyFromEnv(\n {\n getDependencies: () => ({\n peers: [\n {\n name: '@teambit/community.ui.bit-cli.commands-provider',\n supportedRange: '',\n version: '',\n },\n ],\n }),\n },\n { envId: 'teambit.test/test' }\n ) // @ts-ignore\n ).rejects.toThrowError('Peer \"@teambit/community.ui.bit-cli.commands-provider\" has an empty supportedRange');\n });\n});\n"],"mappings":"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","ignoreList":[]}
@@ -11,8 +11,8 @@ function _pLimit() {
11
11
  };
12
12
  return data;
13
13
  }
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
16
16
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
17
17
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
18
18
  const DEFAULT_REMOTE_RESOLVE_VERSIONS = {
@@ -1 +1 @@
1
- {"version":3,"names":["_pLimit","data","_interopRequireDefault","require","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","t","i","_toPrimitive","r","e","Symbol","toPrimitive","call","TypeError","String","Number","DEFAULT_REMOTE_RESOLVE_VERSIONS","fetchToCache","update","DependencyVersionResolver","constructor","packageManager","cacheRootDir","networkConcurrency","limitRequests","pLimit","resolveRemoteVersion","packageName","options","calculatedOpts","assign","resolved","exports"],"sources":["dependency-version-resolver.ts"],"sourcesContent":["import { PathAbsolute } from '@teambit/legacy/dist/utils/path';\nimport pLimit from 'p-limit';\n\nimport { PackageManager, PackageManagerResolveRemoteVersionOptions, ResolvedPackageVersion } from './package-manager';\n\nconst DEFAULT_REMOTE_RESOLVE_VERSIONS = {\n fetchToCache: true,\n update: true,\n};\n\nexport class DependencyVersionResolver {\n private limitRequests: pLimit.Limit;\n\n constructor(\n /**\n * package manager instance.\n */\n private packageManager: PackageManager,\n\n private cacheRootDir?: string | PathAbsolute,\n\n networkConcurrency?: number\n ) {\n this.limitRequests = pLimit(networkConcurrency ?? 16);\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n // Make sure to take other default if passed options with only one option\n const calculatedOpts = Object.assign(\n {},\n DEFAULT_REMOTE_RESOLVE_VERSIONS,\n { cacheRootDir: this.cacheRootDir },\n options\n );\n // TODO: the cache should be probably passed to the package manager constructor not to the install function\n const resolved = this.limitRequests(() => this.packageManager.resolveRemoteVersion(packageName, calculatedOpts));\n return resolved;\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6B,SAAAC,uBAAAE,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,GAAAA,CAAA;AAAA,SAAAC,aAAAF,CAAA,EAAAG,CAAA,2BAAAH,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAI,CAAA,GAAAJ,CAAA,CAAAK,MAAA,CAAAC,WAAA,kBAAAF,CAAA,QAAAH,CAAA,GAAAG,CAAA,CAAAG,IAAA,CAAAP,CAAA,EAAAG,CAAA,uCAAAF,CAAA,SAAAA,CAAA,YAAAO,SAAA,yEAAAL,CAAA,GAAAM,MAAA,GAAAC,MAAA,EAAAV,CAAA;AAI7B,MAAMW,+BAA+B,GAAG;EACtCC,YAAY,EAAE,IAAI;EAClBC,MAAM,EAAE;AACV,CAAC;AAEM,MAAMC,yBAAyB,CAAC;EAGrCC,WAAWA;EACT;AACJ;AACA;EACYC,cAA8B,EAE9BC,YAAoC,EAE5CC,kBAA2B,EAC3B;IAAA,KALQF,cAA8B,GAA9BA,cAA8B;IAAA,KAE9BC,YAAoC,GAApCA,YAAoC;IAAA1B,eAAA;IAI5C,IAAI,CAAC4B,aAAa,GAAG,IAAAC,iBAAM,EAACF,kBAAkB,IAAI,EAAE,CAAC;EACvD;EAEA,MAAMG,oBAAoBA,CACxBC,WAAmB,EACnBC,OAAkD,EACjB;IACjC;IACA,MAAMC,cAAc,GAAG7B,MAAM,CAAC8B,MAAM,CAClC,CAAC,CAAC,EACFd,+BAA+B,EAC/B;MAAEM,YAAY,EAAE,IAAI,CAACA;IAAa,CAAC,EACnCM,OACF,CAAC;IACD;IACA,MAAMG,QAAQ,GAAG,IAAI,CAACP,aAAa,CAAC,MAAM,IAAI,CAACH,cAAc,CAACK,oBAAoB,CAACC,WAAW,EAAEE,cAAc,CAAC,CAAC;IAChH,OAAOE,QAAQ;EACjB;AACF;AAACC,OAAA,CAAAb,yBAAA,GAAAA,yBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_pLimit","data","_interopRequireDefault","require","e","__esModule","default","_defineProperty","r","t","_toPropertyKey","Object","defineProperty","value","enumerable","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","DEFAULT_REMOTE_RESOLVE_VERSIONS","fetchToCache","update","DependencyVersionResolver","constructor","packageManager","cacheRootDir","networkConcurrency","limitRequests","pLimit","resolveRemoteVersion","packageName","options","calculatedOpts","assign","resolved","exports"],"sources":["dependency-version-resolver.ts"],"sourcesContent":["import { PathAbsolute } from '@teambit/legacy/dist/utils/path';\nimport pLimit from 'p-limit';\n\nimport { PackageManager, PackageManagerResolveRemoteVersionOptions, ResolvedPackageVersion } from './package-manager';\n\nconst DEFAULT_REMOTE_RESOLVE_VERSIONS = {\n fetchToCache: true,\n update: true,\n};\n\nexport class DependencyVersionResolver {\n private limitRequests: pLimit.Limit;\n\n constructor(\n /**\n * package manager instance.\n */\n private packageManager: PackageManager,\n\n private cacheRootDir?: string | PathAbsolute,\n\n networkConcurrency?: number\n ) {\n this.limitRequests = pLimit(networkConcurrency ?? 16);\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n // Make sure to take other default if passed options with only one option\n const calculatedOpts = Object.assign(\n {},\n DEFAULT_REMOTE_RESOLVE_VERSIONS,\n { cacheRootDir: this.cacheRootDir },\n options\n );\n // TODO: the cache should be probably passed to the package manager constructor not to the install function\n const resolved = this.limitRequests(() => this.packageManager.resolveRemoteVersion(packageName, calculatedOpts));\n return resolved;\n }\n}\n"],"mappings":";;;;;;AACA,SAAAA,QAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,OAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA6B,SAAAC,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,gBAAAH,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAE,cAAA,CAAAF,CAAA,MAAAJ,CAAA,GAAAO,MAAA,CAAAC,cAAA,CAAAR,CAAA,EAAAI,CAAA,IAAAK,KAAA,EAAAJ,CAAA,EAAAK,UAAA,MAAAC,YAAA,MAAAC,QAAA,UAAAZ,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAM,eAAAD,CAAA,QAAAQ,CAAA,GAAAC,YAAA,CAAAT,CAAA,uCAAAQ,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAT,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAU,MAAA,CAAAC,WAAA,kBAAAhB,CAAA,QAAAa,CAAA,GAAAb,CAAA,CAAAiB,IAAA,CAAAZ,CAAA,EAAAD,CAAA,uCAAAS,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAAd,CAAA,GAAAe,MAAA,GAAAC,MAAA,EAAAf,CAAA;AAI7B,MAAMgB,+BAA+B,GAAG;EACtCC,YAAY,EAAE,IAAI;EAClBC,MAAM,EAAE;AACV,CAAC;AAEM,MAAMC,yBAAyB,CAAC;EAGrCC,WAAWA;EACT;AACJ;AACA;EACYC,cAA8B,EAE9BC,YAAoC,EAE5CC,kBAA2B,EAC3B;IAAA,KALQF,cAA8B,GAA9BA,cAA8B;IAAA,KAE9BC,YAAoC,GAApCA,YAAoC;IAAAxB,eAAA;IAI5C,IAAI,CAAC0B,aAAa,GAAG,IAAAC,iBAAM,EAACF,kBAAkB,IAAI,EAAE,CAAC;EACvD;EAEA,MAAMG,oBAAoBA,CACxBC,WAAmB,EACnBC,OAAkD,EACjB;IACjC;IACA,MAAMC,cAAc,GAAG3B,MAAM,CAAC4B,MAAM,CAClC,CAAC,CAAC,EACFd,+BAA+B,EAC/B;MAAEM,YAAY,EAAE,IAAI,CAACA;IAAa,CAAC,EACnCM,OACF,CAAC;IACD;IACA,MAAMG,QAAQ,GAAG,IAAI,CAACP,aAAa,CAAC,MAAM,IAAI,CAACH,cAAc,CAACK,oBAAoB,CAACC,WAAW,EAAEE,cAAc,CAAC,CAAC;IAChH,OAAOE,QAAQ;EACjB;AACF;AAACC,OAAA,CAAAb,yBAAA,GAAAA,yBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["CoreAspectLinkError","Error","constructor","id","err","toString","exports"],"sources":["core-aspect-link-error.ts"],"sourcesContent":["export class CoreAspectLinkError extends Error {\n constructor(private id: string, private err: Error) {\n super(`failed linking core aspect '${id}' with the following error: ${err.toString()}`);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,mBAAmB,SAASC,KAAK,CAAC;EAC7CC,WAAWA,CAASC,EAAU,EAAUC,GAAU,EAAE;IAClD,KAAK,CAAE,+BAA8BD,EAAG,+BAA8BC,GAAG,CAACC,QAAQ,CAAC,CAAE,EAAC,CAAC;IAAC,KADtEF,EAAU,GAAVA,EAAU;IAAA,KAAUC,GAAU,GAAVA,GAAU;EAElD;AACF;AAACE,OAAA,CAAAN,mBAAA,GAAAA,mBAAA","ignoreList":[]}
1
+ {"version":3,"names":["CoreAspectLinkError","Error","constructor","id","err","toString","exports"],"sources":["core-aspect-link-error.ts"],"sourcesContent":["export class CoreAspectLinkError extends Error {\n constructor(private id: string, private err: Error) {\n super(`failed linking core aspect '${id}' with the following error: ${err.toString()}`);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,mBAAmB,SAASC,KAAK,CAAC;EAC7CC,WAAWA,CAASC,EAAU,EAAUC,GAAU,EAAE;IAClD,KAAK,CAAC,+BAA+BD,EAAE,+BAA+BC,GAAG,CAACC,QAAQ,CAAC,CAAC,EAAE,CAAC;IAAC,KADtEF,EAAU,GAAVA,EAAU;IAAA,KAAUC,GAAU,GAAVA,GAAU;EAElD;AACF;AAACE,OAAA,CAAAN,mBAAA,GAAAA,mBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bitError","data","require","InvalidVersionWithPrefix","BitError","constructor","version","exports"],"sources":["invalid-version-with-prefix.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class InvalidVersionWithPrefix extends BitError {\n constructor(version: string) {\n super(`the version ${version} is invalid. your prefix might be invalid`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,wBAAwB,SAASC,oBAAQ,CAAC;EACrDC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAAE,eAAcA,OAAQ,2CAA0C,CAAC;EAC1E;AACF;AAACC,OAAA,CAAAJ,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bitError","data","require","InvalidVersionWithPrefix","BitError","constructor","version","exports"],"sources":["invalid-version-with-prefix.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class InvalidVersionWithPrefix extends BitError {\n constructor(version: string) {\n super(`the version ${version} is invalid. your prefix might be invalid`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,wBAAwB,SAASC,oBAAQ,CAAC;EACrDC,WAAWA,CAACC,OAAe,EAAE;IAC3B,KAAK,CAAC,eAAeA,OAAO,2CAA2C,CAAC;EAC1E;AACF;AAACC,OAAA,CAAAJ,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bitError","data","require","MainAspectNotInstallable","BitError","constructor","exports"],"sources":["main-aspect-not-installable.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class MainAspectNotInstallable extends BitError {\n constructor() {\n super(`can't install main aspect because it's version or name is not defined`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,wBAAwB,SAASC,oBAAQ,CAAC;EACrDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAE,uEAAsE,CAAC;EAChF;AACF;AAACC,OAAA,CAAAH,wBAAA,GAAAA,wBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bitError","data","require","MainAspectNotInstallable","BitError","constructor","exports"],"sources":["main-aspect-not-installable.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class MainAspectNotInstallable extends BitError {\n constructor() {\n super(`can't install main aspect because it's version or name is not defined`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,wBAAwB,SAASC,oBAAQ,CAAC;EACrDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,uEAAuE,CAAC;EAChF;AACF;AAACC,OAAA,CAAAH,wBAAA,GAAAA,wBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bitError","data","require","MainAspectNotLinkable","BitError","constructor","exports"],"sources":["main-aspect-not-linkable.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class MainAspectNotLinkable extends BitError {\n constructor() {\n super(`can't link main aspect because it's name is not defined`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,qBAAqB,SAASC,oBAAQ,CAAC;EAClDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAE,yDAAwD,CAAC;EAClE;AACF;AAACC,OAAA,CAAAH,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bitError","data","require","MainAspectNotLinkable","BitError","constructor","exports"],"sources":["main-aspect-not-linkable.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class MainAspectNotLinkable extends BitError {\n constructor() {\n super(`can't link main aspect because it's name is not defined`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,qBAAqB,SAASC,oBAAQ,CAAC;EAClDC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,yDAAyD,CAAC;EAClE;AACF;AAACC,OAAA,CAAAH,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["NonAspectCorePackageLinkError","Error","constructor","err","packageName","toString","exports"],"sources":["non-aspect-core-package-link-error.ts"],"sourcesContent":["export class NonAspectCorePackageLinkError extends Error {\n constructor(private err: Error, packageName: string) {\n super(`failed linking non aspect core package (${packageName}) with the following error: ${err.toString()}`);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,6BAA6B,SAASC,KAAK,CAAC;EACvDC,WAAWA,CAASC,GAAU,EAAEC,WAAmB,EAAE;IACnD,KAAK,CAAE,2CAA0CA,WAAY,+BAA8BD,GAAG,CAACE,QAAQ,CAAC,CAAE,EAAC,CAAC;IAAC,KAD3FF,GAAU,GAAVA,GAAU;EAE9B;AACF;AAACG,OAAA,CAAAN,6BAAA,GAAAA,6BAAA","ignoreList":[]}
1
+ {"version":3,"names":["NonAspectCorePackageLinkError","Error","constructor","err","packageName","toString","exports"],"sources":["non-aspect-core-package-link-error.ts"],"sourcesContent":["export class NonAspectCorePackageLinkError extends Error {\n constructor(private err: Error, packageName: string) {\n super(`failed linking non aspect core package (${packageName}) with the following error: ${err.toString()}`);\n }\n}\n"],"mappings":";;;;;;AAAO,MAAMA,6BAA6B,SAASC,KAAK,CAAC;EACvDC,WAAWA,CAASC,GAAU,EAAEC,WAAmB,EAAE;IACnD,KAAK,CAAC,2CAA2CA,WAAW,+BAA+BD,GAAG,CAACE,QAAQ,CAAC,CAAC,EAAE,CAAC;IAAC,KAD3FF,GAAU,GAAVA,GAAU;EAE9B;AACF;AAACG,OAAA,CAAAN,6BAAA,GAAAA,6BAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bitError","data","require","PackageManagerNotFound","BitError","constructor","packageManagerName","exports"],"sources":["package-manager-not-found.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class PackageManagerNotFound extends BitError {\n constructor(packageManagerName: string) {\n super(`package manager: ${packageManagerName} was not found`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,sBAAsB,SAASC,oBAAQ,CAAC;EACnDC,WAAWA,CAACC,kBAA0B,EAAE;IACtC,KAAK,CAAE,oBAAmBA,kBAAmB,gBAAe,CAAC;EAC/D;AACF;AAACC,OAAA,CAAAJ,sBAAA,GAAAA,sBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bitError","data","require","PackageManagerNotFound","BitError","constructor","packageManagerName","exports"],"sources":["package-manager-not-found.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class PackageManagerNotFound extends BitError {\n constructor(packageManagerName: string) {\n super(`package manager: ${packageManagerName} was not found`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,sBAAsB,SAASC,oBAAQ,CAAC;EACnDC,WAAWA,CAACC,kBAA0B,EAAE;IACtC,KAAK,CAAC,oBAAoBA,kBAAkB,gBAAgB,CAAC;EAC/D;AACF;AAACC,OAAA,CAAAJ,sBAAA,GAAAA,sBAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["_bitError","data","require","RootDirNotDefined","BitError","constructor","exports"],"sources":["root-dir-not-defined.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class RootDirNotDefined extends BitError {\n constructor() {\n super(`root dir for installations was not defined`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,iBAAiB,SAASC,oBAAQ,CAAC;EAC9CC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAE,4CAA2C,CAAC;EACrD;AACF;AAACC,OAAA,CAAAH,iBAAA,GAAAA,iBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_bitError","data","require","RootDirNotDefined","BitError","constructor","exports"],"sources":["root-dir-not-defined.ts"],"sourcesContent":["import { BitError } from '@teambit/bit-error';\n\nexport class RootDirNotDefined extends BitError {\n constructor() {\n super(`root dir for installations was not defined`);\n }\n}\n"],"mappings":";;;;;;AAAA,SAAAA,UAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,SAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEO,MAAME,iBAAiB,SAASC,oBAAQ,CAAC;EAC9CC,WAAWA,CAAA,EAAG;IACZ,KAAK,CAAC,4CAA4C,CAAC;EACrD;AACF;AAACC,OAAA,CAAAH,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -18,10 +18,10 @@ function _path() {
18
18
  };
19
19
  return data;
20
20
  }
21
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
21
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
22
22
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
23
23
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
24
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
24
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
25
25
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
26
26
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
27
27
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","extendWithComponentsFromDir","rootDir","manifestsByPaths","files","fs","readdir","withFileTypes","newManifestsByPaths","Promise","all","file","isDirectory","name","map","dir","path","join","dirPath","readJson","err","code"],"sources":["extend-with-components-from-dir.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\n\n/**\n * Currently, the same capsule directory is used multiple times during installation.\n * The issue is that the state between installations is not preserved,\n * so the node_modules directory gets broken on each sunseqent install.\n * This function is for finding all components in the root of the capsule and reading their manifests.\n * This way the package manager will have all the necessary information to keep the node_modules directory\n * in the correct state.\n */\nexport async function extendWithComponentsFromDir(rootDir: string, manifestsByPaths) {\n const files = await fs.readdir(rootDir, { withFileTypes: true });\n const newManifestsByPaths = { ...manifestsByPaths };\n await Promise.all(\n files\n .filter((file) => file.isDirectory() && file.name !== 'node_modules')\n .map((dir) => path.join(rootDir, dir.name))\n .filter((dirPath) => !manifestsByPaths[dirPath])\n .map(async (dirPath) => {\n try {\n newManifestsByPaths[dirPath] = await fs.readJson(path.join(dirPath, 'package.json'));\n } catch (err: any) {\n if (err.code !== 'ENOENT') throw err;\n }\n })\n );\n return newManifestsByPaths;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_fsExtra","data","_interopRequireDefault","require","_path","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","extendWithComponentsFromDir","rootDir","manifestsByPaths","files","fs","readdir","withFileTypes","newManifestsByPaths","Promise","all","file","isDirectory","name","map","dir","path","join","dirPath","readJson","err","code"],"sources":["extend-with-components-from-dir.ts"],"sourcesContent":["import fs from 'fs-extra';\nimport path from 'path';\n\n/**\n * Currently, the same capsule directory is used multiple times during installation.\n * The issue is that the state between installations is not preserved,\n * so the node_modules directory gets broken on each sunseqent install.\n * This function is for finding all components in the root of the capsule and reading their manifests.\n * This way the package manager will have all the necessary information to keep the node_modules directory\n * in the correct state.\n */\nexport async function extendWithComponentsFromDir(rootDir: string, manifestsByPaths) {\n const files = await fs.readdir(rootDir, { withFileTypes: true });\n const newManifestsByPaths = { ...manifestsByPaths };\n await Promise.all(\n files\n .filter((file) => file.isDirectory() && file.name !== 'node_modules')\n .map((dir) => path.join(rootDir, dir.name))\n .filter((dirPath) => !manifestsByPaths[dirPath])\n .map(async (dirPath) => {\n try {\n newManifestsByPaths[dirPath] = await fs.readJson(path.join(dirPath, 'package.json'));\n } catch (err: any) {\n if (err.code !== 'ENOENT') throw err;\n }\n })\n );\n return newManifestsByPaths;\n}\n"],"mappings":";;;;;;AAAA,SAAAA,SAAA;EAAA,MAAAC,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAH,QAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAG,MAAA;EAAA,MAAAH,IAAA,GAAAC,sBAAA,CAAAC,OAAA;EAAAC,KAAA,YAAAA,CAAA;IAAA,OAAAH,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAAwB,SAAAC,uBAAAG,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAAA,SAAAG,QAAAH,CAAA,EAAAI,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAP,CAAA,OAAAM,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAR,CAAA,GAAAI,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAX,CAAA,EAAAI,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAf,CAAA,aAAAI,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAD,OAAA,CAAAG,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAArB,CAAA,EAAAM,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAF,OAAA,CAAAG,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAJ,CAAA;AAAA,SAAAmB,gBAAAnB,CAAA,EAAAI,CAAA,EAAAC,CAAA,YAAAD,CAAA,GAAAmB,cAAA,CAAAnB,CAAA,MAAAJ,CAAA,GAAAM,MAAA,CAAAgB,cAAA,CAAAtB,CAAA,EAAAI,CAAA,IAAAoB,KAAA,EAAAnB,CAAA,EAAAO,UAAA,MAAAa,YAAA,MAAAC,QAAA,UAAA1B,CAAA,CAAAI,CAAA,IAAAC,CAAA,EAAAL,CAAA;AAAA,SAAAuB,eAAAlB,CAAA,QAAAsB,CAAA,GAAAC,YAAA,CAAAvB,CAAA,uCAAAsB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAvB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAL,CAAA,GAAAK,CAAA,CAAAwB,MAAA,CAAAC,WAAA,kBAAA9B,CAAA,QAAA2B,CAAA,GAAA3B,CAAA,CAAA+B,IAAA,CAAA1B,CAAA,EAAAD,CAAA,uCAAAuB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA5B,CAAA,GAAA6B,MAAA,GAAAC,MAAA,EAAA7B,CAAA;AAExB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,eAAe8B,2BAA2BA,CAACC,OAAe,EAAEC,gBAAgB,EAAE;EACnF,MAAMC,KAAK,GAAG,MAAMC,kBAAE,CAACC,OAAO,CAACJ,OAAO,EAAE;IAAEK,aAAa,EAAE;EAAK,CAAC,CAAC;EAChE,MAAMC,mBAAmB,GAAA3B,aAAA,KAAQsB,gBAAgB,CAAE;EACnD,MAAMM,OAAO,CAACC,GAAG,CACfN,KAAK,CACF5B,MAAM,CAAEmC,IAAI,IAAKA,IAAI,CAACC,WAAW,CAAC,CAAC,IAAID,IAAI,CAACE,IAAI,KAAK,cAAc,CAAC,CACpEC,GAAG,CAAEC,GAAG,IAAKC,eAAI,CAACC,IAAI,CAACf,OAAO,EAAEa,GAAG,CAACF,IAAI,CAAC,CAAC,CAC1CrC,MAAM,CAAE0C,OAAO,IAAK,CAACf,gBAAgB,CAACe,OAAO,CAAC,CAAC,CAC/CJ,GAAG,CAAC,MAAOI,OAAO,IAAK;IACtB,IAAI;MACFV,mBAAmB,CAACU,OAAO,CAAC,GAAG,MAAMb,kBAAE,CAACc,QAAQ,CAACH,eAAI,CAACC,IAAI,CAACC,OAAO,EAAE,cAAc,CAAC,CAAC;IACtF,CAAC,CAAC,OAAOE,GAAQ,EAAE;MACjB,IAAIA,GAAG,CAACC,IAAI,KAAK,QAAQ,EAAE,MAAMD,GAAG;IACtC;EACF,CAAC,CACL,CAAC;EACD,OAAOZ,mBAAmB;AAC5B","ignoreList":[]}
@@ -13,7 +13,7 @@ function _dependencies() {
13
13
  }
14
14
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
15
15
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
16
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
16
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
17
17
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
18
18
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
19
19
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_dependencies","data","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","getAllPolicyPkgs","rootPolicy","variantPoliciesByPatterns","componentPolicies","componentModelVersions","pkgsFromPolicies","getPkgsFromRootPolicy","pkgsNamesFromPolicies","Set","map","name","getPkgsFromVariants","getPkgsFromComponents","has","componentDep","currentRange","version","source","isAuto","componentId","targetField","KEY_NAME_BY_LIFECYCLE_TYPE","lifecycleType","entries","entry","dependencyId","variantPattern","variant","readAllDependenciesFromPolicyObject","flat","policy","context","pkgs"],"sources":["get-all-policy-pkgs.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { ManifestDependenciesKeysNames } from './manifest';\nimport { VariantPolicyConfigObject, VariantPolicyEntryValue, WorkspacePolicy } from './policy';\nimport { DependencyLifecycleType } from './dependencies/dependency';\nimport { KEY_NAME_BY_LIFECYCLE_TYPE } from './dependencies';\n\nexport type CurrentPkgSource =\n // the variants section of \"workspace.jsonc\"\n | 'variants'\n // these are dependencies set via \"bit deps set\" or \"component.json\"\n | 'component'\n // these are dependencies from the dependencies policy in \"workspace.jsonc\"\n | 'rootPolicy'\n // these are dependencies stored in the component object (snapped/tagged version)\n | 'component-model';\n\ntype CurrentPkg = {\n name: string;\n currentRange: string;\n source: CurrentPkgSource;\n variantPattern?: string | null;\n componentId?: ComponentID;\n isAuto?: boolean;\n\n targetField: ManifestDependenciesKeysNames;\n};\n\nexport type OutdatedPkg = CurrentPkg & {\n latestRange: string;\n};\n\nexport type ComponentModelVersion = {\n name: string;\n version: string;\n componentId: ComponentID;\n lifecycleType: DependencyLifecycleType;\n isAuto: boolean;\n};\n\n/**\n * Get packages from root policy, variants, and component config files (component.json files).\n */\nexport function getAllPolicyPkgs({\n rootPolicy,\n variantPoliciesByPatterns,\n componentPolicies,\n componentModelVersions,\n}: {\n rootPolicy: WorkspacePolicy;\n variantPoliciesByPatterns: Record<string, VariantPolicyConfigObject>;\n componentPolicies: Array<{ componentId: ComponentID; policy: any }>;\n componentModelVersions: ComponentModelVersion[];\n}): CurrentPkg[] {\n const pkgsFromPolicies = getPkgsFromRootPolicy(rootPolicy);\n const pkgsNamesFromPolicies = new Set(pkgsFromPolicies.map(({ name }) => name));\n return [\n ...pkgsFromPolicies,\n ...getPkgsFromVariants(variantPoliciesByPatterns),\n ...getPkgsFromComponents(componentPolicies),\n ...componentModelVersions\n .filter(({ name }) => !pkgsNamesFromPolicies.has(name))\n .map((componentDep) => ({\n name: componentDep.name,\n currentRange: componentDep.version,\n source: 'component-model' as const,\n isAuto: componentDep.isAuto,\n componentId: componentDep.componentId,\n targetField: KEY_NAME_BY_LIFECYCLE_TYPE[componentDep.lifecycleType] as ManifestDependenciesKeysNames,\n })),\n ];\n}\n\nfunction getPkgsFromRootPolicy(rootPolicy: WorkspacePolicy): CurrentPkg[] {\n return rootPolicy.entries.map((entry) => ({\n name: entry.dependencyId,\n currentRange: entry.value.version,\n source: 'rootPolicy',\n variantPattern: null as string | null,\n targetField: KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType] as ManifestDependenciesKeysNames,\n }));\n}\n\nfunction getPkgsFromVariants(variantPoliciesByPatterns: Record<string, VariantPolicyConfigObject>): CurrentPkg[] {\n return Object.entries(variantPoliciesByPatterns)\n .filter(([, variant]) => variant != null)\n .map(([variantPattern, variant]) => {\n return readAllDependenciesFromPolicyObject({ source: 'variants', variantPattern }, variant);\n })\n .flat();\n}\n\nfunction getPkgsFromComponents(\n componentPolicies: Array<{ componentId: ComponentID; policy: VariantPolicyConfigObject }>\n): CurrentPkg[] {\n return componentPolicies\n .map(({ componentId, policy }) => {\n return readAllDependenciesFromPolicyObject({ source: 'component', componentId }, policy);\n })\n .flat();\n}\n\nfunction readAllDependenciesFromPolicyObject(\n context: Pick<CurrentPkg, 'source' | 'componentId' | 'variantPattern'>,\n policy: VariantPolicyConfigObject\n): CurrentPkg[] {\n if (!policy) return [];\n const pkgs: CurrentPkg[] = [];\n for (const targetField of [\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n ] as ManifestDependenciesKeysNames[]) {\n for (const [name, currentRange] of Object.entries(policy[targetField] ?? {})) {\n if (currentRange !== '-') {\n pkgs.push({\n ...context,\n name,\n currentRange:\n typeof currentRange === 'string' ? currentRange : (currentRange as VariantPolicyEntryValue).version,\n targetField,\n });\n }\n }\n }\n return pkgs;\n}\n"],"mappings":";;;;;;AAIA,SAAAA,cAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,aAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAA4D,SAAAE,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,MAAA,CAAAC,IAAA,CAAAJ,CAAA,OAAAG,MAAA,CAAAE,qBAAA,QAAAC,CAAA,GAAAH,MAAA,CAAAE,qBAAA,CAAAL,CAAA,GAAAC,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAN,CAAA,WAAAE,MAAA,CAAAK,wBAAA,CAAAR,CAAA,EAAAC,CAAA,EAAAQ,UAAA,OAAAP,CAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,CAAA,EAAAI,CAAA,YAAAJ,CAAA;AAAA,SAAAU,cAAAZ,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAY,SAAA,CAAAC,MAAA,EAAAb,CAAA,UAAAC,CAAA,WAAAW,SAAA,CAAAZ,CAAA,IAAAY,SAAA,CAAAZ,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAI,MAAA,CAAAD,CAAA,OAAAa,OAAA,WAAAd,CAAA,IAAAe,eAAA,CAAAhB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAE,MAAA,CAAAc,yBAAA,GAAAd,MAAA,CAAAe,gBAAA,CAAAlB,CAAA,EAAAG,MAAA,CAAAc,yBAAA,CAAAf,CAAA,KAAAH,OAAA,CAAAI,MAAA,CAAAD,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAE,MAAA,CAAAgB,cAAA,CAAAnB,CAAA,EAAAC,CAAA,EAAAE,MAAA,CAAAK,wBAAA,CAAAN,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAAA,SAAAgB,gBAAAI,GAAA,EAAAC,GAAA,EAAAC,KAAA,IAAAD,GAAA,GAAAE,cAAA,CAAAF,GAAA,OAAAA,GAAA,IAAAD,GAAA,IAAAjB,MAAA,CAAAgB,cAAA,CAAAC,GAAA,EAAAC,GAAA,IAAAC,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAAL,GAAA,CAAAC,GAAA,IAAAC,KAAA,WAAAF,GAAA;AAAA,SAAAG,eAAArB,CAAA,QAAAwB,CAAA,GAAAC,YAAA,CAAAzB,CAAA,uCAAAwB,CAAA,GAAAA,CAAA,GAAAA,CAAA;AAAA,SAAAC,aAAAzB,CAAA,EAAAD,CAAA,2BAAAC,CAAA,KAAAA,CAAA,SAAAA,CAAA,MAAAF,CAAA,GAAAE,CAAA,CAAA0B,MAAA,CAAAC,WAAA,kBAAA7B,CAAA,QAAA0B,CAAA,GAAA1B,CAAA,CAAA8B,IAAA,CAAA5B,CAAA,EAAAD,CAAA,uCAAAyB,CAAA,SAAAA,CAAA,YAAAK,SAAA,yEAAA9B,CAAA,GAAA+B,MAAA,GAAAC,MAAA,EAAA/B,CAAA;AAmC5D;AACA;AACA;AACO,SAASgC,gBAAgBA,CAAC;EAC/BC,UAAU;EACVC,yBAAyB;EACzBC,iBAAiB;EACjBC;AAMF,CAAC,EAAgB;EACf,MAAMC,gBAAgB,GAAGC,qBAAqB,CAACL,UAAU,CAAC;EAC1D,MAAMM,qBAAqB,GAAG,IAAIC,GAAG,CAACH,gBAAgB,CAACI,GAAG,CAAC,CAAC;IAAEC;EAAK,CAAC,KAAKA,IAAI,CAAC,CAAC;EAC/E,OAAO,CACL,GAAGL,gBAAgB,EACnB,GAAGM,mBAAmB,CAACT,yBAAyB,CAAC,EACjD,GAAGU,qBAAqB,CAACT,iBAAiB,CAAC,EAC3C,GAAGC,sBAAsB,CACtB/B,MAAM,CAAC,CAAC;IAAEqC;EAAK,CAAC,KAAK,CAACH,qBAAqB,CAACM,GAAG,CAACH,IAAI,CAAC,CAAC,CACtDD,GAAG,CAAEK,YAAY,KAAM;IACtBJ,IAAI,EAAEI,YAAY,CAACJ,IAAI;IACvBK,YAAY,EAAED,YAAY,CAACE,OAAO;IAClCC,MAAM,EAAE,iBAA0B;IAClCC,MAAM,EAAEJ,YAAY,CAACI,MAAM;IAC3BC,WAAW,EAAEL,YAAY,CAACK,WAAW;IACrCC,WAAW,EAAEC,0CAA0B,CAACP,YAAY,CAACQ,aAAa;EACpE,CAAC,CAAC,CAAC,CACN;AACH;AAEA,SAAShB,qBAAqBA,CAACL,UAA2B,EAAgB;EACxE,OAAOA,UAAU,CAACsB,OAAO,CAACd,GAAG,CAAEe,KAAK,KAAM;IACxCd,IAAI,EAAEc,KAAK,CAACC,YAAY;IACxBV,YAAY,EAAES,KAAK,CAACpC,KAAK,CAAC4B,OAAO;IACjCC,MAAM,EAAE,YAAY;IACpBS,cAAc,EAAE,IAAqB;IACrCN,WAAW,EAAEC,0CAA0B,CAACG,KAAK,CAACF,aAAa;EAC7D,CAAC,CAAC,CAAC;AACL;AAEA,SAASX,mBAAmBA,CAACT,yBAAoE,EAAgB;EAC/G,OAAOjC,MAAM,CAACsD,OAAO,CAACrB,yBAAyB,CAAC,CAC7C7B,MAAM,CAAC,CAAC,GAAGsD,OAAO,CAAC,KAAKA,OAAO,IAAI,IAAI,CAAC,CACxClB,GAAG,CAAC,CAAC,CAACiB,cAAc,EAAEC,OAAO,CAAC,KAAK;IAClC,OAAOC,mCAAmC,CAAC;MAAEX,MAAM,EAAE,UAAU;MAAES;IAAe,CAAC,EAAEC,OAAO,CAAC;EAC7F,CAAC,CAAC,CACDE,IAAI,CAAC,CAAC;AACX;AAEA,SAASjB,qBAAqBA,CAC5BT,iBAAyF,EAC3E;EACd,OAAOA,iBAAiB,CACrBM,GAAG,CAAC,CAAC;IAAEU,WAAW;IAAEW;EAAO,CAAC,KAAK;IAChC,OAAOF,mCAAmC,CAAC;MAAEX,MAAM,EAAE,WAAW;MAAEE;IAAY,CAAC,EAAEW,MAAM,CAAC;EAC1F,CAAC,CAAC,CACDD,IAAI,CAAC,CAAC;AACX;AAEA,SAASD,mCAAmCA,CAC1CG,OAAsE,EACtED,MAAiC,EACnB;EACd,IAAI,CAACA,MAAM,EAAE,OAAO,EAAE;EACtB,MAAME,IAAkB,GAAG,EAAE;EAC7B,KAAK,MAAMZ,WAAW,IAAI,CACxB,cAAc,EACd,iBAAiB,EACjB,kBAAkB,CACnB,EAAqC;IACpC,KAAK,MAAM,CAACV,IAAI,EAAEK,YAAY,CAAC,IAAI9C,MAAM,CAACsD,OAAO,CAACO,MAAM,CAACV,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;MAC5E,IAAIL,YAAY,KAAK,GAAG,EAAE;QACxBiB,IAAI,CAACxD,IAAI,CAAAE,aAAA,CAAAA,aAAA,KACJqD,OAAO;UACVrB,IAAI;UACJK,YAAY,EACV,OAAOA,YAAY,KAAK,QAAQ,GAAGA,YAAY,GAAIA,YAAY,CAA6BC,OAAO;UACrGI;QAAW,EACZ,CAAC;MACJ;IACF;EACF;EACA,OAAOY,IAAI;AACb","ignoreList":[]}
1
+ {"version":3,"names":["_dependencies","data","require","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","getAllPolicyPkgs","rootPolicy","variantPoliciesByPatterns","componentPolicies","componentModelVersions","pkgsFromPolicies","getPkgsFromRootPolicy","pkgsNamesFromPolicies","Set","map","name","getPkgsFromVariants","getPkgsFromComponents","has","componentDep","currentRange","version","source","isAuto","componentId","targetField","KEY_NAME_BY_LIFECYCLE_TYPE","lifecycleType","entries","entry","dependencyId","variantPattern","variant","readAllDependenciesFromPolicyObject","flat","policy","context","pkgs"],"sources":["get-all-policy-pkgs.ts"],"sourcesContent":["import { ComponentID } from '@teambit/component-id';\nimport { ManifestDependenciesKeysNames } from './manifest';\nimport { VariantPolicyConfigObject, VariantPolicyEntryValue, WorkspacePolicy } from './policy';\nimport { DependencyLifecycleType } from './dependencies/dependency';\nimport { KEY_NAME_BY_LIFECYCLE_TYPE } from './dependencies';\n\nexport type CurrentPkgSource =\n // the variants section of \"workspace.jsonc\"\n | 'variants'\n // these are dependencies set via \"bit deps set\" or \"component.json\"\n | 'component'\n // these are dependencies from the dependencies policy in \"workspace.jsonc\"\n | 'rootPolicy'\n // these are dependencies stored in the component object (snapped/tagged version)\n | 'component-model';\n\ntype CurrentPkg = {\n name: string;\n currentRange: string;\n source: CurrentPkgSource;\n variantPattern?: string | null;\n componentId?: ComponentID;\n isAuto?: boolean;\n\n targetField: ManifestDependenciesKeysNames;\n};\n\nexport type OutdatedPkg = CurrentPkg & {\n latestRange: string;\n};\n\nexport type ComponentModelVersion = {\n name: string;\n version: string;\n componentId: ComponentID;\n lifecycleType: DependencyLifecycleType;\n isAuto: boolean;\n};\n\n/**\n * Get packages from root policy, variants, and component config files (component.json files).\n */\nexport function getAllPolicyPkgs({\n rootPolicy,\n variantPoliciesByPatterns,\n componentPolicies,\n componentModelVersions,\n}: {\n rootPolicy: WorkspacePolicy;\n variantPoliciesByPatterns: Record<string, VariantPolicyConfigObject>;\n componentPolicies: Array<{ componentId: ComponentID; policy: any }>;\n componentModelVersions: ComponentModelVersion[];\n}): CurrentPkg[] {\n const pkgsFromPolicies = getPkgsFromRootPolicy(rootPolicy);\n const pkgsNamesFromPolicies = new Set(pkgsFromPolicies.map(({ name }) => name));\n return [\n ...pkgsFromPolicies,\n ...getPkgsFromVariants(variantPoliciesByPatterns),\n ...getPkgsFromComponents(componentPolicies),\n ...componentModelVersions\n .filter(({ name }) => !pkgsNamesFromPolicies.has(name))\n .map((componentDep) => ({\n name: componentDep.name,\n currentRange: componentDep.version,\n source: 'component-model' as const,\n isAuto: componentDep.isAuto,\n componentId: componentDep.componentId,\n targetField: KEY_NAME_BY_LIFECYCLE_TYPE[componentDep.lifecycleType] as ManifestDependenciesKeysNames,\n })),\n ];\n}\n\nfunction getPkgsFromRootPolicy(rootPolicy: WorkspacePolicy): CurrentPkg[] {\n return rootPolicy.entries.map((entry) => ({\n name: entry.dependencyId,\n currentRange: entry.value.version,\n source: 'rootPolicy',\n variantPattern: null as string | null,\n targetField: KEY_NAME_BY_LIFECYCLE_TYPE[entry.lifecycleType] as ManifestDependenciesKeysNames,\n }));\n}\n\nfunction getPkgsFromVariants(variantPoliciesByPatterns: Record<string, VariantPolicyConfigObject>): CurrentPkg[] {\n return Object.entries(variantPoliciesByPatterns)\n .filter(([, variant]) => variant != null)\n .map(([variantPattern, variant]) => {\n return readAllDependenciesFromPolicyObject({ source: 'variants', variantPattern }, variant);\n })\n .flat();\n}\n\nfunction getPkgsFromComponents(\n componentPolicies: Array<{ componentId: ComponentID; policy: VariantPolicyConfigObject }>\n): CurrentPkg[] {\n return componentPolicies\n .map(({ componentId, policy }) => {\n return readAllDependenciesFromPolicyObject({ source: 'component', componentId }, policy);\n })\n .flat();\n}\n\nfunction readAllDependenciesFromPolicyObject(\n context: Pick<CurrentPkg, 'source' | 'componentId' | 'variantPattern'>,\n policy: VariantPolicyConfigObject\n): CurrentPkg[] {\n if (!policy) return [];\n const pkgs: CurrentPkg[] = [];\n for (const targetField of [\n 'dependencies',\n 'devDependencies',\n 'peerDependencies',\n ] as ManifestDependenciesKeysNames[]) {\n for (const [name, currentRange] of Object.entries(policy[targetField] ?? {})) {\n if (currentRange !== '-') {\n pkgs.push({\n ...context,\n name,\n currentRange:\n typeof currentRange === 'string' ? currentRange : (currentRange as VariantPolicyEntryValue).version,\n targetField,\n });\n }\n }\n }\n return pkgs;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -48,10 +48,10 @@ function _constants() {
48
48
  };
49
49
  return data;
50
50
  }
51
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
51
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
52
52
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
53
53
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
54
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
54
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
55
55
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
56
56
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
57
57
  /**
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","data","require","_semver","_interopRequireDefault","_semverIntersect","_semverRangeIntersect","_componentVersion","_constants","obj","__esModule","default","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","key","value","_toPropertyKey","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","hoistDependencies","depIdIndex","options","result","getEmptyDedupedDependencies","indexItem","packageName","toContinue","handlePreserved","addOneOccurrenceToRoot","componentItems","handlePeersOnly","dedupePeerDependencies","groupedByRangeOrVersion","groupByRangeOrVersion","versions","ranges","handleExactVersionsOnly","handleRangesOnly","handleRangesAndVersions","dedupedDependencies","preservedVersion","metadata","preservedLifecycleType","keyName","KEY_NAME_BY_LIFECYCLE_TYPE","rootDependencies","filterFunc","item","intersect","range","map","addToComponentDependenciesMapInDeduped","indexItems","uniqVersions","uniq","lifecycleType","nonPeerItems","PEER_DEP_LIFECYCLE_TYPE","allRanges","intersected","conflictedComponents","componentPackageName","origin","conflictMessage","c","join","issue","issus","peerConflicts","allVersions","mostCommonVersion","findMostCommonVersion","version","lifeCycleType","getLifecycleType","depKeyName","rangesVersions","bestRange","findBestRange","intersectedRange","includes","groups","count","sortedByTotal","getSortedRangesCombination","combinationWithTotal","combination","total","counts","countBy","uniqRanges","rangesCombinations","arrayCombinations","countMultipleRanges","items","reduce","acc","curr","rangesCombinationsWithTotalCount","sortBy","property","reverse","DEV_DEP_LIFECYCLE_TYPE","RUNTIME_DEP_LIFECYCLE_TYPE","semver","gt","toFilter","compEntry","componentDependenciesMap","get","dependencies","optionalDependencies","devDependencies","peerDependencies","set","isVersionRange","isRange","compIdStr","validRange","isHash","startsWith","Error","parsed","parseRange","condition","array","fn","n","src","got","all","j","slice","concat","Map"],"sources":["hoist-dependencies.ts"],"sourcesContent":["import { countBy, forEach, property, sortBy, uniq } from 'lodash';\nimport semver from 'semver';\nimport { parseRange } from 'semver-intersect';\nimport { intersect } from 'semver-range-intersect';\nimport { isHash } from '@teambit/component-version';\n\nimport {\n DEV_DEP_LIFECYCLE_TYPE,\n KEY_NAME_BY_LIFECYCLE_TYPE,\n PEER_DEP_LIFECYCLE_TYPE,\n RUNTIME_DEP_LIFECYCLE_TYPE,\n} from '../../dependencies/constants';\nimport { DependencyLifecycleType, SemverVersion, PackageName } from '../../dependencies';\nimport { DedupedDependencies, DedupedDependenciesPeerConflicts } from './dedupe-dependencies';\nimport { PackageNameIndex, PackageNameIndexItem, PackageNameIndexComponentItem } from './index-by-dep-id';\n\ntype ItemsGroupedByRangeOrVersion = {\n ranges: PackageNameIndexComponentItem[];\n versions: PackageNameIndexComponentItem[];\n};\n\ntype MostCommonVersion = {\n version: SemverVersion;\n count: number;\n};\n\ntype BestRange = {\n count: number;\n ranges: SemverVersion[];\n intersectedRange: SemverVersion;\n};\n\ntype CombinationWithTotal = {\n combination: SemverVersion[];\n total: number;\n};\n\n/**\n * This is the second phase of the deduping process.\n * It will get the index calculated in the first phase (with dep id as key)\n * and will find the most intersect range for each dep and move it to the root\n * it will also move deps which are both dev deps and runtime deps to be runtime deps\n *\n * @param {PackageNameIndex} depIdIndex\n * @returns {DedupedDependencies}\n */\nexport function hoistDependencies(\n depIdIndex: PackageNameIndex,\n options?: { dedupePeerDependencies?: boolean }\n): DedupedDependencies {\n const result: DedupedDependencies = getEmptyDedupedDependencies();\n\n // TODO: handle git urls\n\n depIdIndex.forEach((indexItem, packageName) => {\n let toContinue;\n toContinue = handlePreserved(result, packageName, indexItem);\n if (!toContinue) return;\n toContinue = addOneOccurrenceToRoot(result, packageName, indexItem.componentItems);\n if (!toContinue) return;\n toContinue = handlePeersOnly(result, packageName, indexItem.componentItems);\n if (!toContinue && !options?.dedupePeerDependencies) return;\n const groupedByRangeOrVersion = groupByRangeOrVersion(indexItem.componentItems);\n if (groupedByRangeOrVersion.versions.length > 0 && groupedByRangeOrVersion.ranges.length === 0) {\n handleExactVersionsOnly(result, packageName, indexItem.componentItems);\n } else if (groupedByRangeOrVersion.versions.length === 0 && groupedByRangeOrVersion.ranges.length > 0) {\n handleRangesOnly(result, packageName, indexItem.componentItems);\n } else {\n handleRangesAndVersions(result, packageName, indexItem.componentItems, groupedByRangeOrVersion);\n }\n });\n\n return result;\n}\n\nfunction handlePreserved(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n indexItem: PackageNameIndexItem\n): boolean {\n const preservedVersion = indexItem.metadata.preservedVersion;\n // Not preserved, move on\n if (!preservedVersion) {\n return true;\n }\n\n const preservedLifecycleType = indexItem.metadata.preservedLifecycleType;\n\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[preservedLifecycleType || 'dependencies'];\n dedupedDependencies.rootDependencies[keyName][packageName] = preservedVersion;\n\n const filterFunc = (item: PackageNameIndexComponentItem) => {\n // items which are intersect with the preserved version won't needed to be installed nested in the component\n // this in very rare cases might create bugs in case the version are intersects, but the real version in the registry\n // which satisfies the preserved not satisfy the item range.\n // In such case I would expect to get version not exist when coming to install the version in the nested component\n return !!intersect(item.range, preservedVersion);\n };\n\n indexItem.componentItems.map(addToComponentDependenciesMapInDeduped(dedupedDependencies, packageName, filterFunc));\n return false;\n}\n\n/**\n * In case there is only one component with a specific dependency,\n * OR\n * all the components have the same version of the dependency\n * add it to the root\n * (it used to check also if it's not peer, but we remove it for bit sign support)\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {PackageName} packageName\n * @param {PackageNameIndexComponentItem} indexItem\n */\nfunction addOneOccurrenceToRoot(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n indexItems: PackageNameIndexComponentItem[]\n): boolean {\n if (indexItems.length > 1) {\n const uniqVersions = uniq(indexItems.map((item) => item.range));\n if (uniqVersions.length > 1) {\n return true;\n }\n }\n const indexItem = indexItems[0];\n // if (indexItem.lifecycleType !== PEER_DEP_LIFECYCLE_TYPE) {\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[indexItem.lifecycleType];\n dedupedDependencies.rootDependencies[keyName][packageName] = indexItem.range;\n return false;\n // }\n // return true;\n}\n\n/**\n * Handle a case where the package appear as a peer for all its deponents\n * in that case we won't hoist it to the root, we will only notify about conflicts\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {PackageName} packageName\n * @param {PackageNameIndexComponentItem[]} indexItems\n * @returns {boolean}\n */\nfunction handlePeersOnly(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n indexItems: PackageNameIndexComponentItem[]\n): boolean {\n const nonPeerItems = indexItems.filter((item) => {\n return item.lifecycleType !== PEER_DEP_LIFECYCLE_TYPE;\n });\n if (nonPeerItems.length > 0) {\n return true;\n }\n const allRanges = indexItems.map((item) => item.range);\n const intersected = intersect(...allRanges);\n if (intersected) {\n // Add to peers for each component to make sure we are getting warning from the package manager about missing peers\n indexItems.map(addToComponentDependenciesMapInDeduped(dedupedDependencies, packageName));\n } else {\n indexItems.map(addToComponentDependenciesMapInDeduped(dedupedDependencies, packageName));\n // There are peer version with conflicts, let the user know about it\n const conflictedComponents = indexItems.map((item) => {\n return {\n componentPackageName: item.origin,\n range: item.range,\n };\n });\n const conflictMessage = `The following components has conflicted peer dependencies: ${conflictedComponents\n .map((c) => c.componentPackageName)\n .join(',')} for the dependency: ${packageName}`;\n const issue: DedupedDependenciesPeerConflicts = {\n packageName,\n conflictedComponents,\n conflictMessage,\n };\n dedupedDependencies.issus?.peerConflicts.push(issue);\n }\n return false;\n}\n\n/**\n * This will handle a case when there is only exact version in the index\n * In such case it will take the most common version and hoist it to the root\n * It will set all the other version in the corresponding components\n * This assume the items has been already checked to contain only exact versions\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {PackageName} packageName\n * @param {PackageNameIndexComponentItem[]} indexItems\n */\nfunction handleExactVersionsOnly(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n indexItems: PackageNameIndexComponentItem[]\n): void {\n const allVersions = indexItems.map((item) => item.range);\n\n // Add most common version to root\n const mostCommonVersion = findMostCommonVersion(allVersions).version;\n const lifeCycleType = getLifecycleType(indexItems);\n const depKeyName = KEY_NAME_BY_LIFECYCLE_TYPE[lifeCycleType];\n dedupedDependencies.rootDependencies[depKeyName][packageName] = mostCommonVersion;\n\n const filterFunc = (item) => {\n if (item.range === mostCommonVersion) return true;\n return false;\n };\n\n indexItems.forEach(addToComponentDependenciesMapInDeduped(dedupedDependencies, packageName, filterFunc));\n}\n\n/**\n * This will handle a case when there is only ranges in the index\n * In such case it will search for an intersection with the most components and hoist it to the root\n * It will set all the other ranges in the corresponding components\n * This assume the items has been already checked to contain only ranges\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {PackageName} packageName\n * @param {PackageNameIndexComponentItem[]} indexItems\n */\nfunction handleRangesOnly(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n indexItems: PackageNameIndexComponentItem[]\n): void {\n const rangesVersions = indexItems.map((item) => item.range);\n const bestRange = findBestRange(rangesVersions);\n const lifeCycleType = getLifecycleType(indexItems);\n const depKeyName = KEY_NAME_BY_LIFECYCLE_TYPE[lifeCycleType];\n dedupedDependencies.rootDependencies[depKeyName][packageName] = bestRange.intersectedRange;\n\n const filterFunc = (item) => {\n if (bestRange.ranges.includes(item.range)) return true;\n return false;\n };\n\n indexItems.forEach(addToComponentDependenciesMapInDeduped(dedupedDependencies, packageName, filterFunc));\n}\n\n/**\n * This will handle a case when there is both ranges and exact versions in the index\n * it will find the best range and see how many components it fits\n * it will find the most common version and see how many components it fits\n * Then it will take the best of them and hoist into the root and put others in the components\n * TODO: this can be improved by adding to the ranges count the satisfying exact versions\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {PackageName} packageName\n * @param {PackageNameIndexComponentItem[]} indexItems\n * @param {ItemsGroupedByRangeOrVersion} groups\n */\nfunction handleRangesAndVersions(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n indexItems: PackageNameIndexComponentItem[],\n groups: ItemsGroupedByRangeOrVersion\n): void {\n const allVersions = groups.versions.map((item) => item.range);\n const mostCommonVersion = findMostCommonVersion(allVersions);\n // Include versions here since we might have a specific version which match the best version as well\n const rangesVersions = indexItems.map((item) => item.range);\n const bestRange = findBestRange(rangesVersions);\n const lifeCycleType = getLifecycleType(indexItems);\n const depKeyName = KEY_NAME_BY_LIFECYCLE_TYPE[lifeCycleType];\n\n let filterFunc = (item) => {\n if (bestRange.ranges.includes(item.range)) return true;\n return false;\n };\n\n if (bestRange.count < mostCommonVersion.count) {\n dedupedDependencies.rootDependencies[depKeyName][packageName] = mostCommonVersion.version;\n filterFunc = (item) => {\n if (item.range === mostCommonVersion) return true;\n return false;\n };\n } else {\n dedupedDependencies.rootDependencies[depKeyName][packageName] = bestRange.intersectedRange;\n }\n indexItems.forEach(addToComponentDependenciesMapInDeduped(dedupedDependencies, packageName, filterFunc));\n}\n\n/**\n * Finding the best range - a range the intersect as many ranges as possible\n * it will work by create all the possible combination of the ranges\n * then try to intersect them based on the number of the ranges (items) and how many times they appear in the original array\n *\n * @param {SemverVersion[]} ranges\n * @returns {BestRange}\n */\nfunction findBestRange(ranges: SemverVersion[]): BestRange {\n const result: BestRange = {\n ranges: [],\n intersectedRange: '0.0.0',\n count: 0,\n };\n\n const sortedByTotal = getSortedRangesCombination(ranges);\n let i = 0;\n // Since it's already sorted by count, once we found match we can stop looping\n while (result.count === 0 && i < sortedByTotal.length) {\n const combinationWithTotal = sortedByTotal[i];\n const intersectedRange = intersect(...combinationWithTotal.combination);\n if (intersectedRange) {\n result.intersectedRange = intersectedRange;\n result.ranges = combinationWithTotal.combination;\n result.count = combinationWithTotal.total;\n } else {\n i += 1;\n }\n }\n return result;\n}\n\n// function getSortedVersionsWithTotal(versions: SemverVersion[]): VersionWithTotal[] {\n// const counts = countBy((item) => item)(versions);\n// const uniqVersions = uniq(versions);\n// const versionsWithTotalCount = uniqVersions.map((version) => {\n// return {\n// version,\n// total: counts[version],\n// };\n// });\n\n// const sortByTotal = sortBy(prop('total'));\n// const sortedByTotal = sortByTotal(versionsWithTotalCount).reverse();\n// return sortedByTotal;\n// }\n\nfunction getSortedRangesCombination(ranges: SemverVersion[]): CombinationWithTotal[] {\n const counts = countBy(ranges, (item) => item);\n const uniqRanges = uniq(ranges);\n const rangesCombinations = arrayCombinations<SemverVersion>(uniqRanges);\n const countMultipleRanges = (items: SemverVersion[]): number => {\n return items.reduce((acc, curr) => {\n return acc + counts[curr];\n }, 0);\n };\n // The count is count of the items and for each item how many times it appear in the original ranges\n // Since there might be same range multiple time in the original ranges array.\n\n const rangesCombinationsWithTotalCount = rangesCombinations.map((combination) => {\n return {\n combination,\n total: countMultipleRanges(combination),\n };\n });\n\n const sortedByTotal = sortBy(rangesCombinationsWithTotalCount, property('total')).reverse();\n return sortedByTotal;\n}\n\n/**\n * Check if a package should be a dev dependency or runtime dependency by checking if it appears as runtime dependency at least once\n *\n * @param {PackageNameIndexComponentItem[]} indexItems\n * @returns {DependencyLifecycleType}\n */\nfunction getLifecycleType(indexItems: PackageNameIndexComponentItem[]): DependencyLifecycleType {\n let result: DependencyLifecycleType = DEV_DEP_LIFECYCLE_TYPE;\n indexItems.forEach((item) => {\n if (item.lifecycleType === RUNTIME_DEP_LIFECYCLE_TYPE) {\n result = RUNTIME_DEP_LIFECYCLE_TYPE;\n }\n });\n return result;\n}\n\n/**\n * Find the version that appears the most\n *\n * @param {SemverVersion[]} versions\n * @returns {MostCommonVersion}\n */\nfunction findMostCommonVersion(versions: SemverVersion[]): MostCommonVersion {\n const counts = countBy(versions, (item) => item);\n const result: MostCommonVersion = {\n version: '0.0.0',\n count: 0,\n };\n forEach(counts, (count, version) => {\n if (count > result.count || (count === result.count && semver.gt(version, result.version))) {\n result.version = version;\n result.count = count;\n }\n });\n return result;\n}\n\n/**\n * A wrapper function used to be passed to map on index items and add it to a component dependency in the deduped dependencies if it's filter function return false\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {PackageName} packageName\n * @param {(item: PackageNameIndexComponentItem) => boolean} [filterFunc]\n * @returns\n */\nfunction addToComponentDependenciesMapInDeduped(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n filterFunc?: (item: PackageNameIndexComponentItem) => boolean\n) {\n return (indexItem: PackageNameIndexComponentItem) => {\n if (filterFunc && typeof filterFunc === 'function') {\n const toFilter = filterFunc(indexItem);\n if (toFilter) return;\n }\n let compEntry = dedupedDependencies.componentDependenciesMap.get(indexItem.origin);\n const depKeyName = KEY_NAME_BY_LIFECYCLE_TYPE[indexItem.lifecycleType];\n if (!compEntry) {\n compEntry = {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n }\n compEntry[depKeyName] = {\n ...compEntry[depKeyName],\n [packageName]: indexItem.range,\n };\n dedupedDependencies.componentDependenciesMap.set(indexItem.origin, compEntry);\n };\n}\n\n/**\n * Get an array of index items and group them to items with ranges and items with exact version\n *\n * @param {PackageNameIndexComponentItem[]} indexItems\n * @returns {ItemsGroupedByRangeOrVersion}\n */\nfunction groupByRangeOrVersion(indexItems: PackageNameIndexComponentItem[]): ItemsGroupedByRangeOrVersion {\n const result: ItemsGroupedByRangeOrVersion = {\n ranges: [],\n versions: [],\n };\n indexItems.forEach((item) => {\n const isVersionRange = isRange(item.range, item.origin);\n if (isVersionRange) {\n result.ranges.push(item);\n } else {\n result.versions.push(item);\n }\n });\n return result;\n}\n\nexport function isRange(version: string, compIdStr: string) {\n const validRange = semver.validRange(version);\n if (!validRange) {\n if (!isHash(version) && !version.startsWith('workspace:')) {\n throw new Error(\n `fatal: the version \"${version}\" originated from a dependent \"${compIdStr}\" is invalid semver range and not a hash`\n );\n }\n return false;\n }\n // parseRange does not support `*` as version\n // `*` does not affect resulted version, it might be just ignored\n if (validRange === '*') {\n return true;\n }\n const parsed = parseRange(validRange);\n if (parsed.condition === '=') {\n return false;\n }\n return true;\n}\n\n// Taken from https://web.archive.org/web/20140418004051/http://dzone.com/snippets/calculate-all-combinations\n/**\n * Return all combinations of array items. for example:\n * arrayCombinations([1,2]) == [[1], [2], [1,2]];\n *\n * @param {Array<T>} array\n * @returns {Array<T[]>}\n */\nfunction arrayCombinations<T>(array: Array<T>): Array<T[]> {\n const fn = function (n, src, got, all) {\n if (n === 0) {\n if (got.length > 0) {\n all[all.length] = got;\n }\n return;\n }\n // eslint-disable-next-line\n for (let j = 0; j < src.length; j++) {\n fn(n - 1, src.slice(j + 1), got.concat([src[j]]), all);\n }\n };\n const all: Array<T[]> = [];\n // eslint-disable-next-line\n for (let i = 0; i < array.length; i++) {\n fn(i, array, [], all);\n }\n all.push(array);\n return all;\n}\n\nexport function getEmptyDedupedDependencies(): DedupedDependencies {\n const result: DedupedDependencies = {\n rootDependencies: {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n },\n componentDependenciesMap: new Map(),\n issus: {\n peerConflicts: [],\n },\n };\n return result;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_lodash","data","require","_semver","_interopRequireDefault","_semverIntersect","_semverRangeIntersect","_componentVersion","_constants","e","__esModule","default","ownKeys","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","_toPropertyKey","value","configurable","writable","i","_toPrimitive","Symbol","toPrimitive","call","TypeError","String","Number","hoistDependencies","depIdIndex","options","result","getEmptyDedupedDependencies","indexItem","packageName","toContinue","handlePreserved","addOneOccurrenceToRoot","componentItems","handlePeersOnly","dedupePeerDependencies","groupedByRangeOrVersion","groupByRangeOrVersion","versions","ranges","handleExactVersionsOnly","handleRangesOnly","handleRangesAndVersions","dedupedDependencies","preservedVersion","metadata","preservedLifecycleType","keyName","KEY_NAME_BY_LIFECYCLE_TYPE","rootDependencies","filterFunc","item","intersect","range","map","addToComponentDependenciesMapInDeduped","indexItems","uniqVersions","uniq","lifecycleType","nonPeerItems","PEER_DEP_LIFECYCLE_TYPE","allRanges","intersected","conflictedComponents","componentPackageName","origin","conflictMessage","c","join","issue","issus","peerConflicts","allVersions","mostCommonVersion","findMostCommonVersion","version","lifeCycleType","getLifecycleType","depKeyName","rangesVersions","bestRange","findBestRange","intersectedRange","includes","groups","count","sortedByTotal","getSortedRangesCombination","combinationWithTotal","combination","total","counts","countBy","uniqRanges","rangesCombinations","arrayCombinations","countMultipleRanges","items","reduce","acc","curr","rangesCombinationsWithTotalCount","sortBy","property","reverse","DEV_DEP_LIFECYCLE_TYPE","RUNTIME_DEP_LIFECYCLE_TYPE","semver","gt","toFilter","compEntry","componentDependenciesMap","get","dependencies","optionalDependencies","devDependencies","peerDependencies","set","isVersionRange","isRange","compIdStr","validRange","isHash","startsWith","Error","parsed","parseRange","condition","array","fn","n","src","got","all","j","slice","concat","Map"],"sources":["hoist-dependencies.ts"],"sourcesContent":["import { countBy, forEach, property, sortBy, uniq } from 'lodash';\nimport semver from 'semver';\nimport { parseRange } from 'semver-intersect';\nimport { intersect } from 'semver-range-intersect';\nimport { isHash } from '@teambit/component-version';\n\nimport {\n DEV_DEP_LIFECYCLE_TYPE,\n KEY_NAME_BY_LIFECYCLE_TYPE,\n PEER_DEP_LIFECYCLE_TYPE,\n RUNTIME_DEP_LIFECYCLE_TYPE,\n} from '../../dependencies/constants';\nimport { DependencyLifecycleType, SemverVersion, PackageName } from '../../dependencies';\nimport { DedupedDependencies, DedupedDependenciesPeerConflicts } from './dedupe-dependencies';\nimport { PackageNameIndex, PackageNameIndexItem, PackageNameIndexComponentItem } from './index-by-dep-id';\n\ntype ItemsGroupedByRangeOrVersion = {\n ranges: PackageNameIndexComponentItem[];\n versions: PackageNameIndexComponentItem[];\n};\n\ntype MostCommonVersion = {\n version: SemverVersion;\n count: number;\n};\n\ntype BestRange = {\n count: number;\n ranges: SemverVersion[];\n intersectedRange: SemverVersion;\n};\n\ntype CombinationWithTotal = {\n combination: SemverVersion[];\n total: number;\n};\n\n/**\n * This is the second phase of the deduping process.\n * It will get the index calculated in the first phase (with dep id as key)\n * and will find the most intersect range for each dep and move it to the root\n * it will also move deps which are both dev deps and runtime deps to be runtime deps\n *\n * @param {PackageNameIndex} depIdIndex\n * @returns {DedupedDependencies}\n */\nexport function hoistDependencies(\n depIdIndex: PackageNameIndex,\n options?: { dedupePeerDependencies?: boolean }\n): DedupedDependencies {\n const result: DedupedDependencies = getEmptyDedupedDependencies();\n\n // TODO: handle git urls\n\n depIdIndex.forEach((indexItem, packageName) => {\n let toContinue;\n toContinue = handlePreserved(result, packageName, indexItem);\n if (!toContinue) return;\n toContinue = addOneOccurrenceToRoot(result, packageName, indexItem.componentItems);\n if (!toContinue) return;\n toContinue = handlePeersOnly(result, packageName, indexItem.componentItems);\n if (!toContinue && !options?.dedupePeerDependencies) return;\n const groupedByRangeOrVersion = groupByRangeOrVersion(indexItem.componentItems);\n if (groupedByRangeOrVersion.versions.length > 0 && groupedByRangeOrVersion.ranges.length === 0) {\n handleExactVersionsOnly(result, packageName, indexItem.componentItems);\n } else if (groupedByRangeOrVersion.versions.length === 0 && groupedByRangeOrVersion.ranges.length > 0) {\n handleRangesOnly(result, packageName, indexItem.componentItems);\n } else {\n handleRangesAndVersions(result, packageName, indexItem.componentItems, groupedByRangeOrVersion);\n }\n });\n\n return result;\n}\n\nfunction handlePreserved(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n indexItem: PackageNameIndexItem\n): boolean {\n const preservedVersion = indexItem.metadata.preservedVersion;\n // Not preserved, move on\n if (!preservedVersion) {\n return true;\n }\n\n const preservedLifecycleType = indexItem.metadata.preservedLifecycleType;\n\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[preservedLifecycleType || 'dependencies'];\n dedupedDependencies.rootDependencies[keyName][packageName] = preservedVersion;\n\n const filterFunc = (item: PackageNameIndexComponentItem) => {\n // items which are intersect with the preserved version won't needed to be installed nested in the component\n // this in very rare cases might create bugs in case the version are intersects, but the real version in the registry\n // which satisfies the preserved not satisfy the item range.\n // In such case I would expect to get version not exist when coming to install the version in the nested component\n return !!intersect(item.range, preservedVersion);\n };\n\n indexItem.componentItems.map(addToComponentDependenciesMapInDeduped(dedupedDependencies, packageName, filterFunc));\n return false;\n}\n\n/**\n * In case there is only one component with a specific dependency,\n * OR\n * all the components have the same version of the dependency\n * add it to the root\n * (it used to check also if it's not peer, but we remove it for bit sign support)\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {PackageName} packageName\n * @param {PackageNameIndexComponentItem} indexItem\n */\nfunction addOneOccurrenceToRoot(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n indexItems: PackageNameIndexComponentItem[]\n): boolean {\n if (indexItems.length > 1) {\n const uniqVersions = uniq(indexItems.map((item) => item.range));\n if (uniqVersions.length > 1) {\n return true;\n }\n }\n const indexItem = indexItems[0];\n // if (indexItem.lifecycleType !== PEER_DEP_LIFECYCLE_TYPE) {\n const keyName = KEY_NAME_BY_LIFECYCLE_TYPE[indexItem.lifecycleType];\n dedupedDependencies.rootDependencies[keyName][packageName] = indexItem.range;\n return false;\n // }\n // return true;\n}\n\n/**\n * Handle a case where the package appear as a peer for all its deponents\n * in that case we won't hoist it to the root, we will only notify about conflicts\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {PackageName} packageName\n * @param {PackageNameIndexComponentItem[]} indexItems\n * @returns {boolean}\n */\nfunction handlePeersOnly(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n indexItems: PackageNameIndexComponentItem[]\n): boolean {\n const nonPeerItems = indexItems.filter((item) => {\n return item.lifecycleType !== PEER_DEP_LIFECYCLE_TYPE;\n });\n if (nonPeerItems.length > 0) {\n return true;\n }\n const allRanges = indexItems.map((item) => item.range);\n const intersected = intersect(...allRanges);\n if (intersected) {\n // Add to peers for each component to make sure we are getting warning from the package manager about missing peers\n indexItems.map(addToComponentDependenciesMapInDeduped(dedupedDependencies, packageName));\n } else {\n indexItems.map(addToComponentDependenciesMapInDeduped(dedupedDependencies, packageName));\n // There are peer version with conflicts, let the user know about it\n const conflictedComponents = indexItems.map((item) => {\n return {\n componentPackageName: item.origin,\n range: item.range,\n };\n });\n const conflictMessage = `The following components has conflicted peer dependencies: ${conflictedComponents\n .map((c) => c.componentPackageName)\n .join(',')} for the dependency: ${packageName}`;\n const issue: DedupedDependenciesPeerConflicts = {\n packageName,\n conflictedComponents,\n conflictMessage,\n };\n dedupedDependencies.issus?.peerConflicts.push(issue);\n }\n return false;\n}\n\n/**\n * This will handle a case when there is only exact version in the index\n * In such case it will take the most common version and hoist it to the root\n * It will set all the other version in the corresponding components\n * This assume the items has been already checked to contain only exact versions\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {PackageName} packageName\n * @param {PackageNameIndexComponentItem[]} indexItems\n */\nfunction handleExactVersionsOnly(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n indexItems: PackageNameIndexComponentItem[]\n): void {\n const allVersions = indexItems.map((item) => item.range);\n\n // Add most common version to root\n const mostCommonVersion = findMostCommonVersion(allVersions).version;\n const lifeCycleType = getLifecycleType(indexItems);\n const depKeyName = KEY_NAME_BY_LIFECYCLE_TYPE[lifeCycleType];\n dedupedDependencies.rootDependencies[depKeyName][packageName] = mostCommonVersion;\n\n const filterFunc = (item) => {\n if (item.range === mostCommonVersion) return true;\n return false;\n };\n\n indexItems.forEach(addToComponentDependenciesMapInDeduped(dedupedDependencies, packageName, filterFunc));\n}\n\n/**\n * This will handle a case when there is only ranges in the index\n * In such case it will search for an intersection with the most components and hoist it to the root\n * It will set all the other ranges in the corresponding components\n * This assume the items has been already checked to contain only ranges\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {PackageName} packageName\n * @param {PackageNameIndexComponentItem[]} indexItems\n */\nfunction handleRangesOnly(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n indexItems: PackageNameIndexComponentItem[]\n): void {\n const rangesVersions = indexItems.map((item) => item.range);\n const bestRange = findBestRange(rangesVersions);\n const lifeCycleType = getLifecycleType(indexItems);\n const depKeyName = KEY_NAME_BY_LIFECYCLE_TYPE[lifeCycleType];\n dedupedDependencies.rootDependencies[depKeyName][packageName] = bestRange.intersectedRange;\n\n const filterFunc = (item) => {\n if (bestRange.ranges.includes(item.range)) return true;\n return false;\n };\n\n indexItems.forEach(addToComponentDependenciesMapInDeduped(dedupedDependencies, packageName, filterFunc));\n}\n\n/**\n * This will handle a case when there is both ranges and exact versions in the index\n * it will find the best range and see how many components it fits\n * it will find the most common version and see how many components it fits\n * Then it will take the best of them and hoist into the root and put others in the components\n * TODO: this can be improved by adding to the ranges count the satisfying exact versions\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {PackageName} packageName\n * @param {PackageNameIndexComponentItem[]} indexItems\n * @param {ItemsGroupedByRangeOrVersion} groups\n */\nfunction handleRangesAndVersions(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n indexItems: PackageNameIndexComponentItem[],\n groups: ItemsGroupedByRangeOrVersion\n): void {\n const allVersions = groups.versions.map((item) => item.range);\n const mostCommonVersion = findMostCommonVersion(allVersions);\n // Include versions here since we might have a specific version which match the best version as well\n const rangesVersions = indexItems.map((item) => item.range);\n const bestRange = findBestRange(rangesVersions);\n const lifeCycleType = getLifecycleType(indexItems);\n const depKeyName = KEY_NAME_BY_LIFECYCLE_TYPE[lifeCycleType];\n\n let filterFunc = (item) => {\n if (bestRange.ranges.includes(item.range)) return true;\n return false;\n };\n\n if (bestRange.count < mostCommonVersion.count) {\n dedupedDependencies.rootDependencies[depKeyName][packageName] = mostCommonVersion.version;\n filterFunc = (item) => {\n if (item.range === mostCommonVersion) return true;\n return false;\n };\n } else {\n dedupedDependencies.rootDependencies[depKeyName][packageName] = bestRange.intersectedRange;\n }\n indexItems.forEach(addToComponentDependenciesMapInDeduped(dedupedDependencies, packageName, filterFunc));\n}\n\n/**\n * Finding the best range - a range the intersect as many ranges as possible\n * it will work by create all the possible combination of the ranges\n * then try to intersect them based on the number of the ranges (items) and how many times they appear in the original array\n *\n * @param {SemverVersion[]} ranges\n * @returns {BestRange}\n */\nfunction findBestRange(ranges: SemverVersion[]): BestRange {\n const result: BestRange = {\n ranges: [],\n intersectedRange: '0.0.0',\n count: 0,\n };\n\n const sortedByTotal = getSortedRangesCombination(ranges);\n let i = 0;\n // Since it's already sorted by count, once we found match we can stop looping\n while (result.count === 0 && i < sortedByTotal.length) {\n const combinationWithTotal = sortedByTotal[i];\n const intersectedRange = intersect(...combinationWithTotal.combination);\n if (intersectedRange) {\n result.intersectedRange = intersectedRange;\n result.ranges = combinationWithTotal.combination;\n result.count = combinationWithTotal.total;\n } else {\n i += 1;\n }\n }\n return result;\n}\n\n// function getSortedVersionsWithTotal(versions: SemverVersion[]): VersionWithTotal[] {\n// const counts = countBy((item) => item)(versions);\n// const uniqVersions = uniq(versions);\n// const versionsWithTotalCount = uniqVersions.map((version) => {\n// return {\n// version,\n// total: counts[version],\n// };\n// });\n\n// const sortByTotal = sortBy(prop('total'));\n// const sortedByTotal = sortByTotal(versionsWithTotalCount).reverse();\n// return sortedByTotal;\n// }\n\nfunction getSortedRangesCombination(ranges: SemverVersion[]): CombinationWithTotal[] {\n const counts = countBy(ranges, (item) => item);\n const uniqRanges = uniq(ranges);\n const rangesCombinations = arrayCombinations<SemverVersion>(uniqRanges);\n const countMultipleRanges = (items: SemverVersion[]): number => {\n return items.reduce((acc, curr) => {\n return acc + counts[curr];\n }, 0);\n };\n // The count is count of the items and for each item how many times it appear in the original ranges\n // Since there might be same range multiple time in the original ranges array.\n\n const rangesCombinationsWithTotalCount = rangesCombinations.map((combination) => {\n return {\n combination,\n total: countMultipleRanges(combination),\n };\n });\n\n const sortedByTotal = sortBy(rangesCombinationsWithTotalCount, property('total')).reverse();\n return sortedByTotal;\n}\n\n/**\n * Check if a package should be a dev dependency or runtime dependency by checking if it appears as runtime dependency at least once\n *\n * @param {PackageNameIndexComponentItem[]} indexItems\n * @returns {DependencyLifecycleType}\n */\nfunction getLifecycleType(indexItems: PackageNameIndexComponentItem[]): DependencyLifecycleType {\n let result: DependencyLifecycleType = DEV_DEP_LIFECYCLE_TYPE;\n indexItems.forEach((item) => {\n if (item.lifecycleType === RUNTIME_DEP_LIFECYCLE_TYPE) {\n result = RUNTIME_DEP_LIFECYCLE_TYPE;\n }\n });\n return result;\n}\n\n/**\n * Find the version that appears the most\n *\n * @param {SemverVersion[]} versions\n * @returns {MostCommonVersion}\n */\nfunction findMostCommonVersion(versions: SemverVersion[]): MostCommonVersion {\n const counts = countBy(versions, (item) => item);\n const result: MostCommonVersion = {\n version: '0.0.0',\n count: 0,\n };\n forEach(counts, (count, version) => {\n if (count > result.count || (count === result.count && semver.gt(version, result.version))) {\n result.version = version;\n result.count = count;\n }\n });\n return result;\n}\n\n/**\n * A wrapper function used to be passed to map on index items and add it to a component dependency in the deduped dependencies if it's filter function return false\n *\n * @param {DedupedDependencies} dedupedDependencies\n * @param {PackageName} packageName\n * @param {(item: PackageNameIndexComponentItem) => boolean} [filterFunc]\n * @returns\n */\nfunction addToComponentDependenciesMapInDeduped(\n dedupedDependencies: DedupedDependencies,\n packageName: PackageName,\n filterFunc?: (item: PackageNameIndexComponentItem) => boolean\n) {\n return (indexItem: PackageNameIndexComponentItem) => {\n if (filterFunc && typeof filterFunc === 'function') {\n const toFilter = filterFunc(indexItem);\n if (toFilter) return;\n }\n let compEntry = dedupedDependencies.componentDependenciesMap.get(indexItem.origin);\n const depKeyName = KEY_NAME_BY_LIFECYCLE_TYPE[indexItem.lifecycleType];\n if (!compEntry) {\n compEntry = {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n };\n }\n compEntry[depKeyName] = {\n ...compEntry[depKeyName],\n [packageName]: indexItem.range,\n };\n dedupedDependencies.componentDependenciesMap.set(indexItem.origin, compEntry);\n };\n}\n\n/**\n * Get an array of index items and group them to items with ranges and items with exact version\n *\n * @param {PackageNameIndexComponentItem[]} indexItems\n * @returns {ItemsGroupedByRangeOrVersion}\n */\nfunction groupByRangeOrVersion(indexItems: PackageNameIndexComponentItem[]): ItemsGroupedByRangeOrVersion {\n const result: ItemsGroupedByRangeOrVersion = {\n ranges: [],\n versions: [],\n };\n indexItems.forEach((item) => {\n const isVersionRange = isRange(item.range, item.origin);\n if (isVersionRange) {\n result.ranges.push(item);\n } else {\n result.versions.push(item);\n }\n });\n return result;\n}\n\nexport function isRange(version: string, compIdStr: string) {\n const validRange = semver.validRange(version);\n if (!validRange) {\n if (!isHash(version) && !version.startsWith('workspace:')) {\n throw new Error(\n `fatal: the version \"${version}\" originated from a dependent \"${compIdStr}\" is invalid semver range and not a hash`\n );\n }\n return false;\n }\n // parseRange does not support `*` as version\n // `*` does not affect resulted version, it might be just ignored\n if (validRange === '*') {\n return true;\n }\n const parsed = parseRange(validRange);\n if (parsed.condition === '=') {\n return false;\n }\n return true;\n}\n\n// Taken from https://web.archive.org/web/20140418004051/http://dzone.com/snippets/calculate-all-combinations\n/**\n * Return all combinations of array items. for example:\n * arrayCombinations([1,2]) == [[1], [2], [1,2]];\n *\n * @param {Array<T>} array\n * @returns {Array<T[]>}\n */\nfunction arrayCombinations<T>(array: Array<T>): Array<T[]> {\n const fn = function (n, src, got, all) {\n if (n === 0) {\n if (got.length > 0) {\n all[all.length] = got;\n }\n return;\n }\n // eslint-disable-next-line\n for (let j = 0; j < src.length; j++) {\n fn(n - 1, src.slice(j + 1), got.concat([src[j]]), all);\n }\n };\n const all: Array<T[]> = [];\n // eslint-disable-next-line\n for (let i = 0; i < array.length; i++) {\n fn(i, array, [], all);\n }\n all.push(array);\n return all;\n}\n\nexport function getEmptyDedupedDependencies(): DedupedDependencies {\n const result: DedupedDependencies = {\n rootDependencies: {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n },\n componentDependenciesMap: new Map(),\n issus: {\n peerConflicts: [],\n },\n };\n return result;\n}\n"],"mappings":"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","ignoreList":[]}