Paul Krill
Editor at Large

Deno adds workspaces for managing monorepos

news
Jul 17, 20242 mins

Workspaces simplify dependency management, configuration sharing, and module organization across large code bases, Deno Land says.

shutterstock 1591493512 dinosaur roadside attraction brontosaurus T Rex clouds blue sky
Credit: The Image Party / Shutterstock

The latest update to the Deno TypeScript /JavaScript and WebAssembly runtime features workspace support along with Node.js compatibility improvements.

Deno 1.45 was introduced July 11. The release introduces workspaces for managing monorepos, simplifying dependency management, configuration sharing, and module organization across large code bases, Deno Land said. There are two forms of supported workspaces: Deno-first workspaces defined in deno.json and backwards-compatible NPM workspaces. Global configuration for these workspaces is applied to each member package but can be overridden by members. Developers can mix and match NPM and Deno workspaces, with an NPM package inside a Deno workspace or vice versa.

For Node.js compatibility, Node-API support has been revamped, fixing issues with packages such as prisma, sqlite3,  and  paper. Other Node.js compatibility improvements include working on support for dd.trace and support for fs.lutimes and fs.lutimesSync. Also, node:crypto and node:zlib were added. The node:http module was updated, with capabilities such as Server#close() now doing a graceful shutdown, allowing in-flight requests to finish. In another improvement, the node:vm will consume less memory. For NPM support, types shipped with the package are now preferred over types from @types scope.

Deno 1.45 makes the language server more independent of the foot folder open in the editor. Configuration files in subdirectories now are detected, even if there are multiple ones. Elsewhere in Deno 1.45, a new --frozen (alias --frozen-lockfile) has been added to control the behavior of the lockfile. This flag can be used to tell Deno to error out anytime the lockfile gets out of date. This is especially useful in Continuous Integration pipelines, Deno Land said. Also, Deno 1.45 ships with version 12.7 of the Google V8 JavaScript and WebAssembly engine and version 5.5.2 of TypeScript.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author