---
title: "The official npm site gets a code explorer"
publication: "Node Weekly"
issue: 466
published_at: "2022-12-08"
canonical_url: "https://nodeweekly.com/issues/466"
---

Plus some fun CLI text effects, and is Prisma worth it? |      

Together with [![AppSignal logo\](https://res.cloudinary.com/cpress/image/upload/c_fill,g_auto,e_trim,w_700,h_120/e_make_transparent/co_white,e_outline:7/lme8p344dw1aodshz9px.png)](https://blog.appsignal.com/2022/11/24/appsignal-3-0-for-nodejs-introduces-opentelemetry-support.html?utm_source=node-weekly-sponsored&utm_medium=email&utm_campaign=2022-11-24)   

#​466 — December 8, 2022 

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

![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/jbcdcc5qnahjssnmyhar.jpg)](https://github.blog/2022-12-06-new-npm-features-for-secure-publishing-and-safe-consumption/)  

[New npm Features for Secure Publishing and Safe Consumption](https://github.blog/2022-12-06-new-npm-features-for-secure-publishing-and-safe-consumption/) — GitHub continues its work in making the npm ecosystem more secure. Two new things this time: [granular access tokens](https://docs.npmjs.com/about-access-tokens#about-granular-access-tokens) to help package owners control access to publishing workflows, and a new [code explorer](https://www.npmjs.com/package/npm?activeTab=explore) to look directly at the contents of packages from the official npm site. 

Monish Mohan (GitHub)   

💡 I think the code explorer will be pretty handy, if only to take [a quick look inside weirdly named junk packages](https://www.npmjs.com/package/aaaaaaaaaaaa?activeTab=explore) to see what's going on! 😆  [![\](https://copm.s3.amazonaws.com/a488ebe8.png)](https://blog.appsignal.com/2022/11/24/appsignal-3-0-for-nodejs-introduces-opentelemetry-support.html?utm_source=node-weekly-sponsored&utm_medium=email&utm_campaign=2022-11-24) 

[AppSignal for Node.js 3.0 Introduces OpenTelemetry Support](https://blog.appsignal.com/2022/11/24/appsignal-3-0-for-nodejs-introduces-opentelemetry-support.html?utm_source=node-weekly-sponsored&utm_medium=email&utm_campaign=2022-11-24) — AppSignal now supports OpenTelemetry, the open-source standard for telemetry data collection. We’ve also added support for 6 new integrations in this release. 

AppSignal sponsor   

[Is Prisma Better Than Your 'Traditional' ORM?](https://practica.dev/blog/is-prisma-better-than-your-traditional-orm/) — [Prisma](https://www.prisma.io/) has become a _very_ popular Node project in recent years and boasts being a ‘next generation’ ORM. The creator of the [Practica](https://github.com/practicajs/practica) Node starter app considers here if Prisma makes sense as a universal ‘go to’ ORM to use for most projects.. in short, no, but it’s a solid choice depending on the use case. 

Yoni Goldberg   

✍️ It must be the week to think about Prisma, because Jack Pordi has also written up [his notes on using Prisma in production.](https://jackpordi.com/posts/prisma-in-production) He takes a balanced view seeing it as a solution with both pros and cons.  

▶[How to Setup Node.js with TypeScript in 2023](https://www.youtube.com/watch?v=H91aqUHn8sE) — A handy, well produced primer on the bare basics of getting up and running with TypeScript and Node in just four minutes. 

Beyond Fireship   

▶[Build an AI Image Generator with OpenAI and Node.js](https://www.youtube.com/watch?v=fU4o_BKaUZE) — OpenAI’s [DALLE 2](https://openai.com/dall-e-2/) AI image generator is available to use over an API, so it can be integrated into a Node app, as shown here. _(35 minutes.)_ 

Traversy Media   

[40+ Node.js Integration Test Best Practices](https://github.com/testjavascript/nodejs-integration-tests-best-practices) — Component/integration tests are an increasingly popular testing technique for backends. This repository digs into a variety of quick-fire patterns and practices for creating good component tests. There’s also a demo app and examples using Jest, Mocha, Express, Fastify and Nest.js. 

Yoni Goldberg, Michael Solomon, and Daniel Gluskin   

[`worker_threads`: Multi-Threading Solution for Your Node.js Application](https://snyk.io/blog/node-js-multithreading-with-worker-threads/?utm_campaign=AOM-2022&utm_medium=Paid-Email&utm_source=Cooperpress-Node-Weekly&utm_content=node-js-multithreading-with-worker-threads) 

Snyk sponsor   

[When to Use gRPC vs GraphQL](https://stackoverflow.blog/2022/11/28/when-to-use-grpc-vs-graphql/) — A fair comparison of two popular API protocols to see where each works best. 

Loren Sands-Ramshaw    

🛠 Code & Tools 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60,q_auto/gfkecozki94chshmr9li.jpg)](https://github.com/hmenyus/node-calls-python)  

[node-calls-python: Call Python From Node (Without Spawning Processes)](https://github.com/hmenyus/node-calls-python) — One use case the author mentions is plugging into Python’s rich ecosystem of machine learning tools. 

Menyhért Hegedűs   

[Pechkin: A New File Upload Handling Library](https://www.npmjs.com/package/pechkin) — New is great, but the main draw here is speed, asynchronicity, and the fact no temporary files are created. It’s built on top of [busboy](https://www.npmjs.com/package/busboy) and can replace something like [Multer.](https://github.com/expressjs/multer) 

Rafael Sofi-zada   

[The Developer’s Guide To Building Notification Systems](https://www.courier.com/download-developer-guide/?utm_campaign=cooper-press&utm_source=email&utm_medium=node-weekly-12-8&utm_content=developer-guide) — So your CTO has just handed you a project to revamp your product’s notification system. What are the best practices? 

Courier.com sponsor   

[pdfreader 3.0: Read Text and Tables from PDF Files](https://github.com/adrienjoly/npm-pdfreader) — Parse out text and tables from PDF files. Supports tabular data with automatic column detection and rule-based parsing. 

Adrien Joly   

[Snapstub: Copy Remote API Endpoints for Local Use](https://github.com/ruyadorno/snapstub) — A tool to take snapshots of a given API endpoint and store the response locally for serving as a mock server for development / testing, etc. 

Ruy Adorno   

🤖 [chatgpt-api: A Node Client for ChatGPT](https://github.com/transitive-bullshit/chatgpt-api) — Given it uses the unofficial API for OpenAI’s new GPT-3 based chat bot service, I’d be surprised if this stays working, but apparently folks are using it for [numerous projects already,](https://github.com/transitive-bullshit/chatgpt-api#projects) so.. 🤷‍♂️ 

Travis Fischer   

[Odiff: A Fast Pixel-by-Pixel Image Diffing Tool and Library](https://github.com/dmtrKovalenko/odiff) — Claims to provide results in milliseconds. The API, which you can use via CLI or Node, supports PNG, JPG, etc. including cross-file comparisons. 

Dmitriy Kovalenko   

- [Unfurl 6.1](https://github.com/jacktuck/unfurl)
 ↳ Metadata scraper supporting oEmbed, Open Graph, etc.
- [better-sqlite3 8.0.1](https://github.com/WiseLibs/better-sqlite3)
 ↳ Fast and simple SQLite3 library.
- [node-geo-tz 7.0.6](https://github.com/evansiroky/node-geo-tz)
 ↳ Get the timezone based on lat/long coordinates.
- [Mercurius 11.4](https://github.com/mercurius-js/mercurius)
 ↳ Implement GraphQL servers upon Fastify.
- [Light My Request 5.8](https://github.com/fastify/light-my-request)
 ↳ Fake HTTP injection library.    

💻 Jobs  

[Find Tech Jobs with Hired](https://hired.com/join/?utm_source=newsletter&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-all%29%28cooper-nodeweekly%29&utm_content=find-your-next-job) — Create a profile on Hired to connect with hiring managers at growing startups and Fortune 500 companies. It's free for job-seekers. 
Hired   

[Senior Frontend Engineer (EU Remote or Relocate to Berlin)](https://feather-insurance.com/careers/senior-frontend-engineer?channel_id=921909) — We’ve built a product thousands of people love (see Trustpilot if you don’t believe us). We need your help with **React & TypeScript**. 
Feather      

🔠 Fun Text Effects Corner 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/urv2rc0q6o3rgcwy3dl1.jpg)](https://github.com/bokub/gradient-string)  

[gradient-string: Beautiful Color Gradients in Terminal Output](https://github.com/bokub/gradient-string) — What’s the next step up from colorizing the text output of your Node-powered CLI app? _Gradients._ 

Boris K   

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/deljmu2wmtks15fwp6do.jpg)](https://github.com/dominikwilkowski/cfonts)  

[cfonts: Striking Text Banners for the Terminal](https://github.com/dominikwilkowski/cfonts) — Staying on the topic of striking text effects for your CLI-based Node apps.. 

Dominik Wilkowski    

**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|*)
