Skip to content

Commit

Permalink
feat(cli): add new scripts and fix template download
Browse files Browse the repository at this point in the history
  • Loading branch information
productdevbook committed Dec 31, 2023
1 parent 3d38015 commit 048fab3
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 16 deletions.
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@
"test:coverage": "vitest --coverage",
"release": "pnpm build && bumpp --commit --push --tag",
"release:local": "bumpp --no-push && pnpm build && pnpm publish --no-git-checks",
"typecheck": "tsc --noEmit -p tsconfig.json"
"typecheck": "tsc --noEmit -p tsconfig.json",
"check": "pnpm build && pnpm lint:fix && pnpm typecheck"
},
"dependencies": {
"@pergel/graphql": "workspace:0.0.0",
Expand Down
4 changes: 2 additions & 2 deletions packages/cli/playground/pergel/templates/drizzle.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import { defineDownload } from 'pergel/core'

export default defineDownload({
branch: 'main',
folder: {
folder: [{
dir: 'packages/nuxt',
output: 'testttsssst',
},
}],
})
5 changes: 3 additions & 2 deletions packages/cli/playground/pergel/templates/drizzle3.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ import { defineDownload } from 'pergel/core'

export default defineDownload({
branch: 'main',
folder: {
file: {
dir: 'packages/nuxt',
output: 'drizzle3',
file: 'package.json',
output: 'drizzle3.mjs',
},
})
5 changes: 4 additions & 1 deletion packages/cli/src/commands/download.ts
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,16 @@ export default defineCommand({

for (const file of files) {
try {
await import(join(templateDir, `${file}.mjs`))
const data = await import(join(templateDir, `${file}.mjs`))
.then(m => m.default)
.catch((error) => {
logger.error(`Error loading template ${file}:`, error)
}) as (options: {
cwd: string
}) => void
data({
cwd: process.cwd(),
})
}
catch (error) {
logger.error(`Error loading template ${file}:`, error)
Expand Down
18 changes: 10 additions & 8 deletions packages/cli/src/core.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,17 @@ export function defineDownload(options: DefineDownloadOptions) {

return { source, dir }
}
if (options.folder) {
const { source, dir } = await downloadTemplate(join(githubRepo, `${options.folder.dir}#${options.branch}`), {
dir: options.folder.output,
cwd,
force: true,
})

logger.success(`Downloaded template folder: ${dir}`)
return { source, dir }
if (options.folder && options.folder.length) {
for (const folder of options.folder) {
const { dir } = await downloadTemplate(join(githubRepo, `${folder.dir}#${options.branch}`), {
dir: folder.output,
cwd,
force: true,
})

logger.success(`Downloaded template folder: ${dir}`)
}
}
}
return setup
Expand Down
1 change: 0 additions & 1 deletion packages/cli/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ const main = defineCommand({
download: () => import('./commands/download').then(m => m.default),
},
run({ args }) {
console.warn('Pergel CLI')
if (args.version)
console.warn('Pergel CLI version:', packageJson.version)
},
Expand Down
2 changes: 1 addition & 1 deletion packages/cli/src/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,6 @@ export interface DefineDownloadOptions {
folder?: {
dir: string
output: string
}
}[]
branch?: string
}

0 comments on commit 048fab3

Please sign in to comment.