@dvhb/react-intl-messages
Version:
Library for parsing source files and extract react-intl messages
58 lines (57 loc) • 1.91 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const command_1 = require("@oclif/command");
const cosmiconfig_1 = require("cosmiconfig");
const dotenv_1 = require("dotenv");
dotenv_1.config();
class Base extends command_1.Command {
async init() {
const explorer = cosmiconfig_1.cosmiconfigSync(this.config.bin);
const result = explorer.search();
Base.cosmiconfig = result ? result.config : null;
}
}
exports.Base = Base;
Base.flags = {
help: command_1.flags.help({ char: 'h' }),
messagesDir: command_1.flags.string({
char: 'd',
description: 'Directory for extracted messages',
default: () => (Base.cosmiconfig ? Base.cosmiconfig.messagesDir : 'src/messages'),
required: true,
}),
};
Base.langFlags = {
langs: command_1.flags.string({
char: 'l',
description: 'Comma separated languages',
default: () => (Base.cosmiconfig ? Base.cosmiconfig.langs : undefined),
required: true,
}),
};
Base.providersFlags = {
provider: command_1.flags.string({
required: true,
description: 'Translation service provider',
options: ['lokalise', 'locize'],
}),
projectId: command_1.flags.string({
description: 'Provider`s project id',
env: 'PROJECT_ID',
}),
token: command_1.flags.string({
description: 'Provider`s token',
env: 'TOKEN',
}),
version: command_1.flags.string({
description: 'Translations version, for example "production". Required for Locize',
env: 'VERSION',
}),
namespace: command_1.flags.string({
description: 'Provider`s namespace. Required for Locize',
env: 'NAMESPACE',
}),
uploadTranslations: command_1.flags.boolean({
description: 'Upload existing translations to provider. Useful for provider migration.',
}),
};