diff --git a/src/generators/generator.ts b/src/generators/generator.ts index bdf1ce1..508785d 100644 --- a/src/generators/generator.ts +++ b/src/generators/generator.ts @@ -1,4 +1,3 @@ -import { Clipboard } from "@napi-rs/clipboard"; import { camelCase, kebabCase, pascalCase } from "change-case"; import { outputFile, pathExists, remove } from "fs-extra/esm"; import Handlebars from "handlebars"; @@ -91,8 +90,12 @@ export function defineGenerator({ async function run(args: Args): Promise { const packagePath = args.cwd ?? env.GEMBER_CWD ?? processCwd(); - const packageJson = await readPackageJson(packagePath); - const config = await resolveConfig(packagePath); + + const [packageJson, config] = await Promise.all([ + readPackageJson(packagePath), + resolveConfig(packagePath), + ]); + const resolvedArgs = resolveArgs( config, generatorName, @@ -169,14 +172,19 @@ export function defineGenerator({ signature: entityNameCases.pascal + "Signature", }, package: packageJson, - testHelpersImportPath: - (await pathExists(join(packagePath, "tests", "helpers.js"))) || - (await pathExists(join(packagePath, "tests", "helpers.ts"))) - ? `${packageJson.name}/tests/helpers` - : "ember-qunit", + testHelpersImportPath: ( + await Promise.all([ + pathExists(join(packagePath, "tests", "helpers.js")), + pathExists(join(packagePath, "tests", "helpers.ts")), + ]) + ).some(Boolean) + ? `${packageJson.name}/tests/helpers` + : "ember-qunit", }); if (resolvedArgs.copy) { + const { Clipboard } = await import("@napi-rs/clipboard"); + const clipboard = new Clipboard(); clipboard.setText(templateCompiled);