@css-modules-kit/core 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config.d.ts +2 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +17 -17
- package/dist/config.js.map +1 -1
- package/dist/parser/css-module-parser.d.ts +2 -1
- package/dist/parser/css-module-parser.d.ts.map +1 -1
- package/dist/parser/css-module-parser.js +4 -4
- package/dist/parser/css-module-parser.js.map +1 -1
- package/package.json +2 -2
- package/src/config.ts +18 -14
- package/src/parser/css-module-parser.ts +8 -4
- package/src/typing/typescript.d.ts +1 -0
package/dist/config.d.ts
CHANGED
|
@@ -11,6 +11,7 @@ export interface CMKConfig {
|
|
|
11
11
|
arbitraryExtensions: boolean;
|
|
12
12
|
namedExports: boolean;
|
|
13
13
|
prioritizeNamedImports: boolean;
|
|
14
|
+
keyframes: boolean;
|
|
14
15
|
/**
|
|
15
16
|
* A root directory to resolve relative path entries in the config file to.
|
|
16
17
|
* This is an absolute path.
|
|
@@ -65,6 +66,7 @@ interface UnnormalizedRawConfig {
|
|
|
65
66
|
arbitraryExtensions?: boolean;
|
|
66
67
|
namedExports?: boolean;
|
|
67
68
|
prioritizeNamedImports?: boolean;
|
|
69
|
+
keyframes?: boolean;
|
|
68
70
|
}
|
|
69
71
|
/**
|
|
70
72
|
* The validated data of `ts.ParsedCommandLine['raw']`.
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAK5C;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC;IACpC,mEAAmE;IACnE,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAK5C;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,EAAE,OAAO,CAAC;IACtB,sBAAsB,EAAE,OAAO,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC;IACpC,mEAAmE;IACnE,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED;;;GAGG;AACH,UAAU,qBAAqB;IAC7B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOpE;AAED,iBAAS,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,CAAC,kBAAkB,GAAG,aAAa,CAiF5F;AACD,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,CAAC;AAE/C;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC;IACpC,WAAW,EAAE,UAAU,EAAE,CAAC;CAC3B,CAmDA;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAkBzD"}
|
package/dist/config.js
CHANGED
|
@@ -68,6 +68,17 @@ function parseRawData(raw, tsConfigSourceFile) {
|
|
|
68
68
|
});
|
|
69
69
|
}
|
|
70
70
|
}
|
|
71
|
+
if ('keyframes' in raw.cmkOptions) {
|
|
72
|
+
if (typeof raw.cmkOptions.keyframes === 'boolean') {
|
|
73
|
+
result.config.keyframes = raw.cmkOptions.keyframes;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
result.diagnostics.push({
|
|
77
|
+
category: 'error',
|
|
78
|
+
text: `\`keyframes\` in ${tsConfigSourceFile.fileName} must be a boolean.`,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
}
|
|
71
82
|
if ('namedExports' in raw.cmkOptions) {
|
|
72
83
|
if (typeof raw.cmkOptions.namedExports === 'boolean') {
|
|
73
84
|
result.config.namedExports = raw.cmkOptions.namedExports;
|
|
@@ -95,21 +106,6 @@ function parseRawData(raw, tsConfigSourceFile) {
|
|
|
95
106
|
}
|
|
96
107
|
return result;
|
|
97
108
|
}
|
|
98
|
-
function mergeParsedRawData(base, overrides) {
|
|
99
|
-
const result = { config: { ...base.config }, diagnostics: [...base.diagnostics] };
|
|
100
|
-
if (overrides.config.includes !== undefined)
|
|
101
|
-
result.config.includes = overrides.config.includes;
|
|
102
|
-
if (overrides.config.excludes !== undefined)
|
|
103
|
-
result.config.excludes = overrides.config.excludes;
|
|
104
|
-
if (overrides.config.dtsOutDir !== undefined)
|
|
105
|
-
result.config.dtsOutDir = overrides.config.dtsOutDir;
|
|
106
|
-
if (overrides.config.arbitraryExtensions !== undefined)
|
|
107
|
-
result.config.arbitraryExtensions = overrides.config.arbitraryExtensions;
|
|
108
|
-
if (overrides.config.namedExports !== undefined)
|
|
109
|
-
result.config.namedExports = overrides.config.namedExports;
|
|
110
|
-
result.diagnostics.push(...overrides.diagnostics);
|
|
111
|
-
return result;
|
|
112
|
-
}
|
|
113
109
|
/**
|
|
114
110
|
* @throws {TsConfigFileNotFoundError}
|
|
115
111
|
*/
|
|
@@ -144,7 +140,10 @@ function readTsConfigFile(project) {
|
|
|
144
140
|
continue;
|
|
145
141
|
throw error;
|
|
146
142
|
}
|
|
147
|
-
parsedRawData =
|
|
143
|
+
parsedRawData = {
|
|
144
|
+
config: { ...base.config, ...parsedRawData.config },
|
|
145
|
+
diagnostics: [...base.diagnostics, ...parsedRawData.diagnostics],
|
|
146
|
+
};
|
|
148
147
|
}
|
|
149
148
|
}
|
|
150
149
|
return {
|
|
@@ -165,7 +164,7 @@ function readConfigFile(project) {
|
|
|
165
164
|
const { configFileName, config, compilerOptions, diagnostics } = readTsConfigFile(project);
|
|
166
165
|
const basePath = (0, path_js_1.dirname)(configFileName);
|
|
167
166
|
return {
|
|
168
|
-
// If `include` is not specified, fallback to the default include spec
|
|
167
|
+
// If `include` is not specified, fallback to the default include spec。
|
|
169
168
|
// ref: https://github.com/microsoft/TypeScript/blob/caf1aee269d1660b4d2a8b555c2d602c97cb28d7/src/compiler/commandLineParser.ts#L3102
|
|
170
169
|
includes: (config.includes ?? [DEFAULT_INCLUDE_SPEC]).map((i) => (0, path_js_1.join)(basePath, i)),
|
|
171
170
|
excludes: (config.excludes ?? []).map((e) => (0, path_js_1.join)(basePath, e)),
|
|
@@ -173,6 +172,7 @@ function readConfigFile(project) {
|
|
|
173
172
|
arbitraryExtensions: config.arbitraryExtensions ?? false,
|
|
174
173
|
namedExports: config.namedExports ?? false,
|
|
175
174
|
prioritizeNamedImports: config.prioritizeNamedImports ?? false,
|
|
175
|
+
keyframes: config.keyframes ?? true,
|
|
176
176
|
basePath,
|
|
177
177
|
configFileName,
|
|
178
178
|
compilerOptions,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;AAsFA,4CAOC;AAoFwB,2CAAmB;AAK5C,4CAwDC;AAUD,wCAkBC;AA1QD,4DAA4B;AAC5B,yCAAuD;AACvD,uCAA6D;AAG7D,gIAAgI;AAChI,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAgFpC,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,MAAM,UAAU,GACd,oBAAE,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/B,oBAAE,CAAC,cAAc,CAAC,OAAO,EAAE,oBAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAE,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC;QAC7E,CAAC,CAAC,oBAAE,CAAC,cAAc,CAAC,IAAA,iBAAO,EAAC,OAAO,CAAC,EAAE,oBAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,oBAAE,CAAC,GAAG,CAAC,EAAE,IAAA,kBAAQ,EAAC,OAAO,CAAC,CAAC,CAAC;IAC3F,IAAI,CAAC,UAAU;QAAE,OAAO,SAAS,CAAC;IAClC,OAAO,IAAA,iBAAO,EAAC,UAAU,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,YAAY,CAAC,GAAY,EAAE,kBAAyC;IAC3E,MAAM,MAAM,GAAkB;QAC5B,MAAM,EAAE,EAAE;QACV,WAAW,EAAE,EAAE;KAChB,CAAC;IACF,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAE3D,2GAA2G;IAC3G,iGAAiG;IAEjG,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACpC,CAAC;QACD,oGAAoG;IACtG,CAAC;IACD,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACpC,CAAC;QACD,oGAAoG;IACtG,CAAC;IACD,IAAI,YAAY,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,UAAU,KAAK,QAAQ,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;QACzF,IAAI,WAAW,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACjD,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;oBACtB,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,QAAQ,oBAAoB;oBACzE,gIAAgI;iBACjI,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,qBAAqB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAC5C,IAAI,OAAO,GAAG,CAAC,UAAU,CAAC,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBAC5D,MAAM,CAAC,MAAM,CAAC,mBAAmB,GAAG,GAAG,CAAC,UAAU,CAAC,mBAAmB,CAAC;YACzE,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;oBACtB,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,8BAA8B,kBAAkB,CAAC,QAAQ,qBAAqB;oBACpF,gIAAgI;iBACjI,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,WAAW,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,OAAO,GAAG,CAAC,UAAU,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAClD,MAAM,CAAC,MAAM,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;oBACtB,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,oBAAoB,kBAAkB,CAAC,QAAQ,qBAAqB;iBAC3E,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,cAAc,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACrC,IAAI,OAAO,GAAG,CAAC,UAAU,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;gBACrD,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;oBACtB,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,uBAAuB,kBAAkB,CAAC,QAAQ,qBAAqB;oBAC7E,gIAAgI;iBACjI,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,IAAI,wBAAwB,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YAC/C,IAAI,OAAO,GAAG,CAAC,UAAU,CAAC,sBAAsB,KAAK,SAAS,EAAE,CAAC;gBAC/D,MAAM,CAAC,MAAM,CAAC,sBAAsB,GAAG,GAAG,CAAC,UAAU,CAAC,sBAAsB,CAAC;YAC/E,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;oBACtB,QAAQ,EAAE,OAAO;oBACjB,IAAI,EAAE,iCAAiC,kBAAkB,CAAC,QAAQ,qBAAqB;oBACvF,gIAAgI;iBACjI,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAGD;;GAEG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAM9C,MAAM,cAAc,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,CAAC,cAAc;QAAE,MAAM,IAAI,oCAAyB,EAAE,CAAC;IAE3D,MAAM,kBAAkB,GAAG,oBAAE,CAAC,kBAAkB,CAAC,cAAc,EAAE,oBAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/F,0GAA0G;IAC1G,iGAAiG;IACjG,mEAAmE;IACnE,0EAA0E;IAE1E,MAAM,iBAAiB,GAAG,oBAAE,CAAC,oCAAoC,CAC/D,kBAAkB,EAClB,oBAAE,CAAC,GAAG,EACN,IAAA,iBAAO,EAAC,cAAc,CAAC,EACvB,SAAS,EACT,cAAc,EACd,SAAS,EACT;QACE;YACE,SAAS,EAAE,KAAK;YAChB,cAAc,EAAE,KAAK;YACrB,UAAU,EAAE,oBAAE,CAAC,UAAU,CAAC,QAAQ;SACnC;KACF,CACF,CAAC;IACF,4CAA4C;IAC5C,IAAI,aAAa,GAAG,YAAY,CAAC,iBAAiB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;IAE5E,4GAA4G;IAC5G,oFAAoF;IACpF,IAAI,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;QAC3C,KAAK,MAAM,kBAAkB,IAAI,kBAAkB,CAAC,mBAAmB,EAAE,CAAC;YACxE,IAAI,IAAmB,CAAC;YACxB,IAAI,CAAC;gBACH,IAAI,GAAG,gBAAgB,CAAC,kBAAkB,CAAC,CAAC;YAC9C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,oCAAyB;oBAAE,SAAS;gBACzD,MAAM,KAAK,CAAC;YACd,CAAC;YACD,aAAa,GAAG;gBACd,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,aAAa,CAAC,MAAM,EAAE;gBACnD,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,aAAa,CAAC,WAAW,CAAC;aACjE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,cAAc;QACd,eAAe,EAAE,iBAAiB,CAAC,OAAO;QAC1C,GAAG,aAAa;KACjB,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,OAAe;IAC5C,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAC3F,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,cAAc,CAAC,CAAC;IACzC,OAAO;QACL,uEAAuE;QACvE,qIAAqI;QACrI,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAI,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QACnF,QAAQ,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,cAAI,EAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC/D,SAAS,EAAE,IAAA,cAAI,EAAC,QAAQ,EAAE,MAAM,CAAC,SAAS,IAAI,WAAW,CAAC;QAC1D,mBAAmB,EAAE,MAAM,CAAC,mBAAmB,IAAI,KAAK;QACxD,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;QAC1C,sBAAsB,EAAE,MAAM,CAAC,sBAAsB,IAAI,KAAK;QAC9D,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,IAAI;QACnC,QAAQ;QACR,cAAc;QACd,eAAe;QACf,WAAW;KACZ,CAAC;AACJ,CAAC"}
|
|
@@ -2,10 +2,11 @@ import type { CSSModule, DiagnosticWithLocation } from '../type.js';
|
|
|
2
2
|
export interface ParseCSSModuleOptions {
|
|
3
3
|
fileName: string;
|
|
4
4
|
safe: boolean;
|
|
5
|
+
keyframes: boolean;
|
|
5
6
|
}
|
|
6
7
|
export interface ParseCSSModuleResult {
|
|
7
8
|
cssModule: CSSModule;
|
|
8
9
|
diagnostics: DiagnosticWithLocation[];
|
|
9
10
|
}
|
|
10
|
-
export declare function parseCSSModule(text: string, { fileName, safe }: ParseCSSModuleOptions): ParseCSSModuleResult;
|
|
11
|
+
export declare function parseCSSModule(text: string, { fileName, safe, keyframes }: ParseCSSModuleOptions): ParseCSSModuleResult;
|
|
11
12
|
//# sourceMappingURL=css-module-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css-module-parser.d.ts","sourceRoot":"","sources":["../../src/parser/css-module-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EAET,sBAAsB,EAGvB,MAAM,YAAY,CAAC;AAqEpB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"css-module-parser.d.ts","sourceRoot":"","sources":["../../src/parser/css-module-parser.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,SAAS,EAET,sBAAsB,EAGvB,MAAM,YAAY,CAAC;AAqEpB,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,sBAAsB,EAAE,CAAC;CACvC;AAED,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,qBAAqB,GACnD,oBAAoB,CAgCtB"}
|
|
@@ -28,7 +28,7 @@ function isRuleNode(node) {
|
|
|
28
28
|
/**
|
|
29
29
|
* Collect tokens from the AST.
|
|
30
30
|
*/
|
|
31
|
-
function collectTokens(ast) {
|
|
31
|
+
function collectTokens(ast, keyframes) {
|
|
32
32
|
const allDiagnostics = [];
|
|
33
33
|
const localTokens = [];
|
|
34
34
|
const tokenImporters = [];
|
|
@@ -51,7 +51,7 @@ function collectTokens(ast) {
|
|
|
51
51
|
tokenImporters.push({ ...atValue, type: 'value' });
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
else if (isAtKeyframesNode(node)) {
|
|
54
|
+
else if (keyframes && isAtKeyframesNode(node)) {
|
|
55
55
|
const { keyframe, diagnostics } = (0, key_frame_parser_js_1.parseAtKeyframes)(node);
|
|
56
56
|
allDiagnostics.push(...diagnostics);
|
|
57
57
|
if (keyframe) {
|
|
@@ -68,7 +68,7 @@ function collectTokens(ast) {
|
|
|
68
68
|
});
|
|
69
69
|
return { localTokens, tokenImporters, diagnostics: allDiagnostics };
|
|
70
70
|
}
|
|
71
|
-
function parseCSSModule(text, { fileName, safe }) {
|
|
71
|
+
function parseCSSModule(text, { fileName, safe, keyframes }) {
|
|
72
72
|
let ast;
|
|
73
73
|
const diagnosticSourceFile = { fileName, text };
|
|
74
74
|
try {
|
|
@@ -93,7 +93,7 @@ function parseCSSModule(text, { fileName, safe }) {
|
|
|
93
93
|
}
|
|
94
94
|
throw e;
|
|
95
95
|
}
|
|
96
|
-
const { localTokens, tokenImporters, diagnostics } = collectTokens(ast);
|
|
96
|
+
const { localTokens, tokenImporters, diagnostics } = collectTokens(ast, keyframes);
|
|
97
97
|
const cssModule = {
|
|
98
98
|
fileName,
|
|
99
99
|
text,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css-module-parser.js","sourceRoot":"","sources":["../../src/parser/css-module-parser.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"css-module-parser.js","sourceRoot":"","sources":["../../src/parser/css-module-parser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@css-modules-kit/core",
|
|
3
3
|
"description": "The core of css-modules-kit",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.6.0",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"repository": {
|
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"dist"
|
|
44
44
|
],
|
|
45
45
|
"dependencies": {
|
|
46
|
-
"postcss": "^8.5.
|
|
46
|
+
"postcss": "^8.5.6",
|
|
47
47
|
"postcss-safe-parser": "^7.0.1",
|
|
48
48
|
"postcss-selector-parser": "^7.1.0",
|
|
49
49
|
"postcss-value-parser": "^4.2.0"
|
package/src/config.ts
CHANGED
|
@@ -17,6 +17,7 @@ export interface CMKConfig {
|
|
|
17
17
|
arbitraryExtensions: boolean;
|
|
18
18
|
namedExports: boolean;
|
|
19
19
|
prioritizeNamedImports: boolean;
|
|
20
|
+
keyframes: boolean;
|
|
20
21
|
/**
|
|
21
22
|
* A root directory to resolve relative path entries in the config file to.
|
|
22
23
|
* This is an absolute path.
|
|
@@ -72,6 +73,7 @@ interface UnnormalizedRawConfig {
|
|
|
72
73
|
arbitraryExtensions?: boolean;
|
|
73
74
|
namedExports?: boolean;
|
|
74
75
|
prioritizeNamedImports?: boolean;
|
|
76
|
+
keyframes?: boolean;
|
|
75
77
|
}
|
|
76
78
|
|
|
77
79
|
/**
|
|
@@ -138,6 +140,16 @@ function parseRawData(raw: unknown, tsConfigSourceFile: ts.TsConfigSourceFile):
|
|
|
138
140
|
});
|
|
139
141
|
}
|
|
140
142
|
}
|
|
143
|
+
if ('keyframes' in raw.cmkOptions) {
|
|
144
|
+
if (typeof raw.cmkOptions.keyframes === 'boolean') {
|
|
145
|
+
result.config.keyframes = raw.cmkOptions.keyframes;
|
|
146
|
+
} else {
|
|
147
|
+
result.diagnostics.push({
|
|
148
|
+
category: 'error',
|
|
149
|
+
text: `\`keyframes\` in ${tsConfigSourceFile.fileName} must be a boolean.`,
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
}
|
|
141
153
|
if ('namedExports' in raw.cmkOptions) {
|
|
142
154
|
if (typeof raw.cmkOptions.namedExports === 'boolean') {
|
|
143
155
|
result.config.namedExports = raw.cmkOptions.namedExports;
|
|
@@ -165,18 +177,6 @@ function parseRawData(raw: unknown, tsConfigSourceFile: ts.TsConfigSourceFile):
|
|
|
165
177
|
}
|
|
166
178
|
export { parseRawData as parseRawDataForTest };
|
|
167
179
|
|
|
168
|
-
function mergeParsedRawData(base: ParsedRawData, overrides: ParsedRawData): ParsedRawData {
|
|
169
|
-
const result: ParsedRawData = { config: { ...base.config }, diagnostics: [...base.diagnostics] };
|
|
170
|
-
if (overrides.config.includes !== undefined) result.config.includes = overrides.config.includes;
|
|
171
|
-
if (overrides.config.excludes !== undefined) result.config.excludes = overrides.config.excludes;
|
|
172
|
-
if (overrides.config.dtsOutDir !== undefined) result.config.dtsOutDir = overrides.config.dtsOutDir;
|
|
173
|
-
if (overrides.config.arbitraryExtensions !== undefined)
|
|
174
|
-
result.config.arbitraryExtensions = overrides.config.arbitraryExtensions;
|
|
175
|
-
if (overrides.config.namedExports !== undefined) result.config.namedExports = overrides.config.namedExports;
|
|
176
|
-
result.diagnostics.push(...overrides.diagnostics);
|
|
177
|
-
return result;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
180
|
/**
|
|
181
181
|
* @throws {TsConfigFileNotFoundError}
|
|
182
182
|
*/
|
|
@@ -224,7 +224,10 @@ export function readTsConfigFile(project: string): {
|
|
|
224
224
|
if (error instanceof TsConfigFileNotFoundError) continue;
|
|
225
225
|
throw error;
|
|
226
226
|
}
|
|
227
|
-
parsedRawData =
|
|
227
|
+
parsedRawData = {
|
|
228
|
+
config: { ...base.config, ...parsedRawData.config },
|
|
229
|
+
diagnostics: [...base.diagnostics, ...parsedRawData.diagnostics],
|
|
230
|
+
};
|
|
228
231
|
}
|
|
229
232
|
}
|
|
230
233
|
|
|
@@ -247,7 +250,7 @@ export function readConfigFile(project: string): CMKConfig {
|
|
|
247
250
|
const { configFileName, config, compilerOptions, diagnostics } = readTsConfigFile(project);
|
|
248
251
|
const basePath = dirname(configFileName);
|
|
249
252
|
return {
|
|
250
|
-
// If `include` is not specified, fallback to the default include spec
|
|
253
|
+
// If `include` is not specified, fallback to the default include spec。
|
|
251
254
|
// ref: https://github.com/microsoft/TypeScript/blob/caf1aee269d1660b4d2a8b555c2d602c97cb28d7/src/compiler/commandLineParser.ts#L3102
|
|
252
255
|
includes: (config.includes ?? [DEFAULT_INCLUDE_SPEC]).map((i) => join(basePath, i)),
|
|
253
256
|
excludes: (config.excludes ?? []).map((e) => join(basePath, e)),
|
|
@@ -255,6 +258,7 @@ export function readConfigFile(project: string): CMKConfig {
|
|
|
255
258
|
arbitraryExtensions: config.arbitraryExtensions ?? false,
|
|
256
259
|
namedExports: config.namedExports ?? false,
|
|
257
260
|
prioritizeNamedImports: config.prioritizeNamedImports ?? false,
|
|
261
|
+
keyframes: config.keyframes ?? true,
|
|
258
262
|
basePath,
|
|
259
263
|
configFileName,
|
|
260
264
|
compilerOptions,
|
|
@@ -40,7 +40,7 @@ function isRuleNode(node: Node): node is Rule {
|
|
|
40
40
|
/**
|
|
41
41
|
* Collect tokens from the AST.
|
|
42
42
|
*/
|
|
43
|
-
function collectTokens(ast: Root) {
|
|
43
|
+
function collectTokens(ast: Root, keyframes: boolean) {
|
|
44
44
|
const allDiagnostics: DiagnosticWithDetachedLocation[] = [];
|
|
45
45
|
const localTokens: Token[] = [];
|
|
46
46
|
const tokenImporters: TokenImporter[] = [];
|
|
@@ -59,7 +59,7 @@ function collectTokens(ast: Root) {
|
|
|
59
59
|
} else if (atValue.type === 'valueImportDeclaration') {
|
|
60
60
|
tokenImporters.push({ ...atValue, type: 'value' });
|
|
61
61
|
}
|
|
62
|
-
} else if (isAtKeyframesNode(node)) {
|
|
62
|
+
} else if (keyframes && isAtKeyframesNode(node)) {
|
|
63
63
|
const { keyframe, diagnostics } = parseAtKeyframes(node);
|
|
64
64
|
allDiagnostics.push(...diagnostics);
|
|
65
65
|
if (keyframe) {
|
|
@@ -79,6 +79,7 @@ function collectTokens(ast: Root) {
|
|
|
79
79
|
export interface ParseCSSModuleOptions {
|
|
80
80
|
fileName: string;
|
|
81
81
|
safe: boolean;
|
|
82
|
+
keyframes: boolean;
|
|
82
83
|
}
|
|
83
84
|
|
|
84
85
|
export interface ParseCSSModuleResult {
|
|
@@ -86,7 +87,10 @@ export interface ParseCSSModuleResult {
|
|
|
86
87
|
diagnostics: DiagnosticWithLocation[];
|
|
87
88
|
}
|
|
88
89
|
|
|
89
|
-
export function parseCSSModule(
|
|
90
|
+
export function parseCSSModule(
|
|
91
|
+
text: string,
|
|
92
|
+
{ fileName, safe, keyframes }: ParseCSSModuleOptions,
|
|
93
|
+
): ParseCSSModuleResult {
|
|
90
94
|
let ast: Root;
|
|
91
95
|
const diagnosticSourceFile = { fileName, text };
|
|
92
96
|
try {
|
|
@@ -110,7 +114,7 @@ export function parseCSSModule(text: string, { fileName, safe }: ParseCSSModuleO
|
|
|
110
114
|
}
|
|
111
115
|
throw e;
|
|
112
116
|
}
|
|
113
|
-
const { localTokens, tokenImporters, diagnostics } = collectTokens(ast);
|
|
117
|
+
const { localTokens, tokenImporters, diagnostics } = collectTokens(ast, keyframes);
|
|
114
118
|
const cssModule = {
|
|
115
119
|
fileName,
|
|
116
120
|
text,
|