---
title: "Importing Node modules from BitTorrent?"
publication: "Node Weekly"
issue: 599
published_at: "2025-11-04"
canonical_url: "https://nodeweekly.com/issues/599"
---

Plus an official way to migrate code between Node versions. |        

#​599 — November 4, 2025 

[Read on the Web](https://nodeweekly.com/issues/599)  

Together with [![Frontend Masters logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,w_300,h_70/e_make_transparent/co_white,e_outline:5/nk0tfdvalivacz8rw7rt.png)](https://frontendmasters.com/courses/typescript-first-steps/?utm_source=email&utm_medium=nodeweekly&utm_content=typescript)  

![Node.js Weekly](https://res.cloudinary.com/cpress/image/upload/v1653576619/lgfqinzbdqttwmhvljxb.png) 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/hefurnlvgkqgwjjqffhu.jpg)](https://nodejs.org/en/blog/migrations/v22-to-v24)  

[Node v22 to v24 Migration Guide](https://nodejs.org/en/blog/migrations/v22-to-v24) — Now that v24 is the new active LTS release, you might have code running on v22 you need to upgrade. The Node team has put together this helpful guide to the changes you’ll need to negotiate. There are similar guides for [v20 to v22](https://nodejs.org/en/blog/migrations/v20-to-v22), [v14 to 16](https://nodejs.org/en/blog/migrations/v14-to-v16), and [v12 to v14](https://nodejs.org/en/blog/migrations/v12-to-v14). 

Node.js Core Team   

💡 There are also [official userland migration codemods](https://nodejs.org/en/learn/getting-started/userland-migrations) to assist with upgrades. For example, there's one to change `import .. assert` to `import .. with` in a [v20 to v22 migration](https://nodejs.org/en/blog/migrations/v20-to-v22), say.  [![\](https://res.cloudinary.com/cpress/image/upload/c_limit,w_480,h_480,q_auto/copm/cd1908c9.png)](https://frontendmasters.com/courses/typescript-first-steps/?utm_source=email&utm_medium=nodeweekly&utm_content=typescript) 

[TypeScript: From First Steps to Professional](https://frontendmasters.com/courses/typescript-first-steps/?utm_source=email&utm_medium=nodeweekly&utm_content=typescript) — Learn TypeScript step-by-step with Anjana Vakil, and gain confidence writing code you can trust! Add strong types, reuse interfaces, and apply type safety throughout your app with hands-on projects converting JavaScript to TypeScript. 

Frontend Masters sponsor   

[Importing Node Modules from BitTorrent](https://evanhahn.com/node-torrent-import/) — There's little practical motivation for this in production, but it's a fascinating experiment that shows off what Node’s [customization hooks](https://nodejs.org/docs/latest-v21.x/api/module.html#customization-hooks) can do for overriding imports. Worth a read as inspiration fuel. 

Evan Hahn   

[Node.js 24 Becomes LTS: What You Need to Know](https://nodesource.com/blog/nodejs-24-becomes-lts) — [Node v24.11.0 (LTS)](https://nodejs.org/en/blog/release/v24.11.0) has arrived and marks Node 24’s transition to becoming the active LTS release. There are no changes from the prior v24 release, but Lizz looks at how Node 24 differs from 22 if you’re upgrading. 

Lizz Parody   

**IN BRIEF:** 

- [Node.js v25.1.0 (Current)](https://nodejs.org/en/blog/release/v25.1.0) has been released.
- A brief reminder that in the next week or two, [npm will revoke all classic npm tokens](https://github.blog/changelog/2025-09-29-strengthening-npm-security-important-changes-to-authentication-and-token-management/) and fail to generate new ones.
- If Vercel support was preventing you from giving [Bun](https://bun.sh/) a try, [Vercel now supports the Bun runtime.](https://bun.com/blog/vercel-adds-native-bun-support) Or, more on the Node side of things, [they now support Fastify apps with zero-configuration.](https://vercel.com/changelog/zero-configuration-support-for-fastify)   

[Running Node.js in a Hugging Face Space](https://blog.tomayac.com/2025/11/03/running-nodejs-in-a-hugging-face-space/) — If you, like Thomas, were saddened by the [closure of Glitch](https://blog.glitch.com/post/changes-are-coming-to-glitch) — here’s a brief look at using [Hugging Face Spaces](https://huggingface.co/spaces) (most commonly associated with ML projects) as an alternative for hosting small server-based Node apps. 

Thomas Steiner   

[Turn Office Files into PDFs Automatically](https://developer-api.foxit.com/developer-blogs/use-cases-workflow-examples/automated-document-pipelines/convert-office-docs-to-pdfs-automatically-with-foxit-pdf-services-api/?utm_source=cooperpress&utm_medium=Display&utm_campaign=11-04-25) — Step-by-step Node/Python workflow: trigger on Dropbox uploads and convert docs to PDF with Foxit PDF Services API. 

Foxit Software sponsor   

📄 [Why We Migrated from Python to Node.js](https://blog.yakkomajuri.com/blog/python-to-node) – They didn’t like Python’s async story, but do now love [MikroORM.](https://mikro-orm.io/) Yakko Majuri 

📄 [Why `NaN !== NaN` (and the IEEE 754 Story Behind It)](https://pzarycki.com/en/posts/js-nan/) – The number that's also not a number. Piotr Zarycki 

📄 [Using `URLPattern` as a Framework-Free Router in Node 24](https://jsdev.space/urlpattern-router-node24/) JSDev    

🛠 Code & Tools  

🖼️ [image-dimensions: Get the Dimensions of an Image](https://github.com/sindresorhus/image-dimensions) — A quick way to get the pixel width and height of JPEG, PNG/APNG, GIF, WebP, AVIF and HEIF images in _any_ modern JavaScript environment. 

Sindre Sorhus   

💡 If you need to support for even more formats, [image-size](https://github.com/image-size/image-size) is another Node-only option.  

[type-flag: A Typed Command-Line Arguments Parser](https://github.com/privatenumber/type-flag) — A way to define the types for your command line arguments and enforce them. 

Hiroki Osame   

[Electron 39.0: The Cross-Platform Desktop App Framework](https://www.electronjs.org/blog/electron-39-0) — We briefly mentioned this last week but it now has a proper blog post. Electron bumps up to Chromium 142, V8 14.2, and [Node 22.20.](https://nodejs.org/en/blog/release/v22.20.0) 

Charles Kerr   

[on-change 6.0: Watch an Object or Array for Changes](https://github.com/sindresorhus/on-change) — Uses proxies and works recursively. 

Sindre Sorhus      

📰 Classifieds   

🐱 **[ConfigCat Feature Flag Service](https://configcat.com/promotions/node-weekly/?utm_source=cooperpress_newsletter&utm_medium=sponsor&utm_campaign=cooperpress_node_202510)** lets you release and roll back features safely without code changes. Set it up in minutes! **[Save 25% now!](https://configcat.com/promotions/node-weekly/?utm_source=cooperpress_newsletter&utm_medium=sponsor&utm_campaign=cooperpress_node_202510)**     

[sitemap.js 9.0: Sitemap Generation Library and CLI Tool](https://github.com/ekalinin/sitemap.js) — XML ‘sitemap’ files help search spiders (e.g. Googlebot) crawl your site and you can offload the boring task of generating them to this library/CLI. Now an ESM-first library. 

Eugene Kalinin   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/aymjfmcwiameir81gr66.jpg)](https://github.com/sverweij/dependency-cruiser)  

- [Dependency Cruiser 17.2](https://github.com/sverweij/dependency-cruiser) – Tool to visualize dependencies _(shown above)_.
- [pnpm 10.20](https://pnpm.io/blog/releases/10.20) – Fast, space efficient package manager. You can now run `pnpm help --all` to see help for all of its commands.
- [express-useragent 2.0](https://github.com/biggora/express-useragent) – Fast user-agent parser as Express middleware.
- [jsdom 27.1](https://github.com/jsdom/jsdom) – Pure JS implementation of WHATWG DOM and HTML standards.
- [Immer 10.2](https://immerjs.github.io/immer/) – Popular library for working with immutable state.
- [express-rate-limit 8.2](https://github.com/express-rate-limit/express-rate-limit) – Basic rate limiting for Express apps.
- [npq 3.14](https://github.com/lirantal/npq) – Audit npm packages _before_ you install them.
- [rimraf 6.1](https://github.com/isaacs/rimraf) – Like `rm -rf` but from Node.
- [Ink 6.4](https://github.com/vadimdemedes/ink) – Use React to build CLI apps.
- [ESLint v9.39.1](https://eslint.org/blog/2025/11/eslint-v9.39.1-released/)    

**Got a link for us?** Reply and tell us. We can't include everything but we'll look at anything you send. _Thanks!_ 

--- 

**Sponsorship:** Email `[kristina@cooperpress.com](mailto:kristina@cooperpress.com)` for details. 

--- 

Published by Cooper Press Ltd.
Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom 

[Cancel your subscription](https://nodeweekly.com/leave/*|UID|*) or [change your address](https://nodeweekly.com/edit_subscription/*|UID|*).
