From 60d5dcd8ca385dfa2bee135ecf87975e194d2423 Mon Sep 17 00:00:00 2001 From: 43081j <43081j@users.noreply.github.com> Date: Tue, 21 May 2024 22:24:22 +0100 Subject: [PATCH 1/2] feat: remove is-builtin-module dependency Node provides a list of built ins via `builtinModules`. We can test against this rather than including an extra (redundant) dependency. In future, if we introduce a version constraint of node `>=16`, we can use `isBuiltin` which node provides: ```ts import {isBuiltin} from 'node:module'; isBuiltin('fs'); // true ``` --- package-lock.json | 28 ------------------- .../tailwindcss-language-server/package.json | 1 - .../src/lib/env.ts | 5 ++-- 3 files changed, 3 insertions(+), 31 deletions(-) diff --git a/package-lock.json b/package-lock.json index dd4a0bda..4b480182 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2068,18 +2068,6 @@ "node": "*" } }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/builtins": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", @@ -3888,21 +3876,6 @@ "node": ">=8" } }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", - "dev": true, - "dependencies": { - "builtin-modules": "^3.3.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/is-core-module": { "version": "2.13.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", @@ -8099,7 +8072,6 @@ "esbuild": "^0.20.2", "fast-glob": "3.2.4", "find-up": "5.0.0", - "is-builtin-module": "3.2.1", "klona": "2.0.4", "license-checker": "25.0.1", "minimist": "^1.2.8", diff --git a/packages/tailwindcss-language-server/package.json b/packages/tailwindcss-language-server/package.json index 5ede64e3..5f97a652 100644 --- a/packages/tailwindcss-language-server/package.json +++ b/packages/tailwindcss-language-server/package.json @@ -66,7 +66,6 @@ "esbuild": "^0.20.2", "fast-glob": "3.2.4", "find-up": "5.0.0", - "is-builtin-module": "3.2.1", "klona": "2.0.4", "license-checker": "25.0.1", "minimist": "^1.2.8", diff --git a/packages/tailwindcss-language-server/src/lib/env.ts b/packages/tailwindcss-language-server/src/lib/env.ts index eee94b48..b054801c 100644 --- a/packages/tailwindcss-language-server/src/lib/env.ts +++ b/packages/tailwindcss-language-server/src/lib/env.ts @@ -1,15 +1,16 @@ import Module from 'module' import * as path from 'path' import resolveFrom from '../util/resolveFrom' -import isBuiltinModule from 'is-builtin-module' +import {builtinModules} from 'module' process.env.TAILWIND_MODE = 'build' process.env.TAILWIND_DISABLE_TOUCH = 'true' let oldResolveFilename = (Module as any)._resolveFilename +const nodeModulePrefix = /^node:/i; ;(Module as any)._resolveFilename = (id: any, parent: any) => { - if (typeof id === 'string' && isBuiltinModule(id)) { + if (typeof id === 'string' && builtinModules.includes(id.replace(nodeModulePrefix, ''))) { return oldResolveFilename(id, parent) } From 14a3c4671f55f9c99901c9b04beb04b223b49d6b Mon Sep 17 00:00:00 2001 From: Jordan Pittman Date: Mon, 3 Jun 2024 11:55:08 -0400 Subject: [PATCH 2/2] Simplify code --- packages/tailwindcss-language-server/src/lib/env.ts | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/tailwindcss-language-server/src/lib/env.ts b/packages/tailwindcss-language-server/src/lib/env.ts index b054801c..c7b8279d 100644 --- a/packages/tailwindcss-language-server/src/lib/env.ts +++ b/packages/tailwindcss-language-server/src/lib/env.ts @@ -1,16 +1,15 @@ -import Module from 'module' -import * as path from 'path' +import Module from 'node:module' +import { isBuiltin } from 'node:module' +import * as path from 'node:path' import resolveFrom from '../util/resolveFrom' -import {builtinModules} from 'module' process.env.TAILWIND_MODE = 'build' process.env.TAILWIND_DISABLE_TOUCH = 'true' let oldResolveFilename = (Module as any)._resolveFilename -const nodeModulePrefix = /^node:/i; ;(Module as any)._resolveFilename = (id: any, parent: any) => { - if (typeof id === 'string' && builtinModules.includes(id.replace(nodeModulePrefix, ''))) { + if (typeof id === 'string' && isBuiltin(id)) { return oldResolveFilename(id, parent) }