Skip to content

Commit 6fdef86

Browse files
committed
Add bundled version of tailwindcss and first-party plugins
1 parent 2594afb commit 6fdef86

File tree

8 files changed

+2404
-14580
lines changed

8 files changed

+2404
-14580
lines changed

package-lock.json

+1,787-1,066
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/tailwindcss-language-server/package-lock.json

+151-13,495
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/tailwindcss-language-server/package.json

+5
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,10 @@
2222
},
2323
"devDependencies": {
2424
"@parcel/watcher": "2.0.3",
25+
"@tailwindcss/aspect-ratio": "0.4.0",
26+
"@tailwindcss/forms": "0.4.0",
27+
"@tailwindcss/line-clamp": "0.3.0",
28+
"@tailwindcss/typography": "0.5.0",
2529
"@types/debounce": "1.2.0",
2630
"@types/node": "14.14.34",
2731
"@types/vscode": "1.52.0",
@@ -50,6 +54,7 @@
5054
"rimraf": "3.0.2",
5155
"semver": "7.3.2",
5256
"stack-trace": "0.0.10",
57+
"tailwindcss": "3.0.11",
5358
"terser": "4.6.12",
5459
"typescript": "4.2.4",
5560
"vscode-languageserver": "7.0.0",

packages/tailwindcss-language-server/src/lib/hook.ts

+26-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,16 @@
22
* Adapted from: https://github.com/elastic/require-in-the-middle
33
*/
44
import Module from 'module'
5+
import plugins from './plugins'
6+
7+
let bundledModules = {
8+
...plugins,
9+
'tailwindcss/colors': require('tailwindcss/colors'),
10+
'tailwindcss/defaultConfig': require('tailwindcss/defaultConfig'),
11+
'tailwindcss/defaultTheme': require('tailwindcss/defaultTheme'),
12+
'tailwindcss/resolveConfig': require('tailwindcss/resolveConfig'),
13+
'tailwindcss/plugin': require('tailwindcss/plugin'),
14+
}
515

616
export default class Hook {
717
cache = {}
@@ -31,8 +41,22 @@ export default class Hook {
3141
return self._origRequire.apply(this, arguments)
3242
}
3343

34-
// @ts-ignore
35-
let filename = Module._resolveFilename(request, this)
44+
let filename
45+
46+
if (bundledModules.hasOwnProperty(request)) {
47+
try {
48+
// @ts-ignore
49+
filename = Module._resolveFilename(request, this)
50+
} catch (_) {
51+
// if (plugins.hasOwnProperty(request)) {
52+
// console.log(`Using bundled version of \`${request}\`: v${plugins[request].version}`)
53+
// }
54+
return bundledModules[request].module || bundledModules[request]
55+
}
56+
} else {
57+
// @ts-ignore
58+
filename = Module._resolveFilename(request, this)
59+
}
3660

3761
// return known patched modules immediately
3862
if (self.cache.hasOwnProperty(filename)) {
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
export default {
2+
'@tailwindcss/aspect-ratio': {
3+
module: require('@tailwindcss/aspect-ratio'),
4+
version: require('@tailwindcss/aspect-ratio/package.json').version,
5+
},
6+
'@tailwindcss/forms': {
7+
module: require('@tailwindcss/forms'),
8+
version: require('@tailwindcss/forms/package.json').version,
9+
},
10+
'@tailwindcss/line-clamp': {
11+
module: require('@tailwindcss/line-clamp'),
12+
version: require('@tailwindcss/line-clamp/package.json').version,
13+
},
14+
'@tailwindcss/typography': {
15+
module: require('@tailwindcss/typography'),
16+
version: require('@tailwindcss/typography/package.json').version,
17+
},
18+
}

0 commit comments

Comments
 (0)