@idlebox/json-extends-loader
v1.0.26
Published
load JSON files with "extends" field
Readme
json extends loader
读取链式json配置文件。例如:
{
"extends": "...",
// ...
}用法:
import { loadInheritedJson } from '@idlebox/json-extends-loader';
const config = loadInheritedJson('src/tsconfig.json', { cwd: __dirname });选项(第二个参数)
全部为可选项。
| 参数 | 类型 | 默认值 | 说明 |
| -------------- | ------------------------------------------------------- | ---------------------------------------------------------------------------- | ------------------------------------------------------------ |
| readJsonFile | (absPath: string) => any 即 IJsonLoader | 使用comment-json读取并解析文件 | 读取指定文件,你可以通过此函数读取任何内容(如yaml) |
| cwd | string | process.cwd() | 如果第一个参数是相对路径,则与cwd拼接,否则无影响 |
| extendsField | string | "extends" | 将"extends"更换为其他字段名 |
| nodeResolution | boolean | true | 若为false,则不搜索node_modules,只能继承相对路径 |
| arrayMerge | <T>(target: T[], source: T[], options?: Options): T[] | 后者简单覆盖前者 | 参考deepmerge文档 |
额外的工具方法
readJsonFile(filePath: string): any
使用comment-json读取并解析json文件。
这是readJsonFile选项的默认值。
createDynamicReader(processor: IProcess): IJsonLoader
interface IProcess {
(file: string, data: any): void;
}返回一个函数,可用于readJsonFile选项。你可以在此回调中修改data。
const tsconfigReader: IJsonLoader
预定义的loader,可作为readJsonFile选项使用。
为加载tsconfig.json优化
- 解析许多与路径相关的选项。例如 outDir、rootDir
class NotFoundError
错误对象
