Запуск npm через hook Git, на хостинге Timeweb.

Редакция автор: stain
  1. Стандарт post-receive должен быть запускаемым, ну или другой ваш hook. chmod +x post-receive
  2. Первым в файле нужно указывать каким шелом все будет запускаться. На timeweb sh не взлетит будет ошибка. используйте #!/bin/bash.
    3.По ssh все пути и алиасы прописанные в ~/.bash_profile не работают. Нужно прописать их непосредственно в файл post-receive.

Пример:
cd public_html
export PATH=~/.utils/nodejs/bin:~/.sh:$PATH
alias node='~/.utils/nodejs/bin/node'
alias npm='~/.utils/nodejs/bin/npm'

Вывод возможной ошибки при исполнении npm, цифра 2 означает вывод вместо результата обработки, ошибки в файл если они есть, чтобы можно было понять причину.
npm -v 2> _npm.log

Ну и пример разворачивания или обновления пакетов с помощью npm на сайте.
if [ -e "package.json" ]; then
if [ -d "node_modules" ]; then
~/.utils/nodejs/bin/npm update
else
~/.utils/nodejs/bin/npm install
fi
fi

То же для composer длинные тире двойные тире
if [ -e "composer.json" ]; then
if [ -d "vendor" ]; then
/opt/php7.2/bin/php -d memory_limit=500M ~/.utils/composer.phar update --no-dev
else
/opt/php7.2/bin/php -d memory_limit=500M ~/.utils/composer.phar install --no-dev
fi
fi

Перед всем этим делом пропуская выше только второй пункт #!/bin/bash, стандартный хук для разворачивания репозитория
cd ..
GIT_DIR='.git' git reset --hard

Еще есть такой момент, но не в курсе повлиял ли он как нибудь. место расположения вашего скаченного node.js , для установки глобально пакетов(у меня другой путь.
npm config set prefix '~/.npm-global'
Статья

Про отлов ошибок через перенаправление типа такого npm -v 2> _npm.log
Статья про перенаправление ввода-вывода.

Комментариев: 0

Cписки установленных пакетов npm с заданной глубиной

Редакция автор: stain

Посмотреть список пакетов установленных глобально:
npm list -g --depth=0

Посмотреть список пакетов установленных для проекта в корневой папке которого находимся - для package.json
npm list -D --depth=0

Комментариев: 0

Когда npm при установке пакетов выпадает в осадок

Редакция автор: stain

Сказ: Стабильная версия node.js 10.16 lts, но увы и ах иногда npm при установке пакетов выпадает в осадок, и логи ошибку объясняют слабо. Установил альтернативный менеджер yarn, тот после запуска обнаруживает старый package-lock.json, пересобирает зависимости в yarn.lock, и ставит пакет. В чем проблема(win10/stable version node) сложно сказать, но вот решение в форме котенка.

P.S.: Если присутствует старый package-lock.json выскакивает предупреждение, удаление этого файла отключает предупреждение, но практически никак не влияет на проверку зависимостей. Они проверяется каждый раз по новой.

Комментариев: 0

Node_modules в кеше.

Редакция автор: stain

То что в windows не завезли, но на линукс работает.

yarn - -pnp
или в package.json добавить: "installConfig": {"pnp": true}

Поскольку модуль остаётся в кеше, postinstall-скрипты, меняющие его состояние (например, докачивающие дополнительные файлы) могут повредить кеш и сломать остальные проекты, зависящие от него. Разработчики Yarn рекомендуют отключать исполнение скриптов флагом --ignore-scripts.

Для пакетов которые завязаны на node_modules, есть команда yarn unplug --persist, которая извлечет модуль из кеша и разместит его локально в node_modules.

Переназначение местоположения каталога node_modules, возможно с помощью файла .yarnrc в корне проекта. Ниже пример содержимого:
--modules-folder public_html/node_modules

Источник.

Комментариев: 0

Working with Files · gulp.js

Редакция автор: stain

GitHub репозиторий с примером использования : woodsleaf/gulp4-workingExample
Ссылка на помощь по работе с файлами.

Пример промежуточного сохранения, и ереименования потока-будщего файла.

Пример использования условия.

Комментариев: 0

Как удалить лайки, по требованию правообладателя поста

Редакция автор: stain
  • Заходим в браузере хром на https://vk.com/feed?section=likes.
  • Проматываем отображаемые записи до конца, ну или на сколько терпения хватит.
  • Нажимаем комбинацию CTRL+SHIFT+J
  • B в консоли дебагера браузера вставляем ниже следующий код:
    (function () { 'use strict'; if (!confirm('Удалить историю чувств?')) return; var deletePostLink = document.body.querySelectorAll('a.like_btn[onclick^="Likes.toggle"]'); for (var i = 0; i < deletePostLink.length; i++) { deletePostLink[i].click(); } alert(deletePostLink.length + ' likes deleted'); }());
  • Нажимаем Enter.
  • Даем согласие на Удаление истории чувств(лайков).
  • Ждем. Хотя кажется надо еще раз нажать Enter.

P.S.: Вконтакте есть блокировка при одинаковых действиях, попробуйте некоторое время может и сутки, повторить выполнение скрипта, столько раз сколько требуется. Либо проделайте все тоже самое руками, но в случае ручного удаления, доказать что вы не робот, сможете с помощью Recaptcha от вездесущего Google, к сожалению скрипт, и разблокирование в ручном режиме вместе не работают. Так что с блокировки вы не слезете таким простым способом.

Источники:
https://pikabu.ru/story/kak_udalit_vse_repostyi_i_lay..
https://lifehacker.ru/kak-pochistit-socseti/

Комментариев: 0