38 lines
2.2 KiB
Diff
38 lines
2.2 KiB
Diff
Unconditionally enable the proposed API
|
|
|
|
To test run an extension that uses the proposed API (i.e.
|
|
https://github.com/microsoft/vscode-extension-samples/tree/ddae6c0c9ff203b4ed6f6b43bfacdd0834215f83/proposed-api-sample)
|
|
|
|
We also override isProposedApiEnabled in case an extension does not declare the
|
|
APIs it needs correctly (the Jupyter extension had this issue).
|
|
|
|
Index: code-server/lib/vscode/src/vs/workbench/services/extensions/common/extensions.ts
|
|
===================================================================
|
|
--- code-server.orig/lib/vscode/src/vs/workbench/services/extensions/common/extensions.ts
|
|
+++ code-server/lib/vscode/src/vs/workbench/services/extensions/common/extensions.ts
|
|
@@ -312,10 +312,7 @@ function extensionDescriptionArrayToMap(
|
|
}
|
|
|
|
export function isProposedApiEnabled(extension: IExtensionDescription, proposal: ApiProposalName): boolean {
|
|
- if (!extension.enabledApiProposals) {
|
|
- return false;
|
|
- }
|
|
- return extension.enabledApiProposals.includes(proposal);
|
|
+ return true
|
|
}
|
|
|
|
export function checkProposedApiEnabled(extension: IExtensionDescription, proposal: ApiProposalName): void {
|
|
Index: code-server/lib/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts
|
|
===================================================================
|
|
--- code-server.orig/lib/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts
|
|
+++ code-server/lib/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.ts
|
|
@@ -31,7 +31,7 @@ export class ExtensionsProposedApi {
|
|
|
|
this._envEnabledExtensions = new Set((_environmentService.extensionEnabledProposedApi ?? []).map(id => ExtensionIdentifier.toKey(id)));
|
|
|
|
- this._envEnablesProposedApiForAll =
|
|
+ this._envEnablesProposedApiForAll = true ||
|
|
!_environmentService.isBuilt || // always allow proposed API when running out of sources
|
|
(_environmentService.isExtensionDevelopment && productService.quality !== 'stable') || // do not allow proposed API against stable builds when developing an extension
|
|
(this._envEnabledExtensions.size === 0 && Array.isArray(_environmentService.extensionEnabledProposedApi)); // always allow proposed API if --enable-proposed-api is provided without extension ID
|