Skip to content

Commit f62a5e9

Browse files
committed
update browserslist usage (tailwindlabs#159)
fixes "extends" in browserslist config
1 parent 534eb25 commit f62a5e9

File tree

4 files changed

+21
-12
lines changed

4 files changed

+21
-12
lines changed

package-lock.json

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/tailwindcss-intellisense/package-lock.json

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

packages/tailwindcss-intellisense/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,7 @@
191191
"dlv": "^1.1.3",
192192
"dset": "^2.0.1",
193193
"esm": "^3.2.25",
194+
"execa": "^3.4.0",
194195
"fast-glob": "^3.2.4",
195196
"glob-exec": "^0.1.1",
196197
"import-from": "^3.0.0",

packages/tailwindcss-intellisense/src/class-names/index.js

Lines changed: 16 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import * as fs from 'fs'
1515
import { getUtilityConfigMap } from './getUtilityConfigMap'
1616
import glob from 'fast-glob'
1717
import normalizePath from 'normalize-path'
18+
import execa from 'execa'
1819

1920
function arraysEqual(arr1, arr2) {
2021
return (
@@ -33,7 +34,6 @@ export default async function getClassNames(
3334
async function run() {
3435
let postcss
3536
let tailwindcss
36-
let browserslistModule
3737
let version
3838
let featureFlags = { future: [], experimental: [] }
3939

@@ -62,11 +62,6 @@ export default async function getClassNames(
6262
version = importFrom(configDir, 'tailwindcss/package.json').version
6363
console.log(`Found tailwindcss v${version}: ${tailwindBase}`)
6464

65-
try {
66-
// this is not required
67-
browserslistModule = importFrom(tailwindBase, 'browserslist')
68-
} catch (_) {}
69-
7065
try {
7166
featureFlags = importFrom(tailwindBase, './lib/featureFlags.js').default
7267
} catch (_) {}
@@ -130,11 +125,21 @@ export default async function getClassNames(
130125
}
131126

132127
const resolvedConfig = resolveConfig({ cwd: configDir, config })
133-
const browserslist = browserslistModule
134-
? browserslistModule(undefined, {
135-
path: configDir,
136-
})
137-
: []
128+
129+
let browserslist = []
130+
try {
131+
const { stdout, stderr } = await execa('browserslist', [], {
132+
preferLocal: true,
133+
localDir: configDir,
134+
cwd: configDir,
135+
})
136+
if (stderr) {
137+
throw Error(stderr)
138+
}
139+
browserslist = stdout.split('\n')
140+
} catch (error) {
141+
console.error('Failed to load browserslist:', error)
142+
}
138143

139144
return {
140145
version,

0 commit comments

Comments
 (0)