@gettrace/cli 1.4.12 → 1.4.14
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/index.js +1 -1
- package/dist/lsp.d.ts +23 -17
- package/dist/lsp.js +221 -94
- package/dist/lsp.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -90,7 +90,7 @@ function detectDevCommand(projectPath, override) {
|
|
|
90
90
|
};
|
|
91
91
|
return { command: runCmd[pm] ?? `npm run ${script}`, pm, script };
|
|
92
92
|
}
|
|
93
|
-
const VERSION = '1.4.
|
|
93
|
+
const VERSION = '1.4.14';
|
|
94
94
|
/** Levenshtein distance for fuzzy block matching */
|
|
95
95
|
function levenshtein(a, b) {
|
|
96
96
|
if (a === '' || b === '')
|
package/dist/lsp.d.ts
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Post-write
|
|
2
|
+
* Post-write multi-language diagnostic checker for Trace IDE Bridge.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Mirrors OpenCode's lsp.touchFile + lsp.diagnostics() but without a
|
|
5
|
+
* persistent LSP daemon. Instead we run the project's own toolchain
|
|
6
|
+
* directly after every successful file write.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* Language coverage:
|
|
9
|
+
* .ts / .tsx / .mts / .cts → tsc --noEmit (type errors)
|
|
10
|
+
* .js / .jsx / .mjs / .cjs → ESLint --format json (lint errors)
|
|
11
|
+
* .ts / .tsx (+ JS if allowJs) → tsc (includes JS when tsconfig says so)
|
|
12
|
+
* .css / .scss / .less → stylelint --formatter json (if installed)
|
|
9
13
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
14
|
+
* Design principles:
|
|
15
|
+
* 1. Non-blocking — hard 6s timeout per checker, never stalls a response.
|
|
16
|
+
* 2. Project-local binaries first (tsc, eslint, stylelint) → global fallback.
|
|
17
|
+
* 3. Structured output: { file, line, col, severity, code, message }[]
|
|
18
|
+
* 4. Silent on failure — missing tooling / timeout → returns [].
|
|
19
|
+
* 5. Results prioritised: edited file's errors first, then other files.
|
|
15
20
|
*/
|
|
16
21
|
export interface LspDiagnostic {
|
|
17
22
|
/** Relative path from the project root */
|
|
@@ -19,22 +24,23 @@ export interface LspDiagnostic {
|
|
|
19
24
|
line: number;
|
|
20
25
|
col: number;
|
|
21
26
|
severity: 'error' | 'warning';
|
|
22
|
-
/**
|
|
27
|
+
/** Tool-specific code: "TS2345", "no-unused-vars", "color-no-invalid-hex" */
|
|
23
28
|
code: string;
|
|
24
29
|
message: string;
|
|
30
|
+
/** Which checker produced this: "tsc" | "eslint" | "stylelint" */
|
|
31
|
+
source: 'tsc' | 'eslint' | 'stylelint';
|
|
25
32
|
}
|
|
26
33
|
export interface LspResult {
|
|
27
34
|
diagnostics: LspDiagnostic[];
|
|
28
35
|
/** Human-readable summary injected into the tool response */
|
|
29
36
|
summary: string | null;
|
|
30
|
-
/**
|
|
37
|
+
/** Which checkers actually ran */
|
|
38
|
+
checkers: string[];
|
|
39
|
+
/** false = all checkers were skipped (non-applicable file type, tooling absent) */
|
|
31
40
|
ran: boolean;
|
|
32
41
|
}
|
|
33
42
|
/**
|
|
34
|
-
* Run
|
|
35
|
-
*
|
|
36
|
-
* @param filePath Absolute path of the file that was just written
|
|
37
|
-
* @param projectPath Absolute path of the project root (process.cwd() equivalent)
|
|
38
|
-
* @returns LspResult — always resolves, never rejects
|
|
43
|
+
* Run all applicable checkers for the given file and return structured
|
|
44
|
+
* diagnostics. Always resolves, never rejects.
|
|
39
45
|
*/
|
|
40
46
|
export declare function checkDiagnostics(filePath: string, projectPath: string): Promise<LspResult>;
|
package/dist/lsp.js
CHANGED
|
@@ -1,93 +1,239 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Post-write
|
|
2
|
+
* Post-write multi-language diagnostic checker for Trace IDE Bridge.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Mirrors OpenCode's lsp.touchFile + lsp.diagnostics() but without a
|
|
5
|
+
* persistent LSP daemon. Instead we run the project's own toolchain
|
|
6
|
+
* directly after every successful file write.
|
|
7
7
|
*
|
|
8
|
-
*
|
|
8
|
+
* Language coverage:
|
|
9
|
+
* .ts / .tsx / .mts / .cts → tsc --noEmit (type errors)
|
|
10
|
+
* .js / .jsx / .mjs / .cjs → ESLint --format json (lint errors)
|
|
11
|
+
* .ts / .tsx (+ JS if allowJs) → tsc (includes JS when tsconfig says so)
|
|
12
|
+
* .css / .scss / .less → stylelint --formatter json (if installed)
|
|
9
13
|
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
14
|
+
* Design principles:
|
|
15
|
+
* 1. Non-blocking — hard 6s timeout per checker, never stalls a response.
|
|
16
|
+
* 2. Project-local binaries first (tsc, eslint, stylelint) → global fallback.
|
|
17
|
+
* 3. Structured output: { file, line, col, severity, code, message }[]
|
|
18
|
+
* 4. Silent on failure — missing tooling / timeout → returns [].
|
|
19
|
+
* 5. Results prioritised: edited file's errors first, then other files.
|
|
15
20
|
*/
|
|
16
21
|
import * as fs from 'fs';
|
|
17
22
|
import * as path from 'path';
|
|
18
23
|
import { exec } from 'child_process';
|
|
19
24
|
// ─── Constants ────────────────────────────────────────────────────────────────
|
|
20
25
|
const TS_EXTS = new Set(['.ts', '.tsx', '.mts', '.cts']);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
* The agent should not be blocked longer than this.
|
|
25
|
-
*/
|
|
26
|
-
const TSC_TIMEOUT_MS = 6000;
|
|
27
|
-
/** Cap how many diagnostics we return to avoid overwhelming the agent context */
|
|
26
|
+
const JS_EXTS = new Set(['.js', '.jsx', '.mjs', '.cjs']);
|
|
27
|
+
const CSS_EXTS = new Set(['.css', '.scss', '.less', '.sass']);
|
|
28
|
+
const CHECKER_TIMEOUT_MS = 6000;
|
|
28
29
|
const MAX_DIAGNOSTICS = 20;
|
|
29
30
|
// ─── Main export ──────────────────────────────────────────────────────────────
|
|
30
31
|
/**
|
|
31
|
-
* Run
|
|
32
|
-
*
|
|
33
|
-
* @param filePath Absolute path of the file that was just written
|
|
34
|
-
* @param projectPath Absolute path of the project root (process.cwd() equivalent)
|
|
35
|
-
* @returns LspResult — always resolves, never rejects
|
|
32
|
+
* Run all applicable checkers for the given file and return structured
|
|
33
|
+
* diagnostics. Always resolves, never rejects.
|
|
36
34
|
*/
|
|
37
35
|
export async function checkDiagnostics(filePath, projectPath) {
|
|
38
|
-
const SKIP = { diagnostics: [], summary: null, ran: false };
|
|
39
|
-
// Only check TypeScript files
|
|
36
|
+
const SKIP = { diagnostics: [], summary: null, checkers: [], ran: false };
|
|
40
37
|
const ext = path.extname(filePath).toLowerCase();
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
//
|
|
44
|
-
const
|
|
45
|
-
|
|
38
|
+
const all = [];
|
|
39
|
+
const checkers = [];
|
|
40
|
+
// Run checkers in parallel for speed
|
|
41
|
+
const pending = [];
|
|
42
|
+
// ── 1. tsc ─────────────────────────────────────────────────────────────────
|
|
43
|
+
// Fire for TS files always; fire for JS files only when tsconfig has allowJs.
|
|
44
|
+
if (TS_EXTS.has(ext) || JS_EXTS.has(ext)) {
|
|
45
|
+
const tsconfig = path.join(projectPath, 'tsconfig.json');
|
|
46
|
+
if (fs.existsSync(tsconfig)) {
|
|
47
|
+
const shouldRunForJs = JS_EXTS.has(ext) && tsconfigAllowsJs(tsconfig);
|
|
48
|
+
if (TS_EXTS.has(ext) || shouldRunForJs) {
|
|
49
|
+
checkers.push('tsc');
|
|
50
|
+
pending.push(runTsc(projectPath));
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
// ── 2. ESLint ──────────────────────────────────────────────────────────────
|
|
55
|
+
// Runs for JS and TS files if ESLint is installed in the project.
|
|
56
|
+
if (TS_EXTS.has(ext) || JS_EXTS.has(ext)) {
|
|
57
|
+
const eslintBin = path.join(projectPath, 'node_modules', '.bin', 'eslint');
|
|
58
|
+
if (fs.existsSync(eslintBin)) {
|
|
59
|
+
checkers.push('eslint');
|
|
60
|
+
pending.push(runEslint(eslintBin, filePath, projectPath));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// ── 3. Stylelint ───────────────────────────────────────────────────────────
|
|
64
|
+
// Runs for CSS/SCSS/Less if installed.
|
|
65
|
+
if (CSS_EXTS.has(ext)) {
|
|
66
|
+
const stylelintBin = path.join(projectPath, 'node_modules', '.bin', 'stylelint');
|
|
67
|
+
if (fs.existsSync(stylelintBin)) {
|
|
68
|
+
checkers.push('stylelint');
|
|
69
|
+
pending.push(runStylelint(stylelintBin, filePath, projectPath));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
if (pending.length === 0)
|
|
46
73
|
return SKIP;
|
|
47
|
-
|
|
74
|
+
const results = await Promise.allSettled(pending);
|
|
75
|
+
for (const r of results) {
|
|
76
|
+
if (r.status === 'fulfilled')
|
|
77
|
+
all.push(...r.value);
|
|
78
|
+
// Rejected = checker timed out or crashed — silently ignore
|
|
79
|
+
}
|
|
80
|
+
// Deduplicate: same file+line+message from multiple checkers
|
|
81
|
+
const seen = new Set();
|
|
82
|
+
const unique = all.filter(d => {
|
|
83
|
+
const key = `${d.file}:${d.line}:${d.col}:${d.message}`;
|
|
84
|
+
if (seen.has(key))
|
|
85
|
+
return false;
|
|
86
|
+
seen.add(key);
|
|
87
|
+
return true;
|
|
88
|
+
});
|
|
89
|
+
// Sort: edited file's errors → other errors → warnings (by severity then file)
|
|
90
|
+
const rel = path.relative(projectPath, filePath);
|
|
91
|
+
const sorted = [
|
|
92
|
+
...unique.filter(d => d.file === rel && d.severity === 'error'),
|
|
93
|
+
...unique.filter(d => d.file !== rel && d.severity === 'error'),
|
|
94
|
+
...unique.filter(d => d.severity === 'warning'),
|
|
95
|
+
].slice(0, MAX_DIAGNOSTICS);
|
|
96
|
+
const errCount = sorted.filter(d => d.severity === 'error').length;
|
|
97
|
+
const warnCount = sorted.filter(d => d.severity === 'warning').length;
|
|
98
|
+
let summary = null;
|
|
99
|
+
if (errCount > 0) {
|
|
100
|
+
summary =
|
|
101
|
+
`⚠ ${errCount} error${errCount > 1 ? 's' : ''}` +
|
|
102
|
+
(warnCount > 0 ? ` + ${warnCount} warning${warnCount > 1 ? 's' : ''}` : '') +
|
|
103
|
+
` detected after write [${checkers.join('+')}]. Fix these before making more edits.`;
|
|
104
|
+
}
|
|
105
|
+
else if (warnCount > 0) {
|
|
106
|
+
summary = `ℹ ${warnCount} warning${warnCount > 1 ? 's' : ''} detected [${checkers.join('+')}]. No errors.`;
|
|
107
|
+
}
|
|
108
|
+
else if (unique.length === 0 && checkers.length > 0) {
|
|
109
|
+
summary = `✓ No errors detected [${checkers.join('+')}].`;
|
|
110
|
+
}
|
|
111
|
+
return { diagnostics: sorted, summary, checkers, ran: true };
|
|
112
|
+
}
|
|
113
|
+
// ─── Checker: tsc ─────────────────────────────────────────────────────────────
|
|
114
|
+
async function runTsc(projectPath) {
|
|
48
115
|
const localTsc = path.join(projectPath, 'node_modules', '.bin', 'tsc');
|
|
49
|
-
const
|
|
50
|
-
|
|
51
|
-
: 'tsc --noEmit --pretty false';
|
|
116
|
+
const bin = fs.existsSync(localTsc) ? `"${localTsc}"` : 'tsc';
|
|
117
|
+
const cmd = `${bin} --noEmit --pretty false`;
|
|
52
118
|
try {
|
|
53
|
-
const raw = await
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
119
|
+
const raw = await spawnWithTimeout(cmd, projectPath);
|
|
120
|
+
return parseTscOutput(raw, projectPath);
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
return [];
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
function parseTscOutput(output, projectPath) {
|
|
127
|
+
const diagnostics = [];
|
|
128
|
+
const pattern = /^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+(TS\d+):\s+(.+)$/gm;
|
|
129
|
+
let m;
|
|
130
|
+
while ((m = pattern.exec(output)) !== null) {
|
|
131
|
+
const [, rawFile, lineStr, colStr, severity, code, message] = m;
|
|
132
|
+
const absFile = path.isAbsolute(rawFile)
|
|
133
|
+
? rawFile
|
|
134
|
+
: path.resolve(projectPath, rawFile);
|
|
135
|
+
diagnostics.push({
|
|
136
|
+
file: path.relative(projectPath, absFile),
|
|
137
|
+
line: parseInt(lineStr, 10),
|
|
138
|
+
col: parseInt(colStr, 10),
|
|
139
|
+
severity: severity,
|
|
140
|
+
code,
|
|
141
|
+
message: message.trim(),
|
|
142
|
+
source: 'tsc',
|
|
143
|
+
});
|
|
144
|
+
}
|
|
145
|
+
return diagnostics;
|
|
146
|
+
}
|
|
147
|
+
// ─── Checker: ESLint ──────────────────────────────────────────────────────────
|
|
148
|
+
async function runEslint(eslintBin, filePath, projectPath) {
|
|
149
|
+
// --format json gives us a machine-readable array even when there are errors
|
|
150
|
+
// ESLint exits 1 on lint errors — that's expected, not a crash
|
|
151
|
+
const cmd = `"${eslintBin}" --format json "${filePath}"`;
|
|
152
|
+
try {
|
|
153
|
+
const raw = await spawnWithTimeout(cmd, projectPath);
|
|
154
|
+
return parseEslintOutput(raw, projectPath);
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
return [];
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
function parseEslintOutput(raw, projectPath) {
|
|
161
|
+
const diagnostics = [];
|
|
162
|
+
// ESLint sometimes emits text before the JSON (deprecation notices, etc.)
|
|
163
|
+
// Find the first '[' to locate the JSON array
|
|
164
|
+
const jsonStart = raw.indexOf('[');
|
|
165
|
+
if (jsonStart === -1)
|
|
166
|
+
return diagnostics;
|
|
167
|
+
try {
|
|
168
|
+
const results = JSON.parse(raw.slice(jsonStart));
|
|
169
|
+
for (const fileResult of results) {
|
|
170
|
+
const relFile = path.relative(projectPath, fileResult.filePath);
|
|
171
|
+
for (const msg of fileResult.messages) {
|
|
172
|
+
// severity: 1 = warning, 2 = error
|
|
173
|
+
if (msg.severity === 0)
|
|
174
|
+
continue;
|
|
175
|
+
diagnostics.push({
|
|
176
|
+
file: relFile,
|
|
177
|
+
line: msg.line ?? 1,
|
|
178
|
+
col: msg.column ?? 1,
|
|
179
|
+
severity: msg.severity >= 2 ? 'error' : 'warning',
|
|
180
|
+
code: msg.ruleId ?? 'eslint',
|
|
181
|
+
message: msg.message,
|
|
182
|
+
source: 'eslint',
|
|
183
|
+
});
|
|
184
|
+
}
|
|
73
185
|
}
|
|
74
|
-
|
|
75
|
-
|
|
186
|
+
}
|
|
187
|
+
catch {
|
|
188
|
+
// JSON parse failed — ESLint output was garbled
|
|
189
|
+
}
|
|
190
|
+
return diagnostics;
|
|
191
|
+
}
|
|
192
|
+
// ─── Checker: Stylelint ───────────────────────────────────────────────────────
|
|
193
|
+
async function runStylelint(stylelintBin, filePath, projectPath) {
|
|
194
|
+
const cmd = `"${stylelintBin}" --formatter json "${filePath}"`;
|
|
195
|
+
try {
|
|
196
|
+
const raw = await spawnWithTimeout(cmd, projectPath);
|
|
197
|
+
return parseStylelintOutput(raw, projectPath);
|
|
198
|
+
}
|
|
199
|
+
catch {
|
|
200
|
+
return [];
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
function parseStylelintOutput(raw, projectPath) {
|
|
204
|
+
const diagnostics = [];
|
|
205
|
+
const jsonStart = raw.indexOf('[');
|
|
206
|
+
if (jsonStart === -1)
|
|
207
|
+
return diagnostics;
|
|
208
|
+
try {
|
|
209
|
+
const results = JSON.parse(raw.slice(jsonStart));
|
|
210
|
+
for (const fileResult of results) {
|
|
211
|
+
const relFile = path.relative(projectPath, fileResult.source);
|
|
212
|
+
for (const w of fileResult.warnings) {
|
|
213
|
+
diagnostics.push({
|
|
214
|
+
file: relFile,
|
|
215
|
+
line: w.line ?? 1,
|
|
216
|
+
col: w.column ?? 1,
|
|
217
|
+
severity: w.severity === 'error' ? 'error' : 'warning',
|
|
218
|
+
code: w.rule ?? 'stylelint',
|
|
219
|
+
message: w.text,
|
|
220
|
+
source: 'stylelint',
|
|
221
|
+
});
|
|
222
|
+
}
|
|
76
223
|
}
|
|
77
|
-
return { diagnostics: sorted, summary, ran: true };
|
|
78
224
|
}
|
|
79
225
|
catch {
|
|
80
|
-
//
|
|
81
|
-
return SKIP;
|
|
226
|
+
// Ignore parse errors
|
|
82
227
|
}
|
|
228
|
+
return diagnostics;
|
|
83
229
|
}
|
|
84
|
-
// ───
|
|
230
|
+
// ─── Shared: process runner ───────────────────────────────────────────────────
|
|
85
231
|
/**
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
232
|
+
* Spawn a command with a hard timeout.
|
|
233
|
+
* Resolves with stdout+stderr. Rejects only on timeout.
|
|
234
|
+
* A non-zero exit code is NOT an error here (lint tools exit 1 on violations).
|
|
89
235
|
*/
|
|
90
|
-
function
|
|
236
|
+
function spawnWithTimeout(cmd, cwd) {
|
|
91
237
|
return new Promise((resolve, reject) => {
|
|
92
238
|
let settled = false;
|
|
93
239
|
const timer = setTimeout(() => {
|
|
@@ -95,46 +241,27 @@ function runTsc(cmd, cwd) {
|
|
|
95
241
|
return;
|
|
96
242
|
settled = true;
|
|
97
243
|
proc.kill('SIGTERM');
|
|
98
|
-
reject(new Error(
|
|
99
|
-
},
|
|
244
|
+
reject(new Error(`Checker timed out: ${cmd.slice(0, 60)}`));
|
|
245
|
+
}, CHECKER_TIMEOUT_MS);
|
|
100
246
|
const proc = exec(cmd, { cwd }, (_err, stdout, stderr) => {
|
|
101
247
|
if (settled)
|
|
102
248
|
return;
|
|
103
249
|
settled = true;
|
|
104
250
|
clearTimeout(timer);
|
|
105
|
-
// tsc errors are in stdout when --pretty false; stderr has other issues
|
|
106
251
|
resolve(stdout + stderr);
|
|
107
252
|
});
|
|
108
253
|
});
|
|
109
254
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
const pattern = /^(.+?)\((\d+),(\d+)\):\s+(error|warning)\s+(TS\d+):\s+(.+)$/gm;
|
|
121
|
-
let match;
|
|
122
|
-
while ((match = pattern.exec(output)) !== null) {
|
|
123
|
-
const [, rawFile, lineStr, colStr, severity, code, message] = match;
|
|
124
|
-
// Normalise path to be relative to project root
|
|
125
|
-
const absFile = path.isAbsolute(rawFile)
|
|
126
|
-
? rawFile
|
|
127
|
-
: path.resolve(projectPath, rawFile);
|
|
128
|
-
const relFile = path.relative(projectPath, absFile);
|
|
129
|
-
diagnostics.push({
|
|
130
|
-
file: relFile,
|
|
131
|
-
line: parseInt(lineStr, 10),
|
|
132
|
-
col: parseInt(colStr, 10),
|
|
133
|
-
severity: severity,
|
|
134
|
-
code,
|
|
135
|
-
message: message.trim(),
|
|
136
|
-
});
|
|
255
|
+
// ─── Helpers ──────────────────────────────────────────────────────────────────
|
|
256
|
+
/** Returns true if the tsconfig.json at the given path has allowJs: true */
|
|
257
|
+
function tsconfigAllowsJs(tsconfigPath) {
|
|
258
|
+
try {
|
|
259
|
+
const raw = fs.readFileSync(tsconfigPath, 'utf-8');
|
|
260
|
+
// Quick parse — skip full JSON5 parsing for performance
|
|
261
|
+
return /"allowJs"\s*:\s*true/.test(raw);
|
|
262
|
+
}
|
|
263
|
+
catch {
|
|
264
|
+
return false;
|
|
137
265
|
}
|
|
138
|
-
return diagnostics;
|
|
139
266
|
}
|
|
140
267
|
//# sourceMappingURL=lsp.js.map
|
package/dist/lsp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lsp.js","sourceRoot":"","sources":["../src/lsp.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"lsp.js","sourceRoot":"","sources":["../src/lsp.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gettrace/cli",
|
|
3
|
-
"version": "1.4.
|
|
3
|
+
"version": "1.4.14",
|
|
4
4
|
"description": "Trace IDE Bridge for connecting local filesystem to Trace browser extensions.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -47,4 +47,4 @@
|
|
|
47
47
|
"dist",
|
|
48
48
|
"README.md"
|
|
49
49
|
]
|
|
50
|
-
}
|
|
50
|
+
}
|