UNPKG

@dvhb/react-intl-messages

Version:

Library for parsing source files and extract react-intl messages

58 lines (57 loc) 1.91 kB
"use strict"; 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.', }), };