Skip to content

Instantly share code, notes, and snippets.

View chrisryana's full-sized avatar
🐢
медленно но верно иду к цели

Chris Ryana chrisryana

🐢
медленно но верно иду к цели
  • Kashira, Moscow region
View GitHub Profile
@chrisryana
chrisryana / countLines.md
Created February 21, 2023 13:27
Посчитать количество строк в проекте, исключив некоторые файлы

Зайти в папку с проектом в терминале и выполнить команду:

git ls-files --exclude-standard -- ':!:**/*.test.ts.snap' ':!:**/*.test.ts' ':!:**/*.test.tsx' ':!:**/*.test.tsx.snap' ':!:.idea' ':!:**/*.eslintrc' ':!:package-lock.json' ':!:**/*.svg' | xargs wc -l
@chrisryana
chrisryana / removeJs.md
Created June 7, 2022 16:20
Удалить из папки и подпапок все файлы с расширением js, но кроме index.js файлов.
find ./src -name "*.js" | grep -v index.js | xargs rm
@chrisryana
chrisryana / forms.md
Last active January 8, 2022 18:50
TLDR по формам https://web.dev/learn/forms

Убедитесь, что все пользователи понимают ваши правила проверки. Для этого соедините элемент управления формы с элементом, объясняющим правила. Для этого добавьте aria-describedby атрибут к элементу id формы.

<input required minlength="8" type="password" id="password"
  name="password" aria-describedby="password-minlength">

Вы можете стилизовать requiredполя с :required помощью псевдокласса CSS.

@chrisryana
chrisryana / pretty-dependencies.md
Created January 7, 2022 20:54
Эта команда отсортирует содержимое вашего package.json. Зависимости будут размещены в алфавитном порядке и даже больше!
npx sort-package-json
@chrisryana
chrisryana / example.md
Created December 30, 2021 20:11
Если вы находитесь в develop ветке и хотите изменить test.txt файл на версию из main ветки, вы можете сделать это следующим образом:

git checkout main -- test.txt

git restore main -- test.txt

@chrisryana
chrisryana / lint-only-changed-files.MD
Created October 21, 2021 12:30 — forked from seeliang/lint-only-changed-files.MD
How to lint only changed files?

find out the differences

use git diff to generate file list

git diff --name-only master

limited to certain file types

add ext filter

git diff --name-only master | grep -E "(.js$|.ts$|.tsx$)"

@chrisryana
chrisryana / 1-jsunderhood-week
Created September 5, 2021 11:20 — forked from barinbritva/1-jsunderhood-week
jsunderhood-week
// Gist name placeholder
@chrisryana
chrisryana / package.json
Created August 30, 2021 21:03 — forked from oroce/package.json
run eslint only on changed (*.js files) files using pre-commit
{
"scripts": {
"eslint": "LIST=`git diff-index --name-only HEAD | grep .*\\.js | grep -v json`; if [ \"$LIST\" ]; then eslint $LIST; fi"
},
"devDependencies": {
"pre-commit": "0.0.7",
"eslint": "~0.5.1"
},
"pre-commit": [
"eslint"
@chrisryana
chrisryana / .gitlab-ci.yml
Last active August 20, 2021 08:05
Автоматический релиз в npm после создания тэга вместе с release-it. Автоматическое распознавание npm tag из тэга git
stages:
- lint
- build
- release
.node_cache:
cache:
key: ${CI_COMMIT_REF_SLUG}
paths:
- node_modules/
@chrisryana
chrisryana / simple-git-hook.md
Created August 20, 2021 07:30
Тикет Jira в названии коммита вместе с simple-git-hooks

Как заставить работать git hook

  1. Установить папку хуков для git: git config core.hooksPath .git/hooks/
  2. Установить simple-git-hooks: yarn add -D --exact simple-git-hooks
  3. Создать в проекте папку для хуков, например git-hooks
  4. Создать в ней файл commit-msg
  5. Вставить в него этот код:
#!/bin/sh