mirror of
https://github.com/kevin-DL/sapper.git
synced 2026-01-21 06:45:00 +00:00
Enforce prod mode, return a Promise so it can be used programmatically
This commit is contained in:
45
lib/build.js
45
lib/build.js
@@ -1,3 +1,5 @@
|
|||||||
|
process.env.NODE_ENV = 'production';
|
||||||
|
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
const mkdirp = require('mkdirp');
|
const mkdirp = require('mkdirp');
|
||||||
@@ -14,29 +16,32 @@ module.exports = () => {
|
|||||||
// create main.js and server-routes.js
|
// create main.js and server-routes.js
|
||||||
create_app();
|
create_app();
|
||||||
|
|
||||||
function handleErrors(err, stats) {
|
return new Promise((fulfil, reject) => {
|
||||||
if (err) {
|
function handleErrors(err, stats) {
|
||||||
console.error(err ? err.details || err.stack || err.message || err : 'Unknown error');
|
if (err) {
|
||||||
process.exit(1);
|
reject(err);
|
||||||
|
process.exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stats.hasErrors()) {
|
||||||
|
console.error(stats.toString({ colors: true }));
|
||||||
|
reject(new Error(`Encountered errors while building app`));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stats.hasErrors()) {
|
client.run((err, clientStats) => {
|
||||||
console.log(stats.toString({ colors: true }));
|
handleErrors(err, clientStats);
|
||||||
process.exit(1);
|
const clientInfo = clientStats.toJson();
|
||||||
}
|
fs.writeFileSync(path.join(dest, 'stats.client.json'), JSON.stringify(clientInfo, null, ' '));
|
||||||
}
|
|
||||||
|
|
||||||
client.run((err, clientStats) => {
|
server.run((err, serverStats) => {
|
||||||
handleErrors(err, clientStats);
|
handleErrors(err, serverStats);
|
||||||
const clientInfo = clientStats.toJson();
|
const serverInfo = serverStats.toJson();
|
||||||
fs.writeFileSync(path.join(dest, 'stats.client.json'), JSON.stringify(clientInfo, null, ' '));
|
fs.writeFileSync(path.join(dest, 'stats.server.json'), JSON.stringify(serverInfo, null, ' '));
|
||||||
|
|
||||||
server.run((err, serverStats) => {
|
generate_asset_cache(clientInfo, serverInfo);
|
||||||
handleErrors(err, serverStats);
|
fulfil();
|
||||||
const serverInfo = serverStats.toJson();
|
});
|
||||||
fs.writeFileSync(path.join(dest, 'stats.server.json'), JSON.stringify(serverInfo, null, ' '));
|
|
||||||
|
|
||||||
generate_asset_cache(clientInfo, serverInfo);
|
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user