@norrix/cli 0.0.5 → 0.0.7

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/cli.js CHANGED
@@ -3,7 +3,7 @@ import { Command } from 'commander';
3
3
  import { readFileSync } from 'fs';
4
4
  import { fileURLToPath } from 'url';
5
5
  import path from 'path';
6
- import { build, submit, update, buildStatus, submitStatus, updateStatus, signIn, signOut, uploadFile, currentUser, } from './lib/commands.js';
6
+ import { build, submit, update, buildStatus, submitStatus, updateStatus, signIn, signOut, uploadFile, currentUser, billingCheckout, billingPortal, } from './lib/commands.js';
7
7
  /**
8
8
  * Norrix CLI
9
9
  *
@@ -16,6 +16,7 @@ import { build, submit, update, buildStatus, submitStatus, updateStatus, signIn,
16
16
  * This CLI can be used in development workflows, CI/CD, and local tooling.
17
17
  */
18
18
  const program = new Command();
19
+ let isVerbose = false;
19
20
  // Resolve version from this package's package.json at runtime (ESM-safe)
20
21
  const __filename = fileURLToPath(import.meta.url);
21
22
  const __dirname = path.dirname(__filename);
@@ -31,56 +32,73 @@ catch { }
31
32
  program
32
33
  .name('norrix')
33
34
  .description('Norrix CLI - NativeScript build and deployment tool')
34
- .version(pkgVersion);
35
+ .version(pkgVersion)
36
+ .option('--verbose', 'Enable verbose error output (stack traces)');
35
37
  program
36
38
  .command('build')
37
39
  .description('Build your NativeScript app')
38
- .action(build);
40
+ .argument('[platform]', 'Target platform (android or ios)')
41
+ .action((platform) => build(platform, isVerbose));
39
42
  program
40
43
  .command('build-status')
41
44
  .description('Check the status of a build')
42
45
  .argument('<buildId>', 'Build ID to check')
43
- .action(buildStatus);
46
+ .action((buildId) => buildStatus(buildId, isVerbose));
44
47
  program
45
48
  .command('submit')
46
49
  .description('Submit your app to app stores')
47
- .action(submit);
50
+ .argument('[platform]', 'Target platform (android or ios)')
51
+ .action((platform) => submit(platform, isVerbose));
48
52
  program
49
53
  .command('submit-status')
50
54
  .description('Check the status of a submission')
51
55
  .argument('<submitId>', 'Submission ID to check')
52
- .action(submitStatus);
56
+ .action((submitId) => submitStatus(submitId, isVerbose));
53
57
  program
54
58
  .command('update')
55
59
  .description('Publish over-the-air updates to deployed apps')
56
- .action(update);
60
+ .argument('[platform]', 'Target platform (android or ios)')
61
+ .action((platform) => update(platform, isVerbose));
57
62
  program
58
63
  .command('update-status')
59
64
  .description('Check the status of an update')
60
65
  .argument('<updateId>', 'Update ID to check')
61
- .action(updateStatus);
66
+ .action((updateId) => updateStatus(updateId, isVerbose));
62
67
  // Authentication commands
63
68
  program
64
69
  .command('sign-in')
65
70
  .aliases(['login'])
66
71
  .description('Authenticate with your Norrix account')
67
- .action(signIn);
72
+ .action(() => signIn(isVerbose));
68
73
  program
69
74
  .command('sign-out')
70
75
  .aliases(['logout'])
71
76
  .description('Sign out of your Norrix account')
72
- .action(signOut);
77
+ .action(() => signOut(isVerbose));
73
78
  // Storage upload command
74
79
  program
75
80
  .command('upload')
76
81
  .description('Upload a file to your Norrix storage bucket')
77
82
  .argument('<filePath>', 'Path to the file to upload')
78
83
  .option('-k, --key <key>', 'Custom S3 key (defaults to the file name)')
79
- .action((filePath, options) => uploadFile(filePath, options));
84
+ .action((filePath, options) => uploadFile(filePath, options, isVerbose));
80
85
  // Current user info
81
86
  program
82
87
  .command('whoami')
83
88
  .description('Show the currently signed-in user')
84
- .action(currentUser);
89
+ .action(() => currentUser(isVerbose));
90
+ // Billing commands
91
+ program
92
+ .command('billing-checkout')
93
+ .description('Open Stripe Checkout for the current organization')
94
+ .argument('[priceId]', 'Stripe Price ID')
95
+ .action((priceId) => billingCheckout(priceId, isVerbose));
96
+ program
97
+ .command('billing-portal')
98
+ .description('Open Stripe Billing Portal for the current organization')
99
+ .action(() => billingPortal(isVerbose));
85
100
  program.parse();
101
+ // Capture verbose flag after parsing
102
+ const options = program.opts();
103
+ isVerbose = Boolean(options.verbose);
86
104
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import * as path from 'path';
4
4
  import { fileURLToPath } from 'url';
5
5
  import { cognitoUserPoolsTokenProvider } from 'aws-amplify/auth/cognito';
6
6
  import os from 'os';
7
+ import crypto from 'crypto';
7
8
  // Load environment variables
8
9
  // 1. Load .env (if present)
9
10
  dotenvConfig();
@@ -23,6 +24,32 @@ const packageRoot = path.resolve(__dirnameResolved, '..', '..');
23
24
  }
24
25
  });
25
26
  import { Amplify } from 'aws-amplify';
27
+ // Ensure a Web Crypto–compatible `crypto` is available for Amplify when running
28
+ // in Node.js. Some Amplify internals expect `globalThis.crypto` to exist and
29
+ // will throw "Cannot resolve the `crypto` function from the environment"
30
+ // otherwise (which can happen on older Node versions or non-standard runtimes).
31
+ function ensureGlobalCrypto() {
32
+ const g = globalThis;
33
+ if (g.crypto) {
34
+ return;
35
+ }
36
+ const nodeCrypto = crypto;
37
+ // Prefer Node's WebCrypto implementation when available
38
+ if (nodeCrypto.webcrypto) {
39
+ g.crypto = nodeCrypto.webcrypto;
40
+ return;
41
+ }
42
+ // Very small fallback that only supports getRandomValues, which is sufficient
43
+ // for Amplify's random number needs in Node environments without WebCrypto.
44
+ if (typeof nodeCrypto.randomFillSync === 'function') {
45
+ g.crypto = {
46
+ getRandomValues(buffer) {
47
+ nodeCrypto.randomFillSync(buffer);
48
+ return buffer;
49
+ },
50
+ };
51
+ }
52
+ }
26
53
  // Amplify configuration tailored for the Norrix CLI
27
54
  // Values are read from environment variables so that the CLI can be used in multiple environments
28
55
  // For local development, you can create a .env file or export these variables in your shell.
@@ -126,6 +153,8 @@ class FileKeyValueStorage {
126
153
  // Instantiate the storage once so every command in the same process reuses it.
127
154
  const persistentStorage = new FileKeyValueStorage();
128
155
  export function configureAmplify() {
156
+ // Make sure Amplify can always find a `crypto` implementation in Node.
157
+ ensureGlobalCrypto();
129
158
  // Configure is idempotent; calling it multiple times is safe
130
159
  Amplify.configure({
131
160
  ...amplifyConfig,
@@ -1 +1 @@
1
- {"version":3,"file":"amplify-config.js","sourceRoot":"","sources":["../../src/lib/amplify-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"amplify-config.js","sourceRoot":"","sources":["../../src/lib/amplify-config.ts"],"names":[],"mappings":"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"}
@@ -2,47 +2,55 @@
2
2
  * Build command implementation
3
3
  * Uploads project to S3 and triggers build via the Next.js API gateway -> WarpBuild
4
4
  */
5
- export declare function build(): Promise<void>;
5
+ export declare function build(cliPlatformArg?: string, verbose?: boolean): Promise<void>;
6
6
  /**
7
7
  * Submit command implementation
8
8
  * Submits the built app to app stores via the Next.js API gateway
9
9
  */
10
- export declare function submit(): Promise<void>;
10
+ export declare function submit(cliPlatformArg?: string, verbose?: boolean): Promise<void>;
11
11
  /**
12
12
  * Update command implementation
13
13
  * Publishes over-the-air updates to deployed apps via the Next.js API gateway
14
14
  */
15
- export declare function update(): Promise<void>;
15
+ export declare function update(cliPlatformArg?: string, verbose?: boolean): Promise<void>;
16
16
  /**
17
17
  * Build Status command implementation
18
18
  * Checks the status of a build via the Next.js API gateway
19
19
  */
20
- export declare function buildStatus(buildId: string): Promise<void>;
20
+ export declare function buildStatus(buildId: string, verbose?: boolean): Promise<void>;
21
21
  /**
22
22
  * Submit Status command implementation
23
23
  * Checks the status of a submission via the Next.js API gateway
24
24
  */
25
- export declare function submitStatus(submitId: string): Promise<void>;
25
+ export declare function submitStatus(submitId: string, verbose?: boolean): Promise<void>;
26
26
  /**
27
27
  * Update Status command implementation
28
28
  * Checks the status of an update via the Next.js API gateway
29
29
  */
30
- export declare function updateStatus(updateId: string): Promise<void>;
30
+ export declare function updateStatus(updateId: string, verbose?: boolean): Promise<void>;
31
31
  /**
32
32
  * Sign-In command implementation (email / password via Cognito)
33
33
  */
34
- export declare function signIn(): Promise<void>;
34
+ export declare function signIn(verbose?: boolean): Promise<void>;
35
35
  /**
36
36
  * Sign-Out command implementation
37
37
  */
38
- export declare function signOut(): Promise<void>;
38
+ export declare function signOut(verbose?: boolean): Promise<void>;
39
39
  /**
40
40
  * Upload a file to S3 via Amplify Storage
41
41
  */
42
42
  export declare function uploadFile(filePath: string, options: {
43
43
  key?: string;
44
- }): Promise<void>;
44
+ }, verbose?: boolean): Promise<void>;
45
45
  /**
46
46
  * Current User command implementation
47
47
  */
48
- export declare function currentUser(): Promise<void>;
48
+ export declare function currentUser(verbose?: boolean): Promise<void>;
49
+ /**
50
+ * Open billing checkout for the current organization
51
+ */
52
+ export declare function billingCheckout(priceId?: string, verbose?: boolean): Promise<void>;
53
+ /**
54
+ * Open Stripe billing portal for the current organization
55
+ */
56
+ export declare function billingPortal(verbose?: boolean): Promise<void>;
@@ -9,8 +9,8 @@ import archiver from 'archiver';
9
9
  // import FormData from 'form-data';
10
10
  import { configureAmplify } from './amplify-config.js';
11
11
  import { signIn as amplifySignIn, signOut as amplifySignOut, getCurrentUser, fetchAuthSession, } from 'aws-amplify/auth';
12
- import { uploadData } from 'aws-amplify/storage';
13
12
  import crypto from 'crypto';
13
+ import { Amplify } from 'aws-amplify';
14
14
  // Initialize Amplify once at startup
15
15
  configureAmplify();
16
16
  /**
@@ -89,6 +89,55 @@ function encryptSecretsIfConfigured(secrets) {
89
89
  },
90
90
  };
91
91
  }
92
+ /**
93
+ * Upload helper that uses Amplify Storage in browser-like environments and
94
+ * falls back to AWS SDK v3 in pure Node (where FileReader is unavailable).
95
+ */
96
+ async function putObjectToStorage(key, data) {
97
+ // CLI always runs in Node; use AWS SDK v3 directly
98
+ await uploadToS3Sdk(key, data);
99
+ }
100
+ function getS3BucketRegionFromAmplify() {
101
+ const cfg = Amplify.getConfig?.() ?? {};
102
+ const bucket = cfg?.Storage?.S3?.bucket ||
103
+ process.env.NORRIX_STORAGE_BUCKET_NAME ||
104
+ process.env.NEXT_PUBLIC_STORAGE_BUCKET_NAME;
105
+ const region = cfg?.Storage?.S3?.region ||
106
+ process.env.NORRIX_STORAGE_BUCKET_REGION ||
107
+ process.env.NEXT_PUBLIC_STORAGE_BUCKET_REGION ||
108
+ process.env.AWS_REGION ||
109
+ process.env.AWS_DEFAULT_REGION;
110
+ if (!bucket || !region) {
111
+ throw new Error('S3 Storage is not configured. Set NORRIX_STORAGE_BUCKET_NAME and NORRIX_STORAGE_BUCKET_REGION.');
112
+ }
113
+ return { bucket, region };
114
+ }
115
+ function logVerbose(message, verbose) {
116
+ if (verbose) {
117
+ console.log(message);
118
+ }
119
+ }
120
+ async function uploadToS3Sdk(key, data) {
121
+ const { bucket, region } = getS3BucketRegionFromAmplify();
122
+ let credentials = undefined;
123
+ try {
124
+ const session = await fetchAuthSession();
125
+ const creds = session?.credentials;
126
+ if (creds?.accessKeyId && creds?.secretAccessKey) {
127
+ credentials = {
128
+ accessKeyId: creds.accessKeyId,
129
+ secretAccessKey: creds.secretAccessKey,
130
+ sessionToken: creds.sessionToken,
131
+ };
132
+ }
133
+ }
134
+ catch {
135
+ // fall back to default credential provider chain
136
+ }
137
+ const { S3Client, PutObjectCommand } = await import('@aws-sdk/client-s3');
138
+ const client = new S3Client({ region, credentials });
139
+ await client.send(new PutObjectCommand({ Bucket: bucket, Key: key, Body: data }));
140
+ }
92
141
  /**
93
142
  * Get the current NativeScript project's name from package.json
94
143
  */
@@ -106,6 +155,123 @@ async function getProjectName() {
106
155
  throw new Error(`Failed to get project name: ${error.message}`);
107
156
  }
108
157
  }
158
+ /**
159
+ * Parse NativeScript appPath from nativescript.config.(ts|js) if present.
160
+ * Returns the raw appPath string (relative to project root) or undefined.
161
+ */
162
+ function getNativeScriptAppPath() {
163
+ try {
164
+ const candidates = ['nativescript.config.ts', 'nativescript.config.js'];
165
+ for (const file of candidates) {
166
+ const full = path.join(process.cwd(), file);
167
+ if (!fs.existsSync(full))
168
+ continue;
169
+ const content = fs.readFileSync(full, 'utf8');
170
+ // Match appPath: 'src' | "src" | `src`
171
+ const match = content.match(/appPath\s*:\s*['"`]([^'"`]+)['"`]/);
172
+ if (match && match[1]) {
173
+ return match[1].trim();
174
+ }
175
+ }
176
+ }
177
+ catch (_) {
178
+ // ignore parse errors and fall back to default checks
179
+ }
180
+ return undefined;
181
+ }
182
+ /**
183
+ * Parse NativeScript app id from nativescript.config.(ts|js).
184
+ * Looks for top-level `id`, then platform-specific `ios.id` / `android.id`.
185
+ */
186
+ function getNativeScriptAppId(platform) {
187
+ const normalizedPlatform = (platform || '').toLowerCase();
188
+ const candidates = ['nativescript.config.ts', 'nativescript.config.js'];
189
+ try {
190
+ for (const file of candidates) {
191
+ const full = path.join(process.cwd(), file);
192
+ if (!fs.existsSync(full))
193
+ continue;
194
+ const content = fs.readFileSync(full, 'utf8');
195
+ // Prefer platform-specific id if platform is known
196
+ if (normalizedPlatform === 'ios' || normalizedPlatform === 'visionos') {
197
+ const m = content.match(/ios\s*:\s*{[^}]*id\s*:\s*['"`]([^'"`]+)['"`]/s);
198
+ if (m && m[1])
199
+ return m[1].trim();
200
+ }
201
+ else if (normalizedPlatform === 'android') {
202
+ const m = content.match(/android\s*:\s*{[^}]*id\s*:\s*['"`]([^'"`]+)['"`]/s);
203
+ if (m && m[1])
204
+ return m[1].trim();
205
+ }
206
+ // Fallback to top-level id
207
+ const topLevel = content.match(/id\s*:\s*['"`]([^'"`]+)['"`]/);
208
+ if (topLevel && topLevel[1])
209
+ return topLevel[1].trim();
210
+ }
211
+ }
212
+ catch (_) {
213
+ // ignore parse errors and fall back to manual input
214
+ }
215
+ return undefined;
216
+ }
217
+ function getNativeScriptAppResourcesPath() {
218
+ try {
219
+ const candidates = ['nativescript.config.ts', 'nativescript.config.js'];
220
+ for (const file of candidates) {
221
+ const full = path.join(process.cwd(), file);
222
+ if (!fs.existsSync(full))
223
+ continue;
224
+ const content = fs.readFileSync(full, 'utf8');
225
+ const match = content.match(/appResourcesPath\s*:\s*['"`]([^'"`]+)['"`]/);
226
+ if (match && match[1]) {
227
+ return match[1].trim();
228
+ }
229
+ }
230
+ }
231
+ catch (_) {
232
+ // ignore parse errors and fall back
233
+ }
234
+ return undefined;
235
+ }
236
+ function getAppleVersionFromInfoPlist(platform) {
237
+ const appResourcesPath = getNativeScriptAppResourcesPath();
238
+ if (!appResourcesPath)
239
+ return {};
240
+ const platformDir = platform.toLowerCase() === 'visionos' ? 'visionOS' : 'iOS';
241
+ const plistPath = path.join(process.cwd(), appResourcesPath, platformDir, 'Info.plist');
242
+ if (!fs.existsSync(plistPath))
243
+ return {};
244
+ try {
245
+ const xml = fs.readFileSync(plistPath, 'utf8');
246
+ const shortVersionMatch = xml.match(/<key>CFBundleShortVersionString<\/key>\s*<string>([^<]+)<\/string>/);
247
+ const bundleVersionMatch = xml.match(/<key>CFBundleVersion<\/key>\s*<string>([^<]+)<\/string>/);
248
+ const version = shortVersionMatch?.[1]?.trim();
249
+ const buildNumber = bundleVersionMatch?.[1]?.trim();
250
+ return { version, buildNumber };
251
+ }
252
+ catch (_) {
253
+ return {};
254
+ }
255
+ }
256
+ function getAndroidVersionFromAppGradle() {
257
+ const appResourcesPath = getNativeScriptAppResourcesPath();
258
+ if (!appResourcesPath)
259
+ return {};
260
+ const gradlePath = path.join(process.cwd(), appResourcesPath, 'Android', 'app.gradle');
261
+ if (!fs.existsSync(gradlePath))
262
+ return {};
263
+ try {
264
+ const content = fs.readFileSync(gradlePath, 'utf8');
265
+ const versionNameMatch = content.match(/versionName\s+"([^"]+)"/);
266
+ const versionCodeMatch = content.match(/versionCode\s+(\d+)/);
267
+ const version = versionNameMatch?.[1]?.trim();
268
+ const buildNumber = versionCodeMatch?.[1]?.trim();
269
+ return { version, buildNumber };
270
+ }
271
+ catch (_) {
272
+ return {};
273
+ }
274
+ }
109
275
  /**
110
276
  * Creates a zip file of the current directory (NativeScript project)
111
277
  */
@@ -134,17 +300,28 @@ async function zipProject(projectName, isUpdate = false) {
134
300
  });
135
301
  // Pipe archive data to the file
136
302
  archive.pipe(output);
137
- // Check if we have a src/app directory
138
- const srcAppDir = path.join(process.cwd(), 'src', 'app');
303
+ // Determine the primary app directory (prefer appPath from NativeScript config)
304
+ const nsAppPath = getNativeScriptAppPath();
305
+ const nsAppDir = nsAppPath
306
+ ? path.join(process.cwd(), nsAppPath)
307
+ : undefined;
308
+ const srcDir = path.join(process.cwd(), 'src');
139
309
  const appDir = path.join(process.cwd(), 'app');
140
- if (fs.existsSync(srcAppDir) && fs.statSync(srcAppDir).isDirectory()) {
141
- console.log('Found src/app directory in project');
310
+ if (nsAppDir &&
311
+ fs.existsSync(nsAppDir) &&
312
+ fs.statSync(nsAppDir).isDirectory()) {
313
+ console.log(`Found app directory from nativescript.config at: ${nsAppPath}`);
314
+ }
315
+ else if (fs.existsSync(srcDir) && fs.statSync(srcDir).isDirectory()) {
316
+ console.log('Found src directory in project');
142
317
  }
143
318
  else if (fs.existsSync(appDir) && fs.statSync(appDir).isDirectory()) {
144
319
  console.log('Found app directory in project');
145
320
  }
146
321
  else {
147
- console.warn('Warning: app directory not found at /Users/owencarey/Documents/nativescript-browser/app');
322
+ console.warn('Warning: app directory not found in the project root');
323
+ const checked = [nsAppDir, srcDir, appDir].filter(Boolean).join(', ');
324
+ console.warn(`Checked locations: ${checked}`);
148
325
  console.log('Creating an empty app directory in the zip');
149
326
  }
150
327
  // For both builds/updates, include App_Resources and exclude node_modules
@@ -165,20 +342,27 @@ async function zipProject(projectName, isUpdate = false) {
165
342
  * Build command implementation
166
343
  * Uploads project to S3 and triggers build via the Next.js API gateway -> WarpBuild
167
344
  */
168
- export async function build() {
345
+ export async function build(cliPlatformArg, verbose = false) {
169
346
  try {
170
347
  const spinner = ora('Preparing app for building...').start();
171
348
  // 1. Get project info
172
349
  const projectName = await getProjectName();
173
- // 2. Ask for platform
350
+ // 2. Determine platform (CLI arg preferred, otherwise prompt)
351
+ let platform = (cliPlatformArg || '').toLowerCase();
352
+ const validPlatforms = ['android', 'ios', 'visionos'];
174
353
  spinner.stop();
175
- const { platform, configuration } = await inquirer.prompt([
176
- {
177
- type: 'list',
178
- name: 'platform',
179
- message: 'Select target platform:',
180
- choices: ['android', 'ios'],
181
- },
354
+ if (!validPlatforms.includes(platform)) {
355
+ const { chosenPlatform } = await inquirer.prompt([
356
+ {
357
+ type: 'list',
358
+ name: 'chosenPlatform',
359
+ message: 'Select target platform:',
360
+ choices: validPlatforms,
361
+ },
362
+ ]);
363
+ platform = chosenPlatform;
364
+ }
365
+ const { configuration } = await inquirer.prompt([
182
366
  {
183
367
  type: 'list',
184
368
  name: 'configuration',
@@ -187,25 +371,68 @@ export async function build() {
187
371
  default: 'debug',
188
372
  },
189
373
  ]);
374
+ const appleVersionInfo = platform === 'ios' || platform === 'visionos'
375
+ ? getAppleVersionFromInfoPlist(platform)
376
+ : {};
377
+ const inferredIosOrVisionVersion = appleVersionInfo.version;
378
+ const androidVersionInfo = platform === 'android' ? getAndroidVersionFromAppGradle() : {};
379
+ const inferredAndroidVersion = androidVersionInfo.version;
380
+ const inferredVersion = inferredIosOrVisionVersion || inferredAndroidVersion || '';
381
+ if (inferredVersion) {
382
+ logVerbose(`Auto-detected app version from project files: ${inferredVersion}`, verbose);
383
+ }
190
384
  const { version } = await inquirer.prompt([
191
385
  {
192
386
  type: 'input',
193
387
  name: 'version',
194
- message: 'App version (optional):',
195
- default: '',
388
+ message: inferredVersion
389
+ ? `App version (${inferredVersion}, enter to accept):`
390
+ : 'App version:',
391
+ default: inferredVersion,
392
+ validate: (input) => {
393
+ const val = String(input).trim();
394
+ if (val === '') {
395
+ return 'Version is required';
396
+ }
397
+ // Strict SemVer: MAJOR.MINOR.PATCH with optional -prerelease and +build metadata
398
+ const semverRe = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?(?:\+([0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*))?$/;
399
+ return semverRe.test(val)
400
+ ? true
401
+ : 'Enter a valid semver (e.g., 2.0.0 or 2.0.0-beta.1)';
402
+ },
196
403
  },
197
404
  ]);
198
405
  let buildNumber;
199
406
  if (platform === 'android') {
407
+ const inferredAndroid = androidVersionInfo;
408
+ const inferredVersionCode = inferredAndroid.buildNumber;
409
+ if (inferredVersionCode) {
410
+ logVerbose(`Auto-detected Android versionCode from app.gradle: ${inferredVersionCode}`, verbose);
411
+ }
200
412
  const { versionCode } = await inquirer.prompt([
201
413
  {
202
414
  type: 'input',
203
415
  name: 'versionCode',
204
- message: 'App build number, aka versionCode (optional - will auto increment when blank):',
205
- default: '',
416
+ message: inferredVersionCode
417
+ ? `App build number, aka versionCode (${inferredVersionCode} - enter to auto increment):`
418
+ : 'App build number, aka versionCode (enter to auto increment):',
419
+ default: inferredVersionCode || '',
420
+ validate: (input) => {
421
+ const val = String(input).trim();
422
+ if (val === '')
423
+ return true; // allow blank → auto-increment
424
+ if (!/^\d+$/.test(val)) {
425
+ return 'Enter a numeric versionCode (e.g., 2000016). Do not use semver like 2.0.0';
426
+ }
427
+ const num = Number(val);
428
+ if (!Number.isSafeInteger(num) || num <= 0) {
429
+ return 'versionCode must be a positive integer within safe range';
430
+ }
431
+ return true;
432
+ },
206
433
  },
207
434
  ]);
208
- buildNumber = versionCode || undefined;
435
+ buildNumber = String(versionCode).trim() || undefined;
209
436
  }
210
437
  // 2.5 For release builds, collect signing credentials
211
438
  let iosCredentials;
@@ -335,13 +562,12 @@ export async function build() {
335
562
  const zipPath = await zipProject(projectName, false);
336
563
  spinner.text = 'Project archive created';
337
564
  // 4. Upload the project zip to S3
338
- spinner.text = 'Uploading project to Norrix cloud storage...';
565
+ spinner.text = 'Coordinating with Norrix mainframe...';
339
566
  const fileBuffer = fs.readFileSync(zipPath);
340
- const s3Key = `builds/${projectName}-${Date.now()}.zip`;
341
- await uploadData({
342
- key: s3Key,
343
- data: fileBuffer,
344
- }).result;
567
+ const buildFolder = `build-${Date.now()}`;
568
+ const s3KeyRel = `builds/${buildFolder}/${projectName}.zip`;
569
+ // Upload to the same place the workflow expects: under the public/ prefix
570
+ await putObjectToStorage(`public/${s3KeyRel}`, fileBuffer);
345
571
  spinner.text = 'Upload complete. Starting build...';
346
572
  // 5. Call the Next.js API with the S3 key and build parameters
347
573
  // 5. Call the Next.js API with the S3 key, build parameters, and signing data (release only)
@@ -357,7 +583,8 @@ export async function build() {
357
583
  version: version || '',
358
584
  buildNumber: buildNumber || '',
359
585
  configuration,
360
- s3Key,
586
+ // Provide the relative key (without public/) – the workflow prepends public/
587
+ s3Key: s3KeyRel,
361
588
  // Only include raw credentials if not encrypted
362
589
  ...(encryptedSecrets ? { encryptedSecrets } : {}),
363
590
  ...(!encryptedSecrets && iosCredentials ? { iosCredentials } : {}),
@@ -379,14 +606,25 @@ export async function build() {
379
606
  console.log(` You can check the status with: norrix build-status ${buildId}`);
380
607
  }
381
608
  catch (error) {
382
- ora().fail(`Build failed: ${error.message}`);
609
+ ora().fail(`Build failed: ${error?.message || error}`);
610
+ if (verbose) {
611
+ console.error('--- Verbose error details (build) ---');
612
+ console.error(error);
613
+ if (error?.response) {
614
+ console.error('Axios response status:', error.response.status);
615
+ console.error('Axios response data:', error.response.data);
616
+ }
617
+ if (error?.stack) {
618
+ console.error(error.stack);
619
+ }
620
+ }
383
621
  }
384
622
  }
385
623
  /**
386
624
  * Submit command implementation
387
625
  * Submits the built app to app stores via the Next.js API gateway
388
626
  */
389
- export async function submit() {
627
+ export async function submit(cliPlatformArg, verbose = false) {
390
628
  try {
391
629
  const spinner = ora('Preparing app for submission...').start();
392
630
  // 1. Get available builds to show in prompt
@@ -401,11 +639,13 @@ export async function submit() {
401
639
  // Filter for successful builds
402
640
  availableBuilds = buildsResponse.data.builds
403
641
  .filter((build) => build.status === 'success')
404
- .map((build) => ({
405
- name: `${build.projectName} (${build.platform} - ${build.id})`,
406
- value: build.id,
407
- platform: build.platform,
408
- }));
642
+ .map((build) => {
643
+ return {
644
+ name: `${build.projectName} (${build.platform} - ${build.version} (${build.buildNumber}) - ${build.id})`,
645
+ value: build.id,
646
+ platform: build.platform,
647
+ };
648
+ });
409
649
  }
410
650
  }
411
651
  catch (error) {
@@ -437,20 +677,24 @@ export async function submit() {
437
677
  ]);
438
678
  buildId = buildIdAnswer.buildId;
439
679
  }
440
- // Get the platform for the selected build
441
- const selectedBuild = availableBuilds.find((build) => build.value === buildId);
442
- const defaultPlatform = selectedBuild ? selectedBuild.platform : null;
443
- let platform;
444
- if (defaultPlatform) {
445
- platform = defaultPlatform;
680
+ // Determine platform, preferring CLI arg, then build metadata, then prompt
681
+ let platform = (cliPlatformArg || '').toLowerCase();
682
+ const validPlatforms = ['android', 'ios', 'visionos'];
683
+ // Fallback to platform from selected build if CLI arg missing/invalid
684
+ if (!validPlatforms.includes(platform)) {
685
+ const selectedBuild = availableBuilds.find((build) => build.value === buildId);
686
+ if (selectedBuild && validPlatforms.includes(selectedBuild.platform)) {
687
+ platform = selectedBuild.platform;
688
+ }
446
689
  }
447
- else {
690
+ // If still unknown, prompt the user
691
+ if (!validPlatforms.includes(platform)) {
448
692
  const platformAnswer = await inquirer.prompt([
449
693
  {
450
694
  type: 'list',
451
695
  name: 'platform',
452
696
  message: 'Select target platform:',
453
- choices: ['android', 'ios'],
697
+ choices: validPlatforms,
454
698
  },
455
699
  ]);
456
700
  platform = platformAnswer.platform;
@@ -552,16 +796,51 @@ export async function submit() {
552
796
  console.log(` You can check the status with: norrix submit-status ${submitId}`);
553
797
  }
554
798
  catch (error) {
555
- ora().fail(`Submission failed: ${error.message}`);
799
+ ora().fail(`Submission failed: ${error?.message || error}`);
800
+ if (verbose) {
801
+ console.error('--- Verbose error details (submit) ---');
802
+ console.error(error);
803
+ if (error?.response) {
804
+ console.error('Axios response status:', error.response.status);
805
+ console.error('Axios response data:', error.response.data);
806
+ }
807
+ if (error?.stack) {
808
+ console.error(error.stack);
809
+ }
810
+ }
556
811
  }
557
812
  }
558
813
  /**
559
814
  * Update command implementation
560
815
  * Publishes over-the-air updates to deployed apps via the Next.js API gateway
561
816
  */
562
- export async function update() {
817
+ export async function update(cliPlatformArg, verbose = false) {
563
818
  try {
564
819
  const spinner = ora('Preparing over-the-air update...').start();
820
+ // Normalize and/or ask for platform first (CLI arg takes precedence if valid)
821
+ let platform = (cliPlatformArg || '').toLowerCase();
822
+ const validPlatforms = ['android', 'ios', 'visionos'];
823
+ if (!validPlatforms.includes(platform)) {
824
+ spinner.stop();
825
+ const { chosenPlatform } = await inquirer.prompt([
826
+ {
827
+ type: 'list',
828
+ name: 'chosenPlatform',
829
+ message: 'Which platform?',
830
+ choices: validPlatforms,
831
+ },
832
+ ]);
833
+ platform = chosenPlatform;
834
+ spinner.start('Preparing over-the-air update...');
835
+ }
836
+ // Attempt to infer app ID from NativeScript config based on platform
837
+ let inferredAppId;
838
+ try {
839
+ inferredAppId = getNativeScriptAppId(platform);
840
+ }
841
+ catch (_) {
842
+ // ignore, will fall back to prompt without default
843
+ }
565
844
  // Ask for app ID and other details
566
845
  spinner.stop();
567
846
  const { appId, version, notes } = await inquirer.prompt([
@@ -569,6 +848,7 @@ export async function update() {
569
848
  type: 'input',
570
849
  name: 'appId',
571
850
  message: 'Enter the App ID to update:',
851
+ default: inferredAppId || '',
572
852
  validate: (input) => input.length > 0 || 'App ID is required',
573
853
  },
574
854
  {
@@ -603,17 +883,18 @@ export async function update() {
603
883
  const zipPath = await zipProject(projectName, true);
604
884
  spinner.text = 'Uploading update to Norrix cloud storage...';
605
885
  const fileBuffer = fs.readFileSync(zipPath);
606
- const s3Key = `updates/${appId}-${version}-${Date.now()}.zip`;
607
- await uploadData({
608
- key: s3Key,
609
- data: fileBuffer,
610
- }).result;
886
+ const updateFolder = `update-${Date.now()}`;
887
+ const safeVersion = String(version || '').replace(/\s+/g, '-');
888
+ const s3KeyRel = `updates/${updateFolder}/${appId}-${safeVersion}.zip`;
889
+ await putObjectToStorage(`public/${s3KeyRel}`, fileBuffer);
611
890
  spinner.text = 'Upload complete. Starting update...';
612
891
  const response = await axios.post(`${API_URL}/update`, {
613
892
  appId,
893
+ platform,
614
894
  version,
615
895
  releaseNotes: notes,
616
- s3Key,
896
+ // Provide the relative key (without public/). Consumers will prepend public/
897
+ s3Key: s3KeyRel,
617
898
  }, {
618
899
  headers: {
619
900
  'Content-Type': 'application/json',
@@ -629,14 +910,25 @@ export async function update() {
629
910
  console.log(` You can check the status with: norrix update-status ${updateId}`);
630
911
  }
631
912
  catch (error) {
632
- ora().fail(`Update failed: ${error.message}`);
913
+ ora().fail(`Update failed: ${error?.message || error}`);
914
+ if (verbose) {
915
+ console.error('--- Verbose error details (update) ---');
916
+ console.error(error);
917
+ if (error?.response) {
918
+ console.error('Axios response status:', error.response.status);
919
+ console.error('Axios response data:', error.response.data);
920
+ }
921
+ if (error?.stack) {
922
+ console.error(error.stack);
923
+ }
924
+ }
633
925
  }
634
926
  }
635
927
  /**
636
928
  * Build Status command implementation
637
929
  * Checks the status of a build via the Next.js API gateway
638
930
  */
639
- export async function buildStatus(buildId) {
931
+ export async function buildStatus(buildId, verbose = false) {
640
932
  try {
641
933
  const spinner = ora(`Checking status of build ${buildId}...`).start();
642
934
  const response = await axios.get(`${API_URL}/build/${buildId}`, {
@@ -655,14 +947,25 @@ export async function buildStatus(buildId) {
655
947
  }
656
948
  }
657
949
  catch (error) {
658
- ora().fail(`Failed to check build status: ${error.message}`);
950
+ ora().fail(`Failed to check build status: ${error?.message || error}`);
951
+ if (verbose) {
952
+ console.error('--- Verbose error details (build-status) ---');
953
+ console.error(error);
954
+ if (error?.response) {
955
+ console.error('Axios response status:', error.response.status);
956
+ console.error('Axios response data:', error.response.data);
957
+ }
958
+ if (error?.stack) {
959
+ console.error(error.stack);
960
+ }
961
+ }
659
962
  }
660
963
  }
661
964
  /**
662
965
  * Submit Status command implementation
663
966
  * Checks the status of a submission via the Next.js API gateway
664
967
  */
665
- export async function submitStatus(submitId) {
968
+ export async function submitStatus(submitId, verbose = false) {
666
969
  try {
667
970
  const spinner = ora(`Checking status of submission ${submitId}...`).start();
668
971
  const response = await axios.get(`${API_URL}/submit/${submitId}`, {
@@ -677,14 +980,25 @@ export async function submitStatus(submitId) {
677
980
  console.log(`Message: ${response.data.message}`);
678
981
  }
679
982
  catch (error) {
680
- ora().fail(`Failed to check submission status: ${error.message}`);
983
+ ora().fail(`Failed to check submission status: ${error?.message || error}`);
984
+ if (verbose) {
985
+ console.error('--- Verbose error details (submit-status) ---');
986
+ console.error(error);
987
+ if (error?.response) {
988
+ console.error('Axios response status:', error.response.status);
989
+ console.error('Axios response data:', error.response.data);
990
+ }
991
+ if (error?.stack) {
992
+ console.error(error.stack);
993
+ }
994
+ }
681
995
  }
682
996
  }
683
997
  /**
684
998
  * Update Status command implementation
685
999
  * Checks the status of an update via the Next.js API gateway
686
1000
  */
687
- export async function updateStatus(updateId) {
1001
+ export async function updateStatus(updateId, verbose = false) {
688
1002
  try {
689
1003
  const spinner = ora(`Checking status of update ${updateId}...`).start();
690
1004
  const response = await axios.get(`${API_URL}/update/${updateId}`, {
@@ -699,13 +1013,24 @@ export async function updateStatus(updateId) {
699
1013
  console.log(`Message: ${response.data.message}`);
700
1014
  }
701
1015
  catch (error) {
702
- ora().fail(`Failed to check update status: ${error.message}`);
1016
+ ora().fail(`Failed to check update status: ${error?.message || error}`);
1017
+ if (verbose) {
1018
+ console.error('--- Verbose error details (update-status) ---');
1019
+ console.error(error);
1020
+ if (error?.response) {
1021
+ console.error('Axios response status:', error.response.status);
1022
+ console.error('Axios response data:', error.response.data);
1023
+ }
1024
+ if (error?.stack) {
1025
+ console.error(error.stack);
1026
+ }
1027
+ }
703
1028
  }
704
1029
  }
705
1030
  /**
706
1031
  * Sign-In command implementation (email / password via Cognito)
707
1032
  */
708
- export async function signIn() {
1033
+ export async function signIn(verbose = false) {
709
1034
  try {
710
1035
  const answers = await inquirer.prompt([
711
1036
  {
@@ -735,26 +1060,48 @@ export async function signIn() {
735
1060
  spinner.succeed(`Signed in as ${answers.email}`);
736
1061
  }
737
1062
  catch (error) {
738
- ora().fail(`Sign-in failed: ${error.message}`);
1063
+ ora().fail(`Sign-in failed: ${error?.message || error}`);
1064
+ if (verbose) {
1065
+ console.error('--- Verbose error details (sign-in) ---');
1066
+ console.error(error);
1067
+ if (error?.response) {
1068
+ console.error('Axios response status:', error.response.status);
1069
+ console.error('Axios response data:', error.response.data);
1070
+ }
1071
+ if (error?.stack) {
1072
+ console.error(error.stack);
1073
+ }
1074
+ }
739
1075
  }
740
1076
  }
741
1077
  /**
742
1078
  * Sign-Out command implementation
743
1079
  */
744
- export async function signOut() {
1080
+ export async function signOut(verbose = false) {
745
1081
  try {
746
1082
  const spinner = ora('Signing out...').start();
747
1083
  await amplifySignOut();
748
1084
  spinner.succeed('Signed out successfully');
749
1085
  }
750
1086
  catch (error) {
751
- ora().fail(`Sign-out failed: ${error.message}`);
1087
+ ora().fail(`Sign-out failed: ${error?.message || error}`);
1088
+ if (verbose) {
1089
+ console.error('--- Verbose error details (sign-out) ---');
1090
+ console.error(error);
1091
+ if (error?.response) {
1092
+ console.error('Axios response status:', error.response.status);
1093
+ console.error('Axios response data:', error.response.data);
1094
+ }
1095
+ if (error?.stack) {
1096
+ console.error(error.stack);
1097
+ }
1098
+ }
752
1099
  }
753
1100
  }
754
1101
  /**
755
1102
  * Upload a file to S3 via Amplify Storage
756
1103
  */
757
- export async function uploadFile(filePath, options) {
1104
+ export async function uploadFile(filePath, options, verbose = false) {
758
1105
  try {
759
1106
  const resolvedPath = path.resolve(process.cwd(), filePath);
760
1107
  if (!fs.existsSync(resolvedPath)) {
@@ -763,20 +1110,28 @@ export async function uploadFile(filePath, options) {
763
1110
  const key = options?.key || path.basename(resolvedPath);
764
1111
  const fileBuffer = fs.readFileSync(resolvedPath);
765
1112
  const spinner = ora(`Uploading ${key} to storage...`).start();
766
- await uploadData({
767
- key: key,
768
- data: fileBuffer,
769
- }).result;
1113
+ await putObjectToStorage(key, fileBuffer);
770
1114
  spinner.succeed(`Uploaded ${key} successfully`);
771
1115
  }
772
1116
  catch (error) {
773
- ora().fail(`Upload failed: ${error.message}`);
1117
+ ora().fail(`Upload failed: ${error?.message || error}`);
1118
+ if (verbose) {
1119
+ console.error('--- Verbose error details (upload) ---');
1120
+ console.error(error);
1121
+ if (error?.response) {
1122
+ console.error('Axios response status:', error.response.status);
1123
+ console.error('Axios response data:', error.response.data);
1124
+ }
1125
+ if (error?.stack) {
1126
+ console.error(error.stack);
1127
+ }
1128
+ }
774
1129
  }
775
1130
  }
776
1131
  /**
777
1132
  * Current User command implementation
778
1133
  */
779
- export async function currentUser() {
1134
+ export async function currentUser(verbose = false) {
780
1135
  try {
781
1136
  const spinner = ora('Fetching current user...').start();
782
1137
  let user;
@@ -810,7 +1165,76 @@ export async function currentUser() {
810
1165
  console.log('⚠️ No user is currently signed in.');
811
1166
  return;
812
1167
  }
813
- ora().fail(`Failed to fetch current user: ${error.message}`);
1168
+ ora().fail(`Failed to fetch current user: ${error?.message || error}`);
1169
+ if (verbose) {
1170
+ console.error('--- Verbose error details (current-user) ---');
1171
+ console.error(error);
1172
+ if (error?.response) {
1173
+ console.error('Axios response status:', error.response.status);
1174
+ console.error('Axios response data:', error.response.data);
1175
+ }
1176
+ if (error?.stack) {
1177
+ console.error(error.stack);
1178
+ }
1179
+ }
1180
+ }
1181
+ }
1182
+ /**
1183
+ * Open billing checkout for the current organization
1184
+ */
1185
+ export async function billingCheckout(priceId, verbose = false) {
1186
+ try {
1187
+ if (!priceId) {
1188
+ const a = await inquirer.prompt([
1189
+ { type: 'input', name: 'priceId', message: 'Stripe Price ID:' },
1190
+ ]);
1191
+ priceId = a.priceId;
1192
+ }
1193
+ const spinner = ora('Creating checkout session...').start();
1194
+ const res = await axios.post(`${API_URL}/billing/checkout`, { priceId }, { headers: await getAuthHeaders() });
1195
+ spinner.succeed('Checkout session created');
1196
+ console.log('Open this URL in your browser to complete purchase:');
1197
+ console.log(res.data.url);
1198
+ }
1199
+ catch (error) {
1200
+ ora().fail(`Checkout failed: ${error?.message || error}`);
1201
+ if (verbose) {
1202
+ console.error('--- Verbose error details (billing-checkout) ---');
1203
+ console.error(error);
1204
+ if (error?.response) {
1205
+ console.error('Axios response status:', error.response.status);
1206
+ console.error('Axios response data:', error.response.data);
1207
+ }
1208
+ if (error?.stack) {
1209
+ console.error(error.stack);
1210
+ }
1211
+ }
1212
+ }
1213
+ }
1214
+ /**
1215
+ * Open Stripe billing portal for the current organization
1216
+ */
1217
+ export async function billingPortal(verbose = false) {
1218
+ try {
1219
+ const spinner = ora('Creating billing portal session...').start();
1220
+ const res = await axios.post(`${API_URL}/billing/portal`, {}, { headers: await getAuthHeaders() });
1221
+ spinner.succeed('Portal session created');
1222
+ console.log('Open this URL in your browser to manage billing:');
1223
+ console.log(res.data.url);
1224
+ }
1225
+ catch (error) {
1226
+ ora().fail(`Portal failed: ${error?.message || error}`);
1227
+ if (verbose) {
1228
+ console.error('--- Verbose error details (billing-portal) ---');
1229
+ console.error(error);
1230
+ if (error?.response) {
1231
+ console.error('Axios response status:', error.response.status);
1232
+ console.error('Axios response data:', error.response.data);
1233
+ }
1234
+ if (error?.stack) {
1235
+ console.error(error.stack);
1236
+ }
1237
+ }
814
1238
  }
815
1239
  }
816
1240
  //# sourceMappingURL=commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/lib/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/lib/commands.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
1
  export function norrixCli() {
2
2
  return 'norrix-cli';
3
3
  }
4
- //# sourceMappingURL=norrix-cli.js.map
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,25 @@
1
+ import { norrixCli } from './norrix-cli.js';
2
+ describe('norrixCli', () => {
3
+ // Example: base function returns identifier
4
+ it('example: returns id', () => {
5
+ expect(norrixCli()).toEqual('norrix-cli');
6
+ });
7
+ // Example: value is a string
8
+ it('example: returns a string', () => {
9
+ expect(typeof norrixCli()).toBe('string');
10
+ });
11
+ // Example: value is non-empty
12
+ it('example: non-empty', () => {
13
+ expect(norrixCli().length).toBeGreaterThan(0);
14
+ });
15
+ // Example: stable output
16
+ it('example: stable output', () => {
17
+ const a = norrixCli();
18
+ const b = norrixCli();
19
+ expect(a).toBe(b);
20
+ });
21
+ // Example: contains expected substring
22
+ it('example: contains "cli"', () => {
23
+ expect(norrixCli().toLowerCase()).toContain('cli');
24
+ });
25
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@norrix/cli",
3
- "version": "0.0.5",
3
+ "version": "0.0.7",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.js",
@@ -21,14 +21,16 @@
21
21
  "files": [
22
22
  "dist",
23
23
  ".env.local",
24
- "!**/*.tsbuildinfo"
24
+ "!**/*.tsbuildinfo",
25
+ "README.md"
25
26
  ],
26
27
  "scripts": {
27
28
  "build": "tsc -p tsconfig.lib.json",
28
29
  "postbuild": "chmod +x ./dist/cli.js"
29
30
  },
30
31
  "dependencies": {
31
- "archiver": "^7.0.0",
32
+ "@aws-sdk/client-s3": "^3.919.0",
33
+ "archiver": "^7.0.0",
32
34
  "aws-amplify": "^6.15.2",
33
35
  "axios": "^1.8.4",
34
36
  "commander": "^11.1.0",