Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News Deno 1.37: Significant Developer-Focused Enhancements

Deno 1.37: Significant Developer-Focused Enhancements

Deno 1.37 introduces enhancements to the developer experience, particularly through its seamless integration with Jupyter notebooks. This integration enables developers to use JavaScript and TypeScript within Jupyter notebooks for tasks such as data analysis, machine learning, and interactive report creation.

Alongside this major addition, Deno 1.37 brings improvements to Visual Studio Code extension, testing capabilities, Node.js compatibility, and other enhancements.

The integration works by providing a native environment within Jupyter notebooks for executing JavaScript and TypeScript code, with which developers can utilize Deno's capabilities to perform data analysis, construct machine learning models, and generate interactive reports. The integration not only simplifies the development process, but also significantly enhances its scope.

Configuring JavaScript environments for analysis can be intricate and time-consuming. Deno simplifies this process by facilitating ESM (ECMAScript Modules) imports via URLs, offering a straightforward solution for managing dependencies. This not only reduces the complexity of setups, but also enhances the ease of sharing notebooks across different environments.

Within these notebooks, developers gain access to all of Deno's APIs, along with the ability to import NPM modules. This makes it possible to create dynamic visualizations using libraries like D3 directly within the notebook, enhancing the data-analysis process. Additionally, developers can connect to hosted Deno KV storage to pull live data into their notebooks, enabling real-time data analysis.

Practically, the setup process involves installing Jupyter alongside Deno, assuming Python and pip are already on the system. Once Jupyter is installed, initiating the integration is as simple as running the command 'deno jupyter --unstable'. This sets the stage for developers to create interactive sessions in Jupyter Lab or any IDE supporting Jupyter notebooks.

Deno 1.37 introduces several enhancements to the development experience. The VSCode extension for Deno has been updated for improved efficiency and user-friendliness, featuring enhanced 'deno.json' detection, better support for file renaming, NPM specifier completions, and new configuration options for streamlined development.

Furthermore, the testing suite has been improved for simplicity and speed, ensuring a more user-friendly and efficient testing process with faster feedback loops for developers. Deno also extends its compatibility to a broader range of NPM modules, such as 'npm:mssql,' 'npm:mineflayer,' and 'npm:web-push,' simplifying the use of various modules.

Additionally, Deno 1.37 introduces several enhancements. This includes the new import attributes syntax, facilitating graceful shutdown using 'Deno.serve(),' and performance optimizations for an overall improved development experience. Developers can now easily include dependencies, streamlining dependency management.

This update also brings support for import attributes, providing developers with greater flexibility when working with JSON files. Performance optimizations extend to various Web APIs and HTTP-related APIs, resulting in enhanced application performance. The Lockfile format advances to version 3, including additional information on HTTP(s) request redirects, enhancing the reliability of cached dependencies for a more efficient development process.

About the Author

Rate this Article