Ответы пользователя по тегу npm
  • Ошибка с Babel при сборке Webpack?

    Aetae
    @Aetae Куратор тега JavaScript
    Тлен
    Все пакеты связанные с babel обновил до последних версий

    А не надо было. Работает - не трогай.:)

    babel-core - старая версия семилетней давности, новая живёт тут: @babel/core.

    Когда ты обновил всё до последней - что-то осталось старое, что-то работает со свежим, и так просто хрен разберёшь. Верни как было и живи спокойно.
    Или же найди свежий нулевой пресет и перекинь проект на него, если так сильно хочется обновиться. Вручную же версиями библиотек жонглировать можно долго.
    Ответ написан
    3 комментария
  • Как установить cpu-features?

    Aetae
    @Aetae
    Тлен
    Проблема со сбором бинарников(не-js) под твою ноду+систему. Есть два решения: простое и сложное.
    Простое: откатывайся на предыдущую lts версию ноды, пока оно не установится(под lts версии и типичные системы обычно есть готовые сборки - до той версии до которой у пакета была поддержка).
    Сложный: установить глобально windows-build-tools и надеяться что сборка сработает. Если нет - долго и мучительно гуглить темы по сборке под винду.
    ...upd: посмотрел сейчас - wbt deprecated, теперь считается, что достаточно тулз ставится с самой нодой, т.е. тебе надо переустановить node в процессе проставив галочку "Automatically install the necessary tools". А дальше всё также молиться что оно соберётся.
    Ответ написан
    Комментировать
  • Как исправить конфликт слияния?

    Aetae
    @Aetae
    Тлен
    Ну английским же языком написано, что пакет охренел и зачем-то хочет версию ноды >=20(не 18.20, а 20). Либо обновляйте ноду в пайплане, с риском что отвалится куча иного, либо делайте даунгрейд vue3-toastify, либо форк vue3-toastify, либо пропишите --ignore-engines (или типо того) параметр к install(с риском багов).

    Конкретно для работы vue3-toastify 20ая нода нафиг не нужна, просто автор хипстер, использующий pnpm последних версий.
    Ответ написан
  • Как прочитать "будущий" файл из пакета npm?

    Aetae
    @Aetae
    Тлен
    Получить корень приложения можно простым трюком:
    // если esm
    //const _dirname = path.dirname(fileURLToPath(import.meta.url)); 
    
    // просто берём весь путь, и отрезаем его перед первым вхождением node_modules
    const appRoot = path.resolve(__dirname).split(/[/\\]node_modules/, 1)[0];
    
    // если esm
    // import(appRoot + "/dbconfig.js").then(...);
    require(appRoot + "/dbconfig.js");

    Я поменял ts на js, т.к. конфиг файл не должен быть ts, если ты делаешь полноценный npm пакет. Потому что полноценный npm-пакет это собранный js, который из ts только декларации оставляет и не умеет импортировать ts.
    Если пакет у тебя исключительно под себя, то он может быть и тупо наюбором ts файлов, которые ты будешь у себя подключать и собирать в самом приложении. Тогда импорт ts возможен, но только для тебя, т.к. версий и настроек ts 100500 и практически гарантия, что у кого-то другого оно тупо не заведётся.

    Там ещё очень много нюансов будет завязано на полноценно понимание как работает сборщики, что такое ts, и как будет работать конечный код. Если у вас его нет, то будет больно.
    Ответ написан
    Комментировать
  • Каким образом npm install скачивает пакеты?

    Aetae
    @Aetae
    Тлен
    По умолчанию всё качается с npmjs и больше ни откуда.
    Однако в папке с проектом может быть файлик npmrc или yarnrc, который собственно конфигурирует работу пакетного менеджера и там может быть указан твой частный реп.

    Ну и само собой у мебя может быть в рамках системы изменён реп по умолчанию, командой типа: npm set registry ....
    Ответ написан
  • Почему на разных версиях ноды по разному устанавливаются зависимости?

    Aetae
    @Aetae
    Тлен
    Скорее всего дело в либах которые требуют бинарников, а не только чистого js: такие либы сильно зависят как от версии ноды так и от окружения, и имеют готовые бинарники под какие-то популярные(или старые) версии. Если готовых бинарников под версию ноды\окружение нет - он будет пытаться оные собрать, но для этого нужно много всякого мусора и подготовки, потому оно скорее крашнется чем соберётся.)
    Ответ написан
    Комментировать
  • Как правльно использовать TS в монорепе?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    Все интерфейсы что должны быть публичными - должны быть экспортированы в корне @company/core, точно также как и все модули.
    Ответ написан
    1 комментарий
  • Ошибка при создании приложения React?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    Подозреваю # в пути лишний.
    Ответ написан
    Комментировать
  • Как обновить зависимость у зависимости?

    Aetae
    @Aetae
    Тлен
    Ты можешь воспользоваться yarn resolutions для перезаписи зависимостей. Однако следует помнить, что разные мажорные версии (2 и 3 соответственно) могут иметь ломающие различия в api.
    Ответ написан
    Комментировать
  • Как сделать так, чтобы проекты инсталлились не на системном, а на дополнительном диске (npm i)?

    Aetae
    @Aetae
    Тлен
    Нет, ему пофиг на диски, он ставит всё в папку проекта.
    Если ты пройдёшься по вопросам связанным с npm тут(любым) - окажется что проблема в половине случаев - использование "самой новой" версии node js, которую поддерживают чуть менее чем никто.
    Твой случай тот же самый. Всегда ставь lts версию node и всё будет (в основном) работать.
    Ответ написан
  • Yarn audit fix - как обезопасить сайт?

    Aetae
    @Aetae Куратор тега Vue.js
    Тлен
    Не изменил версию, потому что tar "6.0.2", а не tar "^6.0.2".
    А в целом - забейте болт.
    1. Большинство уязвимостей находятся в либах, использующихся вами локально для сборки, а сами себя вы ломать будете.
    2. Vue исполняется на клиенте и всё эти уязвимости в любом случае не имеют никакого значения, даже если окажутся в рабочем коде.

    Внимательней к этому стоит присмотреться только когда начнёте писать сервер на node.js.

    P.S. Если очень хочется - можно воспользоваться yarn resolutions и захардпатчить версии зависимостей. Но никто тогда вам не гарантирует корректную работу.
    Ответ написан
    Комментировать
  • Будет ли прирост в оптимизации, если импортировать модули из подмодулей?

    Aetae
    @Aetae
    Тлен
    При установке зависимостей этот модуль и так окажется в корне. Если у тебя оказывается две версии одного модуля - одна твоя в корне, другая в подпапке другой зависимости - это плохо и бессмысленно раздувает бандл. Старайся обновлять всё зависимости чтоб такого не было. На крайний случай можно использовать yarn resolutions или установить себе ту же версию что и зависимость.
    А по вопросу, если всё таки такое случится - никакой разницы, кроме того что ты это никак не контролируешь.
    Ответ написан
    1 комментарий
  • Почему не устанавливается node_modules при npm i?

    Aetae
    @Aetae
    Тлен
    Ну ошибка жалуется на отсутствие python. Попробуй установить.

    Однако подозреваю дело в версии Node, последняя LTS ток неделю как вышла и пакеты могут парить мозги.
    Ответ написан
    1 комментарий
  • Как исправить ошибки Node.js в React.js?

    Aetae
    @Aetae
    Тлен
    Не ошибки, а предупреждения(warning).
    Эти уязвимости(vulnerabilities) тебя не волнуют, они все в библиотех для сборки твоего реакта. Сам себя ты взламывать не будешь, так что забей.
    Это имеет значение если ты захочешь сделать сервак на node и там решишь использовать эти уязвимые библиотеки.
    Ответ написан
  • Почему не получается загрузить пакет npm?

    Aetae
    @Aetae
    Тлен
    Путь к папке в которой ты это делаешь скорее всего содержит какие-то нехорошие символы.
    Ответ написан
  • Ошибки при установке ( npm install )?

    Aetae
    @Aetae
    Тлен
    Установи пуфон, очевидно же. На большинстве линухов он из коробки, что у тя за дистриб?
    Ну и не-lts ноду юзать не рекомендуется, многие пакеты не успевают подтягиваться.
    Ответ написан
    5 комментариев
  • Npm ругается на browser-sync и gulp-minify-css, в чем причина и как это исправить?

    Aetae
    @Aetae
    Тлен
    В чём причина - написано английским языком вполне доходчиво.
    Т.к. это инструменты используемые в локальной разработке, исправлять ничего не надо - не имеет смысла.
    Ответ написан
  • Как убрать предупреждение TypeScript?

    Aetae
    @Aetae Куратор тега TypeScript
    Тлен
    Хз, что за fastify но если он поддерживает и js и ts - может оставить заботу о типах на того, кто захочет использовать ваш плагин(хоть это и моветон).
    Если он использует только ts, то используя его, вы, очевидно, должны знать ts. В такому случае сделайте именно то, что вам пишет консоль: сделайте соответствующий файл декларации.
    Ответ написан
  • Как заставить библиотеку npm обрабатывать onTouchStart, которое не обрабатывается?

    Aetae
    @Aetae
    Тлен
    Там в правом нижнем углу ссылка на гитхаб. Идёте туда, берёте исходники и переписываете как хотите.
    Ответ написан
  • Как установить зависимости с прошлого проекта в новый package.json?

    Aetae
    @Aetae
    Тлен
    Команды --save нет, есть --save-prod(которая не нужна, т.к. по умолчанию).
    --save-dev - очевидно, устанавливает devDependencies.

    Зависимости для разработки идут в devDependencies, зависимости для самого приложения в dependencies(по умолчанию). Для локальной разработки разницы никакой(кроме организации) - все они летят кучей в node_modules, однако если вы делаете свой готовый модуль для npm, то при установке такого модуля будут установлены только обычные dependencies.
    Ответ написан
    Комментировать