@angular/language-server 14.0.0 → 14.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +209 -103
- package/package.json +3 -3
package/index.js
CHANGED
|
@@ -5,9 +5,9 @@ var __commonJS = (cb, mod) => function __require() {
|
|
|
5
5
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
6
6
|
};
|
|
7
7
|
|
|
8
|
-
// dist/
|
|
8
|
+
// dist/server/src/cmdline_utils.js
|
|
9
9
|
var require_cmdline_utils = __commonJS({
|
|
10
|
-
"dist/
|
|
10
|
+
"dist/server/src/cmdline_utils.js"(exports2) {
|
|
11
11
|
"use strict";
|
|
12
12
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
13
13
|
exports2.generateHelpMessage = exports2.parseCommandLine = void 0;
|
|
@@ -40,7 +40,8 @@ var require_cmdline_utils = __commonJS({
|
|
|
40
40
|
tsProbeLocations: parseStringArray(argv, "--tsProbeLocations"),
|
|
41
41
|
includeAutomaticOptionalChainCompletions: hasArgument(argv, "--includeAutomaticOptionalChainCompletions"),
|
|
42
42
|
includeCompletionsWithSnippetText: hasArgument(argv, "--includeCompletionsWithSnippetText"),
|
|
43
|
-
forceStrictTemplates: hasArgument(argv, "--forceStrictTemplates")
|
|
43
|
+
forceStrictTemplates: hasArgument(argv, "--forceStrictTemplates"),
|
|
44
|
+
untrustedWorkspace: hasArgument(argv, "--untrustedWorkspace")
|
|
44
45
|
};
|
|
45
46
|
}
|
|
46
47
|
exports2.parseCommandLine = parseCommandLine;
|
|
@@ -76,9 +77,13 @@ var require_resolver = __commonJS({
|
|
|
76
77
|
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
77
78
|
if (k2 === void 0)
|
|
78
79
|
k2 = k;
|
|
79
|
-
Object.
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
81
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
82
|
+
desc = { enumerable: true, get: function() {
|
|
83
|
+
return m[k];
|
|
84
|
+
} };
|
|
85
|
+
}
|
|
86
|
+
Object.defineProperty(o, k2, desc);
|
|
82
87
|
} : function(o, m, k, k2) {
|
|
83
88
|
if (k2 === void 0)
|
|
84
89
|
k2 = k;
|
|
@@ -166,16 +171,20 @@ var require_resolver = __commonJS({
|
|
|
166
171
|
}
|
|
167
172
|
});
|
|
168
173
|
|
|
169
|
-
// dist/
|
|
174
|
+
// dist/server/src/version_provider.js
|
|
170
175
|
var require_version_provider = __commonJS({
|
|
171
|
-
"dist/
|
|
176
|
+
"dist/server/src/version_provider.js"(exports2) {
|
|
172
177
|
"use strict";
|
|
173
178
|
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
174
179
|
if (k2 === void 0)
|
|
175
180
|
k2 = k;
|
|
176
|
-
Object.
|
|
177
|
-
|
|
178
|
-
|
|
181
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
182
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
183
|
+
desc = { enumerable: true, get: function() {
|
|
184
|
+
return m[k];
|
|
185
|
+
} };
|
|
186
|
+
}
|
|
187
|
+
Object.defineProperty(o, k2, desc);
|
|
179
188
|
} : function(o, m, k, k2) {
|
|
180
189
|
if (k2 === void 0)
|
|
181
190
|
k2 = k;
|
|
@@ -285,7 +294,7 @@ var require_version_provider = __commonJS({
|
|
|
285
294
|
}
|
|
286
295
|
});
|
|
287
296
|
|
|
288
|
-
// dist/
|
|
297
|
+
// dist/server/src/banner.js
|
|
289
298
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
290
299
|
exports.requireOverride = void 0;
|
|
291
300
|
var cmdline_utils_1 = require_cmdline_utils();
|
|
@@ -318,9 +327,9 @@ var __commonJS = (cb, mod) => function __require() {
|
|
|
318
327
|
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
319
328
|
};
|
|
320
329
|
|
|
321
|
-
// dist/server/cmdline_utils.js
|
|
330
|
+
// dist/server/src/cmdline_utils.js
|
|
322
331
|
var require_cmdline_utils = __commonJS({
|
|
323
|
-
"dist/server/cmdline_utils.js"(exports2) {
|
|
332
|
+
"dist/server/src/cmdline_utils.js"(exports2) {
|
|
324
333
|
"use strict";
|
|
325
334
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
326
335
|
exports2.generateHelpMessage = exports2.parseCommandLine = void 0;
|
|
@@ -353,7 +362,8 @@ var require_cmdline_utils = __commonJS({
|
|
|
353
362
|
tsProbeLocations: parseStringArray(argv, "--tsProbeLocations"),
|
|
354
363
|
includeAutomaticOptionalChainCompletions: hasArgument(argv, "--includeAutomaticOptionalChainCompletions"),
|
|
355
364
|
includeCompletionsWithSnippetText: hasArgument(argv, "--includeCompletionsWithSnippetText"),
|
|
356
|
-
forceStrictTemplates: hasArgument(argv, "--forceStrictTemplates")
|
|
365
|
+
forceStrictTemplates: hasArgument(argv, "--forceStrictTemplates"),
|
|
366
|
+
untrustedWorkspace: hasArgument(argv, "--untrustedWorkspace")
|
|
357
367
|
};
|
|
358
368
|
}
|
|
359
369
|
exports2.parseCommandLine = parseCommandLine;
|
|
@@ -382,16 +392,20 @@ var require_cmdline_utils = __commonJS({
|
|
|
382
392
|
}
|
|
383
393
|
});
|
|
384
394
|
|
|
385
|
-
// dist/server/logger.js
|
|
395
|
+
// dist/server/src/logger.js
|
|
386
396
|
var require_logger = __commonJS({
|
|
387
|
-
"dist/server/logger.js"(exports2) {
|
|
397
|
+
"dist/server/src/logger.js"(exports2) {
|
|
388
398
|
"use strict";
|
|
389
399
|
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
390
400
|
if (k2 === void 0)
|
|
391
401
|
k2 = k;
|
|
392
|
-
Object.
|
|
393
|
-
|
|
394
|
-
|
|
402
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
403
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
404
|
+
desc = { enumerable: true, get: function() {
|
|
405
|
+
return m[k];
|
|
406
|
+
} };
|
|
407
|
+
}
|
|
408
|
+
Object.defineProperty(o, k2, desc);
|
|
395
409
|
} : function(o, m, k, k2) {
|
|
396
410
|
if (k2 === void 0)
|
|
397
411
|
k2 = k;
|
|
@@ -510,16 +524,20 @@ var require_logger = __commonJS({
|
|
|
510
524
|
}
|
|
511
525
|
});
|
|
512
526
|
|
|
513
|
-
// dist/server/server_host.js
|
|
527
|
+
// dist/server/src/server_host.js
|
|
514
528
|
var require_server_host = __commonJS({
|
|
515
|
-
"dist/server/server_host.js"(exports2) {
|
|
529
|
+
"dist/server/src/server_host.js"(exports2) {
|
|
516
530
|
"use strict";
|
|
517
531
|
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
518
532
|
if (k2 === void 0)
|
|
519
533
|
k2 = k;
|
|
520
|
-
Object.
|
|
521
|
-
|
|
522
|
-
|
|
534
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
535
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
536
|
+
desc = { enumerable: true, get: function() {
|
|
537
|
+
return m[k];
|
|
538
|
+
} };
|
|
539
|
+
}
|
|
540
|
+
Object.defineProperty(o, k2, desc);
|
|
523
541
|
} : function(o, m, k, k2) {
|
|
524
542
|
if (k2 === void 0)
|
|
525
543
|
k2 = k;
|
|
@@ -3010,9 +3028,13 @@ var require_requests = __commonJS({
|
|
|
3010
3028
|
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
3011
3029
|
if (k2 === void 0)
|
|
3012
3030
|
k2 = k;
|
|
3013
|
-
Object.
|
|
3014
|
-
|
|
3015
|
-
|
|
3031
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
3032
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
3033
|
+
desc = { enumerable: true, get: function() {
|
|
3034
|
+
return m[k];
|
|
3035
|
+
} };
|
|
3036
|
+
}
|
|
3037
|
+
Object.defineProperty(o, k2, desc);
|
|
3016
3038
|
} : function(o, m, k, k2) {
|
|
3017
3039
|
if (k2 === void 0)
|
|
3018
3040
|
k2 = k;
|
|
@@ -3046,16 +3068,20 @@ var require_requests = __commonJS({
|
|
|
3046
3068
|
}
|
|
3047
3069
|
});
|
|
3048
3070
|
|
|
3049
|
-
// dist/server/utils.js
|
|
3071
|
+
// dist/server/src/utils.js
|
|
3050
3072
|
var require_utils = __commonJS({
|
|
3051
|
-
"dist/server/utils.js"(exports2) {
|
|
3073
|
+
"dist/server/src/utils.js"(exports2) {
|
|
3052
3074
|
"use strict";
|
|
3053
3075
|
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
3054
3076
|
if (k2 === void 0)
|
|
3055
3077
|
k2 = k;
|
|
3056
|
-
Object.
|
|
3057
|
-
|
|
3058
|
-
|
|
3078
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
3079
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
3080
|
+
desc = { enumerable: true, get: function() {
|
|
3081
|
+
return m[k];
|
|
3082
|
+
} };
|
|
3083
|
+
}
|
|
3084
|
+
Object.defineProperty(o, k2, desc);
|
|
3059
3085
|
} : function(o, m, k, k2) {
|
|
3060
3086
|
if (k2 === void 0)
|
|
3061
3087
|
k2 = k;
|
|
@@ -3079,7 +3105,7 @@ var require_utils = __commonJS({
|
|
|
3079
3105
|
return result;
|
|
3080
3106
|
};
|
|
3081
3107
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
3082
|
-
exports2.getMappedDefinitionInfo = exports2.tsDisplayPartsToText = exports2.MruTracker = exports2.isConfiguredProject = exports2.tsRelatedInformationToLspRelatedInformation = exports2.lspRangeToTsPositions = exports2.lspPositionToTsPosition = exports2.tsTextSpanToLspRange = exports2.filePathToUri = exports2.uriToFilePath = exports2.isDebugMode = void 0;
|
|
3108
|
+
exports2.getMappedDefinitionInfo = exports2.tsDisplayPartsToText = exports2.MruTracker = exports2.isConfiguredProject = exports2.tsRelatedInformationToLspRelatedInformation = exports2.lspRangeToTsPositions = exports2.lspPositionToTsPosition = exports2.tsTextSpanToLspRange = exports2.tsFileTextChangesToLspWorkspaceEdit = exports2.filePathToUri = exports2.uriToFilePath = exports2.isDebugMode = void 0;
|
|
3083
3109
|
var ts = __importStar(require("typescript/lib/tsserverlibrary"));
|
|
3084
3110
|
var lsp = __importStar(require("vscode-languageserver"));
|
|
3085
3111
|
var vscode_uri_1 = require("vscode-uri");
|
|
@@ -3100,6 +3126,30 @@ var require_utils = __commonJS({
|
|
|
3100
3126
|
return vscode_uri_1.URI.file(filePath).toString();
|
|
3101
3127
|
}
|
|
3102
3128
|
exports2.filePathToUri = filePathToUri;
|
|
3129
|
+
function tsFileTextChangesToLspWorkspaceEdit(changes, getScriptInfo) {
|
|
3130
|
+
const workspaceChanges = {};
|
|
3131
|
+
for (const change of changes) {
|
|
3132
|
+
const scriptInfo = getScriptInfo(change.fileName);
|
|
3133
|
+
const uri = filePathToUri(change.fileName);
|
|
3134
|
+
if (scriptInfo === void 0) {
|
|
3135
|
+
continue;
|
|
3136
|
+
}
|
|
3137
|
+
if (!workspaceChanges[uri]) {
|
|
3138
|
+
workspaceChanges[uri] = [];
|
|
3139
|
+
}
|
|
3140
|
+
for (const textChange of change.textChanges) {
|
|
3141
|
+
const textEdit = {
|
|
3142
|
+
newText: textChange.newText,
|
|
3143
|
+
range: tsTextSpanToLspRange(scriptInfo, textChange.span)
|
|
3144
|
+
};
|
|
3145
|
+
workspaceChanges[uri].push(textEdit);
|
|
3146
|
+
}
|
|
3147
|
+
}
|
|
3148
|
+
return {
|
|
3149
|
+
changes: workspaceChanges
|
|
3150
|
+
};
|
|
3151
|
+
}
|
|
3152
|
+
exports2.tsFileTextChangesToLspWorkspaceEdit = tsFileTextChangesToLspWorkspaceEdit;
|
|
3103
3153
|
function tsTextSpanToLspRange(scriptInfo, textSpan) {
|
|
3104
3154
|
const start = scriptInfo.positionToLineOffset(textSpan.start);
|
|
3105
3155
|
const end = scriptInfo.positionToLineOffset(textSpan.start + textSpan.length);
|
|
@@ -3200,16 +3250,20 @@ var require_utils = __commonJS({
|
|
|
3200
3250
|
}
|
|
3201
3251
|
});
|
|
3202
3252
|
|
|
3203
|
-
// dist/server/completion.js
|
|
3253
|
+
// dist/server/src/completion.js
|
|
3204
3254
|
var require_completion = __commonJS({
|
|
3205
|
-
"dist/server/completion.js"(exports2) {
|
|
3255
|
+
"dist/server/src/completion.js"(exports2) {
|
|
3206
3256
|
"use strict";
|
|
3207
3257
|
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
3208
3258
|
if (k2 === void 0)
|
|
3209
3259
|
k2 = k;
|
|
3210
|
-
Object.
|
|
3211
|
-
|
|
3212
|
-
|
|
3260
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
3261
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
3262
|
+
desc = { enumerable: true, get: function() {
|
|
3263
|
+
return m[k];
|
|
3264
|
+
} };
|
|
3265
|
+
}
|
|
3266
|
+
Object.defineProperty(o, k2, desc);
|
|
3213
3267
|
} : function(o, m, k, k2) {
|
|
3214
3268
|
if (k2 === void 0)
|
|
3215
3269
|
k2 = k;
|
|
@@ -3328,16 +3382,20 @@ var require_completion = __commonJS({
|
|
|
3328
3382
|
}
|
|
3329
3383
|
});
|
|
3330
3384
|
|
|
3331
|
-
// dist/server/diagnostic.js
|
|
3385
|
+
// dist/server/src/diagnostic.js
|
|
3332
3386
|
var require_diagnostic = __commonJS({
|
|
3333
|
-
"dist/server/diagnostic.js"(exports2) {
|
|
3387
|
+
"dist/server/src/diagnostic.js"(exports2) {
|
|
3334
3388
|
"use strict";
|
|
3335
3389
|
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
3336
3390
|
if (k2 === void 0)
|
|
3337
3391
|
k2 = k;
|
|
3338
|
-
Object.
|
|
3339
|
-
|
|
3340
|
-
|
|
3392
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
3393
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
3394
|
+
desc = { enumerable: true, get: function() {
|
|
3395
|
+
return m[k];
|
|
3396
|
+
} };
|
|
3397
|
+
}
|
|
3398
|
+
Object.defineProperty(o, k2, desc);
|
|
3341
3399
|
} : function(o, m, k, k2) {
|
|
3342
3400
|
if (k2 === void 0)
|
|
3343
3401
|
k2 = k;
|
|
@@ -3396,9 +3454,13 @@ var require_resolver = __commonJS({
|
|
|
3396
3454
|
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
3397
3455
|
if (k2 === void 0)
|
|
3398
3456
|
k2 = k;
|
|
3399
|
-
Object.
|
|
3400
|
-
|
|
3401
|
-
|
|
3457
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
3458
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
3459
|
+
desc = { enumerable: true, get: function() {
|
|
3460
|
+
return m[k];
|
|
3461
|
+
} };
|
|
3462
|
+
}
|
|
3463
|
+
Object.defineProperty(o, k2, desc);
|
|
3402
3464
|
} : function(o, m, k, k2) {
|
|
3403
3465
|
if (k2 === void 0)
|
|
3404
3466
|
k2 = k;
|
|
@@ -3486,16 +3548,20 @@ var require_resolver = __commonJS({
|
|
|
3486
3548
|
}
|
|
3487
3549
|
});
|
|
3488
3550
|
|
|
3489
|
-
// dist/server/version_provider.js
|
|
3551
|
+
// dist/server/src/version_provider.js
|
|
3490
3552
|
var require_version_provider = __commonJS({
|
|
3491
|
-
"dist/server/version_provider.js"(exports2) {
|
|
3553
|
+
"dist/server/src/version_provider.js"(exports2) {
|
|
3492
3554
|
"use strict";
|
|
3493
3555
|
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
3494
3556
|
if (k2 === void 0)
|
|
3495
3557
|
k2 = k;
|
|
3496
|
-
Object.
|
|
3497
|
-
|
|
3498
|
-
|
|
3558
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
3559
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
3560
|
+
desc = { enumerable: true, get: function() {
|
|
3561
|
+
return m[k];
|
|
3562
|
+
} };
|
|
3563
|
+
}
|
|
3564
|
+
Object.defineProperty(o, k2, desc);
|
|
3499
3565
|
} : function(o, m, k, k2) {
|
|
3500
3566
|
if (k2 === void 0)
|
|
3501
3567
|
k2 = k;
|
|
@@ -3605,9 +3671,9 @@ var require_version_provider = __commonJS({
|
|
|
3605
3671
|
}
|
|
3606
3672
|
});
|
|
3607
3673
|
|
|
3608
|
-
// dist/server/ngcc.js
|
|
3674
|
+
// dist/server/src/ngcc.js
|
|
3609
3675
|
var require_ngcc = __commonJS({
|
|
3610
|
-
"dist/server/ngcc.js"(exports2) {
|
|
3676
|
+
"dist/server/src/ngcc.js"(exports2) {
|
|
3611
3677
|
"use strict";
|
|
3612
3678
|
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
3613
3679
|
exports2.resolveAndRunNgcc = void 0;
|
|
@@ -3622,7 +3688,7 @@ var require_ngcc = __commonJS({
|
|
|
3622
3688
|
if (!ngcc) {
|
|
3623
3689
|
throw new Error(`Failed to resolve ngcc from ${directory}`);
|
|
3624
3690
|
}
|
|
3625
|
-
const index = ngcc.resolvedPath.
|
|
3691
|
+
const index = ngcc.resolvedPath.indexOf("node_modules");
|
|
3626
3692
|
const cwd = index > 0 ? ngcc.resolvedPath.slice(0, index) : process.cwd();
|
|
3627
3693
|
const args = [
|
|
3628
3694
|
"--tsconfig",
|
|
@@ -3665,16 +3731,20 @@ var require_ngcc = __commonJS({
|
|
|
3665
3731
|
}
|
|
3666
3732
|
});
|
|
3667
3733
|
|
|
3668
|
-
// dist/server/session.js
|
|
3734
|
+
// dist/server/src/session.js
|
|
3669
3735
|
var require_session = __commonJS({
|
|
3670
|
-
"dist/server/session.js"(exports2) {
|
|
3736
|
+
"dist/server/src/session.js"(exports2) {
|
|
3671
3737
|
"use strict";
|
|
3672
3738
|
var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) {
|
|
3673
3739
|
if (k2 === void 0)
|
|
3674
3740
|
k2 = k;
|
|
3675
|
-
Object.
|
|
3676
|
-
|
|
3677
|
-
|
|
3741
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
3742
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
3743
|
+
desc = { enumerable: true, get: function() {
|
|
3744
|
+
return m[k];
|
|
3745
|
+
} };
|
|
3746
|
+
}
|
|
3747
|
+
Object.defineProperty(o, k2, desc);
|
|
3678
3748
|
} : function(o, m, k, k2) {
|
|
3679
3749
|
if (k2 === void 0)
|
|
3680
3750
|
k2 = k;
|
|
@@ -3720,9 +3790,10 @@ var require_session = __commonJS({
|
|
|
3720
3790
|
(function(NgccErrorMessageAction2) {
|
|
3721
3791
|
NgccErrorMessageAction2[NgccErrorMessageAction2["showOutput"] = 0] = "showOutput";
|
|
3722
3792
|
})(NgccErrorMessageAction || (NgccErrorMessageAction = {}));
|
|
3793
|
+
var defaultFormatOptions = {};
|
|
3794
|
+
var defaultPreferences = {};
|
|
3723
3795
|
var Session = class {
|
|
3724
3796
|
constructor(options) {
|
|
3725
|
-
this.configuredProjToExternalProj = /* @__PURE__ */ new Map();
|
|
3726
3797
|
this.openFiles = new utils_1.MruTracker();
|
|
3727
3798
|
this.projectNgccQueue = [];
|
|
3728
3799
|
this.diagnosticsTimeout = null;
|
|
@@ -3735,6 +3806,7 @@ var require_session = __commonJS({
|
|
|
3735
3806
|
this.ivy = options.ivy;
|
|
3736
3807
|
this.disableAutomaticNgcc = options.disableAutomaticNgcc;
|
|
3737
3808
|
this.logToConsole = options.logToConsole;
|
|
3809
|
+
this.untrustedWorkspace = options.untrustedWorkspace;
|
|
3738
3810
|
this.connection = lsp.createConnection({
|
|
3739
3811
|
cancelUndispatched(message) {
|
|
3740
3812
|
return {
|
|
@@ -3817,6 +3889,49 @@ var require_session = __commonJS({
|
|
|
3817
3889
|
conn.onCodeLens((p) => this.onCodeLens(p));
|
|
3818
3890
|
conn.onCodeLensResolve((p) => this.onCodeLensResolve(p));
|
|
3819
3891
|
conn.onSignatureHelp((p) => this.onSignatureHelp(p));
|
|
3892
|
+
conn.onCodeAction((p) => this.onCodeAction(p));
|
|
3893
|
+
conn.onCodeActionResolve((p) => this.onCodeActionResolve(p));
|
|
3894
|
+
}
|
|
3895
|
+
onCodeAction(params) {
|
|
3896
|
+
const filePath = (0, utils_1.uriToFilePath)(params.textDocument.uri);
|
|
3897
|
+
const lsInfo = this.getLSAndScriptInfo(params.textDocument);
|
|
3898
|
+
if (!lsInfo) {
|
|
3899
|
+
return null;
|
|
3900
|
+
}
|
|
3901
|
+
const start = (0, utils_1.lspPositionToTsPosition)(lsInfo.scriptInfo, params.range.start);
|
|
3902
|
+
const end = (0, utils_1.lspPositionToTsPosition)(lsInfo.scriptInfo, params.range.end);
|
|
3903
|
+
const errorCodes = params.context.diagnostics.map((diag) => diag.code).filter((code) => typeof code === "number");
|
|
3904
|
+
const codeActions = lsInfo.languageService.getCodeFixesAtPosition(filePath, start, end, errorCodes, defaultFormatOptions, defaultPreferences);
|
|
3905
|
+
const individualCodeFixes = codeActions.map((codeAction) => {
|
|
3906
|
+
return {
|
|
3907
|
+
title: codeAction.description,
|
|
3908
|
+
kind: lsp.CodeActionKind.QuickFix,
|
|
3909
|
+
diagnostics: params.context.diagnostics,
|
|
3910
|
+
edit: (0, utils_1.tsFileTextChangesToLspWorkspaceEdit)(codeAction.changes, (path) => this.projectService.getScriptInfo(path))
|
|
3911
|
+
};
|
|
3912
|
+
});
|
|
3913
|
+
const codeFixesAll = getCodeFixesAll(codeActions, params.textDocument);
|
|
3914
|
+
return [...individualCodeFixes, ...codeFixesAll];
|
|
3915
|
+
}
|
|
3916
|
+
onCodeActionResolve(param) {
|
|
3917
|
+
const codeActionResolve = param.data;
|
|
3918
|
+
const isCodeFixesAll = codeActionResolve.fixId !== void 0;
|
|
3919
|
+
if (!isCodeFixesAll) {
|
|
3920
|
+
return param;
|
|
3921
|
+
}
|
|
3922
|
+
const filePath = (0, utils_1.uriToFilePath)(codeActionResolve.document.uri);
|
|
3923
|
+
const lsInfo = this.getLSAndScriptInfo(codeActionResolve.document);
|
|
3924
|
+
if (!lsInfo) {
|
|
3925
|
+
return param;
|
|
3926
|
+
}
|
|
3927
|
+
const fixesAllChanges = lsInfo.languageService.getCombinedCodeFix({
|
|
3928
|
+
type: "file",
|
|
3929
|
+
fileName: filePath
|
|
3930
|
+
}, codeActionResolve.fixId, defaultFormatOptions, defaultPreferences);
|
|
3931
|
+
return {
|
|
3932
|
+
title: param.title,
|
|
3933
|
+
edit: (0, utils_1.tsFileTextChangesToLspWorkspaceEdit)(fixesAllChanges.changes, (path) => this.projectService.getScriptInfo(path))
|
|
3934
|
+
};
|
|
3820
3935
|
}
|
|
3821
3936
|
isInAngularProject(params) {
|
|
3822
3937
|
const filePath = (0, utils_1.uriToFilePath)(params.textDocument.uri);
|
|
@@ -4122,7 +4237,6 @@ var require_session = __commonJS({
|
|
|
4122
4237
|
scriptInfo.detachAllProjects();
|
|
4123
4238
|
scriptInfo.attachToProject(project);
|
|
4124
4239
|
}
|
|
4125
|
-
this.createExternalProject(project);
|
|
4126
4240
|
return project;
|
|
4127
4241
|
}
|
|
4128
4242
|
onInitialize(params) {
|
|
@@ -4153,7 +4267,10 @@ var require_session = __commonJS({
|
|
|
4153
4267
|
} : void 0,
|
|
4154
4268
|
workspace: {
|
|
4155
4269
|
workspaceFolders: { supported: true }
|
|
4156
|
-
}
|
|
4270
|
+
},
|
|
4271
|
+
codeActionProvider: this.ivy ? {
|
|
4272
|
+
resolveProvider: true
|
|
4273
|
+
} : void 0
|
|
4157
4274
|
},
|
|
4158
4275
|
serverOptions
|
|
4159
4276
|
};
|
|
@@ -4191,18 +4308,6 @@ var require_session = __commonJS({
|
|
|
4191
4308
|
}
|
|
4192
4309
|
throw error;
|
|
4193
4310
|
}
|
|
4194
|
-
this.closeOrphanedExternalProjects();
|
|
4195
|
-
}
|
|
4196
|
-
createExternalProject(project) {
|
|
4197
|
-
if ((0, utils_1.isConfiguredProject)(project) && !this.configuredProjToExternalProj.has(project.projectName)) {
|
|
4198
|
-
const extProjectName = `${project.projectName}-external`;
|
|
4199
|
-
project.projectService.openExternalProject({
|
|
4200
|
-
projectFileName: extProjectName,
|
|
4201
|
-
rootFiles: [{ fileName: project.getConfigFilePath() }],
|
|
4202
|
-
options: {}
|
|
4203
|
-
});
|
|
4204
|
-
this.configuredProjToExternalProj.set(project.projectName, extProjectName);
|
|
4205
|
-
}
|
|
4206
4311
|
}
|
|
4207
4312
|
onDidCloseTextDocument(params) {
|
|
4208
4313
|
const { textDocument } = params;
|
|
@@ -4213,24 +4318,6 @@ var require_session = __commonJS({
|
|
|
4213
4318
|
this.openFiles.delete(filePath);
|
|
4214
4319
|
this.projectService.closeClientFile(filePath);
|
|
4215
4320
|
}
|
|
4216
|
-
closeOrphanedExternalProjects() {
|
|
4217
|
-
for (const [configuredProjName, externalProjName] of this.configuredProjToExternalProj) {
|
|
4218
|
-
const configuredProj = this.projectService.findProject(configuredProjName);
|
|
4219
|
-
if (!configuredProj || configuredProj.isClosed()) {
|
|
4220
|
-
this.projectService.closeExternalProject(externalProjName);
|
|
4221
|
-
this.configuredProjToExternalProj.delete(configuredProjName);
|
|
4222
|
-
continue;
|
|
4223
|
-
}
|
|
4224
|
-
const openFiles = toArray(this.projectService.openFiles.keys());
|
|
4225
|
-
if (!openFiles.some((file) => {
|
|
4226
|
-
const scriptInfo = this.projectService.getScriptInfo(file);
|
|
4227
|
-
return scriptInfo === null || scriptInfo === void 0 ? void 0 : scriptInfo.isAttached(configuredProj);
|
|
4228
|
-
})) {
|
|
4229
|
-
this.projectService.closeExternalProject(externalProjName);
|
|
4230
|
-
this.configuredProjToExternalProj.delete(configuredProjName);
|
|
4231
|
-
}
|
|
4232
|
-
}
|
|
4233
|
-
}
|
|
4234
4321
|
onDidChangeTextDocument(params) {
|
|
4235
4322
|
const { contentChanges, textDocument } = params;
|
|
4236
4323
|
const filePath = (0, utils_1.uriToFilePath)(textDocument.uri);
|
|
@@ -4543,6 +4630,10 @@ var require_session = __commonJS({
|
|
|
4543
4630
|
return angularCore !== null && angularCore !== void 0 ? angularCore : null;
|
|
4544
4631
|
}
|
|
4545
4632
|
async runNgcc(project) {
|
|
4633
|
+
if (this.untrustedWorkspace) {
|
|
4634
|
+
this.error("Cannot run ngcc in an untrusted workspace.");
|
|
4635
|
+
return;
|
|
4636
|
+
}
|
|
4546
4637
|
if (!(0, utils_1.isConfiguredProject)(project) || this.projectNgccQueue.some((p) => p.project === project)) {
|
|
4547
4638
|
return;
|
|
4548
4639
|
}
|
|
@@ -4585,13 +4676,6 @@ var require_session = __commonJS({
|
|
|
4585
4676
|
}
|
|
4586
4677
|
};
|
|
4587
4678
|
exports2.Session = Session;
|
|
4588
|
-
function toArray(it) {
|
|
4589
|
-
const results = [];
|
|
4590
|
-
for (let itResult = it.next(); !itResult.done; itResult = it.next()) {
|
|
4591
|
-
results.push(itResult.value);
|
|
4592
|
-
}
|
|
4593
|
-
return results;
|
|
4594
|
-
}
|
|
4595
4679
|
function isAngularCore(path) {
|
|
4596
4680
|
return isExternalAngularCore(path) || isInternalAngularCore(path);
|
|
4597
4681
|
}
|
|
@@ -4607,10 +4691,31 @@ var require_session = __commonJS({
|
|
|
4607
4691
|
function isExternalTemplate(path) {
|
|
4608
4692
|
return !isTypeScriptFile(path);
|
|
4609
4693
|
}
|
|
4694
|
+
function getCodeFixesAll(codeActions, document) {
|
|
4695
|
+
const seenFixId = /* @__PURE__ */ new Set();
|
|
4696
|
+
const lspCodeActions = [];
|
|
4697
|
+
for (const codeAction of codeActions) {
|
|
4698
|
+
const fixId = codeAction.fixId;
|
|
4699
|
+
if (fixId === void 0 || codeAction.fixAllDescription === void 0 || seenFixId.has(fixId)) {
|
|
4700
|
+
continue;
|
|
4701
|
+
}
|
|
4702
|
+
seenFixId.add(fixId);
|
|
4703
|
+
const codeActionResolveData = {
|
|
4704
|
+
fixId,
|
|
4705
|
+
document
|
|
4706
|
+
};
|
|
4707
|
+
lspCodeActions.push({
|
|
4708
|
+
title: codeAction.fixAllDescription,
|
|
4709
|
+
kind: lsp.CodeActionKind.QuickFix,
|
|
4710
|
+
data: codeActionResolveData
|
|
4711
|
+
});
|
|
4712
|
+
}
|
|
4713
|
+
return lspCodeActions;
|
|
4714
|
+
}
|
|
4610
4715
|
}
|
|
4611
4716
|
});
|
|
4612
4717
|
|
|
4613
|
-
// dist/server/server.js
|
|
4718
|
+
// dist/server/src/server.js
|
|
4614
4719
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4615
4720
|
var cmdline_utils_1 = require_cmdline_utils();
|
|
4616
4721
|
var logger_1 = require_logger();
|
|
@@ -4637,11 +4742,12 @@ function main() {
|
|
|
4637
4742
|
ngPlugin: "@angular/language-service",
|
|
4638
4743
|
resolvedNgLsPath: ng.resolvedPath,
|
|
4639
4744
|
ivy: isG3 ? true : options.ivy,
|
|
4640
|
-
disableAutomaticNgcc: options.disableAutomaticNgcc,
|
|
4745
|
+
disableAutomaticNgcc: options.disableAutomaticNgcc || options.untrustedWorkspace,
|
|
4641
4746
|
logToConsole: options.logToConsole,
|
|
4642
4747
|
includeAutomaticOptionalChainCompletions: options.includeAutomaticOptionalChainCompletions,
|
|
4643
4748
|
includeCompletionsWithSnippetText: options.includeCompletionsWithSnippetText,
|
|
4644
|
-
forceStrictTemplates: isG3 || options.forceStrictTemplates
|
|
4749
|
+
forceStrictTemplates: isG3 || options.forceStrictTemplates,
|
|
4750
|
+
untrustedWorkspace: options.untrustedWorkspace
|
|
4645
4751
|
});
|
|
4646
4752
|
session.info(`Angular language server process ID: ${process.pid}`);
|
|
4647
4753
|
session.info(`Using ${ts.name} v${ts.version} from ${ts.resolvedPath}`);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/language-server",
|
|
3
3
|
"description": "LSP server for Angular Language Service",
|
|
4
|
-
"version": "14.
|
|
4
|
+
"version": "14.2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "https://github.com/angular/vscode-ng-language-service.git"
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"ngserver": "./bin/ngserver"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@angular/language-service": "14.
|
|
18
|
+
"@angular/language-service": "14.2.0",
|
|
19
19
|
"vscode-jsonrpc": "6.0.0",
|
|
20
20
|
"vscode-languageserver": "7.0.0",
|
|
21
21
|
"vscode-uri": "3.0.3"
|
|
@@ -23,4 +23,4 @@
|
|
|
23
23
|
"publishConfig": {
|
|
24
24
|
"registry": "https://wombat-dressing-room.appspot.com"
|
|
25
25
|
}
|
|
26
|
-
}
|
|
26
|
+
}
|