Friday, October 4, 2024

NPM поиск информации о пакете на примере Gulp

Иногда так бывает что для запуска проекта нужна определенная версия пакета.
А к этому пакету (например gulp) нужно подтянуть совместимую версию пакета командной строки (gulp-cli) А затем найти пакеты примерно тех же чисел выпуска и воссоздать проект. 

Что делать? Как быть?

Пакеты выпускаются слишком часто а если прошли годы - миссия кажется не выполнимой.

Этот маленький гайд как это делается.


Для примра возьмем Gulp пакет. Дело в том что есть версия 3.9.1 и версия 4.0.0 и эти версии не совместимы. И к примеру у вас есть хороший конфиг на старом gulp но неизвестно почему он выдает ошибки на 3.9.1 а потом проверяете командную строку и удивляетесь что стоит последняя версия командной строки gulp-cli, и даже незнаете какая версия командной строки gulp-cli была во времена gulp@3.9.1

Go go go!

Есть команда npm view но как ей пользоваться? Какие параметры надо искать, как фильтровать? И что именно делает npm view? (View registry info)

Если введете npm view gulp то выдаст много чего и как в этом разбиратся - непонятно.


если напишите npm view gulp --json то ситуация стала еще хуже

окно ввода команды npm view


npm view gulp versions --json - выдаст список всех версий
npm view gulp versions time --json выдаст список версий и дату релизов - прелесть, то что нам и надо.

Давайте введем npm view gulp versions time --json найдем версию 3.9.1 ("3.9.1": "2016-02-08T18:50:16.472Z", )и подберем правильную версию gulp-cli по дате используя данную команду npm view gulp-cli versions time --json 

 Выдаст "1.2.1": "2016-02-09T21:01:10.735Z".

Это значит что версии gulp-cli@1.2.1 соответствует пакет gulp@3.9.1

Если стоит задача подтянуть все пакеты, то таким методом выбираются нужные пакеты и устанавливаются командой npm install gulp-sass@2.2.0 если требуется уствновить рабочий sass в проект, кототый проветяется командой npm view gulp-sass versions time --json и выдаст такой результат:

    "modified": "2024-05-14T19:23:52.024Z",
    "created": "2013-08-31T23:53:38.008Z",
    "0.1.0": "2013-08-31T23:53:39.340Z",
    "0.2.1": "2013-09-01T04:55:37.985Z",
    "0.2.2": "2013-12-15T02:33:24.085Z",
    "0.2.3": "2014-01-05T15:17:17.168Z",
    "0.3.0": "2014-01-10T21:44:18.634Z",
    "0.4.0": "2014-01-13T06:44:07.475Z",
    "0.4.1": "2014-01-19T08:42:32.911Z",
    "0.5.0": "2014-01-22T20:52:47.028Z",
    "0.5.1": "2014-01-22T22:41:21.773Z",
    "0.5.2": "2014-01-22T23:49:22.741Z",
    "0.6.0": "2014-01-25T17:47:01.743Z",
    "0.7.0": "2014-02-11T05:02:06.587Z",
    "0.7.1": "2014-02-22T00:08:28.811Z",
    "0.7.2": "2014-06-06T05:31:02.487Z",
    "0.7.3": "2014-08-12T19:10:37.522Z",
    "1.0.0": "2014-09-24T19:24:28.986Z",
    "1.1.0": "2014-10-09T22:06:51.147Z",
    "1.2.0": "2014-10-16T23:29:17.529Z",
    "1.2.1": "2014-10-28T18:03:20.946Z",
    "1.2.2": "2014-10-29T06:03:41.952Z",
    "1.2.3": "2014-11-14T02:50:01.085Z",
    "1.2.4": "2014-12-04T06:54:19.516Z",
    "1.3.0": "2015-01-14T01:27:34.303Z",
    "1.3.1": "2015-01-14T04:56:24.039Z",
    "1.3.2": "2015-01-16T18:37:46.162Z",
    "1.3.3": "2015-02-12T21:54:39.265Z",
    "2.0.0-alpha.1": "2015-04-02T02:08:02.436Z",
    "2.0.0": "2015-05-06T23:57:23.078Z",
    "2.0.1": "2015-05-13T11:17:04.617Z",
    "2.0.2": "2015-06-25T14:40:05.954Z",
    "2.0.3": "2015-06-27T17:40:46.400Z",
    "2.0.4": "2015-07-15T18:03:28.083Z",
    "2.1.0-beta": "2015-09-21T12:17:46.405Z",
    "2.1.0": "2015-10-28T06:15:09.835Z",
    "2.1.1": "2015-12-10T12:59:30.365Z",
    "2.2.0": "2016-02-04T11:35:45.196Z",
   
"2.3.0-beta.1": "2016-02-04T12:07:41.318Z",
    "2.3.0": "2016-04-21T01:38:16.752Z",
    "2.3.1": "2016-04-21T23:03:40.514Z",
    "2.3.2": "2016-06-15T10:59:07.630Z",
    "3.0.0": "2016-12-10T13:56:13.363Z",
    "3.1.0": "2017-01-09T08:18:14.487Z",
    "3.2.0": "2018-03-12T03:30:42.617Z",
    "3.2.1": "2018-03-24T01:52:09.257Z",
    "4.0.0": "2018-04-05T11:21:10.941Z",
    "4.0.1": "2018-04-08T04:48:36.961Z",
    "4.0.2": "2018-10-16T08:02:28.320Z",
    "4.1.0": "2020-04-23T10:19:40.645Z",
    "4.1.1": "2021-06-24T09:41:43.709Z",
    "5.0.0": "2021-06-25T08:55:28.104Z",
    "5.1.0": "2021-12-31T01:47:37.912Z"

 На этом все, желаю всем не терять свои пакеты.

Гавелюк Игорь

No comments:

Post a Comment

Сборка Gulp 3.9.1 в 2024 году под Node v8.12.0

 Дело в том что много хороших проектов осталось в Gulp 3.9.1 и в Gulp 4.0.0 они или неправильно работают либо их там нет. Конечто нужно выби...