#!/usr/bin/env node

const path = require('path');
const tsConfigPath = path.resolve(__dirname, 'tsconfig.json');
const tsConfig = require(tsConfigPath);

require('ts-node').register({ project: tsConfigPath });
require('tsconfig-paths').register({
  project: tsConfigPath,
  baseUrl: path.resolve(__dirname),
  paths: tsConfig.compilerOptions.paths
});

const handlerParam = process.argv[2];
const RunnerClass = require(`./npm/${handlerParam}.ts`).default;

const runnerArgs = [...process.argv];
runnerArgs.splice(2, 1);
const runner = new RunnerClass(runnerArgs);
runner.run();