underpeaks-nxf 1.0.13 → 1.0.15

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.
@@ -1 +1 @@
1
- {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAiFnC,eAAO,MAAM,eAAe,SAgExB,CAAA"}
1
+ {"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA+FnC,eAAO,MAAM,eAAe,SAoHxB,CAAA"}
@@ -12,6 +12,8 @@ const fs_extra_1 = __importDefault(require("fs-extra"));
12
12
  const path_1 = __importDefault(require("path"));
13
13
  const node_fetch_1 = __importDefault(require("node-fetch"));
14
14
  const inquirer_1 = __importDefault(require("inquirer"));
15
+ const extract_zip_1 = __importDefault(require("extract-zip"));
16
+ const child_process_1 = require("child_process");
15
17
  const CREDENTIALS_PATH = path_1.default.join(process.env.HOME ?? process.env.USERPROFILE ?? '~', '.nxf', 'credentials.json');
16
18
  async function getCredentials() {
17
19
  if (!await fs_extra_1.default.pathExists(CREDENTIALS_PATH)) {
@@ -20,11 +22,6 @@ async function getCredentials() {
20
22
  }
21
23
  return fs_extra_1.default.readJson(CREDENTIALS_PATH);
22
24
  }
23
- // FIX: generation previously trusted creds.active_project_id silently — a
24
- // user with multiple hosted projects who forgot to `nxf project switch`
25
- // first would generate against the wrong project with no warning. Now,
26
- // unless --project is explicitly passed, we always fetch the user's real
27
- // project list and make them choose by name before generating.
28
25
  async function resolveProjectId(creds, explicitProjectId) {
29
26
  if (explicitProjectId)
30
27
  return explicitProjectId;
@@ -50,7 +47,6 @@ async function resolveProjectId(creds, explicitProjectId) {
50
47
  console.error(chalk_1.default.red('\n No projects found on your account.\n'));
51
48
  process.exit(1);
52
49
  }
53
- // Single project — no need to prompt, just confirm what's being used
54
50
  if (projects.length === 1) {
55
51
  console.log(chalk_1.default.dim(`\n Generating for project: ${chalk_1.default.white(projects[0].name)}\n`));
56
52
  return projects[0].project_id;
@@ -66,6 +62,21 @@ async function resolveProjectId(creds, explicitProjectId) {
66
62
  console.log('');
67
63
  return selectedId;
68
64
  }
65
+ // FIX: previously ran the install step (npm install / flutter pub get)
66
+ // not at all — the user had to manually cd into the extracted folder and
67
+ // run it themselves. Runs it here, streaming output live, non-fatal if
68
+ // the relevant tool isn't installed (prints a clear manual instruction
69
+ // instead of crashing generate itself).
70
+ function runInstall(cwd, target) {
71
+ return new Promise((resolve) => {
72
+ const [cmd, args] = target === 'flutter'
73
+ ? ['flutter', ['pub', 'get']]
74
+ : ['npm', ['install']];
75
+ const child = (0, child_process_1.spawn)(cmd, args, { cwd, stdio: 'inherit', shell: true });
76
+ child.on('error', () => resolve(false));
77
+ child.on('close', (code) => resolve(code === 0));
78
+ });
79
+ }
69
80
  exports.generateCommand = new commander_1.Command('generate')
70
81
  .description('Generate Flutter or Next.js code from your CMS models')
71
82
  .argument('<target>', 'Target framework: flutter or nextjs')
@@ -74,8 +85,10 @@ exports.generateCommand = new commander_1.Command('generate')
74
85
  .option('--models <names>', 'Regenerate multiple models (comma-separated)')
75
86
  .option('--page <name>', 'Regenerate a specific page only')
76
87
  .option('--pages <names>', 'Regenerate multiple pages (comma-separated)')
77
- .option('--out <dir>', 'Output directory (default: ./nxf-output)')
88
+ .option('--out <dir>', 'Output directory (default: current directory, next to where you run nxf)')
78
89
  .option('--state <manager>', 'State management: riverpod | bloc | provider (default: riverpod)')
90
+ .option('--no-install', 'Skip running flutter pub get / npm install after generating')
91
+ .option('--zip', 'Keep the raw .zip file instead of auto-extracting')
79
92
  .action(async (target, options) => {
80
93
  if (!['flutter', 'nextjs'].includes(target)) {
81
94
  console.error(chalk_1.default.red(`\n Unknown target: ${target}. Use flutter or nextjs.\n`));
@@ -83,7 +96,6 @@ exports.generateCommand = new commander_1.Command('generate')
83
96
  }
84
97
  const creds = await getCredentials();
85
98
  const projectId = await resolveProjectId(creds, options.project);
86
- const outDir = path_1.default.resolve(options.out ?? './nxf-output');
87
99
  const spinner = (0, ora_1.default)(`Generating ${target} code…`).start();
88
100
  try {
89
101
  const res = await (0, node_fetch_1.default)(`${creds.api_base}/api/codegen-private/generate/${target}`, {
@@ -108,17 +120,58 @@ exports.generateCommand = new commander_1.Command('generate')
108
120
  spinner.fail(chalk_1.default.red(`Generation failed: ${err.error ?? 'Unknown error'}`));
109
121
  process.exit(1);
110
122
  }
111
- // FIX: node-fetch@3 removed .buffer() (a v2-only convenience method).
112
- // The correct v3 API is .arrayBuffer(), wrapped in Buffer.from() before
113
- // writing to disk. Without this fix, every successful generation would
114
- // have thrown "res.buffer is not a function" right at the finish line.
123
+ // FIX: node-fetch@3 removed .buffer() — use .arrayBuffer() + Buffer.from().
115
124
  const arrayBuffer = await res.arrayBuffer();
116
125
  const buffer = Buffer.from(arrayBuffer);
126
+ // FIX: previously always wrote to ./nxf-output inside whatever
127
+ // directory the user happened to be running `nxf` from — including,
128
+ // accidentally, the Studio repo itself. Default is now a sibling
129
+ // folder named after the project, created wherever the user chose
130
+ // via --out, or the current working directory otherwise — never
131
+ // silently nested inside an existing project.
132
+ const projectName = res.headers.get('x-underpeaks-project-name') ?? `underpeaks-${target}`;
133
+ const baseDir = path_1.default.resolve(options.out ?? process.cwd());
134
+ const outDir = path_1.default.join(baseDir, `${projectName}-${target}`);
135
+ await fs_extra_1.default.ensureDir(baseDir);
136
+ if (options.zip) {
137
+ // Old behaviour, opt-in only: leave the raw zip for the user to
138
+ // extract themselves.
139
+ const zipPath = path_1.default.join(baseDir, `${projectName}-${target}.zip`);
140
+ await fs_extra_1.default.writeFile(zipPath, buffer);
141
+ spinner.succeed(chalk_1.default.green(`Generated successfully → ${zipPath}`));
142
+ console.log(chalk_1.default.dim(`\n Unzip and copy into your ${target} project.\n`));
143
+ return;
144
+ }
145
+ // FIX: previously left a .zip file the user had to manually extract
146
+ // and then navigate back to their editor for. Now extracts directly
147
+ // into a named folder next to where nxf was run.
148
+ const tmpZipPath = path_1.default.join(baseDir, `.nxf-${Date.now()}.zip`);
149
+ await fs_extra_1.default.writeFile(tmpZipPath, buffer);
150
+ spinner.text = 'Extracting…';
151
+ if (await fs_extra_1.default.pathExists(outDir)) {
152
+ spinner.warn(chalk_1.default.yellow(`${outDir} already exists — files will be merged/overwritten.`));
153
+ }
117
154
  await fs_extra_1.default.ensureDir(outDir);
118
- const zipPath = path_1.default.join(outDir, `${target}-${Date.now()}.zip`);
119
- await fs_extra_1.default.writeFile(zipPath, buffer);
120
- spinner.succeed(chalk_1.default.green(`Generated successfully → ${zipPath}`));
121
- console.log(chalk_1.default.dim(`\n Unzip and copy into your ${target} project.\n`));
155
+ (0, extract_zip_1.default)(tmpZipPath, { dir: outDir });
156
+ await fs_extra_1.default.remove(tmpZipPath);
157
+ spinner.succeed(chalk_1.default.green(`Generated → ${outDir}`));
158
+ if (options.install === false) {
159
+ console.log(chalk_1.default.dim(`\n Skipped install. Run it yourself:\n`));
160
+ console.log(chalk_1.default.dim(target === 'flutter' ? ` cd ${outDir} && flutter pub get\n` : ` cd ${outDir} && npm install\n`));
161
+ return;
162
+ }
163
+ console.log(chalk_1.default.dim(`\n Installing dependencies…\n`));
164
+ const installOk = await runInstall(outDir, target);
165
+ if (installOk) {
166
+ console.log(chalk_1.default.green(`\n Done. Your project is ready at:`));
167
+ console.log(chalk_1.default.white(` ${outDir}\n`));
168
+ }
169
+ else {
170
+ console.log(chalk_1.default.yellow(`\n Could not run the install step automatically.`));
171
+ console.log(chalk_1.default.dim(target === 'flutter'
172
+ ? ` Make sure Flutter is installed, then run:\n cd ${outDir} && flutter pub get\n`
173
+ : ` Make sure Node/npm is installed, then run:\n cd ${outDir} && npm install\n`));
174
+ }
122
175
  }
123
176
  catch (err) {
124
177
  spinner.fail(chalk_1.default.red(`Generation failed: ${err.message}`));
@@ -1 +1 @@
1
- {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "underpeaks-nxf",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "description": "Underpeaks CLI — generate Flutter and Next.js code from your CMS models",
5
5
  "bin": {
6
6
  "nxf": "dist/index.js"
@@ -20,6 +20,7 @@
20
20
  "archiver": "^6.0.0",
21
21
  "chalk": "^5.3.0",
22
22
  "commander": "^11.0.0",
23
+ "extract-zip": "^2.0.1",
23
24
  "fs-extra": "^11.1.0",
24
25
  "inquirer": "^9.2.0",
25
26
  "node-fetch": "^3.3.0",