@theia/vsx-registry 1.53.0-next.5 → 1.53.0-next.55
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/README.md +45 -45
- package/lib/common/vsx-environment.d.ts +1 -0
- package/lib/common/vsx-environment.d.ts.map +1 -1
- package/lib/common/vsx-registry-common-module.d.ts.map +1 -1
- package/lib/common/vsx-registry-common-module.js +9 -3
- package/lib/common/vsx-registry-common-module.js.map +1 -1
- package/lib/node/vsx-cli.d.ts +1 -0
- package/lib/node/vsx-cli.d.ts.map +1 -1
- package/lib/node/vsx-cli.js +4 -0
- package/lib/node/vsx-cli.js.map +1 -1
- package/lib/node/vsx-environment-impl.d.ts +1 -0
- package/lib/node/vsx-environment-impl.d.ts.map +1 -1
- package/lib/node/vsx-environment-impl.js +3 -0
- package/lib/node/vsx-environment-impl.js.map +1 -1
- package/lib/node/vsx-extension-resolver.js +3 -3
- package/lib/node/vsx-extension-resolver.js.map +1 -1
- package/package.json +12 -11
- package/src/browser/recommended-extensions/preference-provider-overrides.ts +99 -99
- package/src/browser/recommended-extensions/recommended-extensions-json-schema.ts +74 -74
- package/src/browser/recommended-extensions/recommended-extensions-preference-contribution.ts +68 -68
- package/src/browser/style/extensions.svg +4 -4
- package/src/browser/style/index.css +436 -436
- package/src/browser/vsx-extension-argument-processor.ts +32 -32
- package/src/browser/vsx-extension-commands.ts +68 -68
- package/src/browser/vsx-extension-editor-manager.ts +42 -42
- package/src/browser/vsx-extension-editor.tsx +96 -96
- package/src/browser/vsx-extension.tsx +710 -710
- package/src/browser/vsx-extensions-contribution.ts +373 -373
- package/src/browser/vsx-extensions-model.ts +456 -456
- package/src/browser/vsx-extensions-preferences.ts +58 -58
- package/src/browser/vsx-extensions-search-bar.tsx +107 -107
- package/src/browser/vsx-extensions-search-model.ts +61 -61
- package/src/browser/vsx-extensions-source.ts +83 -83
- package/src/browser/vsx-extensions-view-container.ts +179 -179
- package/src/browser/vsx-extensions-widget.tsx +165 -165
- package/src/browser/vsx-language-quick-pick-service.ts +112 -112
- package/src/browser/vsx-registry-frontend-module.ts +113 -113
- package/src/common/index.ts +19 -19
- package/src/common/ovsx-client-provider.ts +35 -35
- package/src/common/vsx-environment.ts +28 -27
- package/src/common/vsx-extension-uri.ts +20 -20
- package/src/common/vsx-registry-common-module.ts +85 -78
- package/src/node/vsx-cli-deployer-participant.ts +46 -46
- package/src/node/vsx-cli.ts +55 -51
- package/src/node/vsx-environment-impl.ts +54 -50
- package/src/node/vsx-extension-resolver.ts +134 -134
- package/src/node/vsx-registry-backend-module.ts +38 -38
- package/src/node/vsx-remote-cli.ts +39 -39
- package/src/package.spec.ts +29 -29
package/README.md
CHANGED
|
@@ -1,45 +1,45 @@
|
|
|
1
|
-
<div align='center'>
|
|
2
|
-
|
|
3
|
-
<br />
|
|
4
|
-
|
|
5
|
-
<img src='https://raw.githubusercontent.com/eclipse-theia/theia/master/logo/theia.svg?sanitize=true' alt='theia-ext-logo' width='100px' />
|
|
6
|
-
|
|
7
|
-
<h2>ECLIPSE THEIA - Open VSX Registry Extension</h2>
|
|
8
|
-
|
|
9
|
-
<hr />
|
|
10
|
-
|
|
11
|
-
</div>
|
|
12
|
-
|
|
13
|
-
## Description
|
|
14
|
-
|
|
15
|
-
The `@theia/vsx-registry` extension provides integration with the Open VSX Registry.
|
|
16
|
-
|
|
17
|
-
### Configuration
|
|
18
|
-
|
|
19
|
-
The extension connects to the public Open VSX Registry hosted on `http://open-vsx.org/`.
|
|
20
|
-
One can host own instance of a [registry](https://github.com/eclipse/openvsx#eclipse-open-vsx)
|
|
21
|
-
and configure `VSX_REGISTRY_URL` environment variable to use it.
|
|
22
|
-
|
|
23
|
-
### Using multiple registries
|
|
24
|
-
|
|
25
|
-
It is possible to target multiple registries by specifying a CLI argument when
|
|
26
|
-
running the backend: `--ovsx-router-config=<path>` where `path` must point to
|
|
27
|
-
a json defining an `OVSXRouterConfig` object.
|
|
28
|
-
|
|
29
|
-
See `@theia/ovsx-client`'s documentation to read more about `OVSXRouterClient`
|
|
30
|
-
and its `OVSXRouterConfig` configuration.
|
|
31
|
-
|
|
32
|
-
## Additional Information
|
|
33
|
-
|
|
34
|
-
- [API documentation for `@theia/vsx-registry`](https://eclipse-theia.github.io/theia/docs/next/modules/vsx-registry.html)
|
|
35
|
-
- [Theia - GitHub](https://github.com/eclipse-theia/theia)
|
|
36
|
-
- [Theia - Website](https://theia-ide.org/)
|
|
37
|
-
|
|
38
|
-
## License
|
|
39
|
-
|
|
40
|
-
- [Eclipse Public License 2.0](http://www.eclipse.org/legal/epl-2.0/)
|
|
41
|
-
- [一 (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception](https://projects.eclipse.org/license/secondary-gpl-2.0-cp)
|
|
42
|
-
|
|
43
|
-
## Trademark
|
|
44
|
-
"Theia" is a trademark of the Eclipse Foundation
|
|
45
|
-
https://www.eclipse.org/theia
|
|
1
|
+
<div align='center'>
|
|
2
|
+
|
|
3
|
+
<br />
|
|
4
|
+
|
|
5
|
+
<img src='https://raw.githubusercontent.com/eclipse-theia/theia/master/logo/theia.svg?sanitize=true' alt='theia-ext-logo' width='100px' />
|
|
6
|
+
|
|
7
|
+
<h2>ECLIPSE THEIA - Open VSX Registry Extension</h2>
|
|
8
|
+
|
|
9
|
+
<hr />
|
|
10
|
+
|
|
11
|
+
</div>
|
|
12
|
+
|
|
13
|
+
## Description
|
|
14
|
+
|
|
15
|
+
The `@theia/vsx-registry` extension provides integration with the Open VSX Registry.
|
|
16
|
+
|
|
17
|
+
### Configuration
|
|
18
|
+
|
|
19
|
+
The extension connects to the public Open VSX Registry hosted on `http://open-vsx.org/`.
|
|
20
|
+
One can host own instance of a [registry](https://github.com/eclipse/openvsx#eclipse-open-vsx)
|
|
21
|
+
and configure `VSX_REGISTRY_URL` environment variable to use it.
|
|
22
|
+
|
|
23
|
+
### Using multiple registries
|
|
24
|
+
|
|
25
|
+
It is possible to target multiple registries by specifying a CLI argument when
|
|
26
|
+
running the backend: `--ovsx-router-config=<path>` where `path` must point to
|
|
27
|
+
a json defining an `OVSXRouterConfig` object.
|
|
28
|
+
|
|
29
|
+
See `@theia/ovsx-client`'s documentation to read more about `OVSXRouterClient`
|
|
30
|
+
and its `OVSXRouterConfig` configuration.
|
|
31
|
+
|
|
32
|
+
## Additional Information
|
|
33
|
+
|
|
34
|
+
- [API documentation for `@theia/vsx-registry`](https://eclipse-theia.github.io/theia/docs/next/modules/vsx-registry.html)
|
|
35
|
+
- [Theia - GitHub](https://github.com/eclipse-theia/theia)
|
|
36
|
+
- [Theia - Website](https://theia-ide.org/)
|
|
37
|
+
|
|
38
|
+
## License
|
|
39
|
+
|
|
40
|
+
- [Eclipse Public License 2.0](http://www.eclipse.org/legal/epl-2.0/)
|
|
41
|
+
- [一 (Secondary) GNU General Public License, version 2 with the GNU Classpath Exception](https://projects.eclipse.org/license/secondary-gpl-2.0-cp)
|
|
42
|
+
|
|
43
|
+
## Trademark
|
|
44
|
+
"Theia" is a trademark of the Eclipse Foundation
|
|
45
|
+
https://www.eclipse.org/theia
|
|
@@ -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;;
|
|
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":";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;
|
|
1
|
+
{"version":3,"file":"vsx-registry-common-module.js","sourceRoot":"","sources":["../../src/common/vsx-registry-common-module.ts"],"names":[],"mappings":"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"}
|
package/lib/node/vsx-cli.d.ts
CHANGED
|
@@ -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,
|
|
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"}
|
package/lib/node/vsx-cli.js
CHANGED
|
@@ -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;
|
package/lib/node/vsx-cli.js.map
CHANGED
|
@@ -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;
|
|
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;
|
|
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":";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,6BAA6B;AAC7B,iCAAiC;AACjC,kDAAkD;AAClD,4DAAkE;AAClE,oDAA6C;AAC7C,kFAAoL;AACpL,+CAA+C;AAC/C,6FAA2F;AAC3F,yEAAoE;AACpE,oDAA+F;AAC/F,+DAAmE;AACnE,6GAAwG;AACxG,iHAA4G;AAGrG,IAAM,oBAAoB,4BAA1B,MAAM,oBAAoB;IAS7B,MAAM,CAAC,QAAgB;QACnB,OAAO,CAAC,CAAC,sCAAkB,CAAC,IAAI,CAAC,IAAI,aAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxD,CAAC;IAKD,KAAK,CAAC,OAAO,CAAC,OAAsC,EAAE,OAA6B;QAC/E,MAAM,EAAE,GAAG,sCAAkB,CAAC,IAAI,CAAC,IAAI,aAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,EAAE,EAAE,CAAC;YACN,OAAO;QACX,CAAC;QACD,IAAI,SAAsC,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,EAAE,CAAC,OAAO,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,gCAAgC,OAAO,KAAK,CAAC,CAAC;
|
|
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.
|
|
3
|
+
"version": "1.53.0-next.55+d1a989a68c",
|
|
4
4
|
"description": "Theia - VSX Registry",
|
|
5
5
|
"dependencies": {
|
|
6
|
-
"@theia/core": "1.53.0-next.
|
|
7
|
-
"@theia/filesystem": "1.53.0-next.
|
|
8
|
-
"@theia/navigator": "1.53.0-next.
|
|
9
|
-
"@theia/ovsx-client": "1.53.0-next.
|
|
10
|
-
"@theia/plugin-ext": "1.53.0-next.
|
|
11
|
-
"@theia/plugin-ext-vscode": "1.53.0-next.
|
|
12
|
-
"@theia/preferences": "1.53.0-next.
|
|
13
|
-
"@theia/workspace": "1.53.0-next.
|
|
6
|
+
"@theia/core": "1.53.0-next.55+d1a989a68c",
|
|
7
|
+
"@theia/filesystem": "1.53.0-next.55+d1a989a68c",
|
|
8
|
+
"@theia/navigator": "1.53.0-next.55+d1a989a68c",
|
|
9
|
+
"@theia/ovsx-client": "1.53.0-next.55+d1a989a68c",
|
|
10
|
+
"@theia/plugin-ext": "1.53.0-next.55+d1a989a68c",
|
|
11
|
+
"@theia/plugin-ext-vscode": "1.53.0-next.55+d1a989a68c",
|
|
12
|
+
"@theia/preferences": "1.53.0-next.55+d1a989a68c",
|
|
13
|
+
"@theia/workspace": "1.53.0-next.55+d1a989a68c",
|
|
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.
|
|
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": "
|
|
64
|
+
"gitHead": "d1a989a68c1b5ec1f9098e9126653c6346844769"
|
|
64
65
|
}
|
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
// *****************************************************************************
|
|
2
|
-
// Copyright (C) 2021 Ericsson and others.
|
|
3
|
-
//
|
|
4
|
-
// This program and the accompanying materials are made available under the
|
|
5
|
-
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
-
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
-
//
|
|
8
|
-
// This Source Code may also be made available under the following Secondary
|
|
9
|
-
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
-
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
-
// with the GNU Classpath Exception which is available at
|
|
12
|
-
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
-
//
|
|
14
|
-
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
-
// *****************************************************************************
|
|
16
|
-
|
|
17
|
-
import {
|
|
18
|
-
FolderPreferenceProvider,
|
|
19
|
-
FolderPreferenceProviderFactory,
|
|
20
|
-
FolderPreferenceProviderFolder,
|
|
21
|
-
UserPreferenceProvider,
|
|
22
|
-
UserPreferenceProviderFactory
|
|
23
|
-
} from '@theia/preferences/lib/browser';
|
|
24
|
-
import { Container, injectable, interfaces } from '@theia/core/shared/inversify';
|
|
25
|
-
import { extensionsConfigurationSchema } from './recommended-extensions-json-schema';
|
|
26
|
-
import {
|
|
27
|
-
WorkspaceFilePreferenceProvider,
|
|
28
|
-
WorkspaceFilePreferenceProviderFactory,
|
|
29
|
-
WorkspaceFilePreferenceProviderOptions
|
|
30
|
-
} from '@theia/preferences/lib/browser/workspace-file-preference-provider';
|
|
31
|
-
import { bindFactory } from '@theia/preferences/lib/browser/preference-bindings';
|
|
32
|
-
import { SectionPreferenceProviderSection, SectionPreferenceProviderUri } from '@theia/preferences/lib/browser/section-preference-provider';
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* The overrides in this file are required because the base preference providers assume that a
|
|
36
|
-
* section name (extensions) will not be used as a prefix (extensions.ignoreRecommendations).
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
@injectable()
|
|
40
|
-
export class FolderPreferenceProviderWithExtensions extends FolderPreferenceProvider {
|
|
41
|
-
protected override getPath(preferenceName: string): string[] | undefined {
|
|
42
|
-
const path = super.getPath(preferenceName);
|
|
43
|
-
if (this.section !== 'extensions' || !path?.length) {
|
|
44
|
-
return path;
|
|
45
|
-
}
|
|
46
|
-
const isExtensionsField = path[0] in extensionsConfigurationSchema.properties!;
|
|
47
|
-
if (isExtensionsField) {
|
|
48
|
-
return path;
|
|
49
|
-
}
|
|
50
|
-
return undefined;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
@injectable()
|
|
55
|
-
export class UserPreferenceProviderWithExtensions extends UserPreferenceProvider {
|
|
56
|
-
protected override getPath(preferenceName: string): string[] | undefined {
|
|
57
|
-
const path = super.getPath(preferenceName);
|
|
58
|
-
if (this.section !== 'extensions' || !path?.length) {
|
|
59
|
-
return path;
|
|
60
|
-
}
|
|
61
|
-
const isExtensionsField = path[0] in extensionsConfigurationSchema.properties!;
|
|
62
|
-
if (isExtensionsField) {
|
|
63
|
-
return path;
|
|
64
|
-
}
|
|
65
|
-
return undefined;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
@injectable()
|
|
70
|
-
export class WorkspaceFilePreferenceProviderWithExtensions extends WorkspaceFilePreferenceProvider {
|
|
71
|
-
protected override belongsInSection(firstSegment: string, remainder: string): boolean {
|
|
72
|
-
if (firstSegment === 'extensions') {
|
|
73
|
-
return remainder in extensionsConfigurationSchema.properties!;
|
|
74
|
-
}
|
|
75
|
-
return this.configurations.isSectionName(firstSegment);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
export function bindPreferenceProviderOverrides(bind: interfaces.Bind, unbind: interfaces.Unbind): void {
|
|
80
|
-
unbind(UserPreferenceProviderFactory);
|
|
81
|
-
unbind(FolderPreferenceProviderFactory);
|
|
82
|
-
unbind(WorkspaceFilePreferenceProviderFactory);
|
|
83
|
-
bindFactory(bind, UserPreferenceProviderFactory, UserPreferenceProviderWithExtensions, SectionPreferenceProviderUri, SectionPreferenceProviderSection);
|
|
84
|
-
bindFactory(
|
|
85
|
-
bind,
|
|
86
|
-
FolderPreferenceProviderFactory,
|
|
87
|
-
FolderPreferenceProviderWithExtensions,
|
|
88
|
-
SectionPreferenceProviderUri,
|
|
89
|
-
SectionPreferenceProviderSection,
|
|
90
|
-
FolderPreferenceProviderFolder,
|
|
91
|
-
);
|
|
92
|
-
bind(WorkspaceFilePreferenceProviderFactory).toFactory(ctx => (options: WorkspaceFilePreferenceProviderOptions) => {
|
|
93
|
-
const child = new Container({ defaultScope: 'Singleton' });
|
|
94
|
-
child.parent = ctx.container;
|
|
95
|
-
child.bind(WorkspaceFilePreferenceProvider).to(WorkspaceFilePreferenceProviderWithExtensions);
|
|
96
|
-
child.bind(WorkspaceFilePreferenceProviderOptions).toConstantValue(options);
|
|
97
|
-
return child.get(WorkspaceFilePreferenceProvider);
|
|
98
|
-
});
|
|
99
|
-
}
|
|
1
|
+
// *****************************************************************************
|
|
2
|
+
// Copyright (C) 2021 Ericsson and others.
|
|
3
|
+
//
|
|
4
|
+
// This program and the accompanying materials are made available under the
|
|
5
|
+
// terms of the Eclipse Public License v. 2.0 which is available at
|
|
6
|
+
// http://www.eclipse.org/legal/epl-2.0.
|
|
7
|
+
//
|
|
8
|
+
// This Source Code may also be made available under the following Secondary
|
|
9
|
+
// Licenses when the conditions for such availability set forth in the Eclipse
|
|
10
|
+
// Public License v. 2.0 are satisfied: GNU General Public License, version 2
|
|
11
|
+
// with the GNU Classpath Exception which is available at
|
|
12
|
+
// https://www.gnu.org/software/classpath/license.html.
|
|
13
|
+
//
|
|
14
|
+
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
|
+
// *****************************************************************************
|
|
16
|
+
|
|
17
|
+
import {
|
|
18
|
+
FolderPreferenceProvider,
|
|
19
|
+
FolderPreferenceProviderFactory,
|
|
20
|
+
FolderPreferenceProviderFolder,
|
|
21
|
+
UserPreferenceProvider,
|
|
22
|
+
UserPreferenceProviderFactory
|
|
23
|
+
} from '@theia/preferences/lib/browser';
|
|
24
|
+
import { Container, injectable, interfaces } from '@theia/core/shared/inversify';
|
|
25
|
+
import { extensionsConfigurationSchema } from './recommended-extensions-json-schema';
|
|
26
|
+
import {
|
|
27
|
+
WorkspaceFilePreferenceProvider,
|
|
28
|
+
WorkspaceFilePreferenceProviderFactory,
|
|
29
|
+
WorkspaceFilePreferenceProviderOptions
|
|
30
|
+
} from '@theia/preferences/lib/browser/workspace-file-preference-provider';
|
|
31
|
+
import { bindFactory } from '@theia/preferences/lib/browser/preference-bindings';
|
|
32
|
+
import { SectionPreferenceProviderSection, SectionPreferenceProviderUri } from '@theia/preferences/lib/browser/section-preference-provider';
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* The overrides in this file are required because the base preference providers assume that a
|
|
36
|
+
* section name (extensions) will not be used as a prefix (extensions.ignoreRecommendations).
|
|
37
|
+
*/
|
|
38
|
+
|
|
39
|
+
@injectable()
|
|
40
|
+
export class FolderPreferenceProviderWithExtensions extends FolderPreferenceProvider {
|
|
41
|
+
protected override getPath(preferenceName: string): string[] | undefined {
|
|
42
|
+
const path = super.getPath(preferenceName);
|
|
43
|
+
if (this.section !== 'extensions' || !path?.length) {
|
|
44
|
+
return path;
|
|
45
|
+
}
|
|
46
|
+
const isExtensionsField = path[0] in extensionsConfigurationSchema.properties!;
|
|
47
|
+
if (isExtensionsField) {
|
|
48
|
+
return path;
|
|
49
|
+
}
|
|
50
|
+
return undefined;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@injectable()
|
|
55
|
+
export class UserPreferenceProviderWithExtensions extends UserPreferenceProvider {
|
|
56
|
+
protected override getPath(preferenceName: string): string[] | undefined {
|
|
57
|
+
const path = super.getPath(preferenceName);
|
|
58
|
+
if (this.section !== 'extensions' || !path?.length) {
|
|
59
|
+
return path;
|
|
60
|
+
}
|
|
61
|
+
const isExtensionsField = path[0] in extensionsConfigurationSchema.properties!;
|
|
62
|
+
if (isExtensionsField) {
|
|
63
|
+
return path;
|
|
64
|
+
}
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@injectable()
|
|
70
|
+
export class WorkspaceFilePreferenceProviderWithExtensions extends WorkspaceFilePreferenceProvider {
|
|
71
|
+
protected override belongsInSection(firstSegment: string, remainder: string): boolean {
|
|
72
|
+
if (firstSegment === 'extensions') {
|
|
73
|
+
return remainder in extensionsConfigurationSchema.properties!;
|
|
74
|
+
}
|
|
75
|
+
return this.configurations.isSectionName(firstSegment);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
export function bindPreferenceProviderOverrides(bind: interfaces.Bind, unbind: interfaces.Unbind): void {
|
|
80
|
+
unbind(UserPreferenceProviderFactory);
|
|
81
|
+
unbind(FolderPreferenceProviderFactory);
|
|
82
|
+
unbind(WorkspaceFilePreferenceProviderFactory);
|
|
83
|
+
bindFactory(bind, UserPreferenceProviderFactory, UserPreferenceProviderWithExtensions, SectionPreferenceProviderUri, SectionPreferenceProviderSection);
|
|
84
|
+
bindFactory(
|
|
85
|
+
bind,
|
|
86
|
+
FolderPreferenceProviderFactory,
|
|
87
|
+
FolderPreferenceProviderWithExtensions,
|
|
88
|
+
SectionPreferenceProviderUri,
|
|
89
|
+
SectionPreferenceProviderSection,
|
|
90
|
+
FolderPreferenceProviderFolder,
|
|
91
|
+
);
|
|
92
|
+
bind(WorkspaceFilePreferenceProviderFactory).toFactory(ctx => (options: WorkspaceFilePreferenceProviderOptions) => {
|
|
93
|
+
const child = new Container({ defaultScope: 'Singleton' });
|
|
94
|
+
child.parent = ctx.container;
|
|
95
|
+
child.bind(WorkspaceFilePreferenceProvider).to(WorkspaceFilePreferenceProviderWithExtensions);
|
|
96
|
+
child.bind(WorkspaceFilePreferenceProviderOptions).toConstantValue(options);
|
|
97
|
+
return child.get(WorkspaceFilePreferenceProvider);
|
|
98
|
+
});
|
|
99
|
+
}
|