Deno Version 1.44 Supports Private npm Packages
Deno Land has recently unveiled version 1.44 of Deno, its alternative JavaScript, TypeScript, and WebAssembly runtime that challenges Node.js. This new release introduces compatibility with private NPM registries, which facilitates the use of proprietary internal packages within Deno through the configuration of an .npmrc file. The update has also enhanced the overall performance of the Deno runtime.
Released on May 30, Deno 1.44 is accessible for upgrade via the command deno upgrade
executed in the terminal. The addition of support for private NPM registries is particularly significant as it addresses the needs of many large organizations that operate their own NPM registries to handle internal packages more securely. Developers can now configure Deno to retrieve private packages from these registries either through a package.json file or by directly importing packages with npm: specifiers.
Enhancements in Deno 1.44 also include performance optimizations such as V8 pointer compression, which reduces memory usage by enabling the V8 JavaScript engine to more efficiently store pointers. This improvement is beneficial in environments that handle large numbers of object allocations, resulting in lower memory demands. Other performance upgrades include quicker module loading times, improved startup speeds in AWS Lambda environments, and enhanced language server performance.
In terms of Node.js compatibility, Deno 1.44 has made strides in supporting the execution of Next.js applications, although some challenges remain. The usage of the setting DENO_FUTURE=1
is currently required, but Deno Land anticipates resolving these issues promptly.
Following the previous Deno 1.43 release, which introduced an improved language server on May 1, Deno 1.44 also adds several other new features and enhancements. These include:
- Integration with gRPC services, allowing connections to platforms like Google Cloud Platform via the @grpc/grpc-js client library.
- Advancements toward stabilizing the Deno standard library.
- Introduction of a stable DenoexitCode API that manages the exit codes of programs.
- Continued performance and stability improvements to the language server, such as caching semantic tokens for open documents and rectifying JSDoc display issues.
- Updates to the FFI (Foreign Function Interface) API which now treats u64 and i64 types from native code as bigint, aligning with JavaScript’s approach to handling large integers for improved performance and consistency.