Skip to content

Commit 48a35e0

Browse files
committed
Merge branch 'release/1.1.1'
2 parents f6ca999 + 17dd75c commit 48a35e0

File tree

4 files changed

+23
-20
lines changed

4 files changed

+23
-20
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "typescript-plugin-css-modules",
3-
"version": "1.1.0",
3+
"version": "1.1.1",
44
"main": "lib/index.js",
55
"author": "Brody McKee <[email protected]>",
66
"license": "MIT",

src/helpers/__tests__/cssSnapshots.test.ts

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { readFileSync } from 'fs';
22
import { IICSSExports } from 'icss-utils';
33
import { join } from 'path';
4-
import { createExports, getClasses, FileTypes } from '../cssSnapshots';
4+
import { createExports, getClasses, getFileType } from '../cssSnapshots';
55

66
const testFileNames = [
77
'test.module.css',
@@ -12,20 +12,19 @@ const testFileNames = [
1212
];
1313

1414
describe('utils / cssSnapshots', () => {
15-
testFileNames.forEach((filename) => {
15+
testFileNames.forEach((fileName) => {
1616
let classes: IICSSExports;
17-
const isLess = filename.includes('less');
18-
const fileType = isLess ? FileTypes.less : FileTypes.css;
17+
const fileType = getFileType(fileName);
1918
const testFile = readFileSync(
20-
join(__dirname, 'fixtures', filename),
19+
join(__dirname, 'fixtures', fileName),
2120
'utf8',
2221
);
2322

2423
beforeAll(() => {
2524
classes = getClasses(testFile, fileType);
2625
});
2726

28-
describe(`with file '${filename}'`, () => {
27+
describe(`with file '${fileName}'`, () => {
2928
describe('getClasses', () => {
3029
it('should return an object matching expected CSS', () => {
3130
expect(classes).toMatchSnapshot();

src/helpers/cssSnapshots.ts

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,14 @@ const flattenClassNames = (
2121
) => previousValue.concat(currentValue);
2222

2323
export const enum FileTypes {
24-
css = 'css',
25-
sass = 'sass',
24+
scss = 'scss',
2625
less = 'less',
2726
}
2827

29-
export const getClasses = (
30-
css: string,
31-
fileType: FileTypes = FileTypes.css,
32-
) => {
28+
export const getFileType = (fileName: string) =>
29+
fileName.endsWith('less') ? FileTypes.less : FileTypes.scss;
30+
31+
export const getClasses = (css: string, fileType: FileTypes) => {
3332
try {
3433
let transformedCss = '';
3534

@@ -51,8 +50,8 @@ export const getClasses = (
5150

5251
export const createExports = (classes: IICSSExports, options: Options) => {
5352
const isCamelCase = (className: string) =>
54-
!NOT_CAMELCASE_REGEXP.test(className);
55-
const isReservedWord = (className: string) => !reserved.check(className);
53+
!NOT_CAMELCASE_REGEXP.test(className);
54+
const isReservedWord = (className: string) => !reserved.check(className);
5655

5756
const processedClasses = Object.keys(classes)
5857
.map(transformClasses(options.camelCase))
@@ -77,11 +76,13 @@ export default classes;
7776

7877
export const getDtsSnapshot = (
7978
ts: typeof ts_module,
79+
fileName: string,
8080
scriptSnapshot: ts.IScriptSnapshot,
8181
options: Options,
8282
) => {
8383
const css = scriptSnapshot.getText(0, scriptSnapshot.getLength());
84-
const classes = getClasses(css);
84+
const fileType = getFileType(fileName);
85+
const classes = getClasses(css, fileType);
8586
const dts = createExports(classes, options);
8687
return ts.ScriptSnapshot.fromString(dts);
8788
};

src/index.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ function init({ typescript: ts }: { typescript: typeof ts_module }) {
1515
const { isCSS, isRelativeCSS } = createMatchers(options);
1616
_isCSS = isCSS;
1717

18-
info.project.projectService.logger.info(`******** isCSS: ${isCSS}`);
19-
2018
// Creates new virtual source files for the CSS modules.
2119
const _createLanguageServiceSourceFile = ts.createLanguageServiceSourceFile;
2220
ts.createLanguageServiceSourceFile = (
@@ -25,7 +23,7 @@ function init({ typescript: ts }: { typescript: typeof ts_module }) {
2523
...rest
2624
): ts.SourceFile => {
2725
if (isCSS(fileName)) {
28-
scriptSnapshot = getDtsSnapshot(ts, scriptSnapshot, options);
26+
scriptSnapshot = getDtsSnapshot(ts, fileName, scriptSnapshot, options);
2927
}
3028
const sourceFile = _createLanguageServiceSourceFile(
3129
fileName,
@@ -46,7 +44,12 @@ function init({ typescript: ts }: { typescript: typeof ts_module }) {
4644
...rest
4745
): ts.SourceFile => {
4846
if (isCSS(sourceFile.fileName)) {
49-
scriptSnapshot = getDtsSnapshot(ts, scriptSnapshot, options);
47+
scriptSnapshot = getDtsSnapshot(
48+
ts,
49+
sourceFile.fileName,
50+
scriptSnapshot,
51+
options,
52+
);
5053
}
5154
sourceFile = _updateLanguageServiceSourceFile(
5255
sourceFile,

0 commit comments

Comments
 (0)