@effect/language-service 0.53.0 → 0.53.2

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.
@@ -1176,6 +1176,7 @@ var defaults = {
1176
1176
  diagnosticSeverity: {},
1177
1177
  diagnosticsName: true,
1178
1178
  missingDiagnosticNextLine: "warning",
1179
+ reportSuggestionsAsWarningsInTsc: false,
1179
1180
  quickinfo: true,
1180
1181
  quickinfoEffectParameters: "whentruncated",
1181
1182
  quickinfoMaximumLength: -1,
@@ -1221,6 +1222,7 @@ function parse(config) {
1221
1222
  diagnosticSeverity: isObject(config) && hasProperty(config, "diagnosticSeverity") && isRecord(config.diagnosticSeverity) ? parseDiagnosticSeverity(config.diagnosticSeverity) : defaults.diagnosticSeverity,
1222
1223
  diagnosticsName: isObject(config) && hasProperty(config, "diagnosticsName") && isBoolean(config.diagnosticsName) ? config.diagnosticsName : defaults.diagnosticsName,
1223
1224
  missingDiagnosticNextLine: isObject(config) && hasProperty(config, "missingDiagnosticNextLine") && isString(config.missingDiagnosticNextLine) && isValidSeverityLevel(config.missingDiagnosticNextLine) ? config.missingDiagnosticNextLine : defaults.missingDiagnosticNextLine,
1225
+ reportSuggestionsAsWarningsInTsc: isObject(config) && hasProperty(config, "reportSuggestionsAsWarningsInTsc") && isBoolean(config.reportSuggestionsAsWarningsInTsc) ? config.reportSuggestionsAsWarningsInTsc : defaults.reportSuggestionsAsWarningsInTsc,
1224
1226
  quickinfo: isObject(config) && hasProperty(config, "quickinfo") && isBoolean(config.quickinfo) ? config.quickinfo : defaults.quickinfo,
1225
1227
  quickinfoEffectParameters: isObject(config) && hasProperty(config, "quickinfoEffectParameters") && isString(config.quickinfoEffectParameters) && ["always", "never", "whentruncated"].includes(config.quickinfoEffectParameters.toLowerCase()) ? config.quickinfoEffectParameters.toLowerCase() : defaults.quickinfoEffectParameters,
1226
1228
  quickinfoMaximumLength: isObject(config) && hasProperty(config, "quickinfoMaximumLength") && isNumber(config.quickinfoMaximumLength) ? config.quickinfoMaximumLength : defaults.quickinfoMaximumLength,
@@ -6102,6 +6104,7 @@ function appendMetadataRelationError(tsInstance, errorNode, source, target) {
6102
6104
  function checkSourceFileWorker(tsInstance, program, sourceFile, compilerOptions, addDiagnostic) {
6103
6105
  const pluginOptions = extractEffectLspOptions(compilerOptions);
6104
6106
  if (!pluginOptions) return;
6107
+ const parsedOptions = parse(pluginOptions);
6105
6108
  pipe(
6106
6109
  getSemanticDiagnosticsWithCodeFixes(diagnostics, sourceFile),
6107
6110
  nanoLayer3,
@@ -6112,15 +6115,27 @@ function checkSourceFileWorker(tsInstance, program, sourceFile, compilerOptions,
6112
6115
  provideService(TypeScriptApi, tsInstance),
6113
6116
  provideService(
6114
6117
  LanguageServicePluginOptions,
6115
- parse(pluginOptions)
6118
+ parsedOptions
6116
6119
  ),
6117
6120
  unsafeRun,
6118
6121
  map((_) => _.diagnostics),
6119
6122
  map(
6120
6123
  filter(
6121
- (_) => _.category === tsInstance.DiagnosticCategory.Error || _.category === tsInstance.DiagnosticCategory.Warning
6124
+ (_) => _.category === tsInstance.DiagnosticCategory.Error || _.category === tsInstance.DiagnosticCategory.Warning || parsedOptions.reportSuggestionsAsWarningsInTsc && (_.category === tsInstance.DiagnosticCategory.Suggestion || _.category === tsInstance.DiagnosticCategory.Message)
6122
6125
  )
6123
6126
  ),
6127
+ map(
6128
+ map3((_) => {
6129
+ if (parsedOptions.reportSuggestionsAsWarningsInTsc && (_.category === tsInstance.DiagnosticCategory.Suggestion || _.category === tsInstance.DiagnosticCategory.Message)) {
6130
+ return {
6131
+ ..._,
6132
+ category: tsInstance.DiagnosticCategory.Warning,
6133
+ messageText: typeof _.messageText === "string" ? `[suggestion] ${_.messageText}` : _.messageText
6134
+ };
6135
+ }
6136
+ return _;
6137
+ })
6138
+ ),
6124
6139
  getOrElse((e) => {
6125
6140
  console.error(e);
6126
6141
  return [];