@teambit/dependency-resolver 1.0.8 → 1.0.9

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.
@@ -298,7 +298,7 @@ export declare class DependencyResolverMain {
298
298
  getPackageName(component: Component): string;
299
299
  getDepResolverData(component: Component): DependencyResolverComponentData | undefined;
300
300
  calcPackageName(component: Component): string;
301
- getRuntimeModulePath(component: Component): string;
301
+ getRuntimeModulePath(component: Component, isInWorkspace?: boolean): string;
302
302
  /**
303
303
  * returns the package path in the /node_modules/ folder
304
304
  * In case you call this in order to run the code from the path, please refer to the `getRuntimeModulePath` API
@@ -439,14 +439,14 @@ export declare class DependencyResolverMain {
439
439
  }>;
440
440
  components: Component[];
441
441
  patterns?: string[];
442
- forceVersionBump?: 'major' | 'minor' | 'patch';
442
+ forceVersionBump?: 'major' | 'minor' | 'patch' | 'compatible';
443
443
  }): Promise<MergedOutdatedPkg[]>;
444
444
  /**
445
445
  * Accepts a list of package dependency policies and returns a list of outdated policies extended with their "latestRange"
446
446
  */
447
447
  getOutdatedPkgs<T>({ rootDir, forceVersionBump, }: {
448
448
  rootDir: string;
449
- forceVersionBump?: 'major' | 'minor' | 'patch';
449
+ forceVersionBump?: 'major' | 'minor' | 'patch' | 'compatible';
450
450
  }, pkgs: Array<{
451
451
  name: string;
452
452
  currentRange: string;
@@ -306,8 +306,8 @@ function _envPolicy() {
306
306
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
307
307
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
308
308
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
309
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
310
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
309
+ 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; }
310
+ 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; }
311
311
  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; }
312
312
  function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
313
313
  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); } // TODO: it's weird we take it from here.. think about it../workspace/utils
@@ -596,13 +596,13 @@ class DependencyResolverMain {
596
596
  * Returns the location where the component is installed with its peer dependencies
597
597
  * This is used in cases you want to actually run the components and make sure all the dependencies (especially peers) are resolved correctly
598
598
  */
599
- getRuntimeModulePath(component) {
599
+ getRuntimeModulePath(component, isInWorkspace = false) {
600
600
  if (!this.hasRootComponents()) {
601
601
  const modulePath = this.getModulePath(component);
602
602
  return modulePath;
603
603
  }
604
604
  const pkgName = this.getPackageName(component);
605
- const selfRootDir = (0, _bitRoots().getRelativeRootComponentDir)(component.id.toString());
605
+ const selfRootDir = (0, _bitRoots().getRelativeRootComponentDir)(!isInWorkspace ? component.id.toString() : component.id.toStringWithoutVersion());
606
606
  // In case the component is it's own root we want to load it from it's own root folder
607
607
  if (_fsExtra().default.pathExistsSync(selfRootDir)) {
608
608
  const innerDir = (0, _path().join)(selfRootDir, 'node_modules', pkgName);
@@ -1269,7 +1269,10 @@ class DependencyResolverMain {
1269
1269
  }
1270
1270
  };
1271
1271
  const outdatedPkgs = (0, _lodash().compact)(await Promise.all(pkgs.map(async pkg => {
1272
- const latestVersion = await tryResolve(`${pkg.name}@${newVersionRange(pkg.currentRange, forceVersionBump)}`);
1272
+ const latestVersion = await tryResolve(`${pkg.name}@${newVersionRange(pkg.currentRange, {
1273
+ pkgSource: pkg.source,
1274
+ forceVersionBump
1275
+ })}`);
1273
1276
  if (!latestVersion) return null;
1274
1277
  const currentVersion = _semver().default.valid(pkg.currentRange.replace(/[\^~]/, ''));
1275
1278
  // If the current version is newer than the latest, then no need to update the dependency
@@ -1384,12 +1387,18 @@ function repeatPrefix(originalSpec, newVersion) {
1384
1387
  return newVersion;
1385
1388
  }
1386
1389
  }
1387
- function newVersionRange(currentRange, forceVersionBump) {
1388
- if (forceVersionBump == null || forceVersionBump === 'major') return 'latest';
1390
+ function newVersionRange(currentRange, opts) {
1391
+ if (opts.forceVersionBump == null || opts.forceVersionBump === 'major') return 'latest';
1389
1392
  const currentVersion = _semver().default.valid(currentRange.replace(/[\^~]/, ''));
1393
+ if (opts.forceVersionBump === 'compatible') {
1394
+ if ((opts.pkgSource === 'component' || opts.pkgSource === 'component-model') && currentVersion === currentRange) {
1395
+ return `^${currentVersion}`;
1396
+ }
1397
+ return currentRange;
1398
+ }
1390
1399
  if (!currentVersion) return null;
1391
1400
  const [major, minor] = currentVersion.split('.');
1392
- switch (forceVersionBump) {
1401
+ switch (opts.forceVersionBump) {
1393
1402
  case 'patch':
1394
1403
  return `>=${currentVersion} <${major}.${+minor + 1}.0`;
1395
1404
  case 'minor':