Skip to content

Commit df01b95

Browse files
authored
Fix the issue where *.css import resolution fails (#311)
* test: add regression test * fix(core): fix the issue where `*.css` import resolution fails * chore: delete TODO comments that are not scheduled for resolution
1 parent 44c1dbf commit df01b95

3 files changed

Lines changed: 10 additions & 4 deletions

File tree

.changeset/fix-css-import.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@css-modules-kit/core': patch
3+
---
4+
5+
fix(core): fix the issue where `*.css` import resolution fails

packages/core/src/resolver.test.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ describe('createResolver', async () => {
1919
const iff = await createIFF({
2020
'request.module.css': '',
2121
'a.module.css': '',
22+
'a.css': '',
2223
'dir/a.module.css': '',
2324
'paths1/a.module.css': '',
2425
'paths2/b.module.css': '',
@@ -31,6 +32,7 @@ describe('createResolver', async () => {
3132
test('resolves relative path', () => {
3233
const resolve = createResolver(normalizeCompilerOptions({}, iff.rootDir), undefined);
3334
expect(resolve('./a.module.css', { request })).toBe(iff.paths['a.module.css']);
35+
expect(resolve('./a.css', { request })).toBe(iff.paths['a.css']);
3436
expect(resolve('./dir/a.module.css', { request })).toBe(iff.paths['dir/a.module.css']);
3537
expect(resolve('./non-existent.module.css', { request })).toBe(undefined);
3638
});

packages/core/src/resolver.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ export function createResolver(
1212
const host: ts.ModuleResolutionHost = {
1313
...ts.sys,
1414
fileExists: (fileName) => {
15-
if (fileName.endsWith('.module.d.css.ts')) {
16-
return ts.sys.fileExists(fileName.replace(/\.module\.d\.css\.ts$/u, '.module.css'));
15+
if (fileName.endsWith('.d.css.ts')) {
16+
return ts.sys.fileExists(fileName.replace(/\.d\.css\.ts$/u, '.css'));
1717
}
1818
return ts.sys.fileExists(fileName);
1919
},
@@ -26,8 +26,7 @@ export function createResolver(
2626
moduleResolutionCache,
2727
);
2828
if (resolvedModule) {
29-
// TODO: Logging that the paths is used.
30-
return resolvedModule.resolvedFileName.replace(/\.module\.d\.css\.ts$/u, '.module.css');
29+
return resolvedModule.resolvedFileName.replace(/\.d\.css\.ts$/u, '.css');
3130
}
3231
return undefined;
3332
};

0 commit comments

Comments
 (0)