From 116d5dd70db8d38d4480e4f9818dff5a8b9673bd Mon Sep 17 00:00:00 2001 From: Zoltan Kochan Date: Thu, 2 Apr 2020 02:41:40 +0300 Subject: [PATCH] refactor: create @pnpm/pick-registry-for-package --- packages/outdated/package.json | 1 + packages/outdated/src/createManifestGetter.ts | 2 +- packages/outdated/tsconfig.json | 3 ++ packages/pick-registry-for-package/README.md | 13 +++++++ .../pick-registry-for-package/package.json | 34 +++++++++++++++++++ .../src/index.ts} | 0 .../pick-registry-for-package/tsconfig.json | 16 +++++++++ .../plugin-commands-publishing/package.json | 1 + .../src/recursivePublish.ts | 2 +- .../plugin-commands-publishing/tsconfig.json | 3 ++ packages/plugin-commands-store/package.json | 1 + .../plugin-commands-store/src/storeAdd.ts | 3 +- packages/plugin-commands-store/tsconfig.json | 3 ++ packages/resolve-dependencies/package.json | 1 + .../src/resolveDependencies.ts | 2 +- packages/resolve-dependencies/tsconfig.json | 3 ++ packages/utils/src/index.ts | 2 -- pnpm-lock.yaml | 16 +++++++++ 18 files changed, 100 insertions(+), 6 deletions(-) create mode 100644 packages/pick-registry-for-package/README.md create mode 100644 packages/pick-registry-for-package/package.json rename packages/{utils/src/pickRegistryForPackage.ts => pick-registry-for-package/src/index.ts} (100%) create mode 100644 packages/pick-registry-for-package/tsconfig.json diff --git a/packages/outdated/package.json b/packages/outdated/package.json index 289551517c..7d6ab1a4ed 100644 --- a/packages/outdated/package.json +++ b/packages/outdated/package.json @@ -43,6 +43,7 @@ "@pnpm/lockfile-utils": "workspace:2.0.9", "@pnpm/matcher": "workspace:1.0.0", "@pnpm/modules-yaml": "workspace:6.0.1", + "@pnpm/pick-registry-for-package": "workspace:0.0.0", "@pnpm/store-path": "2.1.1", "@pnpm/types": "workspace:5.0.0", "@pnpm/utils": "workspace:0.13.0", diff --git a/packages/outdated/src/createManifestGetter.ts b/packages/outdated/src/createManifestGetter.ts index 7745226247..915d93d3b1 100644 --- a/packages/outdated/src/createManifestGetter.ts +++ b/packages/outdated/src/createManifestGetter.ts @@ -1,6 +1,6 @@ import createResolver, { ResolveFunction, ResolverFactoryOptions } from '@pnpm/default-resolver' +import pickRegistryForPackage from '@pnpm/pick-registry-for-package' import { DependencyManifest, Registries } from '@pnpm/types' -import { pickRegistryForPackage } from '@pnpm/utils' import LRU = require('lru-cache') type GetManifestOpts = { diff --git a/packages/outdated/tsconfig.json b/packages/outdated/tsconfig.json index 3afde02520..9abdeb317f 100644 --- a/packages/outdated/tsconfig.json +++ b/packages/outdated/tsconfig.json @@ -33,6 +33,9 @@ { "path": "../modules-yaml" }, + { + "path": "../pick-registry-for-package" + }, { "path": "../types" }, diff --git a/packages/pick-registry-for-package/README.md b/packages/pick-registry-for-package/README.md new file mode 100644 index 0000000000..cc02dea08d --- /dev/null +++ b/packages/pick-registry-for-package/README.md @@ -0,0 +1,13 @@ +# @pnpm/pick-registry-for-package + +> Picks the right registry for the package from a registries config + +## Installation + +``` +pnpm add @pnpm/pick-registry-for-package +``` + +## License + +[MIT](LICENSE) diff --git a/packages/pick-registry-for-package/package.json b/packages/pick-registry-for-package/package.json new file mode 100644 index 0000000000..8075a3e2a5 --- /dev/null +++ b/packages/pick-registry-for-package/package.json @@ -0,0 +1,34 @@ +{ + "name": "@pnpm/pick-registry-for-package", + "description": "Picks the right registry for the package from a registries config", + "version": "0.0.0", + "author": "Zoltan Kochan (https://www.kochan.io/)", + "bugs": { + "url": "https://github.com/pnpm/pnpm/issues" + }, + "main": "lib/index.js", + "typings": "lib/index.d.ts", + "files": [ + "lib", + "!*.map" + ], + "devDependencies": { + "@pnpm/pick-registry-for-package": "link:" + }, + "keywords": [], + "license": "MIT", + "engines": { + "node": ">=10.13" + }, + "repository": "https://github.com/pnpm/pnpm/blob/master/packages/pick-registry-for-package", + "scripts": { + "test": "pnpm run compile", + "lint": "tslint -c ../../tslint.json --project .", + "prepublishOnly": "pnpm run compile", + "compile": "rimraf lib tsconfig.tsbuildinfo && tsc --build" + }, + "dependencies": { + "@pnpm/types": "workspace:5.0.0" + }, + "homepage": "https://github.com/pnpm/pnpm/blob/master/packages/pick-registry-for-package#readme" +} diff --git a/packages/utils/src/pickRegistryForPackage.ts b/packages/pick-registry-for-package/src/index.ts similarity index 100% rename from packages/utils/src/pickRegistryForPackage.ts rename to packages/pick-registry-for-package/src/index.ts diff --git a/packages/pick-registry-for-package/tsconfig.json b/packages/pick-registry-for-package/tsconfig.json new file mode 100644 index 0000000000..7fa294a1eb --- /dev/null +++ b/packages/pick-registry-for-package/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "@pnpm/tsconfig", + "compilerOptions": { + "outDir": "lib", + "rootDir": "src" + }, + "include": [ + "src/**/*.ts", + "../../typings/**/*.d.ts" + ], + "references": [ + { + "path": "../types" + } + ] +} diff --git a/packages/plugin-commands-publishing/package.json b/packages/plugin-commands-publishing/package.json index 43236da974..931113cb33 100644 --- a/packages/plugin-commands-publishing/package.json +++ b/packages/plugin-commands-publishing/package.json @@ -57,6 +57,7 @@ "@pnpm/error": "workspace:1.2.0", "@pnpm/lifecycle": "workspace:8.1.0", "@pnpm/npm-resolver": "workspace:7.3.8", + "@pnpm/pick-registry-for-package": "workspace:0.0.0", "@pnpm/read-project-manifest": "workspace:1.0.3", "@pnpm/resolver-base": "workspace:7.0.0", "@pnpm/run-npm": "workspace:2.0.0", diff --git a/packages/plugin-commands-publishing/src/recursivePublish.ts b/packages/plugin-commands-publishing/src/recursivePublish.ts index 7bfadb5762..837998b522 100644 --- a/packages/plugin-commands-publishing/src/recursivePublish.ts +++ b/packages/plugin-commands-publishing/src/recursivePublish.ts @@ -1,11 +1,11 @@ import { Config, Project } from '@pnpm/config' import createResolver from '@pnpm/npm-resolver' +import pickRegistryForPackage from '@pnpm/pick-registry-for-package' import { ResolveFunction } from '@pnpm/resolver-base' import runNpm from '@pnpm/run-npm' import sortPackages from '@pnpm/sort-packages' import storePath from '@pnpm/store-path' import { Registries } from '@pnpm/types' -import { pickRegistryForPackage } from '@pnpm/utils' import LRU = require('lru-cache') import pFilter = require('p-filter') import { handler as publish } from './publish' diff --git a/packages/plugin-commands-publishing/tsconfig.json b/packages/plugin-commands-publishing/tsconfig.json index 8be7ac76ec..df3fde5da9 100644 --- a/packages/plugin-commands-publishing/tsconfig.json +++ b/packages/plugin-commands-publishing/tsconfig.json @@ -24,6 +24,9 @@ { "path": "../npm-resolver" }, + { + "path": "../pick-registry-for-package" + }, { "path": "../read-project-manifest" }, diff --git a/packages/plugin-commands-store/package.json b/packages/plugin-commands-store/package.json index 8cfe0324ee..713c3745e3 100644 --- a/packages/plugin-commands-store/package.json +++ b/packages/plugin-commands-store/package.json @@ -56,6 +56,7 @@ "@pnpm/error": "workspace:1.2.0", "@pnpm/get-context": "workspace:1.1.5", "@pnpm/normalize-registries": "workspace:0.0.0", + "@pnpm/pick-registry-for-package": "workspace:0.0.0", "@pnpm/store-connection-manager": "workspace:0.2.25", "@pnpm/store-controller-types": "workspace:7.0.0", "@pnpm/store-path": "2.1.1", diff --git a/packages/plugin-commands-store/src/storeAdd.ts b/packages/plugin-commands-store/src/storeAdd.ts index ed68f1cc5b..919fa3f17b 100644 --- a/packages/plugin-commands-store/src/storeAdd.ts +++ b/packages/plugin-commands-store/src/storeAdd.ts @@ -1,8 +1,9 @@ import PnpmError from '@pnpm/error' import logger, { globalInfo, streamParser } from '@pnpm/logger' +import pickRegistryForPackage from '@pnpm/pick-registry-for-package' import { StoreController } from '@pnpm/store-controller-types' import { Registries } from '@pnpm/types' -import { parseWantedDependency, pickRegistryForPackage } from '@pnpm/utils' +import { parseWantedDependency } from '@pnpm/utils' import { ReporterFunction } from './types' export default async function ( diff --git a/packages/plugin-commands-store/tsconfig.json b/packages/plugin-commands-store/tsconfig.json index b1f5e797c3..d3535a9d3b 100644 --- a/packages/plugin-commands-store/tsconfig.json +++ b/packages/plugin-commands-store/tsconfig.json @@ -24,6 +24,9 @@ { "path": "../normalize-registries" }, + { + "path": "../pick-registry-for-package" + }, { "path": "../store-connection-manager" }, diff --git a/packages/resolve-dependencies/package.json b/packages/resolve-dependencies/package.json index eda22dc26d..88b8da343c 100644 --- a/packages/resolve-dependencies/package.json +++ b/packages/resolve-dependencies/package.json @@ -33,6 +33,7 @@ "@pnpm/lockfile-utils": "workspace:2.0.9", "@pnpm/npm-resolver": "workspace:7.3.8", "@pnpm/package-is-installable": "workspace:4.0.6", + "@pnpm/pick-registry-for-package": "workspace:0.0.0", "@pnpm/resolver-base": "workspace:7.0.0", "@pnpm/store-controller-types": "workspace:7.0.0", "@pnpm/types": "workspace:5.0.0", diff --git a/packages/resolve-dependencies/src/resolveDependencies.ts b/packages/resolve-dependencies/src/resolveDependencies.ts index 64e3638f3e..1a10754ead 100644 --- a/packages/resolve-dependencies/src/resolveDependencies.ts +++ b/packages/resolve-dependencies/src/resolveDependencies.ts @@ -16,6 +16,7 @@ import { } from '@pnpm/lockfile-utils' import logger from '@pnpm/logger' import packageIsInstallable from '@pnpm/package-is-installable' +import pickRegistryForPackage from '@pnpm/pick-registry-for-package' import { DirectoryResolution, PreferredVersions, @@ -35,7 +36,6 @@ import { ReadPackageHook, Registries, } from '@pnpm/types' -import { pickRegistryForPackage } from '@pnpm/utils' import * as dp from 'dependency-path' import path = require('path') import exists = require('path-exists') diff --git a/packages/resolve-dependencies/tsconfig.json b/packages/resolve-dependencies/tsconfig.json index 518889ccb8..a909b7a68c 100644 --- a/packages/resolve-dependencies/tsconfig.json +++ b/packages/resolve-dependencies/tsconfig.json @@ -27,6 +27,9 @@ { "path": "../package-is-installable" }, + { + "path": "../pick-registry-for-package" + }, { "path": "../resolver-base" }, diff --git a/packages/utils/src/index.ts b/packages/utils/src/index.ts index ab32b0a69d..2bd52ca2da 100644 --- a/packages/utils/src/index.ts +++ b/packages/utils/src/index.ts @@ -1,12 +1,10 @@ import getAllDependenciesFromPackage from './getAllDependenciesFromPackage' import parseWantedDependency from './parseWantedDependency' -import pickRegistryForPackage from './pickRegistryForPackage' import realNodeModulesDir from './realNodeModulesDir' export { getAllDependenciesFromPackage, parseWantedDependency, - pickRegistryForPackage, realNodeModulesDir, } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bf72aaa8a0..242a4e5422 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1070,6 +1070,7 @@ importers: '@pnpm/lockfile-utils': 'link:../lockfile-utils' '@pnpm/matcher': 'link:../matcher' '@pnpm/modules-yaml': 'link:../modules-yaml' + '@pnpm/pick-registry-for-package': 'link:../pick-registry-for-package' '@pnpm/store-path': 2.1.1 '@pnpm/types': 'link:../types' '@pnpm/utils': 'link:../utils' @@ -1095,6 +1096,7 @@ importers: '@pnpm/matcher': 'workspace:1.0.0' '@pnpm/modules-yaml': 'workspace:6.0.1' '@pnpm/outdated': 'link:' + '@pnpm/pick-registry-for-package': 'workspace:0.0.0' '@pnpm/store-path': 2.1.1 '@pnpm/types': 'workspace:5.0.0' '@pnpm/utils': 'workspace:0.13.0' @@ -1304,6 +1306,14 @@ importers: '@pnpm/parse-cli-args': 'link:' '@types/nopt': 3.0.29 nopt: 4.0.3 + packages/pick-registry-for-package: + dependencies: + '@pnpm/types': 'link:../types' + devDependencies: + '@pnpm/pick-registry-for-package': 'link:' + specifiers: + '@pnpm/pick-registry-for-package': 'link:' + '@pnpm/types': 'workspace:5.0.0' packages/pkgs-graph: dependencies: '@pnpm/resolve-workspace-range': 'link:../resolve-workspace-range' @@ -1637,6 +1647,7 @@ importers: '@pnpm/error': 'link:../error' '@pnpm/lifecycle': 'link:../lifecycle' '@pnpm/npm-resolver': 'link:../npm-resolver' + '@pnpm/pick-registry-for-package': 'link:../pick-registry-for-package' '@pnpm/read-project-manifest': 'link:../read-project-manifest' '@pnpm/resolver-base': 'link:../resolver-base' '@pnpm/run-npm': 'link:../run-npm' @@ -1678,6 +1689,7 @@ importers: '@pnpm/filter-workspace-packages': 'workspace:2.0.9' '@pnpm/lifecycle': 'workspace:8.1.0' '@pnpm/npm-resolver': 'workspace:7.3.8' + '@pnpm/pick-registry-for-package': 'workspace:0.0.0' '@pnpm/plugin-commands-publishing': 'link:' '@pnpm/prepare': 'workspace:0.0.0' '@pnpm/read-project-manifest': 'workspace:1.0.3' @@ -1918,6 +1930,7 @@ importers: '@pnpm/error': 'link:../error' '@pnpm/get-context': 'link:../get-context' '@pnpm/normalize-registries': 'link:../normalize-registries' + '@pnpm/pick-registry-for-package': 'link:../pick-registry-for-package' '@pnpm/store-connection-manager': 'link:../store-connection-manager' '@pnpm/store-controller-types': 'link:../store-controller-types' '@pnpm/store-path': 2.1.1 @@ -1955,6 +1968,7 @@ importers: '@pnpm/lockfile-file': 'workspace:3.0.7' '@pnpm/logger': 3.1.0 '@pnpm/normalize-registries': 'workspace:0.0.0' + '@pnpm/pick-registry-for-package': 'workspace:0.0.0' '@pnpm/plugin-commands-store': 'link:' '@pnpm/prepare': 'workspace:0.0.0' '@pnpm/store-connection-manager': 'workspace:0.2.25' @@ -2284,6 +2298,7 @@ importers: '@pnpm/lockfile-utils': 'link:../lockfile-utils' '@pnpm/npm-resolver': 'link:../npm-resolver' '@pnpm/package-is-installable': 'link:../package-is-installable' + '@pnpm/pick-registry-for-package': 'link:../pick-registry-for-package' '@pnpm/resolver-base': 'link:../resolver-base' '@pnpm/store-controller-types': 'link:../store-controller-types' '@pnpm/types': 'link:../types' @@ -2306,6 +2321,7 @@ importers: '@pnpm/logger': 3.1.0 '@pnpm/npm-resolver': 'workspace:7.3.8' '@pnpm/package-is-installable': 'workspace:4.0.6' + '@pnpm/pick-registry-for-package': 'workspace:0.0.0' '@pnpm/resolve-dependencies': 'link:' '@pnpm/resolver-base': 'workspace:7.0.0' '@pnpm/store-controller-types': 'workspace:7.0.0'