Skip to content

Commit b369ced

Browse files
fix(frontend): resolve path to css imported from node_modules
1 parent 97cfaeb commit b369ced

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

packages/frontend/lib/lightningcss.js

+25
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,34 @@
1+
import fs from "node:fs";
2+
import { createRequire } from "node:module";
13
import { fileURLToPath } from "node:url";
24
import { bundleAsync } from "lightningcss";
35

6+
const require = createRequire(import.meta.url);
7+
8+
/**
9+
* Resolve path to file in `node_modules`
10+
* @param {string} filePath - File path
11+
* @returns {string} Resolved file path
12+
* @example `@import url("~codemirror/lib/codemirror.css");`
13+
*/
14+
function resolveModuleFilePath(filePath) {
15+
if (filePath.includes("~")) {
16+
const moduleFilePath = filePath.split("~")[1];
17+
return require.resolve(moduleFilePath);
18+
}
19+
20+
return filePath;
21+
}
22+
423
let { code } = await bundleAsync({
524
filename: fileURLToPath(new URL("../styles/app.css", import.meta.url)),
625
minify: true,
26+
resolver: {
27+
read(filePath) {
28+
filePath = resolveModuleFilePath(filePath);
29+
return fs.readFileSync(filePath, "utf8");
30+
},
31+
},
732
});
833

934
export const styles = () => code.toString();

packages/frontend/styles/vendor/codemirror.css

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
@import url("../../../../node_modules/codemirror/lib/codemirror.css");
1+
@import url("~codemirror/lib/codemirror.css");
22

33
.CodeMirror {
44
--fieldset-flow-space: 0;

0 commit comments

Comments
 (0)