npm.io
1.0.37 • Published 1 month ago

@idlebox/json-extends-loader

Licence
MIT
Version
1.0.37
Deps
3
Size
23 kB
Vulns
0
Weekly
0
Stars
12

json extends loader

读取链式json配置文件。例如:

{
	"extends": "...",
	// ...
}

用法:

import { loadInheritedJson } from '@idlebox/json-extends-loader';

const config = loadInheritedJson('src/tsconfig.json', { cwd: __dirname });

选项(第二个参数)

全部为可选项。

参数 类型 默认值 说明
readJsonFile (absPath: string) => anyIJsonLoader 使用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

错误对象