Skip to content

Commit 13ec5d0

Browse files
committed
Resolve style exports field in postcss import
1 parent 83069f8 commit 13ec5d0

File tree

6 files changed

+59
-1
lines changed

6 files changed

+59
-1
lines changed

packages/tailwindcss-language-server/src/resolve-css-imports.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,22 @@
11
import postcss from 'postcss'
22
import postcssImport from 'postcss-import'
3+
import { createResolver } from './util/resolve'
34

4-
const resolveImports = postcss([postcssImport()])
5+
const resolver = createResolver({
6+
extensions: ['.css'],
7+
conditionNames: ['style'],
8+
})
9+
10+
const resolveImports = postcss([
11+
postcssImport({
12+
resolve(id, basedir) {
13+
let paths = resolver.resolveSync({}, basedir, id)
14+
return paths
15+
? paths
16+
: id
17+
},
18+
}),
19+
])
520

621
export function resolveCssImports() {
722
return resolveImports

packages/tailwindcss-language-server/tests/completions/completions.test.js

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -553,3 +553,26 @@ withFixture('v4/basic', (c) => {
553553
})
554554
})
555555
})
556+
557+
withFixture('v4/workspaces', (c) => {
558+
let completion = buildCompletion(c)
559+
560+
test('@import resolution supports exports.style', async ({ expect }) => {
561+
let result = await completion({
562+
dir: 'packages/web',
563+
lang: 'html',
564+
text: '<div class=""></div>',
565+
position: { line: 0, character: 12 },
566+
})
567+
568+
let item = result.items.find((item) => item.label === 'bg-beet')
569+
570+
let resolved = await c.sendRequest('completionItem/resolve', item)
571+
572+
expect(resolved).toEqual({
573+
...item,
574+
detail: 'background-color: #8e3b46;',
575+
documentation: '#8e3b46',
576+
})
577+
})
578+
})

packages/tailwindcss-language-server/tests/fixtures/v4/workspaces/package-lock.json

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
@theme {
2+
--color-beet: #8e3b46;
3+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"name": "@private/style-export",
3+
"exports": {
4+
".": {
5+
"style": "./lib.css"
6+
}
7+
}
8+
}
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
@import 'tailwindcss';
22
@import '@private/shared/ui.css';
3+
@import '@private/style-export';
4+
35
@theme {
46
--color-potato: #907a70;
57
}

0 commit comments

Comments
 (0)