Skip to content
This repository was archived by the owner on Apr 5, 2022. It is now read-only.
/ zlo Public archive

Кэширование NPM пакетов (локально и в SVN)

Notifications You must be signed in to change notification settings

direct-adv-interfaces/zlo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

122 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zlo

Описание

Утилита для кэширования зависимостей Выкачивает из npm зависимости для модуля, запаковывает результат в архив и кладет архив в svn

node zlo --kill --target=['svn'|'local'] - очистка md-файла для данного zlo.json

node zlo --kill-all --target=['svn'|'local'] - очистка всего кэша

node zlo --kill-all-except-current --target=['svn'|'local'] - очистка всего кэша кроме текущего

node zlo --verbose - запуск zlo с выводом подробных логов

node zlo --dev - сборка в dev-режиме

node zlo --disable-svn - сборка без кэширования в svn

npm test - запуск тестов

Автор

[heliarian ]heliarian@gmail.com

Как пользоваться и расширять

В корне директории из которой будет запускаться утилита необходимо создать файлы: zlo-config.json - библиотеки/пакеты, которые необходимо скачать

    {
         "localCachePath": "local-dependencies",
         "svnCachePath": "svn+ssh://svn.my-svn.ru/dependencies",
         "useYarn": false,
         "loadTimeout": 10000,
         "beforeLoad": {
             "killAllExceptCurrent": {
                "target": {
                   "local": true
                }
             }
         }
     }

Параметры

localCachePath

папка для хранения локального кэша

svnCachePath

путь к svn-репозиторию в котором хранится кэш

loadTimeout

максимально-допустимое время установки зависимостей по истечению которого установка прекращается

useYarn

использовать Yarn для сборки пакетов (по умолчанию используется npm)

beforeLoad

действие, которое нужно выполнить перед загрузкой зависимостей принимает параметры:

Удалить все зависимости кроме текущей во всех кэшах

    "killAllExceptCurrent": true

Удалить все зависимости кроме текущей в локальном кэше

    "killAllExceptCurrent": {
        "target": {
           "local": true
        }
    }

Удалить все зависимости кроме текущей в svn

    "killAllExceptCurrent": {
        "target": {
           "svn": true
        }
    }

Аналогично: удалить все зависимости во всех кэшах (включая текущую, если она существует)

    "killAll": true

killAll может принимать значения аналогично killAllExceptCurrent

package.json - файл, по которому npm будет устанавливать зависимости

Сборка и обновление

Чтобы собрать deb-пакет с новой версией, нужно:

  1. Обновить версию пакета (npm version minor)
  2. Дописать в файл changes новую версию (полученную на предыдущем шаге) с описанием по подобию предыдущих
  3. Закомитить, запушить (в том числе теги git push --tags)
  4. Выполнить npm run build
  5. Зайти в каталог debian и выполнить dupload

About

Кэширование NPM пакетов (локально и в SVN)

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •