@architect/deploy
Version:
Deploys @architect projects
39 lines (34 loc) • 860 B
JavaScript
let { globSync } = require('node:fs')
let { series, pathToUnix } = require('@architect/utils')
var zipit = require('zipit')
var zipdir = require('zip-dir')
/**
* @param {String} pathIn - path to zip
* @returns {Buffer} zipfile as a buffer
*/
module.exports = function zipper (pathIn, callback) {
let zip = process.platform.startsWith('win') ? winzip : nixzip
zip(pathIn, callback)
}
function winzip (pathToCode, callback) {
zipdir(pathToCode, callback)
}
function nixzip (pathToCode, callback) {
series([
function _read (callback) {
try {
let path = pathToUnix(pathToCode + '/*')
let files = globSync(path)
callback(null, files)
}
catch (err) {
callback(err)
}
},
function _zip (files, callback) {
zipit({
input: files,
}, callback)
},
], callback)
}