Skip to content

Commit 10c8ef3

Browse files
committed
@import is a module request not a relative request
1 parent 4c031d7 commit 10c8ef3

File tree

8 files changed

+309
-17
lines changed

8 files changed

+309
-17
lines changed

src/index.js

+4-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,10 @@ export default function loader(source, map) {
3535
// Interate parsed @import
3636
parseResult.atImports.forEach((imp) => {
3737
if (loaderUtils.isUrlRequest(imp.url, options.root)) {
38-
const request = loaderUtils.urlToRequest(imp.url, options.root);
38+
let request = imp.url;
39+
if (/^\//.test(request)) {
40+
request = loaderUtils.urlToRequest(request, options.root);
41+
}
3942
replacer.replace(imp.start, imp.end, '');
4043
includedStylesheets.add(request);
4144
includedStylesheetsMediaQuery.set(request, imp.mediaQuery.join(' '));

test/__snapshots__/loader.test.js.snap

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ exports[`loader should process at-import.css 1`] = `
44
Array [
55
"// css runtime
66
import * as runtime from \\"../runtime/index.js\\";
7-
import cssLoaderImport0 from \\"./abc\\";
8-
import cssLoaderImport1 from \\"./def\\";
7+
import cssLoaderImport0 from \\"abc\\";
8+
import cssLoaderImport1 from \\"def\\";
99
1010
// CSS
1111
export default /*#__PURE__*/runtime.create([

test/__snapshots__/webpack.test.js.snap

+285-12
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
@import 'abc';
2+
3+
body {
4+
background: red;
5+
}

test/webpack-fixtures/at-import-module/node_modules/abc.css

+5
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/webpack-fixtures/at-import-module/node_modules/other.css

+3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
+2-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
@import url(bootstrap.css);
2-
@import url(bootstrap-theme.css);
1+
@import url(./bootstrap.css);
2+
@import url(./bootstrap-theme.css);

test/webpack.test.js

+3
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@ describe('webpack', () => {
8787
filename: 'bundle.js',
8888
libraryTarget: 'commonjs2',
8989
},
90+
resolve: {
91+
extensions: ['.css'],
92+
},
9093
module: options,
9194
}, (err, stats) => {
9295
if (err) {

0 commit comments

Comments
 (0)