on second thoughts, default to build/index.js

This commit is contained in:
Rich Harris
2018-05-03 23:16:56 -04:00
parent d7a9074c69
commit 1a5364ae9d

View File

@@ -45,22 +45,23 @@ prog.command('build [dest]')
let cmd;
if (opts.launcher) {
const launcher = opts.launcher === true ? 'start.js' : opts.launcher;
const launcher = opts.launcher === true ? path.join(dest, 'index.js') : opts.launcher;
const resolvedLauncher = path.resolve(launcher);
const resolvedDest = path.resolve(dest);
const relative = path.relative(path.dirname(resolvedLauncher), resolvedDest);
const resolvedServer = path.resolve(dest, 'server.js');
const pathToServer = path.relative(path.dirname(resolvedLauncher), resolvedServer);
const pathToDest = path.relative(path.dirname(resolvedLauncher), dest);
fs.writeFileSync(resolvedLauncher, `
// generated by sapper build at ${new Date().toISOString()}
process.env.NODE_ENV = process.env.NODE_ENV || 'production';
process.env.SAPPER_DEST = require('path').resolve(__dirname, '${relative}');
process.env.SAPPER_DEST = ${pathToDest ? `require('path').resolve(__dirname, '${pathToDest}')` : '__dirname'};
process.env.PORT = process.env.PORT || ${opts.port || 3000};
console.log('Starting server on port ' + process.env.PORT);
require('${relative[0] === '.' ? relative : `./${relative}`}/server.js');
require('${pathToServer[0] === '.' ? pathToServer : `./${pathToServer}`}');
`.replace(/^\t+/gm, '').trim());
cmd = `node ${path.relative(process.cwd(), launcher)}`;
cmd = `node ${path.relative(process.cwd(), launcher).replace(/[\/\\]index.js$/, '')}`;
} else {
cmd = dest === 'build' ? 'npx sapper start' : `npx sapper start ${dest}`;
}