mirror of
https://github.com/oven-sh/bun
synced 2026-02-13 20:39:05 +00:00
Add tsconfig.json to bun-types (#2587)
* Add tsconfig.json to bun-types. Document 'extends' pattern. * Updates * Update bun init to use extends:bun-types * Update type:module recommendation * Add note about transpilation. Closes #2553 * Make typescript a peer dep * Revert changes to docs * Revert tsconfig extends * Update readme * FMC * Undo changed
This commit is contained in:
@@ -282,6 +282,22 @@ pub const InitCommand = struct {
|
||||
break :brk true;
|
||||
};
|
||||
|
||||
const needs_typescript_dependency = brk: {
|
||||
if (fields.object.get("devDependencies")) |deps| {
|
||||
if (deps.hasAnyPropertyNamed(&.{"typescript"})) {
|
||||
break :brk false;
|
||||
}
|
||||
}
|
||||
|
||||
if (fields.object.get("peerDependencies")) |deps| {
|
||||
if (deps.hasAnyPropertyNamed(&.{"typescript"})) {
|
||||
break :brk false;
|
||||
}
|
||||
}
|
||||
|
||||
break :brk true;
|
||||
};
|
||||
|
||||
if (needs_dev_dependencies) {
|
||||
var dev_dependencies = fields.object.get("devDependencies") orelse js_ast.Expr.init(js_ast.E.Object, js_ast.E.Object{}, logger.Loc.Empty);
|
||||
const version = comptime brk: {
|
||||
@@ -293,6 +309,12 @@ pub const InitCommand = struct {
|
||||
try dev_dependencies.data.e_object.putString(alloc, "bun-types", comptime std.fmt.comptimePrint("^{any}", .{version.fmt("")}));
|
||||
try fields.object.put(alloc, "devDependencies", dev_dependencies);
|
||||
}
|
||||
|
||||
if (needs_typescript_dependency) {
|
||||
var peer_dependencies = fields.object.get("peer_dependencies") orelse js_ast.Expr.init(js_ast.E.Object, js_ast.E.Object{}, logger.Loc.Empty);
|
||||
try peer_dependencies.data.e_object.putString(alloc, "typescript", "^5.0.0");
|
||||
try fields.object.put(alloc, "peerDependencies", peer_dependencies);
|
||||
}
|
||||
}
|
||||
|
||||
write_package_json: {
|
||||
|
||||
Reference in New Issue
Block a user