From b4a45610f8bd8b3f47784a24d3bcf6350d42b72c Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Mon, 17 Mar 2025 11:43:59 -0400 Subject: [PATCH 1/3] Emit logs when we use a fallback file watcher --- packages/tailwindcss-language-server/src/tw.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/tailwindcss-language-server/src/tw.ts b/packages/tailwindcss-language-server/src/tw.ts index a0b7fa01..682aefcd 100644 --- a/packages/tailwindcss-language-server/src/tw.ts +++ b/packages/tailwindcss-language-server/src/tw.ts @@ -521,6 +521,10 @@ export class TW { } } } else if (parcel.getBinding()) { + console.log( + '[Global] Your LSP client does not support watching files on behalf of the server', + ) + console.log('[Global] Using bundled file watcher: @parcel/watcher') let typeMap = { create: FileChangeType.Created, update: FileChangeType.Changed, @@ -547,6 +551,10 @@ export class TW { }, }) } else { + console.log( + '[Global] Your LSP client does not support watching files on behalf of the server', + ) + console.log('[Global] Using bundled file watcher: chokidar') let watch: typeof chokidar.watch = require('chokidar').watch let chokidarWatcher = watch( [`**/${CONFIG_GLOB}`, `**/${PACKAGE_LOCK_GLOB}`, `**/${CSS_GLOB}`, `**/${TSCONFIG_GLOB}`], From dd54b4f5ccb2448248f863109710e429253f6eb4 Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Mon, 17 Mar 2025 11:44:14 -0400 Subject: [PATCH 2/3] Bump `@parcel/watcher` --- .../tailwindcss-language-server/package.json | 10 +- .../src/watcher/index.js | 21 +- pnpm-lock.yaml | 182 ++++++++++++++++-- 3 files changed, 187 insertions(+), 26 deletions(-) diff --git a/packages/tailwindcss-language-server/package.json b/packages/tailwindcss-language-server/package.json index c4dc2984..55c890a4 100644 --- a/packages/tailwindcss-language-server/package.json +++ b/packages/tailwindcss-language-server/package.json @@ -34,7 +34,15 @@ "access": "public" }, "devDependencies": { - "@parcel/watcher": "2.0.3", + "@parcel/watcher": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", "@tailwindcss/aspect-ratio": "0.4.2", "@tailwindcss/container-queries": "0.1.0", "@tailwindcss/forms": "0.5.3", diff --git a/packages/tailwindcss-language-server/src/watcher/index.js b/packages/tailwindcss-language-server/src/watcher/index.js index ecf582e6..46cec8e8 100644 --- a/packages/tailwindcss-language-server/src/watcher/index.js +++ b/packages/tailwindcss-language-server/src/watcher/index.js @@ -13,21 +13,24 @@ const uv = (process.versions.uv || '').split('.')[0] const prebuilds = { 'darwin-arm64': { - 'node.napi.glibc.node': () => - require('@parcel/watcher/prebuilds/darwin-arm64/node.napi.glibc.node'), + 'node.napi.glibc.node': () => require('@parcel/watcher-darwin-arm64/watcher.node'), }, 'darwin-x64': { - 'node.napi.glibc.node': () => - require('@parcel/watcher/prebuilds/darwin-x64/node.napi.glibc.node'), + 'node.napi.glibc.node': () => require('@parcel/watcher-darwin-x64/watcher.node'), }, 'linux-x64': { - 'node.napi.glibc.node': () => - require('@parcel/watcher/prebuilds/linux-x64/node.napi.glibc.node'), - 'node.napi.musl.node': () => require('@parcel/watcher/prebuilds/linux-x64/node.napi.musl.node'), + 'node.napi.glibc.node': () => require('@parcel/watcher-linux-x64-glibc/watcher.node'), + 'node.napi.musl.node': () => require('@parcel/watcher-linux-x64-musl/watcher.node'), + }, + 'linux-arm64': { + 'node.napi.glibc.node': () => require('@parcel/watcher-linux-arm64-glibc/watcher.node'), + 'node.napi.musl.node': () => require('@parcel/watcher-linux-arm64-musl/watcher.node'), }, 'win32-x64': { - 'node.napi.glibc.node': () => - require('@parcel/watcher/prebuilds/win32-x64/node.napi.glibc.node'), + 'node.napi.glibc.node': () => require('@parcel/watcher-win32-x64/watcher.node'), + }, + 'win32-arm64': { + 'node.napi.glibc.node': () => require('@parcel/watcher-win32-arm64/watcher.node'), }, } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c4e0edaf..2255d6ad 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,8 +33,32 @@ importers: packages/tailwindcss-language-server: devDependencies: '@parcel/watcher': - specifier: 2.0.3 - version: 2.0.3 + specifier: 2.5.1 + version: 2.5.1 + '@parcel/watcher-darwin-arm64': + specifier: 2.5.1 + version: 2.5.1 + '@parcel/watcher-darwin-x64': + specifier: 2.5.1 + version: 2.5.1 + '@parcel/watcher-linux-arm64-glibc': + specifier: 2.5.1 + version: 2.5.1 + '@parcel/watcher-linux-arm64-musl': + specifier: 2.5.1 + version: 2.5.1 + '@parcel/watcher-linux-x64-glibc': + specifier: 2.5.1 + version: 2.5.1 + '@parcel/watcher-linux-x64-musl': + specifier: 2.5.1 + version: 2.5.1 + '@parcel/watcher-win32-arm64': + specifier: 2.5.1 + version: 2.5.1 + '@parcel/watcher-win32-x64': + specifier: 2.5.1 + version: 2.5.1 '@tailwindcss/aspect-ratio': specifier: 0.4.2 version: 0.4.2(tailwindcss@3.4.17) @@ -767,8 +791,86 @@ packages: resolution: {integrity: sha512-wBqcGsMELZna0jDblGd7UXgOby45TQaMWmbFwWX+SEotk4HV6zG2t6rT9siyLhPk4P6YYqgfL1UO8nMWDBVJXQ==} engines: {node: ^16.14.0 || >=18.0.0} - '@parcel/watcher@2.0.3': - resolution: {integrity: sha512-PHh5PArr3nYGYVj9z/NSfDmmKEBNrg2bzoFgxzjTRBBxPUKx039x3HF6VGLFIfrghjJxcYn/IeSpdVwfob7KFA==} + '@parcel/watcher-android-arm64@2.5.1': + resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [android] + + '@parcel/watcher-darwin-arm64@2.5.1': + resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [darwin] + + '@parcel/watcher-darwin-x64@2.5.1': + resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [darwin] + + '@parcel/watcher-freebsd-x64@2.5.1': + resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [freebsd] + + '@parcel/watcher-linux-arm-glibc@2.5.1': + resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm-musl@2.5.1': + resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} + engines: {node: '>= 10.0.0'} + cpu: [arm] + os: [linux] + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-arm64-musl@2.5.1': + resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [linux] + + '@parcel/watcher-linux-x64-glibc@2.5.1': + resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-linux-x64-musl@2.5.1': + resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [linux] + + '@parcel/watcher-win32-arm64@2.5.1': + resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} + engines: {node: '>= 10.0.0'} + cpu: [arm64] + os: [win32] + + '@parcel/watcher-win32-ia32@2.5.1': + resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} + engines: {node: '>= 10.0.0'} + cpu: [ia32] + os: [win32] + + '@parcel/watcher-win32-x64@2.5.1': + resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} + engines: {node: '>= 10.0.0'} + cpu: [x64] + os: [win32] + + '@parcel/watcher@2.5.1': + resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} engines: {node: '>= 10.0.0'} '@pkgjs/parseargs@0.11.0': @@ -1372,6 +1474,11 @@ packages: resolution: {integrity: sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==} engines: {node: '>=8'} + detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} @@ -1910,15 +2017,11 @@ packages: resolution: {integrity: sha512-ThjYBfoDNr08AWx6hGaRbfPwxKV9kVzAzOzlLKbk2CuqXE2xnCh+cbAGnwM3t8Lq4v9rUB7VfondlkBckcJrVA==} engines: {node: '>=10'} - node-addon-api@3.2.1: - resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==} - node-addon-api@4.3.0: resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==} - node-gyp-build@4.8.1: - resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} - hasBin: true + node-addon-api@7.1.1: + resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} node-releases@2.0.18: resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} @@ -3027,10 +3130,57 @@ snapshots: dependencies: which: 4.0.0 - '@parcel/watcher@2.0.3': + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': {} + + '@parcel/watcher-darwin-x64@2.5.1': {} + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': {} + + '@parcel/watcher-linux-arm64-musl@2.5.1': {} + + '@parcel/watcher-linux-x64-glibc@2.5.1': {} + + '@parcel/watcher-linux-x64-musl@2.5.1': {} + + '@parcel/watcher-win32-arm64@2.5.1': {} + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': {} + + '@parcel/watcher@2.5.1': dependencies: - node-addon-api: 3.2.1 - node-gyp-build: 4.8.1 + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 '@pkgjs/parseargs@0.11.0': optional: true @@ -3580,6 +3730,8 @@ snapshots: detect-indent@6.0.0: {} + detect-libc@1.0.3: {} + detect-libc@2.0.3: optional: true @@ -4122,12 +4274,10 @@ snapshots: semver: 7.7.1 optional: true - node-addon-api@3.2.1: {} - node-addon-api@4.3.0: optional: true - node-gyp-build@4.8.1: {} + node-addon-api@7.1.1: {} node-releases@2.0.18: {} From 93950bdcf3b3bf7e644b3b2bc9c1b426e3741dd8 Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Mon, 7 Apr 2025 13:42:44 -0400 Subject: [PATCH 3/3] 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 7a59b6c4..599345e6 100644 --- a/packages/vscode-tailwindcss/CHANGELOG.md +++ b/packages/vscode-tailwindcss/CHANGELOG.md @@ -5,6 +5,7 @@ - Only scan the file system once when needed ([#1287](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1287)) - Don't follow recursive symlinks when searching for projects ([#1270](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1270)) - Correctly re-create a project when its main config file is removed then re-created ([#1300](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1300)) +- Bump `@parcel/watcher` used by the language server ([#1269](https://github.com/tailwindlabs/tailwindcss-intellisense/pull/1269)) # 0.14.13