@convext/cli 0.3.2 → 1.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/api.js +30 -47
- package/dist/api.js.map +1 -1
- package/dist/cli.js +45 -50
- package/dist/cli.js.map +1 -1
- package/dist/commands/check.js +26 -32
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/init.js +72 -78
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/login.d.ts.map +1 -1
- package/dist/commands/login.js +48 -56
- package/dist/commands/login.js.map +1 -1
- package/dist/commands/mcp.js +80 -87
- package/dist/commands/mcp.js.map +1 -1
- package/dist/commands/sync.js +73 -79
- package/dist/commands/sync.js.map +1 -1
- package/dist/config.js +14 -20
- package/dist/config.js.map +1 -1
- package/dist/index.js +6 -25
- package/dist/index.js.map +1 -1
- package/dist/utils/fileManager.js +13 -17
- package/dist/utils/fileManager.js.map +1 -1
- package/dist/utils/prompts.js +10 -16
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/scanner.js +30 -33
- package/dist/utils/scanner.js.map +1 -1
- package/dist/utils/versionCheck.d.ts.map +1 -1
- package/dist/utils/versionCheck.js +32 -27
- package/dist/utils/versionCheck.js.map +1 -1
- package/package.json +2 -1
package/dist/utils/prompts.js
CHANGED
|
@@ -1,38 +1,32 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.promptInput = promptInput;
|
|
4
|
-
exports.promptConfirm = promptConfirm;
|
|
5
|
-
exports.promptSelect = promptSelect;
|
|
6
|
-
exports.promptCheckbox = promptCheckbox;
|
|
7
|
-
const prompts_1 = require("@inquirer/prompts");
|
|
1
|
+
import { input, confirm, select, search, checkbox } from "@inquirer/prompts";
|
|
8
2
|
function isInteractive() {
|
|
9
3
|
return process.env.CI !== "true" && process.stdout.isTTY === true;
|
|
10
4
|
}
|
|
11
|
-
async function promptInput(question, defaultValue) {
|
|
5
|
+
export async function promptInput(question, defaultValue) {
|
|
12
6
|
if (!isInteractive()) {
|
|
13
7
|
return defaultValue ?? "";
|
|
14
8
|
}
|
|
15
|
-
return
|
|
9
|
+
return input({
|
|
16
10
|
message: question,
|
|
17
11
|
default: defaultValue,
|
|
18
12
|
});
|
|
19
13
|
}
|
|
20
|
-
async function promptConfirm(question, defaultYes = true) {
|
|
14
|
+
export async function promptConfirm(question, defaultYes = true) {
|
|
21
15
|
if (!isInteractive()) {
|
|
22
16
|
return defaultYes;
|
|
23
17
|
}
|
|
24
|
-
return
|
|
18
|
+
return confirm({
|
|
25
19
|
message: question,
|
|
26
20
|
default: defaultYes,
|
|
27
21
|
});
|
|
28
22
|
}
|
|
29
|
-
async function promptSelect(question, options, defaultIndex = 0) {
|
|
23
|
+
export async function promptSelect(question, options, defaultIndex = 0) {
|
|
30
24
|
if (!isInteractive() || options.length === 0) {
|
|
31
25
|
return options[defaultIndex]?.value ?? options[0].value;
|
|
32
26
|
}
|
|
33
27
|
// For small lists, use simple select with arrow keys
|
|
34
28
|
if (options.length <= 20) {
|
|
35
|
-
return
|
|
29
|
+
return select({
|
|
36
30
|
message: question,
|
|
37
31
|
choices: options.map((opt, idx) => ({
|
|
38
32
|
name: opt.label,
|
|
@@ -42,7 +36,7 @@ async function promptSelect(question, options, defaultIndex = 0) {
|
|
|
42
36
|
});
|
|
43
37
|
}
|
|
44
38
|
// For large lists, use searchable select
|
|
45
|
-
return
|
|
39
|
+
return search({
|
|
46
40
|
message: `${question} (type to search)`,
|
|
47
41
|
source: async (term) => {
|
|
48
42
|
if (!term) {
|
|
@@ -62,11 +56,11 @@ async function promptSelect(question, options, defaultIndex = 0) {
|
|
|
62
56
|
},
|
|
63
57
|
});
|
|
64
58
|
}
|
|
65
|
-
async function promptCheckbox(question, options, defaultSelected = []) {
|
|
59
|
+
export async function promptCheckbox(question, options, defaultSelected = []) {
|
|
66
60
|
if (!isInteractive() || options.length === 0) {
|
|
67
61
|
return defaultSelected.map(idx => options[idx]?.value).filter(Boolean);
|
|
68
62
|
}
|
|
69
|
-
return
|
|
63
|
+
return checkbox({
|
|
70
64
|
message: question,
|
|
71
65
|
choices: options.map((opt, idx) => ({
|
|
72
66
|
name: opt.label,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/scanner.js
CHANGED
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.scanRepository = scanRepository;
|
|
4
|
-
const node_fs_1 = require("node:fs");
|
|
5
|
-
const node_path_1 = require("node:path");
|
|
1
|
+
import { existsSync, readFileSync, readdirSync, statSync } from "node:fs";
|
|
2
|
+
import { join } from "node:path";
|
|
6
3
|
const AI_FILES = [
|
|
7
4
|
"CLAUDE.md",
|
|
8
5
|
".cursorrules",
|
|
@@ -10,7 +7,7 @@ const AI_FILES = [
|
|
|
10
7
|
".windsurf/context.md",
|
|
11
8
|
".github/copilot-instructions.md",
|
|
12
9
|
];
|
|
13
|
-
function scanRepository(cwd = process.cwd()) {
|
|
10
|
+
export function scanRepository(cwd = process.cwd()) {
|
|
14
11
|
const insights = {
|
|
15
12
|
languages: new Set(),
|
|
16
13
|
frameworks: new Set(),
|
|
@@ -28,12 +25,12 @@ function scanRepository(cwd = process.cwd()) {
|
|
|
28
25
|
return insights;
|
|
29
26
|
}
|
|
30
27
|
function detectPackageJson(cwd, insights) {
|
|
31
|
-
const packageJsonPath =
|
|
32
|
-
if (!
|
|
28
|
+
const packageJsonPath = join(cwd, "package.json");
|
|
29
|
+
if (!existsSync(packageJsonPath))
|
|
33
30
|
return;
|
|
34
31
|
insights.languages.add("javascript");
|
|
35
32
|
try {
|
|
36
|
-
const pkg = JSON.parse(
|
|
33
|
+
const pkg = JSON.parse(readFileSync(packageJsonPath, "utf-8"));
|
|
37
34
|
const deps = { ...(pkg.dependencies || {}), ...(pkg.devDependencies || {}) };
|
|
38
35
|
const keys = Object.keys(deps);
|
|
39
36
|
if (keys.some((k) => k === "typescript" || k === "@types/node")) {
|
|
@@ -69,10 +66,10 @@ function detectPackageJson(cwd, insights) {
|
|
|
69
66
|
if (keys.includes("prettier")) {
|
|
70
67
|
insights.linters.add("prettier");
|
|
71
68
|
}
|
|
72
|
-
if (
|
|
69
|
+
if (existsSync(join(cwd, "pnpm-lock.yaml"))) {
|
|
73
70
|
insights.packageManagers.add("pnpm");
|
|
74
71
|
}
|
|
75
|
-
else if (
|
|
72
|
+
else if (existsSync(join(cwd, "yarn.lock"))) {
|
|
76
73
|
insights.packageManagers.add("yarn");
|
|
77
74
|
}
|
|
78
75
|
else {
|
|
@@ -84,11 +81,11 @@ function detectPackageJson(cwd, insights) {
|
|
|
84
81
|
}
|
|
85
82
|
}
|
|
86
83
|
function detectGemfile(cwd, insights) {
|
|
87
|
-
const gemfilePath =
|
|
88
|
-
if (!
|
|
84
|
+
const gemfilePath = join(cwd, "Gemfile");
|
|
85
|
+
if (!existsSync(gemfilePath))
|
|
89
86
|
return;
|
|
90
87
|
insights.languages.add("ruby");
|
|
91
|
-
const content =
|
|
88
|
+
const content = readFileSync(gemfilePath, "utf-8");
|
|
92
89
|
if (content.includes("gem \"rails\"") || content.includes("gem 'rails'")) {
|
|
93
90
|
insights.frameworks.add("rails");
|
|
94
91
|
insights.packageManagers.add("bundler");
|
|
@@ -105,14 +102,14 @@ function detectGemfile(cwd, insights) {
|
|
|
105
102
|
}
|
|
106
103
|
function detectRequirements(cwd, insights) {
|
|
107
104
|
const requirementFiles = ["requirements.txt", "pyproject.toml", "Pipfile"];
|
|
108
|
-
if (!requirementFiles.some((file) =>
|
|
105
|
+
if (!requirementFiles.some((file) => existsSync(join(cwd, file)))) {
|
|
109
106
|
return;
|
|
110
107
|
}
|
|
111
108
|
insights.languages.add("python");
|
|
112
|
-
const pyprojectPath =
|
|
113
|
-
if (
|
|
109
|
+
const pyprojectPath = join(cwd, "pyproject.toml");
|
|
110
|
+
if (existsSync(pyprojectPath)) {
|
|
114
111
|
try {
|
|
115
|
-
const content =
|
|
112
|
+
const content = readFileSync(pyprojectPath, "utf-8");
|
|
116
113
|
if (content.includes("fastapi")) {
|
|
117
114
|
insights.frameworks.add("fastapi");
|
|
118
115
|
}
|
|
@@ -130,8 +127,8 @@ function detectRequirements(cwd, insights) {
|
|
|
130
127
|
// ignore
|
|
131
128
|
}
|
|
132
129
|
}
|
|
133
|
-
if (
|
|
134
|
-
const content =
|
|
130
|
+
if (existsSync(join(cwd, "requirements.txt"))) {
|
|
131
|
+
const content = readFileSync(join(cwd, "requirements.txt"), "utf-8").toLowerCase();
|
|
135
132
|
if (content.includes("fastapi"))
|
|
136
133
|
insights.frameworks.add("fastapi");
|
|
137
134
|
if (content.includes("pytest"))
|
|
@@ -140,22 +137,22 @@ function detectRequirements(cwd, insights) {
|
|
|
140
137
|
insights.linters.add("ruff");
|
|
141
138
|
insights.packageManagers.add("pip");
|
|
142
139
|
}
|
|
143
|
-
if (
|
|
140
|
+
if (existsSync(join(cwd, "Pipfile"))) {
|
|
144
141
|
insights.packageManagers.add("pipenv");
|
|
145
142
|
}
|
|
146
|
-
if (
|
|
143
|
+
if (existsSync(join(cwd, "uv.lock")) || existsSync(join(cwd, "uv.toml"))) {
|
|
147
144
|
insights.packageManagers.add("uv");
|
|
148
145
|
}
|
|
149
146
|
}
|
|
150
147
|
function detectGoModules(cwd, insights) {
|
|
151
|
-
if (
|
|
148
|
+
if (existsSync(join(cwd, "go.mod"))) {
|
|
152
149
|
insights.languages.add("go");
|
|
153
150
|
insights.packageManagers.add("go-modules");
|
|
154
151
|
insights.testing.add("go-test");
|
|
155
152
|
}
|
|
156
153
|
}
|
|
157
154
|
function detectCargo(cwd, insights) {
|
|
158
|
-
if (
|
|
155
|
+
if (existsSync(join(cwd, "Cargo.toml"))) {
|
|
159
156
|
insights.languages.add("rust");
|
|
160
157
|
insights.packageManagers.add("cargo");
|
|
161
158
|
insights.testing.add("cargo-test");
|
|
@@ -163,30 +160,30 @@ function detectCargo(cwd, insights) {
|
|
|
163
160
|
}
|
|
164
161
|
function detectAiFiles(cwd, insights) {
|
|
165
162
|
AI_FILES.forEach((relativePath) => {
|
|
166
|
-
const fullPath =
|
|
167
|
-
if (
|
|
163
|
+
const fullPath = join(cwd, relativePath);
|
|
164
|
+
if (existsSync(fullPath)) {
|
|
168
165
|
insights.aiFiles.push(relativePath);
|
|
169
166
|
}
|
|
170
167
|
});
|
|
171
168
|
const assistantDirs = [".claude", ".windsurf", ".cursor"];
|
|
172
169
|
assistantDirs.forEach((dir) => {
|
|
173
|
-
const fullDir =
|
|
174
|
-
if (
|
|
170
|
+
const fullDir = join(cwd, dir);
|
|
171
|
+
if (existsSync(fullDir)) {
|
|
175
172
|
const entries = listFiles(fullDir);
|
|
176
173
|
entries.forEach((file) => {
|
|
177
|
-
insights.aiFiles.push(
|
|
174
|
+
insights.aiFiles.push(join(dir, file));
|
|
178
175
|
});
|
|
179
176
|
}
|
|
180
177
|
});
|
|
181
178
|
}
|
|
182
179
|
function listFiles(dir) {
|
|
183
|
-
if (!
|
|
180
|
+
if (!existsSync(dir))
|
|
184
181
|
return [];
|
|
185
|
-
const entries =
|
|
182
|
+
const entries = readdirSync(dir);
|
|
186
183
|
const files = [];
|
|
187
184
|
for (const entry of entries) {
|
|
188
|
-
const full =
|
|
189
|
-
const stats =
|
|
185
|
+
const full = join(dir, entry);
|
|
186
|
+
const stats = statSync(full);
|
|
190
187
|
if (stats.isFile()) {
|
|
191
188
|
files.push(entry);
|
|
192
189
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/utils/scanner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"scanner.js","sourceRoot":"","sources":["../../src/utils/scanner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionCheck.d.ts","sourceRoot":"","sources":["../../src/utils/versionCheck.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"versionCheck.d.ts","sourceRoot":"","sources":["../../src/utils/versionCheck.ts"],"names":[],"mappings":"AA4FA;;;;GAIG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAkCrD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAQzF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C"}
|
|
@@ -1,29 +1,34 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
|
|
2
|
+
import { join, dirname } from "node:path";
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
import chalk from "chalk";
|
|
6
|
+
// Read version from package.json at runtime
|
|
7
|
+
function loadVersion() {
|
|
8
|
+
try {
|
|
9
|
+
// Get the directory of this file, then go up to find package.json
|
|
10
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
11
|
+
const packagePath = join(__dirname, "..", "..", "package.json");
|
|
12
|
+
const pkg = JSON.parse(readFileSync(packagePath, "utf-8"));
|
|
13
|
+
return pkg.version;
|
|
14
|
+
}
|
|
15
|
+
catch {
|
|
16
|
+
return "0.0.0";
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const CURRENT_VERSION = loadVersion();
|
|
15
20
|
const PACKAGE_NAME = "@convext/cli";
|
|
16
21
|
const CHECK_INTERVAL_MS = 24 * 60 * 60 * 1000; // 24 hours
|
|
17
22
|
function getCachePath() {
|
|
18
|
-
return
|
|
23
|
+
return join(homedir(), ".convext", "version-cache.json");
|
|
19
24
|
}
|
|
20
25
|
function readCache() {
|
|
21
26
|
try {
|
|
22
27
|
const cachePath = getCachePath();
|
|
23
|
-
if (!
|
|
28
|
+
if (!existsSync(cachePath)) {
|
|
24
29
|
return null;
|
|
25
30
|
}
|
|
26
|
-
const content =
|
|
31
|
+
const content = readFileSync(cachePath, "utf-8");
|
|
27
32
|
return JSON.parse(content);
|
|
28
33
|
}
|
|
29
34
|
catch {
|
|
@@ -33,11 +38,11 @@ function readCache() {
|
|
|
33
38
|
function writeCache(cache) {
|
|
34
39
|
try {
|
|
35
40
|
const cachePath = getCachePath();
|
|
36
|
-
const cacheDir =
|
|
37
|
-
if (!
|
|
38
|
-
|
|
41
|
+
const cacheDir = join(homedir(), ".convext");
|
|
42
|
+
if (!existsSync(cacheDir)) {
|
|
43
|
+
mkdirSync(cacheDir, { recursive: true });
|
|
39
44
|
}
|
|
40
|
-
|
|
45
|
+
writeFileSync(cachePath, JSON.stringify(cache));
|
|
41
46
|
}
|
|
42
47
|
catch {
|
|
43
48
|
// Silently fail - cache is optional
|
|
@@ -79,7 +84,7 @@ async function fetchLatestVersion() {
|
|
|
79
84
|
* This function is non-blocking and will not slow down the CLI.
|
|
80
85
|
* Checks are cached for 24 hours.
|
|
81
86
|
*/
|
|
82
|
-
async function checkForUpdates() {
|
|
87
|
+
export async function checkForUpdates() {
|
|
83
88
|
try {
|
|
84
89
|
// Check cache first
|
|
85
90
|
const cache = readCache();
|
|
@@ -102,9 +107,9 @@ async function checkForUpdates() {
|
|
|
102
107
|
// Compare versions
|
|
103
108
|
if (compareVersions(CURRENT_VERSION, latestVersion) < 0) {
|
|
104
109
|
console.log();
|
|
105
|
-
console.log(
|
|
106
|
-
console.log(
|
|
107
|
-
console.log(
|
|
110
|
+
console.log(chalk.yellow(` ⚠ Update available: ${CURRENT_VERSION} → ${latestVersion}`));
|
|
111
|
+
console.log(chalk.gray(` Run: npm install -g ${PACKAGE_NAME}@latest`));
|
|
112
|
+
console.log(chalk.gray(` Or use: npx ${PACKAGE_NAME}@latest <command>`));
|
|
108
113
|
console.log();
|
|
109
114
|
}
|
|
110
115
|
}
|
|
@@ -116,7 +121,7 @@ async function checkForUpdates() {
|
|
|
116
121
|
* Check if the current CLI version meets the minimum required version from the API.
|
|
117
122
|
* Returns true if version is acceptable, false if upgrade is required.
|
|
118
123
|
*/
|
|
119
|
-
function checkMinimumVersion(minVersion) {
|
|
124
|
+
export function checkMinimumVersion(minVersion) {
|
|
120
125
|
if (compareVersions(CURRENT_VERSION, minVersion) < 0) {
|
|
121
126
|
return {
|
|
122
127
|
ok: false,
|
|
@@ -128,7 +133,7 @@ function checkMinimumVersion(minVersion) {
|
|
|
128
133
|
/**
|
|
129
134
|
* Get the current CLI version
|
|
130
135
|
*/
|
|
131
|
-
function getCurrentVersion() {
|
|
136
|
+
export function getCurrentVersion() {
|
|
132
137
|
return CURRENT_VERSION;
|
|
133
138
|
}
|
|
134
139
|
//# sourceMappingURL=versionCheck.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versionCheck.js","sourceRoot":"","sources":["../../src/utils/versionCheck.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"versionCheck.js","sourceRoot":"","sources":["../../src/utils/versionCheck.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED