create-parlor 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/args.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"args.js","sourceRoot":"","sources":["../src/args.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseArgs } from \"node:util\";\n\nimport {\n ADDON_NAMES,\n type AddonName,\n CreateError,\n isAddonName,\n PACKAGE_MANAGERS,\n type PackageManagerName,\n} from \"@parlor/scaffold\";\n\nexport const DEFAULT_DIRECTORY = \"my-parlor-app\";\n\nexport interface CreateRequest {\n readonly directory: string | undefined;\n readonly yes: boolean;\n readonly install: boolean;\n readonly git: boolean;\n readonly packageManager: PackageManagerName | undefined;\n readonly addons: readonly AddonName[];\n readonly dryRun: boolean;\n readonly help: boolean;\n readonly version: boolean;\n}\n\nexport const USAGE = `Usage: create-parlor [directory] [options]\n\n -y, --yes Use every default and never prompt\n --package-manager <pm> npm, pnpm, yarn or bun (default: the one running this)\n --add <addon> Run \\`parlor add <addon>\\` after install; repeatable (${ADDON_NAMES.join(\", \")})\n --no-install Skip installing dependencies\n --no-git Skip the initial git commit\n --dry-run List the files that would be written and stop\n -h, --help Show this help\n -v, --version Show the version`;\n\n/** npm 7+ passes a lone `--` through to the initializer; it is dropped like create-astro does. */\nexport function parseCreateArgs(argv: readonly string[]): CreateRequest {\n const { values, positionals } = parseArgs({\n args: argv.filter((arg) => arg !== \"--\"),\n allowPositionals: true,\n allowNegative: true,\n strict: true,\n options: {\n yes: { type: \"boolean\", short: \"y\", default: false },\n install: { type: \"boolean\", default: true },\n git: { type: \"boolean\", default: true },\n \"package-manager\": { type: \"string\" },\n add: { type: \"string\", multiple: true, default: [] },\n \"dry-run\": { type: \"boolean\", default: false },\n help: { type: \"boolean\", short: \"h\", default: false },\n version: { type: \"boolean\", short: \"v\", default: false },\n },\n });\n if (positionals.length > 1) {\n throw new CreateError(`Expected one directory, got: ${positionals.join(\" \")}`);\n }\n const manager = values[\"package-manager\"];\n if (\n manager !== undefined &&\n !PACKAGE_MANAGERS.includes(manager as PackageManagerName)\n ) {\n throw new CreateError(\n `Unknown package manager \"${manager}\". Expected one of: ${PACKAGE_MANAGERS.join(\", \")}`,\n );\n }\n const unknownAddons = values.add.filter((name) => !isAddonName(name));\n if (unknownAddons.length > 0) {\n throw new CreateError(\n `Unknown add-on ${unknownAddons.map((name) => `\"${name}\"`).join(\", \")}. Expected one of: ${ADDON_NAMES.join(\", \")}`,\n );\n }\n return {\n directory: positionals[0],\n yes: values.yes,\n install: values.install,\n git: values.git,\n packageManager: manager as PackageManagerName | undefined,\n addons: [...new Set(values.add.filter(isAddonName))],\n dryRun: values[\"dry-run\"],\n help: values.help,\n version: values.version,\n };\n}\n\nexport function canPrompt(\n stdin: { readonly isTTY?: boolean },\n stdout: { readonly isTTY?: boolean },\n env: NodeJS.ProcessEnv,\n): boolean {\n return Boolean(stdin.isTTY && stdout.isTTY && !env.CI);\n}\n"]}
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport { resolve } from \"node:path\";\n\nimport { cancel, isCancel, text } from \"@clack/prompts\";\nimport {\n CreateError,\n createProject,\n FRAMEWORK_VERSION,\n fromUserAgent,\n type PackageManager,\n} from \"@parlor/scaffold\";\n\nimport { canPrompt, DEFAULT_DIRECTORY, parseCreateArgs, USAGE } from \"./args.js\";\nimport { dryRunReport, nextSteps } from \"./next-steps.js\";\n\nasync function askDirectory(): Promise<string | undefined> {\n const answer = await text({\n message: \"Project name\",\n placeholder: DEFAULT_DIRECTORY,\n defaultValue: DEFAULT_DIRECTORY,\n });\n if (isCancel(answer)) {\n cancel(\"Cancelled\");\n return undefined;\n }\n return answer.trim() || DEFAULT_DIRECTORY;\n}\n\nasync function main(argv: readonly string[]): Promise<number> {\n const request = parseCreateArgs(argv);\n if (request.help) {\n console.log(USAGE);\n return 0;\n }\n if (request.version) {\n console.log(FRAMEWORK_VERSION);\n return 0;\n }\n const detected = fromUserAgent(process.env.npm_config_user_agent);\n const packageManager: PackageManager = request.packageManager\n ? {\n name: request.packageManager,\n version: detected?.name === request.packageManager ? detected.version : undefined,\n }\n : (detected ?? { name: \"npm\", version: undefined });\n const directory =\n request.directory ??\n (request.yes\n ? DEFAULT_DIRECTORY\n : canPrompt(process.stdin, process.stdout, process.env)\n ? await askDirectory()\n : undefined);\n if (directory === undefined) {\n if (canPrompt(process.stdin, process.stdout, process.env)) return 0;\n throw new CreateError(\n `create-parlor needs a project name when it cannot ask for one. Run, for example:\\n ${packageManager.name} create parlor my-app --yes`,\n );\n }\n const project = await createProject({\n directory: resolve(directory),\n packageManager,\n mode: request.dryRun ? \"dry-run\" : \"apply\",\n install: request.install,\n git: request.git,\n addons: request.addons,\n log: (line) => console.log(line),\n });\n const lines = request.dryRun\n ? dryRunReport(project)\n : nextSteps(project, process.cwd());\n console.log(lines.join(\"\\n\"));\n return project.install.kind === \"failed\" ? 1 : 0;\n}\n\ntry {\n process.exitCode = await main(process.argv.slice(2));\n} catch (error) {\n if (\n error instanceof CreateError ||\n (error instanceof TypeError &&\n \"code\" in error &&\n error.code === \"ERR_PARSE_ARGS_UNKNOWN_OPTION\")\n ) {\n console.error(error.message);\n process.exitCode = 1;\n } else {\n throw error;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"next-steps.js","sourceRoot":"","sources":["../src/next-steps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"next-steps.js","sourceRoot":"","sources":["../src/next-steps.ts"],"names":[],"mappings":"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","sourcesContent":["import { relative } from \"node:path\";\n\nimport {\n commandsFor,\n type CreatedProject,\n DOCS_URL,\n formatCommand,\n} from \"@parlor/scaffold\";\n\nconst COLUMN = 31;\n\nfunction step(command: string, note?: string): string {\n return note ? ` ${command.padEnd(COLUMN)}${note}` : ` ${command}`;\n}\n\nexport function nextSteps(project: CreatedProject, cwd: string): readonly string[] {\n const pm = commandsFor(project.packageManager);\n const where = relative(cwd, project.directory) || \".\";\n return [\n `Created ${where} with ${project.packageManager.name}.`,\n \"\",\n ...(where === \".\" ? [] : [step(`cd ${where}`)]),\n ...(project.install.kind === \"installed\" || project.install.kind === \"ignored-builds\"\n ? []\n : [step(formatCommand(pm.install))]),\n step(pm.run(\"dev\"), \"web app on http://localhost:5173, API on :3000\"),\n ...project.addons.deferred.map((addon) =>\n step(pm.exec(\"parlor\", [\"add\", addon]), `finish adding ${addon}`),\n ),\n ...(project.addons.applied.includes(\"auth\") ||\n project.addons.deferred.includes(\"auth\")\n ? []\n : [step(pm.exec(\"parlor\", [\"add\", \"auth\"]), \"sign-in with Better Auth\")]),\n step(\n pm.exec(\"parlor\", [\"dev\", \"--target\", \"mac\"]),\n \"the same app as a desktop window\",\n ),\n \"\",\n \"Open http://localhost:5173 and press Agent to chat with your coding agent.\",\n `AGENTS.md tells coding agents how this project works. Docs: ${DOCS_URL}/llms.txt`,\n ...(project.git.kind === \"failed\"\n ? [\n \"\",\n `No initial commit: ${project.git.message.split(\"\\n\").find((line) => line.trim()) ?? \"git failed\"}. Commit the files once git works.`,\n ]\n : []),\n ];\n}\n\nexport function dryRunReport(project: CreatedProject): readonly string[] {\n const name = project.identity.directoryName;\n return [\n ...project.files.map((path) => `${name}/${path}`),\n \"\",\n `${project.files.length} files would be written to ${name}. Nothing was.`,\n ];\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-parlor",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Create a Parlor app: pnpm create parlor, npm create parlor, yarn create parlor, bun create parlor",
5
5
  "homepage": "https://cychien.github.io/parlor",
6
6
  "bugs": "https://github.com/cychien/parlor/issues",
@@ -19,7 +19,7 @@
19
19
  "type": "module",
20
20
  "dependencies": {
21
21
  "@clack/prompts": "^1.8.1",
22
- "@parlor/scaffold": "0.1.0"
22
+ "@parlor/scaffold": "0.2.0"
23
23
  },
24
24
  "devDependencies": {
25
25
  "@types/node": "^24.14.0",