Skip to content

Commit 70acaef

Browse files
committed
Leave .css files un-transformed
Projects using PostCSS may have enabled Sass-incompatible plugins which can result in .css files that cannot be parsed by the Sass compiler. Since PostCSS is able to extract nested selectors without any kind of transformation, we can pass in the source as-is.
1 parent df1fcfc commit 70acaef

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/helpers/__tests__/fixtures/test.module.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
}
1212

1313
.class_d {
14+
@mixin thisBreaksSass;
1415
color: rebeccapurple;
1516
}
1617

src/helpers/cssSnapshots.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,15 @@ const flattenClassNames = (
2323
export const enum FileTypes {
2424
scss = 'scss',
2525
less = 'less',
26+
css = 'css',
2627
}
2728

2829
export const getFileType = (fileName: string) =>
29-
fileName.endsWith('less') ? FileTypes.less : FileTypes.scss;
30+
fileName.endsWith('.css')
31+
? FileTypes.css
32+
: fileName.endsWith('.less')
33+
? FileTypes.less
34+
: FileTypes.scss;
3035

3136
export const getClasses = (css: string, fileType: FileTypes) => {
3237
try {
@@ -36,8 +41,10 @@ export const getClasses = (css: string, fileType: FileTypes) => {
3641
less.render(css, { asyncImport: true } as any, (err, output) => {
3742
transformedCss = output.css.toString();
3843
});
39-
} else {
44+
} else if (fileType === FileTypes.scss) {
4045
transformedCss = sass.renderSync({ data: css }).css.toString();
46+
} else {
47+
transformedCss = css;
4148
}
4249

4350
const processedCss = processor.process(transformedCss);

0 commit comments

Comments
 (0)