@css-modules-kit/core 0.0.3 → 0.0.5

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 CHANGED
@@ -1,3 +1,4 @@
1
+ import ts from 'typescript';
1
2
  import type { SemanticDiagnostic } from './diagnostic.js';
2
3
  type RemoveUndefined<T> = {
3
4
  [K in keyof T]: Exclude<T[K], undefined>;
@@ -9,7 +10,6 @@ type RemoveUndefined<T> = {
9
10
  export interface CMKConfig {
10
11
  includes: string[];
11
12
  excludes: string[];
12
- paths: Record<string, string[]>;
13
13
  dtsOutDir: string;
14
14
  arbitraryExtensions: boolean;
15
15
  /**
@@ -51,17 +51,17 @@ export interface CMKConfig {
51
51
  */
52
52
  basePath: string;
53
53
  configFileName: string;
54
+ compilerOptions: ts.CompilerOptions;
54
55
  /** The diagnostics that occurred while reading the config file. */
55
56
  diagnostics: SemanticDiagnostic[];
56
57
  }
57
58
  /**
58
- * The config loaded from `tsconfig.json`.
59
+ * The config loaded from `ts.ParsedCommandLine['raw']`.
59
60
  * This is unnormalized. Paths are relative, and some options may be omitted.
60
61
  */
61
- interface UnnormalizedCMKConfig {
62
+ interface UnnormalizedRawConfig {
62
63
  includes: string[] | undefined;
63
64
  excludes: string[] | undefined;
64
- paths: Record<string, string[]> | undefined;
65
65
  dtsOutDir: string | undefined;
66
66
  arbitraryExtensions: boolean | undefined;
67
67
  }
@@ -69,11 +69,26 @@ interface UnnormalizedCMKConfig {
69
69
  * The validated data of `ts.ParsedCommandLine['raw']`.
70
70
  */
71
71
  interface ParsedRawData {
72
- config: UnnormalizedCMKConfig;
72
+ config: UnnormalizedRawConfig;
73
73
  diagnostics: SemanticDiagnostic[];
74
74
  }
75
+ export declare function findTsConfigFile(project: string): string | undefined;
75
76
  declare function parseRawData(raw: unknown, configFileName: string): ParsedRawData;
76
77
  export { parseRawData as parseRawDataForTest };
78
+ /**
79
+ * @throws {TsConfigFileNotFoundError}
80
+ */
81
+ export declare function readTsConfigFile(project: string): {
82
+ configFileName: string;
83
+ config: UnnormalizedRawConfig;
84
+ compilerOptions: ts.CompilerOptions;
85
+ diagnostics: SemanticDiagnostic[];
86
+ };
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>;
77
92
  /**
78
93
  * Reads the `tsconfig.json` file and returns the normalized config.
79
94
  * Even if the `tsconfig.json` file contains syntax or semantic errors,
@@ -83,16 +98,4 @@ export { parseRawData as parseRawDataForTest };
83
98
  * @throws {TsConfigFileNotFoundError}
84
99
  */
85
100
  export declare function readConfigFile(project: string): CMKConfig;
86
- export declare function findTsConfigFile(project: string): string | undefined;
87
- /**
88
- * @throws {TsConfigFileNotFoundError}
89
- */
90
- export declare function readTsConfigFile(project: string): {
91
- configFileName: string;
92
- } & ParsedRawData;
93
- /**
94
- * Normalize the config. Resolve relative paths to absolute paths, and set default values for missing options.
95
- * @param basePath A root directory to resolve relative path entries in the config file to.
96
- */
97
- export declare function normalizeConfig(config: UnnormalizedCMKConfig, basePath: string): RemoveUndefined<UnnormalizedCMKConfig>;
98
101
  //# sourceMappingURL=config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAO1D,KAAK,eAAe,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CACzC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,EAAE,OAAO,CAAC;IAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,mEAAmE;IACnE,WAAW,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAED;;;GAGG;AACH,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,SAAS,CAAC;IAC5C,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mBAAmB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,WAAW,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAGD,iBAAS,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,aAAa,CAwEzE;AACD,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,CAAC;AAE/C;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CASzD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOpE;AAcD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG;IACjD,cAAc,EAAE,MAAM,CAAC;CACxB,GAAG,aAAa,CA+ChB;AAWD;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,EAAE,MAAM,GACf,eAAe,CAAC,qBAAqB,CAAC,CAUxC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAO1D,KAAK,eAAe,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CACzC,CAAC;AAEF;;;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAoCG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,EAAE,CAAC,eAAe,CAAC;IACpC,mEAAmE;IACnE,WAAW,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAED;;;GAGG;AACH,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,QAAQ,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC/B,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,mBAAmB,EAAE,OAAO,GAAG,SAAS,CAAC;CAC1C;AAED;;GAEG;AACH,UAAU,aAAa;IACrB,MAAM,EAAE,qBAAqB,CAAC;IAC9B,WAAW,EAAE,kBAAkB,EAAE,CAAC;CACnC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOpE;AAED,iBAAS,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,aAAa,CAwDzE;AACD,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,CAAC;AAa/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,kBAAkB,EAAE,CAAC;CACnC,CAgDA;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,qBAAqB,EAC7B,QAAQ,EAAE,MAAM,GACf,eAAe,CAAC,qBAAqB,CAAC,CASxC;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAUzD"}
package/dist/config.js CHANGED
@@ -3,23 +3,29 @@ 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.parseRawDataForTest = parseRawData;
7
- exports.readConfigFile = readConfigFile;
8
6
  exports.findTsConfigFile = findTsConfigFile;
7
+ exports.parseRawDataForTest = parseRawData;
9
8
  exports.readTsConfigFile = readTsConfigFile;
10
9
  exports.normalizeConfig = normalizeConfig;
10
+ exports.readConfigFile = readConfigFile;
11
11
  const typescript_1 = __importDefault(require("typescript"));
12
12
  const error_js_1 = require("./error.js");
13
13
  const path_js_1 = require("./path.js");
14
14
  // https://github.com/microsoft/TypeScript/blob/caf1aee269d1660b4d2a8b555c2d602c97cb28d7/src/compiler/commandLineParser.ts#L3006
15
15
  const DEFAULT_INCLUDE_SPEC = '**/*';
16
- // eslint-disable-next-line complexity
16
+ function findTsConfigFile(project) {
17
+ const configFile = typescript_1.default.sys.directoryExists(project) ?
18
+ typescript_1.default.findConfigFile(project, typescript_1.default.sys.fileExists.bind(typescript_1.default.sys), 'tsconfig.json')
19
+ : typescript_1.default.findConfigFile((0, path_js_1.dirname)(project), typescript_1.default.sys.fileExists.bind(typescript_1.default.sys), (0, path_js_1.basename)(project));
20
+ if (!configFile)
21
+ return undefined;
22
+ return (0, path_js_1.resolve)(configFile);
23
+ }
17
24
  function parseRawData(raw, configFileName) {
18
25
  const result = {
19
26
  config: {
20
27
  includes: undefined,
21
28
  excludes: undefined,
22
- paths: undefined,
23
29
  dtsOutDir: undefined,
24
30
  arbitraryExtensions: undefined,
25
31
  },
@@ -43,21 +49,6 @@ function parseRawData(raw, configFileName) {
43
49
  }
44
50
  // MEMO: The errors for this option are reported by `tsc` or `tsserver`, so we don't need to report.
45
51
  }
46
- if ('compilerOptions' in raw && typeof raw.compilerOptions === 'object' && raw.compilerOptions !== null) {
47
- if ('paths' in raw.compilerOptions) {
48
- if (typeof raw.compilerOptions.paths === 'object' && raw.compilerOptions.paths !== null) {
49
- const paths = {};
50
- for (const [key, value] of Object.entries(raw.compilerOptions.paths)) {
51
- if (Array.isArray(value)) {
52
- const resolvedValue = value.filter((v) => typeof v === 'string');
53
- paths[key] = resolvedValue;
54
- }
55
- }
56
- result.config.paths = paths;
57
- }
58
- // MEMO: The errors for this option are reported by `tsc` or `tsserver`, so we don't need to report.
59
- }
60
- }
61
52
  if ('cmkOptions' in raw && typeof raw.cmkOptions === 'object' && raw.cmkOptions !== null) {
62
53
  if ('dtsOutDir' in raw.cmkOptions) {
63
54
  if (typeof raw.cmkOptions.dtsOutDir === 'string') {
@@ -88,40 +79,12 @@ function parseRawData(raw, configFileName) {
88
79
  }
89
80
  return result;
90
81
  }
91
- /**
92
- * Reads the `tsconfig.json` file and returns the normalized config.
93
- * Even if the `tsconfig.json` file contains syntax or semantic errors,
94
- * this function attempts to parse as much as possible and still returns a valid config.
95
- *
96
- * @param project The absolute path to the project directory or the path to `tsconfig.json`.
97
- * @throws {TsConfigFileNotFoundError}
98
- */
99
- function readConfigFile(project) {
100
- const { configFileName, config, diagnostics } = readTsConfigFile(project);
101
- const basePath = (0, path_js_1.dirname)(configFileName);
102
- return {
103
- ...normalizeConfig(config, basePath),
104
- basePath,
105
- configFileName,
106
- diagnostics,
107
- };
108
- }
109
- function findTsConfigFile(project) {
110
- const configFile = typescript_1.default.sys.directoryExists(project) ?
111
- typescript_1.default.findConfigFile(project, typescript_1.default.sys.fileExists.bind(typescript_1.default.sys), 'tsconfig.json')
112
- : typescript_1.default.findConfigFile((0, path_js_1.dirname)(project), typescript_1.default.sys.fileExists.bind(typescript_1.default.sys), (0, path_js_1.basename)(project));
113
- if (!configFile)
114
- return undefined;
115
- return (0, path_js_1.resolve)(configFile);
116
- }
117
82
  function mergeParsedRawData(base, overrides) {
118
83
  const result = { config: { ...base.config }, diagnostics: [...base.diagnostics] };
119
84
  if (overrides.config.includes !== undefined)
120
85
  result.config.includes = overrides.config.includes;
121
86
  if (overrides.config.excludes !== undefined)
122
87
  result.config.excludes = overrides.config.excludes;
123
- if (overrides.config.paths !== undefined)
124
- result.config.paths = overrides.config.paths;
125
88
  if (overrides.config.dtsOutDir !== undefined)
126
89
  result.config.dtsOutDir = overrides.config.dtsOutDir;
127
90
  if (overrides.config.arbitraryExtensions !== undefined)
@@ -168,20 +131,12 @@ function readTsConfigFile(project) {
168
131
  }
169
132
  return {
170
133
  configFileName,
134
+ compilerOptions: parsedCommandLine.options,
171
135
  ...parsedRawData,
172
136
  };
173
137
  }
174
- function resolvePaths(paths, cwd) {
175
- if (paths === undefined)
176
- return {};
177
- const resolvedPaths = {};
178
- for (const [key, value] of Object.entries(paths)) {
179
- resolvedPaths[key] = value.map((path) => (0, path_js_1.join)(cwd, path));
180
- }
181
- return resolvedPaths;
182
- }
183
138
  /**
184
- * Normalize the config. Resolve relative paths to absolute paths, and set default values for missing options.
139
+ * Normalize `UnnormalizedRawConfig`. Resolve relative paths to absolute paths, and set default values for missing options.
185
140
  * @param basePath A root directory to resolve relative path entries in the config file to.
186
141
  */
187
142
  function normalizeConfig(config, basePath) {
@@ -190,9 +145,27 @@ function normalizeConfig(config, basePath) {
190
145
  // ref: https://github.com/microsoft/TypeScript/blob/caf1aee269d1660b4d2a8b555c2d602c97cb28d7/src/compiler/commandLineParser.ts#L3102
191
146
  includes: (config.includes ?? [DEFAULT_INCLUDE_SPEC]).map((i) => (0, path_js_1.join)(basePath, i)),
192
147
  excludes: (config.excludes ?? []).map((e) => (0, path_js_1.join)(basePath, e)),
193
- paths: resolvePaths(config.paths, basePath),
194
148
  dtsOutDir: (0, path_js_1.join)(basePath, config.dtsOutDir ?? 'generated'),
195
149
  arbitraryExtensions: config.arbitraryExtensions ?? false,
196
150
  };
197
151
  }
152
+ /**
153
+ * Reads the `tsconfig.json` file and returns the normalized config.
154
+ * Even if the `tsconfig.json` file contains syntax or semantic errors,
155
+ * this function attempts to parse as much as possible and still returns a valid config.
156
+ *
157
+ * @param project The absolute path to the project directory or the path to `tsconfig.json`.
158
+ * @throws {TsConfigFileNotFoundError}
159
+ */
160
+ function readConfigFile(project) {
161
+ const { configFileName, config, compilerOptions, diagnostics } = readTsConfigFile(project);
162
+ const basePath = (0, path_js_1.dirname)(configFileName);
163
+ return {
164
+ ...normalizeConfig(config, basePath),
165
+ basePath,
166
+ configFileName,
167
+ compilerOptions,
168
+ diagnostics,
169
+ };
170
+ }
198
171
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ interface LinkedCodeMapping extends CodeMapping {
37
37
  * ```
38
38
  * The d.ts file would be:
39
39
  * ```ts
40
+ * // @ts-nocheck
40
41
  * const styles = {
41
42
  * local1: '' as readonly string,
42
43
  * local2: '' as readonly string,
@@ -1 +1 @@
1
- {"version":3,"file":"dts-creator.d.ts","sourceRoot":"","sources":["../src/dts-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;CAChC;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;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,SAAS,CACvB,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,SAAS,EACrE,OAAO,EAAE,gBAAgB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,iBAAiB,EAAE,iBAAiB,CAAA;CAAE,CAqE9E"}
1
+ {"version":3,"file":"dts-creator.d.ts","sourceRoot":"","sources":["../src/dts-creator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,QAAQ,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;CAChC;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;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,SAAS,CACvB,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAE,EAAE,SAAS,EACrE,OAAO,EAAE,gBAAgB,GACxB;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,WAAW,CAAC;IAAC,iBAAiB,EAAE,iBAAiB,CAAA;CAAE,CAkE9E"}
@@ -15,6 +15,7 @@ exports.STYLES_EXPORT_NAME = 'styles';
15
15
  * ```
16
16
  * The d.ts file would be:
17
17
  * ```ts
18
+ * // @ts-nocheck
18
19
  * const styles = {
19
20
  * local1: '' as readonly string,
20
21
  * local2: '' as readonly string,
@@ -38,15 +39,12 @@ function createDts({ fileName, localTokens, tokenImporters: _tokenImporters }, o
38
39
  const resolved = options.resolver(tokenImporter.from, { request: fileName });
39
40
  return resolved !== undefined && options.matchesPattern(resolved);
40
41
  });
41
- // If the CSS module file has no tokens, return an .d.ts file with an empty object.
42
- if (localTokens.length === 0 && tokenImporters.length === 0) {
43
- return {
44
- text: `declare const ${exports.STYLES_EXPORT_NAME} = {};\nexport default ${exports.STYLES_EXPORT_NAME};\n`,
45
- mapping,
46
- linkedCodeMapping,
47
- };
48
- }
49
- let text = `declare const ${exports.STYLES_EXPORT_NAME} = {\n`;
42
+ // MEMO: Depending on the TypeScript compilation options, the generated type definition file contains compile errors.
43
+ // For example, it contains `Top-level 'await' expressions are only allowed when the 'module' option is set to ...` error.
44
+ //
45
+ // If `--skipLibCheck` is false, those errors will be reported by `tsc`. However, these are negligible errors.
46
+ // Therefore, `@ts-nocheck` is added to the generated type definition file.
47
+ let text = `// @ts-nocheck\ndeclare const ${exports.STYLES_EXPORT_NAME} = {\n`;
50
48
  for (const token of localTokens) {
51
49
  text += ` `;
52
50
  mapping.sourceOffsets.push(token.loc.start.offset);
@@ -1 +1 @@
1
- {"version":3,"file":"dts-creator.js","sourceRoot":"","sources":["../src/dts-creator.ts"],"names":[],"mappings":";;;AAuDA,8BAwEC;AA3HY,QAAA,kBAAkB,GAAG,QAAQ,CAAC;AA6B3C;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAgB,SAAS,CACvB,EAAE,QAAQ,EAAE,WAAW,EAAE,cAAc,EAAE,eAAe,EAAa,EACrE,OAAyB;IAEzB,MAAM,OAAO,GAAgB,EAAE,aAAa,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC;IACtF,MAAM,iBAAiB,GAAsB;QAC3C,aAAa,EAAE,EAAE;QACjB,OAAO,EAAE,EAAE;QACX,gBAAgB,EAAE,EAAE;QACpB,gBAAgB,EAAE,EAAE;KACrB,CAAC;IAEF,wBAAwB;IACxB,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,EAAE;QAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7E,OAAO,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,mFAAmF;IACnF,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5D,OAAO;YACL,IAAI,EAAE,iBAAiB,0BAAkB,0BAA0B,0BAAkB,KAAK;YAC1F,OAAO;YACP,iBAAiB;SAClB,CAAC;IACJ,CAAC;IAED,IAAI,IAAI,GAAG,iBAAiB,0BAAkB,QAAQ,CAAC;IACvD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,IAAI,IAAI,CAAC;QACb,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,4BAA4B,CAAC;IACpD,CAAC;IACD,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE,CAAC;QAC3C,IAAI,aAAa,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,IAAI,qBAAqB,CAAC;YAC9B,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACpD,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC3C,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,gBAAgB,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;gBACxC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC;gBAChD,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,GAAG,CAAC;gBAE7C,IAAI,IAAI,IAAI,CAAC;gBACb,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAClD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACvC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,iBAAiB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAClD,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjD,IAAI,IAAI,GAAG,SAAS,kBAAkB,CAAC;gBACvC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;oBACZ,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACnE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;oBACpD,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC7C,CAAC;gBACD,IAAI,IAAI,IAAI,aAAa,CAAC,IAAI,cAAc,CAAC;gBAC7C,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBACnD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACxC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3C,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrD,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC3D,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,CAAC;YAC7B,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,IAAI,IAAI,sBAAsB,0BAAkB,KAAK,CAAC;IACtD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,iBAAiB,EAAE,CAAC;AAC9C,CAAC"}
1
+ {"version":3,"file":"dts-creator.js","sourceRoot":"","sources":["../src/dts-creator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/parser/location.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IAEH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IAEH,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,KAAK,EAAE,QAAQ,CAAC;IAChB;;;OAGG;IAEH,GAAG,EAAE,QAAQ,CAAC;CACf;AAED,wBAAgB,4CAA4C,CAC1D,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,cAAc,CAAC,IAAI,GACxB;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,kBAAkB,CAAA;CAAE,CAIxD"}
1
+ {"version":3,"file":"location.d.ts","sourceRoot":"","sources":["../../src/parser/location.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,cAAc,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAC;IACf,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB;;;OAGG;IACH,KAAK,EAAE,QAAQ,CAAC;IAChB;;;OAGG;IACH,GAAG,EAAE,QAAQ,CAAC;CACf;AAED,wBAAgB,4CAA4C,CAC1D,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,cAAc,CAAC,IAAI,GACxB;IAAE,KAAK,EAAE,kBAAkB,CAAC;IAAC,GAAG,EAAE,kBAAkB,CAAA;CAAE,CAIxD"}
@@ -1 +1 @@
1
- {"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/parser/location.ts"],"names":[],"mappings":";;AAmCA,oGAOC;AAPD,SAAgB,4CAA4C,CAC1D,IAAU,EACV,IAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAClF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC"}
1
+ {"version":3,"file":"location.js","sourceRoot":"","sources":["../../src/parser/location.ts"],"names":[],"mappings":";;AAgCA,oGAOC;AAPD,SAAgB,4CAA4C,CAC1D,IAAU,EACV,IAAyB;IAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC;IAClF,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC"}
@@ -1,3 +1,4 @@
1
+ import type { CompilerOptions } from 'typescript';
1
2
  export interface ResolverOptions {
2
3
  /** The file that imports the specifier. It is a absolute path. */
3
4
  request: string;
@@ -9,5 +10,5 @@ export interface ResolverOptions {
9
10
  * @returns The resolved import specifier. It is a absolute path. If the import specifier cannot be resolved, return `undefined`.
10
11
  */
11
12
  export type Resolver = (specifier: string, options: ResolverOptions) => string | undefined;
12
- export declare function createResolver(paths: Record<string, string[]>): Resolver;
13
+ export declare function createResolver(compilerOptions: CompilerOptions): Resolver;
13
14
  //# sourceMappingURL=resolver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,KAAK,MAAM,GAAG,SAAS,CAAC;AAE3F,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,QAAQ,CA+BxE"}
1
+ {"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,MAAM,WAAW,eAAe;IAC9B,kEAAkE;IAClE,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,KAAK,MAAM,GAAG,SAAS,CAAC;AAE3F,wBAAgB,cAAc,CAAC,eAAe,EAAE,eAAe,GAAG,QAAQ,CA+BzE"}
package/dist/resolver.js CHANGED
@@ -7,7 +7,7 @@ exports.createResolver = createResolver;
7
7
  const node_url_1 = require("node:url");
8
8
  const typescript_1 = __importDefault(require("typescript"));
9
9
  const path_js_1 = require("./path.js");
10
- function createResolver(paths) {
10
+ function createResolver(compilerOptions) {
11
11
  return (_specifier, options) => {
12
12
  let specifier = _specifier;
13
13
  const host = {
@@ -19,7 +19,7 @@ function createResolver(paths) {
19
19
  return typescript_1.default.sys.fileExists(fileName);
20
20
  },
21
21
  };
22
- const { resolvedModule } = typescript_1.default.resolveModuleName(specifier, options.request, { paths }, host);
22
+ const { resolvedModule } = typescript_1.default.resolveModuleName(specifier, options.request, compilerOptions, host);
23
23
  if (resolvedModule) {
24
24
  // TODO: Logging that the paths is used.
25
25
  specifier = resolvedModule.resolvedFileName.replace(/\.module\.d\.css\.ts$/u, '.module.css');
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":";;;;;AAiBA,wCA+BC;AAhDD,uCAAwD;AACxD,4DAA4B;AAC5B,uCAAgD;AAehD,SAAgB,cAAc,CAAC,KAA+B;IAC5D,OAAO,CAAC,UAAkB,EAAE,OAAwB,EAAE,EAAE;QACtD,IAAI,SAAS,GAAG,UAAU,CAAC;QAE3B,MAAM,IAAI,GAA4B;YACpC,GAAG,oBAAE,CAAC,GAAG;YACT,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACvB,IAAI,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC1C,OAAO,oBAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO,oBAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;SACF,CAAC;QACF,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC7F,IAAI,cAAc,EAAE,CAAC;YACnB,wCAAwC;YACxC,SAAS,GAAG,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,4CAA4C;YAC5C,kIAAkI;YAClI,qEAAqE;YACrE,OAAO,IAAA,iBAAO,EAAC,IAAA,wBAAa,EAAC,IAAI,GAAG,CAAC,SAAS,EAAE,IAAA,wBAAa,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,sDAAsD;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":";;;;;AAkBA,wCA+BC;AAjDD,uCAAwD;AAExD,4DAA4B;AAC5B,uCAAgD;AAehD,SAAgB,cAAc,CAAC,eAAgC;IAC7D,OAAO,CAAC,UAAkB,EAAE,OAAwB,EAAE,EAAE;QACtD,IAAI,SAAS,GAAG,UAAU,CAAC;QAE3B,MAAM,IAAI,GAA4B;YACpC,GAAG,oBAAE,CAAC,GAAG;YACT,UAAU,EAAE,CAAC,QAAQ,EAAE,EAAE;gBACvB,IAAI,QAAQ,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC1C,OAAO,oBAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC,CAAC;gBACtF,CAAC;gBACD,OAAO,oBAAE,CAAC,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrC,CAAC;SACF,CAAC;QACF,MAAM,EAAE,cAAc,EAAE,GAAG,oBAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QACnG,IAAI,cAAc,EAAE,CAAC;YACnB,wCAAwC;YACxC,SAAS,GAAG,cAAc,CAAC,gBAAgB,CAAC,OAAO,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;QAC/F,CAAC;QACD,IAAI,IAAA,oBAAU,EAAC,SAAS,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAA,iBAAO,EAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;aAAM,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1C,4CAA4C;YAC5C,kIAAkI;YAClI,qEAAqE;YACrE,OAAO,IAAA,iBAAO,EAAC,IAAA,wBAAa,EAAC,IAAI,GAAG,CAAC,SAAS,EAAE,IAAA,wBAAa,EAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACzF,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,sDAAsD;YACtD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,mBAAmB,CAAC,SAAiB;IAC5C,OAAO,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;AACnE,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.0.3",
4
+ "version": "0.0.5",
5
5
  "type": "commonjs",
6
6
  "sideEffects": false,
7
7
  "repository": {
package/src/config.ts CHANGED
@@ -17,7 +17,6 @@ type RemoveUndefined<T> = {
17
17
  export interface CMKConfig {
18
18
  includes: string[];
19
19
  excludes: string[];
20
- paths: Record<string, string[]>;
21
20
  dtsOutDir: string;
22
21
  arbitraryExtensions: boolean;
23
22
  /**
@@ -59,18 +58,18 @@ export interface CMKConfig {
59
58
  */
60
59
  basePath: string;
61
60
  configFileName: string;
61
+ compilerOptions: ts.CompilerOptions;
62
62
  /** The diagnostics that occurred while reading the config file. */
63
63
  diagnostics: SemanticDiagnostic[];
64
64
  }
65
65
 
66
66
  /**
67
- * The config loaded from `tsconfig.json`.
67
+ * The config loaded from `ts.ParsedCommandLine['raw']`.
68
68
  * This is unnormalized. Paths are relative, and some options may be omitted.
69
69
  */
70
- interface UnnormalizedCMKConfig {
70
+ interface UnnormalizedRawConfig {
71
71
  includes: string[] | undefined;
72
72
  excludes: string[] | undefined;
73
- paths: Record<string, string[]> | undefined;
74
73
  dtsOutDir: string | undefined;
75
74
  arbitraryExtensions: boolean | undefined;
76
75
  }
@@ -79,17 +78,24 @@ interface UnnormalizedCMKConfig {
79
78
  * The validated data of `ts.ParsedCommandLine['raw']`.
80
79
  */
81
80
  interface ParsedRawData {
82
- config: UnnormalizedCMKConfig;
81
+ config: UnnormalizedRawConfig;
83
82
  diagnostics: SemanticDiagnostic[];
84
83
  }
85
84
 
86
- // eslint-disable-next-line complexity
85
+ export function findTsConfigFile(project: string): string | undefined {
86
+ const configFile =
87
+ ts.sys.directoryExists(project) ?
88
+ ts.findConfigFile(project, ts.sys.fileExists.bind(ts.sys), 'tsconfig.json')
89
+ : ts.findConfigFile(dirname(project), ts.sys.fileExists.bind(ts.sys), basename(project));
90
+ if (!configFile) return undefined;
91
+ return resolve(configFile);
92
+ }
93
+
87
94
  function parseRawData(raw: unknown, configFileName: string): ParsedRawData {
88
95
  const result: ParsedRawData = {
89
96
  config: {
90
97
  includes: undefined,
91
98
  excludes: undefined,
92
- paths: undefined,
93
99
  dtsOutDir: undefined,
94
100
  arbitraryExtensions: undefined,
95
101
  },
@@ -114,21 +120,6 @@ function parseRawData(raw: unknown, configFileName: string): ParsedRawData {
114
120
  }
115
121
  // MEMO: The errors for this option are reported by `tsc` or `tsserver`, so we don't need to report.
116
122
  }
117
- if ('compilerOptions' in raw && typeof raw.compilerOptions === 'object' && raw.compilerOptions !== null) {
118
- if ('paths' in raw.compilerOptions) {
119
- if (typeof raw.compilerOptions.paths === 'object' && raw.compilerOptions.paths !== null) {
120
- const paths: Record<string, string[]> = {};
121
- for (const [key, value] of Object.entries(raw.compilerOptions.paths)) {
122
- if (Array.isArray(value)) {
123
- const resolvedValue = value.filter((v) => typeof v === 'string');
124
- paths[key] = resolvedValue;
125
- }
126
- }
127
- result.config.paths = paths;
128
- }
129
- // MEMO: The errors for this option are reported by `tsc` or `tsserver`, so we don't need to report.
130
- }
131
- }
132
123
  if ('cmkOptions' in raw && typeof raw.cmkOptions === 'object' && raw.cmkOptions !== null) {
133
124
  if ('dtsOutDir' in raw.cmkOptions) {
134
125
  if (typeof raw.cmkOptions.dtsOutDir === 'string') {
@@ -159,39 +150,10 @@ function parseRawData(raw: unknown, configFileName: string): ParsedRawData {
159
150
  }
160
151
  export { parseRawData as parseRawDataForTest };
161
152
 
162
- /**
163
- * Reads the `tsconfig.json` file and returns the normalized config.
164
- * Even if the `tsconfig.json` file contains syntax or semantic errors,
165
- * this function attempts to parse as much as possible and still returns a valid config.
166
- *
167
- * @param project The absolute path to the project directory or the path to `tsconfig.json`.
168
- * @throws {TsConfigFileNotFoundError}
169
- */
170
- export function readConfigFile(project: string): CMKConfig {
171
- const { configFileName, config, diagnostics } = readTsConfigFile(project);
172
- const basePath = dirname(configFileName);
173
- return {
174
- ...normalizeConfig(config, basePath),
175
- basePath,
176
- configFileName,
177
- diagnostics,
178
- };
179
- }
180
-
181
- export function findTsConfigFile(project: string): string | undefined {
182
- const configFile =
183
- ts.sys.directoryExists(project) ?
184
- ts.findConfigFile(project, ts.sys.fileExists.bind(ts.sys), 'tsconfig.json')
185
- : ts.findConfigFile(dirname(project), ts.sys.fileExists.bind(ts.sys), basename(project));
186
- if (!configFile) return undefined;
187
- return resolve(configFile);
188
- }
189
-
190
153
  function mergeParsedRawData(base: ParsedRawData, overrides: ParsedRawData): ParsedRawData {
191
154
  const result: ParsedRawData = { config: { ...base.config }, diagnostics: [...base.diagnostics] };
192
155
  if (overrides.config.includes !== undefined) result.config.includes = overrides.config.includes;
193
156
  if (overrides.config.excludes !== undefined) result.config.excludes = overrides.config.excludes;
194
- if (overrides.config.paths !== undefined) result.config.paths = overrides.config.paths;
195
157
  if (overrides.config.dtsOutDir !== undefined) result.config.dtsOutDir = overrides.config.dtsOutDir;
196
158
  if (overrides.config.arbitraryExtensions !== undefined)
197
159
  result.config.arbitraryExtensions = overrides.config.arbitraryExtensions;
@@ -204,7 +166,10 @@ function mergeParsedRawData(base: ParsedRawData, overrides: ParsedRawData): Pars
204
166
  */
205
167
  export function readTsConfigFile(project: string): {
206
168
  configFileName: string;
207
- } & ParsedRawData {
169
+ config: UnnormalizedRawConfig;
170
+ compilerOptions: ts.CompilerOptions;
171
+ diagnostics: SemanticDiagnostic[];
172
+ } {
208
173
  const configFileName = findTsConfigFile(project);
209
174
  if (!configFileName) throw new TsConfigFileNotFoundError();
210
175
 
@@ -249,34 +214,45 @@ export function readTsConfigFile(project: string): {
249
214
 
250
215
  return {
251
216
  configFileName,
217
+ compilerOptions: parsedCommandLine.options,
252
218
  ...parsedRawData,
253
219
  };
254
220
  }
255
221
 
256
- function resolvePaths(paths: Record<string, string[]> | undefined, cwd: string): Record<string, string[]> {
257
- if (paths === undefined) return {};
258
- const resolvedPaths: Record<string, string[]> = {};
259
- for (const [key, value] of Object.entries(paths)) {
260
- resolvedPaths[key] = value.map((path) => join(cwd, path));
261
- }
262
- return resolvedPaths;
263
- }
264
-
265
222
  /**
266
- * Normalize the config. Resolve relative paths to absolute paths, and set default values for missing options.
223
+ * Normalize `UnnormalizedRawConfig`. Resolve relative paths to absolute paths, and set default values for missing options.
267
224
  * @param basePath A root directory to resolve relative path entries in the config file to.
268
225
  */
269
226
  export function normalizeConfig(
270
- config: UnnormalizedCMKConfig,
227
+ config: UnnormalizedRawConfig,
271
228
  basePath: string,
272
- ): RemoveUndefined<UnnormalizedCMKConfig> {
229
+ ): RemoveUndefined<UnnormalizedRawConfig> {
273
230
  return {
274
231
  // If `include` is not specified, fallback to the default include spec.
275
232
  // ref: https://github.com/microsoft/TypeScript/blob/caf1aee269d1660b4d2a8b555c2d602c97cb28d7/src/compiler/commandLineParser.ts#L3102
276
233
  includes: (config.includes ?? [DEFAULT_INCLUDE_SPEC]).map((i) => join(basePath, i)),
277
234
  excludes: (config.excludes ?? []).map((e) => join(basePath, e)),
278
- paths: resolvePaths(config.paths, basePath),
279
235
  dtsOutDir: join(basePath, config.dtsOutDir ?? 'generated'),
280
236
  arbitraryExtensions: config.arbitraryExtensions ?? false,
281
237
  };
282
238
  }
239
+
240
+ /**
241
+ * Reads the `tsconfig.json` file and returns the normalized config.
242
+ * Even if the `tsconfig.json` file contains syntax or semantic errors,
243
+ * this function attempts to parse as much as possible and still returns a valid config.
244
+ *
245
+ * @param project The absolute path to the project directory or the path to `tsconfig.json`.
246
+ * @throws {TsConfigFileNotFoundError}
247
+ */
248
+ export function readConfigFile(project: string): CMKConfig {
249
+ const { configFileName, config, compilerOptions, diagnostics } = readTsConfigFile(project);
250
+ const basePath = dirname(configFileName);
251
+ return {
252
+ ...normalizeConfig(config, basePath),
253
+ basePath,
254
+ configFileName,
255
+ compilerOptions,
256
+ diagnostics,
257
+ };
258
+ }
@@ -43,6 +43,7 @@ interface LinkedCodeMapping extends CodeMapping {
43
43
  * ```
44
44
  * The d.ts file would be:
45
45
  * ```ts
46
+ * // @ts-nocheck
46
47
  * const styles = {
47
48
  * local1: '' as readonly string,
48
49
  * local2: '' as readonly string,
@@ -71,16 +72,13 @@ export function createDts(
71
72
  return resolved !== undefined && options.matchesPattern(resolved);
72
73
  });
73
74
 
74
- // If the CSS module file has no tokens, return an .d.ts file with an empty object.
75
- if (localTokens.length === 0 && tokenImporters.length === 0) {
76
- return {
77
- text: `declare const ${STYLES_EXPORT_NAME} = {};\nexport default ${STYLES_EXPORT_NAME};\n`,
78
- mapping,
79
- linkedCodeMapping,
80
- };
81
- }
75
+ // MEMO: Depending on the TypeScript compilation options, the generated type definition file contains compile errors.
76
+ // For example, it contains `Top-level 'await' expressions are only allowed when the 'module' option is set to ...` error.
77
+ //
78
+ // If `--skipLibCheck` is false, those errors will be reported by `tsc`. However, these are negligible errors.
79
+ // Therefore, `@ts-nocheck` is added to the generated type definition file.
80
+ let text = `// @ts-nocheck\ndeclare const ${STYLES_EXPORT_NAME} = {\n`;
82
81
 
83
- let text = `declare const ${STYLES_EXPORT_NAME} = {\n`;
84
82
  for (const token of localTokens) {
85
83
  text += ` `;
86
84
  mapping.sourceOffsets.push(token.loc.start.offset);
@@ -7,13 +7,11 @@ export interface Position {
7
7
  * The line number in the source file. It is 1-based.
8
8
  * This is compatible with postcss and tsserver.
9
9
  */
10
- // TODO: Maybe it should be deleted since it is not used
11
10
  line: number;
12
11
  /**
13
12
  * The column number in the source file. It is 1-based.
14
13
  * This is compatible with postcss and tsserver.
15
14
  */
16
- // TODO: Maybe it should be deleted since it is not used
17
15
  column: number;
18
16
  /** The offset in the source file. It is 0-based. */
19
17
  offset: number;
@@ -29,7 +27,6 @@ export interface Location {
29
27
  * The ending position of the node. It is exclusive.
30
28
  * This is compatible with tsserver, but not postcss.
31
29
  */
32
- // TODO: Maybe it should be deleted since it is not used
33
30
  end: Position;
34
31
  }
35
32
 
package/src/resolver.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { fileURLToPath, pathToFileURL } from 'node:url';
2
+ import type { CompilerOptions } from 'typescript';
2
3
  import ts from 'typescript';
3
4
  import { isAbsolute, resolve } from './path.js';
4
5
 
@@ -15,7 +16,7 @@ export interface ResolverOptions {
15
16
  */
16
17
  export type Resolver = (specifier: string, options: ResolverOptions) => string | undefined;
17
18
 
18
- export function createResolver(paths: Record<string, string[]>): Resolver {
19
+ export function createResolver(compilerOptions: CompilerOptions): Resolver {
19
20
  return (_specifier: string, options: ResolverOptions) => {
20
21
  let specifier = _specifier;
21
22
 
@@ -28,7 +29,7 @@ export function createResolver(paths: Record<string, string[]>): Resolver {
28
29
  return ts.sys.fileExists(fileName);
29
30
  },
30
31
  };
31
- const { resolvedModule } = ts.resolveModuleName(specifier, options.request, { paths }, host);
32
+ const { resolvedModule } = ts.resolveModuleName(specifier, options.request, compilerOptions, host);
32
33
  if (resolvedModule) {
33
34
  // TODO: Logging that the paths is used.
34
35
  specifier = resolvedModule.resolvedFileName.replace(/\.module\.d\.css\.ts$/u, '.module.css');