@salesforce/plugin-marketplace 1.3.6 → 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.6/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.6"
49
+ "version": "1.3.8"
50
50
  }
package/package.json CHANGED
@@ -1,25 +1,25 @@
1
1
  {
2
2
  "name": "@salesforce/plugin-marketplace",
3
3
  "description": "Find sf plugins",
4
- "version": "1.3.6",
4
+ "version": "1.3.8",
5
5
  "author": "Salesforce",
6
6
  "bugs": "https://github.com/forcedotcom/cli/issues",
7
7
  "dependencies": {
8
8
  "@salesforce/core": "^8.8.0",
9
9
  "@salesforce/kit": "^3.2.1",
10
- "@salesforce/sf-plugins-core": "^12.0.11",
10
+ "@salesforce/sf-plugins-core": "^12.0.13",
11
11
  "got": "^13.0.0",
12
12
  "proxy-agent": "^6.4.0"
13
13
  },
14
14
  "devDependencies": {
15
- "@oclif/plugin-command-snapshot": "^5.2.21",
16
- "@salesforce/cli-plugins-testkit": "^5.3.36",
15
+ "@oclif/plugin-command-snapshot": "^5.2.22",
16
+ "@salesforce/cli-plugins-testkit": "^5.3.38",
17
17
  "@salesforce/dev-scripts": "^10.2.11",
18
- "@salesforce/plugin-command-reference": "^3.1.33",
19
- "eslint-plugin-sf-plugin": "^1.20.11",
20
- "oclif": "^4.15.21",
18
+ "@salesforce/plugin-command-reference": "^3.1.34",
19
+ "eslint-plugin-sf-plugin": "^1.20.13",
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.6.crt",
201
- "signatureUrl": "https://developer.salesforce.com/media/salesforce-cli/security/@salesforce/plugin-marketplace/1.3.6.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
  }