Added zipt dist generation to build script

This commit is contained in:
Alejandro Celaya
2018-08-05 12:05:26 +02:00
parent f3233f845d
commit 16141ccdb3
3 changed files with 35 additions and 3 deletions

View File

@@ -25,6 +25,7 @@ const formatWebpackMessages = require('react-dev-utils/formatWebpackMessages');
const printHostingInstructions = require('react-dev-utils/printHostingInstructions');
const FileSizeReporter = require('react-dev-utils/FileSizeReporter');
const printBuildError = require('react-dev-utils/printBuildError');
const AdmZip = require('adm-zip');
const measureFileSizesBeforeBuild =
FileSizeReporter.measureFileSizesBeforeBuild;
@@ -98,7 +99,8 @@ measureFileSizesBeforeBuild(paths.appBuild)
printBuildError(err);
process.exit(1);
}
);
)
.then(zipDist);
// Create the production build and print the deployment instructions.
function build(previousFileSizes) {
@@ -148,3 +150,28 @@ function copyPublicFolder() {
filter: file => file !== paths.appHtml,
});
}
function zipDist() {
// If no version was provided, do nothing
if (process.argv.length < 3) {
return;
}
const version = process.argv[2];
const versionFileName = `./dist/shlink-web-client_${version}_dist.zip`;
console.log(chalk.cyan(`Generating dist file for version ${chalk.bold(version)}...`));
const zip = new AdmZip();
try {
if (fs.existsSync(versionFileName)) {
fs.unlink(versionFileName);
}
zip.addLocalFolder('./build', `shlink-web-client_${version}_dist`);
zip.writeZip(versionFileName);
console.log(chalk.green('Dist file properly generated'));
} catch (e) {
console.log(chalk.red('An error occurred while generating dist file'));
console.log(e);
}
}