6 个版本

0.1.6 2023年8月5日
0.1.5 2023年4月6日

#1939 in 命令行工具

32 每月下载量

MIT 许可证

29KB
692 代码行

fmerge

fmerge 是一个工具,允许递归地合并文件并使用自定义占位符模式。包含的文件语句始终相对于包含它们的文件。

示例

测试数据

root.json

{
    "data": [
        {{ ./item1.json }},
        {{ ./item2.json }}
    ]
}

item1.json

{
    "name": "Item 1",
    "data": {{ ./item_data.json }}
}

item2.json

{
    "name": "Item 2",
    "data": {{ ./item_data.json }}
}

item_data.json

{
    "foo": "bar"
}

执行

可以通过执行以下代码来合并这些文件

fmerge merge -f=./root.json -p="{{ %f }}"

生成的文件将打印到 STDOUT,并如下所示

{
    "data": [
        {
    "name": "Item 1",
    "data": {
    "foo": "bar"
}
},
        {
    "name": "Item 2",
    "data": {
    "foo": "bar"
}
}
    ]
}

文本替换不考虑格式。上面的结构是有效的 JSON,只是格式不正确。 fmerge 不会以任何方式修改它合并的内容。
正确格式的 JSON 如下所示

{
  "data": [
    {
      "name": "Item 1",
      "data": {
        "foo": "bar"
      }
    },
    {
      "name": "Item 2",
      "data": {
        "foo": "bar"
      }
    }
  ]
}

依赖

~6.5–9.5MB
~159K SLoC