@teambit/dependencies 1.0.82 → 1.0.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dependencies-loader/README.md +34 -0
- package/dependencies-loader/apply-overrides.ts +552 -0
- package/dependencies-loader/auto-detect-deps.ts +761 -0
- package/dependencies-loader/dependencies-data.ts +47 -0
- package/dependencies-loader/dependencies-loader.ts +174 -0
- package/dependencies-loader/dependencies-versions-resolver.ts +160 -0
- package/dependencies-loader/index.ts +2 -0
- package/dependencies-loader/overrides-dependencies.ts +115 -0
- package/dependencies-loader/package-to-definetly-typed.spec.ts +53 -0
- package/dependencies-loader/package-to-definetly-typed.ts +10 -0
- package/dist/dependencies-loader/README.md +34 -0
- package/dist/dependencies-loader/apply-overrides.d.ts +100 -0
- package/dist/dependencies-loader/apply-overrides.js +541 -0
- package/dist/dependencies-loader/apply-overrides.js.map +1 -0
- package/dist/dependencies-loader/auto-detect-deps.d.ts +165 -0
- package/dist/dependencies-loader/auto-detect-deps.js +768 -0
- package/dist/dependencies-loader/auto-detect-deps.js.map +1 -0
- package/dist/dependencies-loader/dependencies-data.d.ts +17 -0
- package/dist/dependencies-loader/dependencies-data.js +72 -0
- package/dist/dependencies-loader/dependencies-data.js.map +1 -0
- package/dist/dependencies-loader/dependencies-loader.d.ts +30 -0
- package/dist/dependencies-loader/dependencies-loader.js +229 -0
- package/dist/dependencies-loader/dependencies-loader.js.map +1 -0
- package/dist/dependencies-loader/dependencies-versions-resolver.d.ts +6 -0
- package/dist/dependencies-loader/dependencies-versions-resolver.js +153 -0
- package/dist/dependencies-loader/dependencies-versions-resolver.js.map +1 -0
- package/dist/dependencies-loader/index.d.ts +2 -0
- package/dist/dependencies-loader/index.js +33 -0
- package/dist/dependencies-loader/index.js.map +1 -0
- package/dist/dependencies-loader/overrides-dependencies.d.ts +17 -0
- package/dist/dependencies-loader/overrides-dependencies.js +118 -0
- package/dist/dependencies-loader/overrides-dependencies.js.map +1 -0
- package/dist/dependencies-loader/package-to-definetly-typed.d.ts +1 -0
- package/dist/dependencies-loader/package-to-definetly-typed.js +18 -0
- package/dist/dependencies-loader/package-to-definetly-typed.js.map +1 -0
- package/dist/dependencies-loader/package-to-definetly-typed.spec.d.ts +1 -0
- package/dist/dependencies-loader/package-to-definetly-typed.spec.js +27 -0
- package/dist/dependencies-loader/package-to-definetly-typed.spec.js.map +1 -0
- package/dist/dependencies.main.runtime.d.ts +21 -4
- package/dist/dependencies.main.runtime.js +49 -14
- package/dist/dependencies.main.runtime.js.map +1 -1
- package/package.json +17 -6
- /package/dist/{preview-1701813377689.js → preview-1701874572488.js} +0 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.updateDependenciesVersions = updateDependenciesVersions;
|
|
7
|
+
function _ramda() {
|
|
8
|
+
const data = _interopRequireDefault(require("ramda"));
|
|
9
|
+
_ramda = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _logger() {
|
|
15
|
+
const data = _interopRequireDefault(require("@teambit/legacy/dist/logger/logger"));
|
|
16
|
+
_logger = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _constants() {
|
|
22
|
+
const data = require("@teambit/legacy/dist/constants");
|
|
23
|
+
_constants = function () {
|
|
24
|
+
return data;
|
|
25
|
+
};
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
function _autoDetectDeps() {
|
|
29
|
+
const data = require("./auto-detect-deps");
|
|
30
|
+
_autoDetectDeps = function () {
|
|
31
|
+
return data;
|
|
32
|
+
};
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
36
|
+
function updateDependenciesVersions(depsResolver, workspace, component, overridesDependencies, autoDetectOverrides, debugDependencies) {
|
|
37
|
+
const consumer = workspace.consumer;
|
|
38
|
+
const autoDetectConfigMerge = workspace.getAutoDetectConfigMerge(component.id) || {};
|
|
39
|
+
updateDependencies(component.dependencies);
|
|
40
|
+
updateDependencies(component.devDependencies);
|
|
41
|
+
updateExtensions(component.extensions);
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* the `pkg` can be missing only in two scenarios:
|
|
45
|
+
* 1: the dependency is using relative-paths, not the module path. (which bit-status shows an error and suggests
|
|
46
|
+
* running bit link --rewire).
|
|
47
|
+
* 2: this gets called for extension-id.
|
|
48
|
+
*/
|
|
49
|
+
function resolveVersion(id, pkg) {
|
|
50
|
+
const idFromBitMap = getIdFromBitMap(id);
|
|
51
|
+
const idFromComponentConfig = getIdFromComponentConfig(id);
|
|
52
|
+
const getFromComponentConfig = () => idFromComponentConfig;
|
|
53
|
+
const getFromBitMap = () => idFromBitMap || null;
|
|
54
|
+
// later, change this to return the version from the overrides.
|
|
55
|
+
const getFromOverrides = () => pkg && isPkgInOverrides(pkg) ? id : null;
|
|
56
|
+
const debugDep = debugDependencies === null || debugDependencies === void 0 ? void 0 : debugDependencies.find(dep => dep.id.isEqualWithoutVersion(id));
|
|
57
|
+
// the id we get from the auto-detect is coming from the package.json of the dependency.
|
|
58
|
+
const getFromDepPackageJson = () => id.hasVersion() ? id : null;
|
|
59
|
+
// In case it's resolved from the node_modules, and it's also in the ws policy or variants,
|
|
60
|
+
// use the resolved version from the node_modules / package folder
|
|
61
|
+
const getFromDepPackageJsonDueToWorkspacePolicy = () => pkg && id.hasVersion() && isPkgInWorkspacePolicies(pkg) ? id : null;
|
|
62
|
+
// merge config here is only auto-detected ones. their priority is less then the ws policy
|
|
63
|
+
// otherwise, imagine you merge a lane, you don't like the dependency you got from the other lane, you run
|
|
64
|
+
// bit-install to change it, but it won't do anything.
|
|
65
|
+
const getFromMergeConfig = () => pkg ? resolveFromMergeConfig(id, pkg) : null;
|
|
66
|
+
const getFromDepPackageJsonDueToAutoDetectOverrides = () => pkg && isPkgInAutoDetectOverrides(pkg) ? id : null;
|
|
67
|
+
// If there is a version in the node_modules/package folder, but it's not in the ws policy,
|
|
68
|
+
// prefer the version from the model over the version from the node_modules
|
|
69
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
70
|
+
const getFromModel = () => getIdFromModelDeps(component.componentFromModel, id);
|
|
71
|
+
const strategies = [getFromComponentConfig, getFromOverrides, getFromBitMap, getFromDepPackageJsonDueToWorkspacePolicy, getFromMergeConfig, getFromDepPackageJsonDueToAutoDetectOverrides, getFromModel, getFromDepPackageJson];
|
|
72
|
+
for (const strategy of strategies) {
|
|
73
|
+
const strategyId = strategy();
|
|
74
|
+
if (strategyId) {
|
|
75
|
+
_logger().default.debug(`found dependency version ${strategyId.version} for ${id.toString()} in strategy ${strategy.name}`);
|
|
76
|
+
if (debugDep) {
|
|
77
|
+
debugDep.versionResolvedFrom = strategy.name.replace('getFrom', '');
|
|
78
|
+
debugDep.version = strategyId.version;
|
|
79
|
+
}
|
|
80
|
+
return strategyId.version;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return undefined;
|
|
84
|
+
}
|
|
85
|
+
function updateDependency(dependency) {
|
|
86
|
+
const {
|
|
87
|
+
id,
|
|
88
|
+
packageName
|
|
89
|
+
} = dependency;
|
|
90
|
+
const resolvedVersion = resolveVersion(id, packageName);
|
|
91
|
+
if (resolvedVersion) {
|
|
92
|
+
dependency.id = dependency.id.changeVersion(resolvedVersion);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
function updateDependencies(dependencies) {
|
|
96
|
+
dependencies.get().forEach(updateDependency);
|
|
97
|
+
}
|
|
98
|
+
function updateExtension(extension) {
|
|
99
|
+
if (extension.extensionId) {
|
|
100
|
+
const resolvedVersion = resolveVersion(extension.extensionId);
|
|
101
|
+
if (resolvedVersion) {
|
|
102
|
+
extension.extensionId = extension.extensionId.changeVersion(resolvedVersion);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
function updateExtensions(extensions) {
|
|
107
|
+
extensions.forEach(updateExtension);
|
|
108
|
+
}
|
|
109
|
+
function getIdFromModelDeps(componentFromModel, componentId) {
|
|
110
|
+
if (!componentFromModel) return null;
|
|
111
|
+
const dependency = componentFromModel.getAllDependenciesIds().searchWithoutVersion(componentId);
|
|
112
|
+
if (!dependency) return null;
|
|
113
|
+
return dependency;
|
|
114
|
+
}
|
|
115
|
+
function getIdFromBitMap(componentId) {
|
|
116
|
+
const existingIds = consumer.bitmapIdsFromCurrentLane.filterWithoutVersion(componentId);
|
|
117
|
+
return existingIds.length === 1 ? existingIds[0] : undefined;
|
|
118
|
+
}
|
|
119
|
+
function getIdFromComponentConfig(componentId) {
|
|
120
|
+
const dependencies = component.overrides.getComponentDependenciesWithVersion();
|
|
121
|
+
if (_ramda().default.isEmpty(dependencies)) return undefined;
|
|
122
|
+
const dependency = Object.keys(dependencies).find(idStr => componentId.toStringWithoutVersion() === idStr);
|
|
123
|
+
if (!dependency) return undefined;
|
|
124
|
+
return componentId.changeVersion(dependencies[dependency]);
|
|
125
|
+
}
|
|
126
|
+
function isPkgInOverrides(pkgName) {
|
|
127
|
+
const dependencies = overridesDependencies.getDependenciesToAddManually();
|
|
128
|
+
if (!dependencies) return false;
|
|
129
|
+
const allDeps = Object.values(dependencies).map(obj => Object.keys(obj)).flat();
|
|
130
|
+
return allDeps.includes(pkgName);
|
|
131
|
+
}
|
|
132
|
+
function isPkgInAutoDetectOverrides(pkgName) {
|
|
133
|
+
return _constants().DEPENDENCIES_FIELDS.some(depField => (autoDetectOverrides === null || autoDetectOverrides === void 0 ? void 0 : autoDetectOverrides[depField]) && autoDetectOverrides[depField][pkgName]);
|
|
134
|
+
}
|
|
135
|
+
function isPkgInWorkspacePolicies(pkgName) {
|
|
136
|
+
var _depsResolver$getWork;
|
|
137
|
+
return (_depsResolver$getWork = depsResolver.getWorkspacePolicyManifest().dependencies) === null || _depsResolver$getWork === void 0 ? void 0 : _depsResolver$getWork[pkgName];
|
|
138
|
+
}
|
|
139
|
+
function resolveFromMergeConfig(id, pkgName) {
|
|
140
|
+
let foundVersion;
|
|
141
|
+
_constants().DEPENDENCIES_FIELDS.forEach(field => {
|
|
142
|
+
var _autoDetectConfigMerg;
|
|
143
|
+
if ((_autoDetectConfigMerg = autoDetectConfigMerge[field]) !== null && _autoDetectConfigMerg !== void 0 && _autoDetectConfigMerg[pkgName]) {
|
|
144
|
+
var _autoDetectConfigMerg2;
|
|
145
|
+
foundVersion = (_autoDetectConfigMerg2 = autoDetectConfigMerge[field]) === null || _autoDetectConfigMerg2 === void 0 ? void 0 : _autoDetectConfigMerg2[pkgName];
|
|
146
|
+
foundVersion = foundVersion ? (0, _autoDetectDeps().getValidVersion)(foundVersion) : null;
|
|
147
|
+
}
|
|
148
|
+
});
|
|
149
|
+
return foundVersion ? id.changeVersion(foundVersion) : undefined;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
//# sourceMappingURL=dependencies-versions-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_ramda","data","_interopRequireDefault","require","_logger","_constants","_autoDetectDeps","obj","__esModule","default","updateDependenciesVersions","depsResolver","workspace","component","overridesDependencies","autoDetectOverrides","debugDependencies","consumer","autoDetectConfigMerge","getAutoDetectConfigMerge","id","updateDependencies","dependencies","devDependencies","updateExtensions","extensions","resolveVersion","pkg","idFromBitMap","getIdFromBitMap","idFromComponentConfig","getIdFromComponentConfig","getFromComponentConfig","getFromBitMap","getFromOverrides","isPkgInOverrides","debugDep","find","dep","isEqualWithoutVersion","getFromDepPackageJson","hasVersion","getFromDepPackageJsonDueToWorkspacePolicy","isPkgInWorkspacePolicies","getFromMergeConfig","resolveFromMergeConfig","getFromDepPackageJsonDueToAutoDetectOverrides","isPkgInAutoDetectOverrides","getFromModel","getIdFromModelDeps","componentFromModel","strategies","strategy","strategyId","logger","debug","version","toString","name","versionResolvedFrom","replace","undefined","updateDependency","dependency","packageName","resolvedVersion","changeVersion","get","forEach","updateExtension","extension","extensionId","componentId","getAllDependenciesIds","searchWithoutVersion","existingIds","bitmapIdsFromCurrentLane","filterWithoutVersion","length","overrides","getComponentDependenciesWithVersion","R","isEmpty","Object","keys","idStr","toStringWithoutVersion","pkgName","getDependenciesToAddManually","allDeps","values","map","flat","includes","DEPENDENCIES_FIELDS","some","depField","_depsResolver$getWork","getWorkspacePolicyManifest","foundVersion","field","_autoDetectConfigMerg","_autoDetectConfigMerg2","getValidVersion"],"sources":["dependencies-versions-resolver.ts"],"sourcesContent":["import R from 'ramda';\nimport { ComponentID } from '@teambit/component-id';\nimport Consumer from '@teambit/legacy/dist/consumer/consumer';\nimport { Workspace } from '@teambit/workspace';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport Component from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { ExtensionDataEntry, ExtensionDataList } from '@teambit/legacy/dist/consumer/config/extension-data';\nimport Dependencies from '@teambit/legacy/dist/consumer/component/dependencies/dependencies';\nimport { DependencyResolverMain } from '@teambit/dependency-resolver';\nimport { DEPENDENCIES_FIELDS } from '@teambit/legacy/dist/constants';\nimport Dependency from '@teambit/legacy/dist/consumer/component/dependencies/dependency';\nimport OverridesDependencies from './overrides-dependencies';\nimport { DebugComponentsDependency, getValidVersion } from './auto-detect-deps';\n\nexport function updateDependenciesVersions(\n depsResolver: DependencyResolverMain,\n workspace: Workspace,\n component: Component,\n overridesDependencies: OverridesDependencies,\n autoDetectOverrides?: Record<string, any>,\n debugDependencies?: DebugComponentsDependency[]\n) {\n const consumer: Consumer = workspace.consumer;\n const autoDetectConfigMerge = workspace.getAutoDetectConfigMerge(component.id) || {};\n\n updateDependencies(component.dependencies);\n updateDependencies(component.devDependencies);\n updateExtensions(component.extensions);\n\n /**\n * the `pkg` can be missing only in two scenarios:\n * 1: the dependency is using relative-paths, not the module path. (which bit-status shows an error and suggests\n * running bit link --rewire).\n * 2: this gets called for extension-id.\n */\n function resolveVersion(id: ComponentID, pkg?: string): string | undefined {\n const idFromBitMap = getIdFromBitMap(id);\n const idFromComponentConfig = getIdFromComponentConfig(id);\n const getFromComponentConfig = () => idFromComponentConfig;\n const getFromBitMap = () => idFromBitMap || null;\n // later, change this to return the version from the overrides.\n const getFromOverrides = () => (pkg && isPkgInOverrides(pkg) ? id : null);\n const debugDep = debugDependencies?.find((dep) => dep.id.isEqualWithoutVersion(id));\n // the id we get from the auto-detect is coming from the package.json of the dependency.\n const getFromDepPackageJson = () => (id.hasVersion() ? id : null);\n // In case it's resolved from the node_modules, and it's also in the ws policy or variants,\n // use the resolved version from the node_modules / package folder\n const getFromDepPackageJsonDueToWorkspacePolicy = () =>\n pkg && id.hasVersion() && isPkgInWorkspacePolicies(pkg) ? id : null;\n // merge config here is only auto-detected ones. their priority is less then the ws policy\n // otherwise, imagine you merge a lane, you don't like the dependency you got from the other lane, you run\n // bit-install to change it, but it won't do anything.\n const getFromMergeConfig = () => (pkg ? resolveFromMergeConfig(id, pkg) : null);\n const getFromDepPackageJsonDueToAutoDetectOverrides = () => (pkg && isPkgInAutoDetectOverrides(pkg) ? id : null);\n // If there is a version in the node_modules/package folder, but it's not in the ws policy,\n // prefer the version from the model over the version from the node_modules\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const getFromModel = () => getIdFromModelDeps(component.componentFromModel!, id);\n\n const strategies = [\n getFromComponentConfig,\n getFromOverrides,\n getFromBitMap,\n getFromDepPackageJsonDueToWorkspacePolicy,\n getFromMergeConfig,\n getFromDepPackageJsonDueToAutoDetectOverrides,\n getFromModel,\n getFromDepPackageJson,\n ];\n\n for (const strategy of strategies) {\n const strategyId = strategy();\n if (strategyId) {\n logger.debug(\n `found dependency version ${strategyId.version} for ${id.toString()} in strategy ${strategy.name}`\n );\n if (debugDep) {\n debugDep.versionResolvedFrom = strategy.name.replace('getFrom', '');\n debugDep.version = strategyId.version;\n }\n\n return strategyId.version;\n }\n }\n return undefined;\n }\n\n function updateDependency(dependency: Dependency) {\n const { id, packageName } = dependency;\n const resolvedVersion = resolveVersion(id, packageName);\n if (resolvedVersion) {\n dependency.id = dependency.id.changeVersion(resolvedVersion);\n }\n }\n function updateDependencies(dependencies: Dependencies) {\n dependencies.get().forEach(updateDependency);\n }\n\n function updateExtension(extension: ExtensionDataEntry) {\n if (extension.extensionId) {\n const resolvedVersion = resolveVersion(extension.extensionId);\n if (resolvedVersion) {\n extension.extensionId = extension.extensionId.changeVersion(resolvedVersion);\n }\n }\n }\n function updateExtensions(extensions: ExtensionDataList) {\n extensions.forEach(updateExtension);\n }\n\n function getIdFromModelDeps(componentFromModel: Component, componentId: ComponentID): ComponentID | null {\n if (!componentFromModel) return null;\n const dependency = componentFromModel.getAllDependenciesIds().searchWithoutVersion(componentId);\n if (!dependency) return null;\n return dependency;\n }\n\n function getIdFromBitMap(componentId: ComponentID): ComponentID | null | undefined {\n const existingIds = consumer.bitmapIdsFromCurrentLane.filterWithoutVersion(componentId);\n return existingIds.length === 1 ? existingIds[0] : undefined;\n }\n\n function getIdFromComponentConfig(componentId: ComponentID): ComponentID | undefined {\n const dependencies = component.overrides.getComponentDependenciesWithVersion();\n if (R.isEmpty(dependencies)) return undefined;\n const dependency = Object.keys(dependencies).find((idStr) => componentId.toStringWithoutVersion() === idStr);\n if (!dependency) return undefined;\n return componentId.changeVersion(dependencies[dependency]);\n }\n\n function isPkgInOverrides(pkgName: string): boolean {\n const dependencies = overridesDependencies.getDependenciesToAddManually();\n if (!dependencies) return false;\n const allDeps = Object.values(dependencies)\n .map((obj) => Object.keys(obj))\n .flat();\n return allDeps.includes(pkgName);\n }\n\n function isPkgInAutoDetectOverrides(pkgName: string): boolean {\n return DEPENDENCIES_FIELDS.some(\n (depField) => autoDetectOverrides?.[depField] && autoDetectOverrides[depField][pkgName]\n );\n }\n\n function isPkgInWorkspacePolicies(pkgName: string) {\n return depsResolver.getWorkspacePolicyManifest().dependencies?.[pkgName];\n }\n\n function resolveFromMergeConfig(id: ComponentID, pkgName: string) {\n let foundVersion: string | undefined | null;\n DEPENDENCIES_FIELDS.forEach((field) => {\n if (autoDetectConfigMerge[field]?.[pkgName]) {\n foundVersion = autoDetectConfigMerge[field]?.[pkgName];\n foundVersion = foundVersion ? getValidVersion(foundVersion) : null;\n }\n });\n return foundVersion ? id.changeVersion(foundVersion) : undefined;\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "ApplyOverrides", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _applyOverrides().ApplyOverrides;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
Object.defineProperty(exports, "DependenciesLoader", {
|
|
13
|
+
enumerable: true,
|
|
14
|
+
get: function () {
|
|
15
|
+
return _dependenciesLoader().DependenciesLoader;
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
function _dependenciesLoader() {
|
|
19
|
+
const data = require("./dependencies-loader");
|
|
20
|
+
_dependenciesLoader = function () {
|
|
21
|
+
return data;
|
|
22
|
+
};
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
function _applyOverrides() {
|
|
26
|
+
const data = require("./apply-overrides");
|
|
27
|
+
_applyOverrides = function () {
|
|
28
|
+
return data;
|
|
29
|
+
};
|
|
30
|
+
return data;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_dependenciesLoader","data","require","_applyOverrides"],"sources":["index.ts"],"sourcesContent":["export { DependenciesLoader } from './dependencies-loader';\nexport { ApplyOverrides } from './apply-overrides';\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,SAAAA,oBAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,mBAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,gBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,eAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Component, { ManuallyChangedDependencies } from '@teambit/legacy/dist/consumer/component/consumer-component';
|
|
2
|
+
import { FileType } from './auto-detect-deps';
|
|
3
|
+
export default class OverridesDependencies {
|
|
4
|
+
component: Component;
|
|
5
|
+
componentFromModel: Component | null | undefined;
|
|
6
|
+
manuallyRemovedDependencies: ManuallyChangedDependencies;
|
|
7
|
+
manuallyAddedDependencies: ManuallyChangedDependencies;
|
|
8
|
+
missingPackageDependencies: string[];
|
|
9
|
+
constructor(component: Component);
|
|
10
|
+
shouldIgnorePackage(packageName: string, fileType: FileType): boolean;
|
|
11
|
+
shouldIgnorePackageByType(packageName: string, field: string): boolean;
|
|
12
|
+
shouldIgnorePeerPackage(packageName: string): boolean;
|
|
13
|
+
getDependenciesToAddManually(): Record<string, any> | undefined;
|
|
14
|
+
_manuallyAddPackage(field: string, dependency: string, dependencyValue: string, packageJson: Record<string, any> | null | undefined): Record<string, any> | null | undefined;
|
|
15
|
+
_addManuallyRemovedDep(field: string, value: string): void;
|
|
16
|
+
_addManuallyAddedDep(field: string, value: string): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
function _constants() {
|
|
8
|
+
const data = require("@teambit/legacy/dist/constants");
|
|
9
|
+
_constants = function () {
|
|
10
|
+
return data;
|
|
11
|
+
};
|
|
12
|
+
return data;
|
|
13
|
+
}
|
|
14
|
+
function _logger() {
|
|
15
|
+
const data = _interopRequireDefault(require("@teambit/legacy/dist/logger/logger"));
|
|
16
|
+
_logger = function () {
|
|
17
|
+
return data;
|
|
18
|
+
};
|
|
19
|
+
return data;
|
|
20
|
+
}
|
|
21
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
22
|
+
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; }
|
|
23
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
24
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
25
|
+
class OverridesDependencies {
|
|
26
|
+
constructor(component) {
|
|
27
|
+
_defineProperty(this, "component", void 0);
|
|
28
|
+
_defineProperty(this, "componentFromModel", void 0);
|
|
29
|
+
_defineProperty(this, "manuallyRemovedDependencies", void 0);
|
|
30
|
+
_defineProperty(this, "manuallyAddedDependencies", void 0);
|
|
31
|
+
_defineProperty(this, "missingPackageDependencies", void 0);
|
|
32
|
+
this.component = component;
|
|
33
|
+
// @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!
|
|
34
|
+
this.componentFromModel = this.component.componentFromModel;
|
|
35
|
+
this.manuallyRemovedDependencies = {};
|
|
36
|
+
this.manuallyAddedDependencies = {};
|
|
37
|
+
this.missingPackageDependencies = [];
|
|
38
|
+
}
|
|
39
|
+
shouldIgnorePackage(packageName, fileType) {
|
|
40
|
+
const field = fileType.isTestFile ? 'devDependencies' : 'dependencies';
|
|
41
|
+
return this.shouldIgnorePackageByType(packageName, field);
|
|
42
|
+
}
|
|
43
|
+
shouldIgnorePackageByType(packageName, field) {
|
|
44
|
+
const shouldIgnorePackage = packages => {
|
|
45
|
+
return packages.some(pkg => pkg === packageName);
|
|
46
|
+
};
|
|
47
|
+
const ignoreField = this.component.overrides.getIgnoredPackages(field);
|
|
48
|
+
const ignore = shouldIgnorePackage(ignoreField);
|
|
49
|
+
if (ignore) {
|
|
50
|
+
this._addManuallyRemovedDep(field, packageName);
|
|
51
|
+
}
|
|
52
|
+
return ignore;
|
|
53
|
+
}
|
|
54
|
+
shouldIgnorePeerPackage(packageName) {
|
|
55
|
+
const shouldIgnorePackage = packages => {
|
|
56
|
+
return packages.some(pkg => pkg === packageName);
|
|
57
|
+
};
|
|
58
|
+
const field = 'peerDependencies';
|
|
59
|
+
const ignorePeer = this.component.overrides.getIgnoredPackages(field);
|
|
60
|
+
const ignore = shouldIgnorePackage(ignorePeer);
|
|
61
|
+
if (ignore) {
|
|
62
|
+
this._addManuallyRemovedDep(field, packageName);
|
|
63
|
+
}
|
|
64
|
+
return ignore;
|
|
65
|
+
}
|
|
66
|
+
getDependenciesToAddManually() {
|
|
67
|
+
const overrides = this.component.overrides.componentOverridesData;
|
|
68
|
+
if (!overrides) return undefined;
|
|
69
|
+
const packages = {};
|
|
70
|
+
_constants().DEPENDENCIES_FIELDS.forEach(depField => {
|
|
71
|
+
if (!overrides[depField]) return;
|
|
72
|
+
Object.keys(overrides[depField]).forEach(dependency => {
|
|
73
|
+
const dependencyValue = overrides[depField][dependency];
|
|
74
|
+
if (dependencyValue === _constants().MANUALLY_REMOVE_DEPENDENCY) return;
|
|
75
|
+
(packages[depField] ||= {})[dependency] = dependencyValue;
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
return packages;
|
|
79
|
+
}
|
|
80
|
+
_manuallyAddPackage(field, dependency, dependencyValue, packageJson) {
|
|
81
|
+
const packageVersionToAdd = () => {
|
|
82
|
+
if (dependencyValue !== _constants().MANUALLY_ADD_DEPENDENCY) {
|
|
83
|
+
return dependencyValue;
|
|
84
|
+
}
|
|
85
|
+
if (!packageJson) return null;
|
|
86
|
+
for (const depField of _constants().DEPENDENCIES_FIELDS) {
|
|
87
|
+
if (packageJson[depField]) {
|
|
88
|
+
const found = Object.keys(packageJson[depField]).find(pkg => pkg === dependency);
|
|
89
|
+
if (found) return packageJson[depField][dependency];
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
return null;
|
|
93
|
+
};
|
|
94
|
+
const versionToAdd = packageVersionToAdd();
|
|
95
|
+
if (!versionToAdd) {
|
|
96
|
+
_logger().default.debug(`unable to manually add the dependency "${dependency}" into "${this.component.id.toString()}".
|
|
97
|
+
it's not an existing component, nor existing package (in a package.json)`);
|
|
98
|
+
this.missingPackageDependencies.push(dependency);
|
|
99
|
+
return undefined;
|
|
100
|
+
}
|
|
101
|
+
const packageStr = `${dependency}@${versionToAdd}`;
|
|
102
|
+
this._addManuallyAddedDep(field, packageStr);
|
|
103
|
+
return {
|
|
104
|
+
[dependency]: versionToAdd
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
_addManuallyRemovedDep(field, value) {
|
|
108
|
+
this.manuallyRemovedDependencies[field] ? this.manuallyRemovedDependencies[field].push(value) : this.manuallyRemovedDependencies[field] = [value];
|
|
109
|
+
}
|
|
110
|
+
_addManuallyAddedDep(field, value) {
|
|
111
|
+
var _this$manuallyAddedDe;
|
|
112
|
+
if ((_this$manuallyAddedDe = this.manuallyAddedDependencies) !== null && _this$manuallyAddedDe !== void 0 && (_this$manuallyAddedDe = _this$manuallyAddedDe[field]) !== null && _this$manuallyAddedDe !== void 0 && _this$manuallyAddedDe.includes(value)) return;
|
|
113
|
+
this.manuallyAddedDependencies[field] ? this.manuallyAddedDependencies[field].push(value) : this.manuallyAddedDependencies[field] = [value];
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
exports.default = OverridesDependencies;
|
|
117
|
+
|
|
118
|
+
//# sourceMappingURL=overrides-dependencies.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_constants","data","require","_logger","_interopRequireDefault","obj","__esModule","default","_defineProperty","key","value","_toPropertyKey","Object","defineProperty","enumerable","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","OverridesDependencies","constructor","component","componentFromModel","manuallyRemovedDependencies","manuallyAddedDependencies","missingPackageDependencies","shouldIgnorePackage","packageName","fileType","field","isTestFile","shouldIgnorePackageByType","packages","some","pkg","ignoreField","overrides","getIgnoredPackages","ignore","_addManuallyRemovedDep","shouldIgnorePeerPackage","ignorePeer","getDependenciesToAddManually","componentOverridesData","DEPENDENCIES_FIELDS","forEach","depField","keys","dependency","dependencyValue","MANUALLY_REMOVE_DEPENDENCY","_manuallyAddPackage","packageJson","packageVersionToAdd","MANUALLY_ADD_DEPENDENCY","found","find","versionToAdd","logger","debug","id","toString","push","packageStr","_addManuallyAddedDep","_this$manuallyAddedDe","includes","exports"],"sources":["overrides-dependencies.ts"],"sourcesContent":["import {\n DEPENDENCIES_FIELDS,\n MANUALLY_ADD_DEPENDENCY,\n MANUALLY_REMOVE_DEPENDENCY,\n} from '@teambit/legacy/dist/constants';\nimport logger from '@teambit/legacy/dist/logger/logger';\nimport Component, { ManuallyChangedDependencies } from '@teambit/legacy/dist/consumer/component/consumer-component';\nimport { FileType } from './auto-detect-deps';\n\nexport default class OverridesDependencies {\n component: Component;\n componentFromModel: Component | null | undefined;\n manuallyRemovedDependencies: ManuallyChangedDependencies;\n manuallyAddedDependencies: ManuallyChangedDependencies;\n missingPackageDependencies: string[];\n constructor(component: Component) {\n this.component = component;\n // @ts-ignore AUTO-ADDED-AFTER-MIGRATION-PLEASE-FIX!\n this.componentFromModel = this.component.componentFromModel;\n this.manuallyRemovedDependencies = {};\n this.manuallyAddedDependencies = {};\n this.missingPackageDependencies = [];\n }\n\n shouldIgnorePackage(packageName: string, fileType: FileType): boolean {\n const field = fileType.isTestFile ? 'devDependencies' : 'dependencies';\n return this.shouldIgnorePackageByType(packageName, field);\n }\n\n shouldIgnorePackageByType(packageName: string, field: string): boolean {\n const shouldIgnorePackage = (packages: string[]) => {\n return packages.some((pkg) => pkg === packageName);\n };\n const ignoreField = this.component.overrides.getIgnoredPackages(field);\n const ignore = shouldIgnorePackage(ignoreField);\n if (ignore) {\n this._addManuallyRemovedDep(field, packageName);\n }\n return ignore;\n }\n\n shouldIgnorePeerPackage(packageName: string): boolean {\n const shouldIgnorePackage = (packages: string[]) => {\n return packages.some((pkg) => pkg === packageName);\n };\n const field = 'peerDependencies';\n const ignorePeer = this.component.overrides.getIgnoredPackages(field);\n const ignore = shouldIgnorePackage(ignorePeer);\n if (ignore) {\n this._addManuallyRemovedDep(field, packageName);\n }\n return ignore;\n }\n\n getDependenciesToAddManually(): Record<string, any> | undefined {\n const overrides = this.component.overrides.componentOverridesData;\n if (!overrides) return undefined;\n const packages = {};\n DEPENDENCIES_FIELDS.forEach((depField) => {\n if (!overrides[depField]) return;\n Object.keys(overrides[depField]).forEach((dependency) => {\n const dependencyValue = overrides[depField][dependency];\n if (dependencyValue === MANUALLY_REMOVE_DEPENDENCY) return;\n (packages[depField] ||= {})[dependency] = dependencyValue;\n });\n });\n return packages;\n }\n\n _manuallyAddPackage(\n field: string,\n dependency: string,\n dependencyValue: string,\n packageJson: Record<string, any> | null | undefined\n ): Record<string, any> | null | undefined {\n const packageVersionToAdd = (): string | null | undefined => {\n if (dependencyValue !== MANUALLY_ADD_DEPENDENCY) {\n return dependencyValue;\n }\n if (!packageJson) return null;\n for (const depField of DEPENDENCIES_FIELDS) {\n if (packageJson[depField]) {\n const found = Object.keys(packageJson[depField]).find((pkg) => pkg === dependency);\n if (found) return packageJson[depField][dependency];\n }\n }\n return null;\n };\n const versionToAdd = packageVersionToAdd();\n if (!versionToAdd) {\n logger.debug(`unable to manually add the dependency \"${dependency}\" into \"${this.component.id.toString()}\".\nit's not an existing component, nor existing package (in a package.json)`);\n this.missingPackageDependencies.push(dependency);\n return undefined;\n }\n const packageStr = `${dependency}@${versionToAdd}`;\n this._addManuallyAddedDep(field, packageStr);\n\n return { [dependency]: versionToAdd };\n }\n\n _addManuallyRemovedDep(field: string, value: string) {\n this.manuallyRemovedDependencies[field]\n ? this.manuallyRemovedDependencies[field].push(value)\n : (this.manuallyRemovedDependencies[field] = [value]);\n }\n\n _addManuallyAddedDep(field: string, value: string) {\n if (this.manuallyAddedDependencies?.[field]?.includes(value)) return;\n\n this.manuallyAddedDependencies[field]\n ? this.manuallyAddedDependencies[field].push(value)\n : (this.manuallyAddedDependencies[field] = [value]);\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function packageToDefinetlyTyped(pkgName: string): string;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.packageToDefinetlyTyped = packageToDefinetlyTyped;
|
|
7
|
+
const scopedRegistryRegex = /^(@([-\w]+)\/)/;
|
|
8
|
+
const scopedRegistryReplace = '$2__';
|
|
9
|
+
|
|
10
|
+
// it seems definetly typed are using this:
|
|
11
|
+
// `const dtsName = packageName.replace("@", "").replace("/", "__")`
|
|
12
|
+
|
|
13
|
+
function packageToDefinetlyTyped(pkgName) {
|
|
14
|
+
const escaped = pkgName.replace(scopedRegistryRegex, scopedRegistryReplace);
|
|
15
|
+
return `@types/${escaped}`;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//# sourceMappingURL=package-to-definetly-typed.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["scopedRegistryRegex","scopedRegistryReplace","packageToDefinetlyTyped","pkgName","escaped","replace"],"sources":["package-to-definetly-typed.ts"],"sourcesContent":["const scopedRegistryRegex = /^(@([-\\w]+)\\/)/;\nconst scopedRegistryReplace = '$2__';\n\n// it seems definetly typed are using this:\n// `const dtsName = packageName.replace(\"@\", \"\").replace(\"/\", \"__\")`\n\nexport function packageToDefinetlyTyped(pkgName: string) {\n const escaped = pkgName.replace(scopedRegistryRegex, scopedRegistryReplace);\n return `@types/${escaped}`;\n}\n"],"mappings":";;;;;;AAAA,MAAMA,mBAAmB,GAAG,gBAAgB;AAC5C,MAAMC,qBAAqB,GAAG,MAAM;;AAEpC;AACA;;AAEO,SAASC,uBAAuBA,CAACC,OAAe,EAAE;EACvD,MAAMC,OAAO,GAAGD,OAAO,CAACE,OAAO,CAACL,mBAAmB,EAAEC,qBAAqB,CAAC;EAC3E,OAAQ,UAASG,OAAQ,EAAC;AAC5B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _chai() {
|
|
4
|
+
const data = require("chai");
|
|
5
|
+
_chai = function () {
|
|
6
|
+
return data;
|
|
7
|
+
};
|
|
8
|
+
return data;
|
|
9
|
+
}
|
|
10
|
+
function _packageToDefinetlyTyped() {
|
|
11
|
+
const data = require("./package-to-definetly-typed");
|
|
12
|
+
_packageToDefinetlyTyped = function () {
|
|
13
|
+
return data;
|
|
14
|
+
};
|
|
15
|
+
return data;
|
|
16
|
+
}
|
|
17
|
+
const scenarios = new Map([['@testing-library/jest-dom', '@types/testing-library__jest-dom'], ['chai', '@types/chai'], ['mocha', '@types/mocha'], ['classnames', '@types/classnames'], ['cors', '@types/cors'], ['cross-spawn', '@types/cross-spawn'], ['dagre', '@types/dagre'], ['didyoumean', '@types/didyoumean'], ['eslint', '@types/eslint'], ['express', '@types/express'], ['find-cache-dir', '@types/find-cache-dir'], ['find-root', '@types/find-root'], ['history', '@types/history'], ['http-proxy-agent', '@types/http-proxy-agent'], ['lodash', '@types/lodash'], ['lodash.compact', '@types/lodash.compact'], ['lodash.flatten', '@types/lodash.flatten'], ['lodash.head', '@types/lodash.head'], ['lodash.pick', '@types/lodash.pick'], ['@mdx-js/react', '@types/mdx-js__react'], ['memoizee', '@types/memoizee'], ['mime', '@types/mime'], ['mousetrap', '@types/mousetrap'], ['node', '@types/node'], ['puppeteer', '@types/puppeteer'], ['react', '@types/react'], ['react-dom', '@types/react-dom'], ['react-router-dom', '@types/react-router-dom'], ['react-tabs', '@types/react-tabs'], ['react-tooltip', '@types/react-tooltip'], ['socket.io-client', '@types/socket.io-client'], ['ua-parser-js', '@types/ua-parser-js'], ['url-join', '@types/url-join'], ['url-parse', '@types/url-parse'], ['webpack', '@types/webpack'], ['webpack-dev-server', '@types/webpack-dev-server'], ['webpack-merge', '@types/webpack-merge']]);
|
|
18
|
+
describe('packageToDefinetlyTyped()', () => {
|
|
19
|
+
scenarios.forEach((expected, input) => {
|
|
20
|
+
it(`should map to ${expected}`, () => {
|
|
21
|
+
const result = (0, _packageToDefinetlyTyped().packageToDefinetlyTyped)(input);
|
|
22
|
+
(0, _chai().expect)(result).to.equal(expected);
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=package-to-definetly-typed.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_chai","data","require","_packageToDefinetlyTyped","scenarios","Map","describe","forEach","expected","input","it","result","packageToDefinetlyTyped","expect","to","equal"],"sources":["package-to-definetly-typed.spec.ts"],"sourcesContent":["import { expect } from 'chai';\nimport { packageToDefinetlyTyped } from './package-to-definetly-typed';\n\nconst scenarios = new Map([\n ['@testing-library/jest-dom', '@types/testing-library__jest-dom'],\n ['chai', '@types/chai'],\n ['mocha', '@types/mocha'],\n\n ['classnames', '@types/classnames'],\n ['cors', '@types/cors'],\n ['cross-spawn', '@types/cross-spawn'],\n ['dagre', '@types/dagre'],\n ['didyoumean', '@types/didyoumean'],\n ['eslint', '@types/eslint'],\n ['express', '@types/express'],\n ['find-cache-dir', '@types/find-cache-dir'],\n ['find-root', '@types/find-root'],\n ['history', '@types/history'],\n ['http-proxy-agent', '@types/http-proxy-agent'],\n ['lodash', '@types/lodash'],\n ['lodash.compact', '@types/lodash.compact'],\n ['lodash.flatten', '@types/lodash.flatten'],\n ['lodash.head', '@types/lodash.head'],\n ['lodash.pick', '@types/lodash.pick'],\n ['@mdx-js/react', '@types/mdx-js__react'],\n ['memoizee', '@types/memoizee'],\n ['mime', '@types/mime'],\n ['mousetrap', '@types/mousetrap'],\n ['node', '@types/node'],\n ['puppeteer', '@types/puppeteer'],\n ['react', '@types/react'],\n ['react-dom', '@types/react-dom'],\n ['react-router-dom', '@types/react-router-dom'],\n ['react-tabs', '@types/react-tabs'],\n ['react-tooltip', '@types/react-tooltip'],\n ['socket.io-client', '@types/socket.io-client'],\n ['ua-parser-js', '@types/ua-parser-js'],\n ['url-join', '@types/url-join'],\n ['url-parse', '@types/url-parse'],\n ['webpack', '@types/webpack'],\n ['webpack-dev-server', '@types/webpack-dev-server'],\n ['webpack-merge', '@types/webpack-merge'],\n]);\n\ndescribe('packageToDefinetlyTyped()', () => {\n scenarios.forEach((expected, input) => {\n it(`should map to ${expected}`, () => {\n const result = packageToDefinetlyTyped(input);\n\n expect(result).to.equal(expected);\n });\n });\n});\n"],"mappings":";;AAAA,SAAAA,MAAA;EAAA,MAAAC,IAAA,GAAAC,OAAA;EAAAF,KAAA,YAAAA,CAAA;IAAA,OAAAC,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AACA,SAAAE,yBAAA;EAAA,MAAAF,IAAA,GAAAC,OAAA;EAAAC,wBAAA,YAAAA,CAAA;IAAA,OAAAF,IAAA;EAAA;EAAA,OAAAA,IAAA;AAAA;AAEA,MAAMG,SAAS,GAAG,IAAIC,GAAG,CAAC,CACxB,CAAC,2BAA2B,EAAE,kCAAkC,CAAC,EACjE,CAAC,MAAM,EAAE,aAAa,CAAC,EACvB,CAAC,OAAO,EAAE,cAAc,CAAC,EAEzB,CAAC,YAAY,EAAE,mBAAmB,CAAC,EACnC,CAAC,MAAM,EAAE,aAAa,CAAC,EACvB,CAAC,aAAa,EAAE,oBAAoB,CAAC,EACrC,CAAC,OAAO,EAAE,cAAc,CAAC,EACzB,CAAC,YAAY,EAAE,mBAAmB,CAAC,EACnC,CAAC,QAAQ,EAAE,eAAe,CAAC,EAC3B,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAC7B,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,EAC3C,CAAC,WAAW,EAAE,kBAAkB,CAAC,EACjC,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAC7B,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,EAC/C,CAAC,QAAQ,EAAE,eAAe,CAAC,EAC3B,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,EAC3C,CAAC,gBAAgB,EAAE,uBAAuB,CAAC,EAC3C,CAAC,aAAa,EAAE,oBAAoB,CAAC,EACrC,CAAC,aAAa,EAAE,oBAAoB,CAAC,EACrC,CAAC,eAAe,EAAE,sBAAsB,CAAC,EACzC,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAC/B,CAAC,MAAM,EAAE,aAAa,CAAC,EACvB,CAAC,WAAW,EAAE,kBAAkB,CAAC,EACjC,CAAC,MAAM,EAAE,aAAa,CAAC,EACvB,CAAC,WAAW,EAAE,kBAAkB,CAAC,EACjC,CAAC,OAAO,EAAE,cAAc,CAAC,EACzB,CAAC,WAAW,EAAE,kBAAkB,CAAC,EACjC,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,EAC/C,CAAC,YAAY,EAAE,mBAAmB,CAAC,EACnC,CAAC,eAAe,EAAE,sBAAsB,CAAC,EACzC,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,EAC/C,CAAC,cAAc,EAAE,qBAAqB,CAAC,EACvC,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAC/B,CAAC,WAAW,EAAE,kBAAkB,CAAC,EACjC,CAAC,SAAS,EAAE,gBAAgB,CAAC,EAC7B,CAAC,oBAAoB,EAAE,2BAA2B,CAAC,EACnD,CAAC,eAAe,EAAE,sBAAsB,CAAC,CAC1C,CAAC;AAEFC,QAAQ,CAAC,2BAA2B,EAAE,MAAM;EAC1CF,SAAS,CAACG,OAAO,CAAC,CAACC,QAAQ,EAAEC,KAAK,KAAK;IACrCC,EAAE,CAAE,iBAAgBF,QAAS,EAAC,EAAE,MAAM;MACpC,MAAMG,MAAM,GAAG,IAAAC,kDAAuB,EAACH,KAAK,CAAC;MAE7C,IAAAI,cAAM,EAACF,MAAM,CAAC,CAACG,EAAE,CAACC,KAAK,CAACP,QAAQ,CAAC;IACnC,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -2,10 +2,14 @@ import { CLIMain } from '@teambit/cli';
|
|
|
2
2
|
import { ComponentID } from '@teambit/component-id';
|
|
3
3
|
import { DependencyResolverMain } from '@teambit/dependency-resolver';
|
|
4
4
|
import { Workspace } from '@teambit/workspace';
|
|
5
|
-
import
|
|
5
|
+
import ConsumerComponent from '@teambit/legacy/dist/consumer/component';
|
|
6
|
+
import { DependencyLoaderOpts } from '@teambit/legacy/dist/consumer/component/component-loader';
|
|
6
7
|
import DependencyGraph from '@teambit/legacy/dist/scope/graph/scope-graph';
|
|
7
|
-
import {
|
|
8
|
+
import { DevFilesMain } from '@teambit/dev-files';
|
|
9
|
+
import { AspectLoaderMain } from '@teambit/aspect-loader';
|
|
10
|
+
import { OverridesDependenciesData } from './dependencies-loader/dependencies-data';
|
|
8
11
|
import { RemoveDependenciesFlags, SetDependenciesFlags } from './dependencies-cmd';
|
|
12
|
+
import { DebugDependencies } from './dependencies-loader/auto-detect-deps';
|
|
9
13
|
export declare type RemoveDependencyResult = {
|
|
10
14
|
id: ComponentID;
|
|
11
15
|
removedPackages: string[];
|
|
@@ -33,7 +37,9 @@ export declare type BlameResult = {
|
|
|
33
37
|
export declare class DependenciesMain {
|
|
34
38
|
private workspace;
|
|
35
39
|
private dependencyResolver;
|
|
36
|
-
|
|
40
|
+
private devFiles;
|
|
41
|
+
private aspectLoader;
|
|
42
|
+
constructor(workspace: Workspace, dependencyResolver: DependencyResolverMain, devFiles: DevFilesMain, aspectLoader: AspectLoaderMain);
|
|
37
43
|
setDependency(componentPattern: string, packages: string[], options: SetDependenciesFlags): Promise<{
|
|
38
44
|
changedComps: string[];
|
|
39
45
|
addedPackages: Record<string, string>;
|
|
@@ -42,6 +48,11 @@ export declare class DependenciesMain {
|
|
|
42
48
|
reset(componentPattern: string): Promise<ComponentID[]>;
|
|
43
49
|
eject(componentPattern: string): Promise<ComponentID[]>;
|
|
44
50
|
getDependencies(id: string): Promise<DependenciesResults>;
|
|
51
|
+
loadDependencies(component: ConsumerComponent, opts: DependencyLoaderOpts): Promise<{
|
|
52
|
+
dependenciesData: import("./dependencies-loader/dependencies-data").DependenciesData;
|
|
53
|
+
overridesDependencies: import("./dependencies-loader/overrides-dependencies").default;
|
|
54
|
+
debugDependenciesData: DebugDependencies;
|
|
55
|
+
}>;
|
|
45
56
|
debugDependencies(id: string): Promise<DependenciesResultsDebug>;
|
|
46
57
|
/**
|
|
47
58
|
* helps determine what snap/tag changed a specific dependency.
|
|
@@ -63,6 +74,12 @@ export declare class DependenciesMain {
|
|
|
63
74
|
static slots: never[];
|
|
64
75
|
static dependencies: import("@teambit/harmony").Aspect[];
|
|
65
76
|
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
66
|
-
static provider([cli, workspace, depsResolver
|
|
77
|
+
static provider([cli, workspace, depsResolver, devFiles, aspectLoader]: [
|
|
78
|
+
CLIMain,
|
|
79
|
+
Workspace,
|
|
80
|
+
DependencyResolverMain,
|
|
81
|
+
DevFilesMain,
|
|
82
|
+
AspectLoaderMain
|
|
83
|
+
]): Promise<DependenciesMain>;
|
|
67
84
|
}
|
|
68
85
|
export default DependenciesMain;
|
|
@@ -46,9 +46,9 @@ function _pMapSeries() {
|
|
|
46
46
|
};
|
|
47
47
|
return data;
|
|
48
48
|
}
|
|
49
|
-
function
|
|
50
|
-
const data = require("@teambit/legacy/dist/consumer/component/
|
|
51
|
-
|
|
49
|
+
function _componentLoader() {
|
|
50
|
+
const data = _interopRequireDefault(require("@teambit/legacy/dist/consumer/component/component-loader"));
|
|
51
|
+
_componentLoader = function () {
|
|
52
52
|
return data;
|
|
53
53
|
};
|
|
54
54
|
return data;
|
|
@@ -60,6 +60,27 @@ function _scopeGraph() {
|
|
|
60
60
|
};
|
|
61
61
|
return data;
|
|
62
62
|
}
|
|
63
|
+
function _devFiles() {
|
|
64
|
+
const data = _interopRequireDefault(require("@teambit/dev-files"));
|
|
65
|
+
_devFiles = function () {
|
|
66
|
+
return data;
|
|
67
|
+
};
|
|
68
|
+
return data;
|
|
69
|
+
}
|
|
70
|
+
function _aspectLoader() {
|
|
71
|
+
const data = _interopRequireDefault(require("@teambit/aspect-loader"));
|
|
72
|
+
_aspectLoader = function () {
|
|
73
|
+
return data;
|
|
74
|
+
};
|
|
75
|
+
return data;
|
|
76
|
+
}
|
|
77
|
+
function _dependenciesLoader() {
|
|
78
|
+
const data = require("./dependencies-loader/dependencies-loader");
|
|
79
|
+
_dependenciesLoader = function () {
|
|
80
|
+
return data;
|
|
81
|
+
};
|
|
82
|
+
return data;
|
|
83
|
+
}
|
|
63
84
|
function _dependenciesCmd() {
|
|
64
85
|
const data = require("./dependencies-cmd");
|
|
65
86
|
_dependenciesCmd = function () {
|
|
@@ -83,9 +104,11 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
83
104
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
84
105
|
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
85
106
|
class DependenciesMain {
|
|
86
|
-
constructor(workspace, dependencyResolver) {
|
|
107
|
+
constructor(workspace, dependencyResolver, devFiles, aspectLoader) {
|
|
87
108
|
this.workspace = workspace;
|
|
88
109
|
this.dependencyResolver = dependencyResolver;
|
|
110
|
+
this.devFiles = devFiles;
|
|
111
|
+
this.aspectLoader = aspectLoader;
|
|
89
112
|
}
|
|
90
113
|
async setDependency(componentPattern, packages, options) {
|
|
91
114
|
const compIds = await this.workspace.idsByPattern(componentPattern);
|
|
@@ -199,24 +222,35 @@ class DependenciesMain {
|
|
|
199
222
|
id: compId
|
|
200
223
|
};
|
|
201
224
|
}
|
|
225
|
+
async loadDependencies(component, opts) {
|
|
226
|
+
const dependenciesLoader = new (_dependenciesLoader().DependenciesLoader)(component, this.workspace, this.dependencyResolver, this.devFiles, this.aspectLoader, opts);
|
|
227
|
+
return dependenciesLoader.load();
|
|
228
|
+
}
|
|
202
229
|
async debugDependencies(id) {
|
|
203
230
|
// @todo: supports this on bare-scope.
|
|
204
231
|
if (!this.workspace) throw new (_workspace().OutsideWorkspaceError)();
|
|
205
232
|
const compId = await this.workspace.resolveComponentId(id);
|
|
206
|
-
const consumer = this.workspace.consumer;
|
|
207
233
|
const component = await this.workspace.get(compId);
|
|
208
234
|
const consumerComponent = component.state._consumer;
|
|
209
|
-
const
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
235
|
+
const dependenciesData = await this.loadDependencies(consumerComponent, {
|
|
236
|
+
cacheResolvedDependencies: {},
|
|
237
|
+
useDependenciesCache: false
|
|
238
|
+
});
|
|
239
|
+
const {
|
|
240
|
+
missingPackageDependencies,
|
|
241
|
+
manuallyAddedDependencies,
|
|
242
|
+
manuallyRemovedDependencies
|
|
243
|
+
} = dependenciesData.overridesDependencies;
|
|
213
244
|
const results = await this.dependencyResolver.getDependencies(component);
|
|
214
245
|
const sources = results.map(dep => ({
|
|
215
246
|
id: dep.id,
|
|
216
247
|
source: dep.source
|
|
217
248
|
}));
|
|
218
|
-
return _objectSpread(_objectSpread(
|
|
219
|
-
|
|
249
|
+
return _objectSpread(_objectSpread({}, dependenciesData.debugDependenciesData), {}, {
|
|
250
|
+
manuallyRemovedDependencies,
|
|
251
|
+
manuallyAddedDependencies,
|
|
252
|
+
missingPackageDependencies,
|
|
253
|
+
coreAspects: dependenciesData.dependenciesData.coreAspects,
|
|
220
254
|
sources
|
|
221
255
|
});
|
|
222
256
|
}
|
|
@@ -308,18 +342,19 @@ class DependenciesMain {
|
|
|
308
342
|
if (packageSplit.length > 2) throw new Error(`invalid package "${pkg}" syntax, expected "package[@version]"`);
|
|
309
343
|
return [packageSplit[0], packageSplit[1]];
|
|
310
344
|
}
|
|
311
|
-
static async provider([cli, workspace, depsResolver]) {
|
|
312
|
-
const depsMain = new DependenciesMain(workspace, depsResolver);
|
|
345
|
+
static async provider([cli, workspace, depsResolver, devFiles, aspectLoader]) {
|
|
346
|
+
const depsMain = new DependenciesMain(workspace, depsResolver, devFiles, aspectLoader);
|
|
313
347
|
const depsCmd = new (_dependenciesCmd().DependenciesCmd)();
|
|
314
348
|
depsCmd.commands = [new (_dependenciesCmd().DependenciesGetCmd)(depsMain), new (_dependenciesCmd().DependenciesRemoveCmd)(depsMain), new (_dependenciesCmd().DependenciesUnsetCmd)(depsMain), new (_dependenciesCmd().DependenciesDebugCmd)(depsMain), new (_dependenciesCmd().DependenciesSetCmd)(depsMain), new (_dependenciesCmd().DependenciesResetCmd)(depsMain), new (_dependenciesCmd().DependenciesEjectCmd)(depsMain), new (_dependenciesCmd().DependenciesBlameCmd)(depsMain), new (_dependenciesCmd().DependenciesUsageCmd)(depsMain)];
|
|
315
349
|
const whyCmd = new (_dependenciesCmd().WhyCmd)(depsMain);
|
|
316
350
|
cli.register(depsCmd, whyCmd);
|
|
351
|
+
_componentLoader().default.loadDeps = depsMain.loadDependencies.bind(depsMain);
|
|
317
352
|
return depsMain;
|
|
318
353
|
}
|
|
319
354
|
}
|
|
320
355
|
exports.DependenciesMain = DependenciesMain;
|
|
321
356
|
_defineProperty(DependenciesMain, "slots", []);
|
|
322
|
-
_defineProperty(DependenciesMain, "dependencies", [_cli().CLIAspect, _workspace().default, _dependencyResolver().DependencyResolverAspect]);
|
|
357
|
+
_defineProperty(DependenciesMain, "dependencies", [_cli().CLIAspect, _workspace().default, _dependencyResolver().DependencyResolverAspect, _devFiles().default, _aspectLoader().default]);
|
|
323
358
|
_defineProperty(DependenciesMain, "runtime", _cli().MainRuntime);
|
|
324
359
|
function isComponentId(depName) {
|
|
325
360
|
return depName.includes('/') && depName[0] !== '@';
|