watchFiles = (files, set) => {
  return new Proxy(files, {
    set (target, key, value, receiver) {
      set.add(key)
      return Reflect.set(target, key, value, receiver)
    },
    deleteProperty (target, key) {
      set.delete(key)
      return Reflect.deleteProperty(target, key)
    }
  })
}
Collect created/modified files into set
@param {Record<string,string|Buffer>} files
@param {Set<string>} set