12345678910111213141516171819202122232425262728293031 |
- const isPackageBin = require('./is-package-bin.js')
- const tarCreateOptions = manifest => ({
- cwd: manifest._resolved,
- prefix: 'package/',
- portable: true,
- gzip: {
- // forcing the level to 9 seems to avoid some
- // platform specific optimizations that cause
- // integrity mismatch errors due to differing
- // end results after compression
- level: 9,
- },
- // ensure that package bins are always executable
- // Note that npm-packlist is already filtering out
- // anything that is not a regular file, ignored by
- // .npmignore or package.json "files", etc.
- filter: (path, stat) => {
- if (isPackageBin(manifest, path)) {
- stat.mode |= 0o111
- }
- return true
- },
- // Provide a specific date in the 1980s for the benefit of zip,
- // which is confounded by files dated at the Unix epoch 0.
- mtime: new Date('1985-10-26T08:15:00.000Z'),
- })
- module.exports = tarCreateOptions
|