using my boilerplate yuh

This commit is contained in:
Sriram Hariharan
2023-02-22 22:51:38 -06:00
parent 21d7056aae
commit bce2717088
91 changed files with 32400 additions and 0 deletions

46
webpack/production.ts Normal file
View File

@@ -0,0 +1,46 @@
import webpack from 'webpack';
import formatWebpackMessages from 'react-dev-utils/formatWebpackMessages';
import config from './webpack.config';
import { info, success } from './utils/chalk';
import { getManifest } from './manifest.config';
import { version } from '../package.json';
import { convertSemver } from './utils/convertSemver';
import printError from './utils/printError';
import { zipProductionBuild } from './utils/zipProductionBuild';
const MODE: Environment = 'production';
// generate the manifest.json file
const semanticVersion = process.env.SEMANTIC_VERSION || version;
const manifestVersion = convertSemver(semanticVersion);
const manifest = getManifest(MODE, manifestVersion);
console.log(info(`${manifest.short_name} v${manifest.version} ${MODE} build starting...`));
// kick off the webpack build
webpack(config(MODE, manifest), async error => {
if (!error) {
await onBuildSuccess();
process.exit(0);
}
await onBuildFailure(error);
process.exit(1);
});
async function onBuildSuccess(): Promise<void> {
// zip the output directory and put it in the artifacts directory
const fileName = `${manifest.short_name} v${manifestVersion}`;
await zipProductionBuild(fileName);
console.log(success(`${fileName} built and zipped into build/artifacts/${fileName}.zip!`));
}
function onBuildFailure(error: Error): void {
if (!error.message) {
return printError(error);
}
const messages = formatWebpackMessages({ errors: [error.message], warnings: [] });
if (messages.errors.length > 1) {
messages.errors.length = 1;
}
return printError(new Error(messages.errors.join('\n\n')));
}