@tikkhun/cli-core 0.0.5 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../lib/OptionHandler.ts","../lib/command/command.interface.ts","../lib/command/ArgsCommand.ts","../lib/command/PromptsCommand.ts","../lib/CommandManager.ts","../lib/package.ts"],"names":["TYPES","asTrueValues","asFalseValues","OptionHandler","_OptionHandler","schema","value","type","strItem","key","i","obj","_obj","item1","item","merge","_","_AbstractCommand","options","AbstractCommand","get","ArgsCommand","createCommand","stringOptions","optionList","jsonToList","optionTypeMap","flatJson","action","jsonOptions","unflatJson","typedOptions","PromptsCommand","defaultOptionList","flattedOptionType","flattedOptionTitle","__async","result","title","message","input","unflattedOptions","typedResults","CommandTypes","_CommandManager","Logger","_a","types","__objRest","__spreadProps","__spreadValues","CommandManager","Cli","echoPackage","packageJson"],"mappings":"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","file":"index.mjs","sourcesContent":["export const TYPES = {\n array: 'array',\n keyValueArray: 'keyValueArray',\n boolean: 'boolean',\n number: 'number',\n object: 'object',\n string: 'string',\n select: 'select', // 几个中进行选择 选择一项\n} as const;\nexport type TYPES = keyof typeof TYPES;\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport class OptionHandler {\n schema: Record<string, any>;\n constructor(schema: Record<string, any>) {\n this.schema = schema;\n }\n static getTypeValue(value: string, type: string) {\n if (type === TYPES.array) {\n return value.split(',');\n }\n if (type === TYPES.object) {\n return JSON.parse(value);\n }\n if (type === TYPES.keyValueArray) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n }\n if (type === TYPES.number) {\n return Number(value);\n }\n if (type === TYPES.boolean) {\n if (asTrueValues.includes(value)) return true;\n return false;\n }\n return value;\n }\n static toType(obj: Record<string, string | Record<string, string>>, schema: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n const type = schema[key];\n if (typeof value === 'object') {\n _obj[key] = OptionHandler.toType(value, type);\n } else {\n _obj[key] = OptionHandler.getTypeValue(value as string, type);\n }\n });\n return _obj;\n }\n toType(obj: Record<string, any>) {\n return OptionHandler.toType(obj, this.schema);\n }\n static toString(obj: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n _obj[key] = OptionHandler.toStringValue(value);\n });\n return _obj;\n }\n static toStringValue(value: any) {\n if (Array.isArray(value)) {\n const item1 = value[0];\n // 有点魔法 key value 的值让他们用=表示\n if (typeof item1 === 'object' && item1.hasOwnProperty('key') && item1.hasOwnProperty('value')) {\n return value.map((item) => `${item.key}=${item.value}`).toString();\n }\n return value.toString();\n }\n if (typeof value === 'object') {\n return OptionHandler.toString(value);\n }\n return '' + value;\n }\n}\n","import _ from 'lodash';\nconst { merge } = _;\nexport interface Action {\n (options: any): void;\n}\nexport interface CommandOptions {\n version: string;\n description: string;\n defaultOptions: Record<string, any>;\n excludeOptions: string[];\n optionTypes: Record<string, any>;\n optionTitles: Record<string, any>;\n}\n\nexport abstract class AbstractCommand {\n static DEFAULT_CLI_OPTIONS: CommandOptions = {\n version: '',\n description: '',\n defaultOptions: {},\n excludeOptions: [],\n optionTypes: {},\n optionTitles: {},\n };\n\n options: CommandOptions;\n constructor(options?: Partial<CommandOptions>) {\n this.options = merge(AbstractCommand.DEFAULT_CLI_OPTIONS, options);\n this.init();\n }\n abstract init(): void;\n abstract start(action: (options: any) => any): void;\n}\n","import { flatJson, jsonToList, unflatJson } from '@tikkhun/utils-core';\nimport { OptionHandler } from '../OptionHandler';\nimport { AbstractCommand, Action } from './command.interface';\nimport { Command, createCommand } from 'commander';\nimport _ from 'lodash';\nconst { get } = _;\nexport class ArgsCommand extends AbstractCommand {\n program: Command | undefined;\n init(): void {\n this.program = createCommand();\n this.addOptions();\n }\n private addOptions() {\n const stringOptions = OptionHandler.toString(this.options.defaultOptions);\n const optionList = jsonToList({ delimiter: '.', json: stringOptions });\n const optionTypeMap = flatJson({ delimiter: '.', data: this.options.optionTypes });\n optionList.forEach(({ key, value }) => {\n if (this.options.excludeOptions.includes(key)) {\n return;\n }\n const type = optionTypeMap[key];\n this.program!.option(`--${key} <${type}>`, get(this.options.optionTitles, key), value);\n });\n }\n start(action: Action) {\n this.program!.action((stringOptions) => {\n const jsonOptions = unflatJson({\n delimiter: '.',\n data: stringOptions,\n });\n const typedOptions = OptionHandler.toType(jsonOptions, this.options.optionTypes);\n action(typedOptions);\n }).parse(process.argv);\n }\n}\n","/**\n * @author\n * @file PromptsCommand.ts\n * @fileBase PromptsCommand\n * @path packages\\cli-core\\lib\\cli\\PromptsCommand.ts\n * @from\n * @desc\n * @todo\n *\n *\n * @done\n * @example\n */\nimport { input } from '@inquirer/prompts';\nimport { flatJson, jsonToList, unflatJson } from '@tikkhun/utils-core';\nimport { OptionHandler, TYPES } from '../OptionHandler';\nimport { AbstractCommand, Action } from './command.interface';\n// const actionMap = {\n// [TYPES.array]: input,\n// [TYPES.keyValueArray]: input,\n// [TYPES.number]: number,\n// [TYPES.string]: input,\n// [TYPES.select]: select,\n// };\nexport class PromptsCommand extends AbstractCommand {\n program: any;\n init() {\n const defaultOptionList = jsonToList({ delimiter: '.', json: this.options.defaultOptions });\n const flattedOptionType = flatJson({\n delimiter: '.',\n data: this.options.optionTypes,\n });\n const flattedOptionTitle = flatJson({\n delimiter: '.',\n data: this.options.optionTitles,\n });\n this.program = async () => {\n const result: Record<string, any> = {};\n for (const { key, value } of defaultOptionList) {\n const type = flattedOptionType[key];\n if (!type) {\n continue;\n }\n const title = flattedOptionTitle[key];\n if (!title) {\n continue;\n }\n result[key] = (await this.getActionResult(type, title)) || value;\n }\n return result;\n };\n }\n private async getActionResult(type: TYPES, message: string) {\n return await input({ message });\n }\n async start(action: Action) {\n const options = await this.program();\n const unflattedOptions = unflatJson({ delimiter: '.', data: options });\n const typedResults = OptionHandler.toType(unflattedOptions, this.options.optionTypes);\n action(typedResults);\n }\n}\n","import { merge } from 'lodash';\nimport { AbstractCommand, Action, CommandOptions } from './command/command.interface';\nimport { ArgsCommand } from './command/ArgsCommand';\nimport { PromptsCommand } from './command/PromptsCommand';\nimport { Logger } from '@tikkhun/logger';\nexport enum CommandTypes {\n 'prompts' = 'prompts',\n 'args' = 'args',\n}\nexport interface CommandManagerOptions extends CommandOptions {\n name: string;\n types: CommandTypes[];\n}\nexport class CommandManager {\n static readonly DEFAULT_OPTIONS: CommandManagerOptions = {\n ...AbstractCommand.DEFAULT_CLI_OPTIONS,\n types: [CommandTypes.args],\n name: '',\n };\n logger: Logger;\n options: CommandManagerOptions;\n argsCommand?: ArgsCommand;\n promptsCommand?: PromptsCommand;\n constructor(options: Partial<CommandManagerOptions>) {\n this.options = merge(CommandManager.DEFAULT_OPTIONS, options);\n this.logger = new Logger(this.options.name);\n this.welcome();\n this.init();\n }\n welcome() {\n this.logger.log('Welcome!');\n this.logger.log('version: ' + this.options.version);\n this.logger.log('description: ' + this.options.description);\n }\n init() {\n const { types, ...options } = this.options;\n if (!types || !types.length) {\n throw new Error('types is undefined');\n }\n if (types.includes(CommandTypes.args)) {\n this.argsCommand = new ArgsCommand(options);\n }\n if (types.includes(CommandTypes.prompts)) {\n this.promptsCommand = new PromptsCommand(options);\n }\n }\n start(action: Action) {\n if (this.argsCommand) {\n this.argsCommand.program!.command('question').action(() => {\n this.promptsCommand?.start(action);\n });\n this.argsCommand.start(action);\n } else {\n this.promptsCommand?.start(action);\n }\n }\n}\n// alias\nexport const Cli = CommandManager;\n","import { Logger } from '@tikkhun/logger';\n\nexport function echoPackage(packageJson: Record<string, any>) {\n Logger.log(`[欢迎使用] ${packageJson.name}`);\n Logger.log('版本: ' + packageJson.version);\n}\n"]}
1
+ {"version":3,"sources":["../lib/OptionHandler.ts","../lib/command/command.interface.ts","../lib/command/ArgsCommand.ts","../lib/command/PromptsCommand.ts","../lib/CommandManager.ts","../lib/package.ts"],"names":["TYPES","asTrueValues","asFalseValues","OptionHandler","_OptionHandler","schema","value","type","strItem","key","i","obj","_obj","item1","item","merge","_","_AbstractCommand","options","AbstractCommand","get","ArgsCommand","createCommand","stringOptions","optionList","jsonToList","optionTypeMap","flatJson","action","jsonOptions","unflatJson","typedOptions","PromptsCommand","defaultOptionList","flattedOptionType","flattedOptionTitle","__async","result","defaultValue","title","_a","opts","__objRest","input","unflattedOptions","typedResults","CommandTypes","_CommandManager","Logger","types","__spreadProps","__spreadValues","CommandManager","Cli","echoPackage","packageJson"],"mappings":"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","file":"index.mjs","sourcesContent":["export const TYPES = {\n array: 'array',\n keyValueArray: 'keyValueArray',\n boolean: 'boolean',\n number: 'number',\n object: 'object',\n string: 'string',\n select: 'select', // 几个中进行选择 选择一项\n} as const;\nexport type TYPES = keyof typeof TYPES;\nexport const asTrueValues = ['true', true, '1', 1];\nexport const asFalseValues = ['false', false, '', 0];\nexport class OptionHandler {\n schema: Record<string, any>;\n constructor(schema: Record<string, any>) {\n this.schema = schema;\n }\n static getTypeValue(value: string, type: string) {\n if (type === TYPES.array) {\n return value.split(',');\n }\n if (type === TYPES.object) {\n return JSON.parse(value);\n }\n if (type === TYPES.keyValueArray) {\n if (!value) return [];\n return value\n .split(',')\n .map((strItem) => {\n if (!strItem) return undefined;\n const [key, value] = strItem.split('=');\n return { key, value };\n })\n .filter((i) => i);\n }\n if (type === TYPES.number) {\n return Number(value);\n }\n if (type === TYPES.boolean) {\n if (asTrueValues.includes(value)) return true;\n return false;\n }\n return value;\n }\n static toType(obj: Record<string, string | Record<string, string>>, schema: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n const type = schema[key];\n if (typeof value === 'object') {\n _obj[key] = OptionHandler.toType(value, type);\n } else {\n _obj[key] = OptionHandler.getTypeValue(value as string, type);\n }\n });\n return _obj;\n }\n toType(obj: Record<string, any>) {\n return OptionHandler.toType(obj, this.schema);\n }\n static toString(obj: Record<string, any>) {\n const _obj: Record<string, any> = {};\n Object.entries(obj).forEach(([key, value]) => {\n _obj[key] = OptionHandler.toStringValue(value);\n });\n return _obj;\n }\n static toStringValue(value: any) {\n if (Array.isArray(value)) {\n const item1 = value[0];\n // 有点魔法 key value 的值让他们用=表示\n if (typeof item1 === 'object' && item1.hasOwnProperty('key') && item1.hasOwnProperty('value')) {\n return value.map((item) => `${item.key}=${item.value}`).toString();\n }\n return value.toString();\n }\n if (typeof value === 'object') {\n return OptionHandler.toString(value);\n }\n return '' + value;\n }\n}\n","import _ from 'lodash';\nconst { merge } = _;\nexport interface Action {\n (options: any): void;\n}\nexport interface CommandOptions {\n version: string;\n description: string;\n defaultOptions: Record<string, any>;\n excludeOptions: string[];\n optionTypes: Record<string, any>;\n optionTitles: Record<string, any>;\n}\n\nexport abstract class AbstractCommand {\n static readonly DEFAULT_OPTIONS: CommandOptions = {\n version: '',\n description: '',\n defaultOptions: {},\n excludeOptions: [],\n optionTypes: {},\n optionTitles: {},\n };\n\n options: CommandOptions;\n constructor(options?: Partial<CommandOptions>) {\n this.options = merge({}, AbstractCommand.DEFAULT_OPTIONS, options);\n this.init();\n }\n abstract init(): void;\n abstract start(action: (options: any) => any): void;\n}\n","import { flatJson, jsonToList, unflatJson } from '@tikkhun/utils-core';\nimport { OptionHandler } from '../OptionHandler';\nimport { AbstractCommand, Action } from './command.interface';\nimport { Command, createCommand } from 'commander';\nimport _ from 'lodash';\nconst { get } = _;\nexport class ArgsCommand extends AbstractCommand {\n program: Command | undefined;\n init(): void {\n this.program = createCommand();\n this.addOptions();\n }\n private addOptions() {\n const stringOptions = OptionHandler.toString(this.options.defaultOptions);\n const optionList = jsonToList({ delimiter: '.', json: stringOptions });\n const optionTypeMap = flatJson({ delimiter: '.', data: this.options.optionTypes });\n optionList.forEach(({ key, value }) => {\n if (this.options.excludeOptions.includes(key)) {\n return;\n }\n const type = optionTypeMap[key];\n this.program!.option(`--${key} <${type}>`, get(this.options.optionTitles, key), value);\n });\n }\n start(action: Action) {\n this.program!.action((stringOptions) => {\n const jsonOptions = unflatJson({\n delimiter: '.',\n data: stringOptions,\n });\n const typedOptions = OptionHandler.toType(jsonOptions, this.options.optionTypes);\n action(typedOptions);\n }).parse(process.argv);\n }\n}\n","/**\n * @author\n * @file PromptsCommand.ts\n * @fileBase PromptsCommand\n * @path packages\\cli-core\\lib\\cli\\PromptsCommand.ts\n * @from\n * @desc\n * @todo\n *\n *\n * @done\n * @example\n */\nimport { input } from '@inquirer/prompts';\nimport { flatJson, jsonToList, unflatJson } from '@tikkhun/utils-core';\nimport { OptionHandler, TYPES } from '../OptionHandler';\nimport { AbstractCommand, Action } from './command.interface';\n// const actionMap = {\n// [TYPES.array]: input,\n// [TYPES.keyValueArray]: input,\n// [TYPES.number]: number,\n// [TYPES.string]: input,\n// [TYPES.select]: select,\n// };\nexport class PromptsCommand extends AbstractCommand {\n program: any;\n init() {\n const defaultOptionList = jsonToList({ delimiter: '.', json: this.options.defaultOptions });\n const flattedOptionType = flatJson({\n delimiter: '.',\n data: this.options.optionTypes,\n });\n const flattedOptionTitle = flatJson({\n delimiter: '.',\n data: this.options.optionTitles,\n });\n this.program = async () => {\n const result: Record<string, any> = {};\n for (const { key, value: defaultValue } of defaultOptionList) {\n const type = flattedOptionType[key];\n if (!type) {\n continue;\n }\n const title = flattedOptionTitle[key];\n if (!title) {\n continue;\n }\n result[key] = (await this.getActionResult({ type, message: title, default: defaultValue })) || defaultValue;\n }\n return result;\n };\n }\n private async getActionResult(options: GetActionResultOptions) {\n const { type, ...opts } = options;\n return await input(opts);\n }\n async start(action: Action) {\n const options = await this.program();\n const unflattedOptions = unflatJson({ delimiter: '.', data: options });\n const typedResults = OptionHandler.toType(unflattedOptions, this.options.optionTypes);\n action(typedResults);\n }\n}\n\nexport interface GetActionResultOptions {\n type: TYPES;\n message: string;\n default: any;\n}\n","import { merge } from 'lodash';\nimport { AbstractCommand, Action, CommandOptions } from './command/command.interface';\nimport { ArgsCommand } from './command/ArgsCommand';\nimport { PromptsCommand } from './command/PromptsCommand';\nimport { Logger } from '@tikkhun/logger';\nexport enum CommandTypes {\n 'prompts' = 'prompts',\n 'args' = 'args',\n}\nexport interface CommandManagerOptions extends CommandOptions {\n name: string;\n types: CommandTypes[];\n}\nexport class CommandManager {\n static readonly DEFAULT_OPTIONS: CommandManagerOptions = {\n ...AbstractCommand.DEFAULT_OPTIONS,\n types: [CommandTypes.args],\n name: '',\n };\n logger: Logger;\n options: CommandManagerOptions;\n argsCommand?: ArgsCommand;\n promptsCommand?: PromptsCommand;\n constructor(options: Partial<CommandManagerOptions>) {\n this.options = merge({}, CommandManager.DEFAULT_OPTIONS, options);\n this.logger = new Logger(this.options.name);\n this.welcome();\n this.init();\n }\n welcome() {\n this.logger.log('Welcome!');\n this.logger.log('version: ' + this.options.version);\n this.logger.log('description: ' + this.options.description);\n }\n init() {\n const { types, ...options } = this.options;\n if (!types || !types.length) {\n throw new Error('types is undefined');\n }\n if (types.includes(CommandTypes.args)) {\n this.argsCommand = new ArgsCommand(options);\n }\n if (types.includes(CommandTypes.prompts)) {\n this.promptsCommand = new PromptsCommand(options);\n }\n }\n start(action: Action) {\n if (this.argsCommand) {\n // 又有 args 又有 prompts\n if (this.promptsCommand) {\n this.argsCommand.program!.command('question').action(() => {\n this.promptsCommand?.start(action);\n });\n }\n this.argsCommand.start(action);\n } else {\n this.promptsCommand?.start(action);\n }\n }\n}\n// alias\nexport const Cli = CommandManager;\n","import { Logger } from '@tikkhun/logger';\n\nexport function echoPackage(packageJson: Record<string, any>) {\n Logger.log(`[欢迎使用] ${packageJson.name}`);\n Logger.log('版本: ' + packageJson.version);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tikkhun/cli-core",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",