Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
const timestamp = date => Math.floor(date.getTime() / 1000)
const lookup = {}
for (let mod of decrypted)
lookup[mod.relative] = mod
let nextObj = null
while (nextObj = enumerator.nextObject()) {
const relative = nextObj.toString()
if (/(\_CodeSignature\/CodeResources|SC_Info\/\w+\.s(inf|upf|upp|upx))$/.test(relative))
continue
if (!opt.keepWatch && /^Watch\//.test(relative))
continue
const absolute = path.join(root, relative)
const st = fs.statSync(absolute)
if (st.mode & fs.constants.S_IFDIR) {
// doesn't need to handle?
continue
} else if (!(st.mode & fs.constants.S_IFREG)) {
console.error('unknown file mode', absolute)
}
if (opt.verbose)
console.log('compress:', relative)
const entry = libarchive.entryNew()
libarchive.entrySetPathname(entry, Memory.allocUtf8String(path.join(prefix, relative)))
libarchive.entrySetSize(entry, st.size)
libarchive.entrySetFiletype(entry, fs.constants.S_IFREG)
libarchive.entrySetPerm(entry, st.mode & 0o777)
libarchive.entrySetCtime(entry, timestamp(st.ctime), 0)
async function transfer(filename) {
const session = Math.random().toString(36).substr(2)
const highWaterMark = 4 * 1024 * 1024
const subject = 'download'
const { size } = fs.statSync(filename)
const stream = fs.createReadStream(filename, { highWaterMark })
console.log('start transfering')
send({
subject,
event: 'start',
session,
size,
})
const format = size => `${(size / 1024 / 1024).toFixed(2)}MiB`
let sent = 0
await new Promise((resolve, reject) =>
stream
.on('data', chunk => {