@teambit/dependency-resolver 1.0.350 → 1.0.352

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.
@@ -60,13 +60,22 @@ export class DependencyList {
60
60
  return this.dependencies.find((dep) => removeVersion(dep.id) === componentIdStrWithoutVersion);
61
61
  }
62
62
 
63
- findByPkgNameOrCompId(id: string, version?: string): Dependency | undefined {
63
+ findByPkgNameOrCompId(
64
+ id: string,
65
+ version?: string,
66
+ lifecycle: DependencyLifecycleType = 'runtime'
67
+ ): Dependency | undefined {
64
68
  const findByVariousStrategies = () => {
65
69
  // try by full-id or package-name
66
- const found = this.dependencies.find(
70
+ const found = this.dependencies.filter(
67
71
  (dep) => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`)
68
72
  );
69
- if (found) return found;
73
+ if (found.length) {
74
+ if (found.length === 1) return found[0];
75
+ const foundByLifecycle = found.find((dep) => dep.lifecycle === lifecycle);
76
+ if (foundByLifecycle) return foundByLifecycle;
77
+ return found[0];
78
+ }
70
79
  const compDeps = this.toTypeArray<ComponentDependency>('component');
71
80
 
72
81
  // try by component-name
@@ -26,7 +26,7 @@ export declare class DependencyList {
26
26
  * @param componentIdStr complete string include the scope and the version
27
27
  */
28
28
  findDependency(componentIdStr: string, opts?: FindDependencyOptions): Dependency | undefined;
29
- findByPkgNameOrCompId(id: string, version?: string): Dependency | undefined;
29
+ findByPkgNameOrCompId(id: string, version?: string, lifecycle?: DependencyLifecycleType): Dependency | undefined;
30
30
  forEach(predicate: (dep: Dependency, index?: number) => void): void;
31
31
  map(predicate: (dep: Dependency, index?: number) => any): any[];
32
32
  filter(predicate: (dep: Dependency, index?: number) => boolean): DependencyList;
@@ -66,11 +66,16 @@ class DependencyList {
66
66
  const componentIdStrWithoutVersion = removeVersion(componentIdStr);
67
67
  return this.dependencies.find(dep => removeVersion(dep.id) === componentIdStrWithoutVersion);
68
68
  }
69
- findByPkgNameOrCompId(id, version) {
69
+ findByPkgNameOrCompId(id, version, lifecycle = 'runtime') {
70
70
  const findByVariousStrategies = () => {
71
71
  // try by full-id or package-name
72
- const found = this.dependencies.find(dep => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`));
73
- if (found) return found;
72
+ const found = this.dependencies.filter(dep => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`));
73
+ if (found.length) {
74
+ if (found.length === 1) return found[0];
75
+ const foundByLifecycle = found.find(dep => dep.lifecycle === lifecycle);
76
+ if (foundByLifecycle) return foundByLifecycle;
77
+ return found[0];
78
+ }
74
79
  const compDeps = this.toTypeArray('component');
75
80
 
76
81
  // try by component-name
@@ -1 +1 @@
1
- {"version":3,"names":["_lodash","data","require","_componentPackageVersion","_constants","_componentDependency","DependencyList","constructor","_dependencies","uniqDeps","dependencies","sort","sorted","a","b","id","findDependency","componentIdStr","opts","ignoreVersion","find","dep","componentIdStrWithoutVersion","removeVersion","findByPkgNameOrCompId","version","findByVariousStrategies","found","getPackageName","startsWith","compDeps","toTypeArray","foundByName","filter","componentId","fullName","length","Error","undefined","SNAP_VERSION_PREFIX","replace","forEach","predicate","map","filtered","fromArray","filterHidden","hidden","typeName","list","type","byTypeName","byLifecycle","lifecycle","serialize","serialized","getComponentDependencies","ComponentDependency","toDependenciesManifest","manifest","optionalDependencies","devDependencies","peerDependencies","peerDependenciesMeta","keyName","optional","KEY_NAME_BY_LIFECYCLE_TYPE","entry","toManifest","packageName","snapToSemver","merge","lists","res","deps","reduce","acc","curr","concat","exports","uniq","uniqBy","property","split"],"sources":["dependency-list.ts"],"sourcesContent":["import { uniqBy, property } from 'lodash';\nimport { SNAP_VERSION_PREFIX, snapToSemver } from '@teambit/component-package-version';\nimport { Dependency, DependencyLifecycleType, SerializedDependency, SemverVersion, PackageName } from './dependency';\nimport { KEY_NAME_BY_LIFECYCLE_TYPE } from './constants';\nimport { ComponentDependency } from './component-dependency';\n\nexport type LifecycleDependenciesManifest = Record<PackageName, SemverVersion>;\n\nexport interface DependenciesManifest {\n dependencies?: LifecycleDependenciesManifest;\n optionalDependencies?: LifecycleDependenciesManifest;\n devDependencies?: LifecycleDependenciesManifest;\n peerDependencies?: LifecycleDependenciesManifest;\n peerDependenciesMeta?: PeerDependenciesMeta;\n}\n\nexport interface PeerDependenciesMeta {\n [peerName: string]: PeerDependencyMeta;\n}\n\nexport interface PeerDependencyMeta {\n optional: true;\n}\n\nexport type FindDependencyOptions = {\n ignoreVersion?: boolean;\n};\nexport class DependencyList {\n constructor(private _dependencies: Array<Dependency>) {\n this._dependencies = uniqDeps(_dependencies);\n }\n // constructor(private _dependencies: Dependency[]){}\n\n get dependencies(): Dependency[] {\n return this._dependencies;\n }\n\n sort(): DependencyList {\n const sorted = this.dependencies.sort((a, b) => {\n if (a.id < b.id) {\n return -1;\n }\n if (a.id > b.id) {\n return 1;\n }\n return 0;\n });\n return new DependencyList(sorted);\n }\n\n /**\n * @param componentIdStr complete string include the scope and the version\n */\n findDependency(componentIdStr: string, opts: FindDependencyOptions = {}): Dependency | undefined {\n const ignoreVersion = opts.ignoreVersion;\n if (!ignoreVersion) {\n return this.dependencies.find((dep) => dep.id === componentIdStr);\n }\n const componentIdStrWithoutVersion = removeVersion(componentIdStr);\n return this.dependencies.find((dep) => removeVersion(dep.id) === componentIdStrWithoutVersion);\n }\n\n findByPkgNameOrCompId(id: string, version?: string): Dependency | undefined {\n const findByVariousStrategies = () => {\n // try by full-id or package-name\n const found = this.dependencies.find(\n (dep) => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`)\n );\n if (found) return found;\n const compDeps = this.toTypeArray<ComponentDependency>('component');\n\n // try by component-name\n const foundByName = compDeps.filter((dep) => dep.componentId.fullName === id);\n if (foundByName.length > 1) {\n throw new Error(\n `found multiple dependencies with the same component-name \"${id}\", please specify the full component-id`\n );\n }\n if (foundByName.length === 1) return foundByName[0];\n return undefined;\n };\n const found = findByVariousStrategies();\n if (!found) return undefined;\n if (version) {\n // because the version for snaps is stored in deps as the hash without the prefix of \"0.0.0-\"\"\n if (version.startsWith(SNAP_VERSION_PREFIX) && found.version === version.replace(SNAP_VERSION_PREFIX, ''))\n return found;\n return found.version === version ? found : undefined;\n }\n return found;\n }\n\n forEach(predicate: (dep: Dependency, index?: number) => void): void {\n this.dependencies.forEach(predicate);\n }\n\n map(predicate: (dep: Dependency, index?: number) => any) {\n return this.dependencies.map(predicate);\n }\n\n filter(predicate: (dep: Dependency, index?: number) => boolean): DependencyList {\n const filtered = this.dependencies.filter(predicate);\n return DependencyList.fromArray(filtered);\n }\n\n filterHidden(): DependencyList {\n return this.filter((dep) => !dep.hidden);\n }\n\n toTypeArray<T extends Dependency>(typeName: string): T[] {\n const list: T[] = this.dependencies.filter((dep) => dep.type === typeName) as any as T[];\n return list;\n }\n\n byTypeName(typeName: string): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.type === typeName);\n return DependencyList.fromArray(filtered);\n }\n\n byLifecycle(lifecycle: DependencyLifecycleType): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.lifecycle === lifecycle);\n return DependencyList.fromArray(filtered);\n }\n\n serialize(): SerializedDependency[] {\n const serialized = this.dependencies.map((dep) => {\n return dep.serialize();\n });\n return serialized;\n }\n\n getComponentDependencies(): ComponentDependency[] {\n return this.dependencies.filter((dep) => dep instanceof ComponentDependency) as ComponentDependency[];\n }\n\n toDependenciesManifest(): Required<DependenciesManifest> {\n const manifest: Required<DependenciesManifest> = {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n peerDependenciesMeta: {},\n };\n this.forEach((dep) => {\n const keyName =\n dep.optional && dep.lifecycle === 'runtime'\n ? 'optionalDependencies'\n : KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];\n const entry = dep.toManifest();\n if (entry) {\n manifest[keyName][entry.packageName] = snapToSemver(entry.version);\n if (dep.optional && dep.lifecycle === 'peer') {\n manifest.peerDependenciesMeta[entry.packageName] = { optional: true };\n }\n }\n });\n return manifest;\n }\n\n static merge(lists: DependencyList[]): DependencyList {\n const res: Dependency[] = [];\n const deps = lists.reduce((acc, curr) => {\n acc = acc.concat(curr.dependencies);\n return acc;\n }, res);\n return new DependencyList(deps);\n }\n\n static fromArray(dependencies: Array<Dependency>) {\n return new DependencyList(dependencies);\n }\n}\n\nfunction uniqDeps(dependencies: Array<Dependency>): Array<Dependency> {\n const uniq = uniqBy(dependencies, property('id'));\n return uniq;\n}\n\nfunction removeVersion(id: string): string {\n if (id.startsWith('@')) return id.split('@')[1]; // scoped package\n return id.split('@')[0];\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_lodash","data","require","_componentPackageVersion","_constants","_componentDependency","DependencyList","constructor","_dependencies","uniqDeps","dependencies","sort","sorted","a","b","id","findDependency","componentIdStr","opts","ignoreVersion","find","dep","componentIdStrWithoutVersion","removeVersion","findByPkgNameOrCompId","version","lifecycle","findByVariousStrategies","found","filter","getPackageName","startsWith","length","foundByLifecycle","compDeps","toTypeArray","foundByName","componentId","fullName","Error","undefined","SNAP_VERSION_PREFIX","replace","forEach","predicate","map","filtered","fromArray","filterHidden","hidden","typeName","list","type","byTypeName","byLifecycle","serialize","serialized","getComponentDependencies","ComponentDependency","toDependenciesManifest","manifest","optionalDependencies","devDependencies","peerDependencies","peerDependenciesMeta","keyName","optional","KEY_NAME_BY_LIFECYCLE_TYPE","entry","toManifest","packageName","snapToSemver","merge","lists","res","deps","reduce","acc","curr","concat","exports","uniq","uniqBy","property","split"],"sources":["dependency-list.ts"],"sourcesContent":["import { uniqBy, property } from 'lodash';\nimport { SNAP_VERSION_PREFIX, snapToSemver } from '@teambit/component-package-version';\nimport { Dependency, DependencyLifecycleType, SerializedDependency, SemverVersion, PackageName } from './dependency';\nimport { KEY_NAME_BY_LIFECYCLE_TYPE } from './constants';\nimport { ComponentDependency } from './component-dependency';\n\nexport type LifecycleDependenciesManifest = Record<PackageName, SemverVersion>;\n\nexport interface DependenciesManifest {\n dependencies?: LifecycleDependenciesManifest;\n optionalDependencies?: LifecycleDependenciesManifest;\n devDependencies?: LifecycleDependenciesManifest;\n peerDependencies?: LifecycleDependenciesManifest;\n peerDependenciesMeta?: PeerDependenciesMeta;\n}\n\nexport interface PeerDependenciesMeta {\n [peerName: string]: PeerDependencyMeta;\n}\n\nexport interface PeerDependencyMeta {\n optional: true;\n}\n\nexport type FindDependencyOptions = {\n ignoreVersion?: boolean;\n};\nexport class DependencyList {\n constructor(private _dependencies: Array<Dependency>) {\n this._dependencies = uniqDeps(_dependencies);\n }\n // constructor(private _dependencies: Dependency[]){}\n\n get dependencies(): Dependency[] {\n return this._dependencies;\n }\n\n sort(): DependencyList {\n const sorted = this.dependencies.sort((a, b) => {\n if (a.id < b.id) {\n return -1;\n }\n if (a.id > b.id) {\n return 1;\n }\n return 0;\n });\n return new DependencyList(sorted);\n }\n\n /**\n * @param componentIdStr complete string include the scope and the version\n */\n findDependency(componentIdStr: string, opts: FindDependencyOptions = {}): Dependency | undefined {\n const ignoreVersion = opts.ignoreVersion;\n if (!ignoreVersion) {\n return this.dependencies.find((dep) => dep.id === componentIdStr);\n }\n const componentIdStrWithoutVersion = removeVersion(componentIdStr);\n return this.dependencies.find((dep) => removeVersion(dep.id) === componentIdStrWithoutVersion);\n }\n\n findByPkgNameOrCompId(\n id: string,\n version?: string,\n lifecycle: DependencyLifecycleType = 'runtime'\n ): Dependency | undefined {\n const findByVariousStrategies = () => {\n // try by full-id or package-name\n const found = this.dependencies.filter(\n (dep) => dep.id === id || dep.getPackageName?.() === id || dep.id.startsWith(`${id}@`)\n );\n if (found.length) {\n if (found.length === 1) return found[0];\n const foundByLifecycle = found.find((dep) => dep.lifecycle === lifecycle);\n if (foundByLifecycle) return foundByLifecycle;\n return found[0];\n }\n const compDeps = this.toTypeArray<ComponentDependency>('component');\n\n // try by component-name\n const foundByName = compDeps.filter((dep) => dep.componentId.fullName === id);\n if (foundByName.length > 1) {\n throw new Error(\n `found multiple dependencies with the same component-name \"${id}\", please specify the full component-id`\n );\n }\n if (foundByName.length === 1) return foundByName[0];\n return undefined;\n };\n const found = findByVariousStrategies();\n if (!found) return undefined;\n if (version) {\n // because the version for snaps is stored in deps as the hash without the prefix of \"0.0.0-\"\"\n if (version.startsWith(SNAP_VERSION_PREFIX) && found.version === version.replace(SNAP_VERSION_PREFIX, ''))\n return found;\n return found.version === version ? found : undefined;\n }\n return found;\n }\n\n forEach(predicate: (dep: Dependency, index?: number) => void): void {\n this.dependencies.forEach(predicate);\n }\n\n map(predicate: (dep: Dependency, index?: number) => any) {\n return this.dependencies.map(predicate);\n }\n\n filter(predicate: (dep: Dependency, index?: number) => boolean): DependencyList {\n const filtered = this.dependencies.filter(predicate);\n return DependencyList.fromArray(filtered);\n }\n\n filterHidden(): DependencyList {\n return this.filter((dep) => !dep.hidden);\n }\n\n toTypeArray<T extends Dependency>(typeName: string): T[] {\n const list: T[] = this.dependencies.filter((dep) => dep.type === typeName) as any as T[];\n return list;\n }\n\n byTypeName(typeName: string): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.type === typeName);\n return DependencyList.fromArray(filtered);\n }\n\n byLifecycle(lifecycle: DependencyLifecycleType): DependencyList {\n const filtered = this.dependencies.filter((dep) => dep.lifecycle === lifecycle);\n return DependencyList.fromArray(filtered);\n }\n\n serialize(): SerializedDependency[] {\n const serialized = this.dependencies.map((dep) => {\n return dep.serialize();\n });\n return serialized;\n }\n\n getComponentDependencies(): ComponentDependency[] {\n return this.dependencies.filter((dep) => dep instanceof ComponentDependency) as ComponentDependency[];\n }\n\n toDependenciesManifest(): Required<DependenciesManifest> {\n const manifest: Required<DependenciesManifest> = {\n dependencies: {},\n optionalDependencies: {},\n devDependencies: {},\n peerDependencies: {},\n peerDependenciesMeta: {},\n };\n this.forEach((dep) => {\n const keyName =\n dep.optional && dep.lifecycle === 'runtime'\n ? 'optionalDependencies'\n : KEY_NAME_BY_LIFECYCLE_TYPE[dep.lifecycle];\n const entry = dep.toManifest();\n if (entry) {\n manifest[keyName][entry.packageName] = snapToSemver(entry.version);\n if (dep.optional && dep.lifecycle === 'peer') {\n manifest.peerDependenciesMeta[entry.packageName] = { optional: true };\n }\n }\n });\n return manifest;\n }\n\n static merge(lists: DependencyList[]): DependencyList {\n const res: Dependency[] = [];\n const deps = lists.reduce((acc, curr) => {\n acc = acc.concat(curr.dependencies);\n return acc;\n }, res);\n return new DependencyList(deps);\n }\n\n static fromArray(dependencies: Array<Dependency>) {\n return new DependencyList(dependencies);\n }\n}\n\nfunction uniqDeps(dependencies: Array<Dependency>): Array<Dependency> {\n const uniq = uniqBy(dependencies, property('id'));\n return uniq;\n}\n\nfunction removeVersion(id: string): string {\n if (id.startsWith('@')) return id.split('@')[1]; // scoped package\n return id.split('@')[0];\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,5 +1,5 @@
1
- import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.350/dist/dependency-resolver.composition.js';
2
- import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.350/dist/dependency-resolver.docs.mdx';
1
+ import * as compositions_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.352/dist/dependency-resolver.composition.js';
2
+ import * as overview_0 from '/home/circleci/Library/Caches/Bit/capsules/8891be5ad/teambit.dependencies_dependency-resolver@1.0.352/dist/dependency-resolver.docs.mdx';
3
3
 
4
4
  export const compositions = [compositions_0];
5
5
  export const overview = [overview_0];
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/dependency-resolver",
3
- "version": "1.0.350",
3
+ "version": "1.0.352",
4
4
  "homepage": "https://bit.cloud/teambit/dependencies/dependency-resolver",
5
5
  "main": "dist/index.js",
6
6
  "componentId": {
7
7
  "scope": "teambit.dependencies",
8
8
  "name": "dependency-resolver",
9
- "version": "1.0.350"
9
+ "version": "1.0.352"
10
10
  },
11
11
  "dependencies": {
12
12
  "chalk": "2.4.2",
@@ -32,25 +32,25 @@
32
32
  "@teambit/component-id": "1.2.0",
33
33
  "@teambit/workspace.root-components": "1.0.0",
34
34
  "@teambit/legacy-bit-id": "1.1.1",
35
- "@teambit/component-version": "1.0.3",
36
35
  "@teambit/toolbox.object.sorter": "0.0.2",
37
- "@teambit/component": "1.0.350",
38
- "@teambit/envs": "1.0.350",
39
- "@teambit/dependencies": "1.0.350",
40
- "@teambit/aspect-loader": "1.0.350",
41
- "@teambit/logger": "0.0.1020",
36
+ "@teambit/component-version": "1.0.3",
37
+ "@teambit/component": "1.0.352",
38
+ "@teambit/envs": "1.0.352",
39
+ "@teambit/dependencies": "1.0.352",
40
+ "@teambit/aspect-loader": "1.0.352",
41
+ "@teambit/logger": "0.0.1022",
42
42
  "@teambit/toolbox.path.path": "0.0.2",
43
43
  "@teambit/pkg.modules.component-package-name": "0.0.3",
44
- "@teambit/graphql": "1.0.350",
45
- "@teambit/bit": "1.8.1",
46
- "@teambit/cli": "0.0.927",
44
+ "@teambit/graphql": "1.0.352",
45
+ "@teambit/bit": "1.8.3",
46
+ "@teambit/cli": "0.0.929",
47
47
  "@teambit/component.sources": "0.0.10",
48
- "@teambit/config": "0.0.1101",
49
- "@teambit/global-config": "0.0.930",
48
+ "@teambit/config": "0.0.1103",
49
+ "@teambit/global-config": "0.0.932",
50
50
  "@teambit/harmony.modules.requireable-component": "0.0.497",
51
- "@teambit/snapping": "1.0.350",
51
+ "@teambit/snapping": "1.0.352",
52
52
  "@teambit/workspace.modules.node-modules-linker": "0.0.185",
53
- "@teambit/isolator": "1.0.350",
53
+ "@teambit/isolator": "1.0.352",
54
54
  "@teambit/toolbox.fs.link-or-symlink": "0.0.1",
55
55
  "@teambit/component-issues": "0.0.150",
56
56
  "@teambit/component-package-version": "0.0.434",