Telegram Group Search
🫡 qnm: A CLI Tool to Look Into node_modules

If you’ve ever been overwhelmed by what’s in node_modules, this tool lets you dig around with some guidance as to what is what. You can use fuzzy search to find specific things as well as see which modules are using the most space (you can try it right now with `npx qnm doctor`).

Ran Yitzhaki
Please open Telegram to view this post
VIEW IN TELEGRAM
CHALLENGE

const numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];

const result = numbers
.filter(num => num % 2 === 0)
.map(num => num * 2)
.reduce((acc, num, index, array) => {
if (index === array.length - 1) {
return (acc + num) / array.length;
}
return acc + num;
}, 0);

console.log(result);
What is the output?
Anonymous Quiz
42%
12
37%
10
13%
8
8%
6
🍊 Google Gen AI SDK for TypeScript and JavaScript v1

Why let Python developers have all the fun? Now you can harness the full power of Google’s Gemini API (and Vertex platform) from Node too. v1.0 landed a few days ago, but today we also get v1.1 which includes CommonJS support. The Gemini docs and examples now use it too (if you select JavaScript).

Google
Please open Telegram to view this post
VIEW IN TELEGRAM
CHALLENGE

const user = {
details: {
name: 'Alex',
contact: null,
preferences: {
theme: 'dark'
}
},
getInfo() {
return this?.details?.contact?.email ||
this?.details?.preferences?.theme ||
this?.details?.name ||
'Unknown';
}
};

console.log(user.getInfo());
What is the output?
Anonymous Quiz
50%
dark
24%
Unknown
17%
Alex
8%
null
🌲 Monorepo: From Hate to Love

A monorepo is like a BMW: it requires constant maintenance and attention. You can’t just set it up once and expect it to work smoothly for the next five years.

nairihar
Please open Telegram to view this post
VIEW IN TELEGRAM
CHALLENGE

function createCounter() {
let count = 0;
return {
increment: () => ++count,
getCount: () => count
};
}

function compose(...fns) {
return (x) => fns.reduceRight((acc, fn) => fn(acc), x);
}

const counter = createCounter();
const double = x => x * 2;
const addOne = x => x + 1;

const incrementAndProcess = compose(double, addOne, counter.increment);

counter.increment();
const result = incrementAndProcess();
console.log(result);
What is the output?
Anonymous Quiz
32%
6
32%
5
27%
3
9%
4
TypeScript 5.5 introduces support for new ECMAScript methods on the Set object: union, intersection, difference, and symmetricDifference. These methods allow for more intuitive and readable operations on sets.
CHALLENGE

const products = [
{ id: 1, name: 'Laptop', price: 1200, category: 'Electronics' },
{ id: 2, name: 'Headphones', price: 100, category: 'Electronics' },
{ id: 3, name: 'Book', price: 15, category: 'Books' },
{ id: 4, name: 'Shirt', price: 25, category: 'Clothing' },
{ id: 5, name: 'Coffee Mug', price: 10, category: 'Kitchen' }
];

const result = products
.filter(p => p.price > 20)
.map(p => ({ name: p.name, value: p.price * 0.9 }))
.reduce((acc, item) => {
acc.names.push(item.name);
acc.total += item.value;
return acc;
}, { names: [], total: 0 });

console.log(result);
CHALLENGE

const person = {
name: 'Alice',
greet() {
return `Hello, I'm ${this.name}`;
},
farewell: () => `Goodbye from ${this.name}`
};

const greetFn = person.greet;
const farewellFn = person.farewell;

console.log(person.greet());
console.log(greetFn());
console.log(farewellFn());
🌲 PSA: Beware of End-of-Life Node.js Versions

Matteo Collina notes the Node.js ecosystem is “at a critical juncture”, with v18 and earlier now ‘End-of-Life’. He breaks down what that really means for users of legacy versions, and why you should skip Active LTS v20 and leap straight to v22 for maximum future-proofing. If you have to stay on older versions, though, Matteo shares an option to consider.

Matteo Collina
Please open Telegram to view this post
VIEW IN TELEGRAM
CHALLENGE

function task1() {
console.log('A');
setTimeout(() => console.log('B'), 0);
Promise.resolve().then(() => console.log('C'));
Promise.resolve().then(() => setTimeout(() => console.log('D'), 0));
Promise.resolve().then(() => console.log('E'));
setTimeout(() => console.log('F'), 0);
console.log('G');
}

task1();
// What is the order of the console output?
😆
Please open Telegram to view this post
VIEW IN TELEGRAM
CHALLENGE

function* fibonacci() {
let [a, b] = [0, 1];
while (true) {
yield a;
[a, b] = [b, a + b];
}
}

const fib = fibonacci();

const result = [];
for (let i = 0; i < 4; i++) {
result.push(fib.next().value);
}

const sum = result.reduce((total, num) => total + num, 0);
console.log(sum);
What is the output?
Anonymous Quiz
29%
3
24%
2
33%
4
14%
6
2025/06/14 04:49:19
Back to Top
HTML Embed Code: