@css-modules-kit/core 0.2.0 → 0.3.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 +8 -12
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +35 -22
- package/dist/config.js.map +1 -1
- package/dist/dts-creator.d.ts +7 -25
- package/dist/dts-creator.d.ts.map +1 -1
- package/dist/dts-creator.js +106 -7
- package/dist/dts-creator.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -2
- package/dist/index.js.map +1 -1
- package/dist/path.d.ts +0 -1
- package/dist/path.d.ts.map +1 -1
- package/dist/path.js +1 -3
- package/dist/path.js.map +1 -1
- package/package.json +2 -2
- package/src/config.ts +40 -33
- package/src/dts-creator.ts +120 -11
- package/src/index.ts +1 -1
- package/src/path.ts +0 -3
package/dist/config.d.ts
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import ts from 'typescript';
|
|
2
2
|
import type { Diagnostic } from './type.js';
|
|
3
|
-
type RemoveUndefined<T> = {
|
|
4
|
-
[K in keyof T]: Exclude<T[K], undefined>;
|
|
5
|
-
};
|
|
6
3
|
/**
|
|
7
4
|
* The config used by css-modules-kit.
|
|
8
5
|
* This is normalized. Paths are resolved from relative to absolute, and default values are set for missing options.
|
|
@@ -12,6 +9,8 @@ export interface CMKConfig {
|
|
|
12
9
|
excludes: string[];
|
|
13
10
|
dtsOutDir: string;
|
|
14
11
|
arbitraryExtensions: boolean;
|
|
12
|
+
namedExports: boolean;
|
|
13
|
+
prioritizeNamedImports: boolean;
|
|
15
14
|
/**
|
|
16
15
|
* A root directory to resolve relative path entries in the config file to.
|
|
17
16
|
* This is an absolute path.
|
|
@@ -60,10 +59,12 @@ export interface CMKConfig {
|
|
|
60
59
|
* This is unnormalized. Paths are relative, and some options may be omitted.
|
|
61
60
|
*/
|
|
62
61
|
interface UnnormalizedRawConfig {
|
|
63
|
-
includes
|
|
64
|
-
excludes
|
|
65
|
-
dtsOutDir
|
|
66
|
-
arbitraryExtensions
|
|
62
|
+
includes?: string[];
|
|
63
|
+
excludes?: string[];
|
|
64
|
+
dtsOutDir?: string;
|
|
65
|
+
arbitraryExtensions?: boolean;
|
|
66
|
+
namedExports?: boolean;
|
|
67
|
+
prioritizeNamedImports?: boolean;
|
|
67
68
|
}
|
|
68
69
|
/**
|
|
69
70
|
* The validated data of `ts.ParsedCommandLine['raw']`.
|
|
@@ -84,11 +85,6 @@ export declare function readTsConfigFile(project: string): {
|
|
|
84
85
|
compilerOptions: ts.CompilerOptions;
|
|
85
86
|
diagnostics: Diagnostic[];
|
|
86
87
|
};
|
|
87
|
-
/**
|
|
88
|
-
* Normalize `UnnormalizedRawConfig`. Resolve relative paths to absolute paths, and set default values for missing options.
|
|
89
|
-
* @param basePath A root directory to resolve relative path entries in the config file to.
|
|
90
|
-
*/
|
|
91
|
-
export declare function normalizeConfig(config: UnnormalizedRawConfig, basePath: string): RemoveUndefined<UnnormalizedRawConfig>;
|
|
92
88
|
/**
|
|
93
89
|
* Reads the `tsconfig.json` file and returns the normalized config.
|
|
94
90
|
* Even if the `tsconfig.json` file contains syntax or semantic errors,
|
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
|
|
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;CAClC;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,CAuE5F;AACD,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,CAAC;AAc/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,CAgDA;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAiBzD"}
|
package/dist/config.js
CHANGED
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.findTsConfigFile = findTsConfigFile;
|
|
7
7
|
exports.parseRawDataForTest = parseRawData;
|
|
8
8
|
exports.readTsConfigFile = readTsConfigFile;
|
|
9
|
-
exports.normalizeConfig = normalizeConfig;
|
|
10
9
|
exports.readConfigFile = readConfigFile;
|
|
11
10
|
const typescript_1 = __importDefault(require("typescript"));
|
|
12
11
|
const error_js_1 = require("./error.js");
|
|
@@ -23,12 +22,7 @@ function findTsConfigFile(project) {
|
|
|
23
22
|
}
|
|
24
23
|
function parseRawData(raw, tsConfigSourceFile) {
|
|
25
24
|
const result = {
|
|
26
|
-
config: {
|
|
27
|
-
includes: undefined,
|
|
28
|
-
excludes: undefined,
|
|
29
|
-
dtsOutDir: undefined,
|
|
30
|
-
arbitraryExtensions: undefined,
|
|
31
|
-
},
|
|
25
|
+
config: {},
|
|
32
26
|
diagnostics: [],
|
|
33
27
|
};
|
|
34
28
|
if (typeof raw !== 'object' || raw === null)
|
|
@@ -74,6 +68,30 @@ function parseRawData(raw, tsConfigSourceFile) {
|
|
|
74
68
|
});
|
|
75
69
|
}
|
|
76
70
|
}
|
|
71
|
+
if ('namedExports' in raw.cmkOptions) {
|
|
72
|
+
if (typeof raw.cmkOptions.namedExports === 'boolean') {
|
|
73
|
+
result.config.namedExports = raw.cmkOptions.namedExports;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
result.diagnostics.push({
|
|
77
|
+
category: 'error',
|
|
78
|
+
text: `\`namedExports\` in ${tsConfigSourceFile.fileName} must be a boolean.`,
|
|
79
|
+
// MEMO: Location information can be obtained from `tsConfigSourceFile.statements`, but this is complicated and will be omitted.
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
if ('prioritizeNamedImports' in raw.cmkOptions) {
|
|
84
|
+
if (typeof raw.cmkOptions.prioritizeNamedImports === 'boolean') {
|
|
85
|
+
result.config.prioritizeNamedImports = raw.cmkOptions.prioritizeNamedImports;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
result.diagnostics.push({
|
|
89
|
+
category: 'error',
|
|
90
|
+
text: `\`prioritizeNamedImports\` in ${tsConfigSourceFile.fileName} must be a boolean.`,
|
|
91
|
+
// MEMO: Location information can be obtained from `tsConfigSourceFile.statements`, but this is complicated and will be omitted.
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
}
|
|
77
95
|
}
|
|
78
96
|
return result;
|
|
79
97
|
}
|
|
@@ -87,6 +105,8 @@ function mergeParsedRawData(base, overrides) {
|
|
|
87
105
|
result.config.dtsOutDir = overrides.config.dtsOutDir;
|
|
88
106
|
if (overrides.config.arbitraryExtensions !== undefined)
|
|
89
107
|
result.config.arbitraryExtensions = overrides.config.arbitraryExtensions;
|
|
108
|
+
if (overrides.config.namedExports !== undefined)
|
|
109
|
+
result.config.namedExports = overrides.config.namedExports;
|
|
90
110
|
result.diagnostics.push(...overrides.diagnostics);
|
|
91
111
|
return result;
|
|
92
112
|
}
|
|
@@ -133,20 +153,6 @@ function readTsConfigFile(project) {
|
|
|
133
153
|
...parsedRawData,
|
|
134
154
|
};
|
|
135
155
|
}
|
|
136
|
-
/**
|
|
137
|
-
* Normalize `UnnormalizedRawConfig`. Resolve relative paths to absolute paths, and set default values for missing options.
|
|
138
|
-
* @param basePath A root directory to resolve relative path entries in the config file to.
|
|
139
|
-
*/
|
|
140
|
-
function normalizeConfig(config, basePath) {
|
|
141
|
-
return {
|
|
142
|
-
// If `include` is not specified, fallback to the default include spec.
|
|
143
|
-
// ref: https://github.com/microsoft/TypeScript/blob/caf1aee269d1660b4d2a8b555c2d602c97cb28d7/src/compiler/commandLineParser.ts#L3102
|
|
144
|
-
includes: (config.includes ?? [DEFAULT_INCLUDE_SPEC]).map((i) => (0, path_js_1.join)(basePath, i)),
|
|
145
|
-
excludes: (config.excludes ?? []).map((e) => (0, path_js_1.join)(basePath, e)),
|
|
146
|
-
dtsOutDir: (0, path_js_1.join)(basePath, config.dtsOutDir ?? 'generated'),
|
|
147
|
-
arbitraryExtensions: config.arbitraryExtensions ?? false,
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
156
|
/**
|
|
151
157
|
* Reads the `tsconfig.json` file and returns the normalized config.
|
|
152
158
|
* Even if the `tsconfig.json` file contains syntax or semantic errors,
|
|
@@ -159,7 +165,14 @@ function readConfigFile(project) {
|
|
|
159
165
|
const { configFileName, config, compilerOptions, diagnostics } = readTsConfigFile(project);
|
|
160
166
|
const basePath = (0, path_js_1.dirname)(configFileName);
|
|
161
167
|
return {
|
|
162
|
-
|
|
168
|
+
// If `include` is not specified, fallback to the default include spec.
|
|
169
|
+
// ref: https://github.com/microsoft/TypeScript/blob/caf1aee269d1660b4d2a8b555c2d602c97cb28d7/src/compiler/commandLineParser.ts#L3102
|
|
170
|
+
includes: (config.includes ?? [DEFAULT_INCLUDE_SPEC]).map((i) => (0, path_js_1.join)(basePath, i)),
|
|
171
|
+
excludes: (config.excludes ?? []).map((e) => (0, path_js_1.join)(basePath, e)),
|
|
172
|
+
dtsOutDir: (0, path_js_1.join)(basePath, config.dtsOutDir ?? 'generated'),
|
|
173
|
+
arbitraryExtensions: config.arbitraryExtensions ?? false,
|
|
174
|
+
namedExports: config.namedExports ?? false,
|
|
175
|
+
prioritizeNamedImports: config.prioritizeNamedImports ?? false,
|
|
163
176
|
basePath,
|
|
164
177
|
configFileName,
|
|
165
178
|
compilerOptions,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":";;;;;AAoFA,4CAOC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/dts-creator.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare const STYLES_EXPORT_NAME = "styles";
|
|
|
3
3
|
export interface CreateDtsOptions {
|
|
4
4
|
resolver: Resolver;
|
|
5
5
|
matchesPattern: MatchesPattern;
|
|
6
|
+
namedExports: boolean;
|
|
6
7
|
}
|
|
7
8
|
interface CodeMapping {
|
|
8
9
|
/** The source offsets of the tokens in the *.module.css file. */
|
|
@@ -23,33 +24,14 @@ interface LinkedCodeMapping extends CodeMapping {
|
|
|
23
24
|
/** The length of the second code to be linked. */
|
|
24
25
|
generatedLengths: number[];
|
|
25
26
|
}
|
|
26
|
-
|
|
27
|
-
* Create a d.ts file from a CSS module file.
|
|
28
|
-
* @example
|
|
29
|
-
* If the CSS module file is:
|
|
30
|
-
* ```css
|
|
31
|
-
* @import './a.module.css';
|
|
32
|
-
* @value local1: string;
|
|
33
|
-
* @value imported1, imported2 as aliasedImported2 from './b.module.css';
|
|
34
|
-
* .local2 { color: red }
|
|
35
|
-
* ```
|
|
36
|
-
* The d.ts file would be:
|
|
37
|
-
* ```ts
|
|
38
|
-
* // @ts-nocheck
|
|
39
|
-
* const styles = {
|
|
40
|
-
* local1: '' as readonly string,
|
|
41
|
-
* local2: '' as readonly string,
|
|
42
|
-
* ...(await import('./a.module.css')).default,
|
|
43
|
-
* imported1: (await import('./b.module.css')).default.imported1,
|
|
44
|
-
* aliasedImported2: (await import('./b.module.css')).default.imported2,
|
|
45
|
-
* };
|
|
46
|
-
* export default styles;
|
|
47
|
-
* ```
|
|
48
|
-
*/
|
|
49
|
-
export declare function createDts({ fileName, localTokens, tokenImporters: _tokenImporters }: CSSModule, options: CreateDtsOptions): {
|
|
27
|
+
interface CreateDtsResult {
|
|
50
28
|
text: string;
|
|
51
29
|
mapping: CodeMapping;
|
|
52
30
|
linkedCodeMapping: LinkedCodeMapping;
|
|
53
|
-
}
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Create a d.ts file.
|
|
34
|
+
*/
|
|
35
|
+
export declare function createDts(cssModules: CSSModule, options: CreateDtsOptions): CreateDtsResult;
|
|
54
36
|
export {};
|
|
55
37
|
//# sourceMappingURL=dts-creator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dts-creator.d.ts","sourceRoot":"","sources":["../src/dts-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"dts-creator.d.ts","sourceRoot":"","sources":["../src/dts-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAwB,MAAM,WAAW,CAAC;AAE3F,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,UAAU,WAAW;IACnB,iEAAiE;IACjE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,0DAA0D;IAC1D,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,8CAA8C;AAE9C,UAAU,iBAAkB,SAAQ,WAAW;IAC7C,iDAAiD;IACjD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,iDAAiD;IACjD,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kDAAkD;IAClD,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,UAAU,eAAe;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,iBAAiB,EAAE,iBAAiB,CAAC;CACtC;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,gBAAgB,GAAG,eAAe,CAW3F"}
|
package/dist/dts-creator.js
CHANGED
|
@@ -4,7 +4,111 @@ exports.STYLES_EXPORT_NAME = void 0;
|
|
|
4
4
|
exports.createDts = createDts;
|
|
5
5
|
exports.STYLES_EXPORT_NAME = 'styles';
|
|
6
6
|
/**
|
|
7
|
-
* Create a d.ts file
|
|
7
|
+
* Create a d.ts file.
|
|
8
|
+
*/
|
|
9
|
+
function createDts(cssModules, options) {
|
|
10
|
+
// Filter external files
|
|
11
|
+
const tokenImporters = cssModules.tokenImporters.filter((tokenImporter) => {
|
|
12
|
+
const resolved = options.resolver(tokenImporter.from, { request: cssModules.fileName });
|
|
13
|
+
return resolved !== undefined && options.matchesPattern(resolved);
|
|
14
|
+
});
|
|
15
|
+
if (options.namedExports) {
|
|
16
|
+
return createNamedExportsDts(cssModules.localTokens, tokenImporters);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
return createDefaultExportDts(cssModules.localTokens, tokenImporters);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a d.ts file with named exports.
|
|
24
|
+
* @example
|
|
25
|
+
* If the CSS module file is:
|
|
26
|
+
* ```css
|
|
27
|
+
* @import './a.module.css';
|
|
28
|
+
* @value local1: string;
|
|
29
|
+
* @value imported1, imported2 as aliasedImported2 from './b.module.css';
|
|
30
|
+
* .local2 { color: red }
|
|
31
|
+
* ```
|
|
32
|
+
* The d.ts file would be:
|
|
33
|
+
* ```ts
|
|
34
|
+
* // @ts-nocheck
|
|
35
|
+
* export var local1: string;
|
|
36
|
+
* export var local2: string;
|
|
37
|
+
* export * from './a.module.css';
|
|
38
|
+
* export {
|
|
39
|
+
* imported1,
|
|
40
|
+
* imported2 as aliasedImported2,
|
|
41
|
+
* } from './b.module.css';
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
44
|
+
function createNamedExportsDts(localTokens, tokenImporters) {
|
|
45
|
+
const mapping = { sourceOffsets: [], lengths: [], generatedOffsets: [] };
|
|
46
|
+
const linkedCodeMapping = {
|
|
47
|
+
sourceOffsets: [],
|
|
48
|
+
lengths: [],
|
|
49
|
+
generatedOffsets: [],
|
|
50
|
+
generatedLengths: [],
|
|
51
|
+
};
|
|
52
|
+
// MEMO: Depending on the TypeScript compilation options, the generated type definition file contains compile errors.
|
|
53
|
+
// For example, it contains `Top-level 'await' expressions are only allowed when the 'module' option is set to ...` error.
|
|
54
|
+
//
|
|
55
|
+
// If `--skipLibCheck` is false, those errors will be reported by `tsc`. However, these are negligible errors.
|
|
56
|
+
// Therefore, `@ts-nocheck` is added to the generated type definition file.
|
|
57
|
+
let text = `// @ts-nocheck\n`;
|
|
58
|
+
for (const token of localTokens) {
|
|
59
|
+
text += `export var `;
|
|
60
|
+
mapping.sourceOffsets.push(token.loc.start.offset);
|
|
61
|
+
mapping.generatedOffsets.push(text.length);
|
|
62
|
+
mapping.lengths.push(token.name.length);
|
|
63
|
+
text += `${token.name}: string;\n`;
|
|
64
|
+
}
|
|
65
|
+
for (const tokenImporter of tokenImporters) {
|
|
66
|
+
if (tokenImporter.type === 'import') {
|
|
67
|
+
text += `export * from `;
|
|
68
|
+
mapping.sourceOffsets.push(tokenImporter.fromLoc.start.offset - 1);
|
|
69
|
+
mapping.lengths.push(tokenImporter.from.length + 2);
|
|
70
|
+
mapping.generatedOffsets.push(text.length);
|
|
71
|
+
text += `'${tokenImporter.from}';\n`;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
text += `export {\n`;
|
|
75
|
+
// eslint-disable-next-line no-loop-func
|
|
76
|
+
tokenImporter.values.forEach((value) => {
|
|
77
|
+
const localName = value.localName ?? value.name;
|
|
78
|
+
const localLoc = value.localLoc ?? value.loc;
|
|
79
|
+
text += ` `;
|
|
80
|
+
if ('localName' in value) {
|
|
81
|
+
mapping.sourceOffsets.push(value.loc.start.offset);
|
|
82
|
+
mapping.lengths.push(value.name.length);
|
|
83
|
+
mapping.generatedOffsets.push(text.length);
|
|
84
|
+
linkedCodeMapping.generatedOffsets.push(text.length);
|
|
85
|
+
linkedCodeMapping.generatedLengths.push(value.name.length);
|
|
86
|
+
text += `${value.name} as `;
|
|
87
|
+
mapping.sourceOffsets.push(localLoc.start.offset);
|
|
88
|
+
mapping.lengths.push(localName.length);
|
|
89
|
+
mapping.generatedOffsets.push(text.length);
|
|
90
|
+
linkedCodeMapping.sourceOffsets.push(text.length);
|
|
91
|
+
linkedCodeMapping.lengths.push(localName.length);
|
|
92
|
+
text += `${localName},\n`;
|
|
93
|
+
}
|
|
94
|
+
else {
|
|
95
|
+
mapping.sourceOffsets.push(value.loc.start.offset);
|
|
96
|
+
mapping.lengths.push(value.name.length);
|
|
97
|
+
mapping.generatedOffsets.push(text.length);
|
|
98
|
+
text += `${value.name},\n`;
|
|
99
|
+
}
|
|
100
|
+
});
|
|
101
|
+
text += `} from `;
|
|
102
|
+
mapping.sourceOffsets.push(tokenImporter.fromLoc.start.offset - 1);
|
|
103
|
+
mapping.lengths.push(tokenImporter.from.length + 2);
|
|
104
|
+
mapping.generatedOffsets.push(text.length);
|
|
105
|
+
text += `'${tokenImporter.from}';\n`;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
return { text, mapping, linkedCodeMapping };
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Create a d.ts file with a default export.
|
|
8
112
|
* @example
|
|
9
113
|
* If the CSS module file is:
|
|
10
114
|
* ```css
|
|
@@ -26,7 +130,7 @@ exports.STYLES_EXPORT_NAME = 'styles';
|
|
|
26
130
|
* export default styles;
|
|
27
131
|
* ```
|
|
28
132
|
*/
|
|
29
|
-
function
|
|
133
|
+
function createDefaultExportDts(localTokens, tokenImporters) {
|
|
30
134
|
const mapping = { sourceOffsets: [], lengths: [], generatedOffsets: [] };
|
|
31
135
|
const linkedCodeMapping = {
|
|
32
136
|
sourceOffsets: [],
|
|
@@ -34,11 +138,6 @@ function createDts({ fileName, localTokens, tokenImporters: _tokenImporters }, o
|
|
|
34
138
|
generatedOffsets: [],
|
|
35
139
|
generatedLengths: [],
|
|
36
140
|
};
|
|
37
|
-
// Filter external files
|
|
38
|
-
const tokenImporters = _tokenImporters.filter((tokenImporter) => {
|
|
39
|
-
const resolved = options.resolver(tokenImporter.from, { request: fileName });
|
|
40
|
-
return resolved !== undefined && options.matchesPattern(resolved);
|
|
41
|
-
});
|
|
42
141
|
// MEMO: Depending on the TypeScript compilation options, the generated type definition file contains compile errors.
|
|
43
142
|
// For example, it contains `Top-level 'await' expressions are only allowed when the 'module' option is set to ...` error.
|
|
44
143
|
//
|
package/dist/dts-creator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dts-creator.js","sourceRoot":"","sources":["../src/dts-creator.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"dts-creator.js","sourceRoot":"","sources":["../src/dts-creator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,7 +9,7 @@ export { createResolver } from './resolver.js';
|
|
|
9
9
|
export { CSS_MODULE_EXTENSION, getCssModuleFileName, isComponentFileName, isCSSModuleFile, findComponentFile, findComponentFileSync, createMatchesPattern, getFileNamesByPattern, } from './file.js';
|
|
10
10
|
export { checkCSSModule } from './checker.js';
|
|
11
11
|
export { createExportBuilder } from './export-builder.js';
|
|
12
|
-
export { join, resolve, relative, dirname, basename, parse,
|
|
12
|
+
export { join, resolve, relative, dirname, basename, parse, isAbsolute } from './path.js';
|
|
13
13
|
export { findUsedTokenNames } from './util.js';
|
|
14
14
|
export { convertDiagnostic, convertDiagnosticWithLocation, convertSystemError } from './diagnostic.js';
|
|
15
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,KAAK,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,KAAK,qBAAqB,EAAE,KAAK,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACtH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,SAAS,EACd,KAAK,KAAK,EACV,KAAK,qBAAqB,EAC1B,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,QAAQ,EACb,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,oBAAoB,EACzB,KAAK,UAAU,EACf,KAAK,sBAAsB,EAC3B,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,GACxB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,KAAK,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACxF,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAC1F,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.convertSystemError = exports.convertDiagnosticWithLocation = exports.convertDiagnostic = exports.findUsedTokenNames = exports.isAbsolute = exports.
|
|
3
|
+
exports.convertSystemError = exports.convertDiagnosticWithLocation = exports.convertDiagnostic = exports.findUsedTokenNames = exports.isAbsolute = exports.parse = exports.basename = exports.dirname = exports.relative = exports.resolve = exports.join = exports.createExportBuilder = exports.checkCSSModule = exports.getFileNamesByPattern = exports.createMatchesPattern = exports.findComponentFileSync = exports.findComponentFile = exports.isCSSModuleFile = exports.isComponentFileName = exports.getCssModuleFileName = exports.CSS_MODULE_EXTENSION = exports.createResolver = exports.STYLES_EXPORT_NAME = exports.createDts = exports.parseRule = exports.parseCSSModule = exports.SystemError = exports.TsConfigFileNotFoundError = exports.readConfigFile = void 0;
|
|
4
4
|
var config_js_1 = require("./config.js");
|
|
5
5
|
Object.defineProperty(exports, "readConfigFile", { enumerable: true, get: function () { return config_js_1.readConfigFile; } });
|
|
6
6
|
var error_js_1 = require("./error.js");
|
|
@@ -35,7 +35,6 @@ Object.defineProperty(exports, "relative", { enumerable: true, get: function ()
|
|
|
35
35
|
Object.defineProperty(exports, "dirname", { enumerable: true, get: function () { return path_js_1.dirname; } });
|
|
36
36
|
Object.defineProperty(exports, "basename", { enumerable: true, get: function () { return path_js_1.basename; } });
|
|
37
37
|
Object.defineProperty(exports, "parse", { enumerable: true, get: function () { return path_js_1.parse; } });
|
|
38
|
-
Object.defineProperty(exports, "matchesGlob", { enumerable: true, get: function () { return path_js_1.matchesGlob; } });
|
|
39
38
|
Object.defineProperty(exports, "isAbsolute", { enumerable: true, get: function () { return path_js_1.isAbsolute; } });
|
|
40
39
|
var util_js_1 = require("./util.js");
|
|
41
40
|
Object.defineProperty(exports, "findUsedTokenNames", { enumerable: true, get: function () { return util_js_1.findUsedTokenNames; } });
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AACvB,uCAAoE;AAA3D,qHAAA,yBAAyB,OAAA;AAAE,uGAAA,WAAW,OAAA;AAC/C,sEAAsH;AAA7G,sHAAA,cAAc,OAAA;AACvB,0DAAoD;AAA3C,2GAAA,SAAS,OAAA;AAmBlB,mDAAwF;AAAxD,2GAAA,SAAS,OAAA;AAAE,oHAAA,kBAAkB,OAAA;AAC7D,6CAA+C;AAAtC,6GAAA,cAAc,OAAA;AACvB,qCASmB;AARjB,+GAAA,oBAAoB,OAAA;AACpB,+GAAA,oBAAoB,OAAA;AACpB,8GAAA,mBAAmB,OAAA;AACnB,0GAAA,eAAe,OAAA;AACf,4GAAA,iBAAiB,OAAA;AACjB,gHAAA,qBAAqB,OAAA;AACrB,+GAAA,oBAAoB,OAAA;AACpB,gHAAA,qBAAqB,OAAA;AAEvB,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AACvB,yDAA0D;AAAjD,wHAAA,mBAAmB,OAAA;AAC5B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,yCAA6C;AAApC,2GAAA,cAAc,OAAA;AACvB,uCAAoE;AAA3D,qHAAA,yBAAyB,OAAA;AAAE,uGAAA,WAAW,OAAA;AAC/C,sEAAsH;AAA7G,sHAAA,cAAc,OAAA;AACvB,0DAAoD;AAA3C,2GAAA,SAAS,OAAA;AAmBlB,mDAAwF;AAAxD,2GAAA,SAAS,OAAA;AAAE,oHAAA,kBAAkB,OAAA;AAC7D,6CAA+C;AAAtC,6GAAA,cAAc,OAAA;AACvB,qCASmB;AARjB,+GAAA,oBAAoB,OAAA;AACpB,+GAAA,oBAAoB,OAAA;AACpB,8GAAA,mBAAmB,OAAA;AACnB,0GAAA,eAAe,OAAA;AACf,4GAAA,iBAAiB,OAAA;AACjB,gHAAA,qBAAqB,OAAA;AACrB,+GAAA,oBAAoB,OAAA;AACpB,gHAAA,qBAAqB,OAAA;AAEvB,2CAA8C;AAArC,4GAAA,cAAc,OAAA;AACvB,yDAA0D;AAAjD,wHAAA,mBAAmB,OAAA;AAC5B,qCAA0F;AAAjF,+FAAA,IAAI,OAAA;AAAE,kGAAA,OAAO,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAAE,kGAAA,OAAO,OAAA;AAAE,mGAAA,QAAQ,OAAA;AAAE,gGAAA,KAAK,OAAA;AAAE,qGAAA,UAAU,OAAA;AACtE,qCAA+C;AAAtC,6GAAA,kBAAkB,OAAA;AAC3B,iDAAuG;AAA9F,kHAAA,iBAAiB,OAAA;AAAE,8HAAA,6BAA6B,OAAA;AAAE,mHAAA,kBAAkB,OAAA"}
|
package/dist/path.d.ts
CHANGED
|
@@ -6,6 +6,5 @@ export declare function relative(from: string, to: string): string;
|
|
|
6
6
|
export declare function dirname(path: string): string;
|
|
7
7
|
export declare function basename(path: string): string;
|
|
8
8
|
export declare function parse(path: string): ParsedPath;
|
|
9
|
-
export declare const matchesGlob: (path: string, pattern: string) => boolean;
|
|
10
9
|
export declare const isAbsolute: (path: string) => boolean;
|
|
11
10
|
//# sourceMappingURL=path.d.ts.map
|
package/dist/path.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAK5C,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,wBAAgB,IAAI,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAE/C;AAED,wBAAgB,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAElD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAG9C;AAGD,eAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAK5C,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,wBAAgB,IAAI,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAE/C;AAED,wBAAgB,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAElD;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAG9C;AAGD,eAAO,MAAM,UAAU,2BAAsB,CAAC"}
|
package/dist/path.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.isAbsolute =
|
|
6
|
+
exports.isAbsolute = void 0;
|
|
7
7
|
exports.slash = slash;
|
|
8
8
|
exports.join = join;
|
|
9
9
|
exports.resolve = resolve;
|
|
@@ -36,8 +36,6 @@ function parse(path) {
|
|
|
36
36
|
const { root, dir, base, name, ext } = node_path_1.default.parse(path);
|
|
37
37
|
return { root: slash(root), dir: slash(dir), base, name, ext };
|
|
38
38
|
}
|
|
39
|
-
// eslint-disable-next-line n/no-unsupported-features/node-builtins, @typescript-eslint/unbound-method
|
|
40
|
-
exports.matchesGlob = node_path_1.default.matchesGlob;
|
|
41
39
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
42
40
|
exports.isAbsolute = node_path_1.default.isAbsolute;
|
|
43
41
|
//# sourceMappingURL=path.js.map
|
package/dist/path.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":";;;;;;AAMA,sBAEC;AAED,oBAEC;AAED,0BAEC;AAED,4BAEC;AAED,0BAEC;AAED,4BAEC;AAED,sBAGC;AA/BD,iDAAiD;AACjD,0DAAiC;AACjC,4DAA4B;AAE5B,SAAgB,KAAK,CAAC,IAAY;IAChC,OAAO,oBAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,IAAI,CAAC,GAAG,KAAe;IACrC,OAAO,KAAK,CAAC,mBAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,OAAO,CAAC,GAAG,KAAe;IACxC,OAAO,KAAK,CAAC,mBAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,QAAQ,CAAC,IAAY,EAAE,EAAU;IAC/C,OAAO,KAAK,CAAC,mBAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,OAAO,CAAC,IAAY;IAClC,OAAO,KAAK,CAAC,mBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,KAAK,CAAC,mBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,KAAK,CAAC,IAAY;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,mBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACjE,CAAC;AAED,
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../src/path.ts"],"names":[],"mappings":";;;;;;AAMA,sBAEC;AAED,oBAEC;AAED,0BAEC;AAED,4BAEC;AAED,0BAEC;AAED,4BAEC;AAED,sBAGC;AA/BD,iDAAiD;AACjD,0DAAiC;AACjC,4DAA4B;AAE5B,SAAgB,KAAK,CAAC,IAAY;IAChC,OAAO,oBAAE,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,SAAgB,IAAI,CAAC,GAAG,KAAe;IACrC,OAAO,KAAK,CAAC,mBAAQ,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,OAAO,CAAC,GAAG,KAAe;IACxC,OAAO,KAAK,CAAC,mBAAQ,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,QAAQ,CAAC,IAAY,EAAE,EAAU;IAC/C,OAAO,KAAK,CAAC,mBAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,SAAgB,OAAO,CAAC,IAAY;IAClC,OAAO,KAAK,CAAC,mBAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,QAAQ,CAAC,IAAY;IACnC,OAAO,KAAK,CAAC,mBAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED,SAAgB,KAAK,CAAC,IAAY;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,mBAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5D,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AACjE,CAAC;AAED,6DAA6D;AAChD,QAAA,UAAU,GAAG,mBAAQ,CAAC,UAAU,CAAC"}
|
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.3.0",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"sideEffects": false,
|
|
7
7
|
"repository": {
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
"build": "tsc -b tsconfig.build.json"
|
|
25
25
|
},
|
|
26
26
|
"engines": {
|
|
27
|
-
"node": ">=
|
|
27
|
+
"node": ">=20.19.0"
|
|
28
28
|
},
|
|
29
29
|
"publishConfig": {
|
|
30
30
|
"access": "public",
|
package/src/config.ts
CHANGED
|
@@ -6,10 +6,6 @@ import type { Diagnostic } from './type.js';
|
|
|
6
6
|
// https://github.com/microsoft/TypeScript/blob/caf1aee269d1660b4d2a8b555c2d602c97cb28d7/src/compiler/commandLineParser.ts#L3006
|
|
7
7
|
const DEFAULT_INCLUDE_SPEC = '**/*';
|
|
8
8
|
|
|
9
|
-
type RemoveUndefined<T> = {
|
|
10
|
-
[K in keyof T]: Exclude<T[K], undefined>;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
9
|
/**
|
|
14
10
|
* The config used by css-modules-kit.
|
|
15
11
|
* This is normalized. Paths are resolved from relative to absolute, and default values are set for missing options.
|
|
@@ -19,6 +15,8 @@ export interface CMKConfig {
|
|
|
19
15
|
excludes: string[];
|
|
20
16
|
dtsOutDir: string;
|
|
21
17
|
arbitraryExtensions: boolean;
|
|
18
|
+
namedExports: boolean;
|
|
19
|
+
prioritizeNamedImports: boolean;
|
|
22
20
|
/**
|
|
23
21
|
* A root directory to resolve relative path entries in the config file to.
|
|
24
22
|
* This is an absolute path.
|
|
@@ -68,10 +66,12 @@ export interface CMKConfig {
|
|
|
68
66
|
* This is unnormalized. Paths are relative, and some options may be omitted.
|
|
69
67
|
*/
|
|
70
68
|
interface UnnormalizedRawConfig {
|
|
71
|
-
includes
|
|
72
|
-
excludes
|
|
73
|
-
dtsOutDir
|
|
74
|
-
arbitraryExtensions
|
|
69
|
+
includes?: string[];
|
|
70
|
+
excludes?: string[];
|
|
71
|
+
dtsOutDir?: string;
|
|
72
|
+
arbitraryExtensions?: boolean;
|
|
73
|
+
namedExports?: boolean;
|
|
74
|
+
prioritizeNamedImports?: boolean;
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
/**
|
|
@@ -93,12 +93,7 @@ export function findTsConfigFile(project: string): string | undefined {
|
|
|
93
93
|
|
|
94
94
|
function parseRawData(raw: unknown, tsConfigSourceFile: ts.TsConfigSourceFile): ParsedRawData {
|
|
95
95
|
const result: ParsedRawData = {
|
|
96
|
-
config: {
|
|
97
|
-
includes: undefined,
|
|
98
|
-
excludes: undefined,
|
|
99
|
-
dtsOutDir: undefined,
|
|
100
|
-
arbitraryExtensions: undefined,
|
|
101
|
-
},
|
|
96
|
+
config: {},
|
|
102
97
|
diagnostics: [],
|
|
103
98
|
};
|
|
104
99
|
if (typeof raw !== 'object' || raw === null) return result;
|
|
@@ -143,6 +138,28 @@ function parseRawData(raw: unknown, tsConfigSourceFile: ts.TsConfigSourceFile):
|
|
|
143
138
|
});
|
|
144
139
|
}
|
|
145
140
|
}
|
|
141
|
+
if ('namedExports' in raw.cmkOptions) {
|
|
142
|
+
if (typeof raw.cmkOptions.namedExports === 'boolean') {
|
|
143
|
+
result.config.namedExports = raw.cmkOptions.namedExports;
|
|
144
|
+
} else {
|
|
145
|
+
result.diagnostics.push({
|
|
146
|
+
category: 'error',
|
|
147
|
+
text: `\`namedExports\` in ${tsConfigSourceFile.fileName} must be a boolean.`,
|
|
148
|
+
// MEMO: Location information can be obtained from `tsConfigSourceFile.statements`, but this is complicated and will be omitted.
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
if ('prioritizeNamedImports' in raw.cmkOptions) {
|
|
153
|
+
if (typeof raw.cmkOptions.prioritizeNamedImports === 'boolean') {
|
|
154
|
+
result.config.prioritizeNamedImports = raw.cmkOptions.prioritizeNamedImports;
|
|
155
|
+
} else {
|
|
156
|
+
result.diagnostics.push({
|
|
157
|
+
category: 'error',
|
|
158
|
+
text: `\`prioritizeNamedImports\` in ${tsConfigSourceFile.fileName} must be a boolean.`,
|
|
159
|
+
// MEMO: Location information can be obtained from `tsConfigSourceFile.statements`, but this is complicated and will be omitted.
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
}
|
|
146
163
|
}
|
|
147
164
|
return result;
|
|
148
165
|
}
|
|
@@ -155,6 +172,7 @@ function mergeParsedRawData(base: ParsedRawData, overrides: ParsedRawData): Pars
|
|
|
155
172
|
if (overrides.config.dtsOutDir !== undefined) result.config.dtsOutDir = overrides.config.dtsOutDir;
|
|
156
173
|
if (overrides.config.arbitraryExtensions !== undefined)
|
|
157
174
|
result.config.arbitraryExtensions = overrides.config.arbitraryExtensions;
|
|
175
|
+
if (overrides.config.namedExports !== undefined) result.config.namedExports = overrides.config.namedExports;
|
|
158
176
|
result.diagnostics.push(...overrides.diagnostics);
|
|
159
177
|
return result;
|
|
160
178
|
}
|
|
@@ -217,24 +235,6 @@ export function readTsConfigFile(project: string): {
|
|
|
217
235
|
};
|
|
218
236
|
}
|
|
219
237
|
|
|
220
|
-
/**
|
|
221
|
-
* Normalize `UnnormalizedRawConfig`. Resolve relative paths to absolute paths, and set default values for missing options.
|
|
222
|
-
* @param basePath A root directory to resolve relative path entries in the config file to.
|
|
223
|
-
*/
|
|
224
|
-
export function normalizeConfig(
|
|
225
|
-
config: UnnormalizedRawConfig,
|
|
226
|
-
basePath: string,
|
|
227
|
-
): RemoveUndefined<UnnormalizedRawConfig> {
|
|
228
|
-
return {
|
|
229
|
-
// If `include` is not specified, fallback to the default include spec.
|
|
230
|
-
// ref: https://github.com/microsoft/TypeScript/blob/caf1aee269d1660b4d2a8b555c2d602c97cb28d7/src/compiler/commandLineParser.ts#L3102
|
|
231
|
-
includes: (config.includes ?? [DEFAULT_INCLUDE_SPEC]).map((i) => join(basePath, i)),
|
|
232
|
-
excludes: (config.excludes ?? []).map((e) => join(basePath, e)),
|
|
233
|
-
dtsOutDir: join(basePath, config.dtsOutDir ?? 'generated'),
|
|
234
|
-
arbitraryExtensions: config.arbitraryExtensions ?? false,
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
|
|
238
238
|
/**
|
|
239
239
|
* Reads the `tsconfig.json` file and returns the normalized config.
|
|
240
240
|
* Even if the `tsconfig.json` file contains syntax or semantic errors,
|
|
@@ -247,7 +247,14 @@ export function readConfigFile(project: string): CMKConfig {
|
|
|
247
247
|
const { configFileName, config, compilerOptions, diagnostics } = readTsConfigFile(project);
|
|
248
248
|
const basePath = dirname(configFileName);
|
|
249
249
|
return {
|
|
250
|
-
|
|
250
|
+
// If `include` is not specified, fallback to the default include spec.
|
|
251
|
+
// ref: https://github.com/microsoft/TypeScript/blob/caf1aee269d1660b4d2a8b555c2d602c97cb28d7/src/compiler/commandLineParser.ts#L3102
|
|
252
|
+
includes: (config.includes ?? [DEFAULT_INCLUDE_SPEC]).map((i) => join(basePath, i)),
|
|
253
|
+
excludes: (config.excludes ?? []).map((e) => join(basePath, e)),
|
|
254
|
+
dtsOutDir: join(basePath, config.dtsOutDir ?? 'generated'),
|
|
255
|
+
arbitraryExtensions: config.arbitraryExtensions ?? false,
|
|
256
|
+
namedExports: config.namedExports ?? false,
|
|
257
|
+
prioritizeNamedImports: config.prioritizeNamedImports ?? false,
|
|
251
258
|
basePath,
|
|
252
259
|
configFileName,
|
|
253
260
|
compilerOptions,
|
package/src/dts-creator.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import type { CSSModule, MatchesPattern, Resolver } from './type.js';
|
|
1
|
+
import type { CSSModule, MatchesPattern, Resolver, Token, TokenImporter } from './type.js';
|
|
2
2
|
|
|
3
3
|
export const STYLES_EXPORT_NAME = 'styles';
|
|
4
4
|
|
|
5
5
|
export interface CreateDtsOptions {
|
|
6
6
|
resolver: Resolver;
|
|
7
7
|
matchesPattern: MatchesPattern;
|
|
8
|
+
namedExports: boolean;
|
|
8
9
|
}
|
|
9
10
|
|
|
10
11
|
interface CodeMapping {
|
|
@@ -29,8 +30,122 @@ interface LinkedCodeMapping extends CodeMapping {
|
|
|
29
30
|
generatedLengths: number[];
|
|
30
31
|
}
|
|
31
32
|
|
|
33
|
+
interface CreateDtsResult {
|
|
34
|
+
text: string;
|
|
35
|
+
mapping: CodeMapping;
|
|
36
|
+
linkedCodeMapping: LinkedCodeMapping;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Create a d.ts file.
|
|
41
|
+
*/
|
|
42
|
+
export function createDts(cssModules: CSSModule, options: CreateDtsOptions): CreateDtsResult {
|
|
43
|
+
// Filter external files
|
|
44
|
+
const tokenImporters = cssModules.tokenImporters.filter((tokenImporter) => {
|
|
45
|
+
const resolved = options.resolver(tokenImporter.from, { request: cssModules.fileName });
|
|
46
|
+
return resolved !== undefined && options.matchesPattern(resolved);
|
|
47
|
+
});
|
|
48
|
+
if (options.namedExports) {
|
|
49
|
+
return createNamedExportsDts(cssModules.localTokens, tokenImporters);
|
|
50
|
+
} else {
|
|
51
|
+
return createDefaultExportDts(cssModules.localTokens, tokenImporters);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
32
55
|
/**
|
|
33
|
-
* Create a d.ts file
|
|
56
|
+
* Create a d.ts file with named exports.
|
|
57
|
+
* @example
|
|
58
|
+
* If the CSS module file is:
|
|
59
|
+
* ```css
|
|
60
|
+
* @import './a.module.css';
|
|
61
|
+
* @value local1: string;
|
|
62
|
+
* @value imported1, imported2 as aliasedImported2 from './b.module.css';
|
|
63
|
+
* .local2 { color: red }
|
|
64
|
+
* ```
|
|
65
|
+
* The d.ts file would be:
|
|
66
|
+
* ```ts
|
|
67
|
+
* // @ts-nocheck
|
|
68
|
+
* export var local1: string;
|
|
69
|
+
* export var local2: string;
|
|
70
|
+
* export * from './a.module.css';
|
|
71
|
+
* export {
|
|
72
|
+
* imported1,
|
|
73
|
+
* imported2 as aliasedImported2,
|
|
74
|
+
* } from './b.module.css';
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
function createNamedExportsDts(
|
|
78
|
+
localTokens: Token[],
|
|
79
|
+
tokenImporters: TokenImporter[],
|
|
80
|
+
): { text: string; mapping: CodeMapping; linkedCodeMapping: LinkedCodeMapping } {
|
|
81
|
+
const mapping: CodeMapping = { sourceOffsets: [], lengths: [], generatedOffsets: [] };
|
|
82
|
+
const linkedCodeMapping: LinkedCodeMapping = {
|
|
83
|
+
sourceOffsets: [],
|
|
84
|
+
lengths: [],
|
|
85
|
+
generatedOffsets: [],
|
|
86
|
+
generatedLengths: [],
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
// MEMO: Depending on the TypeScript compilation options, the generated type definition file contains compile errors.
|
|
90
|
+
// For example, it contains `Top-level 'await' expressions are only allowed when the 'module' option is set to ...` error.
|
|
91
|
+
//
|
|
92
|
+
// If `--skipLibCheck` is false, those errors will be reported by `tsc`. However, these are negligible errors.
|
|
93
|
+
// Therefore, `@ts-nocheck` is added to the generated type definition file.
|
|
94
|
+
let text = `// @ts-nocheck\n`;
|
|
95
|
+
|
|
96
|
+
for (const token of localTokens) {
|
|
97
|
+
text += `export var `;
|
|
98
|
+
mapping.sourceOffsets.push(token.loc.start.offset);
|
|
99
|
+
mapping.generatedOffsets.push(text.length);
|
|
100
|
+
mapping.lengths.push(token.name.length);
|
|
101
|
+
text += `${token.name}: string;\n`;
|
|
102
|
+
}
|
|
103
|
+
for (const tokenImporter of tokenImporters) {
|
|
104
|
+
if (tokenImporter.type === 'import') {
|
|
105
|
+
text += `export * from `;
|
|
106
|
+
mapping.sourceOffsets.push(tokenImporter.fromLoc.start.offset - 1);
|
|
107
|
+
mapping.lengths.push(tokenImporter.from.length + 2);
|
|
108
|
+
mapping.generatedOffsets.push(text.length);
|
|
109
|
+
text += `'${tokenImporter.from}';\n`;
|
|
110
|
+
} else {
|
|
111
|
+
text += `export {\n`;
|
|
112
|
+
// eslint-disable-next-line no-loop-func
|
|
113
|
+
tokenImporter.values.forEach((value) => {
|
|
114
|
+
const localName = value.localName ?? value.name;
|
|
115
|
+
const localLoc = value.localLoc ?? value.loc;
|
|
116
|
+
text += ` `;
|
|
117
|
+
if ('localName' in value) {
|
|
118
|
+
mapping.sourceOffsets.push(value.loc.start.offset);
|
|
119
|
+
mapping.lengths.push(value.name.length);
|
|
120
|
+
mapping.generatedOffsets.push(text.length);
|
|
121
|
+
linkedCodeMapping.generatedOffsets.push(text.length);
|
|
122
|
+
linkedCodeMapping.generatedLengths.push(value.name.length);
|
|
123
|
+
text += `${value.name} as `;
|
|
124
|
+
mapping.sourceOffsets.push(localLoc.start.offset);
|
|
125
|
+
mapping.lengths.push(localName.length);
|
|
126
|
+
mapping.generatedOffsets.push(text.length);
|
|
127
|
+
linkedCodeMapping.sourceOffsets.push(text.length);
|
|
128
|
+
linkedCodeMapping.lengths.push(localName.length);
|
|
129
|
+
text += `${localName},\n`;
|
|
130
|
+
} else {
|
|
131
|
+
mapping.sourceOffsets.push(value.loc.start.offset);
|
|
132
|
+
mapping.lengths.push(value.name.length);
|
|
133
|
+
mapping.generatedOffsets.push(text.length);
|
|
134
|
+
text += `${value.name},\n`;
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
text += `} from `;
|
|
138
|
+
mapping.sourceOffsets.push(tokenImporter.fromLoc.start.offset - 1);
|
|
139
|
+
mapping.lengths.push(tokenImporter.from.length + 2);
|
|
140
|
+
mapping.generatedOffsets.push(text.length);
|
|
141
|
+
text += `'${tokenImporter.from}';\n`;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return { text, mapping, linkedCodeMapping };
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Create a d.ts file with a default export.
|
|
34
149
|
* @example
|
|
35
150
|
* If the CSS module file is:
|
|
36
151
|
* ```css
|
|
@@ -52,9 +167,9 @@ interface LinkedCodeMapping extends CodeMapping {
|
|
|
52
167
|
* export default styles;
|
|
53
168
|
* ```
|
|
54
169
|
*/
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
170
|
+
function createDefaultExportDts(
|
|
171
|
+
localTokens: Token[],
|
|
172
|
+
tokenImporters: TokenImporter[],
|
|
58
173
|
): { text: string; mapping: CodeMapping; linkedCodeMapping: LinkedCodeMapping } {
|
|
59
174
|
const mapping: CodeMapping = { sourceOffsets: [], lengths: [], generatedOffsets: [] };
|
|
60
175
|
const linkedCodeMapping: LinkedCodeMapping = {
|
|
@@ -64,12 +179,6 @@ export function createDts(
|
|
|
64
179
|
generatedLengths: [],
|
|
65
180
|
};
|
|
66
181
|
|
|
67
|
-
// Filter external files
|
|
68
|
-
const tokenImporters = _tokenImporters.filter((tokenImporter) => {
|
|
69
|
-
const resolved = options.resolver(tokenImporter.from, { request: fileName });
|
|
70
|
-
return resolved !== undefined && options.matchesPattern(resolved);
|
|
71
|
-
});
|
|
72
|
-
|
|
73
182
|
// MEMO: Depending on the TypeScript compilation options, the generated type definition file contains compile errors.
|
|
74
183
|
// For example, it contains `Top-level 'await' expressions are only allowed when the 'module' option is set to ...` error.
|
|
75
184
|
//
|
package/src/index.ts
CHANGED
|
@@ -35,6 +35,6 @@ export {
|
|
|
35
35
|
} from './file.js';
|
|
36
36
|
export { checkCSSModule } from './checker.js';
|
|
37
37
|
export { createExportBuilder } from './export-builder.js';
|
|
38
|
-
export { join, resolve, relative, dirname, basename, parse,
|
|
38
|
+
export { join, resolve, relative, dirname, basename, parse, isAbsolute } from './path.js';
|
|
39
39
|
export { findUsedTokenNames } from './util.js';
|
|
40
40
|
export { convertDiagnostic, convertDiagnosticWithLocation, convertSystemError } from './diagnostic.js';
|
package/src/path.ts
CHANGED
|
@@ -33,8 +33,5 @@ export function parse(path: string): ParsedPath {
|
|
|
33
33
|
return { root: slash(root), dir: slash(dir), base, name, ext };
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
// eslint-disable-next-line n/no-unsupported-features/node-builtins, @typescript-eslint/unbound-method
|
|
37
|
-
export const matchesGlob = nodePath.matchesGlob;
|
|
38
|
-
|
|
39
36
|
// eslint-disable-next-line @typescript-eslint/unbound-method
|
|
40
37
|
export const isAbsolute = nodePath.isAbsolute;
|