@teambit/dependency-resolver 1.0.107 → 1.0.108

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/apply-updates.spec.ts +215 -0
  2. package/apply-updates.ts +81 -0
  3. package/dependency-detector.ts +5 -0
  4. package/dependency-env.ts +6 -0
  5. package/dependency-installer.ts +347 -0
  6. package/dependency-linker.ts +719 -0
  7. package/dependency-resolver.aspect.ts +7 -0
  8. package/dependency-resolver.graphql.ts +99 -0
  9. package/dependency-resolver.main.runtime.spec.ts +530 -0
  10. package/dependency-resolver.main.runtime.ts +1797 -0
  11. package/dependency-version-resolver.ts +42 -0
  12. package/dist/apply-updates.js +2 -4
  13. package/dist/apply-updates.js.map +1 -1
  14. package/dist/dependencies/base-dependency.d.ts +7 -7
  15. package/dist/dependencies/base-dependency.js +1 -2
  16. package/dist/dependencies/base-dependency.js.map +1 -1
  17. package/dist/dependencies/component-dependency/component-dependency.js +1 -2
  18. package/dist/dependencies/component-dependency/component-dependency.js.map +1 -1
  19. package/dist/dependencies/dependency-list-factory.js +2 -4
  20. package/dist/dependencies/dependency-list-factory.js.map +1 -1
  21. package/dist/dependencies/dependency-list.d.ts +2 -2
  22. package/dist/dependencies/dependency-list.js +1 -4
  23. package/dist/dependencies/dependency-list.js.map +1 -1
  24. package/dist/dependencies/dependency.d.ts +5 -5
  25. package/dist/dependencies.service.d.ts +4 -4
  26. package/dist/dependencies.service.js +3 -3
  27. package/dist/dependencies.service.js.map +1 -1
  28. package/dist/dependency-installer.d.ts +10 -9
  29. package/dist/dependency-installer.js +5 -8
  30. package/dist/dependency-installer.js.map +1 -1
  31. package/dist/dependency-linker.d.ts +10 -9
  32. package/dist/dependency-linker.js +7 -11
  33. package/dist/dependency-linker.js.map +1 -1
  34. package/dist/dependency-resolver.composition.d.ts +2 -2
  35. package/dist/dependency-resolver.main.runtime.d.ts +15 -15
  36. package/dist/dependency-resolver.main.runtime.js +33 -39
  37. package/dist/dependency-resolver.main.runtime.js.map +1 -1
  38. package/dist/dependency-version-resolver.d.ts +2 -1
  39. package/dist/get-all-policy-pkgs.d.ts +4 -4
  40. package/dist/manifest/deduping/dedupe-dependencies.d.ts +4 -4
  41. package/dist/manifest/deduping/dedupe-dependencies.js +1 -1
  42. package/dist/manifest/deduping/dedupe-dependencies.js.map +1 -1
  43. package/dist/manifest/deduping/hoist-dependencies.js +2 -3
  44. package/dist/manifest/deduping/hoist-dependencies.js.map +1 -1
  45. package/dist/manifest/deduping/hoist-dependencies.spec.js +6 -8
  46. package/dist/manifest/deduping/hoist-dependencies.spec.js.map +1 -1
  47. package/dist/manifest/deduping/index-by-dep-id.d.ts +4 -4
  48. package/dist/manifest/deduping/index-by-dep-id.js +1 -2
  49. package/dist/manifest/deduping/index-by-dep-id.js.map +1 -1
  50. package/dist/manifest/manifest.d.ts +4 -4
  51. package/dist/manifest/update-dependency-version.js +2 -2
  52. package/dist/manifest/update-dependency-version.js.map +1 -1
  53. package/dist/manifest/workspace-manifest-factory.d.ts +3 -3
  54. package/dist/manifest/workspace-manifest-factory.js +3 -5
  55. package/dist/manifest/workspace-manifest-factory.js.map +1 -1
  56. package/dist/manifest/workspace-manifest.js +1 -2
  57. package/dist/manifest/workspace-manifest.js.map +1 -1
  58. package/dist/package-manager-legacy.d.ts +1 -1
  59. package/dist/package-manager.d.ts +5 -5
  60. package/dist/policy/env-policy/env-policy.d.ts +7 -7
  61. package/dist/policy/policy.d.ts +9 -9
  62. package/dist/policy/variant-policy/variant-policy.d.ts +9 -9
  63. package/dist/policy/workspace-policy/workspace-policy.d.ts +11 -11
  64. package/dist/{preview-1703590665075.js → preview-1703647408454.js} +2 -2
  65. package/dist/registry/registry.d.ts +6 -6
  66. package/dist/show-fragments/serialize-by-lifecycle.js +1 -2
  67. package/dist/show-fragments/serialize-by-lifecycle.js.map +1 -1
  68. package/dist/types.d.ts +8 -8
  69. package/extend-with-components-from-dir.ts +29 -0
  70. package/get-all-policy-pkgs.spec.ts +82 -0
  71. package/get-all-policy-pkgs.ts +126 -0
  72. package/index.ts +70 -0
  73. package/package-manager-legacy.ts +137 -0
  74. package/package-manager.ts +174 -0
  75. package/package.json +27 -34
  76. package/tsconfig.json +16 -21
  77. package/types/asset.d.ts +15 -3
  78. package/types.ts +77 -0
package/package.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "@teambit/dependency-resolver",
3
- "version": "1.0.107",
3
+ "version": "1.0.108",
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.107"
9
+ "version": "1.0.108"
10
10
  },
11
11
  "dependencies": {
12
12
  "cli-highlight": "2.1.9",
@@ -26,50 +26,46 @@
26
26
  "ramda": "0.27.1",
27
27
  "semver-intersect": "1.4.0",
28
28
  "semver-range-intersect": "0.3.1",
29
- "core-js": "^3.0.0",
30
- "@babel/runtime": "7.20.0",
31
29
  "@teambit/bit-error": "0.0.404",
32
30
  "@teambit/bvm.path": "0.1.2",
33
31
  "@teambit/harmony": "0.4.6",
34
32
  "@pnpm/network.ca-file": "1.0.2",
35
- "@teambit/bit-roots": "0.0.133",
36
33
  "@teambit/component-id": "1.2.0",
37
- "@teambit/legacy-bit-id": "1.1.0",
34
+ "@teambit/bit-roots": "0.0.133",
38
35
  "@teambit/component-version": "1.0.3",
39
- "@teambit/component": "1.0.107",
40
- "@teambit/envs": "1.0.107",
41
- "@teambit/aspect-loader": "1.0.107",
42
- "@teambit/logger": "0.0.932",
43
- "@teambit/graphql": "1.0.107",
44
- "@teambit/bit": "1.6.0",
45
- "@teambit/cli": "0.0.839",
46
- "@teambit/config": "0.0.858",
47
- "@teambit/global-config": "0.0.841",
36
+ "@teambit/legacy-bit-id": "1.1.0",
37
+ "@teambit/component": "1.0.108",
38
+ "@teambit/envs": "1.0.108",
39
+ "@teambit/aspect-loader": "1.0.108",
40
+ "@teambit/logger": "0.0.933",
41
+ "@teambit/graphql": "1.0.108",
42
+ "@teambit/bit": "1.6.1",
43
+ "@teambit/cli": "0.0.840",
44
+ "@teambit/config": "0.0.859",
45
+ "@teambit/global-config": "0.0.842",
48
46
  "@teambit/harmony.modules.requireable-component": "0.0.495",
49
- "@teambit/snapping": "1.0.107",
50
- "@teambit/workspace.modules.node-modules-linker": "0.0.157",
51
- "@teambit/isolator": "1.0.107",
52
- "@teambit/component-issues": "0.0.137",
53
- "@teambit/component-package-version": "0.0.430"
47
+ "@teambit/snapping": "1.0.108",
48
+ "@teambit/workspace.modules.node-modules-linker": "0.0.158",
49
+ "@teambit/isolator": "1.0.108",
50
+ "@teambit/component-issues": "0.0.138",
51
+ "@teambit/component-package-version": "0.0.431"
54
52
  },
55
53
  "devDependencies": {
56
- "@types/react": "^17.0.8",
57
54
  "@types/fs-extra": "9.0.7",
58
55
  "@types/lodash": "4.14.165",
59
56
  "@types/semver": "7.3.4",
60
57
  "@types/chai": "4.2.15",
61
58
  "chai": "4.3.0",
62
59
  "@types/mocha": "9.1.0",
63
- "@types/node": "12.20.4",
64
- "@types/react-dom": "^17.0.5",
65
- "@types/jest": "^26.0.0",
66
- "@types/testing-library__jest-dom": "5.9.5",
60
+ "@types/jest": "^29.2.2",
61
+ "@types/testing-library__jest-dom": "^5.9.5",
62
+ "@teambit/harmony.envs.core-aspect-env": "0.0.13",
67
63
  "@teambit/dependencies.aspect-docs.dependency-resolver": "0.0.174"
68
64
  },
69
65
  "peerDependencies": {
70
- "@teambit/legacy": "1.0.624",
71
- "react": "^16.8.0 || ^17.0.0",
72
- "react-dom": "^16.8.0 || ^17.0.0"
66
+ "react": "^17.0.0 || ^18.0.0",
67
+ "@types/react": "^18.2.12",
68
+ "@teambit/legacy": "1.0.624"
73
69
  },
74
70
  "license": "Apache-2.0",
75
71
  "optionalDependencies": {},
@@ -83,7 +79,7 @@
83
79
  },
84
80
  "private": false,
85
81
  "engines": {
86
- "node": ">=12.22.0"
82
+ "node": ">=16.0.0"
87
83
  },
88
84
  "repository": {
89
85
  "type": "git",
@@ -92,12 +88,9 @@
92
88
  "keywords": [
93
89
  "bit",
94
90
  "bit-aspect",
91
+ "bit-core-aspect",
95
92
  "components",
96
93
  "collaboration",
97
- "web",
98
- "react",
99
- "react-components",
100
- "angular",
101
- "angular-components"
94
+ "web"
102
95
  ]
103
96
  }
package/tsconfig.json CHANGED
@@ -1,38 +1,33 @@
1
1
  {
2
2
  "compilerOptions": {
3
3
  "lib": [
4
- "es2019",
5
- "DOM",
6
- "ES6",
7
- "DOM.Iterable",
8
- "ScriptHost"
4
+ "esnext",
5
+ "dom",
6
+ "dom.Iterable"
9
7
  ],
10
- "target": "es2015",
11
- "module": "CommonJS",
12
- "jsx": "react",
13
- "allowJs": true,
14
- "composite": true,
8
+ "target": "es2020",
9
+ "module": "es2020",
10
+ "jsx": "react-jsx",
15
11
  "declaration": true,
16
12
  "sourceMap": true,
17
- "skipLibCheck": true,
18
13
  "experimentalDecorators": true,
19
- "outDir": "dist",
14
+ "skipLibCheck": true,
20
15
  "moduleResolution": "node",
21
16
  "esModuleInterop": true,
22
- "rootDir": ".",
23
17
  "resolveJsonModule": true,
24
- "emitDeclarationOnly": true,
25
- "emitDecoratorMetadata": true,
26
- "allowSyntheticDefaultImports": true,
27
- "strictPropertyInitialization": false,
28
- "strict": true,
29
- "noImplicitAny": false,
30
- "preserveConstEnums": true
18
+ "allowJs": true,
19
+ "outDir": "dist",
20
+ "emitDeclarationOnly": true
31
21
  },
32
22
  "exclude": [
23
+ "artifacts",
24
+ "public",
33
25
  "dist",
26
+ "node_modules",
27
+ "package.json",
34
28
  "esm.mjs",
35
- "package.json"
29
+ "**/*.cjs",
30
+ "./dist"
36
31
  ],
37
32
  "include": [
38
33
  "**/*",
package/types/asset.d.ts CHANGED
@@ -5,12 +5,12 @@ declare module '*.png' {
5
5
  declare module '*.svg' {
6
6
  import type { FunctionComponent, SVGProps } from 'react';
7
7
 
8
- export const ReactComponent: FunctionComponent<SVGProps<SVGSVGElement> & { title?: string }>;
8
+ export const ReactComponent: FunctionComponent<
9
+ SVGProps<SVGSVGElement> & { title?: string }
10
+ >;
9
11
  const src: string;
10
12
  export default src;
11
13
  }
12
-
13
- // @TODO Gilad
14
14
  declare module '*.jpg' {
15
15
  const value: any;
16
16
  export = value;
@@ -27,3 +27,15 @@ declare module '*.bmp' {
27
27
  const value: any;
28
28
  export = value;
29
29
  }
30
+ declare module '*.otf' {
31
+ const value: any;
32
+ export = value;
33
+ }
34
+ declare module '*.woff' {
35
+ const value: any;
36
+ export = value;
37
+ }
38
+ declare module '*.woff2' {
39
+ const value: any;
40
+ export = value;
41
+ }
package/types.ts ADDED
@@ -0,0 +1,77 @@
1
+ import { ComponentConfig, ComponentFS } from '@teambit/component';
2
+ import { PathLinux } from '@teambit/legacy/dist/utils/path';
3
+
4
+ import { ComponentManifest } from './manifest/component-manifest';
5
+ import { PackageName } from './dependencies';
6
+
7
+ export type RegistryName = string;
8
+
9
+ export type Registry = {
10
+ uri: string;
11
+ alwaysAuth: boolean;
12
+ authHeaderValue?: string;
13
+ originalAuthType: string;
14
+ originalAuthValue: string;
15
+ };
16
+
17
+ export type RegistriesMap = Record<RegistryName, Registry>;
18
+
19
+ // Exact format TBD
20
+ export interface RawComponentState {
21
+ filesystem: ComponentFS;
22
+ config: ComponentConfig;
23
+ }
24
+
25
+ /**
26
+ * Import Specifier data.
27
+ * For example, `import foo from './bar' `, "foo" is the import-specifier and is default.
28
+ * Conversely, `import { foo } from './bar' `, here, "foo" is non-default.
29
+ */
30
+ export type Specifier = {
31
+ isDefault: boolean;
32
+ name: string;
33
+ };
34
+
35
+ /**
36
+ * ImportSpecifier are used to generate links from component to its dependencies.
37
+ * For example, a component might have a dependency: "import { foo } from './bar' ", when a link is generated, we use
38
+ * the import-specifier name, which is "foo" to generate the link correctly.
39
+ */
40
+ export type ImportSpecifier = {
41
+ mainFile: Specifier;
42
+ };
43
+
44
+ /**
45
+ * a dependency component may have multiple files that are required from the parent component, each
46
+ * one of the files has its RelativePath instance.
47
+ *
48
+ * For example:
49
+ * main component: "foo" => foo.js => `const isString = require('../utils/is-string'); const isArray = require('../utils/is-array');
50
+ * dependency: "utils" => utils/is-string.js, utils/is-array.js
51
+ * In this example, the component "foo" has one dependency "utils" with two RelativePaths.
52
+ * one for utils/is-string.js file and the second for utils/is-array.js file
53
+ */
54
+ export type RelativePath = {
55
+ sourceRelativePath: PathLinux; // location of the link file
56
+ destinationRelativePath: PathLinux; // destination written inside the link file
57
+ importSpecifiers?: ImportSpecifier[];
58
+ importSource?: string; // available when isCustomResolveUsed=true, contains the import path. e.g. "import x from 'src/utils'", importSource is 'src/utils'.
59
+ };
60
+
61
+ /**
62
+ * A definition of one dependency statement in a file
63
+ * For example `import('something')` or require('something')
64
+ */
65
+ interface FileDependencyDefinition {
66
+ // The path itself as appear in the source code (what inside the () for example)
67
+ // This can be a module path like 'my-package' or relative (for legacy support)
68
+ dependencyPath: string;
69
+ // Used for legacy support
70
+ relativePaths?: RelativePath[];
71
+ // Used for statements like `import type {x} from 'y'
72
+ isType?: boolean;
73
+ }
74
+
75
+ export type FileDependenciesDefinition = FileDependencyDefinition[];
76
+
77
+ export type ComponentsManifestsMap = Map<PackageName, ComponentManifest>;