piral-cli 1.7.3-beta.7634 → 1.7.3-beta.7641

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.
@@ -1,16 +1,16 @@
1
- import { PackageType, NpmClientType } from '../types';
1
+ import { PackageType, NpmClientType, NpmClient } from '../types';
2
2
  /**
3
3
  * For details about how this works consult issue
4
4
  * https://github.com/smapiot/piral/issues/203
5
5
  * @param root The project's root directory.
6
6
  */
7
- export declare function determineNpmClient(root: string, selected?: NpmClientType): Promise<NpmClientType>;
7
+ export declare function determineNpmClient(root: string, selected?: NpmClientType): Promise<NpmClient>;
8
8
  export declare function isMonorepoPackageRef(refName: string, root: string): Promise<boolean>;
9
- export declare function installNpmDependencies(client: NpmClientType, target?: string): Promise<string>;
9
+ export declare function installNpmDependencies(client: NpmClient, target?: string): Promise<string>;
10
10
  export declare function installNpmPackageFromOptionalRegistry(packageRef: string, target: string, registry: string): Promise<void>;
11
- export declare function uninstallNpmPackage(client: NpmClientType, packageRef: string, target?: string, ...flags: Array<string>): Promise<string>;
12
- export declare function installNpmPackage(client: NpmClientType, packageRef: string, target?: string, ...flags: Array<string>): Promise<string>;
13
- export declare function initNpmProject(client: NpmClientType, projectName: string, target: string): Promise<void>;
11
+ export declare function uninstallNpmPackage(client: NpmClient, packageRef: string, target?: string, ...flags: Array<string>): Promise<string>;
12
+ export declare function installNpmPackage(client: NpmClient, packageRef: string, target?: string, ...flags: Array<string>): Promise<string>;
13
+ export declare function initNpmProject(client: NpmClient, projectName: string, target: string): Promise<void>;
14
14
  export declare function publishNpmPackage(target?: string, file?: string, flags?: Array<string>, interactive?: boolean): Promise<string>;
15
15
  export declare function createNpmPackage(target?: string): Promise<string>;
16
16
  export declare function findNpmTarball(packageRef: string): Promise<string>;
package/lib/common/npm.js CHANGED
@@ -51,6 +51,43 @@ async function detectMonorepoRoot(root) {
51
51
  } while (root !== previous);
52
52
  return [];
53
53
  }
54
+ async function determineWrapperClient(root) {
55
+ const searchedClients = await (0, npm_clients_1.detectWrapperClients)(root);
56
+ const foundClients = searchedClients.filter((m) => m.result).map((m) => m.client);
57
+ if (foundClients.length > 0) {
58
+ const [client] = foundClients;
59
+ if (foundClients.length > 1) {
60
+ (0, log_1.log)('generalWarning_0001', `Found multiple clients via their lock or config files: "${foundClients.join('", "')}".`);
61
+ }
62
+ (0, log_1.log)('generalDebug_0003', `Found valid direct client via lock or config file: "${client}".`);
63
+ return client;
64
+ }
65
+ const defaultClient = config_1.config.npmClient;
66
+ if ((0, npm_clients_1.isWrapperClient)(defaultClient)) {
67
+ (0, log_1.log)('generalDebug_0003', `Using the default client: "${defaultClient}".`);
68
+ return defaultClient;
69
+ }
70
+ return undefined;
71
+ }
72
+ async function determineDirectClient(root) {
73
+ const searchedClients = await (0, npm_clients_1.detectDirectClients)(root);
74
+ const foundClients = searchedClients.filter((m) => m.result).map((m) => m.client);
75
+ if (foundClients.length > 0) {
76
+ const [client] = foundClients;
77
+ if (foundClients.length > 1) {
78
+ (0, log_1.log)('generalWarning_0001', `Found multiple clients via their lock or config files: "${foundClients.join('", "')}".`);
79
+ }
80
+ (0, log_1.log)('generalDebug_0003', `Found valid direct client via lock or config file: "${client}".`);
81
+ return client;
82
+ }
83
+ const defaultClient = config_1.config.npmClient;
84
+ if ((0, npm_clients_1.isDirectClient)(defaultClient)) {
85
+ (0, log_1.log)('generalDebug_0003', `Using the default client: "${defaultClient}".`);
86
+ return defaultClient;
87
+ }
88
+ (0, log_1.log)('generalDebug_0003', 'Using the fallback "npm" client.');
89
+ return 'npm';
90
+ }
54
91
  /**
55
92
  * For details about how this works consult issue
56
93
  * https://github.com/smapiot/piral/issues/203
@@ -59,34 +96,25 @@ async function detectMonorepoRoot(root) {
59
96
  async function determineNpmClient(root, selected) {
60
97
  if (!selected || !helpers_1.clientTypeKeys.includes(selected)) {
61
98
  (0, log_1.log)('generalDebug_0003', 'No npm client selected. Checking for lock or config files ...');
62
- const searchedClients = await (0, npm_clients_1.detectClients)(root);
63
- const foundClients = searchedClients.filter((m) => m.result);
64
- (0, log_1.log)('generalDebug_0003', `Results of the lock file check: ${searchedClients.map((m) => `${m.client}=${m.result}`).join(', ')}`);
65
- if (foundClients.length > 1) {
66
- const wrapperClient = foundClients.find((m) => (0, npm_clients_1.isWrapperClient)(m.client));
67
- if (wrapperClient) {
68
- const { client } = wrapperClient;
69
- (0, log_1.log)('generalDebug_0003', `Found valid wrapper client via lock or config file: "${client}".`);
70
- }
71
- }
72
- if (foundClients.length > 0) {
73
- const { client } = foundClients[0];
74
- if (foundClients.length > 1) {
75
- const clientStr = `"${foundClients.map((m) => m.client).join('", "')}"`;
76
- (0, log_1.log)('generalWarning_0001', `Found multiple clients via their lock or config files: ${clientStr}.`);
77
- }
78
- (0, log_1.log)('generalDebug_0003', `Found valid direct client via lock or config file: "${client}".`);
79
- return client;
80
- }
81
- const defaultClient = config_1.config.npmClient;
82
- if (helpers_1.clientTypeKeys.includes(defaultClient)) {
83
- (0, log_1.log)('generalDebug_0003', `Using the default client: "${defaultClient}".`);
84
- return defaultClient;
85
- }
86
- (0, log_1.log)('generalDebug_0003', 'Using the fallback "npm" client.');
87
- return 'npm';
99
+ const [direct, wrapper] = await Promise.all([determineDirectClient(root), determineWrapperClient(root)]);
100
+ return {
101
+ direct,
102
+ wrapper,
103
+ };
104
+ }
105
+ else if ((0, npm_clients_1.isDirectClient)(selected)) {
106
+ return {
107
+ proposed: selected,
108
+ direct: selected,
109
+ };
110
+ }
111
+ else {
112
+ return {
113
+ proposed: selected,
114
+ direct: await determineDirectClient(root),
115
+ wrapper: selected,
116
+ };
88
117
  }
89
- return selected;
90
118
  }
91
119
  exports.determineNpmClient = determineNpmClient;
92
120
  async function isMonorepoPackageRef(refName, root) {
@@ -99,25 +127,26 @@ async function isMonorepoPackageRef(refName, root) {
99
127
  }
100
128
  exports.isMonorepoPackageRef = isMonorepoPackageRef;
101
129
  function installNpmDependencies(client, target = '.') {
102
- const { installDependencies } = npm_clients_1.clients[client];
130
+ const { installDependencies } = npm_clients_1.clients[client.direct];
103
131
  return installDependencies(target);
104
132
  }
105
133
  exports.installNpmDependencies = installNpmDependencies;
106
- async function installNpmPackageFromOptionalRegistry(packageRef, target = '.', registry) {
134
+ async function installNpmPackageFromOptionalRegistry(packageRef, target, registry) {
135
+ const client = await determineNpmClient(target, 'npm');
107
136
  try {
108
- await installNpmPackage('npm', packageRef, target, '--registry', registry);
137
+ await installNpmPackage(client, packageRef, target, '--registry', registry);
109
138
  }
110
139
  catch (e) {
111
140
  if (registry === constants_1.defaultRegistry) {
112
141
  throw e;
113
142
  }
114
- await installNpmPackage('npm', packageRef, target, '--registry', constants_1.defaultRegistry);
143
+ await installNpmPackage(client, packageRef, target, '--registry', constants_1.defaultRegistry);
115
144
  }
116
145
  }
117
146
  exports.installNpmPackageFromOptionalRegistry = installNpmPackageFromOptionalRegistry;
118
147
  async function uninstallNpmPackage(client, packageRef, target = '.', ...flags) {
119
148
  try {
120
- const { uninstallPackage } = npm_clients_1.clients[client];
149
+ const { uninstallPackage } = npm_clients_1.clients[client.direct];
121
150
  return await uninstallPackage(packageRef, target, ...flags);
122
151
  }
123
152
  catch (ex) {
@@ -128,7 +157,7 @@ async function uninstallNpmPackage(client, packageRef, target = '.', ...flags) {
128
157
  exports.uninstallNpmPackage = uninstallNpmPackage;
129
158
  async function installNpmPackage(client, packageRef, target = '.', ...flags) {
130
159
  try {
131
- const { installPackage } = npm_clients_1.clients[client];
160
+ const { installPackage } = npm_clients_1.clients[client.direct];
132
161
  return await installPackage(packageRef, target, ...flags);
133
162
  }
134
163
  catch (ex) {
@@ -138,7 +167,7 @@ async function installNpmPackage(client, packageRef, target = '.', ...flags) {
138
167
  }
139
168
  exports.installNpmPackage = installNpmPackage;
140
169
  function initNpmProject(client, projectName, target) {
141
- const { initProject } = npm_clients_1.clients[client];
170
+ const { initProject } = npm_clients_1.clients[client.wrapper || client.direct];
142
171
  return initProject(projectName, target);
143
172
  }
144
173
  exports.initNpmProject = initNpmProject;
@@ -1 +1 @@
1
- {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/common/npm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"npm.js","sourceRoot":"","sources":["../../src/common/npm.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  /// <reference types="node" />
2
2
  import { Agent } from 'https';
3
- import { NpmClientType } from '../types';
4
- export declare function installPiralInstance(usedSource: string, baseDir: string, rootDir: string, npmClient: NpmClientType, agent: Agent, selected?: boolean): Promise<string>;
3
+ import { NpmClient } from '../types';
4
+ export declare function installPiralInstance(usedSource: string, baseDir: string, rootDir: string, npmClient: NpmClient, agent: Agent, selected?: boolean): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/common/shell.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/common/shell.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { NpmClientType, NpmDirectClientType, NpmWapperClientType } from '../types';
1
2
  import * as lerna from './lerna';
2
3
  import * as npm from './npm';
3
4
  import * as pnp from './pnp';
@@ -14,10 +15,13 @@ export declare const clients: {
14
15
  yarn: typeof yarn;
15
16
  bun: typeof bun;
16
17
  };
17
- type ClientName = keyof typeof clients;
18
- export declare function isWrapperClient(client: ClientName): boolean;
19
- export declare function detectClients(root: string): Promise<{
20
- client: "npm" | "yarn" | "pnp" | "pnpm" | "lerna" | "rush" | "bun";
18
+ export declare function isWrapperClient(client: NpmClientType): client is NpmWapperClientType;
19
+ export declare function isDirectClient(client: NpmClientType): client is NpmDirectClientType;
20
+ export declare function detectDirectClients(root: string): Promise<{
21
+ client: NpmDirectClientType;
22
+ result: boolean;
23
+ }[]>;
24
+ export declare function detectWrapperClients(root: string): Promise<{
25
+ client: NpmWapperClientType;
21
26
  result: boolean;
22
27
  }[]>;
23
- export {};
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.detectClients = exports.isWrapperClient = exports.clients = void 0;
26
+ exports.detectWrapperClients = exports.detectDirectClients = exports.isDirectClient = exports.isWrapperClient = exports.clients = void 0;
27
27
  const path_1 = require("path");
28
28
  const io_1 = require("../common/io");
29
29
  const lerna = __importStar(require("./lerna"));
@@ -43,14 +43,19 @@ exports.clients = {
43
43
  bun,
44
44
  };
45
45
  const directClients = ['npm', 'pnp', 'yarn', 'pnpm', 'bun'];
46
+ const wrapperClients = ['lerna', 'rush'];
46
47
  function isWrapperClient(client) {
47
- return !directClients.includes(client);
48
+ return wrapperClients.includes(client);
48
49
  }
49
50
  exports.isWrapperClient = isWrapperClient;
50
- async function detectClients(root) {
51
+ function isDirectClient(client) {
52
+ return directClients.includes(client);
53
+ }
54
+ exports.isDirectClient = isDirectClient;
55
+ async function detectClients(root, clientNames) {
51
56
  const packageJson = await (0, io_1.findFile)((0, path_1.resolve)(root, '..'), 'package.json');
52
57
  const stopDir = packageJson ? (0, path_1.dirname)(packageJson) : undefined;
53
- return await Promise.all(Object.keys(exports.clients).map(async (client) => {
58
+ return await Promise.all(clientNames.map(async (client) => {
54
59
  const result = await exports.clients[client].detectClient(root, stopDir);
55
60
  return {
56
61
  client,
@@ -58,5 +63,12 @@ async function detectClients(root) {
58
63
  };
59
64
  }));
60
65
  }
61
- exports.detectClients = detectClients;
66
+ function detectDirectClients(root) {
67
+ return detectClients(root, directClients);
68
+ }
69
+ exports.detectDirectClients = detectDirectClients;
70
+ function detectWrapperClients(root) {
71
+ return detectClients(root, wrapperClients);
72
+ }
73
+ exports.detectWrapperClients = detectWrapperClients;
62
74
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/npm-clients/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAwC;AACxC,qCAAwC;AAExC,+CAAiC;AACjC,2CAA6B;AAC7B,2CAA6B;AAC7B,6CAA+B;AAC/B,6CAA+B;AAC/B,6CAA+B;AAC/B,2CAA6B;AAEhB,QAAA,OAAO,GAAG;IACrB,KAAK;IACL,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;CACJ,CAAC;AAIF,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAE5D,SAAgB,eAAe,CAAC,MAAkB;IAChD,OAAO,CAAC,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC;AAFD,0CAEC;AAEM,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,MAAM,WAAW,GAAG,MAAM,IAAA,aAAQ,EAAC,IAAA,cAAO,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/D,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,MAAM,CAAC,IAAI,CAAC,eAAO,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,MAAkB,EAAE,EAAE;QACpD,MAAM,MAAM,GAAG,MAAM,eAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjE,OAAO;YACL,MAAM;YACN,MAAM;SACP,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAbD,sCAaC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/npm-clients/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAwC;AACxC,qCAAwC;AAGxC,+CAAiC;AACjC,2CAA6B;AAC7B,2CAA6B;AAC7B,6CAA+B;AAC/B,6CAA+B;AAC/B,6CAA+B;AAC/B,2CAA6B;AAEhB,QAAA,OAAO,GAAG;IACrB,KAAK;IACL,GAAG;IACH,GAAG;IACH,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,GAAG;CACJ,CAAC;AAEF,MAAM,aAAa,GAA+B,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AACxF,MAAM,cAAc,GAA+B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;AAErE,SAAgB,eAAe,CAAC,MAAqB;IACnD,OAAO,cAAc,CAAC,QAAQ,CAAC,MAAa,CAAC,CAAC;AAChD,CAAC;AAFD,0CAEC;AAED,SAAgB,cAAc,CAAC,MAAqB;IAClD,OAAO,aAAa,CAAC,QAAQ,CAAC,MAAa,CAAC,CAAC;AAC/C,CAAC;AAFD,wCAEC;AAED,KAAK,UAAU,aAAa,CAC1B,IAAY,EACZ,WAAqB;IAErB,MAAM,WAAW,GAAG,MAAM,IAAA,aAAQ,EAAC,IAAA,cAAO,EAAC,IAAI,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;IACxE,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE/D,OAAO,MAAM,OAAO,CAAC,GAAG,CACtB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,MAAM,eAAO,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjE,OAAO;YACL,MAAM;YACN,MAAM;SACP,CAAC;IACJ,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,aAAa,CAAsB,IAAI,EAAE,aAAa,CAAC,CAAC;AACjE,CAAC;AAFD,kDAEC;AAED,SAAgB,oBAAoB,CAAC,IAAY;IAC/C,OAAO,aAAa,CAAsB,IAAI,EAAE,cAAc,CAAC,CAAC;AAClE,CAAC;AAFD,oDAEC"}
@@ -1,6 +1,6 @@
1
1
  /// <reference types="node" />
2
2
  import type { LogLevels } from './common';
3
- import type { ImportmapVersions, PiletSchemaVersion } from './public';
3
+ import type { ImportmapVersions, NpmClientType, NpmDirectClientType, NpmWapperClientType, PiletSchemaVersion } from './public';
4
4
  export interface PiralInstanceDetails {
5
5
  selected?: boolean;
6
6
  port?: number;
@@ -30,3 +30,20 @@ export interface FileInfo {
30
30
  * 2. The (short) error message
31
31
  */
32
32
  export type QuickMessage = [LogLevels, string, string];
33
+ /**
34
+ * Result of identifying an npm client in a project.
35
+ */
36
+ export interface NpmClient {
37
+ /**
38
+ * The proposed client - can be anything.
39
+ */
40
+ proposed?: NpmClientType;
41
+ /**
42
+ * The direct npm client.
43
+ */
44
+ direct: NpmDirectClientType;
45
+ /**
46
+ * The wrapper npm client, if any.
47
+ */
48
+ wrapper?: NpmWapperClientType;
49
+ }
@@ -212,7 +212,9 @@ export type PiralBuildType = 'all' | 'release' | 'emulator' | 'emulator-package'
212
212
  export type PiralPublishType = 'release' | 'emulator';
213
213
  export type PiletBuildType = 'default' | 'standalone' | 'manifest';
214
214
  export type PackageType = 'registry' | 'file' | 'git' | 'remote';
215
- export type NpmClientType = 'npm' | 'yarn' | 'pnp' | 'pnpm' | 'lerna' | 'rush' | 'bun';
215
+ export type NpmDirectClientType = 'npm' | 'yarn' | 'pnp' | 'pnpm' | 'bun';
216
+ export type NpmWapperClientType = 'lerna' | 'rush';
217
+ export type NpmClientType = NpmDirectClientType | NpmWapperClientType;
216
218
  export type Framework = 'piral' | 'piral-core' | 'piral-base';
217
219
  export interface StandardEnvProps {
218
220
  production?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "piral-cli",
3
- "version": "1.7.3-beta.7634",
3
+ "version": "1.7.3-beta.7641",
4
4
  "description": "The standard CLI for creating and building a Piral instance or a Pilet.",
5
5
  "keywords": [
6
6
  "portal",
@@ -81,5 +81,5 @@
81
81
  "typescript": "^5.0.0",
82
82
  "yargs": "^15.0.0"
83
83
  },
84
- "gitHead": "06f4f2d31e37542c2ddd036f3cffd87c6bc3097c"
84
+ "gitHead": "28cf0e674658da4dabcef9bede5d5f1444e151e3"
85
85
  }
@@ -202,39 +202,39 @@ describe('npm Module', () => {
202
202
 
203
203
  it('installs a package using the npm command line tool without a target', async () => {
204
204
  wrongCase = false;
205
- await installNpmPackage('npm', 'foo', 'latest').then((result) => expect(result).toEqual(jsonValueString));
205
+ await installNpmPackage({ direct: 'npm' }, 'foo', 'latest').then((result) => expect(result).toEqual(jsonValueString));
206
206
  wrongCase = true;
207
- await installNpmPackage('npm', 'foo', 'latest').then((result) => expect(result).not.toEqual(jsonValueString));
207
+ await installNpmPackage({ direct: 'npm' }, 'foo', 'latest').then((result) => expect(result).not.toEqual(jsonValueString));
208
208
  });
209
209
 
210
210
  it('installs a package using the npm command line tool without a version', async () => {
211
211
  wrongCase = false;
212
- await installNpmPackage('npm', 'foo').then((result) => expect(result).toEqual(jsonValueString));
212
+ await installNpmPackage({ direct: 'npm' }, 'foo').then((result) => expect(result).toEqual(jsonValueString));
213
213
  wrongCase = true;
214
- await installNpmPackage('npm', 'foo').then((result) => expect(result).not.toEqual(jsonValueString));
214
+ await installNpmPackage({ direct: 'npm' }, 'foo').then((result) => expect(result).not.toEqual(jsonValueString));
215
215
  });
216
216
 
217
217
  it('installs a package using the Yarn command line tool without a version', async () => {
218
218
  wrongCase = false;
219
- await installNpmPackage('yarn', 'foo').then((result) => expect(result).toEqual(jsonValueString));
219
+ await installNpmPackage({ direct: 'yarn' }, 'foo').then((result) => expect(result).toEqual(jsonValueString));
220
220
  wrongCase = true;
221
- await installNpmPackage('yarn', 'foo').then((result) => expect(result).not.toEqual(jsonValueString));
221
+ await installNpmPackage({ direct: 'yarn' }, 'foo').then((result) => expect(result).not.toEqual(jsonValueString));
222
222
  });
223
223
 
224
224
  it('installs a package using the Pnpm command line tool without a version', async () => {
225
225
  wrongCase = false;
226
- await installNpmPackage('pnpm', 'foo').then((result) => expect(result).toEqual(jsonValueString));
226
+ await installNpmPackage({ direct: 'pnpm' }, 'foo').then((result) => expect(result).toEqual(jsonValueString));
227
227
  wrongCase = true;
228
- await installNpmPackage('pnpm', 'foo').then((result) => expect(result).not.toEqual(jsonValueString));
228
+ await installNpmPackage({ direct: 'pnpm' }, 'foo').then((result) => expect(result).not.toEqual(jsonValueString));
229
229
  });
230
230
 
231
231
  it('installs a package using the npm command line tool with some flag', async () => {
232
232
  wrongCase = false;
233
- await installNpmPackage('npm', 'foo', '1.3', '.', '--a=b').then((result) =>
233
+ await installNpmPackage({ direct: 'pnpm' }, 'foo', '1.3', '.', '--a=b').then((result) =>
234
234
  expect(result).toEqual(jsonValueString),
235
235
  );
236
236
  wrongCase = true;
237
- await installNpmPackage('npm', 'foo', '1.3', '.', '--a=b').then((result) =>
237
+ await installNpmPackage({ direct: 'pnpm' }, 'foo', '1.3', '.', '--a=b').then((result) =>
238
238
  expect(result).not.toEqual(jsonValueString),
239
239
  );
240
240
  });
@@ -281,23 +281,23 @@ describe('npm Module', () => {
281
281
 
282
282
  it('install dependencies with npm client', async () => {
283
283
  wrongCase = false;
284
- await installNpmDependencies('npm').then((result) => expect(result).toEqual(jsonValueString));
284
+ await installNpmDependencies({ direct: 'npm' }).then((result) => expect(result).toEqual(jsonValueString));
285
285
  wrongCase = true;
286
- await installNpmDependencies('npm').then((result) => expect(result).not.toEqual(jsonValueString));
286
+ await installNpmDependencies({ direct: 'npm' }).then((result) => expect(result).not.toEqual(jsonValueString));
287
287
  });
288
288
 
289
289
  it('install dependencies with pnpm client', async () => {
290
290
  wrongCase = false;
291
- await installNpmDependencies('pnpm').then((result) => expect(result).toEqual(jsonValueString));
291
+ await installNpmDependencies({ direct: 'pnpm' }).then((result) => expect(result).toEqual(jsonValueString));
292
292
  wrongCase = true;
293
- await installNpmDependencies('pnpm').then((result) => expect(result).not.toEqual(jsonValueString));
293
+ await installNpmDependencies({ direct: 'pnpm' }).then((result) => expect(result).not.toEqual(jsonValueString));
294
294
  });
295
295
 
296
296
  it('install dependencies with yarn client', async () => {
297
297
  wrongCase = false;
298
- await installNpmDependencies('yarn').then((result) => expect(result).toEqual(jsonValueString));
298
+ await installNpmDependencies({ direct: 'yarn' }).then((result) => expect(result).toEqual(jsonValueString));
299
299
  wrongCase = true;
300
- await installNpmDependencies('yarn').then((result) => expect(result).not.toEqual(jsonValueString));
300
+ await installNpmDependencies({ direct: 'yarn' }).then((result) => expect(result).not.toEqual(jsonValueString));
301
301
  });
302
302
 
303
303
  it('create npm package', async () => {
package/src/common/npm.ts CHANGED
@@ -5,10 +5,10 @@ import { config } from './config';
5
5
  import { legacyCoreExternals, frameworkLibs, defaultRegistry, packageJson } from './constants';
6
6
  import { inspectPackage } from './inspect';
7
7
  import { readJson, checkExists } from './io';
8
- import { clients, detectClients, isWrapperClient } from '../npm-clients';
8
+ import { clients, detectDirectClients, detectWrapperClients, isDirectClient, isWrapperClient } from '../npm-clients';
9
9
  import { clientTypeKeys } from '../helpers';
10
10
  import { getModulePath } from '../external';
11
- import { PackageType, NpmClientType } from '../types';
11
+ import { PackageType, NpmClientType, NpmClient, NpmDirectClientType, NpmWapperClientType } from '../types';
12
12
 
13
13
  const gitPrefix = 'git+';
14
14
  const filePrefix = 'file:';
@@ -63,56 +63,88 @@ async function detectMonorepoRoot(root: string): Promise<[] | [string, NpmClient
63
63
  return [];
64
64
  }
65
65
 
66
- /**
67
- * For details about how this works consult issue
68
- * https://github.com/smapiot/piral/issues/203
69
- * @param root The project's root directory.
70
- */
71
- export async function determineNpmClient(root: string, selected?: NpmClientType): Promise<NpmClientType> {
72
- if (!selected || !clientTypeKeys.includes(selected)) {
73
- log('generalDebug_0003', 'No npm client selected. Checking for lock or config files ...');
66
+ async function determineWrapperClient(root: string): Promise<NpmWapperClientType | undefined> {
67
+ const searchedClients = await detectWrapperClients(root);
68
+ const foundClients = searchedClients.filter((m) => m.result).map((m) => m.client);
74
69
 
75
- const searchedClients = await detectClients(root);
76
- const foundClients = searchedClients.filter((m) => m.result);
77
-
78
- log(
79
- 'generalDebug_0003',
80
- `Results of the lock file check: ${searchedClients.map((m) => `${m.client}=${m.result}`).join(', ')}`,
81
- );
70
+ if (foundClients.length > 0) {
71
+ const [client] = foundClients;
82
72
 
83
73
  if (foundClients.length > 1) {
84
- const wrapperClient = foundClients.find((m) => isWrapperClient(m.client));
85
-
86
- if (wrapperClient) {
87
- const { client } = wrapperClient;
88
- log('generalDebug_0003', `Found valid wrapper client via lock or config file: "${client}".`);
89
- }
74
+ log(
75
+ 'generalWarning_0001',
76
+ `Found multiple clients via their lock or config files: "${foundClients.join('", "')}".`,
77
+ );
90
78
  }
91
79
 
92
- if (foundClients.length > 0) {
93
- const { client } = foundClients[0];
80
+ log('generalDebug_0003', `Found valid direct client via lock or config file: "${client}".`);
81
+ return client;
82
+ }
94
83
 
95
- if (foundClients.length > 1) {
96
- const clientStr = `"${foundClients.map((m) => m.client).join('", "')}"`;
97
- log('generalWarning_0001', `Found multiple clients via their lock or config files: ${clientStr}.`);
98
- }
84
+ const defaultClient = config.npmClient;
99
85
 
100
- log('generalDebug_0003', `Found valid direct client via lock or config file: "${client}".`);
101
- return client;
102
- }
86
+ if (isWrapperClient(defaultClient)) {
87
+ log('generalDebug_0003', `Using the default client: "${defaultClient}".`);
88
+ return defaultClient;
89
+ }
90
+
91
+ return undefined;
92
+ }
103
93
 
104
- const defaultClient = config.npmClient;
94
+ async function determineDirectClient(root: string): Promise<NpmDirectClientType> {
95
+ const searchedClients = await detectDirectClients(root);
96
+ const foundClients = searchedClients.filter((m) => m.result).map((m) => m.client);
105
97
 
106
- if (clientTypeKeys.includes(defaultClient)) {
107
- log('generalDebug_0003', `Using the default client: "${defaultClient}".`);
108
- return defaultClient;
98
+ if (foundClients.length > 0) {
99
+ const [client] = foundClients;
100
+
101
+ if (foundClients.length > 1) {
102
+ log(
103
+ 'generalWarning_0001',
104
+ `Found multiple clients via their lock or config files: "${foundClients.join('", "')}".`,
105
+ );
109
106
  }
110
107
 
111
- log('generalDebug_0003', 'Using the fallback "npm" client.');
112
- return 'npm';
108
+ log('generalDebug_0003', `Found valid direct client via lock or config file: "${client}".`);
109
+ return client;
110
+ }
111
+
112
+ const defaultClient = config.npmClient;
113
+
114
+ if (isDirectClient(defaultClient)) {
115
+ log('generalDebug_0003', `Using the default client: "${defaultClient}".`);
116
+ return defaultClient;
113
117
  }
114
118
 
115
- return selected;
119
+ log('generalDebug_0003', 'Using the fallback "npm" client.');
120
+ return 'npm';
121
+ }
122
+
123
+ /**
124
+ * For details about how this works consult issue
125
+ * https://github.com/smapiot/piral/issues/203
126
+ * @param root The project's root directory.
127
+ */
128
+ export async function determineNpmClient(root: string, selected?: NpmClientType): Promise<NpmClient> {
129
+ if (!selected || !clientTypeKeys.includes(selected)) {
130
+ log('generalDebug_0003', 'No npm client selected. Checking for lock or config files ...');
131
+ const [direct, wrapper] = await Promise.all([determineDirectClient(root), determineWrapperClient(root)]);
132
+ return {
133
+ direct,
134
+ wrapper,
135
+ };
136
+ } else if (isDirectClient(selected)) {
137
+ return {
138
+ proposed: selected,
139
+ direct: selected,
140
+ };
141
+ } else {
142
+ return {
143
+ proposed: selected,
144
+ direct: await determineDirectClient(root),
145
+ wrapper: selected,
146
+ };
147
+ }
116
148
  }
117
149
 
118
150
  export async function isMonorepoPackageRef(refName: string, root: string): Promise<boolean> {
@@ -126,35 +158,37 @@ export async function isMonorepoPackageRef(refName: string, root: string): Promi
126
158
  return false;
127
159
  }
128
160
 
129
- export function installNpmDependencies(client: NpmClientType, target = '.'): Promise<string> {
130
- const { installDependencies } = clients[client];
161
+ export function installNpmDependencies(client: NpmClient, target = '.'): Promise<string> {
162
+ const { installDependencies } = clients[client.direct];
131
163
  return installDependencies(target);
132
164
  }
133
165
 
134
166
  export async function installNpmPackageFromOptionalRegistry(
135
167
  packageRef: string,
136
- target = '.',
168
+ target: string,
137
169
  registry: string,
138
170
  ): Promise<void> {
171
+ const client = await determineNpmClient(target, 'npm');
172
+
139
173
  try {
140
- await installNpmPackage('npm', packageRef, target, '--registry', registry);
174
+ await installNpmPackage(client, packageRef, target, '--registry', registry);
141
175
  } catch (e) {
142
176
  if (registry === defaultRegistry) {
143
177
  throw e;
144
178
  }
145
179
 
146
- await installNpmPackage('npm', packageRef, target, '--registry', defaultRegistry);
180
+ await installNpmPackage(client, packageRef, target, '--registry', defaultRegistry);
147
181
  }
148
182
  }
149
183
 
150
184
  export async function uninstallNpmPackage(
151
- client: NpmClientType,
185
+ client: NpmClient,
152
186
  packageRef: string,
153
187
  target = '.',
154
188
  ...flags: Array<string>
155
189
  ): Promise<string> {
156
190
  try {
157
- const { uninstallPackage } = clients[client];
191
+ const { uninstallPackage } = clients[client.direct];
158
192
  return await uninstallPackage(packageRef, target, ...flags);
159
193
  } catch (ex) {
160
194
  log(
@@ -166,13 +200,13 @@ export async function uninstallNpmPackage(
166
200
  }
167
201
 
168
202
  export async function installNpmPackage(
169
- client: NpmClientType,
203
+ client: NpmClient,
170
204
  packageRef: string,
171
205
  target = '.',
172
206
  ...flags: Array<string>
173
207
  ): Promise<string> {
174
208
  try {
175
- const { installPackage } = clients[client];
209
+ const { installPackage } = clients[client.direct];
176
210
  return await installPackage(packageRef, target, ...flags);
177
211
  } catch (ex) {
178
212
  log(
@@ -183,8 +217,8 @@ export async function installNpmPackage(
183
217
  }
184
218
  }
185
219
 
186
- export function initNpmProject(client: NpmClientType, projectName: string, target: string) {
187
- const { initProject } = clients[client];
220
+ export function initNpmProject(client: NpmClient, projectName: string, target: string) {
221
+ const { initProject } = clients[client.wrapper || client.direct];
188
222
  return initProject(projectName, target);
189
223
  }
190
224
 
@@ -5,7 +5,7 @@ import { readJson, updateExistingJson, writeJson } from './io';
5
5
  import { scaffoldFromEmulatorWebsite } from './website';
6
6
  import { combinePackageRef, getPackageName, getPackageVersion } from './npm';
7
7
  import { dissectPackageName, installNpmPackage, isLinkedPackage } from './npm';
8
- import { NpmClientType, PackageType, PiralInstanceDetails } from '../types';
8
+ import { NpmClient, PackageType, PiralInstanceDetails } from '../types';
9
9
 
10
10
  async function updatePiletJson(target: string, appName: string, appDetails: PiralInstanceDetails) {
11
11
  const oldContent = await readJson(target, piletJson);
@@ -30,7 +30,7 @@ async function setupPiralInstance(
30
30
  hadVersion: boolean,
31
31
  rootDir: string,
32
32
  sourceVersion: string,
33
- npmClient: NpmClientType,
33
+ npmClient: NpmClient,
34
34
  ) {
35
35
  if (!isLinkedPackage(sourceName, type, hadVersion, rootDir)) {
36
36
  const packageRef = combinePackageRef(sourceName, sourceVersion, type);
@@ -55,7 +55,7 @@ export async function installPiralInstance(
55
55
  usedSource: string,
56
56
  baseDir: string,
57
57
  rootDir: string,
58
- npmClient: NpmClientType,
58
+ npmClient: NpmClient,
59
59
  agent: Agent,
60
60
  selected?: boolean,
61
61
  ): Promise<string> {
@@ -1,5 +1,6 @@
1
1
  import { dirname, resolve } from 'path';
2
2
  import { findFile } from '../common/io';
3
+ import type { NpmClientType, NpmDirectClientType, NpmWapperClientType } from '../types';
3
4
 
4
5
  import * as lerna from './lerna';
5
6
  import * as npm from './npm';
@@ -19,20 +20,26 @@ export const clients = {
19
20
  bun,
20
21
  };
21
22
 
22
- type ClientName = keyof typeof clients;
23
+ const directClients: Array<NpmDirectClientType> = ['npm', 'pnp', 'yarn', 'pnpm', 'bun'];
24
+ const wrapperClients: Array<NpmWapperClientType> = ['lerna', 'rush'];
23
25
 
24
- const directClients = ['npm', 'pnp', 'yarn', 'pnpm', 'bun'];
26
+ export function isWrapperClient(client: NpmClientType): client is NpmWapperClientType {
27
+ return wrapperClients.includes(client as any);
28
+ }
25
29
 
26
- export function isWrapperClient(client: ClientName) {
27
- return !directClients.includes(client);
30
+ export function isDirectClient(client: NpmClientType): client is NpmDirectClientType {
31
+ return directClients.includes(client as any);
28
32
  }
29
33
 
30
- export async function detectClients(root: string) {
34
+ async function detectClients<T extends NpmClientType>(
35
+ root: string,
36
+ clientNames: Array<T>,
37
+ ): Promise<Array<{ client: T; result: boolean }>> {
31
38
  const packageJson = await findFile(resolve(root, '..'), 'package.json');
32
39
  const stopDir = packageJson ? dirname(packageJson) : undefined;
33
40
 
34
41
  return await Promise.all(
35
- Object.keys(clients).map(async (client: ClientName) => {
42
+ clientNames.map(async (client) => {
36
43
  const result = await clients[client].detectClient(root, stopDir);
37
44
  return {
38
45
  client,
@@ -41,3 +48,11 @@ export async function detectClients(root: string) {
41
48
  }),
42
49
  );
43
50
  }
51
+
52
+ export function detectDirectClients(root: string) {
53
+ return detectClients<NpmDirectClientType>(root, directClients);
54
+ }
55
+
56
+ export function detectWrapperClients(root: string) {
57
+ return detectClients<NpmWapperClientType>(root, wrapperClients);
58
+ }
@@ -1,5 +1,11 @@
1
1
  import type { LogLevels } from './common';
2
- import type { ImportmapVersions, PiletSchemaVersion } from './public';
2
+ import type {
3
+ ImportmapVersions,
4
+ NpmClientType,
5
+ NpmDirectClientType,
6
+ NpmWapperClientType,
7
+ PiletSchemaVersion,
8
+ } from './public';
3
9
 
4
10
  export interface PiralInstanceDetails {
5
11
  selected?: boolean;
@@ -34,3 +40,21 @@ export interface FileInfo {
34
40
  * 2. The (short) error message
35
41
  */
36
42
  export type QuickMessage = [LogLevels, string, string];
43
+
44
+ /**
45
+ * Result of identifying an npm client in a project.
46
+ */
47
+ export interface NpmClient {
48
+ /**
49
+ * The proposed client - can be anything.
50
+ */
51
+ proposed?: NpmClientType;
52
+ /**
53
+ * The direct npm client.
54
+ */
55
+ direct: NpmDirectClientType;
56
+ /**
57
+ * The wrapper npm client, if any.
58
+ */
59
+ wrapper?: NpmWapperClientType;
60
+ }
@@ -261,7 +261,11 @@ export type PiletBuildType = 'default' | 'standalone' | 'manifest';
261
261
 
262
262
  export type PackageType = 'registry' | 'file' | 'git' | 'remote';
263
263
 
264
- export type NpmClientType = 'npm' | 'yarn' | 'pnp' | 'pnpm' | 'lerna' | 'rush' | 'bun';
264
+ export type NpmDirectClientType = 'npm' | 'yarn' | 'pnp' | 'pnpm' | 'bun';
265
+
266
+ export type NpmWapperClientType = 'lerna' | 'rush';
267
+
268
+ export type NpmClientType = NpmDirectClientType | NpmWapperClientType;
265
269
 
266
270
  export type Framework = 'piral' | 'piral-core' | 'piral-base';
267
271