123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- const fs = require('fs');
- const path = require('path')
- const webpack = require('webpack')
- const configPath = process.argv[2]
- const outPath = path.resolve(process.argv[3])
- const config = require(configPath)
- config.output = {
- path: path.dirname(outPath),
- filename: path.basename(outPath)
- }
- const { wrapInitWithProfilingTimeout, wrapInitWithTryCatch, ...webpackConfig } = config;
- webpack(webpackConfig, (err, stats) => {
- if (err) {
- console.error(err)
- process.exit(1)
- } else if (stats.hasErrors()) {
- console.error(stats.toString('normal'))
- process.exit(1)
- } else {
- let contents = fs.readFileSync(outPath, 'utf8');
- if (wrapInitWithTryCatch) {
- contents = `try {
- ${contents}
- } catch (err) {
- console.error('Electron ${webpackConfig.output.filename} script failed to run');
- console.error(err);
- }`;
- }
- if (wrapInitWithProfilingTimeout) {
- contents = `function ___electron_webpack_init__() {
- ${contents}
- };
- if ((globalThis.process || binding.process).argv.includes("--profile-electron-init")) {
- setTimeout(___electron_webpack_init__, 0);
- } else {
- ___electron_webpack_init__();
- }`;
- }
- fs.writeFileSync(outPath, contents)
- process.exit(0)
- }
- })
|