( name: string, initialOptions: Partial<CreateThemeOptions> )
| 15 | } |
| 16 | |
| 17 | export async function createTheme( |
| 18 | name: string, |
| 19 | initialOptions: Partial<CreateThemeOptions> |
| 20 | ) { |
| 21 | // Do some stuff here |
| 22 | const settings = await completeOptions(name, initialOptions) |
| 23 | const spinner = ora(`Downloading starter theme...`).start() |
| 24 | await downloadTemplate('github:formkit/theme-starter', { |
| 25 | dir: settings.dir, |
| 26 | }) |
| 27 | spinner.text = `Customizing package.json...` |
| 28 | await customizePackageJson(settings) |
| 29 | spinner.text = `Writing LICENSE.txt...` |
| 30 | await writeLicense(settings) |
| 31 | spinner.text = `Updating theme meta...` |
| 32 | await updateMeta(settings) |
| 33 | spinner.stop() |
| 34 | green('Theme scaffolded successfully!') |
| 35 | info( |
| 36 | 'Next steps:\n1. cd into your theme directory\n2. Run `pnpm install`\n3. Run `pnpm dev`' |
| 37 | ) |
| 38 | } |
| 39 | |
| 40 | async function customizePackageJson(options: CreateThemeOptions) { |
| 41 | const packageJson = await readPackageJSON(options.dir) |
no test coverage detected