debug-ts.js 1012 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. 'use strict';
  2. const meow = require('meow');
  3. const path = require('path');
  4. const tsFile = getTSFile();
  5. const jsFile = TS2JS(tsFile);
  6. replaceCLIArg(tsFile, jsFile);
  7. // Ava debugger
  8. require('ava/profile');
  9. /**
  10. * get ts file path from CLI args
  11. *
  12. * @return string path
  13. */
  14. function getTSFile() {
  15. const cli = meow();
  16. return cli.input[0];
  17. }
  18. /**
  19. * get associated compiled js file path
  20. *
  21. * @param tsFile path
  22. * @return string path
  23. */
  24. function TS2JS(tsFile) {
  25. const srcFolder = path.join(__dirname, '..', 'src');
  26. const distFolder = path.join(__dirname, '..', 'build', 'main');
  27. const tsPathObj = path.parse(tsFile);
  28. return path.format({
  29. dir: tsPathObj.dir.replace(srcFolder, distFolder),
  30. ext: '.js',
  31. name: tsPathObj.name,
  32. root: tsPathObj.root
  33. });
  34. }
  35. /**
  36. * replace a value in CLI args
  37. *
  38. * @param search value to search
  39. * @param replace value to replace
  40. * @return void
  41. */
  42. function replaceCLIArg(search, replace) {
  43. process.argv[process.argv.indexOf(search)] = replace;
  44. }