Skip to content

Commit

Permalink
refactor: rename app-name property to web-name
Browse files Browse the repository at this point in the history
  • Loading branch information
beeman committed Nov 10, 2023
1 parent c015ef9 commit a9a17ad
Show file tree
Hide file tree
Showing 17 changed files with 65 additions and 66 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ Usage: create-solana-dapp [options] [name]
Arguments:
name Name of the project (default: <prompt>)
Options:
-V, --version output the version number
-V, --version
Output the version number
-p, --preset <preset>
Preset to use (default: <prompt>, options: next, react)
--ui <ui-library>
Expand All @@ -15,21 +16,20 @@ UI library to use (default: <prompt>)
Name of the Anchor template to use (default: <prompt>, set to "none" to prevent adding Anchor)
--anchor-build
Build the anchor project (default: false)
(default: false)
--anchor-name <anchor-name>
--anchor-name <name>
Anchor project name (default: anchor)
--app-name <name>
Name of the frontend project (default: web)
--web-name <name>
Web project name (default: web)
-pm, --package-manager <package-manager>
Package manager to use (default: npm)
--yarn
Use yarn as the package manager
(default: false)
Use yarn as the package manager (default: false)
--pnpm
Use pnpm as the package manager
(default: false)
-d, --dry-run Dry run (default: false)
-h, --help display help for command
Use pnpm as the package manager (default: false)
-d, --dry-run
Dry run (default: false)
-h, --help
Display help for command
Examples:
$ create-solana-dapp my-app --preset react
$ create-solana-dapp my-app --preset react --package-manager yarn
Expand Down
2 changes: 1 addition & 1 deletion packages/create-solana-dapp/bin/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ async function main() {
{
anchor: args.anchor,
anchorName: args.anchorName,
appName: args.appName,
commit: {
name: 'Solana Developers',
email: '[email protected]',
Expand All @@ -32,6 +31,7 @@ async function main() {
nxCloud: false,
packageManager: args.packageManager,
ui: args.ui,
webName: args.webName,
},
async () => {
s.stop('Workspace created.')
Expand Down
24 changes: 12 additions & 12 deletions packages/create-solana-dapp/lib/__snapshots__/get-args.spec.ts.snap
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,14 @@ exports[`get-args expected args should get args with minimal parameters 1`] = `
"anchor": "counter",
"anchorBuild": false,
"anchorName": "anchor",
"appName": "web",
"dryRun": false,
"name": "my-app",
"package": "@solana-developers/[email protected]",
"packageManager": "npm",
"pnpm": false,
"preset": "next",
"ui": "tailwind",
"webName": "web",
"yarn": false,
}
`;
Expand All @@ -22,14 +22,14 @@ exports[`get-args expected args should get args with minimal parameters and pack
"anchor": "counter",
"anchorBuild": false,
"anchorName": "anchor",
"appName": "web",
"dryRun": false,
"name": "my-app",
"package": "@solana-developers/[email protected]",
"packageManager": "npm",
"pnpm": false,
"preset": "next",
"ui": "tailwind",
"webName": "web",
"yarn": false,
}
`;
Expand All @@ -39,14 +39,14 @@ exports[`get-args expected args should get args with minimal parameters and pack
"anchor": "counter",
"anchorBuild": false,
"anchorName": "anchor",
"appName": "web",
"dryRun": false,
"name": "my-app",
"package": "@solana-developers/[email protected]",
"packageManager": "pnpm",
"pnpm": false,
"preset": "next",
"ui": "tailwind",
"webName": "web",
"yarn": false,
}
`;
Expand All @@ -56,14 +56,14 @@ exports[`get-args expected args should get args with minimal parameters and pack
"anchor": "counter",
"anchorBuild": false,
"anchorName": "anchor",
"appName": "web",
"dryRun": false,
"name": "my-app",
"package": "@solana-developers/[email protected]",
"packageManager": "yarn",
"pnpm": false,
"preset": "next",
"ui": "tailwind",
"webName": "web",
"yarn": false,
}
`;
Expand All @@ -73,14 +73,14 @@ exports[`get-args expected args should get args with preset: --preset next --ui
"anchor": "counter",
"anchorBuild": false,
"anchorName": "anchor",
"appName": "web",
"dryRun": false,
"name": "my-app",
"package": "@solana-developers/[email protected]",
"packageManager": "npm",
"pnpm": false,
"preset": "next",
"ui": "tailwind",
"webName": "web",
"yarn": false,
}
`;
Expand All @@ -90,14 +90,14 @@ exports[`get-args expected args should get args with preset: --preset react --an
"anchor": "counter",
"anchorBuild": false,
"anchorName": "program",
"appName": "web",
"dryRun": false,
"name": "my-app",
"package": "@solana-developers/[email protected]",
"packageManager": "npm",
"pnpm": false,
"preset": "react",
"ui": "tailwind",
"webName": "web",
"yarn": false,
}
`;
Expand All @@ -107,14 +107,14 @@ exports[`get-args expected args should get args with preset: --preset react --an
"anchor": "none",
"anchorBuild": false,
"anchorName": "program",
"appName": "web",
"dryRun": false,
"name": "my-app",
"package": "@solana-developers/[email protected]",
"packageManager": "pnpm",
"pnpm": true,
"preset": "react",
"ui": "none",
"webName": "web",
"yarn": false,
}
`;
Expand All @@ -124,14 +124,14 @@ exports[`get-args expected args should get args with preset: --preset react --an
"anchor": "none",
"anchorBuild": false,
"anchorName": "program",
"appName": "web",
"dryRun": false,
"name": "my-app",
"package": "@solana-developers/[email protected]",
"packageManager": "yarn",
"pnpm": false,
"preset": "react",
"ui": "none",
"webName": "web",
"yarn": true,
}
`;
Expand All @@ -141,14 +141,14 @@ exports[`get-args expected args should get args with preset: --preset react --an
"anchor": "none",
"anchorBuild": false,
"anchorName": "anchor",
"appName": "web",
"dryRun": false,
"name": "my-app",
"package": "@solana-developers/[email protected]",
"packageManager": "npm",
"pnpm": false,
"preset": "react",
"ui": "none",
"webName": "web",
"yarn": false,
}
`;
Expand All @@ -158,14 +158,14 @@ exports[`get-args expected args should get args with preset: --preset react --ui
"anchor": "counter",
"anchorBuild": false,
"anchorName": "anchor",
"appName": "web",
"dryRun": false,
"name": "my-app",
"package": "@solana-developers/[email protected]",
"packageManager": "npm",
"pnpm": false,
"preset": "react",
"ui": "tailwind",
"webName": "web",
"yarn": false,
}
`;
Expand All @@ -175,14 +175,14 @@ exports[`get-args expected args should get args with preset: --preset=react --an
"anchor": "counter",
"anchorBuild": true,
"anchorName": "program",
"appName": "web",
"dryRun": false,
"name": "my-app",
"package": "@solana-developers/[email protected]",
"packageManager": "npm",
"pnpm": false,
"preset": "react",
"ui": "tailwind",
"webName": "web",
"yarn": false,
}
`;
Expand All @@ -192,14 +192,14 @@ exports[`get-args expected args should get args with preset: --preset=react --an
"anchor": "counter",
"anchorBuild": false,
"anchorName": "program",
"appName": "web",
"dryRun": false,
"name": "my-app",
"package": "@solana-developers/[email protected]",
"packageManager": "npm",
"pnpm": false,
"preset": "react",
"ui": "tailwind",
"webName": "web",
"yarn": false,
}
`;
2 changes: 1 addition & 1 deletion packages/create-solana-dapp/lib/get-args-result.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ export interface GetArgsResult {
anchor: string | undefined
anchorBuild: boolean
anchorName: string | undefined
appName: string
dryRun: boolean
name: string | undefined
package: string
Expand All @@ -13,4 +12,5 @@ export interface GetArgsResult {
preset: string | undefined
ui: string | undefined
yarn: boolean
webName: string
}
25 changes: 12 additions & 13 deletions packages/create-solana-dapp/lib/get-args.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { log } from '@clack/prompts'
import { program } from 'commander'
import { CreateWorkspaceOptions } from 'create-nx-workspace'
import { PackageManager } from 'nx/src/utils/package-manager'
import { anchorTemplates } from './anchor-templates'
import { getAppInfo } from './get-app-info'
Expand All @@ -18,36 +17,37 @@ export async function getArgs(argv: string[], pm: PackageManager = 'npm'): Promi
// Get the result from the command line
const input = program
.name(app.name)
.version(app.version)
.version(app.version, '-V, --version', help('Output the version number\n'))
.argument('[name]', 'Name of the project (default: <prompt>)')
.option(
'-p, --preset <preset>',
help(`Preset to use (default: <prompt>, options: ${presetValues.join(', ')})`),
help(`Preset to use (default: <prompt>, options: ${presetValues.join(', ')})\n`),
(value: string) => {
if (!presetValues.includes(value)) {
throw new Error(`Invalid preset: ${value}`)
}
return value
},
)
.option('--ui <ui-library>', help(`UI library to use (default: <prompt>)`))
.option('--ui <ui-library>', help(`UI library to use (default: <prompt>)\n`))
.option(
'-a, --anchor <template>',
help(`Name of the Anchor template to use (default: <prompt>, set to "none" to prevent adding Anchor)`),
help(`Name of the Anchor template to use (default: <prompt>, set to "none" to prevent adding Anchor)\n`),
(value: string) => {
if (!anchorTemplates.includes(value)) {
throw new Error(`Invalid anchor template: ${value}`)
}
return value
},
)
.option('--anchor-build', help(`Build the anchor project (default: false)`), false)
.option('--anchor-name <anchor-name>', help(`Anchor project name (default: anchor)`))
.option('--app-name <name>', help(`Name of the frontend project (default: web)`))
.option('-pm, --package-manager <package-manager>', help(`Package manager to use (default: npm)`))
.option('--anchor-build', help(`Build the anchor project`), false)
.option('--anchor-name <name>', help(`Anchor project name (default: anchor)\n`))
.option('--web-name <name>', help(`Web project name (default: web)\n`))
.option('-pm, --package-manager <package-manager>', help(`Package manager to use (default: npm)\n`))
.option('--yarn', help(`Use yarn as the package manager`), false)
.option('--pnpm', help(`Use pnpm as the package manager`), false)
.option('-d, --dry-run', 'Dry run (default: false)')
.option('-d, --dry-run', help('Dry run (default: false)\n'))
.helpOption('-h, --help', help('Display help for command\n'))
.addHelpText(
'after',
`
Expand Down Expand Up @@ -84,7 +84,7 @@ Examples:
anchor: result.anchor,
anchorBuild: result.anchorBuild,
anchorName: result.anchorName ?? 'anchor',
appName: result.appName ?? 'web',
webName: result.webName ?? 'web',
dryRun: result.dryRun ?? false,
name: name ?? '',
package: '',
Expand Down Expand Up @@ -144,6 +144,5 @@ Examples:
function help(text: string) {
return `
${text}
`
${text}`
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ describe('application generator', () => {
it.each([['none'], ['tailwind']])('should generate default app with "%s" ui', async (ui) => {
await applicationNextGenerator(tree, { ...rawOptions, ui: ui as ApplicationNextUi })

const appConfig = readProjectConfiguration(tree, options.appName)
const appConfig = readProjectConfiguration(tree, options.webName)
const anchorConfig = readProjectConfiguration(tree, options.anchorName)
expect(appConfig).toBeDefined()
expect(anchorConfig).toBeDefined()
Expand All @@ -35,7 +35,7 @@ describe('application generator', () => {
await applicationNextGenerator(tree, { ...rawOptions, name: 'app-2', ui: 'none' })
await applicationNextGenerator(tree, { ...rawOptions, name: 'app-3', anchorName: 'anchor-1', ui: 'none' })

const app0 = readProjectConfiguration(tree, options.appName)
const app0 = readProjectConfiguration(tree, options.webName)
const app1 = readProjectConfiguration(tree, 'app-1')
const app2 = readProjectConfiguration(tree, 'app-2')
const app3 = readProjectConfiguration(tree, 'app-3')
Expand All @@ -55,7 +55,7 @@ describe('application generator', () => {
it('should generate app without anchor', async () => {
await applicationNextGenerator(tree, { ...rawOptions, ui: 'none', anchor: 'none' })
const projects = getProjects(tree)
const appProject = projects.has(options.appName)
const appProject = projects.has(options.webName)
const anchorProject = projects.has(options.anchorName)

expect(projects.size).toEqual(1)
Expand All @@ -66,9 +66,9 @@ describe('application generator', () => {
it.each([['none'], ['tailwind']])('should generate app with custom name and "%s" ui', async (ui) => {
await applicationNextGenerator(tree, {
...rawOptions,
appName: 'web-app',
ui: ui as ApplicationNextUi,
anchor: 'none',
ui: ui as ApplicationNextUi,
webName: 'web-app',
})
const projects = getProjects(tree)
const appProject = projects.has('web-app')
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ export async function applicationNextGenerator(tree: Tree, rawOptions: Applicati
applicationCleanup(tree, join(project.sourceRoot, 'app'), cleanup)

const substitutions = applicationSubstitutions({
name: options.appName,
name: options.webName,
npmScope,
})

Expand All @@ -60,7 +60,7 @@ export async function applicationNextGenerator(tree: Tree, rawOptions: Applicati

if (options.ui === 'tailwind') {
// Add the tailwind config.
await applicationTailwindConfig(tree, options.appName)
await applicationTailwindConfig(tree, options.webName)
}

if (options.anchor !== 'none' && !getProjects(tree).has(options.anchorName)) {
Expand Down
Loading

0 comments on commit a9a17ad

Please sign in to comment.