thinkwell 0.5.2 → 0.5.4
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/bin/thinkwell +6 -4
- package/dist/agent.d.ts +3 -3
- package/dist/agent.d.ts.map +1 -1
- package/dist/agent.js +3 -3
- package/dist/agent.js.map +1 -1
- package/dist/build.d.ts +28 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/build.js +110 -0
- package/dist/build.js.map +1 -0
- package/dist/cli/build.d.ts.map +1 -1
- package/dist/cli/build.js +7 -4
- package/dist/cli/build.js.map +1 -1
- package/dist/cli/bundle.d.ts.map +1 -1
- package/dist/cli/bundle.js +21 -3
- package/dist/cli/bundle.js.map +1 -1
- package/dist/cli/check.d.ts.map +1 -1
- package/dist/cli/check.js +7 -4
- package/dist/cli/check.js.map +1 -1
- package/dist/cli/commands.d.ts +15 -2
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +152 -7
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/compiler-host.d.ts +16 -0
- package/dist/cli/compiler-host.d.ts.map +1 -1
- package/dist/cli/compiler-host.js +13 -7
- package/dist/cli/compiler-host.js.map +1 -1
- package/dist/cli/dependency-check.d.ts +7 -0
- package/dist/cli/dependency-check.d.ts.map +1 -1
- package/dist/cli/dependency-check.js +20 -1
- package/dist/cli/dependency-check.js.map +1 -1
- package/dist/cli/dependency-errors.d.ts +17 -0
- package/dist/cli/dependency-errors.d.ts.map +1 -1
- package/dist/cli/dependency-errors.js +31 -0
- package/dist/cli/dependency-errors.js.map +1 -1
- package/dist/cli/loader.d.ts +9 -0
- package/dist/cli/loader.d.ts.map +1 -1
- package/dist/cli/loader.js +43 -12
- package/dist/cli/loader.js.map +1 -1
- package/dist/cli/schema.d.ts +15 -3
- package/dist/cli/schema.d.ts.map +1 -1
- package/dist/cli/schema.js +48 -76
- package/dist/cli/schema.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/session.d.ts +3 -3
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +3 -3
- package/dist/session.js.map +1 -1
- package/dist/think-builder.d.ts +31 -105
- package/dist/think-builder.d.ts.map +1 -1
- package/dist/think-builder.js +82 -116
- package/dist/think-builder.js.map +1 -1
- package/dist/thought-stream.d.ts +1 -1
- package/dist/thought-stream.d.ts.map +1 -1
- package/dist/thought-stream.js +1 -1
- package/dist/thought-stream.js.map +1 -1
- package/dist-pkg/cli-build.cjs +166 -125
- package/dist-pkg/cli-bundle.cjs +560 -185
- package/dist-pkg/cli-check.cjs +156 -119
- package/dist-pkg/cli-dependency-check.cjs +312 -0
- package/dist-pkg/cli-dependency-errors.cjs +92 -0
- package/dist-pkg/cli-loader.cjs +144 -103
- package/dist-pkg/pkg-cli.cjs +119 -1
- package/dist-pkg/thinkwell.cjs +80 -109
- package/package.json +9 -4
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
|
|
21
|
+
// dist/cli/dependency-check.js
|
|
22
|
+
var dependency_check_exports = {};
|
|
23
|
+
__export(dependency_check_exports, {
|
|
24
|
+
checkDependencies: () => checkDependencies,
|
|
25
|
+
findProjectRoot: () => findProjectRoot,
|
|
26
|
+
hasPackageJson: () => hasPackageJson
|
|
27
|
+
});
|
|
28
|
+
module.exports = __toCommonJS(dependency_check_exports);
|
|
29
|
+
var import_node_fs2 = require("node:fs");
|
|
30
|
+
var import_node_path2 = require("node:path");
|
|
31
|
+
var import_node_child_process = require("node:child_process");
|
|
32
|
+
|
|
33
|
+
// dist/cli/package-manager.js
|
|
34
|
+
var import_node_fs = require("node:fs");
|
|
35
|
+
var import_node_path = require("node:path");
|
|
36
|
+
var LOCKFILES = [
|
|
37
|
+
{ file: "pnpm-lock.yaml", pm: "pnpm" },
|
|
38
|
+
{ file: "yarn.lock", pm: "yarn" },
|
|
39
|
+
{ file: "package-lock.json", pm: "npm" }
|
|
40
|
+
];
|
|
41
|
+
function detectByLockfile(projectDir) {
|
|
42
|
+
for (const { file, pm } of LOCKFILES) {
|
|
43
|
+
const lockfilePath = (0, import_node_path.join)(projectDir, file);
|
|
44
|
+
if ((0, import_node_fs.existsSync)(lockfilePath)) {
|
|
45
|
+
return { pm, lockfile: file };
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
return null;
|
|
49
|
+
}
|
|
50
|
+
__name(detectByLockfile, "detectByLockfile");
|
|
51
|
+
function parsePackageManagerField(value) {
|
|
52
|
+
if (typeof value !== "string") {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
const atIndex = value.indexOf("@");
|
|
56
|
+
const name = atIndex > 0 ? value.slice(0, atIndex) : value;
|
|
57
|
+
if (name === "pnpm" || name === "npm" || name === "yarn") {
|
|
58
|
+
return name;
|
|
59
|
+
}
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
__name(parsePackageManagerField, "parsePackageManagerField");
|
|
63
|
+
function detectByPackageJson(projectDir) {
|
|
64
|
+
const pkgPath = (0, import_node_path.join)(projectDir, "package.json");
|
|
65
|
+
if (!(0, import_node_fs.existsSync)(pkgPath)) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
try {
|
|
69
|
+
const content = (0, import_node_fs.readFileSync)(pkgPath, "utf-8");
|
|
70
|
+
const pkg = JSON.parse(content);
|
|
71
|
+
return parsePackageManagerField(pkg.packageManager);
|
|
72
|
+
} catch {
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
__name(detectByPackageJson, "detectByPackageJson");
|
|
77
|
+
function createPackageManagerInfo(name, lockfile) {
|
|
78
|
+
return {
|
|
79
|
+
name,
|
|
80
|
+
lockfile,
|
|
81
|
+
addCommand: /* @__PURE__ */ __name((pkg, dev) => {
|
|
82
|
+
switch (name) {
|
|
83
|
+
case "pnpm":
|
|
84
|
+
return dev ? `pnpm add -D ${pkg}` : `pnpm add ${pkg}`;
|
|
85
|
+
case "yarn":
|
|
86
|
+
return dev ? `yarn add -D ${pkg}` : `yarn add ${pkg}`;
|
|
87
|
+
case "npm":
|
|
88
|
+
return dev ? `npm install -D ${pkg}` : `npm install ${pkg}`;
|
|
89
|
+
}
|
|
90
|
+
}, "addCommand"),
|
|
91
|
+
whyCommand: /* @__PURE__ */ __name((pkg) => {
|
|
92
|
+
switch (name) {
|
|
93
|
+
case "pnpm":
|
|
94
|
+
return ["pnpm", "why", pkg, "--json"];
|
|
95
|
+
case "yarn":
|
|
96
|
+
return ["yarn", "why", pkg, "--json"];
|
|
97
|
+
case "npm":
|
|
98
|
+
return ["npm", "why", pkg, "--json"];
|
|
99
|
+
}
|
|
100
|
+
}, "whyCommand")
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
__name(createPackageManagerInfo, "createPackageManagerInfo");
|
|
104
|
+
function detectPackageManager(projectDir) {
|
|
105
|
+
const lockfileResult = detectByLockfile(projectDir);
|
|
106
|
+
if (lockfileResult) {
|
|
107
|
+
return createPackageManagerInfo(lockfileResult.pm, lockfileResult.lockfile);
|
|
108
|
+
}
|
|
109
|
+
const fromField = detectByPackageJson(projectDir);
|
|
110
|
+
if (fromField) {
|
|
111
|
+
return createPackageManagerInfo(fromField, null);
|
|
112
|
+
}
|
|
113
|
+
return createPackageManagerInfo("npm", null);
|
|
114
|
+
}
|
|
115
|
+
__name(detectPackageManager, "detectPackageManager");
|
|
116
|
+
|
|
117
|
+
// dist/cli/dependency-check.js
|
|
118
|
+
function readPackageJson(dir) {
|
|
119
|
+
const pkgPath = (0, import_node_path2.join)(dir, "package.json");
|
|
120
|
+
if (!(0, import_node_fs2.existsSync)(pkgPath)) {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
const content = (0, import_node_fs2.readFileSync)(pkgPath, "utf-8");
|
|
125
|
+
return JSON.parse(content);
|
|
126
|
+
} catch {
|
|
127
|
+
return null;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
__name(readPackageJson, "readPackageJson");
|
|
131
|
+
function checkPackageJsonDirect(pkg, packageName) {
|
|
132
|
+
const depTypes = [
|
|
133
|
+
pkg.dependencies,
|
|
134
|
+
pkg.devDependencies,
|
|
135
|
+
pkg.peerDependencies,
|
|
136
|
+
pkg.optionalDependencies
|
|
137
|
+
];
|
|
138
|
+
for (const deps of depTypes) {
|
|
139
|
+
if (deps && packageName in deps) {
|
|
140
|
+
return {
|
|
141
|
+
found: true,
|
|
142
|
+
version: deps[packageName],
|
|
143
|
+
source: "package.json"
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return null;
|
|
148
|
+
}
|
|
149
|
+
__name(checkPackageJsonDirect, "checkPackageJsonDirect");
|
|
150
|
+
function execCommand(cmd, cwd) {
|
|
151
|
+
return new Promise((resolve, reject) => {
|
|
152
|
+
const [command, ...args] = cmd;
|
|
153
|
+
const proc = (0, import_node_child_process.spawn)(command, args, {
|
|
154
|
+
cwd,
|
|
155
|
+
stdio: ["ignore", "pipe", "pipe"]
|
|
156
|
+
});
|
|
157
|
+
let stdout = "";
|
|
158
|
+
let stderr = "";
|
|
159
|
+
proc.stdout.on("data", (data) => {
|
|
160
|
+
stdout += data.toString();
|
|
161
|
+
});
|
|
162
|
+
proc.stderr.on("data", (data) => {
|
|
163
|
+
stderr += data.toString();
|
|
164
|
+
});
|
|
165
|
+
proc.on("error", (err) => {
|
|
166
|
+
reject(err);
|
|
167
|
+
});
|
|
168
|
+
proc.on("close", (code) => {
|
|
169
|
+
if (code === 0) {
|
|
170
|
+
resolve({ stdout, stderr });
|
|
171
|
+
} else {
|
|
172
|
+
reject(new Error(`Command failed with exit code ${code}: ${stderr}`));
|
|
173
|
+
}
|
|
174
|
+
});
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
__name(execCommand, "execCommand");
|
|
178
|
+
function parsePnpmWhyOutput(stdout, packageName) {
|
|
179
|
+
try {
|
|
180
|
+
const result = JSON.parse(stdout);
|
|
181
|
+
if (result && typeof result === "object" && packageName in result) {
|
|
182
|
+
const info = result[packageName];
|
|
183
|
+
return {
|
|
184
|
+
found: true,
|
|
185
|
+
version: info?.version,
|
|
186
|
+
source: "workspace"
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
return null;
|
|
190
|
+
} catch {
|
|
191
|
+
return null;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
__name(parsePnpmWhyOutput, "parsePnpmWhyOutput");
|
|
195
|
+
function parseNpmWhyOutput(stdout, _packageName) {
|
|
196
|
+
try {
|
|
197
|
+
const result = JSON.parse(stdout);
|
|
198
|
+
if (Array.isArray(result) && result.length > 0) {
|
|
199
|
+
const first = result[0];
|
|
200
|
+
return {
|
|
201
|
+
found: true,
|
|
202
|
+
version: first?.version,
|
|
203
|
+
source: "workspace"
|
|
204
|
+
};
|
|
205
|
+
}
|
|
206
|
+
return null;
|
|
207
|
+
} catch {
|
|
208
|
+
return null;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
__name(parseNpmWhyOutput, "parseNpmWhyOutput");
|
|
212
|
+
function parseYarnWhyOutput(stdout, _packageName) {
|
|
213
|
+
if (stdout.trim().length > 0) {
|
|
214
|
+
let version;
|
|
215
|
+
try {
|
|
216
|
+
const lines = stdout.trim().split("\n");
|
|
217
|
+
for (const line of lines) {
|
|
218
|
+
const obj = JSON.parse(line);
|
|
219
|
+
if (obj.type === "info" && obj.data) {
|
|
220
|
+
const match = obj.data.match(/"[^@]+@([^"]+)"/);
|
|
221
|
+
if (match) {
|
|
222
|
+
version = match[1];
|
|
223
|
+
break;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
} catch {
|
|
228
|
+
}
|
|
229
|
+
return {
|
|
230
|
+
found: true,
|
|
231
|
+
version,
|
|
232
|
+
source: "workspace"
|
|
233
|
+
};
|
|
234
|
+
}
|
|
235
|
+
return null;
|
|
236
|
+
}
|
|
237
|
+
__name(parseYarnWhyOutput, "parseYarnWhyOutput");
|
|
238
|
+
async function checkViaPackageManager(pm, packageName, cwd) {
|
|
239
|
+
const cmd = pm.whyCommand(packageName);
|
|
240
|
+
try {
|
|
241
|
+
const { stdout } = await execCommand(cmd, cwd);
|
|
242
|
+
switch (pm.name) {
|
|
243
|
+
case "pnpm":
|
|
244
|
+
return parsePnpmWhyOutput(stdout, packageName);
|
|
245
|
+
case "npm":
|
|
246
|
+
return parseNpmWhyOutput(stdout, packageName);
|
|
247
|
+
case "yarn":
|
|
248
|
+
return parseYarnWhyOutput(stdout, packageName);
|
|
249
|
+
}
|
|
250
|
+
} catch {
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
__name(checkViaPackageManager, "checkViaPackageManager");
|
|
255
|
+
async function checkDependencies(projectDir) {
|
|
256
|
+
const pm = detectPackageManager(projectDir);
|
|
257
|
+
const pkg = readPackageJson(projectDir);
|
|
258
|
+
let thinkwellStatus = { found: false };
|
|
259
|
+
let typescriptStatus = { found: false };
|
|
260
|
+
if (pkg) {
|
|
261
|
+
const thinkwellDirect = checkPackageJsonDirect(pkg, "thinkwell");
|
|
262
|
+
if (thinkwellDirect) {
|
|
263
|
+
thinkwellStatus = thinkwellDirect;
|
|
264
|
+
}
|
|
265
|
+
const typescriptDirect = checkPackageJsonDirect(pkg, "typescript");
|
|
266
|
+
if (typescriptDirect) {
|
|
267
|
+
typescriptStatus = typescriptDirect;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
if (!thinkwellStatus.found) {
|
|
271
|
+
const result = await checkViaPackageManager(pm, "thinkwell", projectDir);
|
|
272
|
+
if (result) {
|
|
273
|
+
thinkwellStatus = result;
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
if (!typescriptStatus.found) {
|
|
277
|
+
const result = await checkViaPackageManager(pm, "typescript", projectDir);
|
|
278
|
+
if (result) {
|
|
279
|
+
typescriptStatus = result;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
return {
|
|
283
|
+
thinkwell: thinkwellStatus,
|
|
284
|
+
typescript: typescriptStatus,
|
|
285
|
+
packageManager: pm
|
|
286
|
+
};
|
|
287
|
+
}
|
|
288
|
+
__name(checkDependencies, "checkDependencies");
|
|
289
|
+
function hasPackageJson(projectDir) {
|
|
290
|
+
return (0, import_node_fs2.existsSync)((0, import_node_path2.join)(projectDir, "package.json"));
|
|
291
|
+
}
|
|
292
|
+
__name(hasPackageJson, "hasPackageJson");
|
|
293
|
+
function findProjectRoot(startDir) {
|
|
294
|
+
let dir = startDir;
|
|
295
|
+
while (true) {
|
|
296
|
+
if ((0, import_node_fs2.existsSync)((0, import_node_path2.join)(dir, "package.json"))) {
|
|
297
|
+
return dir;
|
|
298
|
+
}
|
|
299
|
+
const parent = (0, import_node_path2.dirname)(dir);
|
|
300
|
+
if (parent === dir) {
|
|
301
|
+
return void 0;
|
|
302
|
+
}
|
|
303
|
+
dir = parent;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
__name(findProjectRoot, "findProjectRoot");
|
|
307
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
308
|
+
0 && (module.exports = {
|
|
309
|
+
checkDependencies,
|
|
310
|
+
findProjectRoot,
|
|
311
|
+
hasPackageJson
|
|
312
|
+
});
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
20
|
+
|
|
21
|
+
// dist/cli/dependency-errors.js
|
|
22
|
+
var dependency_errors_exports = {};
|
|
23
|
+
__export(dependency_errors_exports, {
|
|
24
|
+
formatMissingDependencyError: () => formatMissingDependencyError,
|
|
25
|
+
formatMissingDepsError: () => formatMissingDepsError,
|
|
26
|
+
hasMissingDependencies: () => hasMissingDependencies,
|
|
27
|
+
hasMissingDeps: () => hasMissingDeps
|
|
28
|
+
});
|
|
29
|
+
module.exports = __toCommonJS(dependency_errors_exports);
|
|
30
|
+
function formatMissingDependencyError(result) {
|
|
31
|
+
const { thinkwell, typescript, packageManager } = result;
|
|
32
|
+
const pm = packageManager;
|
|
33
|
+
const missing = [];
|
|
34
|
+
if (!thinkwell.found)
|
|
35
|
+
missing.push("thinkwell");
|
|
36
|
+
if (!typescript.found)
|
|
37
|
+
missing.push("typescript");
|
|
38
|
+
if (missing.length === 0) {
|
|
39
|
+
return "";
|
|
40
|
+
}
|
|
41
|
+
const lines = [];
|
|
42
|
+
if (missing.length === 1) {
|
|
43
|
+
lines.push(`Error: This project has a package.json but no dependency on '${missing[0]}'.`);
|
|
44
|
+
} else {
|
|
45
|
+
lines.push(`Error: This project has a package.json but is missing required dependencies.`);
|
|
46
|
+
}
|
|
47
|
+
lines.push("");
|
|
48
|
+
lines.push("When a project has explicit configuration, thinkwell expects explicit dependencies.");
|
|
49
|
+
lines.push("This ensures you get the versions you expect, not versions bundled with the CLI.");
|
|
50
|
+
lines.push("");
|
|
51
|
+
lines.push("Run 'thinkwell init' to add the required dependencies, or add them manually:");
|
|
52
|
+
if (!thinkwell.found) {
|
|
53
|
+
lines.push(` ${pm.addCommand("thinkwell")}`);
|
|
54
|
+
}
|
|
55
|
+
if (!typescript.found) {
|
|
56
|
+
lines.push(` ${pm.addCommand("typescript", true)}`);
|
|
57
|
+
}
|
|
58
|
+
return lines.join("\n");
|
|
59
|
+
}
|
|
60
|
+
__name(formatMissingDependencyError, "formatMissingDependencyError");
|
|
61
|
+
function hasMissingDependencies(result) {
|
|
62
|
+
return !result.thinkwell.found || !result.typescript.found;
|
|
63
|
+
}
|
|
64
|
+
__name(hasMissingDependencies, "hasMissingDependencies");
|
|
65
|
+
function hasMissingDeps(result, options) {
|
|
66
|
+
if (!result.thinkwell.found)
|
|
67
|
+
return true;
|
|
68
|
+
if (options.requireTypescript && !result.typescript.found)
|
|
69
|
+
return true;
|
|
70
|
+
return false;
|
|
71
|
+
}
|
|
72
|
+
__name(hasMissingDeps, "hasMissingDeps");
|
|
73
|
+
function formatMissingDepsError(result, options) {
|
|
74
|
+
if (!options.requireTypescript && result.thinkwell.found) {
|
|
75
|
+
return "";
|
|
76
|
+
}
|
|
77
|
+
if (!options.requireTypescript) {
|
|
78
|
+
return formatMissingDependencyError({
|
|
79
|
+
...result,
|
|
80
|
+
typescript: { found: true }
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return formatMissingDependencyError(result);
|
|
84
|
+
}
|
|
85
|
+
__name(formatMissingDepsError, "formatMissingDepsError");
|
|
86
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
87
|
+
0 && (module.exports = {
|
|
88
|
+
formatMissingDependencyError,
|
|
89
|
+
formatMissingDepsError,
|
|
90
|
+
hasMissingDependencies,
|
|
91
|
+
hasMissingDeps
|
|
92
|
+
});
|