{
  filenames: [
    "package.json",
    "scratch/version.tag.txt",
    "scratch/version.desc.txt"
  ],
  buildFormat: "full",
  tags: {
    major: 1,
    minor: 0,
    patch: 0,
    build: 20190910,
    revision: 0,
    tz: "America/Los_Angeles",
    startYear: "2017",
    sequence: 29
  },
  fileTypes: [
    {
      name: "Node Package",
      glob: "**/package.json",
      update: {
        search: "^(?<begin> *\"version\" *: *\")\\d+\\.\\d+\\.\\d+(?<end>\" *, *)$",
        replace: "${begin}${major}.${minor}.${patch}${end}"
      }
    },
    {
      name: "Javascript File",
      glob: "**/version.js",
      updates: [
        {
          search: "^(?<begin>\\s*export\\s*const\\s*shortVersion\\s*=\\s*\")\\d+\\.\\d+\\.\\d+(?<end>\"\\s*)$",
          replace: "${begin}${major}.${minor}.${patch}${end}"
        },
        {
          search: "^(?<begin>\\s*export\\s*const\\s*fullVersion\\s*=\\s*\")\\d+\\.\\d+\\.\\d+\\+\\d+\\.\\d+(?<end>\"\\s*)$",
          replace: "${begin}${major}.${minor}.${patch}+${build}.${revision}${end}"
        }
      ]
    },
    {
      name: "Commit tag file",
      glob: "**/*.tag.txt",
      write: "${major}.${minor}.${patch}"
    },
    {
      name: "Commit tag description file",
      glob: "**/*.desc.txt",
      write: "Version ${major}.${minor}.${patch}+${build}.${revision}"
    }
  ]
}