@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 +30 -12
- package/dist/cli.js.map +1 -1
- package/dist/lib/amplify-config.js +29 -0
- package/dist/lib/amplify-config.js.map +1 -1
- package/dist/lib/commands.d.ts +18 -10
- package/dist/lib/commands.js +493 -69
- package/dist/lib/commands.js.map +1 -1
- package/dist/lib/norrix-cli.js +0 -1
- package/dist/lib/norrix-cli.spec.d.ts +1 -0
- package/dist/lib/norrix-cli.spec.js +25 -0
- package/package.json +5 -3
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
|
-
.
|
|
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
|
-
.
|
|
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
|
-
.
|
|
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":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,OAAO,EACP,UAAU,EACV,WAAW,
|
|
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":"AAAA,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"amplify-config.js","sourceRoot":"","sources":["../../src/lib/amplify-config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/commands.d.ts
CHANGED
|
@@ -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>;
|
package/dist/lib/commands.js
CHANGED
|
@@ -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
|
-
//
|
|
138
|
-
const
|
|
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 (
|
|
141
|
-
|
|
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
|
|
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.
|
|
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
|
-
|
|
176
|
-
{
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
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:
|
|
195
|
-
|
|
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:
|
|
205
|
-
|
|
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 = '
|
|
565
|
+
spinner.text = 'Coordinating with Norrix mainframe...';
|
|
339
566
|
const fileBuffer = fs.readFileSync(zipPath);
|
|
340
|
-
const
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
406
|
-
|
|
407
|
-
|
|
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
|
-
//
|
|
441
|
-
|
|
442
|
-
const
|
|
443
|
-
|
|
444
|
-
if (
|
|
445
|
-
|
|
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
|
-
|
|
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:
|
|
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
|
|
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
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
package/dist/lib/commands.js.map
CHANGED
|
@@ -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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"}
|
package/dist/lib/norrix-cli.js
CHANGED
|
@@ -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.
|
|
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
|
-
"
|
|
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",
|