@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.
Files changed (2) hide show
  1. package/index.js +209 -103
  2. 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/banner/cmdline_utils.js
8
+ // dist/server/src/cmdline_utils.js
9
9
  var require_cmdline_utils = __commonJS({
10
- "dist/banner/cmdline_utils.js"(exports2) {
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.defineProperty(o, k2, { enumerable: true, get: function() {
80
- return m[k];
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/banner/version_provider.js
174
+ // dist/server/src/version_provider.js
170
175
  var require_version_provider = __commonJS({
171
- "dist/banner/version_provider.js"(exports2) {
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.defineProperty(o, k2, { enumerable: true, get: function() {
177
- return m[k];
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/banner/banner.js
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.defineProperty(o, k2, { enumerable: true, get: function() {
393
- return m[k];
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.defineProperty(o, k2, { enumerable: true, get: function() {
521
- return m[k];
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.defineProperty(o, k2, { enumerable: true, get: function() {
3014
- return m[k];
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.defineProperty(o, k2, { enumerable: true, get: function() {
3057
- return m[k];
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.defineProperty(o, k2, { enumerable: true, get: function() {
3211
- return m[k];
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.defineProperty(o, k2, { enumerable: true, get: function() {
3339
- return m[k];
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.defineProperty(o, k2, { enumerable: true, get: function() {
3400
- return m[k];
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.defineProperty(o, k2, { enumerable: true, get: function() {
3497
- return m[k];
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.lastIndexOf("node_modules");
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.defineProperty(o, k2, { enumerable: true, get: function() {
3676
- return m[k];
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.0.0",
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.0.0",
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
+ }