@codingame/monaco-vscode-api 1.78.4-next.0 → 1.78.4-next.1

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.
Files changed (73) hide show
  1. package/dist/contributions.js +110 -0
  2. package/dist/default-extensions/bat.js +5 -6
  3. package/dist/default-extensions/clojure.js +4 -5
  4. package/dist/default-extensions/coffeescript.js +5 -6
  5. package/dist/default-extensions/cpp.js +10 -11
  6. package/dist/default-extensions/csharp.js +5 -6
  7. package/dist/default-extensions/css.js +4 -5
  8. package/dist/default-extensions/dart.js +4 -5
  9. package/dist/default-extensions/diff.js +4 -5
  10. package/dist/default-extensions/docker.js +4 -5
  11. package/dist/default-extensions/fsharp.js +5 -6
  12. package/dist/default-extensions/go.js +4 -5
  13. package/dist/default-extensions/groovy.js +5 -6
  14. package/dist/default-extensions/handlebars.js +4 -5
  15. package/dist/default-extensions/hlsl.js +4 -5
  16. package/dist/default-extensions/html.js +6 -7
  17. package/dist/default-extensions/ini.js +5 -6
  18. package/dist/default-extensions/java.js +5 -6
  19. package/dist/default-extensions/javascript.js +8 -9
  20. package/dist/default-extensions/json.js +5 -6
  21. package/dist/default-extensions/julia.js +4 -5
  22. package/dist/default-extensions/latex.js +10 -11
  23. package/dist/default-extensions/less.js +4 -5
  24. package/dist/default-extensions/log.js +3 -4
  25. package/dist/default-extensions/lua.js +4 -5
  26. package/dist/default-extensions/make.js +4 -5
  27. package/dist/default-extensions/markdown-basics.js +5 -6
  28. package/dist/default-extensions/objective-c.js +5 -6
  29. package/dist/default-extensions/perl.js +6 -7
  30. package/dist/default-extensions/php.js +6 -7
  31. package/dist/default-extensions/powershell.js +4 -5
  32. package/dist/default-extensions/pug.js +4 -5
  33. package/dist/default-extensions/python.js +5 -6
  34. package/dist/default-extensions/r.js +4 -5
  35. package/dist/default-extensions/razor.js +4 -5
  36. package/dist/default-extensions/ruby.js +4 -5
  37. package/dist/default-extensions/rust.js +4 -5
  38. package/dist/default-extensions/scss.js +5 -6
  39. package/dist/default-extensions/shaderlab.js +4 -5
  40. package/dist/default-extensions/shellscript.js +4 -5
  41. package/dist/default-extensions/sql.js +4 -5
  42. package/dist/default-extensions/swift.js +5 -6
  43. package/dist/default-extensions/theme-abyss.js +3 -4
  44. package/dist/default-extensions/theme-defaults.js +11 -12
  45. package/dist/default-extensions/theme-kimbie-dark.js +3 -4
  46. package/dist/default-extensions/theme-monokai-dimmed.js +3 -4
  47. package/dist/default-extensions/theme-monokai.js +3 -4
  48. package/dist/default-extensions/theme-quietlight.js +3 -4
  49. package/dist/default-extensions/theme-red.js +3 -4
  50. package/dist/default-extensions/theme-seti.js +3 -4
  51. package/dist/default-extensions/theme-solarized-dark.js +3 -4
  52. package/dist/default-extensions/theme-solarized-light.js +3 -4
  53. package/dist/default-extensions/theme-tomorrow-night-blue.js +3 -4
  54. package/dist/default-extensions/typescript-basics.js +8 -9
  55. package/dist/default-extensions/typescript-language-features.js +2 -3
  56. package/dist/default-extensions/vb.js +5 -6
  57. package/dist/default-extensions/xml.js +6 -7
  58. package/dist/default-extensions/yaml.js +4 -5
  59. package/dist/extHost.js +19602 -0
  60. package/dist/extension-tools-b2d018a3.js +1037 -0
  61. package/dist/extensions2.js +77 -0
  62. package/dist/keybindings.js +3 -180
  63. package/dist/layout.js +41 -0
  64. package/dist/layoutService.js +12 -0
  65. package/dist/missing-services.js +34881 -0
  66. package/dist/monaco.d.ts +11 -11
  67. package/dist/rollup-extension-directory-plugin.d.ts +10 -0
  68. package/dist/rollup-extension-directory-plugin.js +82 -0
  69. package/dist/rollup-vsix-plugin.js +9 -876
  70. package/dist/services.d.ts +1 -1
  71. package/dist/textEditor.js +34 -0
  72. package/dist/variableResolver.js +586 -0
  73. package/package.json +12 -5
@@ -1,878 +1,8 @@
1
1
  import { createFilter, dataToEsm } from '@rollup/pluginutils';
2
2
  import * as yauzl from 'yauzl';
3
+ import { p as parseJson, l as localizeManifest, e as extractPathsFromExtensionManifest } from './extension-tools-b2d018a3.js';
3
4
  import * as path from 'path';
4
5
 
5
- function extractCommandPaths(command) {
6
- if (Array.isArray(command)) {
7
- return command.flatMap(extractCommandPaths);
8
- }
9
- if (command.icon != null) {
10
- if (typeof command.icon === 'object') {
11
- return [command.icon.light, command.icon.dark];
12
- }
13
- else {
14
- return [command.icon];
15
- }
16
- }
17
- return [];
18
- }
19
- function extractGrammarPaths(grammar) {
20
- return [grammar.path];
21
- }
22
- function extractLanguagePaths(language) {
23
- const paths = [];
24
- if (language.icon != null) {
25
- paths.push(language.icon.dark, language.icon.light);
26
- }
27
- if (language.configuration != null) {
28
- paths.push(language.configuration);
29
- }
30
- return paths;
31
- }
32
- function extractSnippetsPaths(snippet) {
33
- return [snippet.path];
34
- }
35
- function extractThemePaths(theme) {
36
- return [theme.path];
37
- }
38
- function extractPathsFromExtensionManifestContribute(contribute) {
39
- const paths = [];
40
- if (contribute.commands != null)
41
- paths.push(...extractCommandPaths(contribute.commands));
42
- if (contribute.grammars != null)
43
- paths.push(...contribute.grammars.flatMap(extractGrammarPaths));
44
- if (contribute.languages != null)
45
- paths.push(...contribute.languages.flatMap(extractLanguagePaths));
46
- if (contribute.snippets != null)
47
- paths.push(...contribute.snippets.flatMap(extractSnippetsPaths));
48
- if (contribute.themes != null)
49
- paths.push(...contribute.themes.flatMap(extractThemePaths));
50
- if (contribute.iconThemes != null)
51
- paths.push(...contribute.iconThemes.flatMap(extractThemePaths));
52
- if (contribute.productIconThemes != null)
53
- paths.push(...contribute.productIconThemes.flatMap(extractThemePaths));
54
- return Array.from(new Set(paths));
55
- }
56
- function extractPathsFromExtensionManifest(manifest) {
57
- return manifest.contributes != null ? extractPathsFromExtensionManifestContribute(manifest.contributes) : [];
58
- }
59
-
60
- /*---------------------------------------------------------------------------------------------
61
- * Copyright (c) Microsoft Corporation. All rights reserved.
62
- * Licensed under the MIT License. See License.txt in the project root for license information.
63
- *--------------------------------------------------------------------------------------------*/
64
- var ScanError;
65
- (function (ScanError) {
66
- ScanError[ScanError["None"] = 0] = "None";
67
- ScanError[ScanError["UnexpectedEndOfComment"] = 1] = "UnexpectedEndOfComment";
68
- ScanError[ScanError["UnexpectedEndOfString"] = 2] = "UnexpectedEndOfString";
69
- ScanError[ScanError["UnexpectedEndOfNumber"] = 3] = "UnexpectedEndOfNumber";
70
- ScanError[ScanError["InvalidUnicode"] = 4] = "InvalidUnicode";
71
- ScanError[ScanError["InvalidEscapeCharacter"] = 5] = "InvalidEscapeCharacter";
72
- ScanError[ScanError["InvalidCharacter"] = 6] = "InvalidCharacter";
73
- })(ScanError || (ScanError = {}));
74
- var SyntaxKind;
75
- (function (SyntaxKind) {
76
- SyntaxKind[SyntaxKind["OpenBraceToken"] = 1] = "OpenBraceToken";
77
- SyntaxKind[SyntaxKind["CloseBraceToken"] = 2] = "CloseBraceToken";
78
- SyntaxKind[SyntaxKind["OpenBracketToken"] = 3] = "OpenBracketToken";
79
- SyntaxKind[SyntaxKind["CloseBracketToken"] = 4] = "CloseBracketToken";
80
- SyntaxKind[SyntaxKind["CommaToken"] = 5] = "CommaToken";
81
- SyntaxKind[SyntaxKind["ColonToken"] = 6] = "ColonToken";
82
- SyntaxKind[SyntaxKind["NullKeyword"] = 7] = "NullKeyword";
83
- SyntaxKind[SyntaxKind["TrueKeyword"] = 8] = "TrueKeyword";
84
- SyntaxKind[SyntaxKind["FalseKeyword"] = 9] = "FalseKeyword";
85
- SyntaxKind[SyntaxKind["StringLiteral"] = 10] = "StringLiteral";
86
- SyntaxKind[SyntaxKind["NumericLiteral"] = 11] = "NumericLiteral";
87
- SyntaxKind[SyntaxKind["LineCommentTrivia"] = 12] = "LineCommentTrivia";
88
- SyntaxKind[SyntaxKind["BlockCommentTrivia"] = 13] = "BlockCommentTrivia";
89
- SyntaxKind[SyntaxKind["LineBreakTrivia"] = 14] = "LineBreakTrivia";
90
- SyntaxKind[SyntaxKind["Trivia"] = 15] = "Trivia";
91
- SyntaxKind[SyntaxKind["Unknown"] = 16] = "Unknown";
92
- SyntaxKind[SyntaxKind["EOF"] = 17] = "EOF";
93
- })(SyntaxKind || (SyntaxKind = {}));
94
- var ParseErrorCode;
95
- (function (ParseErrorCode) {
96
- ParseErrorCode[ParseErrorCode["InvalidSymbol"] = 1] = "InvalidSymbol";
97
- ParseErrorCode[ParseErrorCode["InvalidNumberFormat"] = 2] = "InvalidNumberFormat";
98
- ParseErrorCode[ParseErrorCode["PropertyNameExpected"] = 3] = "PropertyNameExpected";
99
- ParseErrorCode[ParseErrorCode["ValueExpected"] = 4] = "ValueExpected";
100
- ParseErrorCode[ParseErrorCode["ColonExpected"] = 5] = "ColonExpected";
101
- ParseErrorCode[ParseErrorCode["CommaExpected"] = 6] = "CommaExpected";
102
- ParseErrorCode[ParseErrorCode["CloseBraceExpected"] = 7] = "CloseBraceExpected";
103
- ParseErrorCode[ParseErrorCode["CloseBracketExpected"] = 8] = "CloseBracketExpected";
104
- ParseErrorCode[ParseErrorCode["EndOfFileExpected"] = 9] = "EndOfFileExpected";
105
- ParseErrorCode[ParseErrorCode["InvalidCommentToken"] = 10] = "InvalidCommentToken";
106
- ParseErrorCode[ParseErrorCode["UnexpectedEndOfComment"] = 11] = "UnexpectedEndOfComment";
107
- ParseErrorCode[ParseErrorCode["UnexpectedEndOfString"] = 12] = "UnexpectedEndOfString";
108
- ParseErrorCode[ParseErrorCode["UnexpectedEndOfNumber"] = 13] = "UnexpectedEndOfNumber";
109
- ParseErrorCode[ParseErrorCode["InvalidUnicode"] = 14] = "InvalidUnicode";
110
- ParseErrorCode[ParseErrorCode["InvalidEscapeCharacter"] = 15] = "InvalidEscapeCharacter";
111
- ParseErrorCode[ParseErrorCode["InvalidCharacter"] = 16] = "InvalidCharacter";
112
- })(ParseErrorCode || (ParseErrorCode = {}));
113
- var ParseOptions;
114
- (function (ParseOptions) {
115
- ParseOptions.DEFAULT = {
116
- allowTrailingComma: true
117
- };
118
- })(ParseOptions || (ParseOptions = {}));
119
- /**
120
- * Creates a JSON scanner on the given text.
121
- * If ignoreTrivia is set, whitespaces or comments are ignored.
122
- */
123
- function createScanner(text, ignoreTrivia = false) {
124
- let pos = 0;
125
- const len = text.length;
126
- let value = '';
127
- let tokenOffset = 0;
128
- let token = 16 /* SyntaxKind.Unknown */;
129
- let scanError = 0 /* ScanError.None */;
130
- function scanHexDigits(count) {
131
- let digits = 0;
132
- let hexValue = 0;
133
- while (digits < count) {
134
- const ch = text.charCodeAt(pos);
135
- if (ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */) {
136
- hexValue = hexValue * 16 + ch - 48 /* CharacterCodes._0 */;
137
- }
138
- else if (ch >= 65 /* CharacterCodes.A */ && ch <= 70 /* CharacterCodes.F */) {
139
- hexValue = hexValue * 16 + ch - 65 /* CharacterCodes.A */ + 10;
140
- }
141
- else if (ch >= 97 /* CharacterCodes.a */ && ch <= 102 /* CharacterCodes.f */) {
142
- hexValue = hexValue * 16 + ch - 97 /* CharacterCodes.a */ + 10;
143
- }
144
- else {
145
- break;
146
- }
147
- pos++;
148
- digits++;
149
- }
150
- if (digits < count) {
151
- hexValue = -1;
152
- }
153
- return hexValue;
154
- }
155
- function setPosition(newPosition) {
156
- pos = newPosition;
157
- value = '';
158
- tokenOffset = 0;
159
- token = 16 /* SyntaxKind.Unknown */;
160
- scanError = 0 /* ScanError.None */;
161
- }
162
- function scanNumber() {
163
- const start = pos;
164
- if (text.charCodeAt(pos) === 48 /* CharacterCodes._0 */) {
165
- pos++;
166
- }
167
- else {
168
- pos++;
169
- while (pos < text.length && isDigit(text.charCodeAt(pos))) {
170
- pos++;
171
- }
172
- }
173
- if (pos < text.length && text.charCodeAt(pos) === 46 /* CharacterCodes.dot */) {
174
- pos++;
175
- if (pos < text.length && isDigit(text.charCodeAt(pos))) {
176
- pos++;
177
- while (pos < text.length && isDigit(text.charCodeAt(pos))) {
178
- pos++;
179
- }
180
- }
181
- else {
182
- scanError = 3 /* ScanError.UnexpectedEndOfNumber */;
183
- return text.substring(start, pos);
184
- }
185
- }
186
- let end = pos;
187
- if (pos < text.length && (text.charCodeAt(pos) === 69 /* CharacterCodes.E */ || text.charCodeAt(pos) === 101 /* CharacterCodes.e */)) {
188
- pos++;
189
- if (pos < text.length && text.charCodeAt(pos) === 43 /* CharacterCodes.plus */ || text.charCodeAt(pos) === 45 /* CharacterCodes.minus */) {
190
- pos++;
191
- }
192
- if (pos < text.length && isDigit(text.charCodeAt(pos))) {
193
- pos++;
194
- while (pos < text.length && isDigit(text.charCodeAt(pos))) {
195
- pos++;
196
- }
197
- end = pos;
198
- }
199
- else {
200
- scanError = 3 /* ScanError.UnexpectedEndOfNumber */;
201
- }
202
- }
203
- return text.substring(start, end);
204
- }
205
- function scanString() {
206
- let result = '', start = pos;
207
- while (true) {
208
- if (pos >= len) {
209
- result += text.substring(start, pos);
210
- scanError = 2 /* ScanError.UnexpectedEndOfString */;
211
- break;
212
- }
213
- const ch = text.charCodeAt(pos);
214
- if (ch === 34 /* CharacterCodes.doubleQuote */) {
215
- result += text.substring(start, pos);
216
- pos++;
217
- break;
218
- }
219
- if (ch === 92 /* CharacterCodes.backslash */) {
220
- result += text.substring(start, pos);
221
- pos++;
222
- if (pos >= len) {
223
- scanError = 2 /* ScanError.UnexpectedEndOfString */;
224
- break;
225
- }
226
- const ch2 = text.charCodeAt(pos++);
227
- switch (ch2) {
228
- case 34 /* CharacterCodes.doubleQuote */:
229
- result += '\"';
230
- break;
231
- case 92 /* CharacterCodes.backslash */:
232
- result += '\\';
233
- break;
234
- case 47 /* CharacterCodes.slash */:
235
- result += '/';
236
- break;
237
- case 98 /* CharacterCodes.b */:
238
- result += '\b';
239
- break;
240
- case 102 /* CharacterCodes.f */:
241
- result += '\f';
242
- break;
243
- case 110 /* CharacterCodes.n */:
244
- result += '\n';
245
- break;
246
- case 114 /* CharacterCodes.r */:
247
- result += '\r';
248
- break;
249
- case 116 /* CharacterCodes.t */:
250
- result += '\t';
251
- break;
252
- case 117 /* CharacterCodes.u */: {
253
- const ch3 = scanHexDigits(4);
254
- if (ch3 >= 0) {
255
- result += String.fromCharCode(ch3);
256
- }
257
- else {
258
- scanError = 4 /* ScanError.InvalidUnicode */;
259
- }
260
- break;
261
- }
262
- default:
263
- scanError = 5 /* ScanError.InvalidEscapeCharacter */;
264
- }
265
- start = pos;
266
- continue;
267
- }
268
- if (ch >= 0 && ch <= 0x1F) {
269
- if (isLineBreak(ch)) {
270
- result += text.substring(start, pos);
271
- scanError = 2 /* ScanError.UnexpectedEndOfString */;
272
- break;
273
- }
274
- else {
275
- scanError = 6 /* ScanError.InvalidCharacter */;
276
- // mark as error but continue with string
277
- }
278
- }
279
- pos++;
280
- }
281
- return result;
282
- }
283
- function scanNext() {
284
- value = '';
285
- scanError = 0 /* ScanError.None */;
286
- tokenOffset = pos;
287
- if (pos >= len) {
288
- // at the end
289
- tokenOffset = len;
290
- return token = 17 /* SyntaxKind.EOF */;
291
- }
292
- let code = text.charCodeAt(pos);
293
- // trivia: whitespace
294
- if (isWhitespace(code)) {
295
- do {
296
- pos++;
297
- value += String.fromCharCode(code);
298
- code = text.charCodeAt(pos);
299
- } while (isWhitespace(code));
300
- return token = 15 /* SyntaxKind.Trivia */;
301
- }
302
- // trivia: newlines
303
- if (isLineBreak(code)) {
304
- pos++;
305
- value += String.fromCharCode(code);
306
- if (code === 13 /* CharacterCodes.carriageReturn */ && text.charCodeAt(pos) === 10 /* CharacterCodes.lineFeed */) {
307
- pos++;
308
- value += '\n';
309
- }
310
- return token = 14 /* SyntaxKind.LineBreakTrivia */;
311
- }
312
- switch (code) {
313
- // tokens: []{}:,
314
- case 123 /* CharacterCodes.openBrace */:
315
- pos++;
316
- return token = 1 /* SyntaxKind.OpenBraceToken */;
317
- case 125 /* CharacterCodes.closeBrace */:
318
- pos++;
319
- return token = 2 /* SyntaxKind.CloseBraceToken */;
320
- case 91 /* CharacterCodes.openBracket */:
321
- pos++;
322
- return token = 3 /* SyntaxKind.OpenBracketToken */;
323
- case 93 /* CharacterCodes.closeBracket */:
324
- pos++;
325
- return token = 4 /* SyntaxKind.CloseBracketToken */;
326
- case 58 /* CharacterCodes.colon */:
327
- pos++;
328
- return token = 6 /* SyntaxKind.ColonToken */;
329
- case 44 /* CharacterCodes.comma */:
330
- pos++;
331
- return token = 5 /* SyntaxKind.CommaToken */;
332
- // strings
333
- case 34 /* CharacterCodes.doubleQuote */:
334
- pos++;
335
- value = scanString();
336
- return token = 10 /* SyntaxKind.StringLiteral */;
337
- // comments
338
- case 47 /* CharacterCodes.slash */: {
339
- const start = pos - 1;
340
- // Single-line comment
341
- if (text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) {
342
- pos += 2;
343
- while (pos < len) {
344
- if (isLineBreak(text.charCodeAt(pos))) {
345
- break;
346
- }
347
- pos++;
348
- }
349
- value = text.substring(start, pos);
350
- return token = 12 /* SyntaxKind.LineCommentTrivia */;
351
- }
352
- // Multi-line comment
353
- if (text.charCodeAt(pos + 1) === 42 /* CharacterCodes.asterisk */) {
354
- pos += 2;
355
- const safeLength = len - 1; // For lookahead.
356
- let commentClosed = false;
357
- while (pos < safeLength) {
358
- const ch = text.charCodeAt(pos);
359
- if (ch === 42 /* CharacterCodes.asterisk */ && text.charCodeAt(pos + 1) === 47 /* CharacterCodes.slash */) {
360
- pos += 2;
361
- commentClosed = true;
362
- break;
363
- }
364
- pos++;
365
- }
366
- if (!commentClosed) {
367
- pos++;
368
- scanError = 1 /* ScanError.UnexpectedEndOfComment */;
369
- }
370
- value = text.substring(start, pos);
371
- return token = 13 /* SyntaxKind.BlockCommentTrivia */;
372
- }
373
- // just a single slash
374
- value += String.fromCharCode(code);
375
- pos++;
376
- return token = 16 /* SyntaxKind.Unknown */;
377
- }
378
- // numbers
379
- case 45 /* CharacterCodes.minus */:
380
- value += String.fromCharCode(code);
381
- pos++;
382
- if (pos === len || !isDigit(text.charCodeAt(pos))) {
383
- return token = 16 /* SyntaxKind.Unknown */;
384
- }
385
- // found a minus, followed by a number so
386
- // we fall through to proceed with scanning
387
- // numbers
388
- case 48 /* CharacterCodes._0 */:
389
- case 49 /* CharacterCodes._1 */:
390
- case 50 /* CharacterCodes._2 */:
391
- case 51 /* CharacterCodes._3 */:
392
- case 52 /* CharacterCodes._4 */:
393
- case 53 /* CharacterCodes._5 */:
394
- case 54 /* CharacterCodes._6 */:
395
- case 55 /* CharacterCodes._7 */:
396
- case 56 /* CharacterCodes._8 */:
397
- case 57 /* CharacterCodes._9 */:
398
- value += scanNumber();
399
- return token = 11 /* SyntaxKind.NumericLiteral */;
400
- // literals and unknown symbols
401
- default:
402
- // is a literal? Read the full word.
403
- while (pos < len && isUnknownContentCharacter(code)) {
404
- pos++;
405
- code = text.charCodeAt(pos);
406
- }
407
- if (tokenOffset !== pos) {
408
- value = text.substring(tokenOffset, pos);
409
- // keywords: true, false, null
410
- switch (value) {
411
- case 'true': return token = 8 /* SyntaxKind.TrueKeyword */;
412
- case 'false': return token = 9 /* SyntaxKind.FalseKeyword */;
413
- case 'null': return token = 7 /* SyntaxKind.NullKeyword */;
414
- }
415
- return token = 16 /* SyntaxKind.Unknown */;
416
- }
417
- // some
418
- value += String.fromCharCode(code);
419
- pos++;
420
- return token = 16 /* SyntaxKind.Unknown */;
421
- }
422
- }
423
- function isUnknownContentCharacter(code) {
424
- if (isWhitespace(code) || isLineBreak(code)) {
425
- return false;
426
- }
427
- switch (code) {
428
- case 125 /* CharacterCodes.closeBrace */:
429
- case 93 /* CharacterCodes.closeBracket */:
430
- case 123 /* CharacterCodes.openBrace */:
431
- case 91 /* CharacterCodes.openBracket */:
432
- case 34 /* CharacterCodes.doubleQuote */:
433
- case 58 /* CharacterCodes.colon */:
434
- case 44 /* CharacterCodes.comma */:
435
- case 47 /* CharacterCodes.slash */:
436
- return false;
437
- }
438
- return true;
439
- }
440
- function scanNextNonTrivia() {
441
- let result;
442
- do {
443
- result = scanNext();
444
- } while (result >= 12 /* SyntaxKind.LineCommentTrivia */ && result <= 15 /* SyntaxKind.Trivia */);
445
- return result;
446
- }
447
- return {
448
- setPosition: setPosition,
449
- getPosition: () => pos,
450
- scan: ignoreTrivia ? scanNextNonTrivia : scanNext,
451
- getToken: () => token,
452
- getTokenValue: () => value,
453
- getTokenOffset: () => tokenOffset,
454
- getTokenLength: () => pos - tokenOffset,
455
- getTokenError: () => scanError
456
- };
457
- }
458
- function isWhitespace(ch) {
459
- return ch === 32 /* CharacterCodes.space */ || ch === 9 /* CharacterCodes.tab */ || ch === 11 /* CharacterCodes.verticalTab */ || ch === 12 /* CharacterCodes.formFeed */ ||
460
- ch === 160 /* CharacterCodes.nonBreakingSpace */ || ch === 5760 /* CharacterCodes.ogham */ || ch >= 8192 /* CharacterCodes.enQuad */ && ch <= 8203 /* CharacterCodes.zeroWidthSpace */ ||
461
- ch === 8239 /* CharacterCodes.narrowNoBreakSpace */ || ch === 8287 /* CharacterCodes.mathematicalSpace */ || ch === 12288 /* CharacterCodes.ideographicSpace */ || ch === 65279 /* CharacterCodes.byteOrderMark */;
462
- }
463
- function isLineBreak(ch) {
464
- return ch === 10 /* CharacterCodes.lineFeed */ || ch === 13 /* CharacterCodes.carriageReturn */ || ch === 8232 /* CharacterCodes.lineSeparator */ || ch === 8233 /* CharacterCodes.paragraphSeparator */;
465
- }
466
- function isDigit(ch) {
467
- return ch >= 48 /* CharacterCodes._0 */ && ch <= 57 /* CharacterCodes._9 */;
468
- }
469
- var CharacterCodes;
470
- (function (CharacterCodes) {
471
- CharacterCodes[CharacterCodes["nullCharacter"] = 0] = "nullCharacter";
472
- CharacterCodes[CharacterCodes["maxAsciiCharacter"] = 127] = "maxAsciiCharacter";
473
- CharacterCodes[CharacterCodes["lineFeed"] = 10] = "lineFeed";
474
- CharacterCodes[CharacterCodes["carriageReturn"] = 13] = "carriageReturn";
475
- CharacterCodes[CharacterCodes["lineSeparator"] = 8232] = "lineSeparator";
476
- CharacterCodes[CharacterCodes["paragraphSeparator"] = 8233] = "paragraphSeparator";
477
- // REVIEW: do we need to support this? The scanner doesn't, but our IText does. This seems
478
- // like an odd disparity? (Or maybe it's completely fine for them to be different).
479
- CharacterCodes[CharacterCodes["nextLine"] = 133] = "nextLine";
480
- // Unicode 3.0 space characters
481
- CharacterCodes[CharacterCodes["space"] = 32] = "space";
482
- CharacterCodes[CharacterCodes["nonBreakingSpace"] = 160] = "nonBreakingSpace";
483
- CharacterCodes[CharacterCodes["enQuad"] = 8192] = "enQuad";
484
- CharacterCodes[CharacterCodes["emQuad"] = 8193] = "emQuad";
485
- CharacterCodes[CharacterCodes["enSpace"] = 8194] = "enSpace";
486
- CharacterCodes[CharacterCodes["emSpace"] = 8195] = "emSpace";
487
- CharacterCodes[CharacterCodes["threePerEmSpace"] = 8196] = "threePerEmSpace";
488
- CharacterCodes[CharacterCodes["fourPerEmSpace"] = 8197] = "fourPerEmSpace";
489
- CharacterCodes[CharacterCodes["sixPerEmSpace"] = 8198] = "sixPerEmSpace";
490
- CharacterCodes[CharacterCodes["figureSpace"] = 8199] = "figureSpace";
491
- CharacterCodes[CharacterCodes["punctuationSpace"] = 8200] = "punctuationSpace";
492
- CharacterCodes[CharacterCodes["thinSpace"] = 8201] = "thinSpace";
493
- CharacterCodes[CharacterCodes["hairSpace"] = 8202] = "hairSpace";
494
- CharacterCodes[CharacterCodes["zeroWidthSpace"] = 8203] = "zeroWidthSpace";
495
- CharacterCodes[CharacterCodes["narrowNoBreakSpace"] = 8239] = "narrowNoBreakSpace";
496
- CharacterCodes[CharacterCodes["ideographicSpace"] = 12288] = "ideographicSpace";
497
- CharacterCodes[CharacterCodes["mathematicalSpace"] = 8287] = "mathematicalSpace";
498
- CharacterCodes[CharacterCodes["ogham"] = 5760] = "ogham";
499
- CharacterCodes[CharacterCodes["_"] = 95] = "_";
500
- CharacterCodes[CharacterCodes["$"] = 36] = "$";
501
- CharacterCodes[CharacterCodes["_0"] = 48] = "_0";
502
- CharacterCodes[CharacterCodes["_1"] = 49] = "_1";
503
- CharacterCodes[CharacterCodes["_2"] = 50] = "_2";
504
- CharacterCodes[CharacterCodes["_3"] = 51] = "_3";
505
- CharacterCodes[CharacterCodes["_4"] = 52] = "_4";
506
- CharacterCodes[CharacterCodes["_5"] = 53] = "_5";
507
- CharacterCodes[CharacterCodes["_6"] = 54] = "_6";
508
- CharacterCodes[CharacterCodes["_7"] = 55] = "_7";
509
- CharacterCodes[CharacterCodes["_8"] = 56] = "_8";
510
- CharacterCodes[CharacterCodes["_9"] = 57] = "_9";
511
- CharacterCodes[CharacterCodes["a"] = 97] = "a";
512
- CharacterCodes[CharacterCodes["b"] = 98] = "b";
513
- CharacterCodes[CharacterCodes["c"] = 99] = "c";
514
- CharacterCodes[CharacterCodes["d"] = 100] = "d";
515
- CharacterCodes[CharacterCodes["e"] = 101] = "e";
516
- CharacterCodes[CharacterCodes["f"] = 102] = "f";
517
- CharacterCodes[CharacterCodes["g"] = 103] = "g";
518
- CharacterCodes[CharacterCodes["h"] = 104] = "h";
519
- CharacterCodes[CharacterCodes["i"] = 105] = "i";
520
- CharacterCodes[CharacterCodes["j"] = 106] = "j";
521
- CharacterCodes[CharacterCodes["k"] = 107] = "k";
522
- CharacterCodes[CharacterCodes["l"] = 108] = "l";
523
- CharacterCodes[CharacterCodes["m"] = 109] = "m";
524
- CharacterCodes[CharacterCodes["n"] = 110] = "n";
525
- CharacterCodes[CharacterCodes["o"] = 111] = "o";
526
- CharacterCodes[CharacterCodes["p"] = 112] = "p";
527
- CharacterCodes[CharacterCodes["q"] = 113] = "q";
528
- CharacterCodes[CharacterCodes["r"] = 114] = "r";
529
- CharacterCodes[CharacterCodes["s"] = 115] = "s";
530
- CharacterCodes[CharacterCodes["t"] = 116] = "t";
531
- CharacterCodes[CharacterCodes["u"] = 117] = "u";
532
- CharacterCodes[CharacterCodes["v"] = 118] = "v";
533
- CharacterCodes[CharacterCodes["w"] = 119] = "w";
534
- CharacterCodes[CharacterCodes["x"] = 120] = "x";
535
- CharacterCodes[CharacterCodes["y"] = 121] = "y";
536
- CharacterCodes[CharacterCodes["z"] = 122] = "z";
537
- CharacterCodes[CharacterCodes["A"] = 65] = "A";
538
- CharacterCodes[CharacterCodes["B"] = 66] = "B";
539
- CharacterCodes[CharacterCodes["C"] = 67] = "C";
540
- CharacterCodes[CharacterCodes["D"] = 68] = "D";
541
- CharacterCodes[CharacterCodes["E"] = 69] = "E";
542
- CharacterCodes[CharacterCodes["F"] = 70] = "F";
543
- CharacterCodes[CharacterCodes["G"] = 71] = "G";
544
- CharacterCodes[CharacterCodes["H"] = 72] = "H";
545
- CharacterCodes[CharacterCodes["I"] = 73] = "I";
546
- CharacterCodes[CharacterCodes["J"] = 74] = "J";
547
- CharacterCodes[CharacterCodes["K"] = 75] = "K";
548
- CharacterCodes[CharacterCodes["L"] = 76] = "L";
549
- CharacterCodes[CharacterCodes["M"] = 77] = "M";
550
- CharacterCodes[CharacterCodes["N"] = 78] = "N";
551
- CharacterCodes[CharacterCodes["O"] = 79] = "O";
552
- CharacterCodes[CharacterCodes["P"] = 80] = "P";
553
- CharacterCodes[CharacterCodes["Q"] = 81] = "Q";
554
- CharacterCodes[CharacterCodes["R"] = 82] = "R";
555
- CharacterCodes[CharacterCodes["S"] = 83] = "S";
556
- CharacterCodes[CharacterCodes["T"] = 84] = "T";
557
- CharacterCodes[CharacterCodes["U"] = 85] = "U";
558
- CharacterCodes[CharacterCodes["V"] = 86] = "V";
559
- CharacterCodes[CharacterCodes["W"] = 87] = "W";
560
- CharacterCodes[CharacterCodes["X"] = 88] = "X";
561
- CharacterCodes[CharacterCodes["Y"] = 89] = "Y";
562
- CharacterCodes[CharacterCodes["Z"] = 90] = "Z";
563
- CharacterCodes[CharacterCodes["ampersand"] = 38] = "ampersand";
564
- CharacterCodes[CharacterCodes["asterisk"] = 42] = "asterisk";
565
- CharacterCodes[CharacterCodes["at"] = 64] = "at";
566
- CharacterCodes[CharacterCodes["backslash"] = 92] = "backslash";
567
- CharacterCodes[CharacterCodes["bar"] = 124] = "bar";
568
- CharacterCodes[CharacterCodes["caret"] = 94] = "caret";
569
- CharacterCodes[CharacterCodes["closeBrace"] = 125] = "closeBrace";
570
- CharacterCodes[CharacterCodes["closeBracket"] = 93] = "closeBracket";
571
- CharacterCodes[CharacterCodes["closeParen"] = 41] = "closeParen";
572
- CharacterCodes[CharacterCodes["colon"] = 58] = "colon";
573
- CharacterCodes[CharacterCodes["comma"] = 44] = "comma";
574
- CharacterCodes[CharacterCodes["dot"] = 46] = "dot";
575
- CharacterCodes[CharacterCodes["doubleQuote"] = 34] = "doubleQuote";
576
- CharacterCodes[CharacterCodes["equals"] = 61] = "equals";
577
- CharacterCodes[CharacterCodes["exclamation"] = 33] = "exclamation";
578
- CharacterCodes[CharacterCodes["greaterThan"] = 62] = "greaterThan";
579
- CharacterCodes[CharacterCodes["lessThan"] = 60] = "lessThan";
580
- CharacterCodes[CharacterCodes["minus"] = 45] = "minus";
581
- CharacterCodes[CharacterCodes["openBrace"] = 123] = "openBrace";
582
- CharacterCodes[CharacterCodes["openBracket"] = 91] = "openBracket";
583
- CharacterCodes[CharacterCodes["openParen"] = 40] = "openParen";
584
- CharacterCodes[CharacterCodes["percent"] = 37] = "percent";
585
- CharacterCodes[CharacterCodes["plus"] = 43] = "plus";
586
- CharacterCodes[CharacterCodes["question"] = 63] = "question";
587
- CharacterCodes[CharacterCodes["semicolon"] = 59] = "semicolon";
588
- CharacterCodes[CharacterCodes["singleQuote"] = 39] = "singleQuote";
589
- CharacterCodes[CharacterCodes["slash"] = 47] = "slash";
590
- CharacterCodes[CharacterCodes["tilde"] = 126] = "tilde";
591
- CharacterCodes[CharacterCodes["backspace"] = 8] = "backspace";
592
- CharacterCodes[CharacterCodes["formFeed"] = 12] = "formFeed";
593
- CharacterCodes[CharacterCodes["byteOrderMark"] = 65279] = "byteOrderMark";
594
- CharacterCodes[CharacterCodes["tab"] = 9] = "tab";
595
- CharacterCodes[CharacterCodes["verticalTab"] = 11] = "verticalTab";
596
- })(CharacterCodes || (CharacterCodes = {}));
597
- /**
598
- * Parses the given text and returns the object the JSON content represents. On invalid input, the parser tries to be as fault tolerant as possible, but still return a result.
599
- * Therefore always check the errors list to find out if the input was valid.
600
- */
601
- function parse(text, errors = [], options = ParseOptions.DEFAULT) {
602
- let currentProperty = null;
603
- let currentParent = [];
604
- const previousParents = [];
605
- function onValue(value) {
606
- if (Array.isArray(currentParent)) {
607
- currentParent.push(value);
608
- }
609
- else if (currentProperty !== null) {
610
- currentParent[currentProperty] = value;
611
- }
612
- }
613
- const visitor = {
614
- onObjectBegin: () => {
615
- const object = {};
616
- onValue(object);
617
- previousParents.push(currentParent);
618
- currentParent = object;
619
- currentProperty = null;
620
- },
621
- onObjectProperty: (name) => {
622
- currentProperty = name;
623
- },
624
- onObjectEnd: () => {
625
- currentParent = previousParents.pop();
626
- },
627
- onArrayBegin: () => {
628
- const array = [];
629
- onValue(array);
630
- previousParents.push(currentParent);
631
- currentParent = array;
632
- currentProperty = null;
633
- },
634
- onArrayEnd: () => {
635
- currentParent = previousParents.pop();
636
- },
637
- onLiteralValue: onValue,
638
- onError: (error, offset, length) => {
639
- errors.push({ error, offset, length });
640
- }
641
- };
642
- visit(text, visitor, options);
643
- return currentParent[0];
644
- }
645
- /**
646
- * Parses the given text and invokes the visitor functions for each object, array and literal reached.
647
- */
648
- function visit(text, visitor, options = ParseOptions.DEFAULT) {
649
- const _scanner = createScanner(text, false);
650
- function toNoArgVisit(visitFunction) {
651
- return visitFunction ? () => visitFunction(_scanner.getTokenOffset(), _scanner.getTokenLength()) : () => true;
652
- }
653
- function toOneArgVisit(visitFunction) {
654
- return visitFunction ? (arg) => visitFunction(arg, _scanner.getTokenOffset(), _scanner.getTokenLength()) : () => true;
655
- }
656
- const onObjectBegin = toNoArgVisit(visitor.onObjectBegin), onObjectProperty = toOneArgVisit(visitor.onObjectProperty), onObjectEnd = toNoArgVisit(visitor.onObjectEnd), onArrayBegin = toNoArgVisit(visitor.onArrayBegin), onArrayEnd = toNoArgVisit(visitor.onArrayEnd), onLiteralValue = toOneArgVisit(visitor.onLiteralValue), onSeparator = toOneArgVisit(visitor.onSeparator), onComment = toNoArgVisit(visitor.onComment), onError = toOneArgVisit(visitor.onError);
657
- const disallowComments = options && options.disallowComments;
658
- const allowTrailingComma = options && options.allowTrailingComma;
659
- function scanNext() {
660
- while (true) {
661
- const token = _scanner.scan();
662
- switch (_scanner.getTokenError()) {
663
- case 4 /* ScanError.InvalidUnicode */:
664
- handleError(14 /* ParseErrorCode.InvalidUnicode */);
665
- break;
666
- case 5 /* ScanError.InvalidEscapeCharacter */:
667
- handleError(15 /* ParseErrorCode.InvalidEscapeCharacter */);
668
- break;
669
- case 3 /* ScanError.UnexpectedEndOfNumber */:
670
- handleError(13 /* ParseErrorCode.UnexpectedEndOfNumber */);
671
- break;
672
- case 1 /* ScanError.UnexpectedEndOfComment */:
673
- if (!disallowComments) {
674
- handleError(11 /* ParseErrorCode.UnexpectedEndOfComment */);
675
- }
676
- break;
677
- case 2 /* ScanError.UnexpectedEndOfString */:
678
- handleError(12 /* ParseErrorCode.UnexpectedEndOfString */);
679
- break;
680
- case 6 /* ScanError.InvalidCharacter */:
681
- handleError(16 /* ParseErrorCode.InvalidCharacter */);
682
- break;
683
- }
684
- switch (token) {
685
- case 12 /* SyntaxKind.LineCommentTrivia */:
686
- case 13 /* SyntaxKind.BlockCommentTrivia */:
687
- if (disallowComments) {
688
- handleError(10 /* ParseErrorCode.InvalidCommentToken */);
689
- }
690
- else {
691
- onComment();
692
- }
693
- break;
694
- case 16 /* SyntaxKind.Unknown */:
695
- handleError(1 /* ParseErrorCode.InvalidSymbol */);
696
- break;
697
- case 15 /* SyntaxKind.Trivia */:
698
- case 14 /* SyntaxKind.LineBreakTrivia */:
699
- break;
700
- default:
701
- return token;
702
- }
703
- }
704
- }
705
- function handleError(error, skipUntilAfter = [], skipUntil = []) {
706
- onError(error);
707
- if (skipUntilAfter.length + skipUntil.length > 0) {
708
- let token = _scanner.getToken();
709
- while (token !== 17 /* SyntaxKind.EOF */) {
710
- if (skipUntilAfter.indexOf(token) !== -1) {
711
- scanNext();
712
- break;
713
- }
714
- else if (skipUntil.indexOf(token) !== -1) {
715
- break;
716
- }
717
- token = scanNext();
718
- }
719
- }
720
- }
721
- function parseString(isValue) {
722
- const value = _scanner.getTokenValue();
723
- if (isValue) {
724
- onLiteralValue(value);
725
- }
726
- else {
727
- onObjectProperty(value);
728
- }
729
- scanNext();
730
- return true;
731
- }
732
- function parseLiteral() {
733
- switch (_scanner.getToken()) {
734
- case 11 /* SyntaxKind.NumericLiteral */: {
735
- let value = 0;
736
- try {
737
- value = JSON.parse(_scanner.getTokenValue());
738
- if (typeof value !== 'number') {
739
- handleError(2 /* ParseErrorCode.InvalidNumberFormat */);
740
- value = 0;
741
- }
742
- }
743
- catch (e) {
744
- handleError(2 /* ParseErrorCode.InvalidNumberFormat */);
745
- }
746
- onLiteralValue(value);
747
- break;
748
- }
749
- case 7 /* SyntaxKind.NullKeyword */:
750
- onLiteralValue(null);
751
- break;
752
- case 8 /* SyntaxKind.TrueKeyword */:
753
- onLiteralValue(true);
754
- break;
755
- case 9 /* SyntaxKind.FalseKeyword */:
756
- onLiteralValue(false);
757
- break;
758
- default:
759
- return false;
760
- }
761
- scanNext();
762
- return true;
763
- }
764
- function parseProperty() {
765
- if (_scanner.getToken() !== 10 /* SyntaxKind.StringLiteral */) {
766
- handleError(3 /* ParseErrorCode.PropertyNameExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);
767
- return false;
768
- }
769
- parseString(false);
770
- if (_scanner.getToken() === 6 /* SyntaxKind.ColonToken */) {
771
- onSeparator(':');
772
- scanNext(); // consume colon
773
- if (!parseValue()) {
774
- handleError(4 /* ParseErrorCode.ValueExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);
775
- }
776
- }
777
- else {
778
- handleError(5 /* ParseErrorCode.ColonExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);
779
- }
780
- return true;
781
- }
782
- function parseObject() {
783
- onObjectBegin();
784
- scanNext(); // consume open brace
785
- let needsComma = false;
786
- while (_scanner.getToken() !== 2 /* SyntaxKind.CloseBraceToken */ && _scanner.getToken() !== 17 /* SyntaxKind.EOF */) {
787
- if (_scanner.getToken() === 5 /* SyntaxKind.CommaToken */) {
788
- if (!needsComma) {
789
- handleError(4 /* ParseErrorCode.ValueExpected */, [], []);
790
- }
791
- onSeparator(',');
792
- scanNext(); // consume comma
793
- if (_scanner.getToken() === 2 /* SyntaxKind.CloseBraceToken */ && allowTrailingComma) {
794
- break;
795
- }
796
- }
797
- else if (needsComma) {
798
- handleError(6 /* ParseErrorCode.CommaExpected */, [], []);
799
- }
800
- if (!parseProperty()) {
801
- handleError(4 /* ParseErrorCode.ValueExpected */, [], [2 /* SyntaxKind.CloseBraceToken */, 5 /* SyntaxKind.CommaToken */]);
802
- }
803
- needsComma = true;
804
- }
805
- onObjectEnd();
806
- if (_scanner.getToken() !== 2 /* SyntaxKind.CloseBraceToken */) {
807
- handleError(7 /* ParseErrorCode.CloseBraceExpected */, [2 /* SyntaxKind.CloseBraceToken */], []);
808
- }
809
- else {
810
- scanNext(); // consume close brace
811
- }
812
- return true;
813
- }
814
- function parseArray() {
815
- onArrayBegin();
816
- scanNext(); // consume open bracket
817
- let needsComma = false;
818
- while (_scanner.getToken() !== 4 /* SyntaxKind.CloseBracketToken */ && _scanner.getToken() !== 17 /* SyntaxKind.EOF */) {
819
- if (_scanner.getToken() === 5 /* SyntaxKind.CommaToken */) {
820
- if (!needsComma) {
821
- handleError(4 /* ParseErrorCode.ValueExpected */, [], []);
822
- }
823
- onSeparator(',');
824
- scanNext(); // consume comma
825
- if (_scanner.getToken() === 4 /* SyntaxKind.CloseBracketToken */ && allowTrailingComma) {
826
- break;
827
- }
828
- }
829
- else if (needsComma) {
830
- handleError(6 /* ParseErrorCode.CommaExpected */, [], []);
831
- }
832
- if (!parseValue()) {
833
- handleError(4 /* ParseErrorCode.ValueExpected */, [], [4 /* SyntaxKind.CloseBracketToken */, 5 /* SyntaxKind.CommaToken */]);
834
- }
835
- needsComma = true;
836
- }
837
- onArrayEnd();
838
- if (_scanner.getToken() !== 4 /* SyntaxKind.CloseBracketToken */) {
839
- handleError(8 /* ParseErrorCode.CloseBracketExpected */, [4 /* SyntaxKind.CloseBracketToken */], []);
840
- }
841
- else {
842
- scanNext(); // consume close bracket
843
- }
844
- return true;
845
- }
846
- function parseValue() {
847
- switch (_scanner.getToken()) {
848
- case 3 /* SyntaxKind.OpenBracketToken */:
849
- return parseArray();
850
- case 1 /* SyntaxKind.OpenBraceToken */:
851
- return parseObject();
852
- case 10 /* SyntaxKind.StringLiteral */:
853
- return parseString(true);
854
- default:
855
- return parseLiteral();
856
- }
857
- }
858
- scanNext();
859
- if (_scanner.getToken() === 17 /* SyntaxKind.EOF */) {
860
- if (options.allowEmptyContent) {
861
- return true;
862
- }
863
- handleError(4 /* ParseErrorCode.ValueExpected */, [], []);
864
- return false;
865
- }
866
- if (!parseValue()) {
867
- handleError(4 /* ParseErrorCode.ValueExpected */, [], []);
868
- return false;
869
- }
870
- if (_scanner.getToken() !== 17 /* SyntaxKind.EOF */) {
871
- handleError(9 /* ParseErrorCode.EndOfFileExpected */, [], []);
872
- }
873
- return true;
874
- }
875
-
876
6
  function read(stream) {
877
7
  const bufs = [];
878
8
  return new Promise((resolve) => {
@@ -937,7 +67,12 @@ function plugin(options = defaultOptions) {
937
67
  }
938
68
  const match = /vsix:(.*):(.*)\.vsjson/.exec(id);
939
69
  if (match != null) {
940
- const parsed = parse(vsixFiles[match[1]][match[2]].toString('utf8'));
70
+ const file = match[2];
71
+ const vsixFile = vsixFiles[match[1]];
72
+ let parsed = parseJson(id, vsixFile[file].toString('utf8'));
73
+ if (file === 'package.json' && 'package.nls.json' in vsixFile) {
74
+ parsed = localizeManifest(parsed, parseJson(id, vsixFile['package.nls.json'].toString()));
75
+ }
941
76
  return {
942
77
  code: dataToEsm(parsed, {
943
78
  compact: true,
@@ -949,13 +84,12 @@ function plugin(options = defaultOptions) {
949
84
  if (!filter(id))
950
85
  return null;
951
86
  const files = await readVsix(id);
952
- const manifest = parse(files['package.json'].toString('utf8'));
87
+ const manifest = parseJson(id, files['package.json'].toString('utf8'));
953
88
  function getVsixPath(file) {
954
89
  return path.relative('/', path.resolve('/', file));
955
90
  }
956
91
  const usedFiles = extractPathsFromExtensionManifest(manifest).filter(file => getVsixPath(file) in files);
957
92
  const allFiles = ['package.json', 'package.nls.json', ...usedFiles];
958
- const nlsExists = files['package.nls.json'] != null;
959
93
  const vsixFile = allFiles.reduce((acc, usedFile) => {
960
94
  return ({
961
95
  ...acc,
@@ -965,10 +99,9 @@ function plugin(options = defaultOptions) {
965
99
  vsixFiles[id] = vsixFile;
966
100
  return `
967
101
  import manifest from 'vsix:${id}:package.json.vsjson'
968
- ${nlsExists ? `import nls from 'vsix:${id}:package.nls.json.vsjson'` : ''}
969
102
  import { registerExtension, onExtHostInitialized } from 'vscode/extensions'
970
103
  onExtHostInitialized(() => {
971
- const { registerFile } = registerExtension(manifest${nlsExists ? ', nls' : ''})
104
+ const { registerFile } = registerExtension(manifest)
972
105
  ${usedFiles.map((filePath) => (`
973
106
  registerFile('${filePath}', async () => (await import('vsix:${id}:${filePath}.raw')).default)`))}
974
107
  })