create-awesome-node-app 0.6.7 → 0.7.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/README.md CHANGED
@@ -81,14 +81,14 @@ Explore visually: **[create-awesome-node-app.vercel.app](https://create-awesome-
81
81
 
82
82
  ## 🚀 Quick Start
83
83
 
84
- Use via one‑shot runner (recommended – always latest):
84
+ Use via one‑shot runner (recommended – always latest). Interactive mode runs by default (unless CI):
85
85
 
86
86
  ```bash
87
- npm create awesome-node-app@latest my-app -- --interactive
87
+ npm create awesome-node-app@latest my-app
88
88
  # or
89
- pnpm create awesome-node-app my-app --interactive
89
+ pnpm create awesome-node-app my-app
90
90
  # or
91
- yarn create awesome-node-app my-app --interactive
91
+ yarn create awesome-node-app my-app
92
92
  ```
93
93
 
94
94
  Global install (optional):
@@ -110,7 +110,7 @@ npx create-awesome-node-app my-api \
110
110
 
111
111
  ## 🧪 Interactive Mode Walkthrough
112
112
 
113
- Launch with `--interactive` to:
113
+ Interactive flow (default outside CI) lets you:
114
114
 
115
115
  1. Pick a category (Frontend, Backend, Full Stack, Monorepo, Web Extension, UAT...)
116
116
  2. Select a template with description & keywords
@@ -156,7 +156,7 @@ create-awesome-node-app --list-addons
156
156
  create-awesome-node-app --template react-vite-boilerplate --list-addons
157
157
  ```
158
158
 
159
- Add any extra extension by URL:
159
+ Add any extra extension by URL (non‑interactive example shown):
160
160
 
161
161
  ```bash
162
162
  create-awesome-node-app my-app \
@@ -192,7 +192,8 @@ fnm use 22
192
192
 
193
193
  | Flag | Description |
194
194
  | --------------------------- | ---------------------------------------------- |
195
- | `--interactive` | Guided selection flow (templates + addons) |
195
+ | `--interactive` | Force interactive (default outside CI) |
196
+ | `--no-interactive` | Disable interactive wizard |
196
197
  | `--template <slug\|url>` | Use a known template slug or remote URL |
197
198
  | `--addons [list...]` | Space‑separated addon slugs or URLs |
198
199
  | `--extend [list...]` | Extra extension URLs (advanced) |
package/dist/index.cjs CHANGED
@@ -1925,19 +1925,24 @@ var processInteractiveOptions = async (options) => {
1925
1925
  }
1926
1926
  return nextOptions;
1927
1927
  };
1928
+ var resolveInteractiveMode = (options, ci = import_ci_info.isCI) => {
1929
+ const explicit = options.interactive;
1930
+ if (explicit === true) return true;
1931
+ if (explicit === false) return false;
1932
+ return !ci;
1933
+ };
1928
1934
  var getCnaOptions = async (options) => {
1929
- const shouldUseInteractiveMode = !import_ci_info.isCI && options.interactive;
1935
+ const shouldUseInteractiveMode = resolveInteractiveMode(options);
1930
1936
  if (shouldUseInteractiveMode) {
1931
- return processInteractiveOptions(options);
1932
- } else {
1933
- return processNonInteractiveOptions(options);
1937
+ return processInteractiveOptions({ ...options, interactive: true });
1934
1938
  }
1939
+ return processNonInteractiveOptions(options);
1935
1940
  };
1936
1941
 
1937
1942
  // package.json
1938
1943
  var package_default = {
1939
1944
  name: "create-awesome-node-app",
1940
- version: "0.6.7",
1945
+ version: "0.7.0",
1941
1946
  type: "module",
1942
1947
  description: "Command line tool to create Node apps with a lot of different templates and extensions.",
1943
1948
  license: "MIT",
@@ -2001,6 +2006,7 @@ var package_default = {
2001
2006
  },
2002
2007
  devDependencies: {
2003
2008
  "@create-node-app/eslint-config-ts": "*",
2009
+ "@create-node-app/core": "^0.5.6",
2004
2010
  "@types/node": "^24.5.2",
2005
2011
  "@types/prompts": "^2.4.9",
2006
2012
  "@types/yargs": "^17.0.33",
@@ -2103,7 +2109,14 @@ var main = async () => {
2103
2109
  ).option(
2104
2110
  "--addons [extensions...]",
2105
2111
  "specify extensions to apply for the boilerplate generation"
2106
- ).option("--use-yarn", "use yarn instead of npm or pnpm").option("--use-pnpm", "use pnpm instead of yarn or npm").option("--interactive", "run in interactive mode to select options", false).option("--list-templates", "list all available templates").option("--list-addons", "list all available addons").action((providedProjectName) => {
2112
+ ).option("--use-yarn", "use yarn instead of npm or pnpm").option("--use-pnpm", "use pnpm instead of yarn or npm").option(
2113
+ "--interactive",
2114
+ "force interactive mode (default outside CI unless --no-interactive)",
2115
+ void 0
2116
+ ).option(
2117
+ "--no-interactive",
2118
+ "disable interactive mode (use only flags / non-interactive flow)"
2119
+ ).option("--list-templates", "list all available templates").option("--list-addons", "list all available addons").action((providedProjectName) => {
2107
2120
  projectName = providedProjectName || projectName;
2108
2121
  });
2109
2122
  program.parse(process.argv);