Skip to content

Commit

Permalink
fix: resolve css subentry path in extract-style
Browse files Browse the repository at this point in the history
  • Loading branch information
cpaulve-1A committed Feb 5, 2024
1 parent f589b96 commit 483b18a
Showing 1 changed file with 11 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -135,8 +135,17 @@ export class CssVariableExtractor {

const cleanedUrl = url.replace('~', '');
const moduleName = CssVariableExtractor.getPackageName(cleanedUrl);
const packagePath = path.dirname(require.resolve(`${moduleName}/package.json`));
const computedPathUrl = path.join(packagePath, cleanedUrl.replace(moduleName, ''));
const subEntry = cleanedUrl.replace(moduleName, '.');
const packageJsonPath = require.resolve(`${moduleName}/package.json`);
const packagePath = path.dirname(packageJsonPath);
const packageJson = JSON.parse(fs.readFileSync(packageJsonPath, { encoding: 'utf-8' }));
let computedPathUrl;
if (subEntry !== '.' && packageJson.exports?.[subEntry]) {
computedPathUrl = path.join(packagePath, packageJson.exports[subEntry].sass || packageJson.exports[subEntry].default);
}
else {
computedPathUrl = path.join(packagePath, cleanedUrl.replace(moduleName, ''));
}
const fileUrl = pathToFileURL(computedPathUrl);
this.cache[url] = fileUrl;
return fileUrl;
Expand Down

0 comments on commit 483b18a

Please sign in to comment.