/****************************************************************************** * Copyright 2021 TypeFox GmbH * This program and the accompanying materials are made available under the * terms of the MIT License, which is available in the project root. ******************************************************************************/ import { Command } from 'commander'; import { DomainModelLanguageMetaData } from '../language-server/generated/module.js'; import { generateAction } from './generator.js'; import * as url from 'node:url'; import * as fs from 'node:fs/promises'; import * as path from 'node:path'; const __dirname = url.fileURLToPath(new URL('.', import.meta.url)); const packagePath = path.resolve(__dirname, '..', '..', 'package.json'); const packageContent = await fs.readFile(packagePath, 'utf-8'); const program = new Command(); program.version(JSON.parse(packageContent).version); program .command('generate') .argument('', `possible file extensions: ${DomainModelLanguageMetaData.fileExtensions.join(', ')}`) .option('-d, --destination ', 'destination directory of generating') .option('-r, --root ', 'source root folder') .option('-q, --quiet', 'whether the program should print something', false) .description('generates Java classes by Entity description') .action(generateAction); program.parse(process.argv);