Skip to content

Commit

Permalink
feat(cli): passing additional parameters when calling the runner (#12)
Browse files Browse the repository at this point in the history
* refactor(cli): `logger.done` of hoist finish

* feat(cli): passing additional parameters when calling the `runner`

resolve #11
  • Loading branch information
Cphayim authored Mar 27, 2022
1 parent 097ea3f commit 9f4d76c
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 12 deletions.
2 changes: 1 addition & 1 deletion packages/command-boilerplate/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"url": "https://github.com/vrn-deco/cli/issues"
},
"dependencies": {
"@vrn-deco/boilerplate-protocol": "^1.2.0",
"@vrn-deco/boilerplate-protocol": "^1.3.0",
"@vrn-deco/cli-command": "workspace:*",
"@vrn-deco/cli-config-helper": "workspace:*",
"@vrn-deco/cli-log": "workspace:*",
Expand Down
3 changes: 2 additions & 1 deletion packages/command-boilerplate/src/create/create.action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ export type CreateOptions = ModeOptions & {
manifestPackage: string
apiUrl: string
postGit: PostGit
autoInstallDeps: boolean
}
export type CreateActionArgs = ActionArgs<CreateArguments, CreateOptions>

Expand Down Expand Up @@ -82,7 +83,7 @@ export class CreateAction extends Action<CreateArguments, CreateOptions> {
}

override async clear(): Promise<void> {
//
logger.done(`Project created successfully, located at ${this.targetDirectory}\nHappy coding!`)
}

async verifyDirectory(): Promise<void> {
Expand Down
1 change: 1 addition & 0 deletions packages/command-boilerplate/src/create/create.command.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ createCommand
.choices([PostGit.Retain, PostGit.Remove, PostGit.Rebuild])
.default(PostGit.Retain),
)
.option('-A, --no-auto-install-deps', 'not install, only in `package` mode will install dependencies', false)
.action(runActionByMode)

// eslint-disable-next-line @typescript-eslint/no-explicit-any
Expand Down
5 changes: 2 additions & 3 deletions packages/command-boilerplate/src/create/git-create.action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ export class GitCreateAction extends CreateAction {
override async execute(): Promise<void> {
await super.execute()
await this.execGitClone()
await this.postHandle()
logger.done(`Project created successfully, located at ${this.targetDirectory}\nHappy coding!`)
await this.postGit()
}

override async clear(): Promise<void> {
Expand Down Expand Up @@ -61,7 +60,7 @@ export class GitCreateAction extends CreateAction {
}
}

async postHandle(): Promise<void> {
async postGit(): Promise<void> {
logger.verbose('Start post-handle...')
logger.verbose(`PostGit -> ` + this.options.postGit)
const handleMap: Record<PostGit, () => void | Promise<void>> = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@ export class HTTPCreateAction extends CreateAction {
await super.execute()
const fileName = await this.downloadPackedBoilerplate()
await this.unpackBoilerplate(fileName)
logger.done(`Project created successfully, located at ${this.targetDirectory}\nHappy coding!`)
}

override async clear(): Promise<void> {
Expand Down
15 changes: 13 additions & 2 deletions packages/command-boilerplate/src/create/package-create.action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ import { dynamicImport } from '@vrn-deco/cli-shared'

import { CreateAction } from './create.action.js'
import { PackageBoilerplateService } from '../services/boilerplate.service.js'
import { PostGit } from '../common.js'
import { readConfig } from '@vrn-deco/cli-config-helper'

/**
* Selected interactively from the `manifest-package`
Expand All @@ -36,7 +38,6 @@ export class PackageCreateAction extends CreateAction {
await super.execute()
const pkg = await this.pullBoiPackage()
await this.installBoilerplate(pkg)
logger.done(`Project created successfully, located at ${this.targetDirectory}\nHappy coding!`)
}

override async clear(): Promise<void> {
Expand Down Expand Up @@ -90,11 +91,21 @@ export class PackageCreateAction extends CreateAction {
async installBoilerplate(boiPackage: NPMPackage) {
logger.info('Start creating a project with boilerplate package...')

const config = readConfig()
const { name, version, author } = this.baseInfo

try {
const runner: PresetRunner = (await dynamicImport(boiPackage.mainScript)).default
await runner({ targetDir: this.targetDirectory, boiPackageDir: boiPackage.packageDir, name, version, author })
await runner({
targetDir: this.targetDirectory,
boiPackageDir: boiPackage.packageDir,
name,
version,
author,
packageManager: config.packageManager,
autoInstallDeps: this.options.autoInstallDeps,
gitInit: this.options.postGit !== PostGit.Remove, // default always init git
})
} catch (error) {
logger.verbose(`PresetRunner Error: ${error.message}`)
throw new Error('Boilerplate runner execution failed')
Expand Down
8 changes: 4 additions & 4 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit 9f4d76c

Please sign in to comment.