@theia/vsx-registry 1.53.0-next.5 → 1.53.0

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.
@@ -2,6 +2,7 @@ import type { OVSXRouterConfig } from '@theia/ovsx-client';
2
2
  export declare const VSX_ENVIRONMENT_PATH = "/services/vsx-environment";
3
3
  export declare const VSXEnvironment: unique symbol;
4
4
  export interface VSXEnvironment {
5
+ getRateLimit(): Promise<number>;
5
6
  getRegistryUri(): Promise<string>;
6
7
  getRegistryApiUri(): Promise<string>;
7
8
  getVscodeApiVersion(): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"vsx-environment.d.ts","sourceRoot":"","sources":["../../src/common/vsx-environment.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAEhE,eAAO,MAAM,cAAc,eAA2B,CAAC;AACvD,MAAM,WAAW,cAAc;IAC3B,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,mBAAmB,CAAC,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;CACjE"}
1
+ {"version":3,"file":"vsx-environment.d.ts","sourceRoot":"","sources":["../../src/common/vsx-environment.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAE3D,eAAO,MAAM,oBAAoB,8BAA8B,CAAC;AAEhE,eAAO,MAAM,cAAc,eAA2B,CAAC;AACvD,MAAM,WAAW,cAAc;IAC3B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAChC,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAClC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACvC,mBAAmB,CAAC,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,CAAC;CACjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"vsx-registry-common-module.d.ts","sourceRoot":"","sources":["../../src/common/vsx-registry-common-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAQ/D,wBAqDG"}
1
+ {"version":3,"file":"vsx-registry-common-module.d.ts","sourceRoot":"","sources":["../../src/common/vsx-registry-common-module.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAS/D,wBA2DG"}
@@ -20,6 +20,7 @@ const common_1 = require("../common");
20
20
  const request_1 = require("@theia/core/shared/@theia/request");
21
21
  const ovsx_client_1 = require("@theia/ovsx-client");
22
22
  const vsx_environment_1 = require("./vsx-environment");
23
+ const limiter_1 = require("limiter");
23
24
  exports.default = new inversify_1.ContainerModule(bind => {
24
25
  bind(common_1.OVSXUrlResolver)
25
26
  .toFunction(url => url);
@@ -33,13 +34,18 @@ exports.default = new inversify_1.ContainerModule(bind => {
33
34
  .all([
34
35
  vsxEnvironment.getRegistryApiUri(),
35
36
  (_a = vsxEnvironment.getOvsxRouterConfig) === null || _a === void 0 ? void 0 : _a.call(vsxEnvironment),
37
+ vsxEnvironment.getRateLimit()
36
38
  ])
37
- .then(async ([apiUrl, ovsxRouterConfig]) => {
39
+ .then(async ([apiUrl, ovsxRouterConfig, rateLimit]) => {
40
+ const rateLimiter = new limiter_1.RateLimiter({
41
+ interval: 'second',
42
+ tokensPerInterval: rateLimit
43
+ });
38
44
  if (ovsxRouterConfig) {
39
- const clientFactory = ovsx_client_1.OVSXHttpClient.createClientFactory(requestService);
45
+ const clientFactory = ovsx_client_1.OVSXHttpClient.createClientFactory(requestService, rateLimiter);
40
46
  return ovsx_client_1.OVSXRouterClient.FromConfig(ovsxRouterConfig, async (url) => clientFactory(await urlResolver(url)), [ovsx_client_1.RequestContainsFilterFactory, ovsx_client_1.ExtensionIdMatchesFilterFactory]);
41
47
  }
42
- return new ovsx_client_1.OVSXHttpClient(await urlResolver(apiUrl), requestService);
48
+ return new ovsx_client_1.OVSXHttpClient(await urlResolver(apiUrl), requestService, rateLimiter);
43
49
  });
44
50
  // reuse the promise for subsequent calls to this provider
45
51
  return () => clientPromise;
@@ -1 +1 @@
1
- {"version":3,"file":"vsx-registry-common-module.js","sourceRoot":"","sources":["../../src/common/vsx-registry-common-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vsx-registry-common-module.js","sourceRoot":"","sources":["../../src/common/vsx-registry-common-module.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;AAEhF,4DAA+D;AAC/D,sCAAgE;AAChE,+DAAmE;AACnE,oDAE4B;AAC5B,uDAAmD;AACnD,qCAAsC;AAEtC,kBAAe,IAAI,2BAAe,CAAC,IAAI,CAAC,EAAE;IACtC,IAAI,CAAC,wBAAe,CAAC;SAChB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5B,IAAI,CAAC,2BAAkB,CAAC;SACnB,cAAc,CAAC,GAAG,CAAC,EAAE;;QAClB,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAiB,gCAAc,CAAC,CAAC;QACzE,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAiB,wBAAc,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,wBAAe,CAAC,CAAC;QACvD,MAAM,aAAa,GAAG,OAAO;aACxB,GAAG,CAAC;YACD,cAAc,CAAC,iBAAiB,EAAE;YAClC,MAAA,cAAc,CAAC,mBAAmB,8DAAI;YACtC,cAAc,CAAC,YAAY,EAAE;SAChC,CAAC;aACD,IAAI,CAAa,KAAK,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,SAAS,CAAC,EAAE,EAAE;YAC9D,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC;gBAChC,QAAQ,EAAE,QAAQ;gBAClB,iBAAiB,EAAE,SAAS;aAC/B,CAAC,CAAC;YACH,IAAI,gBAAgB,EAAE,CAAC;gBACnB,MAAM,aAAa,GAAG,4BAAc,CAAC,mBAAmB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;gBACtF,OAAO,8BAAgB,CAAC,UAAU,CAC9B,gBAAgB,EAChB,KAAK,EAAC,GAAG,EAAC,EAAE,CAAC,aAAa,CAAC,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC,EAClD,CAAC,0CAA4B,EAAE,6CAA+B,CAAC,CAClE,CAAC;YACN,CAAC;YACD,OAAO,IAAI,4BAAc,CACrB,MAAM,WAAW,CAAC,MAAM,CAAC,EACzB,cAAc,EACd,WAAW,CACd,CAAC;QACN,CAAC,CAAC,CAAC;QACP,0DAA0D;QAC1D,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC;IAC/B,CAAC,CAAC;SACD,gBAAgB,EAAE,CAAC;IACxB,IAAI,CAAC,2BAAa,CAAC;SACd,cAAc,CAAC,GAAG,CAAC,EAAE;QAClB,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAiB,gCAAc,CAAC,CAAC;QACzE,MAAM,SAAS,GAAG,IAAI,+BAAiB,CAAC,SAAU,EAAE,uCAAuC,CAAC,CAAC;QAC7F,cAAc,CAAC,mBAAmB,EAAE;aAC/B,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,mBAAmB,GAAG,UAAU,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAqB,2BAAkB,CAAC,CAAC;QACjF,OAAO,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC5C,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC;SACD,gBAAgB,EAAE,CAAC;IACxB,IAAI,CAAC,mCAAqB,CAAC;SACtB,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE;QAC1B,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAiB,gCAAc,CAAC,CAAC;QACzE,MAAM,cAAc,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAqB,2BAAkB,CAAC,CAAC;QACjF,MAAM,MAAM,GAAG,MAAM,cAAc,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,mBAAmB,EAAE,CAAC;QAC9D,MAAM,SAAS,GAAG,IAAI,+BAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC5D,OAAO,SAAS,CAAC;IACrB,CAAC,CAAC,CAAC;AACX,CAAC,CAAC,CAAC"}
@@ -4,6 +4,7 @@ import { Argv } from '@theia/core/shared/yargs';
4
4
  import { OVSXRouterConfig } from '@theia/ovsx-client';
5
5
  export declare class VsxCli implements CliContribution {
6
6
  ovsxRouterConfig: OVSXRouterConfig | undefined;
7
+ ovsxRateLimit: number;
7
8
  pluginsToInstall: string[];
8
9
  configure(conf: Argv<{}>): void;
9
10
  setArguments(args: Record<string, unknown>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"vsx-cli.d.ts","sourceRoot":"","sources":["../../src/node/vsx-cli.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,qBACa,MAAO,YAAW,eAAe;IAE1C,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC/C,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAEhC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI;IASzB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAanE"}
1
+ {"version":3,"file":"vsx-cli.d.ts","sourceRoot":"","sources":["../../src/node/vsx-cli.ts"],"names":[],"mappings":";AAgBA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAmB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGvE,qBACa,MAAO,YAAW,eAAe;IAE1C,gBAAgB,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,EAAE,CAAM;IAEhC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI;IAUzB,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CAenE"}
@@ -18,6 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
18
18
  exports.VsxCli = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const inversify_1 = require("@theia/core/shared/inversify");
21
+ const ovsx_client_1 = require("@theia/ovsx-client");
21
22
  const fs = require("fs");
22
23
  let VsxCli = class VsxCli {
23
24
  constructor() {
@@ -25,6 +26,7 @@ let VsxCli = class VsxCli {
25
26
  }
26
27
  configure(conf) {
27
28
  conf.option('ovsx-router-config', { description: 'JSON configuration file for the OVSX router client', type: 'string' });
29
+ conf.option('ovsx-rate-limit', { description: 'Limits the number of requests to OVSX per second', type: 'number', default: ovsx_client_1.OVSX_RATE_LIMIT });
28
30
  conf.option('install-plugin', {
29
31
  alias: 'install-extension',
30
32
  nargs: 1,
@@ -43,6 +45,8 @@ let VsxCli = class VsxCli {
43
45
  if (Array.isArray(pluginsToInstall)) {
44
46
  this.pluginsToInstall = pluginsToInstall;
45
47
  }
48
+ const ovsxRateLimit = args.ovsxRateLimit;
49
+ this.ovsxRateLimit = typeof ovsxRateLimit === 'number' ? ovsxRateLimit : ovsx_client_1.OVSX_RATE_LIMIT;
46
50
  }
47
51
  };
48
52
  exports.VsxCli = VsxCli;
@@ -1 +1 @@
1
- {"version":3,"file":"vsx-cli.js","sourceRoot":"","sources":["../../src/node/vsx-cli.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAGhF,4DAA0D;AAG1D,yBAAyB;AAGlB,IAAM,MAAM,GAAZ,MAAM,MAAM;IAAZ;QAGH,qBAAgB,GAAa,EAAE,CAAC;IAwBpC,CAAC;IAtBG,SAAS,CAAC,IAAc;QACpB,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,WAAW,EAAE,oDAAoD,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzH,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAC1B,KAAK,EAAE,mBAAmB;YAC1B,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,2HAA2H;SACpI,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAA6B;QAC5C,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QACxD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1C,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACvC,gBAAgB,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC7C,CAAC;IACL,CAAC;CACJ,CAAA;AA3BY,wBAAM;iBAAN,MAAM;IADlB,IAAA,sBAAU,GAAE;GACA,MAAM,CA2BlB"}
1
+ {"version":3,"file":"vsx-cli.js","sourceRoot":"","sources":["../../src/node/vsx-cli.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,0CAA0C;AAC1C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAGhF,4DAA0D;AAE1D,oDAAuE;AACvE,yBAAyB;AAGlB,IAAM,MAAM,GAAZ,MAAM,MAAM;IAAZ;QAIH,qBAAgB,GAAa,EAAE,CAAC;IA2BpC,CAAC;IAzBG,SAAS,CAAC,IAAc;QACpB,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,EAAE,WAAW,EAAE,oDAAoD,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACzH,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAAE,WAAW,EAAE,kDAAkD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,6BAAe,EAAE,CAAC,CAAC;QAC9I,IAAI,CAAC,MAAM,CAAC,gBAAgB,EAAE;YAC1B,KAAK,EAAE,mBAAmB;YAC1B,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,2HAA2H;SACpI,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAA6B;QAC5C,MAAM,EAAE,oBAAoB,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QACxD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,IAAI,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;QAC1C,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACvC,gBAAgB,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC1C,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YAClC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QAC7C,CAAC;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,OAAO,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,6BAAe,CAAC;IAC7F,CAAC;CACJ,CAAA;AA/BY,wBAAM;iBAAN,MAAM;IADlB,IAAA,sBAAU,GAAE;GACA,MAAM,CA+BlB"}
@@ -7,6 +7,7 @@ export declare class VSXEnvironmentImpl implements VSXEnvironment {
7
7
  protected _registryUri: URI;
8
8
  protected readonly pluginVscodeCli: PluginVsCodeCliContribution;
9
9
  protected vsxCli: VsxCli;
10
+ getRateLimit(): Promise<number>;
10
11
  getRegistryUri(): Promise<string>;
11
12
  getRegistryApiUri(): Promise<string>;
12
13
  getVscodeApiVersion(): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"vsx-environment-impl.d.ts","sourceRoot":"","sources":["../../src/node/vsx-environment-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kEAAkE,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,qBACa,kBAAmB,YAAW,cAAc;IAErD,SAAS,CAAC,YAAY,MAA8E;IAGpG,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,2BAA2B,CAAC;IAGhE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEnB,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;CAGrE"}
1
+ {"version":3,"file":"vsx-environment-impl.d.ts","sourceRoot":"","sources":["../../src/node/vsx-environment-impl.ts"],"names":[],"mappings":"AAgBA,OAAO,GAAG,MAAM,4BAA4B,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,MAAM,kEAAkE,CAAC;AAC/G,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,qBACa,kBAAmB,YAAW,cAAc;IAErD,SAAS,CAAC,YAAY,MAA8E;IAGpG,SAAS,CAAC,QAAQ,CAAC,eAAe,EAAE,2BAA2B,CAAC;IAGhE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC;IAEnB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,cAAc,IAAI,OAAO,CAAC,MAAM,CAAC;IAIjC,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIpC,mBAAmB,IAAI,OAAO,CAAC,MAAM,CAAC;IAItC,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;CAGrE"}
@@ -26,6 +26,9 @@ let VSXEnvironmentImpl = class VSXEnvironmentImpl {
26
26
  var _a;
27
27
  this._registryUri = new uri_1.default(((_a = process.env['VSX_REGISTRY_URL']) === null || _a === void 0 ? void 0 : _a.trim()) || 'https://open-vsx.org');
28
28
  }
29
+ async getRateLimit() {
30
+ return this.vsxCli.ovsxRateLimit;
31
+ }
29
32
  async getRegistryUri() {
30
33
  return this._registryUri.toString(true);
31
34
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vsx-environment-impl.js","sourceRoot":"","sources":["../../src/node/vsx-environment-impl.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,oDAA6C;AAC7C,4DAAkE;AAElE,qHAA+G;AAE/G,uCAAmC;AAG5B,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAAxB;;QAEO,iBAAY,GAAG,IAAI,aAAG,CAAC,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,0CAAE,IAAI,EAAE,KAAI,sBAAsB,CAAC,CAAC;IAuBxG,CAAC;IAfG,KAAK,CAAC,cAAc;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,mBAAmB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,mBAAmB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACxC,CAAC;CACJ,CAAA;AAzBY,gDAAkB;AAKR;IADlB,IAAA,kBAAM,EAAC,4DAA2B,CAAC;sCACA,4DAA2B;2DAAC;AAGtD;IADT,IAAA,kBAAM,EAAC,gBAAM,CAAC;sCACG,gBAAM;kDAAC;6BARhB,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;GACA,kBAAkB,CAyB9B"}
1
+ {"version":3,"file":"vsx-environment-impl.js","sourceRoot":"","sources":["../../src/node/vsx-environment-impl.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,yCAAyC;AACzC,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,oDAA6C;AAC7C,4DAAkE;AAElE,qHAA+G;AAE/G,uCAAmC;AAG5B,IAAM,kBAAkB,GAAxB,MAAM,kBAAkB;IAAxB;;QAEO,iBAAY,GAAG,IAAI,aAAG,CAAC,CAAA,MAAA,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,0CAAE,IAAI,EAAE,KAAI,sBAAsB,CAAC,CAAC;IA2BxG,CAAC;IAnBG,KAAK,CAAC,YAAY;QACd,OAAO,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,cAAc;QAChB,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,mBAAmB;QACrB,OAAO,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,mBAAmB;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACxC,CAAC;CACJ,CAAA;AA7BY,gDAAkB;AAKR;IADlB,IAAA,kBAAM,EAAC,4DAA2B,CAAC;sCACA,4DAA2B;2DAAC;AAGtD;IADT,IAAA,kBAAM,EAAC,gBAAM,CAAC;sCACG,gBAAM;kDAAC;6BARhB,kBAAkB;IAD9B,IAAA,sBAAU,GAAE;GACA,kBAAkB,CA6B9B"}
@@ -44,7 +44,7 @@ let VSXExtensionResolver = VSXExtensionResolver_1 = class VSXExtensionResolver {
44
44
  const filter = await this.vsxApiFilter();
45
45
  const version = (options === null || options === void 0 ? void 0 : options.version) || id.version;
46
46
  if (version) {
47
- console.log(`[${id}]: trying to resolve version ${version}...`);
47
+ console.log(`[${id.id}]: trying to resolve version ${version}...`);
48
48
  extension = await filter.findLatestCompatibleExtension({
49
49
  extensionId: id.id,
50
50
  extensionVersion: version,
@@ -53,7 +53,7 @@ let VSXExtensionResolver = VSXExtensionResolver_1 = class VSXExtensionResolver {
53
53
  });
54
54
  }
55
55
  else {
56
- console.log(`[${id}]: trying to resolve latest version...`);
56
+ console.log(`[${id.id}]: trying to resolve latest version...`);
57
57
  extension = await filter.findLatestCompatibleExtension({
58
58
  extensionId: id.id,
59
59
  includeAllVersions: true,
@@ -72,7 +72,7 @@ let VSXExtensionResolver = VSXExtensionResolver_1 = class VSXExtensionResolver {
72
72
  if (!(options === null || options === void 0 ? void 0 : options.ignoreOtherVersions)) {
73
73
  const existingVersion = this.hasSameOrNewerVersion(id.id, extension);
74
74
  if (existingVersion) {
75
- console.log(`[${id}]: is already installed with the same or newer version '${existingVersion}'`);
75
+ console.log(`[${id.id}]: is already installed with the same or newer version '${existingVersion}'`);
76
76
  return;
77
77
  }
78
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vsx-extension-resolver.js","sourceRoot":"","sources":["../../src/node/vsx-extension-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vsx-extension-resolver.js","sourceRoot":"","sources":["../../src/node/vsx-extension-resolver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,16 +1,17 @@
1
1
  {
2
2
  "name": "@theia/vsx-registry",
3
- "version": "1.53.0-next.5+1e5fb536d",
3
+ "version": "1.53.0",
4
4
  "description": "Theia - VSX Registry",
5
5
  "dependencies": {
6
- "@theia/core": "1.53.0-next.5+1e5fb536d",
7
- "@theia/filesystem": "1.53.0-next.5+1e5fb536d",
8
- "@theia/navigator": "1.53.0-next.5+1e5fb536d",
9
- "@theia/ovsx-client": "1.53.0-next.5+1e5fb536d",
10
- "@theia/plugin-ext": "1.53.0-next.5+1e5fb536d",
11
- "@theia/plugin-ext-vscode": "1.53.0-next.5+1e5fb536d",
12
- "@theia/preferences": "1.53.0-next.5+1e5fb536d",
13
- "@theia/workspace": "1.53.0-next.5+1e5fb536d",
6
+ "@theia/core": "1.53.0",
7
+ "@theia/filesystem": "1.53.0",
8
+ "@theia/navigator": "1.53.0",
9
+ "@theia/ovsx-client": "1.53.0",
10
+ "@theia/plugin-ext": "1.53.0",
11
+ "@theia/plugin-ext-vscode": "1.53.0",
12
+ "@theia/preferences": "1.53.0",
13
+ "@theia/workspace": "1.53.0",
14
+ "limiter": "^2.1.0",
14
15
  "luxon": "^2.4.0",
15
16
  "p-debounce": "^2.1.0",
16
17
  "semver": "^7.5.4",
@@ -54,11 +55,11 @@
54
55
  "watch": "theiaext watch"
55
56
  },
56
57
  "devDependencies": {
57
- "@theia/ext-scripts": "1.52.0",
58
+ "@theia/ext-scripts": "1.53.0",
58
59
  "@types/luxon": "^2.3.2"
59
60
  },
60
61
  "nyc": {
61
62
  "extends": "../../configs/nyc.json"
62
63
  },
63
- "gitHead": "1e5fb536d65550ad8fa0fefcec731645b2afc74a"
64
+ "gitHead": "e094481839bc0920b91f726f81cb759a4cba9cc5"
64
65
  }
@@ -20,6 +20,7 @@ export const VSX_ENVIRONMENT_PATH = '/services/vsx-environment';
20
20
 
21
21
  export const VSXEnvironment = Symbol('VSXEnvironment');
22
22
  export interface VSXEnvironment {
23
+ getRateLimit(): Promise<number>;
23
24
  getRegistryUri(): Promise<string>;
24
25
  getRegistryApiUri(): Promise<string>;
25
26
  getVscodeApiVersion(): Promise<string>;
@@ -21,6 +21,7 @@ import {
21
21
  ExtensionIdMatchesFilterFactory, OVSXApiFilter, OVSXApiFilterImpl, OVSXApiFilterProvider, OVSXClient, OVSXHttpClient, OVSXRouterClient, RequestContainsFilterFactory
22
22
  } from '@theia/ovsx-client';
23
23
  import { VSXEnvironment } from './vsx-environment';
24
+ import { RateLimiter } from 'limiter';
24
25
 
25
26
  export default new ContainerModule(bind => {
26
27
  bind(OVSXUrlResolver)
@@ -34,10 +35,15 @@ export default new ContainerModule(bind => {
34
35
  .all([
35
36
  vsxEnvironment.getRegistryApiUri(),
36
37
  vsxEnvironment.getOvsxRouterConfig?.(),
38
+ vsxEnvironment.getRateLimit()
37
39
  ])
38
- .then<OVSXClient>(async ([apiUrl, ovsxRouterConfig]) => {
40
+ .then<OVSXClient>(async ([apiUrl, ovsxRouterConfig, rateLimit]) => {
41
+ const rateLimiter = new RateLimiter({
42
+ interval: 'second',
43
+ tokensPerInterval: rateLimit
44
+ });
39
45
  if (ovsxRouterConfig) {
40
- const clientFactory = OVSXHttpClient.createClientFactory(requestService);
46
+ const clientFactory = OVSXHttpClient.createClientFactory(requestService, rateLimiter);
41
47
  return OVSXRouterClient.FromConfig(
42
48
  ovsxRouterConfig,
43
49
  async url => clientFactory(await urlResolver(url)),
@@ -46,7 +52,8 @@ export default new ContainerModule(bind => {
46
52
  }
47
53
  return new OVSXHttpClient(
48
54
  await urlResolver(apiUrl),
49
- requestService
55
+ requestService,
56
+ rateLimiter
50
57
  );
51
58
  });
52
59
  // reuse the promise for subsequent calls to this provider
@@ -17,17 +17,19 @@
17
17
  import { CliContribution } from '@theia/core/lib/node';
18
18
  import { injectable } from '@theia/core/shared/inversify';
19
19
  import { Argv } from '@theia/core/shared/yargs';
20
- import { OVSXRouterConfig } from '@theia/ovsx-client';
20
+ import { OVSX_RATE_LIMIT, OVSXRouterConfig } from '@theia/ovsx-client';
21
21
  import * as fs from 'fs';
22
22
 
23
23
  @injectable()
24
24
  export class VsxCli implements CliContribution {
25
25
 
26
26
  ovsxRouterConfig: OVSXRouterConfig | undefined;
27
+ ovsxRateLimit: number;
27
28
  pluginsToInstall: string[] = [];
28
29
 
29
30
  configure(conf: Argv<{}>): void {
30
31
  conf.option('ovsx-router-config', { description: 'JSON configuration file for the OVSX router client', type: 'string' });
32
+ conf.option('ovsx-rate-limit', { description: 'Limits the number of requests to OVSX per second', type: 'number', default: OVSX_RATE_LIMIT });
31
33
  conf.option('install-plugin', {
32
34
  alias: 'install-extension',
33
35
  nargs: 1,
@@ -47,5 +49,7 @@ export class VsxCli implements CliContribution {
47
49
  if (Array.isArray(pluginsToInstall)) {
48
50
  this.pluginsToInstall = pluginsToInstall;
49
51
  }
52
+ const ovsxRateLimit = args.ovsxRateLimit;
53
+ this.ovsxRateLimit = typeof ovsxRateLimit === 'number' ? ovsxRateLimit : OVSX_RATE_LIMIT;
50
54
  }
51
55
  }
@@ -32,6 +32,10 @@ export class VSXEnvironmentImpl implements VSXEnvironment {
32
32
  @inject(VsxCli)
33
33
  protected vsxCli: VsxCli;
34
34
 
35
+ async getRateLimit(): Promise<number> {
36
+ return this.vsxCli.ovsxRateLimit;
37
+ }
38
+
35
39
  async getRegistryUri(): Promise<string> {
36
40
  return this._registryUri.toString(true);
37
41
  }
@@ -54,7 +54,7 @@ export class VSXExtensionResolver implements PluginDeployerResolver {
54
54
  const filter = await this.vsxApiFilter();
55
55
  const version = options?.version || id.version;
56
56
  if (version) {
57
- console.log(`[${id}]: trying to resolve version ${version}...`);
57
+ console.log(`[${id.id}]: trying to resolve version ${version}...`);
58
58
  extension = await filter.findLatestCompatibleExtension({
59
59
  extensionId: id.id,
60
60
  extensionVersion: version,
@@ -62,7 +62,7 @@ export class VSXExtensionResolver implements PluginDeployerResolver {
62
62
  targetPlatform: VSXExtensionResolver.TARGET_PLATFORM
63
63
  });
64
64
  } else {
65
- console.log(`[${id}]: trying to resolve latest version...`);
65
+ console.log(`[${id.id}]: trying to resolve latest version...`);
66
66
  extension = await filter.findLatestCompatibleExtension({
67
67
  extensionId: id.id,
68
68
  includeAllVersions: true,
@@ -82,7 +82,7 @@ export class VSXExtensionResolver implements PluginDeployerResolver {
82
82
  if (!options?.ignoreOtherVersions) {
83
83
  const existingVersion = this.hasSameOrNewerVersion(id.id, extension);
84
84
  if (existingVersion) {
85
- console.log(`[${id}]: is already installed with the same or newer version '${existingVersion}'`);
85
+ console.log(`[${id.id}]: is already installed with the same or newer version '${existingVersion}'`);
86
86
  return;
87
87
  }
88
88
  }