#!/usr/bin/env node
import {Command} from 'commander';
import {buildCommand} from './src/commands/apim/build.js';
import {deployCommand} from './src/commands/apim/deploy.js';
import {testCommand} from './src/commands/apim/test.js';
import path from 'path';
import {fileURLToPath} from 'url';
import fs from 'fs';
import {validateNodeVersion} from './src/validators/version-validator.js';

validateNodeVersion(process.version);

const program = new Command();
const packageJsonFilePath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '../package.json');
const jsonString = fs.readFileSync(packageJsonFilePath).toString();

program.name('wm')
	.description('Command Line Interface for webMethods API Management')
	.version(JSON.parse(jsonString).version, '-v, --version', 'display version number');

const apim = program.command('apim');

apim.addCommand(buildCommand);
apim.addCommand(deployCommand);
apim.addCommand(testCommand);

program.parse(process.argv);
