@alint-js/config
配置装入和设置文件工具 alint。 。 。 .
它会做什么
此软件包拥有配置的文件系统侧:
- 负载
alint.config.ts - 解决全局和项目设置 TOML 路径
- 解析并字符串设置 TOML
- 合并设置层
- 写入提供者设置文件
- 读取停止 门集设置并写入其非默认的 TOML 覆盖
- 安装远程插件包或本地插件目录并写入
.alint/plugins/lock.json - 导出内置忽略图案组用于低级工具
它被使用为 @alint-js/cli 并且对于需要检查或准备 alint 工程不运行插件.
普通类 alint.config.* 文件应当通过 @alint-js/cli 表面上如此,项目只需要CLI包.
如何使用
import {
getGlobalSetupConfigPath,
installStaticPlugins,
loadAlintConfig,
loadSetupConfig,
writeSetupConfig,
} from '@alint-js/config'
const setupPath = getGlobalSetupConfigPath()
const cwd = process.cwd()
const setup = await loadSetupConfig(setupPath)
await installStaticPlugins({ cwd })
const config = await loadAlintConfig(cwd)
await writeSetupConfig(setupPath, setup)
停下来 门配置使用工程配置 integrations.stopGate 字段,除非字段明确包含 enabled = true。 。 。 . setStopGateConfig 只扩展现有的 TOML 写入路径; 它不添加新的可写格式或输出路径选择 .
静态配置可以使用TOML,YAML,JSON,JSONC或JSON5. 它们是可执行 JavaScript 和 TypeScript 平面配置的只使用数据选项,并用字符串识别插件源.
例如,TOML支持精确的远程软件包,配置相对目录,以及本地的绝对路径:
[[config.group]]
[config.group.plugins]
plugin_1 = "@scope/[email protected]" # package
plugin_2 = "./plugins/relative-plugin-examplex" # relative directory
plugin_3 = "/opt/alint/plugins/absolute-plugin" # absolute directory
相对路径使用配置文件的目录作为其基础. Windows 本地路径应该使用 TOML 文字字符串, 这样回鞭仍然为文字 :
[[config.group]]
[config.group.plugins]
native = 'C:\alint\plugins\native-plugin'
使用 installStaticPlugins 在添加或更改插件源后.
- 软件包 : 下载精确的软件包版本
.alint/plugins/store,验证其完整性,并锁定安装的快照. - 当地 : 安装已设置的目录,验证其包根导出,并锁定其物理目录身份。 它不构建插件或安装其依赖性.
在更改源字符串,移动本地目录,或更改其同义链接目标后再次运行安装. 同一本地目录内的变化会被下一个进程加载而无需重排.
插件锁文件
.alint/plugins/lock.json 存储包含完整性元数据和本地目录源身份的软件包快照。 本地插件代码执行为可信任的节点.j;封装检查不是一个沙盒.
何时使用
- 您正在建立 CLI 命令、编辑器或自动化周围
alint相会. - 您需要读取或写入提供者设置 TOML .
- 你需要加载
alint.config.*在官方的CLI之外. - 在装入静态配置之前, 您需要安装远程软件包或本地插件目录 .
- 您需要与下级工具中的官方 CLI 相同的忽略默认值 .
不使用时
- 使用
@alint-js/cli当你只需要alint命令或普通alint.config.*文档. - 使用
@alint-js/core当您需要规则 DSL、源运行时间、模型解析度或运行引擎时.