mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-14 12:14:41 +01:00
chore(cli): improve
This commit is contained in:
@@ -32,6 +32,10 @@ export default defineCommand({
|
|||||||
content: {
|
content: {
|
||||||
type: 'boolean',
|
type: 'boolean',
|
||||||
description: 'Create a content component (with --pro).'
|
description: 'Create a content component (with --pro).'
|
||||||
|
},
|
||||||
|
template: {
|
||||||
|
type: 'string',
|
||||||
|
description: 'Only generate template.'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
async setup({ args }) {
|
async setup({ args }) {
|
||||||
@@ -53,6 +57,10 @@ export default defineCommand({
|
|||||||
const path = resolve('.')
|
const path = resolve('.')
|
||||||
|
|
||||||
for (const template of Object.keys(templates)) {
|
for (const template of Object.keys(templates)) {
|
||||||
|
if (args.template && template !== args.template) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
const { filename, contents } = templates[template](args)
|
const { filename, contents } = templates[template](args)
|
||||||
if (!contents) {
|
if (!contents) {
|
||||||
continue
|
continue
|
||||||
@@ -70,6 +78,10 @@ export default defineCommand({
|
|||||||
consola.success(`🪄 Generated ${filePath}!`)
|
consola.success(`🪄 Generated ${filePath}!`)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (args.template) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
const themePath = resolve(path, `src/theme/${args.prose ? 'prose/' : ''}${args.content ? 'content/' : ''}index.ts`)
|
const themePath = resolve(path, `src/theme/${args.prose ? 'prose/' : ''}${args.content ? 'content/' : ''}index.ts`)
|
||||||
await appendFile(themePath, `export { default as ${camelCase(name)} } from './${kebabCase(name)}'`)
|
await appendFile(themePath, `export { default as ${camelCase(name)} } from './${kebabCase(name)}'`)
|
||||||
await sortFile(themePath)
|
await sortFile(themePath)
|
||||||
|
|||||||
@@ -163,15 +163,18 @@ describe('${upperName}', () => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const doc = ({ name, pro }) => {
|
const docs = ({ name, pro, primitive }) => {
|
||||||
const kebabName = kebabCase(name)
|
const kebabName = kebabCase(name)
|
||||||
const upperName = splitByCase(name).map(p => upperFirst(p)).join('')
|
const upperName = splitByCase(name).map(p => upperFirst(p)).join('')
|
||||||
|
|
||||||
return {
|
return {
|
||||||
filename: `docs/content/${pro ? 'pro' : '3.components'}/${kebabName}.md`,
|
filename: `docs/content/3.components/${kebabName}.md`,
|
||||||
contents: `---
|
contents: `---
|
||||||
description:
|
description: ''${pro
|
||||||
links: ${pro
|
? `
|
||||||
|
module: ui-pro`
|
||||||
|
: ''}
|
||||||
|
links: ${primitive
|
||||||
? ''
|
? ''
|
||||||
: `
|
: `
|
||||||
- label: ${upperName}
|
- label: ${upperName}
|
||||||
@@ -190,19 +193,19 @@ links: ${pro
|
|||||||
|
|
||||||
### Props
|
### Props
|
||||||
|
|
||||||
:component-props
|
:component-props${pro ? '{pro}' : ''}
|
||||||
|
|
||||||
### Slots
|
### Slots
|
||||||
|
|
||||||
:component-slots
|
:component-slots${pro ? '{pro}' : ''}
|
||||||
|
|
||||||
### Emits
|
### Emits
|
||||||
|
|
||||||
:component-emits
|
:component-emits${pro ? '{pro}' : ''}
|
||||||
|
|
||||||
## Theme
|
## Theme
|
||||||
|
|
||||||
:component-theme
|
:component-theme${pro ? '{pro}' : ''}
|
||||||
`
|
`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -212,5 +215,5 @@ export default {
|
|||||||
component,
|
component,
|
||||||
theme,
|
theme,
|
||||||
test,
|
test,
|
||||||
doc
|
docs
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user