From d6a6b51038185492f0bcaa6d03e67b09d9f67ad5 Mon Sep 17 00:00:00 2001 From: Mehmet Date: Wed, 14 Feb 2024 21:29:50 +0300 Subject: [PATCH] feat(cli): config folder (#154) * feat(cli): config folder * version(cli): release 0.8.0 --- packages-core/cli/package.json | 2 +- .../cli/playground/.config/pergel.ts | 5 ++++ packages-core/cli/playground/pergel.config.ts | 5 ---- packages-core/cli/src/commands/init.ts | 9 +++++-- .../cli/src/utils/writeFilePergel.ts | 26 +++++++++++++++++++ 5 files changed, 39 insertions(+), 8 deletions(-) create mode 100644 packages-core/cli/playground/.config/pergel.ts delete mode 100644 packages-core/cli/playground/pergel.config.ts create mode 100644 packages-core/cli/src/utils/writeFilePergel.ts diff --git a/packages-core/cli/package.json b/packages-core/cli/package.json index 847e8923..33951d8c 100644 --- a/packages-core/cli/package.json +++ b/packages-core/cli/package.json @@ -1,7 +1,7 @@ { "name": "@pergel/cli", "type": "module", - "version": "0.7.1", + "version": "0.8.0", "packageManager": "pnpm@8.10.0", "description": "Full Stack Nuxt Application. It contains the necessary toolkits for a software developer and a fast, clean, tested toolkit.", "author": "Mehmet @productdevbook", diff --git a/packages-core/cli/playground/.config/pergel.ts b/packages-core/cli/playground/.config/pergel.ts new file mode 100644 index 00000000..417644b7 --- /dev/null +++ b/packages-core/cli/playground/.config/pergel.ts @@ -0,0 +1,5 @@ +import { definePergel } from 'pergel' + +export default definePergel({ + +}) diff --git a/packages-core/cli/playground/pergel.config.ts b/packages-core/cli/playground/pergel.config.ts deleted file mode 100644 index 82df2755..00000000 --- a/packages-core/cli/playground/pergel.config.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { definePergel } from '../src' - -export default definePergel({ - -}) diff --git a/packages-core/cli/src/commands/init.ts b/packages-core/cli/src/commands/init.ts index 7e64d734..abf68d20 100644 --- a/packages-core/cli/src/commands/init.ts +++ b/packages-core/cli/src/commands/init.ts @@ -1,5 +1,7 @@ -import { writeFileSync } from 'node:fs' +import { join } from 'node:path' +import { existsSync } from 'node:fs' import { defineCommand } from 'citty' +import { writeFilePergel } from '../utils/writeFilePergel' const template = `import { definePergel } from 'pergel' @@ -15,6 +17,9 @@ export default defineCommand({ version: '0.0.1', }, async run() { - writeFileSync('pergel.config.ts', template) + const file = join('.config', 'pergel.ts') + + if (!existsSync(file)) + writeFilePergel(file, template) }, }) diff --git a/packages-core/cli/src/utils/writeFilePergel.ts b/packages-core/cli/src/utils/writeFilePergel.ts new file mode 100644 index 00000000..6e289cc9 --- /dev/null +++ b/packages-core/cli/src/utils/writeFilePergel.ts @@ -0,0 +1,26 @@ +import { accessSync, mkdirSync, writeFileSync } from 'node:fs' +import { dirname } from 'node:path' + +async function isExists(path: string) { + try { + accessSync(path) + return true + } + catch { + return false + } +}; + +export async function writeFilePergel(filePath: string, data: any) { + try { + const _dirname = dirname(filePath) + const exist = await isExists(_dirname) + if (!exist) + mkdirSync(_dirname, { recursive: true }) + + writeFileSync(filePath, data, 'utf8') + } + catch (err: any) { + throw new Error(err) + } +}