$schema: https://raw.githubusercontent.com/zokugun/artifact/v0.9.0/schemas/v2/package.json

always:
  .czrc:
    if_exists: remove

  package.json:
    transforms:
      - description: Remove scripts.commit only when it clearly invokes Commitizen
        jq: |
          if ((.scripts.commit? // "") | test("cz")) then
            del(.scripts.commit)
          else
            .
          end
      - description: Remove commitizen from devDependencies
        jq: 'del(.devDependencies.commitizen)'

upsert:
  .github/**/*.yml:
    if_exists: overwrite

  .github/workflows/check-pr.yml:
    rename: .github/workflows/ci-pr.yml

  .github/workflows/lock-closed-threads.yml:
    rename: .github/workflows/mod-lock-closed-threads.yml

  .github/workflows/stale-issue-pr.yml:
    rename: .github/workflows/mod-stale-issue-pr.yml

  .lintstagedrc:
    if_exists: remove

update:
  package.json:
    filter:
      - scripts
      - devDependencies

journeys:
  - name: fixpack
    travels:
      - path: .fixpackrc
        format: json
    route:
      mapSort:
        compose:
          sortToTop: listConcatAfter
          $$default:
            fork:
              array: listConcat
              object:
                - mapConcat
                - mapSort
              default: primitive

  - name: taze
    travels:
      - path: .tazerc.json
    route:
      mapSort:
        compose:
          $$default:
            fork:
              array: listConcat
              object:
                - mapConcat
                - mapSort
              default: primitive
          $$remove:
            - write
