Sha256: e451dff75ce154f2c43384937f68d0c914cd4f13b208838c566a3bb91e985be4

Contents?: true

Size: 937 Bytes

Versions: 36

Compression:

Stored size: 937 Bytes

Contents

'use strict'

// tar -u

const hlo = require('./high-level-opt.js')
const r = require('./replace.js')
// just call tar.r with the filter and mtimeCache

module.exports = (opt_, files, cb) => {
  const opt = hlo(opt_)

  if (!opt.file) {
    throw new TypeError('file is required')
  }

  if (opt.gzip || opt.brotli || opt.file.endsWith('.br') || opt.file.endsWith('.tbr')) {
    throw new TypeError('cannot append to compressed archives')
  }

  if (!files || !Array.isArray(files) || !files.length) {
    throw new TypeError('no files or directories specified')
  }

  files = Array.from(files)

  mtimeFilter(opt)
  return r(opt, files, cb)
}

const mtimeFilter = opt => {
  const filter = opt.filter

  if (!opt.mtimeCache) {
    opt.mtimeCache = new Map()
  }

  opt.filter = filter ? (path, stat) =>
    filter(path, stat) && !(opt.mtimeCache.get(path) > stat.mtime)
    : (path, stat) => !(opt.mtimeCache.get(path) > stat.mtime)
}

Version data entries

36 entries across 36 versions & 2 rubygems

Version Path
rapid_stack-0.2.0 templates/frontend/node_modules/tar/lib/update.js
rapid_stack-0.1.1 templates/FrontEnd/node_modules/tar/lib/update.js
rapid_stack-0.1.0 templates/FrontEnd/node_modules/tar/lib/update.js
immosquare-cleaner-0.1.60 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.59 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.58 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.57 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.56 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.55 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.54 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.53 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.52 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.51 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.50 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.49 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.48 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.47 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.46 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.45 node_modules/tar/lib/update.js
immosquare-cleaner-0.1.44 node_modules/tar/lib/update.js