diff options
Diffstat (limited to 'node_modules/tailwindcss/src/oxide/cli/help/index.ts')
| -rw-r--r-- | node_modules/tailwindcss/src/oxide/cli/help/index.ts | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/node_modules/tailwindcss/src/oxide/cli/help/index.ts b/node_modules/tailwindcss/src/oxide/cli/help/index.ts new file mode 100644 index 0000000..c36042a --- /dev/null +++ b/node_modules/tailwindcss/src/oxide/cli/help/index.ts @@ -0,0 +1,69 @@ +import packageJson from '../../../../package.json' + +export function help({ message, usage, commands, options }) { + let indent = 2 + + // Render header + console.log() + console.log(`${packageJson.name} v${packageJson.version}`) + + // Render message + if (message) { + console.log() + for (let msg of message.split('\n')) { + console.log(msg) + } + } + + // Render usage + if (usage && usage.length > 0) { + console.log() + console.log('Usage:') + for (let example of usage) { + console.log(' '.repeat(indent), example) + } + } + + // Render commands + if (commands && commands.length > 0) { + console.log() + console.log('Commands:') + for (let command of commands) { + console.log(' '.repeat(indent), command) + } + } + + // Render options + if (options) { + let groupedOptions = {} + for (let [key, value] of Object.entries(options)) { + if (typeof value === 'object') { + groupedOptions[key] = { ...value, flags: [key] } + } else { + groupedOptions[value].flags.push(key) + } + } + + console.log() + console.log('Options:') + for (let { flags, description, deprecated } of Object.values(groupedOptions)) { + if (deprecated) continue + + if (flags.length === 1) { + console.log( + ' '.repeat(indent + 4 /* 4 = "-i, ".length */), + flags.slice().reverse().join(', ').padEnd(20, ' '), + description + ) + } else { + console.log( + ' '.repeat(indent), + flags.slice().reverse().join(', ').padEnd(24, ' '), + description + ) + } + } + } + + console.log() +} |