underpeaks-nxf 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYnC,eAAO,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAYnC,eAAO,MAAM,aAAa,SA4EtB,CAAA"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -30,16 +30,47 @@ exports.doctorCommand = new commander_1.Command('doctor')
|
|
|
30
30
|
? chalk_1.default.green(` ✓ Active project: ${creds.active_project_id}`)
|
|
31
31
|
: chalk_1.default.yellow(' ⚠ No active project — run: nxf project switch <id>'));
|
|
32
32
|
// Check API reachability
|
|
33
|
+
let apiReachable = false;
|
|
33
34
|
try {
|
|
34
35
|
const res = await (0, node_fetch_1.default)(`${creds.api_base}/api/codegen-private/health`);
|
|
35
|
-
|
|
36
|
+
apiReachable = res.ok;
|
|
37
|
+
console.log(apiReachable
|
|
36
38
|
? chalk_1.default.green(` ✓ API reachable: ${creds.api_base}`)
|
|
37
39
|
: chalk_1.default.red(` ✗ API returned ${res.status}`));
|
|
38
40
|
}
|
|
39
41
|
catch {
|
|
40
42
|
console.log(chalk_1.default.red(` ✗ API unreachable: ${creds.api_base}`));
|
|
41
43
|
}
|
|
42
|
-
//
|
|
44
|
+
// FIX: previously only checked the locally-stored expires_at date,
|
|
45
|
+
// which trusts credentials.json blindly — a revoked or suspended
|
|
46
|
+
// account would still show green until that date passed. Now calls
|
|
47
|
+
// the same license/validate route `nxf generate` itself relies on,
|
|
48
|
+
// so doctor reflects real, current server-side validity rather than
|
|
49
|
+
// a locally cached expiry timestamp. Only attempted if the API was
|
|
50
|
+
// reachable above, to avoid a confusing double failure message.
|
|
51
|
+
if (apiReachable && creds.license_key) {
|
|
52
|
+
try {
|
|
53
|
+
const res = await (0, node_fetch_1.default)(`${creds.api_base}/api/codegen-private/license/validate`, {
|
|
54
|
+
method: 'POST',
|
|
55
|
+
headers: {
|
|
56
|
+
'Content-Type': 'application/json',
|
|
57
|
+
'Authorization': `Bearer ${creds.license_key}`,
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
const data = await res.json();
|
|
61
|
+
if (res.ok && data.valid) {
|
|
62
|
+
console.log(chalk_1.default.green(' ✓ License valid'));
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.log(chalk_1.default.red(` ✗ License invalid: ${data.error ?? 'Unknown reason'}`));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
console.log(chalk_1.default.yellow(' ⚠ Could not verify license (network error)'));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
// Check license expiry (informational — the live check above is
|
|
73
|
+
// authoritative; this just shows how much runway is left)
|
|
43
74
|
if (creds.expires_at) {
|
|
44
75
|
const expiresAt = new Date(creds.expires_at);
|
|
45
76
|
const now = new Date();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";AAAA,+DAA+D;;;;;;AAE/D,yCAAmC;AACnC,kDAA+B;AAC/B,wDAAkC;AAClC,gDAA8B;AAC9B,4DAAoC;AAEpC,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAChC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,EAClD,MAAM,EACN,kBAAkB,CACnB,CAAA;AAEY,QAAA,aAAa,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,8CAA8C,CAAC;KAC3D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAA;IAE3C,oBAAoB;IACpB,MAAM,cAAc,GAAG,MAAM,kBAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAA;IAC5D,OAAO,CAAC,GAAG,CAAC,cAAc;QACxB,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,4BAA4B,CAAC;QAC3C,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAClD,CAAA;IAED,IAAI,CAAC,cAAc,EAAE,CAAC;QAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAAC,OAAM;IAAC,CAAC;IAEhD,MAAM,KAAK,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAA;IAEjD,uBAAuB;IACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,iBAAiB;QACjC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC/D,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,sDAAsD,CAAC,CACvE,CAAA;IAED,yBAAyB;IACzB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,KAAK,CAAC,QAAQ,6BAA6B,CAAC,CAAA;QACvE,
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAQ,WAAW,CAAA;
|
|
1
|
+
{"version":3,"file":"login.d.ts","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAQ,WAAW,CAAA;AA2FrC,eAAO,MAAM,YAAY,SA2BrB,CAAA"}
|
package/dist/commands/login.js
CHANGED
|
@@ -6,49 +6,91 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.loginCommand = void 0;
|
|
8
8
|
const commander_1 = require("commander");
|
|
9
|
-
const inquirer_1 = __importDefault(require("inquirer"));
|
|
10
9
|
const chalk_1 = __importDefault(require("chalk"));
|
|
11
10
|
const ora_1 = __importDefault(require("ora"));
|
|
12
11
|
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
13
12
|
const path_1 = __importDefault(require("path"));
|
|
14
|
-
const
|
|
13
|
+
const http_1 = __importDefault(require("http"));
|
|
14
|
+
const open_1 = __importDefault(require("open"));
|
|
15
15
|
const CREDENTIALS_PATH = path_1.default.join(process.env.HOME ?? process.env.USERPROFILE ?? '~', '.nxf', 'credentials.json');
|
|
16
16
|
const API_BASE = process.env.NXF_API_URL ?? 'https://studio.underpeaks.com';
|
|
17
|
+
/**
|
|
18
|
+
* Starts a short-lived local HTTP server on a random free port, opens the
|
|
19
|
+
* user's browser to Studio's /cli-auth page, and waits for that page to
|
|
20
|
+
* POST the resolved credentials back to /callback. Mirrors the pattern
|
|
21
|
+
* used by the GitHub/Vercel/Firebase CLIs — no license key is ever typed
|
|
22
|
+
* or copy-pasted by the user.
|
|
23
|
+
*/
|
|
24
|
+
function waitForCallback() {
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
const server = http_1.default.createServer((req, res) => {
|
|
27
|
+
if (req.method === 'OPTIONS') {
|
|
28
|
+
res.writeHead(204, {
|
|
29
|
+
'Access-Control-Allow-Origin': '*',
|
|
30
|
+
'Access-Control-Allow-Methods': 'POST',
|
|
31
|
+
'Access-Control-Allow-Headers': 'Content-Type',
|
|
32
|
+
});
|
|
33
|
+
res.end();
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
if (req.method !== 'POST' || req.url !== '/callback') {
|
|
37
|
+
res.writeHead(404);
|
|
38
|
+
res.end();
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
let body = '';
|
|
42
|
+
req.on('data', (chunk) => { body += chunk; });
|
|
43
|
+
req.on('end', () => {
|
|
44
|
+
res.writeHead(200, {
|
|
45
|
+
'Content-Type': 'application/json',
|
|
46
|
+
'Access-Control-Allow-Origin': '*',
|
|
47
|
+
});
|
|
48
|
+
res.end(JSON.stringify({ success: true }));
|
|
49
|
+
try {
|
|
50
|
+
const payload = JSON.parse(body);
|
|
51
|
+
server.close();
|
|
52
|
+
resolve(payload);
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
server.close();
|
|
56
|
+
reject(new Error('Received malformed response from Studio'));
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
server.listen(0, '127.0.0.1', () => {
|
|
61
|
+
const { port } = server.address();
|
|
62
|
+
const callbackUrl = `http://127.0.0.1:${port}/callback`;
|
|
63
|
+
const authUrl = `${API_BASE}/cli-auth?callback=${encodeURIComponent(callbackUrl)}`;
|
|
64
|
+
(0, open_1.default)(authUrl).catch(() => {
|
|
65
|
+
console.log(chalk_1.default.dim(`\n Could not open your browser automatically. Visit:\n ${authUrl}\n`));
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
// Don't hang forever if the user never completes the browser flow.
|
|
69
|
+
const timeout = setTimeout(() => {
|
|
70
|
+
server.close();
|
|
71
|
+
reject(new Error('Login timed out after 5 minutes. Run `nxf login` again.'));
|
|
72
|
+
}, 5 * 60 * 1000);
|
|
73
|
+
server.on('close', () => clearTimeout(timeout));
|
|
74
|
+
});
|
|
75
|
+
}
|
|
17
76
|
exports.loginCommand = new commander_1.Command('login')
|
|
18
|
-
.description('Authenticate with your Underpeaks
|
|
77
|
+
.description('Authenticate with your Underpeaks account')
|
|
19
78
|
.action(async () => {
|
|
20
79
|
console.log(chalk_1.default.cyan('\n Underpeaks CLI\n'));
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
type: 'password',
|
|
24
|
-
name: 'licenseKey',
|
|
25
|
-
message: 'Enter your Underpeaks license key:',
|
|
26
|
-
mask: '*',
|
|
27
|
-
validate: (v) => v.trim().length > 0 || 'License key is required',
|
|
28
|
-
},
|
|
29
|
-
]);
|
|
30
|
-
const spinner = (0, ora_1.default)('Validating license key…').start();
|
|
80
|
+
console.log(chalk_1.default.dim(' Opening your browser to sign in…\n'));
|
|
81
|
+
const spinner = (0, ora_1.default)('Waiting for you to finish signing in…').start();
|
|
31
82
|
try {
|
|
32
|
-
const
|
|
33
|
-
method: 'POST',
|
|
34
|
-
headers: { 'Content-Type': 'application/json' },
|
|
35
|
-
body: JSON.stringify({ license_key: licenseKey.trim() }),
|
|
36
|
-
});
|
|
37
|
-
const data = await res.json();
|
|
38
|
-
if (!res.ok || !data.valid) {
|
|
39
|
-
spinner.fail(chalk_1.default.red('Invalid or expired license key.'));
|
|
40
|
-
process.exit(1);
|
|
41
|
-
}
|
|
83
|
+
const payload = await waitForCallback();
|
|
42
84
|
await fs_extra_1.default.ensureDir(path_1.default.dirname(CREDENTIALS_PATH));
|
|
43
85
|
await fs_extra_1.default.writeJson(CREDENTIALS_PATH, {
|
|
44
|
-
license_key:
|
|
45
|
-
user_id:
|
|
46
|
-
plan:
|
|
47
|
-
active_project_id:
|
|
48
|
-
expires_at:
|
|
86
|
+
license_key: payload.license_key,
|
|
87
|
+
user_id: payload.user_id,
|
|
88
|
+
plan: payload.plan,
|
|
89
|
+
active_project_id: payload.active_project_id ?? null,
|
|
90
|
+
expires_at: payload.expires_at ?? null,
|
|
49
91
|
api_base: API_BASE,
|
|
50
92
|
}, { spaces: 2 });
|
|
51
|
-
spinner.succeed(chalk_1.default.green(`Logged in. Plan: ${
|
|
93
|
+
spinner.succeed(chalk_1.default.green(`Logged in. Plan: ${payload.plan}`));
|
|
52
94
|
console.log(chalk_1.default.dim(` Credentials saved to ${CREDENTIALS_PATH}\n`));
|
|
53
95
|
}
|
|
54
96
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":";AAAA,8DAA8D;;;;;;AAE9D,yCAAqC;AACrC,
|
|
1
|
+
{"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,36 +1,39 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "underpeaks-nxf",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"description": "Underpeaks CLI — generate Flutter and Next.js code from your CMS models",
|
|
5
5
|
"bin": {
|
|
6
6
|
"nxf": "./dist/index.js"
|
|
7
7
|
},
|
|
8
|
-
"main":
|
|
9
|
-
"types":
|
|
10
|
-
"files":
|
|
11
|
-
|
|
8
|
+
"main": "dist/index.js",
|
|
9
|
+
"types": "dist/index.d.ts",
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"README.md"
|
|
13
|
+
],
|
|
12
14
|
"scripts": {
|
|
13
15
|
"build": "tsc",
|
|
14
|
-
"dev":
|
|
16
|
+
"dev": "tsc --watch",
|
|
15
17
|
"clean": "rm -rf dist"
|
|
16
18
|
},
|
|
17
19
|
"dependencies": {
|
|
18
|
-
"
|
|
19
|
-
"chalk":
|
|
20
|
-
"
|
|
21
|
-
"
|
|
20
|
+
"archiver": "^6.0.0",
|
|
21
|
+
"chalk": "^5.3.0",
|
|
22
|
+
"commander": "^11.0.0",
|
|
23
|
+
"fs-extra": "^11.1.0",
|
|
24
|
+
"inquirer": "^9.2.0",
|
|
22
25
|
"node-fetch": "^3.3.0",
|
|
23
|
-
"
|
|
24
|
-
"
|
|
26
|
+
"open": "^8.4.2",
|
|
27
|
+
"ora": "^7.0.1"
|
|
25
28
|
},
|
|
26
29
|
"devDependencies": {
|
|
27
|
-
"typescript": "^5.0.0",
|
|
28
|
-
"@types/node": "^20.0.0",
|
|
29
|
-
"@types/fs-extra": "^11.0.0",
|
|
30
30
|
"@types/archiver": "^6.0.0",
|
|
31
|
-
"@types/
|
|
31
|
+
"@types/fs-extra": "^11.0.0",
|
|
32
|
+
"@types/inquirer": "^9.0.0",
|
|
33
|
+
"@types/node": "^20.0.0",
|
|
34
|
+
"typescript": "^5.0.0"
|
|
32
35
|
},
|
|
33
36
|
"engines": {
|
|
34
37
|
"node": ">=18.0.0"
|
|
35
38
|
}
|
|
36
|
-
}
|
|
39
|
+
}
|