@dethcrypto/eth-sdk
Version:
🛠Generate type-safe, lightweight SDK for your Ethereum smart contracts
34 lines • 1.33 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.parseArgs = void 0;
const commander_1 = require("commander");
const path_1 = require("path");
const DEFAULT_CONFIG_PATH = './eth-sdk';
function parseArgs({ argv, cwd }) {
panicOnDeprecatedArgs(argv);
const program = new commander_1.Command();
program.option('-p, --path <path>', 'Config root', DEFAULT_CONFIG_PATH);
program.version(require('../package.json').version);
program.parse(argv);
const rawOpts = program.opts();
return {
workingDirPath: joinPaths({ cwd, path: rawOpts.path }),
};
}
exports.parseArgs = parseArgs;
function joinPaths({ path, cwd }) {
const absolutePath = (0, path_1.isAbsolute)(path) ? path : (0, path_1.join)(cwd, path);
return absolutePath.replace(/\\/g, '/');
}
function panicOnDeprecatedArgs(argv) {
const deprecatedArgs = ['--out', '-o'];
for (const cliArg of deprecatedArgs) {
if (argv.includes(cliArg)) {
throw new Error(`The "${cliArg}" argument is deprecated.\n` +
`Please set "outputPath" property in your config file instead.\n` +
'Learn more about migration to eth-sdk 0.2 at\n' +
'https://github.com/dethcrypto/eth-sdk/releases\n');
}
}
}
//# sourceMappingURL=parseArgs.js.map