get-output.js 821 B

123456789101112131415161718192021222324252627282930
  1. /* eslint global-require: "off" */
  2. /* eslint no-console: ["error", { allow: ["log"] }] */
  3. const path = require('path');
  4. let logged = false;
  5. function getOutput() {
  6. const env = process.env.NODE_ENV || 'development' || 'dev';
  7. const args = process.argv;
  8. let outputArgIndex;
  9. let outputPath = path.resolve(__dirname, env === 'production' ? '../packages' : '../example');
  10. let needToLog;
  11. args.forEach((arg, argIndex) => {
  12. if (arg === '--output') outputArgIndex = argIndex;
  13. });
  14. if (outputArgIndex && args[outputArgIndex + 1]) {
  15. needToLog = true;
  16. outputPath = path.resolve(args[outputArgIndex + 1]);
  17. }
  18. if (outputPath && needToLog) {
  19. if (!logged) {
  20. console.log(`Build will be available at ${outputPath}`);
  21. }
  22. logged = true;
  23. }
  24. return outputPath;
  25. }
  26. module.exports = getOutput;