@teambit/pnpm 0.0.590 → 0.0.594
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/dist/index.d.ts +2 -2
- package/dist/index.js +4 -14
- package/dist/index.js.map +1 -1
- package/dist/lynx.d.ts +10 -1
- package/dist/lynx.js +60 -14
- package/dist/lynx.js.map +1 -1
- package/dist/pnpm.package-manager.d.ts +7 -0
- package/dist/pnpm.package-manager.js +60 -9
- package/dist/pnpm.package-manager.js.map +1 -1
- package/dist/pnpm.ui.runtime.d.ts +8 -0
- package/dist/pnpm.ui.runtime.js +117 -0
- package/dist/pnpm.ui.runtime.js.map +1 -0
- package/package-tar/teambit-pnpm-0.0.594.tgz +0 -0
- package/package.json +25 -22
- package/pnpm.ui.runtime.tsx +39 -0
- package/package-tar/teambit-pnpm-0.0.590.tgz +0 -0
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { PnpmPackageManager } from './pnpm.package-manager';
|
|
2
1
|
export type { PnpmMain } from './pnpm.main.runtime';
|
|
3
|
-
export {
|
|
2
|
+
export type { PnpmUI } from './pnpm.ui.runtime';
|
|
3
|
+
export { PnpmAspect as default, PnpmAspect } from './pnpm.aspect';
|
package/dist/index.js
CHANGED
|
@@ -6,30 +6,20 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
Object.defineProperty(exports, "PnpmAspect", {
|
|
7
7
|
enumerable: true,
|
|
8
8
|
get: function () {
|
|
9
|
-
return
|
|
9
|
+
return _pnpm().PnpmAspect;
|
|
10
10
|
}
|
|
11
11
|
});
|
|
12
|
-
Object.defineProperty(exports, "
|
|
12
|
+
Object.defineProperty(exports, "default", {
|
|
13
13
|
enumerable: true,
|
|
14
14
|
get: function () {
|
|
15
|
-
return _pnpm().
|
|
15
|
+
return _pnpm().PnpmAspect;
|
|
16
16
|
}
|
|
17
17
|
});
|
|
18
18
|
|
|
19
19
|
function _pnpm() {
|
|
20
|
-
const data = require("./pnpm.package-manager");
|
|
21
|
-
|
|
22
|
-
_pnpm = function () {
|
|
23
|
-
return data;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
return data;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
function _pnpm2() {
|
|
30
20
|
const data = require("./pnpm.aspect");
|
|
31
21
|
|
|
32
|
-
|
|
22
|
+
_pnpm = function () {
|
|
33
23
|
return data;
|
|
34
24
|
};
|
|
35
25
|
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAEA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA","sourcesContent":["export type { PnpmMain } from './pnpm.main.runtime';\nexport type { PnpmUI } from './pnpm.ui.runtime';\nexport { PnpmAspect as default, PnpmAspect } from './pnpm.aspect';"]}
|
package/dist/lynx.d.ts
CHANGED
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import { ResolvedPackageVersion, Registries, PackageManagerProxyConfig, PackageManagerNetworkConfig } from '@teambit/dependency-resolver';
|
|
2
|
+
import { PeerDependencyIssuesByProjects } from '@pnpm/core';
|
|
2
3
|
import { Logger } from '@teambit/logger';
|
|
3
|
-
export declare function
|
|
4
|
+
export declare function getPeerDependencyIssues(rootManifest: any, manifestsByPaths: Record<string, any>, opts: {
|
|
5
|
+
storeDir: string;
|
|
6
|
+
cacheDir: string;
|
|
7
|
+
registries: Registries;
|
|
8
|
+
proxyConfig: PackageManagerProxyConfig;
|
|
9
|
+
networkConfig: PackageManagerNetworkConfig;
|
|
10
|
+
overrides?: Record<string, string>;
|
|
11
|
+
}): Promise<PeerDependencyIssuesByProjects>;
|
|
12
|
+
export declare function install(rootManifest: any, manifestsByPaths: any, storeDir: string, cacheDir: string, registries: Registries, proxyConfig?: PackageManagerProxyConfig, networkConfig?: PackageManagerNetworkConfig, options?: {
|
|
4
13
|
overrides?: Record<string, string>;
|
|
5
14
|
}, logger?: Logger): Promise<void>;
|
|
6
15
|
export declare function resolveRemoteVersion(packageName: string, rootDir: string, cacheDir: string, registries: Registries, proxyConfig?: PackageManagerProxyConfig, networkConfig?: PackageManagerNetworkConfig): Promise<ResolvedPackageVersion>;
|
package/dist/lynx.js
CHANGED
|
@@ -11,6 +11,7 @@ require("core-js/modules/es.regexp.exec.js");
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", {
|
|
12
12
|
value: true
|
|
13
13
|
});
|
|
14
|
+
exports.getPeerDependencyIssues = getPeerDependencyIssues;
|
|
14
15
|
exports.install = install;
|
|
15
16
|
exports.resolveRemoteVersion = resolveRemoteVersion;
|
|
16
17
|
|
|
@@ -74,10 +75,10 @@ function _dependencyResolver() {
|
|
|
74
75
|
return data;
|
|
75
76
|
}
|
|
76
77
|
|
|
77
|
-
function
|
|
78
|
-
const data = require("@pnpm/core");
|
|
78
|
+
function pnpm() {
|
|
79
|
+
const data = _interopRequireWildcard(require("@pnpm/core"));
|
|
79
80
|
|
|
80
|
-
|
|
81
|
+
pnpm = function () {
|
|
81
82
|
return data;
|
|
82
83
|
};
|
|
83
84
|
|
|
@@ -124,6 +125,12 @@ function _readConfig() {
|
|
|
124
125
|
return data;
|
|
125
126
|
}
|
|
126
127
|
|
|
128
|
+
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); }
|
|
129
|
+
|
|
130
|
+
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; }
|
|
131
|
+
|
|
132
|
+
const STORE_CACHE = {};
|
|
133
|
+
|
|
127
134
|
async function createStoreController(rootDir, storeDir, cacheDir, registries, proxyConfig = {}, networkConfig = {}) {
|
|
128
135
|
const authConfig = getAuthConfig(registries);
|
|
129
136
|
const opts = {
|
|
@@ -142,10 +149,18 @@ async function createStoreController(rootDir, storeDir, cacheDir, registries, pr
|
|
|
142
149
|
strictSsl: proxyConfig.strictSSL,
|
|
143
150
|
maxSockets: networkConfig.maxSockets,
|
|
144
151
|
networkConcurrency: networkConfig.networkConcurrency
|
|
145
|
-
}; //
|
|
146
|
-
//
|
|
152
|
+
}; // We should avoid the recreation of store.
|
|
153
|
+
// The store holds cache that makes subsequent resolutions faster.
|
|
154
|
+
|
|
155
|
+
const cacheKey = JSON.stringify(opts);
|
|
156
|
+
|
|
157
|
+
if (!STORE_CACHE[cacheKey]) {
|
|
158
|
+
// Although it would be enough to call createNewStoreController(),
|
|
159
|
+
// that doesn't resolve the store directory location.
|
|
160
|
+
STORE_CACHE[cacheKey] = await (0, _storeConnectionManager().createOrConnectStoreController)(opts);
|
|
161
|
+
}
|
|
147
162
|
|
|
148
|
-
return
|
|
163
|
+
return STORE_CACHE[cacheKey];
|
|
149
164
|
}
|
|
150
165
|
|
|
151
166
|
async function generateResolverAndFetcher(cacheDir, registries, proxyConfig = {}, networkConfig = {}) {
|
|
@@ -174,7 +189,38 @@ async function generateResolverAndFetcher(cacheDir, registries, proxyConfig = {}
|
|
|
174
189
|
return result;
|
|
175
190
|
}
|
|
176
191
|
|
|
177
|
-
async function
|
|
192
|
+
async function getPeerDependencyIssues(rootManifest, manifestsByPaths, opts) {
|
|
193
|
+
const projects = [];
|
|
194
|
+
const workspacePackages = {};
|
|
195
|
+
|
|
196
|
+
for (const [rootDir, manifest] of Object.entries(manifestsByPaths)) {
|
|
197
|
+
projects.push({
|
|
198
|
+
manifest,
|
|
199
|
+
rootDir
|
|
200
|
+
});
|
|
201
|
+
workspacePackages[manifest.name] = workspacePackages[manifest.name] || {};
|
|
202
|
+
workspacePackages[manifest.name][manifest.version] = {
|
|
203
|
+
dir: rootDir,
|
|
204
|
+
manifest
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
projects.push({
|
|
209
|
+
manifest: rootManifest.manifest,
|
|
210
|
+
rootDir: rootManifest.rootDir
|
|
211
|
+
});
|
|
212
|
+
const registriesMap = getRegistriesMap(opts.registries);
|
|
213
|
+
const storeController = await createStoreController(rootManifest.rootDir, opts.storeDir, opts.cacheDir, opts.registries, opts.proxyConfig, opts.networkConfig);
|
|
214
|
+
return pnpm().getPeerDependencyIssues(projects, {
|
|
215
|
+
storeController: storeController.ctrl,
|
|
216
|
+
storeDir: storeController.dir,
|
|
217
|
+
overrides: opts.overrides,
|
|
218
|
+
workspacePackages,
|
|
219
|
+
registries: registriesMap
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
async function install(rootManifest, manifestsByPaths, storeDir, cacheDir, registries, proxyConfig = {}, networkConfig = {}, options, // eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
178
224
|
logger) {
|
|
179
225
|
const packagesToBuild = []; // @pnpm/core will use this to install the packages
|
|
180
226
|
|
|
@@ -192,8 +238,8 @@ logger) {
|
|
|
192
238
|
// This is the rational behind not deleting this completely, but need further check that it really works
|
|
193
239
|
// eslint-disable-next-line
|
|
194
240
|
|
|
195
|
-
for (const rootDir in
|
|
196
|
-
const manifest =
|
|
241
|
+
for (const rootDir in manifestsByPaths) {
|
|
242
|
+
const manifest = manifestsByPaths[rootDir];
|
|
197
243
|
packagesToBuild.push({
|
|
198
244
|
buildIndex: 0,
|
|
199
245
|
// workspace components should be installed before the root
|
|
@@ -211,16 +257,16 @@ logger) {
|
|
|
211
257
|
packagesToBuild.push({
|
|
212
258
|
buildIndex: 1,
|
|
213
259
|
// install the root package after the workspace components were installed
|
|
214
|
-
manifest:
|
|
260
|
+
manifest: rootManifest.manifest,
|
|
215
261
|
mutation: 'install',
|
|
216
|
-
rootDir:
|
|
262
|
+
rootDir: rootManifest.rootDir
|
|
217
263
|
});
|
|
218
264
|
const registriesMap = getRegistriesMap(registries);
|
|
219
265
|
const authConfig = getAuthConfig(registries);
|
|
220
|
-
const storeController = await createStoreController(
|
|
266
|
+
const storeController = await createStoreController(rootManifest.rootDir, storeDir, cacheDir, registries, proxyConfig, networkConfig);
|
|
221
267
|
const opts = {
|
|
222
268
|
storeDir: storeController.dir,
|
|
223
|
-
dir:
|
|
269
|
+
dir: rootManifest.rootDir,
|
|
224
270
|
storeController: storeController.ctrl,
|
|
225
271
|
workspacePackages,
|
|
226
272
|
preferFrozenLockfile: true,
|
|
@@ -240,7 +286,7 @@ logger) {
|
|
|
240
286
|
});
|
|
241
287
|
|
|
242
288
|
try {
|
|
243
|
-
await (0,
|
|
289
|
+
await (0, pnpm().mutateModules)(packagesToBuild, opts);
|
|
244
290
|
} finally {
|
|
245
291
|
stopReporting();
|
|
246
292
|
}
|
package/dist/lynx.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["lynx.ts"],"names":["createStoreController","rootDir","storeDir","cacheDir","registries","proxyConfig","networkConfig","authConfig","getAuthConfig","opts","dir","rawConfig","verifyStoreIntegrity","httpProxy","httpsProxy","ca","cert","key","localAddress","noProxy","strictSsl","strictSSL","maxSockets","networkConcurrency","generateResolverAndFetcher","pnpmConfig","Object","assign","config","timeout","fetchTimeout","retry","factor","fetchRetryFactor","maxTimeout","fetchRetryMaxtimeout","minTimeout","fetchRetryMintimeout","retries","fetchRetries","result","install","rootPathToManifest","pathsToManifests","options","logger","packagesToBuild","workspacePackages","manifest","push","buildIndex","mutation","name","version","registriesMap","getRegistriesMap","storeController","ctrl","preferFrozenLockfile","overrides","stopReporting","context","argv","reportingOptions","appendOnly","throttleProgress","streamParser","resolveRemoteVersion","packageName","resolve","resolveOpts","projectDir","registry","parsedPackage","wantedDep","alias","pref","isValidRange","semver","validRange","val","isSemver","resolvedVia","e","message","includes","undefined","normalizedPref","default","defaultRegistry","uri","NPM_REGISTRY","entries","scopes","forEach","registryName","res","alwaysAuth","defaultAuthTokens","getAuthTokenForRegistry","keyName","authTokens","nerfed","alwaysAuthKeyName","isDefault","originalAuthType","originalAuthValue","split"],"mappings":"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","sourcesContent":["import semver from 'semver';\nimport parsePackageName from 'parse-package-name';\nimport defaultReporter from '@pnpm/default-reporter';\nimport { streamParser } from '@pnpm/logger';\nimport { StoreController, WantedDependency } from '@pnpm/package-store';\nimport { createOrConnectStoreController, CreateStoreControllerOptions } from '@pnpm/store-connection-manager';\nimport {\n ResolvedPackageVersion,\n Registries,\n NPM_REGISTRY,\n Registry,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\nimport { MutatedProject, mutateModules } from '@pnpm/core';\nimport createResolverAndFetcher, { ClientOptions } from '@pnpm/client';\nimport pickRegistryForPackage from '@pnpm/pick-registry-for-package';\nimport { Logger } from '@teambit/logger';\nimport toNerfDart from 'nerf-dart';\nimport { readConfig } from './read-config';\n\ntype RegistriesMap = {\n default: string;\n [registryName: string]: string;\n};\n\nasync function createStoreController(\n rootDir: string,\n storeDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {}\n): Promise<{ ctrl: StoreController; dir: string }> {\n const authConfig = getAuthConfig(registries);\n const opts: CreateStoreControllerOptions = {\n dir: rootDir,\n cacheDir,\n storeDir,\n rawConfig: authConfig,\n verifyStoreIntegrity: true,\n httpProxy: proxyConfig?.httpProxy,\n httpsProxy: proxyConfig?.httpsProxy,\n ca: proxyConfig?.ca,\n cert: proxyConfig?.cert,\n key: proxyConfig?.key,\n localAddress: networkConfig?.localAddress,\n noProxy: proxyConfig?.noProxy,\n strictSsl: proxyConfig.strictSSL,\n maxSockets: networkConfig.maxSockets,\n networkConcurrency: networkConfig.networkConcurrency,\n };\n // Although it would be enough to call createNewStoreController(),\n // that doesn't resolve the store directory location.\n return createOrConnectStoreController(opts);\n}\n\nasync function generateResolverAndFetcher(\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {}\n) {\n const pnpmConfig = await readConfig();\n const authConfig = getAuthConfig(registries);\n const opts: ClientOptions = {\n authConfig: Object.assign({}, pnpmConfig.config.rawConfig, authConfig),\n cacheDir,\n httpProxy: proxyConfig?.httpProxy,\n httpsProxy: proxyConfig?.httpsProxy,\n ca: proxyConfig?.ca,\n cert: proxyConfig?.cert,\n key: proxyConfig?.key,\n localAddress: networkConfig?.localAddress,\n noProxy: proxyConfig?.noProxy,\n strictSsl: proxyConfig.strictSSL,\n timeout: networkConfig.fetchTimeout,\n retry: {\n factor: networkConfig.fetchRetryFactor,\n maxTimeout: networkConfig.fetchRetryMaxtimeout,\n minTimeout: networkConfig.fetchRetryMintimeout,\n retries: networkConfig.fetchRetries,\n },\n };\n const result = createResolverAndFetcher(opts);\n return result;\n}\n\nexport async function install(\n rootPathToManifest,\n pathsToManifests,\n storeDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {},\n options?: {\n overrides?: Record<string, string>;\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n logger?: Logger\n) {\n const packagesToBuild: MutatedProject[] = []; // @pnpm/core will use this to install the packages\n const workspacePackages = {}; // @pnpm/core will use this to link packages to each other\n\n // This will create local link by pnpm to a component exists in the ws.\n // it will later deleted by the link process\n // we keep it here to better support case like this:\n // compA@1.0.0 uses compB@1.0.0\n // I have compB@2.0.0 in my workspace\n // now I install compA@1.0.0\n // compA is hoisted to the root and install B@1.0.0 hoisted to the root as well\n // now we will make link to B@2.0.0 and A will break\n // with this we will have a link to the local B by pnpm so it will install B@1.0.0 inside A\n // then when overriding the link, A will still works\n // This is the rational behind not deleting this completely, but need further check that it really works\n\n // eslint-disable-next-line\n for (const rootDir in pathsToManifests) {\n const manifest = pathsToManifests[rootDir];\n packagesToBuild.push({\n buildIndex: 0, // workspace components should be installed before the root\n manifest,\n rootDir,\n mutation: 'install',\n });\n workspacePackages[manifest.name] = workspacePackages[manifest.name] || {};\n workspacePackages[manifest.name][manifest.version] = { dir: rootDir, manifest };\n }\n packagesToBuild.push({\n buildIndex: 1, // install the root package after the workspace components were installed\n manifest: rootPathToManifest.manifest,\n mutation: 'install',\n rootDir: rootPathToManifest.rootDir,\n });\n const registriesMap = getRegistriesMap(registries);\n const authConfig = getAuthConfig(registries);\n const storeController = await createStoreController(\n rootPathToManifest.rootDir,\n storeDir,\n cacheDir,\n registries,\n proxyConfig,\n networkConfig\n );\n const opts = {\n storeDir: storeController.dir,\n dir: rootPathToManifest.rootDir,\n storeController: storeController.ctrl,\n workspacePackages,\n preferFrozenLockfile: true,\n registries: registriesMap,\n rawConfig: authConfig,\n overrides: options?.overrides,\n };\n\n const stopReporting = defaultReporter({\n context: {\n argv: [],\n },\n reportingOptions: {\n appendOnly: false,\n throttleProgress: 200,\n },\n streamParser,\n });\n try {\n await mutateModules(packagesToBuild, opts);\n } finally {\n stopReporting();\n }\n}\n\nexport async function resolveRemoteVersion(\n packageName: string,\n rootDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {}\n): Promise<ResolvedPackageVersion> {\n const { resolve } = await generateResolverAndFetcher(cacheDir, registries, proxyConfig, networkConfig);\n const resolveOpts = {\n projectDir: rootDir,\n registry: '',\n };\n try {\n const parsedPackage = parsePackageName(packageName);\n const registriesMap = getRegistriesMap(registries);\n const registry = pickRegistryForPackage(registriesMap, parsedPackage.name);\n const wantedDep: WantedDependency = {\n alias: parsedPackage.name,\n pref: parsedPackage.version,\n };\n const isValidRange = parsedPackage.version ? !!semver.validRange(parsedPackage.version) : false;\n resolveOpts.registry = registry;\n const val = await resolve(wantedDep, resolveOpts);\n const version = isValidRange ? parsedPackage.version : val.manifest.version;\n\n return {\n packageName: val.manifest.name,\n version,\n isSemver: true,\n resolvedVia: val.resolvedVia,\n };\n } catch (e: any) {\n if (!e.message?.includes('is not a valid string')) {\n throw e;\n }\n // The provided package is probably a git url or path to a folder\n const wantedDep: WantedDependency = {\n alias: undefined,\n pref: packageName,\n };\n const val = await resolve(wantedDep, resolveOpts);\n return {\n packageName: val.manifest.name,\n version: val.normalizedPref,\n isSemver: false,\n resolvedVia: val.resolvedVia,\n };\n }\n}\n\nfunction getRegistriesMap(registries: Registries): RegistriesMap {\n const registriesMap = {\n default: registries.defaultRegistry.uri || NPM_REGISTRY,\n };\n\n Object.entries(registries.scopes).forEach(([registryName, registry]) => {\n registriesMap[`@${registryName}`] = registry.uri;\n });\n return registriesMap;\n}\n\nfunction getAuthConfig(registries: Registries): Record<string, any> {\n const res: any = {};\n res.registry = registries.defaultRegistry.uri;\n if (registries.defaultRegistry.alwaysAuth) {\n res['always-auth'] = true;\n }\n const defaultAuthTokens = getAuthTokenForRegistry(registries.defaultRegistry, true);\n defaultAuthTokens.forEach(({ keyName, val }) => {\n res[keyName] = val;\n });\n\n Object.entries(registries.scopes).forEach(([, registry]) => {\n const authTokens = getAuthTokenForRegistry(registry);\n authTokens.forEach(({ keyName, val }) => {\n res[keyName] = val;\n });\n if (registry.alwaysAuth) {\n const nerfed = toNerfDart(registry.uri);\n const alwaysAuthKeyName = `${nerfed}:always-auth`;\n res[alwaysAuthKeyName] = true;\n }\n });\n return res;\n}\n\nfunction getAuthTokenForRegistry(registry: Registry, isDefault = false): { keyName: string; val: string }[] {\n const nerfed = toNerfDart(registry.uri);\n if (registry.originalAuthType === 'authToken') {\n return [\n {\n keyName: `${nerfed}:_authToken`,\n val: registry.originalAuthValue || '',\n },\n ];\n }\n if (registry.originalAuthType === 'auth') {\n return [\n {\n keyName: isDefault ? '_auth' : `${nerfed}:_auth`,\n val: registry.originalAuthValue || '',\n },\n ];\n }\n if (registry.originalAuthType === 'user-pass') {\n return [\n {\n keyName: `${nerfed}:username`,\n val: registry.originalAuthValue?.split(':')[0] || '',\n },\n {\n keyName: `${nerfed}:_password`,\n val: registry.originalAuthValue?.split(':')[1] || '',\n },\n ];\n }\n return [];\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["lynx.ts"],"names":["STORE_CACHE","createStoreController","rootDir","storeDir","cacheDir","registries","proxyConfig","networkConfig","authConfig","getAuthConfig","opts","dir","rawConfig","verifyStoreIntegrity","httpProxy","httpsProxy","ca","cert","key","localAddress","noProxy","strictSsl","strictSSL","maxSockets","networkConcurrency","cacheKey","JSON","stringify","generateResolverAndFetcher","pnpmConfig","Object","assign","config","timeout","fetchTimeout","retry","factor","fetchRetryFactor","maxTimeout","fetchRetryMaxtimeout","minTimeout","fetchRetryMintimeout","retries","fetchRetries","result","getPeerDependencyIssues","rootManifest","manifestsByPaths","projects","workspacePackages","manifest","entries","push","name","version","registriesMap","getRegistriesMap","storeController","pnpm","ctrl","overrides","install","options","logger","packagesToBuild","buildIndex","mutation","preferFrozenLockfile","stopReporting","context","argv","reportingOptions","appendOnly","throttleProgress","streamParser","resolveRemoteVersion","packageName","resolve","resolveOpts","projectDir","registry","parsedPackage","wantedDep","alias","pref","isValidRange","semver","validRange","val","isSemver","resolvedVia","e","message","includes","undefined","normalizedPref","default","defaultRegistry","uri","NPM_REGISTRY","scopes","forEach","registryName","res","alwaysAuth","defaultAuthTokens","getAuthTokenForRegistry","keyName","authTokens","nerfed","alwaysAuthKeyName","isDefault","originalAuthType","originalAuthValue","split"],"mappings":"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","sourcesContent":["import semver from 'semver';\nimport parsePackageName from 'parse-package-name';\nimport defaultReporter from '@pnpm/default-reporter';\nimport { streamParser } from '@pnpm/logger';\nimport { StoreController, WantedDependency } from '@pnpm/package-store';\nimport { createOrConnectStoreController, CreateStoreControllerOptions } from '@pnpm/store-connection-manager';\nimport {\n ResolvedPackageVersion,\n Registries,\n NPM_REGISTRY,\n Registry,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\nimport { MutatedProject, mutateModules, PeerDependencyIssuesByProjects, ProjectOptions } from '@pnpm/core';\nimport * as pnpm from '@pnpm/core';\nimport createResolverAndFetcher, { ClientOptions } from '@pnpm/client';\nimport pickRegistryForPackage from '@pnpm/pick-registry-for-package';\nimport { Logger } from '@teambit/logger';\nimport toNerfDart from 'nerf-dart';\nimport { readConfig } from './read-config';\n\ntype RegistriesMap = {\n default: string;\n [registryName: string]: string;\n};\n\nconst STORE_CACHE: Record<string, { ctrl: StoreController; dir: string }> = {};\n\nasync function createStoreController(\n rootDir: string,\n storeDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {}\n): Promise<{ ctrl: StoreController; dir: string }> {\n const authConfig = getAuthConfig(registries);\n const opts: CreateStoreControllerOptions = {\n dir: rootDir,\n cacheDir,\n storeDir,\n rawConfig: authConfig,\n verifyStoreIntegrity: true,\n httpProxy: proxyConfig?.httpProxy,\n httpsProxy: proxyConfig?.httpsProxy,\n ca: proxyConfig?.ca,\n cert: proxyConfig?.cert,\n key: proxyConfig?.key,\n localAddress: networkConfig?.localAddress,\n noProxy: proxyConfig?.noProxy,\n strictSsl: proxyConfig.strictSSL,\n maxSockets: networkConfig.maxSockets,\n networkConcurrency: networkConfig.networkConcurrency,\n };\n // We should avoid the recreation of store.\n // The store holds cache that makes subsequent resolutions faster.\n const cacheKey = JSON.stringify(opts);\n if (!STORE_CACHE[cacheKey]) {\n // Although it would be enough to call createNewStoreController(),\n // that doesn't resolve the store directory location.\n STORE_CACHE[cacheKey] = await createOrConnectStoreController(opts);\n }\n return STORE_CACHE[cacheKey];\n}\n\nasync function generateResolverAndFetcher(\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {}\n) {\n const pnpmConfig = await readConfig();\n const authConfig = getAuthConfig(registries);\n const opts: ClientOptions = {\n authConfig: Object.assign({}, pnpmConfig.config.rawConfig, authConfig),\n cacheDir,\n httpProxy: proxyConfig?.httpProxy,\n httpsProxy: proxyConfig?.httpsProxy,\n ca: proxyConfig?.ca,\n cert: proxyConfig?.cert,\n key: proxyConfig?.key,\n localAddress: networkConfig?.localAddress,\n noProxy: proxyConfig?.noProxy,\n strictSsl: proxyConfig.strictSSL,\n timeout: networkConfig.fetchTimeout,\n retry: {\n factor: networkConfig.fetchRetryFactor,\n maxTimeout: networkConfig.fetchRetryMaxtimeout,\n minTimeout: networkConfig.fetchRetryMintimeout,\n retries: networkConfig.fetchRetries,\n },\n };\n const result = createResolverAndFetcher(opts);\n return result;\n}\n\nexport async function getPeerDependencyIssues(\n rootManifest,\n manifestsByPaths: Record<string, any>,\n opts: {\n storeDir: string;\n cacheDir: string;\n registries: Registries;\n proxyConfig: PackageManagerProxyConfig;\n networkConfig: PackageManagerNetworkConfig;\n overrides?: Record<string, string>;\n }\n): Promise<PeerDependencyIssuesByProjects> {\n const projects: ProjectOptions[] = [];\n const workspacePackages = {};\n for (const [rootDir, manifest] of Object.entries(manifestsByPaths)) {\n projects.push({\n manifest,\n rootDir,\n });\n workspacePackages[manifest.name] = workspacePackages[manifest.name] || {};\n workspacePackages[manifest.name][manifest.version] = { dir: rootDir, manifest };\n }\n projects.push({\n manifest: rootManifest.manifest,\n rootDir: rootManifest.rootDir,\n });\n const registriesMap = getRegistriesMap(opts.registries);\n const storeController = await createStoreController(\n rootManifest.rootDir,\n opts.storeDir,\n opts.cacheDir,\n opts.registries,\n opts.proxyConfig,\n opts.networkConfig\n );\n return pnpm.getPeerDependencyIssues(projects, {\n storeController: storeController.ctrl,\n storeDir: storeController.dir,\n overrides: opts.overrides,\n workspacePackages,\n registries: registriesMap,\n });\n}\n\nexport async function install(\n rootManifest,\n manifestsByPaths,\n storeDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {},\n options?: {\n overrides?: Record<string, string>;\n },\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n logger?: Logger\n) {\n const packagesToBuild: MutatedProject[] = []; // @pnpm/core will use this to install the packages\n const workspacePackages = {}; // @pnpm/core will use this to link packages to each other\n\n // This will create local link by pnpm to a component exists in the ws.\n // it will later deleted by the link process\n // we keep it here to better support case like this:\n // compA@1.0.0 uses compB@1.0.0\n // I have compB@2.0.0 in my workspace\n // now I install compA@1.0.0\n // compA is hoisted to the root and install B@1.0.0 hoisted to the root as well\n // now we will make link to B@2.0.0 and A will break\n // with this we will have a link to the local B by pnpm so it will install B@1.0.0 inside A\n // then when overriding the link, A will still works\n // This is the rational behind not deleting this completely, but need further check that it really works\n\n // eslint-disable-next-line\n for (const rootDir in manifestsByPaths) {\n const manifest = manifestsByPaths[rootDir];\n packagesToBuild.push({\n buildIndex: 0, // workspace components should be installed before the root\n manifest,\n rootDir,\n mutation: 'install',\n });\n workspacePackages[manifest.name] = workspacePackages[manifest.name] || {};\n workspacePackages[manifest.name][manifest.version] = { dir: rootDir, manifest };\n }\n packagesToBuild.push({\n buildIndex: 1, // install the root package after the workspace components were installed\n manifest: rootManifest.manifest,\n mutation: 'install',\n rootDir: rootManifest.rootDir,\n });\n const registriesMap = getRegistriesMap(registries);\n const authConfig = getAuthConfig(registries);\n const storeController = await createStoreController(\n rootManifest.rootDir,\n storeDir,\n cacheDir,\n registries,\n proxyConfig,\n networkConfig\n );\n const opts = {\n storeDir: storeController.dir,\n dir: rootManifest.rootDir,\n storeController: storeController.ctrl,\n workspacePackages,\n preferFrozenLockfile: true,\n registries: registriesMap,\n rawConfig: authConfig,\n overrides: options?.overrides,\n };\n\n const stopReporting = defaultReporter({\n context: {\n argv: [],\n },\n reportingOptions: {\n appendOnly: false,\n throttleProgress: 200,\n },\n streamParser,\n });\n try {\n await mutateModules(packagesToBuild, opts);\n } finally {\n stopReporting();\n }\n}\n\nexport async function resolveRemoteVersion(\n packageName: string,\n rootDir: string,\n cacheDir: string,\n registries: Registries,\n proxyConfig: PackageManagerProxyConfig = {},\n networkConfig: PackageManagerNetworkConfig = {}\n): Promise<ResolvedPackageVersion> {\n const { resolve } = await generateResolverAndFetcher(cacheDir, registries, proxyConfig, networkConfig);\n const resolveOpts = {\n projectDir: rootDir,\n registry: '',\n };\n try {\n const parsedPackage = parsePackageName(packageName);\n const registriesMap = getRegistriesMap(registries);\n const registry = pickRegistryForPackage(registriesMap, parsedPackage.name);\n const wantedDep: WantedDependency = {\n alias: parsedPackage.name,\n pref: parsedPackage.version,\n };\n const isValidRange = parsedPackage.version ? !!semver.validRange(parsedPackage.version) : false;\n resolveOpts.registry = registry;\n const val = await resolve(wantedDep, resolveOpts);\n const version = isValidRange ? parsedPackage.version : val.manifest.version;\n\n return {\n packageName: val.manifest.name,\n version,\n isSemver: true,\n resolvedVia: val.resolvedVia,\n };\n } catch (e: any) {\n if (!e.message?.includes('is not a valid string')) {\n throw e;\n }\n // The provided package is probably a git url or path to a folder\n const wantedDep: WantedDependency = {\n alias: undefined,\n pref: packageName,\n };\n const val = await resolve(wantedDep, resolveOpts);\n return {\n packageName: val.manifest.name,\n version: val.normalizedPref,\n isSemver: false,\n resolvedVia: val.resolvedVia,\n };\n }\n}\n\nfunction getRegistriesMap(registries: Registries): RegistriesMap {\n const registriesMap = {\n default: registries.defaultRegistry.uri || NPM_REGISTRY,\n };\n\n Object.entries(registries.scopes).forEach(([registryName, registry]) => {\n registriesMap[`@${registryName}`] = registry.uri;\n });\n return registriesMap;\n}\n\nfunction getAuthConfig(registries: Registries): Record<string, any> {\n const res: any = {};\n res.registry = registries.defaultRegistry.uri;\n if (registries.defaultRegistry.alwaysAuth) {\n res['always-auth'] = true;\n }\n const defaultAuthTokens = getAuthTokenForRegistry(registries.defaultRegistry, true);\n defaultAuthTokens.forEach(({ keyName, val }) => {\n res[keyName] = val;\n });\n\n Object.entries(registries.scopes).forEach(([, registry]) => {\n const authTokens = getAuthTokenForRegistry(registry);\n authTokens.forEach(({ keyName, val }) => {\n res[keyName] = val;\n });\n if (registry.alwaysAuth) {\n const nerfed = toNerfDart(registry.uri);\n const alwaysAuthKeyName = `${nerfed}:always-auth`;\n res[alwaysAuthKeyName] = true;\n }\n });\n return res;\n}\n\nfunction getAuthTokenForRegistry(registry: Registry, isDefault = false): { keyName: string; val: string }[] {\n const nerfed = toNerfDart(registry.uri);\n if (registry.originalAuthType === 'authToken') {\n return [\n {\n keyName: `${nerfed}:_authToken`,\n val: registry.originalAuthValue || '',\n },\n ];\n }\n if (registry.originalAuthType === 'auth') {\n return [\n {\n keyName: isDefault ? '_auth' : `${nerfed}:_auth`,\n val: registry.originalAuthValue || '',\n },\n ];\n }\n if (registry.originalAuthType === 'user-pass') {\n return [\n {\n keyName: `${nerfed}:username`,\n val: registry.originalAuthValue?.split(':')[0] || '',\n },\n {\n keyName: `${nerfed}:_password`,\n val: registry.originalAuthValue?.split(':')[1] || '',\n },\n ];\n }\n return [];\n}"]}
|
|
@@ -2,13 +2,20 @@ import { ComponentMap } from '@teambit/component';
|
|
|
2
2
|
import { WorkspacePolicy, DependencyResolverMain, PackageManager, PackageManagerInstallOptions, PackageManagerResolveRemoteVersionOptions, ResolvedPackageVersion, Registries, PackageManagerProxyConfig, PackageManagerNetworkConfig } from '@teambit/dependency-resolver';
|
|
3
3
|
import { Logger } from '@teambit/logger';
|
|
4
4
|
import { PkgMain } from '@teambit/pkg';
|
|
5
|
+
import { PeerDependencyIssuesByProjects } from '@pnpm/core';
|
|
5
6
|
export declare class PnpmPackageManager implements PackageManager {
|
|
6
7
|
private depResolver;
|
|
7
8
|
private pkg;
|
|
8
9
|
private logger;
|
|
9
10
|
private readConfig;
|
|
10
11
|
constructor(depResolver: DependencyResolverMain, pkg: PkgMain, logger: Logger);
|
|
12
|
+
private _componentsToPnpmWorkspaceProjects;
|
|
13
|
+
_getGlobalPnpmDirs(cacheRootDir?: string): {
|
|
14
|
+
storeDir: string;
|
|
15
|
+
cacheDir: string;
|
|
16
|
+
};
|
|
11
17
|
install(rootDir: string, rootPolicy: WorkspacePolicy, componentDirectoryMap: ComponentMap<string>, installOptions?: PackageManagerInstallOptions): Promise<void>;
|
|
18
|
+
getPeerDependencyIssues(rootDir: string, rootPolicy: WorkspacePolicy, componentDirectoryMap: ComponentMap<string>, installOptions?: PackageManagerInstallOptions): Promise<PeerDependencyIssuesByProjects>;
|
|
12
19
|
private computeComponentsManifests;
|
|
13
20
|
resolveRemoteVersion(packageName: string, options: PackageManagerResolveRemoteVersionOptions): Promise<ResolvedPackageVersion>;
|
|
14
21
|
getProxyConfig?(): Promise<PackageManagerProxyConfig>;
|
|
@@ -86,15 +86,7 @@ class PnpmPackageManager {
|
|
|
86
86
|
(0, _defineProperty2().default)(this, "readConfig", (0, _lodash().memoize)(_readConfig().readConfig));
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
async
|
|
90
|
-
// require it dynamically for performance purpose. the pnpm package require many files - do not move to static import
|
|
91
|
-
// eslint-disable-next-line global-require, import/no-dynamic-require
|
|
92
|
-
const {
|
|
93
|
-
install
|
|
94
|
-
} = require('./lynx');
|
|
95
|
-
|
|
96
|
-
const storeDir = installOptions !== null && installOptions !== void 0 && installOptions.cacheRootDir ? (0, _path().join)(installOptions === null || installOptions === void 0 ? void 0 : installOptions.cacheRootDir, '.pnpm-store') : defaultStoreDir;
|
|
97
|
-
const cacheDir = installOptions !== null && installOptions !== void 0 && installOptions.cacheRootDir ? (0, _path().join)(installOptions === null || installOptions === void 0 ? void 0 : installOptions.cacheRootDir, '.pnpm-cache') : defaultCacheDir;
|
|
89
|
+
async _componentsToPnpmWorkspaceProjects(rootDir, rootPolicy, componentDirectoryMap, installOptions = {}) {
|
|
98
90
|
const components = componentDirectoryMap.toArray().map(([component]) => component);
|
|
99
91
|
const options = {
|
|
100
92
|
filterComponentsFromManifests: true,
|
|
@@ -110,6 +102,32 @@ class PnpmPackageManager {
|
|
|
110
102
|
const componentsManifests = this.computeComponentsManifests(componentDirectoryMap, workspaceManifest.componentsManifestsMap, // In case of not deduping we want to install peers inside the components
|
|
111
103
|
// !options.dedupe
|
|
112
104
|
installOptions.copyPeerToRuntimeOnComponents);
|
|
105
|
+
return {
|
|
106
|
+
componentsManifests,
|
|
107
|
+
rootManifest
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
_getGlobalPnpmDirs(cacheRootDir) {
|
|
112
|
+
const storeDir = cacheRootDir ? (0, _path().join)(cacheRootDir, '.pnpm-store') : defaultStoreDir;
|
|
113
|
+
const cacheDir = cacheRootDir ? (0, _path().join)(cacheRootDir, '.pnpm-cache') : defaultCacheDir;
|
|
114
|
+
return {
|
|
115
|
+
storeDir,
|
|
116
|
+
cacheDir
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
async install(rootDir, rootPolicy, componentDirectoryMap, installOptions = {}) {
|
|
121
|
+
// require it dynamically for performance purpose. the pnpm package require many files - do not move to static import
|
|
122
|
+
// eslint-disable-next-line global-require, import/no-dynamic-require
|
|
123
|
+
const {
|
|
124
|
+
install
|
|
125
|
+
} = require('./lynx');
|
|
126
|
+
|
|
127
|
+
const {
|
|
128
|
+
componentsManifests,
|
|
129
|
+
rootManifest
|
|
130
|
+
} = await this._componentsToPnpmWorkspaceProjects(rootDir, rootPolicy, componentDirectoryMap, installOptions);
|
|
113
131
|
this.logger.debug('root manifest for installation', rootManifest);
|
|
114
132
|
this.logger.debug('components manifests for installation', componentsManifests);
|
|
115
133
|
this.logger.setStatusLine('installing dependencies using pnpm'); // turn off the logger because it interrupts the pnpm output
|
|
@@ -118,6 +136,12 @@ class PnpmPackageManager {
|
|
|
118
136
|
const registries = await this.depResolver.getRegistries();
|
|
119
137
|
const proxyConfig = await this.depResolver.getProxyConfig();
|
|
120
138
|
const networkConfig = await this.depResolver.getNetworkConfig();
|
|
139
|
+
|
|
140
|
+
const {
|
|
141
|
+
storeDir,
|
|
142
|
+
cacheDir
|
|
143
|
+
} = this._getGlobalPnpmDirs(installOptions === null || installOptions === void 0 ? void 0 : installOptions.cacheRootDir);
|
|
144
|
+
|
|
121
145
|
await install(rootManifest, componentsManifests, storeDir, cacheDir, registries, proxyConfig, networkConfig, {
|
|
122
146
|
overrides: installOptions.overrides
|
|
123
147
|
}, this.logger);
|
|
@@ -127,6 +151,33 @@ class PnpmPackageManager {
|
|
|
127
151
|
this.logger.consoleSuccess('installing dependencies using pnpm');
|
|
128
152
|
}
|
|
129
153
|
|
|
154
|
+
async getPeerDependencyIssues(rootDir, rootPolicy, componentDirectoryMap, installOptions = {}) {
|
|
155
|
+
const {
|
|
156
|
+
storeDir,
|
|
157
|
+
cacheDir
|
|
158
|
+
} = this._getGlobalPnpmDirs(installOptions === null || installOptions === void 0 ? void 0 : installOptions.cacheRootDir);
|
|
159
|
+
|
|
160
|
+
const proxyConfig = await this.depResolver.getProxyConfig();
|
|
161
|
+
const networkConfig = await this.depResolver.getNetworkConfig();
|
|
162
|
+
const registries = await this.depResolver.getRegistries(); // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import
|
|
163
|
+
// eslint-disable-next-line global-require, import/no-dynamic-require
|
|
164
|
+
|
|
165
|
+
const lynx = require('./lynx');
|
|
166
|
+
|
|
167
|
+
const {
|
|
168
|
+
componentsManifests,
|
|
169
|
+
rootManifest
|
|
170
|
+
} = await this._componentsToPnpmWorkspaceProjects(rootDir, rootPolicy, componentDirectoryMap, installOptions);
|
|
171
|
+
return lynx.getPeerDependencyIssues(rootManifest, componentsManifests, {
|
|
172
|
+
storeDir,
|
|
173
|
+
cacheDir,
|
|
174
|
+
proxyConfig,
|
|
175
|
+
registries,
|
|
176
|
+
networkConfig,
|
|
177
|
+
overrides: installOptions.overrides
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
|
|
130
181
|
computeComponentsManifests(componentDirectoryMap, componentsManifestsFromWorkspace, copyPeerToRuntime = false) {
|
|
131
182
|
return componentDirectoryMap.toArray().reduce((acc, [component, dir]) => {
|
|
132
183
|
const packageName = this.pkg.getPackageName(component);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["pnpm.package-manager.ts"],"names":["defaultStoreDir","userHome","defaultCacheDir","PnpmPackageManager","constructor","depResolver","pkg","logger","readConfig","install","rootDir","rootPolicy","componentDirectoryMap","installOptions","require","storeDir","cacheRootDir","cacheDir","components","toArray","map","component","options","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","dependencyFilterFn","workspaceManifest","getWorkspaceManifest","undefined","rootManifest","toJson","includeDir","copyPeerToRuntime","copyPeerToRuntimeOnRoot","componentsManifests","computeComponentsManifests","componentsManifestsMap","copyPeerToRuntimeOnComponents","debug","setStatusLine","off","registries","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","overrides","on","console","consoleSuccess","componentsManifestsFromWorkspace","reduce","acc","dir","packageName","getPackageName","has","get","resolveRemoteVersion","config","maxSockets","networkConcurrency","fetchRetries","fetchTimeout","fetchRetryMaxtimeout","fetchRetryMintimeout","pnpmRegistry","defaultRegistry","Registry","default","uri","alwaysAuth","authHeaderValue","originalAuthType","originalAuthValue","pnpmScoped","scopesRegistries","Object","keys","scopedRegName","scopedReg","name","replace","bit","BIT_DEV_REGISTRY","Registries"],"mappings":"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","sourcesContent":["import { ComponentMap } from '@teambit/component';\nimport {\n ComponentsManifestsMap,\n CreateFromComponentsOptions,\n WorkspacePolicy,\n DependencyResolverMain,\n PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n Registries,\n Registry,\n BIT_DEV_REGISTRY,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { memoize, omit } from 'lodash';\nimport { PkgMain } from '@teambit/pkg';\nimport { join } from 'path';\nimport userHome from 'user-home';\nimport { readConfig } from './read-config';\n\nconst defaultStoreDir = join(userHome, '.pnpm-store');\nconst defaultCacheDir = join(userHome, '.pnpm-cache');\n\nexport class PnpmPackageManager implements PackageManager {\n private readConfig = memoize(readConfig);\n constructor(private depResolver: DependencyResolverMain, private pkg: PkgMain, private logger: Logger) {}\n\n async install(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<void> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { install } = require('./lynx');\n const storeDir = installOptions?.cacheRootDir ? join(installOptions?.cacheRootDir, '.pnpm-store') : defaultStoreDir;\n const cacheDir = installOptions?.cacheRootDir ? join(installOptions?.cacheRootDir, '.pnpm-cache') : defaultCacheDir;\n\n const components = componentDirectoryMap.toArray().map(([component]) => component);\n const options: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: installOptions.dedupe,\n dependencyFilterFn: installOptions.dependencyFilterFn,\n };\n const workspaceManifest = await this.depResolver.getWorkspaceManifest(\n undefined,\n undefined,\n rootPolicy,\n rootDir,\n components,\n options\n );\n const rootManifest = workspaceManifest.toJson({\n includeDir: true,\n copyPeerToRuntime: installOptions.copyPeerToRuntimeOnRoot,\n });\n\n const componentsManifests = this.computeComponentsManifests(\n componentDirectoryMap,\n workspaceManifest.componentsManifestsMap,\n // In case of not deduping we want to install peers inside the components\n // !options.dedupe\n installOptions.copyPeerToRuntimeOnComponents\n );\n this.logger.debug('root manifest for installation', rootManifest);\n this.logger.debug('components manifests for installation', componentsManifests);\n this.logger.setStatusLine('installing dependencies using pnpm');\n // turn off the logger because it interrupts the pnpm output\n this.logger.off();\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n await install(\n rootManifest,\n componentsManifests,\n storeDir,\n cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n {\n overrides: installOptions.overrides,\n },\n this.logger\n );\n this.logger.on();\n // Make a divider row to improve output\n this.logger.console('-------------------------');\n this.logger.consoleSuccess('installing dependencies using pnpm');\n }\n\n private computeComponentsManifests(\n componentDirectoryMap: ComponentMap<string>,\n componentsManifestsFromWorkspace: ComponentsManifestsMap,\n copyPeerToRuntime = false\n ) {\n return componentDirectoryMap.toArray().reduce((acc, [component, dir]) => {\n const packageName = this.pkg.getPackageName(component);\n if (componentsManifestsFromWorkspace.has(packageName)) {\n acc[dir] = componentsManifestsFromWorkspace.get(packageName)?.toJson({ copyPeerToRuntime });\n }\n return acc;\n }, {});\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { resolveRemoteVersion } = require('./lynx');\n const cacheDir = options?.cacheRootDir ? join(options?.cacheRootDir, '.pnpm-cache') : defaultStoreDir;\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n return resolveRemoteVersion(packageName, options.rootDir, cacheDir, registries, proxyConfig, networkConfig);\n }\n\n async getProxyConfig?(): Promise<PackageManagerProxyConfig> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getProxyConfig } = require('./get-proxy-config');\n const { config } = await this.readConfig();\n return getProxyConfig(config);\n }\n\n async getNetworkConfig?(): Promise<PackageManagerNetworkConfig> {\n const { config } = await this.readConfig();\n return {\n maxSockets: config.maxSockets,\n networkConcurrency: config.networkConcurrency,\n fetchRetries: config.fetchRetries,\n fetchTimeout: config.fetchTimeout,\n fetchRetryMaxtimeout: config.fetchRetryMaxtimeout,\n fetchRetryMintimeout: config.fetchRetryMintimeout,\n };\n }\n\n async getRegistries(): Promise<Registries> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getRegistries } = require('./get-registries');\n const { config } = await this.readConfig();\n const pnpmRegistry = await getRegistries(config);\n const defaultRegistry = new Registry(\n pnpmRegistry.default.uri,\n pnpmRegistry.default.alwaysAuth,\n pnpmRegistry.default.authHeaderValue,\n pnpmRegistry.default.originalAuthType,\n pnpmRegistry.default.originalAuthValue\n );\n\n const pnpmScoped = omit(pnpmRegistry, ['default']);\n const scopesRegistries: Record<string, Registry> = Object.keys(pnpmScoped).reduce((acc, scopedRegName) => {\n const scopedReg = pnpmScoped[scopedRegName];\n const name = scopedRegName.replace('@', '');\n acc[name] = new Registry(\n scopedReg.uri,\n scopedReg.alwaysAuth,\n scopedReg.authHeaderValue,\n scopedReg.originalAuthType,\n scopedReg.originalAuthValue\n );\n return acc;\n }, {});\n\n // Add bit registry server if not exist\n if (!scopesRegistries.bit) {\n scopesRegistries.bit = new Registry(BIT_DEV_REGISTRY, true);\n }\n\n return new Registries(defaultRegistry, scopesRegistries);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["pnpm.package-manager.ts"],"names":["defaultStoreDir","userHome","defaultCacheDir","PnpmPackageManager","constructor","depResolver","pkg","logger","readConfig","_componentsToPnpmWorkspaceProjects","rootDir","rootPolicy","componentDirectoryMap","installOptions","components","toArray","map","component","options","filterComponentsFromManifests","createManifestForComponentsWithoutDependencies","dedupe","dependencyFilterFn","workspaceManifest","getWorkspaceManifest","undefined","rootManifest","toJson","includeDir","copyPeerToRuntime","copyPeerToRuntimeOnRoot","componentsManifests","computeComponentsManifests","componentsManifestsMap","copyPeerToRuntimeOnComponents","_getGlobalPnpmDirs","cacheRootDir","storeDir","cacheDir","install","require","debug","setStatusLine","off","registries","getRegistries","proxyConfig","getProxyConfig","networkConfig","getNetworkConfig","overrides","on","console","consoleSuccess","getPeerDependencyIssues","lynx","componentsManifestsFromWorkspace","reduce","acc","dir","packageName","getPackageName","has","get","resolveRemoteVersion","config","maxSockets","networkConcurrency","fetchRetries","fetchTimeout","fetchRetryMaxtimeout","fetchRetryMintimeout","pnpmRegistry","defaultRegistry","Registry","default","uri","alwaysAuth","authHeaderValue","originalAuthType","originalAuthValue","pnpmScoped","scopesRegistries","Object","keys","scopedRegName","scopedReg","name","replace","bit","BIT_DEV_REGISTRY","Registries"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAgBA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAIA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEA,MAAMA,eAAe,GAAG,kBAAKC,mBAAL,EAAe,aAAf,CAAxB;AACA,MAAMC,eAAe,GAAG,kBAAKD,mBAAL,EAAe,aAAf,CAAxB;;AAOO,MAAME,kBAAN,CAAmD;AAExDC,EAAAA,WAAW,CAASC,WAAT,EAAsDC,GAAtD,EAA4EC,MAA5E,EAA4F;AAAA,SAAnFF,WAAmF,GAAnFA,WAAmF;AAAA,SAAtCC,GAAsC,GAAtCA,GAAsC;AAAA,SAAhBC,MAAgB,GAAhBA,MAAgB;AAAA,wDADlF,uBAAQC,wBAAR,CACkF;AAAE;;AAEzD,QAAlCC,kCAAkC,CAC9CC,OAD8C,EAE9CC,UAF8C,EAG9CC,qBAH8C,EAI9CC,cAA4C,GAAG,EAJD,EAK1B;AACpB,UAAMC,UAAU,GAAGF,qBAAqB,CAACG,OAAtB,GAAgCC,GAAhC,CAAoC,CAAC,CAACC,SAAD,CAAD,KAAiBA,SAArD,CAAnB;AACA,UAAMC,OAAoC,GAAG;AAC3CC,MAAAA,6BAA6B,EAAE,IADY;AAE3CC,MAAAA,8CAA8C,EAAE,IAFL;AAG3CC,MAAAA,MAAM,EAAER,cAAc,CAACQ,MAHoB;AAI3CC,MAAAA,kBAAkB,EAAET,cAAc,CAACS;AAJQ,KAA7C;AAMA,UAAMC,iBAAiB,GAAG,MAAM,KAAKlB,WAAL,CAAiBmB,oBAAjB,CAC9BC,SAD8B,EAE9BA,SAF8B,EAG9Bd,UAH8B,EAI9BD,OAJ8B,EAK9BI,UAL8B,EAM9BI,OAN8B,CAAhC;AAQA,UAAMQ,YAAY,GAAGH,iBAAiB,CAACI,MAAlB,CAAyB;AAC5CC,MAAAA,UAAU,EAAE,IADgC;AAE5CC,MAAAA,iBAAiB,EAAEhB,cAAc,CAACiB;AAFU,KAAzB,CAArB;AAKA,UAAMC,mBAAmB,GAAG,KAAKC,0BAAL,CAC1BpB,qBAD0B,EAE1BW,iBAAiB,CAACU,sBAFQ,EAG1B;AACA;AACApB,IAAAA,cAAc,CAACqB,6BALW,CAA5B;AAOA,WAAO;AACLH,MAAAA,mBADK;AAELL,MAAAA;AAFK,KAAP;AAID;;AAEDS,EAAAA,kBAAkB,CAACC,YAAD,EAAwB;AACxC,UAAMC,QAAQ,GAAGD,YAAY,GAAG,kBAAKA,YAAL,EAAmB,aAAnB,CAAH,GAAuCpC,eAApE;AACA,UAAMsC,QAAQ,GAAGF,YAAY,GAAG,kBAAKA,YAAL,EAAmB,aAAnB,CAAH,GAAuClC,eAApE;AACA,WAAO;AAAEmC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,KAAP;AACD;;AAEY,QAAPC,OAAO,CACX7B,OADW,EAEXC,UAFW,EAGXC,qBAHW,EAIXC,cAA4C,GAAG,EAJpC,EAKI;AACf;AACA;AACA,UAAM;AAAE0B,MAAAA;AAAF,QAAcC,OAAO,CAAC,QAAD,CAA3B;;AAEA,UAAM;AAAET,MAAAA,mBAAF;AAAuBL,MAAAA;AAAvB,QAAwC,MAAM,KAAKjB,kCAAL,CAClDC,OADkD,EAElDC,UAFkD,EAGlDC,qBAHkD,EAIlDC,cAJkD,CAApD;AAMA,SAAKN,MAAL,CAAYkC,KAAZ,CAAkB,gCAAlB,EAAoDf,YAApD;AACA,SAAKnB,MAAL,CAAYkC,KAAZ,CAAkB,uCAAlB,EAA2DV,mBAA3D;AACA,SAAKxB,MAAL,CAAYmC,aAAZ,CAA0B,oCAA1B,EAbe,CAcf;;AACA,SAAKnC,MAAL,CAAYoC,GAAZ;AACA,UAAMC,UAAU,GAAG,MAAM,KAAKvC,WAAL,CAAiBwC,aAAjB,EAAzB;AACA,UAAMC,WAAW,GAAG,MAAM,KAAKzC,WAAL,CAAiB0C,cAAjB,EAA1B;AACA,UAAMC,aAAa,GAAG,MAAM,KAAK3C,WAAL,CAAiB4C,gBAAjB,EAA5B;;AACA,UAAM;AAAEZ,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAAyB,KAAKH,kBAAL,CAAwBtB,cAAxB,aAAwBA,cAAxB,uBAAwBA,cAAc,CAAEuB,YAAxC,CAA/B;;AACA,UAAMG,OAAO,CACXb,YADW,EAEXK,mBAFW,EAGXM,QAHW,EAIXC,QAJW,EAKXM,UALW,EAMXE,WANW,EAOXE,aAPW,EAQX;AACEE,MAAAA,SAAS,EAAErC,cAAc,CAACqC;AAD5B,KARW,EAWX,KAAK3C,MAXM,CAAb;AAaA,SAAKA,MAAL,CAAY4C,EAAZ,GAjCe,CAkCf;;AACA,SAAK5C,MAAL,CAAY6C,OAAZ,CAAoB,2BAApB;AACA,SAAK7C,MAAL,CAAY8C,cAAZ,CAA2B,oCAA3B;AACD;;AAE4B,QAAvBC,uBAAuB,CAC3B5C,OAD2B,EAE3BC,UAF2B,EAG3BC,qBAH2B,EAI3BC,cAA4C,GAAG,EAJpB,EAKc;AACzC,UAAM;AAAEwB,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,QAAyB,KAAKH,kBAAL,CAAwBtB,cAAxB,aAAwBA,cAAxB,uBAAwBA,cAAc,CAAEuB,YAAxC,CAA/B;;AACA,UAAMU,WAAW,GAAG,MAAM,KAAKzC,WAAL,CAAiB0C,cAAjB,EAA1B;AACA,UAAMC,aAAa,GAAG,MAAM,KAAK3C,WAAL,CAAiB4C,gBAAjB,EAA5B;AACA,UAAML,UAAU,GAAG,MAAM,KAAKvC,WAAL,CAAiBwC,aAAjB,EAAzB,CAJyC,CAKzC;AACA;;AACA,UAAMU,IAAI,GAAGf,OAAO,CAAC,QAAD,CAApB;;AACA,UAAM;AAAET,MAAAA,mBAAF;AAAuBL,MAAAA;AAAvB,QAAwC,MAAM,KAAKjB,kCAAL,CAClDC,OADkD,EAElDC,UAFkD,EAGlDC,qBAHkD,EAIlDC,cAJkD,CAApD;AAMA,WAAO0C,IAAI,CAACD,uBAAL,CAA6B5B,YAA7B,EAA2CK,mBAA3C,EAAgE;AACrEM,MAAAA,QADqE;AAErEC,MAAAA,QAFqE;AAGrEQ,MAAAA,WAHqE;AAIrEF,MAAAA,UAJqE;AAKrEI,MAAAA,aALqE;AAMrEE,MAAAA,SAAS,EAAErC,cAAc,CAACqC;AAN2C,KAAhE,CAAP;AAQD;;AAEOlB,EAAAA,0BAA0B,CAChCpB,qBADgC,EAEhC4C,gCAFgC,EAGhC3B,iBAAiB,GAAG,KAHY,EAIC;AACjC,WAAOjB,qBAAqB,CAACG,OAAtB,GAAgC0C,MAAhC,CAAuC,CAACC,GAAD,EAAM,CAACzC,SAAD,EAAY0C,GAAZ,CAAN,KAA2B;AACvE,YAAMC,WAAW,GAAG,KAAKtD,GAAL,CAASuD,cAAT,CAAwB5C,SAAxB,CAApB;;AACA,UAAIuC,gCAAgC,CAACM,GAAjC,CAAqCF,WAArC,CAAJ,EAAuD;AAAA;;AACrDF,QAAAA,GAAG,CAACC,GAAD,CAAH,4BAAWH,gCAAgC,CAACO,GAAjC,CAAqCH,WAArC,CAAX,0DAAW,sBAAmDjC,MAAnD,CAA0D;AAAEE,UAAAA;AAAF,SAA1D,CAAX;AACD;;AACD,aAAO6B,GAAP;AACD,KANM,EAMJ,EANI,CAAP;AAOD;;AAEyB,QAApBM,oBAAoB,CACxBJ,WADwB,EAExB1C,OAFwB,EAGS;AACjC;AACA;AACA,UAAM;AAAE8C,MAAAA;AAAF,QAA2BxB,OAAO,CAAC,QAAD,CAAxC;;AACA,UAAMF,QAAQ,GAAGpB,OAAO,SAAP,IAAAA,OAAO,WAAP,IAAAA,OAAO,CAAEkB,YAAT,GAAwB,kBAAKlB,OAAL,aAAKA,OAAL,uBAAKA,OAAO,CAAEkB,YAAd,EAA4B,aAA5B,CAAxB,GAAqEpC,eAAtF;AACA,UAAM4C,UAAU,GAAG,MAAM,KAAKvC,WAAL,CAAiBwC,aAAjB,EAAzB;AACA,UAAMC,WAAW,GAAG,MAAM,KAAKzC,WAAL,CAAiB0C,cAAjB,EAA1B;AACA,UAAMC,aAAa,GAAG,MAAM,KAAK3C,WAAL,CAAiB4C,gBAAjB,EAA5B;AACA,WAAOe,oBAAoB,CAACJ,WAAD,EAAc1C,OAAO,CAACR,OAAtB,EAA+B4B,QAA/B,EAAyCM,UAAzC,EAAqDE,WAArD,EAAkEE,aAAlE,CAA3B;AACD;;AAEmB,QAAdD,cAAc,GAAwC;AAC1D;AACA,UAAM;AAAEA,MAAAA;AAAF,QAAqBP,OAAO,CAAC,oBAAD,CAAlC;;AACA,UAAM;AAAEyB,MAAAA;AAAF,QAAa,MAAM,KAAKzD,UAAL,EAAzB;AACA,WAAOuC,cAAc,CAACkB,MAAD,CAArB;AACD;;AAEqB,QAAhBhB,gBAAgB,GAA0C;AAC9D,UAAM;AAAEgB,MAAAA;AAAF,QAAa,MAAM,KAAKzD,UAAL,EAAzB;AACA,WAAO;AACL0D,MAAAA,UAAU,EAAED,MAAM,CAACC,UADd;AAELC,MAAAA,kBAAkB,EAAEF,MAAM,CAACE,kBAFtB;AAGLC,MAAAA,YAAY,EAAEH,MAAM,CAACG,YAHhB;AAILC,MAAAA,YAAY,EAAEJ,MAAM,CAACI,YAJhB;AAKLC,MAAAA,oBAAoB,EAAEL,MAAM,CAACK,oBALxB;AAMLC,MAAAA,oBAAoB,EAAEN,MAAM,CAACM;AANxB,KAAP;AAQD;;AAEkB,QAAb1B,aAAa,GAAwB;AACzC;AACA,UAAM;AAAEA,MAAAA;AAAF,QAAoBL,OAAO,CAAC,kBAAD,CAAjC;;AACA,UAAM;AAAEyB,MAAAA;AAAF,QAAa,MAAM,KAAKzD,UAAL,EAAzB;AACA,UAAMgE,YAAY,GAAG,MAAM3B,aAAa,CAACoB,MAAD,CAAxC;AACA,UAAMQ,eAAe,GAAG,KAAIC,8BAAJ,EACtBF,YAAY,CAACG,OAAb,CAAqBC,GADC,EAEtBJ,YAAY,CAACG,OAAb,CAAqBE,UAFC,EAGtBL,YAAY,CAACG,OAAb,CAAqBG,eAHC,EAItBN,YAAY,CAACG,OAAb,CAAqBI,gBAJC,EAKtBP,YAAY,CAACG,OAAb,CAAqBK,iBALC,CAAxB;AAQA,UAAMC,UAAU,GAAG,oBAAKT,YAAL,EAAmB,CAAC,SAAD,CAAnB,CAAnB;AACA,UAAMU,gBAA0C,GAAGC,MAAM,CAACC,IAAP,CAAYH,UAAZ,EAAwBxB,MAAxB,CAA+B,CAACC,GAAD,EAAM2B,aAAN,KAAwB;AACxG,YAAMC,SAAS,GAAGL,UAAU,CAACI,aAAD,CAA5B;AACA,YAAME,IAAI,GAAGF,aAAa,CAACG,OAAd,CAAsB,GAAtB,EAA2B,EAA3B,CAAb;AACA9B,MAAAA,GAAG,CAAC6B,IAAD,CAAH,GAAY,KAAIb,8BAAJ,EACVY,SAAS,CAACV,GADA,EAEVU,SAAS,CAACT,UAFA,EAGVS,SAAS,CAACR,eAHA,EAIVQ,SAAS,CAACP,gBAJA,EAKVO,SAAS,CAACN,iBALA,CAAZ;AAOA,aAAOtB,GAAP;AACD,KAXkD,EAWhD,EAXgD,CAAnD,CAdyC,CA2BzC;;AACA,QAAI,CAACwB,gBAAgB,CAACO,GAAtB,EAA2B;AACzBP,MAAAA,gBAAgB,CAACO,GAAjB,GAAuB,KAAIf,8BAAJ,EAAagB,sCAAb,EAA+B,IAA/B,CAAvB;AACD;;AAED,WAAO,KAAIC,gCAAJ,EAAelB,eAAf,EAAgCS,gBAAhC,CAAP;AACD;;AA1MuD","sourcesContent":["import { ComponentMap } from '@teambit/component';\nimport {\n ComponentsManifestsMap,\n CreateFromComponentsOptions,\n WorkspacePolicy,\n DependencyResolverMain,\n PackageManager,\n PackageManagerInstallOptions,\n PackageManagerResolveRemoteVersionOptions,\n ResolvedPackageVersion,\n Registries,\n Registry,\n BIT_DEV_REGISTRY,\n PackageManagerProxyConfig,\n PackageManagerNetworkConfig,\n} from '@teambit/dependency-resolver';\nimport { Logger } from '@teambit/logger';\nimport { memoize, omit } from 'lodash';\nimport { PkgMain } from '@teambit/pkg';\nimport { PeerDependencyIssuesByProjects } from '@pnpm/core';\nimport { ProjectManifest } from '@pnpm/types';\nimport { join } from 'path';\nimport userHome from 'user-home';\nimport { readConfig } from './read-config';\n\nconst defaultStoreDir = join(userHome, '.pnpm-store');\nconst defaultCacheDir = join(userHome, '.pnpm-cache');\n\ninterface Manifests {\n componentsManifests: Record<string, ProjectManifest>;\n rootManifest: ProjectManifest;\n}\n\nexport class PnpmPackageManager implements PackageManager {\n private readConfig = memoize(readConfig);\n constructor(private depResolver: DependencyResolverMain, private pkg: PkgMain, private logger: Logger) {}\n\n private async _componentsToPnpmWorkspaceProjects(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<Manifests> {\n const components = componentDirectoryMap.toArray().map(([component]) => component);\n const options: CreateFromComponentsOptions = {\n filterComponentsFromManifests: true,\n createManifestForComponentsWithoutDependencies: true,\n dedupe: installOptions.dedupe,\n dependencyFilterFn: installOptions.dependencyFilterFn,\n };\n const workspaceManifest = await this.depResolver.getWorkspaceManifest(\n undefined,\n undefined,\n rootPolicy,\n rootDir,\n components,\n options\n );\n const rootManifest = workspaceManifest.toJson({\n includeDir: true,\n copyPeerToRuntime: installOptions.copyPeerToRuntimeOnRoot,\n });\n\n const componentsManifests = this.computeComponentsManifests(\n componentDirectoryMap,\n workspaceManifest.componentsManifestsMap,\n // In case of not deduping we want to install peers inside the components\n // !options.dedupe\n installOptions.copyPeerToRuntimeOnComponents\n );\n return {\n componentsManifests,\n rootManifest,\n };\n }\n\n _getGlobalPnpmDirs(cacheRootDir?: string) {\n const storeDir = cacheRootDir ? join(cacheRootDir, '.pnpm-store') : defaultStoreDir;\n const cacheDir = cacheRootDir ? join(cacheRootDir, '.pnpm-cache') : defaultCacheDir;\n return { storeDir, cacheDir };\n }\n\n async install(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<void> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { install } = require('./lynx');\n\n const { componentsManifests, rootManifest } = await this._componentsToPnpmWorkspaceProjects(\n rootDir,\n rootPolicy,\n componentDirectoryMap,\n installOptions\n );\n this.logger.debug('root manifest for installation', rootManifest);\n this.logger.debug('components manifests for installation', componentsManifests);\n this.logger.setStatusLine('installing dependencies using pnpm');\n // turn off the logger because it interrupts the pnpm output\n this.logger.off();\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const { storeDir, cacheDir } = this._getGlobalPnpmDirs(installOptions?.cacheRootDir);\n await install(\n rootManifest,\n componentsManifests,\n storeDir,\n cacheDir,\n registries,\n proxyConfig,\n networkConfig,\n {\n overrides: installOptions.overrides,\n },\n this.logger\n );\n this.logger.on();\n // Make a divider row to improve output\n this.logger.console('-------------------------');\n this.logger.consoleSuccess('installing dependencies using pnpm');\n }\n\n async getPeerDependencyIssues(\n rootDir: string,\n rootPolicy: WorkspacePolicy,\n componentDirectoryMap: ComponentMap<string>,\n installOptions: PackageManagerInstallOptions = {}\n ): Promise<PeerDependencyIssuesByProjects> {\n const { storeDir, cacheDir } = this._getGlobalPnpmDirs(installOptions?.cacheRootDir);\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n const registries = await this.depResolver.getRegistries();\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const lynx = require('./lynx');\n const { componentsManifests, rootManifest } = await this._componentsToPnpmWorkspaceProjects(\n rootDir,\n rootPolicy,\n componentDirectoryMap,\n installOptions\n );\n return lynx.getPeerDependencyIssues(rootManifest, componentsManifests, {\n storeDir,\n cacheDir,\n proxyConfig,\n registries,\n networkConfig,\n overrides: installOptions.overrides,\n });\n }\n\n private computeComponentsManifests(\n componentDirectoryMap: ComponentMap<string>,\n componentsManifestsFromWorkspace: ComponentsManifestsMap,\n copyPeerToRuntime = false\n ): Record<string, ProjectManifest> {\n return componentDirectoryMap.toArray().reduce((acc, [component, dir]) => {\n const packageName = this.pkg.getPackageName(component);\n if (componentsManifestsFromWorkspace.has(packageName)) {\n acc[dir] = componentsManifestsFromWorkspace.get(packageName)?.toJson({ copyPeerToRuntime });\n }\n return acc;\n }, {});\n }\n\n async resolveRemoteVersion(\n packageName: string,\n options: PackageManagerResolveRemoteVersionOptions\n ): Promise<ResolvedPackageVersion> {\n // require it dynamically for performance purpose. the pnpm package require many files - do not move to static import\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { resolveRemoteVersion } = require('./lynx');\n const cacheDir = options?.cacheRootDir ? join(options?.cacheRootDir, '.pnpm-cache') : defaultStoreDir;\n const registries = await this.depResolver.getRegistries();\n const proxyConfig = await this.depResolver.getProxyConfig();\n const networkConfig = await this.depResolver.getNetworkConfig();\n return resolveRemoteVersion(packageName, options.rootDir, cacheDir, registries, proxyConfig, networkConfig);\n }\n\n async getProxyConfig?(): Promise<PackageManagerProxyConfig> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getProxyConfig } = require('./get-proxy-config');\n const { config } = await this.readConfig();\n return getProxyConfig(config);\n }\n\n async getNetworkConfig?(): Promise<PackageManagerNetworkConfig> {\n const { config } = await this.readConfig();\n return {\n maxSockets: config.maxSockets,\n networkConcurrency: config.networkConcurrency,\n fetchRetries: config.fetchRetries,\n fetchTimeout: config.fetchTimeout,\n fetchRetryMaxtimeout: config.fetchRetryMaxtimeout,\n fetchRetryMintimeout: config.fetchRetryMintimeout,\n };\n }\n\n async getRegistries(): Promise<Registries> {\n // eslint-disable-next-line global-require, import/no-dynamic-require\n const { getRegistries } = require('./get-registries');\n const { config } = await this.readConfig();\n const pnpmRegistry = await getRegistries(config);\n const defaultRegistry = new Registry(\n pnpmRegistry.default.uri,\n pnpmRegistry.default.alwaysAuth,\n pnpmRegistry.default.authHeaderValue,\n pnpmRegistry.default.originalAuthType,\n pnpmRegistry.default.originalAuthValue\n );\n\n const pnpmScoped = omit(pnpmRegistry, ['default']);\n const scopesRegistries: Record<string, Registry> = Object.keys(pnpmScoped).reduce((acc, scopedRegName) => {\n const scopedReg = pnpmScoped[scopedRegName];\n const name = scopedRegName.replace('@', '');\n acc[name] = new Registry(\n scopedReg.uri,\n scopedReg.alwaysAuth,\n scopedReg.authHeaderValue,\n scopedReg.originalAuthType,\n scopedReg.originalAuthValue\n );\n return acc;\n }, {});\n\n // Add bit registry server if not exist\n if (!scopesRegistries.bit) {\n scopesRegistries.bit = new Registry(BIT_DEV_REGISTRY, true);\n }\n\n return new Registries(defaultRegistry, scopesRegistries);\n }\n}"]}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ComponentUI } from '@teambit/component';
|
|
2
|
+
export declare class PnpmUI {
|
|
3
|
+
static runtime: import("@teambit/harmony").RuntimeDefinition;
|
|
4
|
+
static dependencies: import("@teambit/harmony").Aspect[];
|
|
5
|
+
static provider([componentUI]: [ComponentUI]): Promise<PnpmUI>;
|
|
6
|
+
private consumeMethod;
|
|
7
|
+
}
|
|
8
|
+
export default PnpmUI;
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
require("core-js/modules/es.array.iterator.js");
|
|
6
|
+
|
|
7
|
+
require("core-js/modules/es.promise.js");
|
|
8
|
+
|
|
9
|
+
require("core-js/modules/es.regexp.exec.js");
|
|
10
|
+
|
|
11
|
+
Object.defineProperty(exports, "__esModule", {
|
|
12
|
+
value: true
|
|
13
|
+
});
|
|
14
|
+
exports.default = exports.PnpmUI = void 0;
|
|
15
|
+
|
|
16
|
+
function _defineProperty2() {
|
|
17
|
+
const data = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
|
+
|
|
19
|
+
_defineProperty2 = function () {
|
|
20
|
+
return data;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
return data;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
function _react() {
|
|
27
|
+
const data = _interopRequireDefault(require("react"));
|
|
28
|
+
|
|
29
|
+
_react = function () {
|
|
30
|
+
return data;
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
return data;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
function _ui() {
|
|
37
|
+
const data = require("@teambit/ui");
|
|
38
|
+
|
|
39
|
+
_ui = function () {
|
|
40
|
+
return data;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
return data;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
function _uiFoundationUiUseBox() {
|
|
47
|
+
const data = require("@teambit/ui-foundation.ui.use-box.menu");
|
|
48
|
+
|
|
49
|
+
_uiFoundationUiUseBox = function () {
|
|
50
|
+
return data;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
return data;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
function _component() {
|
|
57
|
+
const data = _interopRequireDefault(require("@teambit/component"));
|
|
58
|
+
|
|
59
|
+
_component = function () {
|
|
60
|
+
return data;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
return data;
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
function _pnpm() {
|
|
67
|
+
const data = require("./pnpm.aspect");
|
|
68
|
+
|
|
69
|
+
_pnpm = function () {
|
|
70
|
+
return data;
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
return data;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
class PnpmUI {
|
|
77
|
+
constructor() {
|
|
78
|
+
(0, _defineProperty2().default)(this, "consumeMethod", comp => {
|
|
79
|
+
const registry = comp.packageName.split('/')[0];
|
|
80
|
+
const packageVersion = comp.version === comp.latest ? '' : `@${comp.version}`;
|
|
81
|
+
return {
|
|
82
|
+
Title: /*#__PURE__*/_react().default.createElement("img", {
|
|
83
|
+
style: {
|
|
84
|
+
height: '16px',
|
|
85
|
+
marginTop: '-2px'
|
|
86
|
+
},
|
|
87
|
+
src: "https://static.bit.dev/brands/pnpm.svg"
|
|
88
|
+
}),
|
|
89
|
+
Component: /*#__PURE__*/_react().default.createElement(_uiFoundationUiUseBox().Install, {
|
|
90
|
+
config: `npm config set '${registry}:registry' https://node.bit.dev`,
|
|
91
|
+
componentName: comp.id.name,
|
|
92
|
+
packageManager: "pnpm",
|
|
93
|
+
copyString: `pnpm i ${comp.packageName}${packageVersion}`,
|
|
94
|
+
registryName: registry
|
|
95
|
+
}),
|
|
96
|
+
order: 30
|
|
97
|
+
};
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
static async provider([componentUI]) {
|
|
102
|
+
const pnpm = new PnpmUI();
|
|
103
|
+
componentUI.registerConsumeMethod(pnpm.consumeMethod);
|
|
104
|
+
return pnpm;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
exports.PnpmUI = PnpmUI;
|
|
110
|
+
(0, _defineProperty2().default)(PnpmUI, "runtime", _ui().UIRuntime);
|
|
111
|
+
(0, _defineProperty2().default)(PnpmUI, "dependencies", [_component().default]);
|
|
112
|
+
var _default = PnpmUI;
|
|
113
|
+
exports.default = _default;
|
|
114
|
+
|
|
115
|
+
_pnpm().PnpmAspect.addRuntime(PnpmUI);
|
|
116
|
+
|
|
117
|
+
//# sourceMappingURL=pnpm.ui.runtime.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["pnpm.ui.runtime.tsx"],"names":["PnpmUI","comp","registry","packageName","split","packageVersion","version","latest","Title","height","marginTop","Component","id","name","order","provider","componentUI","pnpm","registerConsumeMethod","consumeMethod","UIRuntime","ComponentAspect","PnpmAspect","addRuntime"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AACA;AAAA;;AAAA;AAAA;AAAA;;AAAA;AAAA;;AAEO,MAAMA,MAAN,CAAa;AAAA;AAAA,2DAWsBC,IAAD,IAAU;AAC/C,YAAMC,QAAQ,GAAGD,IAAI,CAACE,WAAL,CAAiBC,KAAjB,CAAuB,GAAvB,EAA4B,CAA5B,CAAjB;AACA,YAAMC,cAAc,GAAGJ,IAAI,CAACK,OAAL,KAAiBL,IAAI,CAACM,MAAtB,GAA+B,EAA/B,GAAqC,IAAGN,IAAI,CAACK,OAAQ,EAA5E;AACA,aAAO;AACLE,QAAAA,KAAK,eAAE;AAAK,UAAA,KAAK,EAAE;AAAEC,YAAAA,MAAM,EAAE,MAAV;AAAkBC,YAAAA,SAAS,EAAE;AAA7B,WAAZ;AAAmD,UAAA,GAAG,EAAC;AAAvD,UADF;AAELC,QAAAA,SAAS,eACP,+BAAC,+BAAD;AACE,UAAA,MAAM,EAAG,mBAAkBT,QAAS,iCADtC;AAEE,UAAA,aAAa,EAAED,IAAI,CAACW,EAAL,CAAQC,IAFzB;AAGE,UAAA,cAAc,EAAC,MAHjB;AAIE,UAAA,UAAU,EAAG,UAASZ,IAAI,CAACE,WAAY,GAAEE,cAAe,EAJ1D;AAKE,UAAA,YAAY,EAAEH;AALhB,UAHG;AAWLY,QAAAA,KAAK,EAAE;AAXF,OAAP;AAaD,KA3BiB;AAAA;;AAKG,eAARC,QAAQ,CAAC,CAACC,WAAD,CAAD,EAA+B;AAClD,UAAMC,IAAI,GAAG,IAAIjB,MAAJ,EAAb;AACAgB,IAAAA,WAAW,CAACE,qBAAZ,CAAkCD,IAAI,CAACE,aAAvC;AACA,WAAOF,IAAP;AACD;;AATiB;;;gCAAPjB,M,aACMoB,e;gCADNpB,M,kBAGW,CAACqB,oBAAD,C;eA2BTrB,M;;;AAEfsB,mBAAWC,UAAX,CAAsBvB,MAAtB","sourcesContent":["import React from 'react';\nimport { UIRuntime } from '@teambit/ui';\nimport { Install } from '@teambit/ui-foundation.ui.use-box.menu';\nimport ComponentAspect, { ComponentUI, ConsumePlugin } from '@teambit/component';\nimport { PnpmAspect } from './pnpm.aspect';\n\nexport class PnpmUI {\n static runtime = UIRuntime;\n\n static dependencies = [ComponentAspect];\n\n static async provider([componentUI]: [ComponentUI]) {\n const pnpm = new PnpmUI();\n componentUI.registerConsumeMethod(pnpm.consumeMethod);\n return pnpm;\n }\n\n private consumeMethod: ConsumePlugin = (comp) => {\n const registry = comp.packageName.split('/')[0];\n const packageVersion = comp.version === comp.latest ? '' : `@${comp.version}`;\n return {\n Title: <img style={{ height: '16px', marginTop: '-2px' }} src=\"https://static.bit.dev/brands/pnpm.svg\" />,\n Component: (\n <Install\n config={`npm config set '${registry}:registry' https://node.bit.dev`}\n componentName={comp.id.name}\n packageManager=\"pnpm\"\n copyString={`pnpm i ${comp.packageName}${packageVersion}`}\n registryName={registry}\n />\n ),\n order: 30,\n };\n };\n}\n\nexport default PnpmUI;\n\nPnpmAspect.addRuntime(PnpmUI);\n"]}
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -1,43 +1,46 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@teambit/pnpm",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.594",
|
|
4
4
|
"homepage": "https://bit.dev/teambit/dependencies/pnpm",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"componentId": {
|
|
7
7
|
"scope": "teambit.dependencies",
|
|
8
8
|
"name": "pnpm",
|
|
9
|
-
"version": "0.0.
|
|
9
|
+
"version": "0.0.594"
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@pnpm/error": "2.0.0",
|
|
13
13
|
"@pnpm/fetching-types": "2.2.1",
|
|
14
|
-
"@pnpm/git-resolver": "5.1.
|
|
15
|
-
"@pnpm/local-resolver": "7.0.
|
|
16
|
-
"@pnpm/npm-resolver": "12.1.
|
|
17
|
-
"@pnpm/resolver-base": "8.1.
|
|
18
|
-
"@pnpm/tarball-resolver": "5.0.
|
|
19
|
-
"@pnpm/config": "13.
|
|
14
|
+
"@pnpm/git-resolver": "5.1.14",
|
|
15
|
+
"@pnpm/local-resolver": "7.0.4",
|
|
16
|
+
"@pnpm/npm-resolver": "12.1.4",
|
|
17
|
+
"@pnpm/resolver-base": "8.1.3",
|
|
18
|
+
"@pnpm/tarball-resolver": "5.0.8",
|
|
19
|
+
"@pnpm/config": "13.7.1",
|
|
20
20
|
"credentials-by-uri": "2.0.0",
|
|
21
21
|
"lodash": "4.17.21",
|
|
22
22
|
"nerf-dart": "1.0.0",
|
|
23
23
|
"@pnpm/logger": "4.0.0",
|
|
24
|
-
"@pnpm/client": "6.0.
|
|
25
|
-
"@pnpm/core": "2.
|
|
26
|
-
"@pnpm/default-reporter": "8.
|
|
27
|
-
"@pnpm/package-store": "12.1.
|
|
28
|
-
"@pnpm/pick-registry-for-package": "2.0.
|
|
29
|
-
"@pnpm/store-connection-manager": "3.1.
|
|
24
|
+
"@pnpm/client": "6.0.10",
|
|
25
|
+
"@pnpm/core": "2.1.2",
|
|
26
|
+
"@pnpm/default-reporter": "8.5.2",
|
|
27
|
+
"@pnpm/package-store": "12.1.5",
|
|
28
|
+
"@pnpm/pick-registry-for-package": "2.0.8",
|
|
29
|
+
"@pnpm/store-connection-manager": "3.1.16",
|
|
30
30
|
"parse-package-name": "0.1.0",
|
|
31
31
|
"semver": "7.3.4",
|
|
32
32
|
"@teambit/harmony": "0.2.11",
|
|
33
|
+
"@pnpm/types": "7.7.1",
|
|
33
34
|
"user-home": "2.0.0",
|
|
34
35
|
"@babel/runtime": "7.12.18",
|
|
35
36
|
"core-js": "^3.0.0",
|
|
36
|
-
"@teambit/dependency-resolver": "0.0.
|
|
37
|
-
"@teambit/logger": "0.0.
|
|
38
|
-
"@teambit/cli": "0.0.
|
|
39
|
-
"@teambit/pkg": "0.0.
|
|
40
|
-
"@teambit/component": "0.0.
|
|
37
|
+
"@teambit/dependency-resolver": "0.0.594",
|
|
38
|
+
"@teambit/logger": "0.0.496",
|
|
39
|
+
"@teambit/cli": "0.0.408",
|
|
40
|
+
"@teambit/pkg": "0.0.594",
|
|
41
|
+
"@teambit/component": "0.0.594",
|
|
42
|
+
"@teambit/ui-foundation.ui.use-box.menu": "0.0.106",
|
|
43
|
+
"@teambit/ui": "0.0.594"
|
|
41
44
|
},
|
|
42
45
|
"devDependencies": {
|
|
43
46
|
"@types/lodash": "4.14.165",
|
|
@@ -48,10 +51,10 @@
|
|
|
48
51
|
"@types/jest": "^26.0.0",
|
|
49
52
|
"@types/react-dom": "^17.0.5",
|
|
50
53
|
"@types/node": "12.20.4",
|
|
51
|
-
"@teambit/dependencies.aspect-docs.pnpm": "0.0.
|
|
54
|
+
"@teambit/dependencies.aspect-docs.pnpm": "0.0.130"
|
|
52
55
|
},
|
|
53
56
|
"peerDependencies": {
|
|
54
|
-
"@teambit/legacy": "1.0.
|
|
57
|
+
"@teambit/legacy": "1.0.195",
|
|
55
58
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
56
59
|
"react": "^16.8.0 || ^17.0.0"
|
|
57
60
|
},
|
|
@@ -79,7 +82,7 @@
|
|
|
79
82
|
"react": "-"
|
|
80
83
|
},
|
|
81
84
|
"peerDependencies": {
|
|
82
|
-
"@teambit/legacy": "1.0.
|
|
85
|
+
"@teambit/legacy": "1.0.195",
|
|
83
86
|
"react-dom": "^16.8.0 || ^17.0.0",
|
|
84
87
|
"react": "^16.8.0 || ^17.0.0"
|
|
85
88
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { UIRuntime } from '@teambit/ui';
|
|
3
|
+
import { Install } from '@teambit/ui-foundation.ui.use-box.menu';
|
|
4
|
+
import ComponentAspect, { ComponentUI, ConsumePlugin } from '@teambit/component';
|
|
5
|
+
import { PnpmAspect } from './pnpm.aspect';
|
|
6
|
+
|
|
7
|
+
export class PnpmUI {
|
|
8
|
+
static runtime = UIRuntime;
|
|
9
|
+
|
|
10
|
+
static dependencies = [ComponentAspect];
|
|
11
|
+
|
|
12
|
+
static async provider([componentUI]: [ComponentUI]) {
|
|
13
|
+
const pnpm = new PnpmUI();
|
|
14
|
+
componentUI.registerConsumeMethod(pnpm.consumeMethod);
|
|
15
|
+
return pnpm;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
private consumeMethod: ConsumePlugin = (comp) => {
|
|
19
|
+
const registry = comp.packageName.split('/')[0];
|
|
20
|
+
const packageVersion = comp.version === comp.latest ? '' : `@${comp.version}`;
|
|
21
|
+
return {
|
|
22
|
+
Title: <img style={{ height: '16px', marginTop: '-2px' }} src="https://static.bit.dev/brands/pnpm.svg" />,
|
|
23
|
+
Component: (
|
|
24
|
+
<Install
|
|
25
|
+
config={`npm config set '${registry}:registry' https://node.bit.dev`}
|
|
26
|
+
componentName={comp.id.name}
|
|
27
|
+
packageManager="pnpm"
|
|
28
|
+
copyString={`pnpm i ${comp.packageName}${packageVersion}`}
|
|
29
|
+
registryName={registry}
|
|
30
|
+
/>
|
|
31
|
+
),
|
|
32
|
+
order: 30,
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export default PnpmUI;
|
|
38
|
+
|
|
39
|
+
PnpmAspect.addRuntime(PnpmUI);
|
|
Binary file
|