From 609e8df78636c4e02a86bbec315823586f5908b0 Mon Sep 17 00:00:00 2001
From: Jordan Pittman
Date: Tue, 11 Feb 2025 15:02:00 -0500
Subject: [PATCH 1/2] Show warning when loading a config in v3 fails
---
packages/tailwindcss-language-server/src/projects.ts | 11 ++++++++++-
.../tailwindcss-language-server/src/util/error.ts | 10 ++++++++++
packages/vscode-tailwindcss/src/extension.ts | 7 +++++++
3 files changed, 27 insertions(+), 1 deletion(-)
diff --git a/packages/tailwindcss-language-server/src/projects.ts b/packages/tailwindcss-language-server/src/projects.ts
index 5d9e511a..b55ee078 100644
--- a/packages/tailwindcss-language-server/src/projects.ts
+++ b/packages/tailwindcss-language-server/src/projects.ts
@@ -19,7 +19,7 @@ import type {
import { FileChangeType } from 'vscode-languageserver/node'
import type { TextDocument } from 'vscode-languageserver-textdocument'
import { URI } from 'vscode-uri'
-import { showError, SilentError } from './util/error'
+import { showError, showWarning, SilentError } from './util/error'
import * as path from 'node:path'
import * as fs from 'node:fs'
import findUp from 'find-up'
@@ -838,6 +838,15 @@ export async function createProjectService(
originalConfig = await loadConfig.module(state.configPath)
originalConfig = originalConfig.default ?? originalConfig
state.jit = true
+ } catch (err) {
+ // The user's config failed to load in v3 so we need to fallback
+ originalConfig = await resolveConfig.module({})
+ state.jit = true
+
+ // And warn the user
+ console.error(`Unable to load config file at: ${state.configPath}`)
+ console.error(err)
+ showWarning(connection, 'Tailwind CSS is unable to load your config file', err)
} finally {
hook.unhook()
}
diff --git a/packages/tailwindcss-language-server/src/util/error.ts b/packages/tailwindcss-language-server/src/util/error.ts
index 53222fcf..26698b74 100644
--- a/packages/tailwindcss-language-server/src/util/error.ts
+++ b/packages/tailwindcss-language-server/src/util/error.ts
@@ -32,6 +32,16 @@ export function showError(
// }
}
+export function showWarning(
+ connection: Connection,
+ message: string = 'Tailwind CSS',
+ err: any,
+): void {
+ connection.sendNotification('@/tailwindCSS/warn', {
+ message: formatError(message, err, false),
+ })
+}
+
export function SilentError(message: string) {
this.name = 'SilentError'
this.message = message
diff --git a/packages/vscode-tailwindcss/src/extension.ts b/packages/vscode-tailwindcss/src/extension.ts
index 4f9f0d50..c0c7b9e7 100755
--- a/packages/vscode-tailwindcss/src/extension.ts
+++ b/packages/vscode-tailwindcss/src/extension.ts
@@ -532,6 +532,7 @@ export async function activate(context: ExtensionContext) {
let client = new LanguageClient(CLIENT_ID, CLIENT_NAME, serverOptions, clientOptions)
client.onNotification('@/tailwindCSS/error', showError)
+ client.onNotification('@/tailwindCSS/warn', showWarning)
client.onNotification('@/tailwindCSS/clearColors', clearColors)
client.onNotification('@/tailwindCSS/projectInitialized', updateActiveTextEditorContext)
client.onNotification('@/tailwindCSS/projectReset', updateActiveTextEditorContext)
@@ -548,6 +549,12 @@ export async function activate(context: ExtensionContext) {
commands.executeCommand('tailwindCSS.showOutput')
}
+ async function showWarning({ message }: ErrorNotification) {
+ let action = await Window.showWarningMessage(message, 'Go to output')
+ if (action !== 'Go to output') return
+ commands.executeCommand('tailwindCSS.showOutput')
+ }
+
interface DocumentSymbolsRequest {
uri: string
}
From 9f7f345bd7636ae475bc3ea068057ccde3553b42 Mon Sep 17 00:00:00 2001
From: Jordan Pittman
Date: Tue, 11 Feb 2025 15:22:57 -0500
Subject: [PATCH 2/2] Update changelog
---
packages/vscode-tailwindcss/CHANGELOG.md | 1 +
1 file changed, 1 insertion(+)
diff --git a/packages/vscode-tailwindcss/CHANGELOG.md b/packages/vscode-tailwindcss/CHANGELOG.md
index d3b45fd5..13ee93fe 100644
--- a/packages/vscode-tailwindcss/CHANGELOG.md
+++ b/packages/vscode-tailwindcss/CHANGELOG.md
@@ -9,6 +9,7 @@
- Fix parsing of `@custom-variant` shorthand in Tailwind CSS language mode ([#1183](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1183))
- Make sure custom regexes apply in Vue `` blocks ([#1177](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1177))
- Fix suggestion of utilities with slashes in them in v4 ([#1182](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1182))
+- Show warning when loading a config in v3 fails ([#1191](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1191))
## 0.14.3