bin.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. #!/usr/bin/env node
  2. "use strict";
  3. var __assign = (this && this.__assign) || function () {
  4. __assign = Object.assign || function(t) {
  5. for (var s, i = 1, n = arguments.length; i < n; i++) {
  6. s = arguments[i];
  7. for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
  8. t[p] = s[p];
  9. }
  10. return t;
  11. };
  12. return __assign.apply(this, arguments);
  13. };
  14. var __spreadArrays = (this && this.__spreadArrays) || function () {
  15. for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
  16. for (var r = Array(s), k = 0, i = 0; i < il; i++)
  17. for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
  18. r[k] = a[j];
  19. return r;
  20. };
  21. var __importDefault = (this && this.__importDefault) || function (mod) {
  22. return (mod && mod.__esModule) ? mod : { "default": mod };
  23. };
  24. Object.defineProperty(exports, "__esModule", { value: true });
  25. var _1 = require(".");
  26. var minimist_1 = __importDefault(require("minimist"));
  27. var nodeArgs = [];
  28. var unknown = [];
  29. var devArgs = process.argv.slice(2, 100);
  30. var tsNodeFlags = {
  31. boolean: [
  32. 'scope',
  33. 'emit',
  34. 'files',
  35. 'pretty',
  36. 'transpile-only',
  37. 'prefer-ts-exts',
  38. 'prefer-ts',
  39. 'log-error',
  40. 'skip-project',
  41. 'skip-ignore',
  42. 'compiler-host',
  43. 'script-mode',
  44. ],
  45. string: [
  46. 'compiler',
  47. 'project',
  48. 'ignore',
  49. 'ignore-diagnostics',
  50. 'compiler-options',
  51. 'scopeDir',
  52. 'transpiler'
  53. ],
  54. };
  55. var tsNodeAlias = {
  56. 'transpile-only': 'T',
  57. 'compiler-host': 'H',
  58. ignore: 'I',
  59. 'ignore-diagnostics': 'D',
  60. 'compiler-options': 'O',
  61. compiler: 'C',
  62. project: 'P',
  63. 'script-mode': 's',
  64. };
  65. var devFlags = {
  66. boolean: [
  67. 'deps',
  68. 'all-deps',
  69. 'dedupe',
  70. 'fork',
  71. 'exec-check',
  72. 'debug',
  73. 'poll',
  74. 'respawn',
  75. 'notify',
  76. 'tree-kill',
  77. 'clear',
  78. 'cls',
  79. 'exit-child',
  80. 'error-recompile',
  81. 'quiet',
  82. 'rs',
  83. ],
  84. string: [
  85. 'dir',
  86. 'deps-level',
  87. 'compile-timeout',
  88. 'ignore-watch',
  89. 'interval',
  90. 'debounce',
  91. 'watch',
  92. 'cache-directory',
  93. ],
  94. };
  95. var opts = minimist_1.default(devArgs, {
  96. stopEarly: true,
  97. boolean: __spreadArrays(devFlags.boolean, tsNodeFlags.boolean),
  98. string: __spreadArrays(devFlags.string, tsNodeFlags.string),
  99. alias: __assign(__assign({}, tsNodeAlias), { 'prefer-ts-exts': 'prefer-ts' }),
  100. default: {
  101. fork: true,
  102. },
  103. unknown: function (arg) {
  104. unknown.push(arg);
  105. return true;
  106. },
  107. });
  108. var script = opts._[0];
  109. var scriptArgs = opts._.slice(1);
  110. opts.priorNodeArgs = [];
  111. unknown.forEach(function (arg) {
  112. if (arg === script || nodeArgs.indexOf(arg) >= 0)
  113. return;
  114. var argName = arg.replace(/^-+/, '');
  115. // fix this
  116. var argOpts = opts[argName];
  117. var argValues = Array.isArray(argOpts) ? argOpts : [argOpts];
  118. argValues.forEach(function (argValue) {
  119. if ((arg === '-r' || arg === '--require') && argValue === 'esm') {
  120. opts.priorNodeArgs.push(arg, argValue);
  121. return false;
  122. }
  123. nodeArgs.push(arg);
  124. if (typeof argValue === 'string') {
  125. nodeArgs.push(argValue);
  126. }
  127. });
  128. });
  129. if (!script) {
  130. // eslint-disable-next-line no-console
  131. console.log('ts-node-dev: no script to run provided');
  132. // eslint-disable-next-line no-console
  133. console.log('Usage: ts-node-dev [options] script [arguments]\n');
  134. process.exit(1);
  135. }
  136. _1.runDev(script, scriptArgs, nodeArgs, opts);