@theia/plugin-ext 1.72.0-next.2 → 1.72.0-next.20
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/lib/hosted/browser/plugin-worker.d.ts.map +1 -1
- package/lib/hosted/browser/plugin-worker.js +6 -7
- package/lib/hosted/browser/plugin-worker.js.map +1 -1
- package/lib/hosted/node/scanners/scanner-theia.d.ts.map +1 -1
- package/lib/hosted/node/scanners/scanner-theia.js +17 -1
- package/lib/hosted/node/scanners/scanner-theia.js.map +1 -1
- package/lib/hosted/node/scanners/scanner-theia.spec.js +81 -0
- package/lib/hosted/node/scanners/scanner-theia.spec.js.map +1 -1
- package/package.json +34 -34
- package/src/hosted/browser/plugin-worker.ts +4 -4
- package/src/hosted/node/scanners/scanner-theia.spec.ts +97 -1
- package/src/hosted/node/scanners/scanner-theia.ts +20 -2
- package/src/main/browser/style/index.css +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-worker.d.ts","sourceRoot":"","sources":["../../../src/hosted/browser/plugin-worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-worker.d.ts","sourceRoot":"","sources":["../../../src/hosted/browser/plugin-worker.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,WAAW,EAAmB,MAAM,2BAA2B,CAAC;AAEzE,qBACa,YAAY;IAErB,OAAO,CAAC,MAAM,CAAS;IAEvB,SAAgB,GAAG,EAAE,WAAW,CAAC;;CAyBpC"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PluginWorker = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
2
|
// *****************************************************************************
|
|
6
3
|
// Copyright (C) 2018 Red Hat, Inc. and others.
|
|
7
4
|
//
|
|
@@ -17,16 +14,18 @@ const tslib_1 = require("tslib");
|
|
|
17
14
|
//
|
|
18
15
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
19
16
|
// *****************************************************************************
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.PluginWorker = void 0;
|
|
19
|
+
const tslib_1 = require("tslib");
|
|
20
20
|
const channel_1 = require("@theia/core/lib/common/message-rpc/channel");
|
|
21
21
|
const uint8_array_message_buffer_1 = require("@theia/core/lib/common/message-rpc/uint8-array-message-buffer");
|
|
22
22
|
const inversify_1 = require("@theia/core/shared/inversify");
|
|
23
23
|
const rpc_protocol_1 = require("../../common/rpc-protocol");
|
|
24
24
|
let PluginWorker = class PluginWorker {
|
|
25
25
|
constructor() {
|
|
26
|
-
|
|
27
|
-
//
|
|
28
|
-
|
|
29
|
-
import.meta.url));
|
|
26
|
+
// Note: The worker script is generated by the bundler as "plugin-worker.js" in the frontend output directory
|
|
27
|
+
// The entry point for this worker is in ./worker/worker-main.ts
|
|
28
|
+
this.worker = new Worker(new URL('./plugin-worker.js', location.href));
|
|
30
29
|
const channel = new channel_1.BasicChannel(() => {
|
|
31
30
|
const writer = new uint8_array_message_buffer_1.Uint8ArrayWriteBuffer();
|
|
32
31
|
writer.onCommit(buffer => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-worker.js","sourceRoot":"","sources":["../../../src/hosted/browser/plugin-worker.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"plugin-worker.js","sourceRoot":"","sources":["../../../src/hosted/browser/plugin-worker.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,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,wEAA0E;AAC1E,8GAA4H;AAC5H,4DAA0D;AAC1D,4DAAyE;AAGlE,IAAM,YAAY,GAAlB,MAAM,YAAY;IAMrB;QACI,6GAA6G;QAC7G,gEAAgE;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,oBAAoB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvE,MAAM,OAAO,GAAG,IAAI,sBAAY,CAAC,GAAG,EAAE;YAClC,MAAM,MAAM,GAAG,IAAI,kDAAqB,EAAE,CAAC;YAC3C,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACpC,CAAC,CAAC,CAAC;YACH,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,GAAG,IAAI,8BAAe,CAAC,OAAO,CAAC,CAAC;QAExC,4CAA4C;QAC5C,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE;YACjE,OAAO,IAAI,iDAAoB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;CAEJ,CAAA;AA7BY,oCAAY;uBAAZ,YAAY;IADxB,IAAA,sBAAU,GAAE;;GACA,YAAY,CA6BxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-theia.d.ts","sourceRoot":"","sources":["../../../../src/hosted/node/scanners/scanner-theia.ts"],"names":[],"mappings":"AAmBA,OAAO,EAKH,qBAAqB,EACrB,gBAAgB,EAChB,OAAO,EAKP,aAAa,EACb,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,WAAW,EACX,aAAa,EACb,oBAAoB,EAUpB,aAAa,EACb,gCAAgC,EAChC,mBAAmB,EAEnB,iBAAiB,EAOjB,yBAAyB,EACzB,YAAY,EACZ,wBAAwB,EACxB,WAAW,EAEX,eAAe,EAEf,gBAAgB,EAChB,yBAAyB,EAC5B,MAAM,iCAAiC,CAAC;AAIzC,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAInD,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"scanner-theia.d.ts","sourceRoot":"","sources":["../../../../src/hosted/node/scanners/scanner-theia.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,6 +37,21 @@ function getFileExtension(filePath) {
|
|
|
37
37
|
const index = filePath.lastIndexOf('.');
|
|
38
38
|
return index === -1 ? '' : filePath.substring(index + 1);
|
|
39
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Mirrors VS Code's `ConfigurationRegistry.getDefaultValue(type)`: plugins expect typed-but-defaultless properties to read as a type-based default, not `undefined`.
|
|
42
|
+
*/
|
|
43
|
+
function deriveDefaultForType(type) {
|
|
44
|
+
const t = Array.isArray(type) ? type[0] : type;
|
|
45
|
+
switch (t) {
|
|
46
|
+
case 'boolean': return false;
|
|
47
|
+
case 'integer':
|
|
48
|
+
case 'number': return 0;
|
|
49
|
+
case 'string': return '';
|
|
50
|
+
case 'array': return [];
|
|
51
|
+
case 'object': return {};
|
|
52
|
+
default: return null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
40
55
|
let AbstractPluginScanner = class AbstractPluginScanner {
|
|
41
56
|
constructor(_apiType, _backendInitPath) {
|
|
42
57
|
this._apiType = _apiType;
|
|
@@ -642,7 +657,8 @@ let TheiaPluginScanner = TheiaPluginScanner_1 = class TheiaPluginScanner extends
|
|
|
642
657
|
const schemaProperty = {
|
|
643
658
|
...property,
|
|
644
659
|
scope: scopeInfo.scope,
|
|
645
|
-
overridable: scopeInfo.overridable
|
|
660
|
+
overridable: scopeInfo.overridable,
|
|
661
|
+
default: property.default !== undefined ? property.default : deriveDefaultForType(property.type)
|
|
646
662
|
};
|
|
647
663
|
schema.properties[key] = schemaProperty;
|
|
648
664
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-theia.js","sourceRoot":"","sources":["../../../../src/hosted/node/scanners/scanner-theia.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scanner-theia.js","sourceRoot":"","sources":["../../../../src/hosted/node/scanners/scanner-theia.ts"],"names":[],"mappings":"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"}
|
|
@@ -90,4 +90,85 @@ describe('AbstractPluginScanner', () => {
|
|
|
90
90
|
(0, chai_1.expect)(model.untrustedWorkspacesSupport).to.equal(undefined);
|
|
91
91
|
});
|
|
92
92
|
});
|
|
93
|
+
describe('TheiaPluginScanner configuration default derivation', () => {
|
|
94
|
+
let scanner;
|
|
95
|
+
let tmpDir;
|
|
96
|
+
before(() => {
|
|
97
|
+
scanner = new scanner_theia_1.TheiaPluginScanner();
|
|
98
|
+
scanner.pluginUriFactory = {
|
|
99
|
+
createUri: (_pkg, _relativePath) => new uri_1.default('file:///dummy')
|
|
100
|
+
};
|
|
101
|
+
tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'scanner-config-test-'));
|
|
102
|
+
});
|
|
103
|
+
after(() => {
|
|
104
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
105
|
+
});
|
|
106
|
+
async function readProperties(properties) {
|
|
107
|
+
const pkg = {
|
|
108
|
+
name: 'test-plugin',
|
|
109
|
+
publisher: 'test-publisher',
|
|
110
|
+
version: '1.0.0',
|
|
111
|
+
engines: { theiaPlugin: '1.0.0' },
|
|
112
|
+
displayName: 'Test Plugin',
|
|
113
|
+
description: 'A test plugin',
|
|
114
|
+
packagePath: tmpDir,
|
|
115
|
+
contributes: {
|
|
116
|
+
configuration: { title: 'Test', properties }
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
const contribution = await scanner.getContribution(pkg);
|
|
120
|
+
(0, chai_1.expect)(contribution?.configuration).to.have.lengthOf(1);
|
|
121
|
+
return contribution.configuration[0].properties;
|
|
122
|
+
}
|
|
123
|
+
it('derives "" for typed-but-defaultless string property (VS Code parity)', async () => {
|
|
124
|
+
const props = await readProperties({ 'vue.server.path': { type: 'string' } });
|
|
125
|
+
(0, chai_1.expect)(props['vue.server.path'].default).to.equal('');
|
|
126
|
+
});
|
|
127
|
+
it('derives false for boolean type', async () => {
|
|
128
|
+
const props = await readProperties({ 'ext.flag': { type: 'boolean' } });
|
|
129
|
+
(0, chai_1.expect)(props['ext.flag'].default).to.equal(false);
|
|
130
|
+
});
|
|
131
|
+
it('derives 0 for number and integer types', async () => {
|
|
132
|
+
const props = await readProperties({
|
|
133
|
+
'ext.size': { type: 'number' },
|
|
134
|
+
'ext.count': { type: 'integer' }
|
|
135
|
+
});
|
|
136
|
+
(0, chai_1.expect)(props['ext.size'].default).to.equal(0);
|
|
137
|
+
(0, chai_1.expect)(props['ext.count'].default).to.equal(0);
|
|
138
|
+
});
|
|
139
|
+
it('derives [] for array type', async () => {
|
|
140
|
+
const props = await readProperties({ 'ext.list': { type: 'array' } });
|
|
141
|
+
(0, chai_1.expect)(props['ext.list'].default).to.deep.equal([]);
|
|
142
|
+
});
|
|
143
|
+
it('derives {} for object type', async () => {
|
|
144
|
+
const props = await readProperties({ 'ext.map': { type: 'object' } });
|
|
145
|
+
(0, chai_1.expect)(props['ext.map'].default).to.deep.equal({});
|
|
146
|
+
});
|
|
147
|
+
it('derives null for properties without a type (e.g. enum-only)', async () => {
|
|
148
|
+
const props = await readProperties({ 'ext.choice': { enum: ['a', 'b'] } });
|
|
149
|
+
(0, chai_1.expect)(props['ext.choice'].default).to.equal(null);
|
|
150
|
+
});
|
|
151
|
+
it('uses the first entry of a type array', async () => {
|
|
152
|
+
const props = await readProperties({ 'ext.either': { type: ['string', 'null'] } });
|
|
153
|
+
(0, chai_1.expect)(props['ext.either'].default).to.equal('');
|
|
154
|
+
});
|
|
155
|
+
it('preserves an explicit default even when a type would derive a different value', async () => {
|
|
156
|
+
const props = await readProperties({ 'ext.named': { type: 'string', default: 'foo' } });
|
|
157
|
+
(0, chai_1.expect)(props['ext.named'].default).to.equal('foo');
|
|
158
|
+
});
|
|
159
|
+
it('preserves an explicit falsy default such as false, 0, or empty string', async () => {
|
|
160
|
+
const props = await readProperties({
|
|
161
|
+
'ext.zero': { type: 'number', default: 0 },
|
|
162
|
+
'ext.off': { type: 'boolean', default: false },
|
|
163
|
+
'ext.blank': { type: 'string', default: '' }
|
|
164
|
+
});
|
|
165
|
+
(0, chai_1.expect)(props['ext.zero'].default).to.equal(0);
|
|
166
|
+
(0, chai_1.expect)(props['ext.off'].default).to.equal(false);
|
|
167
|
+
(0, chai_1.expect)(props['ext.blank'].default).to.equal('');
|
|
168
|
+
});
|
|
169
|
+
it('preserves an explicit null default', async () => {
|
|
170
|
+
const props = await readProperties({ 'ext.nullable': { type: 'string', default: null } });
|
|
171
|
+
(0, chai_1.expect)(props['ext.nullable'].default).to.equal(null);
|
|
172
|
+
});
|
|
173
|
+
});
|
|
93
174
|
//# sourceMappingURL=scanner-theia.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner-theia.spec.js","sourceRoot":"","sources":["../../../../src/hosted/node/scanners/scanner-theia.spec.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,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,uDAAuD;AAEvD,+BAA8B;AAC9B,yBAAyB;AACzB,6BAA6B;AAC7B,yBAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"scanner-theia.spec.js","sourceRoot":"","sources":["../../../../src/hosted/node/scanners/scanner-theia.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@theia/plugin-ext",
|
|
3
|
-
"version": "1.72.0-next.
|
|
3
|
+
"version": "1.72.0-next.20+60dd3f3d5",
|
|
4
4
|
"description": "Theia - Plugin Extension",
|
|
5
5
|
"main": "lib/common/index.js",
|
|
6
6
|
"typings": "lib/common/index.d.ts",
|
|
7
7
|
"dependencies": {
|
|
8
|
-
"@theia/ai-mcp": "1.72.0-next.
|
|
9
|
-
"@theia/bulk-edit": "1.72.0-next.
|
|
10
|
-
"@theia/callhierarchy": "1.72.0-next.
|
|
11
|
-
"@theia/console": "1.72.0-next.
|
|
12
|
-
"@theia/core": "1.72.0-next.
|
|
13
|
-
"@theia/debug": "1.72.0-next.
|
|
14
|
-
"@theia/editor": "1.72.0-next.
|
|
15
|
-
"@theia/editor-preview": "1.72.0-next.
|
|
16
|
-
"@theia/file-search": "1.72.0-next.
|
|
17
|
-
"@theia/filesystem": "1.72.0-next.
|
|
18
|
-
"@theia/markers": "1.72.0-next.
|
|
19
|
-
"@theia/messages": "1.72.0-next.
|
|
20
|
-
"@theia/monaco": "1.72.0-next.
|
|
8
|
+
"@theia/ai-mcp": "1.72.0-next.20+60dd3f3d5",
|
|
9
|
+
"@theia/bulk-edit": "1.72.0-next.20+60dd3f3d5",
|
|
10
|
+
"@theia/callhierarchy": "1.72.0-next.20+60dd3f3d5",
|
|
11
|
+
"@theia/console": "1.72.0-next.20+60dd3f3d5",
|
|
12
|
+
"@theia/core": "1.72.0-next.20+60dd3f3d5",
|
|
13
|
+
"@theia/debug": "1.72.0-next.20+60dd3f3d5",
|
|
14
|
+
"@theia/editor": "1.72.0-next.20+60dd3f3d5",
|
|
15
|
+
"@theia/editor-preview": "1.72.0-next.20+60dd3f3d5",
|
|
16
|
+
"@theia/file-search": "1.72.0-next.20+60dd3f3d5",
|
|
17
|
+
"@theia/filesystem": "1.72.0-next.20+60dd3f3d5",
|
|
18
|
+
"@theia/markers": "1.72.0-next.20+60dd3f3d5",
|
|
19
|
+
"@theia/messages": "1.72.0-next.20+60dd3f3d5",
|
|
20
|
+
"@theia/monaco": "1.72.0-next.20+60dd3f3d5",
|
|
21
21
|
"@theia/monaco-editor-core": "1.108.201",
|
|
22
|
-
"@theia/navigator": "1.72.0-next.
|
|
23
|
-
"@theia/notebook": "1.72.0-next.
|
|
24
|
-
"@theia/output": "1.72.0-next.
|
|
25
|
-
"@theia/plugin": "1.72.0-next.
|
|
26
|
-
"@theia/preferences": "1.72.0-next.
|
|
27
|
-
"@theia/scm": "1.72.0-next.
|
|
28
|
-
"@theia/search-in-workspace": "1.72.0-next.
|
|
29
|
-
"@theia/task": "1.72.0-next.
|
|
30
|
-
"@theia/terminal": "1.72.0-next.
|
|
31
|
-
"@theia/test": "1.72.0-next.
|
|
32
|
-
"@theia/timeline": "1.72.0-next.
|
|
33
|
-
"@theia/typehierarchy": "1.72.0-next.
|
|
34
|
-
"@theia/variable-resolver": "1.72.0-next.
|
|
35
|
-
"@theia/workspace": "1.72.0-next.
|
|
22
|
+
"@theia/navigator": "1.72.0-next.20+60dd3f3d5",
|
|
23
|
+
"@theia/notebook": "1.72.0-next.20+60dd3f3d5",
|
|
24
|
+
"@theia/output": "1.72.0-next.20+60dd3f3d5",
|
|
25
|
+
"@theia/plugin": "1.72.0-next.20+60dd3f3d5",
|
|
26
|
+
"@theia/preferences": "1.72.0-next.20+60dd3f3d5",
|
|
27
|
+
"@theia/scm": "1.72.0-next.20+60dd3f3d5",
|
|
28
|
+
"@theia/search-in-workspace": "1.72.0-next.20+60dd3f3d5",
|
|
29
|
+
"@theia/task": "1.72.0-next.20+60dd3f3d5",
|
|
30
|
+
"@theia/terminal": "1.72.0-next.20+60dd3f3d5",
|
|
31
|
+
"@theia/test": "1.72.0-next.20+60dd3f3d5",
|
|
32
|
+
"@theia/timeline": "1.72.0-next.20+60dd3f3d5",
|
|
33
|
+
"@theia/typehierarchy": "1.72.0-next.20+60dd3f3d5",
|
|
34
|
+
"@theia/variable-resolver": "1.72.0-next.20+60dd3f3d5",
|
|
35
|
+
"@theia/workspace": "1.72.0-next.20+60dd3f3d5",
|
|
36
36
|
"@types/mime": "^2.0.3",
|
|
37
37
|
"@vscode/debugprotocol": "^1.68.0",
|
|
38
38
|
"@vscode/proxy-agent": "^0.13.2",
|
|
@@ -40,14 +40,14 @@
|
|
|
40
40
|
"decompress": "^4.2.1",
|
|
41
41
|
"escape-html": "^1.0.3",
|
|
42
42
|
"filenamify": "^4.3.0",
|
|
43
|
-
"is-electron": "^2.2.
|
|
44
|
-
"jsonc-parser": "^
|
|
43
|
+
"is-electron": "^2.2.2",
|
|
44
|
+
"jsonc-parser": "^3.3.1",
|
|
45
45
|
"lodash.clonedeep": "^4.5.0",
|
|
46
46
|
"macaddress": "^0.5.4",
|
|
47
47
|
"mime": "^2.6.0",
|
|
48
48
|
"node-pty": "1.2.0-beta.12",
|
|
49
49
|
"semver": "^7.7.4",
|
|
50
|
-
"tslib": "^2.
|
|
50
|
+
"tslib": "^2.8.1",
|
|
51
51
|
"vhost": "^3.0.2",
|
|
52
52
|
"vscode-textmate": "^9.3.2"
|
|
53
53
|
},
|
|
@@ -90,12 +90,12 @@
|
|
|
90
90
|
},
|
|
91
91
|
"devDependencies": {
|
|
92
92
|
"@theia/ext-scripts": "1.71.0",
|
|
93
|
-
"@types/decompress": "^4.2.
|
|
93
|
+
"@types/decompress": "^4.2.7",
|
|
94
94
|
"@types/escape-html": "^0.0.20",
|
|
95
|
-
"@types/lodash.clonedeep": "^4.5.
|
|
95
|
+
"@types/lodash.clonedeep": "^4.5.9"
|
|
96
96
|
},
|
|
97
97
|
"nyc": {
|
|
98
98
|
"extends": "../../configs/nyc.json"
|
|
99
99
|
},
|
|
100
|
-
"gitHead": "
|
|
100
|
+
"gitHead": "60dd3f3d5ca48aabc06ab532c215257b061f9725"
|
|
101
101
|
}
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
//
|
|
14
14
|
// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
// *****************************************************************************
|
|
16
|
+
|
|
16
17
|
import { BasicChannel } from '@theia/core/lib/common/message-rpc/channel';
|
|
17
18
|
import { Uint8ArrayReadBuffer, Uint8ArrayWriteBuffer } from '@theia/core/lib/common/message-rpc/uint8-array-message-buffer';
|
|
18
19
|
import { injectable } from '@theia/core/shared/inversify';
|
|
@@ -26,10 +27,9 @@ export class PluginWorker {
|
|
|
26
27
|
public readonly rpc: RPCProtocol;
|
|
27
28
|
|
|
28
29
|
constructor() {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
import.meta.url));
|
|
30
|
+
// Note: The worker script is generated by the bundler as "plugin-worker.js" in the frontend output directory
|
|
31
|
+
// The entry point for this worker is in ./worker/worker-main.ts
|
|
32
|
+
this.worker = new Worker(new URL('./plugin-worker.js', location.href));
|
|
33
33
|
|
|
34
34
|
const channel = new BasicChannel(() => {
|
|
35
35
|
const writer = new Uint8ArrayWriteBuffer();
|
|
@@ -20,8 +20,9 @@ import { expect } from 'chai';
|
|
|
20
20
|
import * as os from 'os';
|
|
21
21
|
import * as path from 'path';
|
|
22
22
|
import * as fs from 'fs';
|
|
23
|
-
import { AbstractPluginScanner } from './scanner-theia';
|
|
23
|
+
import { AbstractPluginScanner, TheiaPluginScanner } from './scanner-theia';
|
|
24
24
|
import { PluginPackage, PluginEntryPoint } from '../../../common/plugin-protocol';
|
|
25
|
+
import { PreferenceSchema } from '@theia/core/lib/common/preferences/preference-schema';
|
|
25
26
|
import URI from '@theia/core/lib/common/uri';
|
|
26
27
|
|
|
27
28
|
class TestPluginScanner extends AbstractPluginScanner {
|
|
@@ -110,3 +111,98 @@ describe('AbstractPluginScanner', () => {
|
|
|
110
111
|
expect(model.untrustedWorkspacesSupport).to.equal(undefined);
|
|
111
112
|
});
|
|
112
113
|
});
|
|
114
|
+
|
|
115
|
+
describe('TheiaPluginScanner configuration default derivation', () => {
|
|
116
|
+
let scanner: TheiaPluginScanner;
|
|
117
|
+
let tmpDir: string;
|
|
118
|
+
|
|
119
|
+
before(() => {
|
|
120
|
+
scanner = new TheiaPluginScanner();
|
|
121
|
+
(scanner as any).pluginUriFactory = {
|
|
122
|
+
createUri: (_pkg: PluginPackage, _relativePath?: string) => new URI('file:///dummy')
|
|
123
|
+
};
|
|
124
|
+
tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'scanner-config-test-'));
|
|
125
|
+
});
|
|
126
|
+
|
|
127
|
+
after(() => {
|
|
128
|
+
fs.rmSync(tmpDir, { recursive: true, force: true });
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
async function readProperties(properties: Record<string, any>): Promise<PreferenceSchema['properties']> {
|
|
132
|
+
const pkg: PluginPackage = {
|
|
133
|
+
name: 'test-plugin',
|
|
134
|
+
publisher: 'test-publisher',
|
|
135
|
+
version: '1.0.0',
|
|
136
|
+
engines: { theiaPlugin: '1.0.0' },
|
|
137
|
+
displayName: 'Test Plugin',
|
|
138
|
+
description: 'A test plugin',
|
|
139
|
+
packagePath: tmpDir,
|
|
140
|
+
contributes: {
|
|
141
|
+
configuration: { title: 'Test', properties }
|
|
142
|
+
}
|
|
143
|
+
} as PluginPackage;
|
|
144
|
+
const contribution = await scanner.getContribution(pkg);
|
|
145
|
+
expect(contribution?.configuration).to.have.lengthOf(1);
|
|
146
|
+
return contribution!.configuration![0].properties;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
it('derives "" for typed-but-defaultless string property (VS Code parity)', async () => {
|
|
150
|
+
const props = await readProperties({ 'vue.server.path': { type: 'string' } });
|
|
151
|
+
expect(props['vue.server.path'].default).to.equal('');
|
|
152
|
+
});
|
|
153
|
+
|
|
154
|
+
it('derives false for boolean type', async () => {
|
|
155
|
+
const props = await readProperties({ 'ext.flag': { type: 'boolean' } });
|
|
156
|
+
expect(props['ext.flag'].default).to.equal(false);
|
|
157
|
+
});
|
|
158
|
+
|
|
159
|
+
it('derives 0 for number and integer types', async () => {
|
|
160
|
+
const props = await readProperties({
|
|
161
|
+
'ext.size': { type: 'number' },
|
|
162
|
+
'ext.count': { type: 'integer' }
|
|
163
|
+
});
|
|
164
|
+
expect(props['ext.size'].default).to.equal(0);
|
|
165
|
+
expect(props['ext.count'].default).to.equal(0);
|
|
166
|
+
});
|
|
167
|
+
|
|
168
|
+
it('derives [] for array type', async () => {
|
|
169
|
+
const props = await readProperties({ 'ext.list': { type: 'array' } });
|
|
170
|
+
expect(props['ext.list'].default).to.deep.equal([]);
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
it('derives {} for object type', async () => {
|
|
174
|
+
const props = await readProperties({ 'ext.map': { type: 'object' } });
|
|
175
|
+
expect(props['ext.map'].default).to.deep.equal({});
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
it('derives null for properties without a type (e.g. enum-only)', async () => {
|
|
179
|
+
const props = await readProperties({ 'ext.choice': { enum: ['a', 'b'] } });
|
|
180
|
+
expect(props['ext.choice'].default).to.equal(null);
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
it('uses the first entry of a type array', async () => {
|
|
184
|
+
const props = await readProperties({ 'ext.either': { type: ['string', 'null'] } });
|
|
185
|
+
expect(props['ext.either'].default).to.equal('');
|
|
186
|
+
});
|
|
187
|
+
|
|
188
|
+
it('preserves an explicit default even when a type would derive a different value', async () => {
|
|
189
|
+
const props = await readProperties({ 'ext.named': { type: 'string', default: 'foo' } });
|
|
190
|
+
expect(props['ext.named'].default).to.equal('foo');
|
|
191
|
+
});
|
|
192
|
+
|
|
193
|
+
it('preserves an explicit falsy default such as false, 0, or empty string', async () => {
|
|
194
|
+
const props = await readProperties({
|
|
195
|
+
'ext.zero': { type: 'number', default: 0 },
|
|
196
|
+
'ext.off': { type: 'boolean', default: false },
|
|
197
|
+
'ext.blank': { type: 'string', default: '' }
|
|
198
|
+
});
|
|
199
|
+
expect(props['ext.zero'].default).to.equal(0);
|
|
200
|
+
expect(props['ext.off'].default).to.equal(false);
|
|
201
|
+
expect(props['ext.blank'].default).to.equal('');
|
|
202
|
+
});
|
|
203
|
+
|
|
204
|
+
it('preserves an explicit null default', async () => {
|
|
205
|
+
const props = await readProperties({ 'ext.nullable': { type: 'string', default: null } });
|
|
206
|
+
expect(props['ext.nullable'].default).to.equal(null);
|
|
207
|
+
});
|
|
208
|
+
});
|
|
@@ -73,7 +73,8 @@ import { GrammarsReader } from './grammars-reader';
|
|
|
73
73
|
import { CharacterPair } from '../../../common/plugin-api-rpc';
|
|
74
74
|
import { isENOENT } from '../../../common/errors';
|
|
75
75
|
import * as jsoncparser from 'jsonc-parser';
|
|
76
|
-
import { IJSONSchema } from '@theia/core/lib/common/json-schema';
|
|
76
|
+
import { IJSONSchema, JsonType } from '@theia/core/lib/common/json-schema';
|
|
77
|
+
import { JSONValue } from '@theia/core/shared/@lumino/coreutils';
|
|
77
78
|
import { deepClone } from '@theia/core/lib/common/objects';
|
|
78
79
|
import { PreferenceSchema, PreferenceDataProperty } from '@theia/core/lib/common/preferences/preference-schema';
|
|
79
80
|
import { TaskDefinition } from '@theia/task/lib/common/task-protocol';
|
|
@@ -90,6 +91,22 @@ function getFileExtension(filePath: string): string {
|
|
|
90
91
|
return index === -1 ? '' : filePath.substring(index + 1);
|
|
91
92
|
}
|
|
92
93
|
|
|
94
|
+
/**
|
|
95
|
+
* Mirrors VS Code's `ConfigurationRegistry.getDefaultValue(type)`: plugins expect typed-but-defaultless properties to read as a type-based default, not `undefined`.
|
|
96
|
+
*/
|
|
97
|
+
function deriveDefaultForType(type: JsonType | JsonType[] | undefined): JSONValue {
|
|
98
|
+
const t = Array.isArray(type) ? type[0] : type;
|
|
99
|
+
switch (t) {
|
|
100
|
+
case 'boolean': return false;
|
|
101
|
+
case 'integer':
|
|
102
|
+
case 'number': return 0;
|
|
103
|
+
case 'string': return '';
|
|
104
|
+
case 'array': return [];
|
|
105
|
+
case 'object': return {};
|
|
106
|
+
default: return null;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
93
110
|
type PluginPackageWithContributes = PluginPackage & { contributes: PluginPackageContribution };
|
|
94
111
|
|
|
95
112
|
type ScopeString = 'machine-overridable' | 'window' | 'resource' | 'language-overridable' | 'application' | 'machine';
|
|
@@ -774,7 +791,8 @@ export class TheiaPluginScanner extends AbstractPluginScanner {
|
|
|
774
791
|
const schemaProperty: PreferenceDataProperty = {
|
|
775
792
|
...property,
|
|
776
793
|
scope: scopeInfo.scope,
|
|
777
|
-
overridable: scopeInfo.overridable
|
|
794
|
+
overridable: scopeInfo.overridable,
|
|
795
|
+
default: property.default !== undefined ? property.default : deriveDefaultForType(property.type)
|
|
778
796
|
};
|
|
779
797
|
|
|
780
798
|
schema.properties[key] = schemaProperty;
|
|
@@ -14,6 +14,10 @@
|
|
|
14
14
|
* SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
|
|
15
15
|
********************************************************************************/
|
|
16
16
|
|
|
17
|
+
@import "./plugin-sidebar.css";
|
|
18
|
+
@import "./webview.css";
|
|
19
|
+
@import "./tree.css";
|
|
20
|
+
|
|
17
21
|
.spinnerContainer {
|
|
18
22
|
width: 100%;
|
|
19
23
|
height: 100%;
|
|
@@ -78,7 +82,3 @@
|
|
|
78
82
|
background-size: var(--theia-private-sidebar-icon-size) !important;
|
|
79
83
|
font-size: var(--theia-private-sidebar-icon-size) !important;
|
|
80
84
|
}
|
|
81
|
-
|
|
82
|
-
@import "./plugin-sidebar.css";
|
|
83
|
-
@import "./webview.css";
|
|
84
|
-
@import "./tree.css";
|