@eljs/create-preset-structure
Version:
Project structure template powered by @eljs/create.
26 lines (22 loc) • 755 B
text/typescript
/* eslint-disable @typescript-eslint/naming-convention */
import type { Api } from '@eljs/create'
import { writeJson } from '@eljs/utils'
export default async (api: Api) => {
api.describe({
key: 'presetStructureGenerate',
})
api.onGenerateFiles(async ({ prompts }) => {
await api.render('../templates/common', {
projectName: api.appData.projectName,
version: api.appData.version,
...prompts,
})
if (prompts.isMonorepo) {
await api.render('../templates/monorepo', prompts)
await writeJson(`${api.paths.target}/tsconfig.base.json`, api.tsConfig)
} else {
await api.render('../templates/polyrepo', prompts)
await writeJson(`${api.paths.target}/tsconfig.json`, api.tsConfig)
}
})
}