lilconfig

中文文档
3.1.4发布于 2026/10/17MITTypeScriptCommonJS零依赖近 30 天下载 3.2亿

宇宙图的零依赖性替代品

中文使用文档
文档目录8 节
  1. 安装
  2. 使用量
  3. 无害环境管理
  4. 与 cosmiconfig
  5. 二者可选差别.
  6. 装入器示例
  7. Yaml 装载器
  8. 版本关联性

利尔克西克

npm version install size Coverage Status

零依赖性替代方案 宇宙图 同一个API.

安装

npm install lilconfig

使用量

import {lilconfig, lilconfigSync} from 'lilconfig';

// all keys are optional
const options = {
    stopDir: '/Users/you/some/dir',
    searchPlaces: ['package.json', 'myapp.conf.js'],
    ignoreEmptySearchPlaces: false
}

lilconfig(
    'myapp',
    options // optional
).search() // Promise<LilconfigResult>

lilconfigSync(
    'myapp',
    options // optional
).load(pathToConfig) // LilconfigResult

/**
 * LilconfigResult
 * {
 *   config: any; // your config
 *   filepath: string;
 * }
 */

无害环境管理

无害环境管理配置可以装入 仅作为 API具体而言 js 在项目中的文件 "type": "module" 内 package.json 或者说 mjs 文档.

与 cosmiconfig

Lilconfig 无意100%兼容 cosmiconfig 但尽可能模仿一下 关键区别在于 没有 框外的 YAML 文件支持( E)lilconfig 试图将文件解析为 JSON 而非 YAML 。 您仍可以通过提供加载器来添加对 YAML 文件的支持, 请查看 实例 见下文.

二者可选差别.

宇宙图选项用户配置
缓存✅
装载器✅
忽略 EmptySearch 标签✅
软件包配置✅
搜索位置✅
停止定义✅
转换✅

装入器示例

Yaml 装载器

如果您需要 YAML 支持, 您可以提供自己的加载器

import {lilconfig} from 'lilconfig';
import yaml from 'yaml';

function loadYaml(filepath, content) {
    return yaml.parse(content);
}

const options = {
    loaders: {
        '.yaml': loadYaml,
        '.yml': loadYaml,
        // loader for files with no extension
        noExt: loadYaml
    }
};

lilconfig('myapp', options)
    .search()
    .then(result => {
        result // {config, filepath}
    });

版本关联性

  • lilconfig v1 → 宇宙相克 v6
  • iilconfig v2 – 宇宙相克 v7
  • lilconfig v3 → 宇宙onfig v8 (英语)

版本与发布记录

lilconfig 共发布 18 个版本,首次发布于 2020/02/10;过去 12 个月发布了 1 个版本。

版本发布日期距今
3.1.4latest2026/10/1720 天前
3.1.32024/12/031.9 年前
3.1.22024/06/102 年前
3.1.12024/02/182 年前
3.1.02024/02/152 年前
3.0.02023/11/192 年前

关于 lilconfig 的常见问题

lilconfig 是什么?

宇宙图的零依赖性替代品

如何安装 lilconfig?

在项目目录运行 npm install lilconfig,或使用 pnpm add / yarn add / bun add。

lilconfig 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

lilconfig 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

lilconfig 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=14。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

lilconfig 可以商用吗?

lilconfig 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

lilconfig 的下载量有多少?

根据 npm 官方下载统计,lilconfig 在 2026/10/05 – 2026/11/03 这 30 天内被下载 317,089,897 次,日均约 10,569,663 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

lilconfig 还在维护吗?

最新版本 3.1.4 发布于 2026/10/17(20 天前);至今共发布 18 个版本,其中过去 12 个月发布了 1 个;首次发布于 2020/02/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。