@antongolub/tgz-modify
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

@antongolub/tgz-modify

modify .tgz file entries

Fork of gforceg/tgz-modify that brings async api

Install

# npm
npm i @antongolub/tgz-modify

# yarn
yarn add @antongolub/tgz-modify

Usage

  • Open ./files/package.tgz.
  • Make some changes to package/package.json and remove README.md all together.
  • Then output to a new .tgz file: ./output/package.tgz
const tgz_modify = require('@antongolub/tgz-modify')

tgz_modify('files/package.tgz', 'output/package.tgz', (header, data) => {
  switch(header.name) {
    case 'package/package.json':
      let obj = JSON.parse(data)
      obj.name = 'some-other-project'
      obj.author = 'Some Jerk'
      data = JSON.stringify(obj, null, '\t')
      break;
    case 'package/README.md':
      return null // returning null will skip the file.
  }
  return data
})

// to handle `onFinish` event pass an additional callback
tgz_modify('files/package.tgz', 'output/package.tgz', (h, d) => d, (err) => {})

// or just await a promise
await tgz_modify('files/package.tgz', 'output/package.tgz', ...)

To overwrite the .tgz file, simply use the same filename for the output file:

tgz.modify('./input.tgz', './input.tgz', ...)

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i @antongolub/tgz-modify

Weekly Downloads

0

Version

2.0.0

License

MIT

Unpacked Size

8.64 kB

Total Files

10

Last publish

Collaborators

  • antongolub