Таймураз
https://github.com/sindresorhus/require-uncached
И что мешает написать функцию с тем же функционалом?
Vlad
ничто, если это твой модуль
Vlad
и невозможно если не твой
Таймураз
и невозможно если не твой
Аргументный аргумент Про использование чужих творений не подумал
Vladimir
Единственный нормальный способ перезагрузить модуль - это перезапустить процесс
Таймураз
Единственный нормальный способ перезагрузить модуль - это перезапустить процесс
Иногда в рамках одного процесса нужно задействовать несколько экземпляров модуля У меня таких кейсов не возникало. passport, вроде как, создает один инстанс, который шарится между всеми require
Vladimir
Это проблема конкретного модуля
Evgeny
мне в тестах приходилось сбрасывать кеш
Таймураз
Это проблема конкретного модуля
Не написанного тобой. Так что используй хаки, либо пиши issue
Paruyr
нет, при разработке такое не нужно
нужно. я так сделал подобие Hot-module replacement на сервере )
Andrew
Подмена альтруизма завышенной самооценкой - это манипуляция и одна из топовых тем троллинга. Альтруизм реально двигает сообщества вперёд.
а если я не понимаю как монетизировать сервис и поэтому раздаю его всем желающим совершенно безвозмездно, и даже рекламу на нем не верчу - это считается альтруизмом? :)
Andrew
Говно, оно обычно внутри, а не снаружи.
Это временно. всякое говно стремится изнутри наружу, желательно еще на вентилятор. Очень желательно при этом, чтобы он еще пооборотистее был и был включен.
@aleksxor
в es5 нотации это было как-то очевиднее. module.exports в общем случае было объектом создавшемся при первом проходе. и было понятно что если реквайришь этот объект то реквайришь именно ссылку
Vladimir
Да можно скорее всего
Vladimir
Но все равно не нужно
Vladimir
хотя честно говоря не вполне понимаю, как может работать импорт commonjs из es6
Vlad
они ведь обсуждали в сентябре что будет работать норм
Vlad
@ChALkeR @vkurchatkin я тоже не до конца понимаю, но без этого esm/cjs интероп ломается
Vladimir
Еще мне интересно как будет __dirname и __filename
Ale
они ведь обсуждали в сентябре что будет работать норм
там есть презентация про разницу лайфциклов, разница понятна, но как это тогда должно работать непонятно(мне)
Roman
Поясните за преимущества коа перед эксперссом?
Vladimir
чет в итоге не понятно, на чем то остановились или нет
Vladimir
__dirname и __filename объективно полезные вещи
Vladimir
но можно делать import { __dirname, __filename } from 'node' или что то такое
Vladimir
ну не сказал бы - наоборот
Vladimir
это сейчас хак
Anonymous
+
Anonymous
но вообще энв и в глобал снова себе может засунуть чот
Ale
и сейчас тоже хак)
Vladimir
ну так они и не глобалы
Vladimir
в том и суть
Vladimir
Попробовать что ли этот пропозал заимплементить
Anonymous
вообще там у tc39 идея когда-нибудь сломать совместимость и делать такое: import { cos } from 'Math';
Anonymous
и стдлиб в модули дефолтные поместить
Vladimir
надо заранее зарерзервировать неймспейс под стандартные модули
Ale
и норм
Anonymous
а потом окажется, что в ноде занято чота
Anonymous
точнее не в ноде, а в npm
Anonymous
что еще хуже
Anonymous
crypto в ноде и браузере вроде не одинаковые
Anonymous
уже
Pavel
да это ж нпм, захотят - подвинут, если на уровне стандарта будет
Anonymous
тогда не будет смысла использовать js как динамический язык в принципе
Anonymous
это какой-то c++ выходит
Anonymous
с несовместимыми компиляторами
Vlad
вот url parser синхронизировали между нодой и браузером уже хорошо
Anonymous
а уже выпустили?
Anonymous
это ж брейкинг ченж
Anonymous
в 8 будет видимо
Anonymous
а, да
Anonymous
забыл что это св-во
Ohar
#вопрос Господа, подскажите как быть с такой неприятностью? // foo.js import Lib from 'Lib/browser' function foo () { //кодище } export default foo // foo.test.js import foo from './foo' describe( 'foo', () => { // тесты валятся с ошибкой «ReferenceError: window is not defined» } )
Ohar
Надо как-то подменять библиотеку версией для NodeJS на время тестирования
Vlad
Если да, то переписать
Ohar
Мой
Ohar
Как именно?
Ohar
Проверять окружение?
Vlad
Прокидывать window аргументом
Ale
ну а лучше то, что от window надо
Ohar
эээ куда? В библиотеку?
Ale
а если она от dom зависит, то наверное jsdom
Vlad
эээ куда? В библиотеку?
Да, что у тебя из windows используется?
Ohar
Да, что у тебя из windows используется?
У меня в коде ничего. У меня подключена библиотека Lib и у неё есть вариант сборки для браузера и вариант для ноды. Тестируемый модуль написан для работы в браузере и подключает браузерную версию, которая падает при попытке тестировать код нодой.
Ohar
Что логично
Ohar
Мне надо на время теста подменять зависимость моего модуля
Ohar
А как?
Vlad
Я не знаю
Vlad
Ты же говоришь что есть две версии
Ohar
Ну да
Ohar
Мне надо при тесте подменять их
Ohar
Каким-то образом