TGViewer
melikhov.dev melikhov.dev @melikhov_dev · 4.74K subscribers
Post #303 9.13K
Никита Прокопов негодует (как обычно). Обновил npm на минор и вылез ворнинг


(node:45421) ExperimentalWarning: CommonJS module /opt/homebrew/lib/node_modules/npm/node_modules/debug/src/node.js is loading ES Module /opt/homebrew/lib/node_modules/npm/node_modules/supports-color/index.js using require().
Support for loading ES Module in require() is an experimental feature and might change at any time
(Use node --trace-warnings ... to show where the warning was created)


Я мимо пройти не мог и решил разобраться. Первопричина понятна — node 23 включил экспериментальную поддержку синхронного require() для ESM-модулей. Зачем нужен ворнинг? Потому что поддержка неполноценная и если прилетит ESM c top level await то всё полетит к чертям (и это очень опасный момент с которым пока непонятно как жить).

Ладно, ясно-понятно, экспериментальная версия node.js споткнулась. Завтра починят. Вроде бы ничего такого. Получается, Никита не прав, у нас всё относительно хорошо? Ну, не совсем.

Интересен другой момент — почему это случилось на миноре npm и как оно работает в обычной node без реквайра? А разгадка простая:

Во-первых supports-color апнули на мажор. Это модуль от Синдре. Ну вы понимаете. Синдре опять переписал всё на pure ESM

Второй момент, как же оно работает сейчас? А никак не работает. Там внутри в debug/src/node.js — try catch


try {
require('supports-color')
} catch (error) {
// Swallow - we only care if `supports-color` is available; it doesn't have to be.
}


И вот это уже печально. Апнули на сломанную версию, ошибок нет (они заглушены).

https://github.com/npm/cli/issues/7857
Telegram Стой под стрелой Вчера случился передоз фронтендом, который я не понимаю, если честно, на каком-то фундаментальном уровне. Во-первых, я обновил npm на какую-то минорную версию, и теперь при старте приложения вижу это: (node:45421) ExperimentalWarning: CommonJS module …
  • 🔥 32
  • 👍 7
  • ❤ 1
  • 🤮 1
  • 💯 1
More from @melikhov_dev
  1. Sep 13, 2026Какой он — личный харнес? Вот мы и пришли в точку, когда уже бизнес не устраивает медленна…
  2. Aug 30, 2026Разобрал своего питонячего новостного бота и собрал нового, уже на Гермесе. Ну как собрал…
  3. Aug 24, 2026Вы могли наверное заметить что как-то мало меня стало в последнее время. Не видно на конфе…
  4. Aug 6, 2026Как же хорошо перечитывается сейчас «Трилогия Муравейника» Гибсона (она же Sprawl trilogy)…
  5. Aug 1, 2026github показал очередную полезную штуку — Stacked pull requests. Даже жалко, что как обычн…
  6. Jul 21, 2026Жил счастливо (почти) с revdiff, но тут мне показали herdr.dev. Это такой tmux на стероида…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →