@salesforce/plugin-marketplace 1.3.7 → 1.3.8

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/LICENSE.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2024, Salesforce.com, Inc.
1
+ Copyright (c) 2025, Salesforce.com, Inc.
2
2
  All rights reserved.
3
3
 
4
4
  Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
package/README.md CHANGED
@@ -85,6 +85,6 @@ EXAMPLES
85
85
  $ sf plugins discover
86
86
  ```
87
87
 
88
- _See code: [src/commands/plugins/discover.ts](https://github.com/salesforcecli/plugin-marketplace/blob/1.3.7/src/commands/plugins/discover.ts)_
88
+ _See code: [src/commands/plugins/discover.ts](https://github.com/salesforcecli/plugin-marketplace/blob/1.3.8/src/commands/plugins/discover.ts)_
89
89
 
90
90
  <!-- commandsstop -->
@@ -15,6 +15,7 @@ export default class PluginsDiscover extends SfCommand {
15
15
  static examples = messages.getMessages('examples');
16
16
  async run() {
17
17
  await this.parse(PluginsDiscover);
18
+ this.spinner.start('Fetching details for plugins');
18
19
  const results = shared.transform(await shared.query(packages)).map(limitJson);
19
20
  this.table({
20
21
  data: results.map(formatRow),
@@ -33,6 +34,7 @@ export default class PluginsDiscover extends SfCommand {
33
34
  ],
34
35
  overflow: 'wrap',
35
36
  });
37
+ this.spinner.stop();
36
38
  this.log(); // Add a blank line before the disclaimer
37
39
  this.warn(messages.getMessage('disclaimer'));
38
40
  return results;
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/commands/plugins/discover.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,MAA0B,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,gCAAgC,EAAE,kBAAkB,CAAC,CAAC;AAI7F,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAA0B;IAC9D,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5D,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE9E,IAAI,CAAC,KAAK,CAAC;YACT,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YAC5B,OAAO,EAAE;gBACP;oBACE,GAAG,EAAE,MAAM;oBACX,IAAI,EAAE,SAAS;iBAChB;gBACD,aAAa;gBACb,UAAU;gBACV;oBACE,GAAG,EAAE,WAAW;oBAChB,IAAI,EAAE,OAAO;iBACd;gBACD,WAAW;aACZ;YACD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,yCAAyC;QACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;;AAGH,mIAAmI;AACnI,MAAM,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAkB,EAAkB,EAAE,CAAC,CAAC;IAC5G,IAAI;IACJ,WAAW;IACX,QAAQ;IACR,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,CAAC,EAAkB,EAAkB,EAAE,CAAC,CAAC;IACzD,GAAG,EAAE;IACL,WAAW,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,WAAW,CAAC;CACzD,CAAC,CAAC"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../src/commands/plugins/discover.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,MAA0B,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AAEnD,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,gCAAgC,EAAE,kBAAkB,CAAC,CAAC;AAI7F,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,SAA0B;IAC9D,MAAM,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5D,KAAK,CAAC,GAAG;QACd,MAAM,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QAClC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAE9E,IAAI,CAAC,KAAK,CAAC;YACT,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YAC5B,OAAO,EAAE;gBACP;oBACE,GAAG,EAAE,MAAM;oBACX,IAAI,EAAE,SAAS;iBAChB;gBACD,aAAa;gBACb,UAAU;gBACV;oBACE,GAAG,EAAE,WAAW;oBAChB,IAAI,EAAE,OAAO;iBACd;gBACD,WAAW;aACZ;YACD,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACpB,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,yCAAyC;QACrD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;;AAGH,mIAAmI;AACnI,MAAM,SAAS,GAAG,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAkB,EAAkB,EAAE,CAAC,CAAC;IAC5G,IAAI;IACJ,WAAW;IACX,QAAQ;IACR,SAAS;IACT,SAAS;CACV,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,CAAC,EAAkB,EAAkB,EAAE,CAAC,CAAC;IACzD,GAAG,EAAE;IACL,WAAW,EAAE,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC,WAAW,CAAC;CACzD,CAAC,CAAC"}
@@ -6,13 +6,42 @@
6
6
  */
7
7
  import got from 'got';
8
8
  import { ProxyAgent } from 'proxy-agent';
9
+ import { sleep } from '@salesforce/kit';
9
10
  const agent = { https: new ProxyAgent() };
10
- export const query = async (packages) => Promise.all(packages.map((pkg) => Promise.all([
11
- got(`https://registry.npmjs.org/${pkg}/latest`, { agent }).json(),
12
- got(`https://api.npmjs.org/downloads/point/last-week/${pkg}`, { agent }).json(),
13
- // use yarn to spread the load around some
14
- got(`https://registry.yarnpkg.com/-/v1/search?text=${pkg}`, { agent }).json(),
15
- ])));
11
+ const retryWithBackoff = async (fn, maxRetries = 3, initialDelay = 1000) => {
12
+ try {
13
+ return await fn();
14
+ }
15
+ catch (error) {
16
+ if (error instanceof Error &&
17
+ 'response' in error &&
18
+ typeof error.response === 'object' &&
19
+ error.response !== null &&
20
+ 'statusCode' in error.response &&
21
+ error.response.statusCode === 429 &&
22
+ maxRetries > 0) {
23
+ await sleep(initialDelay);
24
+ return retryWithBackoff(fn, maxRetries - 1, initialDelay * 2);
25
+ }
26
+ throw error;
27
+ }
28
+ };
29
+ export const query = async (packages) => {
30
+ const results = [];
31
+ for (const pkg of packages) {
32
+ // eslint-disable-next-line no-await-in-loop
33
+ const result = await Promise.all([
34
+ retryWithBackoff(() => got(`https://registry.npmjs.org/${pkg}/latest`, { agent }).json()),
35
+ retryWithBackoff(() => got(`https://api.npmjs.org/downloads/point/last-week/${pkg}`, { agent }).json()),
36
+ retryWithBackoff(() => got(`https://registry.yarnpkg.com/-/v1/search?text=${pkg}`, { agent }).json()),
37
+ ]);
38
+ results.push(result);
39
+ // Add a small delay between packages to avoid rate limiting
40
+ // eslint-disable-next-line no-await-in-loop
41
+ await sleep(100);
42
+ }
43
+ return results;
44
+ };
16
45
  export const transform = (queryResult) => queryResult
17
46
  .map((y) => ({ ...y[0], ...y[1], published: dateFromSearchObjects(y[0].name, y[2]) }))
18
47
  .sort((a, b) => (b.downloads > a.downloads ? 1 : -1))
@@ -1 +1 @@
1
- {"version":3,"file":"discoverQuery.js","sourceRoot":"","sources":["../../src/shared/discoverQuery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA2BzC,MAAM,KAAK,GAAG,EAAE,KAAK,EAAE,IAAI,UAAU,EAAE,EAAE,CAAC;AAE1C,MAAM,CAAC,MAAM,KAAK,GAAG,KAAK,EAAE,QAAkB,EAAmD,EAAE,CACjG,OAAO,CAAC,GAAG,CACT,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACnB,OAAO,CAAC,GAAG,CAAC;IACV,GAAG,CAAU,8BAA8B,GAAG,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAW;IACnF,GAAG,CAAW,mDAAmD,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAY;IACnG,0CAA0C;IAC1C,GAAG,CAAa,iDAAiD,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,IAAI,EAAc;CACtG,CAAC,CACH,CACF,CAAC;AAEJ,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,WAA0B,EAAoB,EAAE,CACxE,WAAW;KACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;KACrF,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KACpD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,GAAG,CAAC;IACJ,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,uCAAuC,EAAE,oBAAoB,CAAC;CAC5F,CAAC,CAAC,CAAC;AAER,MAAM,qBAAqB,GAAG,CAAC,OAAe,EAAE,UAAsB,EAAU,EAAE,CAChF,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAE/F,6FAA6F;AAC7F,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,WAAmB,EAAU,EAAE,CAClE,CACE,WAAW;IACT,wBAAwB;KACvB,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC;IAC7B,gBAAgB;KACf,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;KACrB,IAAI,EAAE;IACP,8BAA8B;KAC7B,KAAK,CAAC,oBAAoB,CAAC;IAC5B,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;KAC3B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CACpB;IACC,qBAAqB;KACpB,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAE/B,eAAe;IACb,KAAK;IACL,SAAS;IACT,oBAAoB;CACrB,CAAC"}
1
+ {"version":3,"file":"discoverQuery.js","sourceRoot":"","sources":["../../src/shared/discoverQuery.ts"],"names":[],"mappings":"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"}
@@ -46,5 +46,5 @@
46
46
  ]
47
47
  }
48
48
  },
49
- "version": "1.3.7"
49
+ "version": "1.3.8"
50
50
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@salesforce/plugin-marketplace",
3
3
  "description": "Find sf plugins",
4
- "version": "1.3.7",
4
+ "version": "1.3.8",
5
5
  "author": "Salesforce",
6
6
  "bugs": "https://github.com/forcedotcom/cli/issues",
7
7
  "dependencies": {
@@ -13,13 +13,13 @@
13
13
  },
14
14
  "devDependencies": {
15
15
  "@oclif/plugin-command-snapshot": "^5.2.22",
16
- "@salesforce/cli-plugins-testkit": "^5.3.37",
16
+ "@salesforce/cli-plugins-testkit": "^5.3.38",
17
17
  "@salesforce/dev-scripts": "^10.2.11",
18
18
  "@salesforce/plugin-command-reference": "^3.1.34",
19
19
  "eslint-plugin-sf-plugin": "^1.20.13",
20
20
  "oclif": "^4.15.29",
21
21
  "ts-node": "^10.9.2",
22
- "typescript": "^5.6.3"
22
+ "typescript": "^5.7.2"
23
23
  },
24
24
  "engines": {
25
25
  "node": ">=18.0.0"
@@ -197,7 +197,7 @@
197
197
  "exports": "./lib/index.js",
198
198
  "type": "module",
199
199
  "sfdx": {
200
- "publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-marketplace/1.3.7.crt",
201
- "signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-marketplace/1.3.7.sig"
200
+ "publicKeyUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-marketplace/1.3.8.crt",
201
+ "signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-marketplace/1.3.8.sig"
202
202
  }
203
203
  }