Skip to content

Instantly share code, notes, and snippets.

View bricss's full-sized avatar
🦉
Understand Create Evaluate

Yahor Siarheyenka bricss

🦉
Understand Create Evaluate
View GitHub Profile
@bricss
bricss / .gitconfig
Last active December 5, 2025 15:06
Git config
[advice]
pushAlreadyExists = true
[apply]
whitespace = fix
[branch]
sort = -committerdate
[column]
ui = auto
[commit]
verbose = true
@bricss
bricss / hmac-sha256.js
Last active February 27, 2025 18:39
Insomnia 🌙 HMAC-SHA256 signature 🔏 generator
const crypto = require('crypto-js');
const appId = insomnia.collectionVariables.get('appId');
const method = insomnia.request.method;
const payload = insomnia.request.payload || '';
const sharedKey = insomnia.collectionVariables.get('sharedKey');
const timestamp = Math.round(Date.now() / 1000);
const url = insomnia.environment.replaceIn(
insomnia.request.url.toString().replace(/\_\./gi, '')
);
@bricss
bricss / iso-8601-rex.mjs
Last active February 4, 2023 00:35
RegExp for ISO 8601 date string validation
export const isoDateRex = /^(?:[-+]\d{2})?(?:\d{4}(?!\d{2}\b))(?:(-?)(?:(?:0[1-9]|1[0-2])(?:\1(?:[12]\d|0[1-9]|3[01]))?|W(?:[0-4]\d|5[0-2])(?:-?[1-7])?|(?:00[1-9]|0[1-9]\d|[12]\d{2}|3(?:[0-5]\d|6[1-6])))(?![T]$|[T][\d]+Z$)(?:[T\s](?:(?:(?:[01]\d|2[0-3])(?:(:?)[0-5]\d)?|24\:?00)(?:[.,]\d+(?!:))?)(?:\2[0-5]\d(?:[.,]\d+)?)?(?:[Z]|(?:[+-])(?:[01]\d|2[0-3])(?::?[0-5]\d)?)?)?)?$/;
@bricss
bricss / git-drain.sh
Last active February 17, 2023 17:20
Ignores active Git repo change(s)
#!/usr/bin/env bash
# Ignores active change(s) in Git repo
# Mostly useful within CICD pipelines
# Usage: `sh git-drain.sh`
git status --porcelain | cut -c4- | xargs -n1 git update-index --assume-unchanged
@bricss
bricss / git-broom.sh
Last active February 17, 2023 17:16
Remove remote merged branches from Git repo
#!/usr/bin/env bash
# Removes remote merged branches from Git repo
# Usage: `sh git-broom.sh`
protect='(dev|main|master|release)'
git fetch --prune --tags origin
git branch --remotes --merged origin | grep origin | grep -v $(git symbolic-ref --short HEAD) | egrep -v $protect | sed s/origin\\/// | xargs git push origin --delete
@bricss
bricss / druuid.mjs
Last active February 28, 2026 13:10
Date-relative (and relatively universally unique) UUID generation. Inspired by: https://www.npmjs.com/package/druuid
export let epoch = 0;
export const gen = (date = Date.now()) => {
return ((BigInt(date - epoch) << (64n - 41n)) ^ (BigInt(crypto.getRandomValues(new Uint8Array(32)).join('')) % (2n ** (64n - 41n))));
};
export const time = (uuid) => {
return new Date(Number((BigInt(uuid) >> (64n - 41n))) + epoch);
};
@bricss
bricss / pre-push
Last active March 17, 2023 01:51
Warns before pushing to protected branches
#!/usr/bin/env bash
# Warns before pushing to protected branches
# Bypass with `git push --no-verify`
countdown=15
current=$(git rev-parse --abbrev-ref HEAD)
protect='^(main|master|release|patch-*)'
status=0
if [[ "$current" =~ $protect ]]; then
@bricss
bricss / pre-push
Last active March 17, 2023 01:49
Warns before pushing to protected branches
#!/usr/bin/env bash
# Warns before pushing to protected branches
# Bypass with `git push --no-verify`
current=$(git rev-parse --abbrev-ref HEAD)
protect='^(main|master|release|patch-*)'
status=0
if [[ "$current" =~ $protect ]]; then
while true; do
@bricss
bricss / pre-commit
Last active March 17, 2023 01:48
Warns before committing if staged files contains focused tests
#!/usr/bin/env bash
# Warns before committing if staged files contains focused tests
# Bypass with `git commit --no-verify`
dict=(describe.only it.only test.only)
status=0
for keyword in "${dict[@]}"; do
rex="/^s*${keyword%.*}.*(?=${keyword#*.})/"
files=$(git diff --staged -G${rex} --name-only)
@bricss
bricss / settings.json
Last active February 5, 2026 16:26
VSCode settings.json
{
"debug.terminal.clearBeforeReusing": true,
"debug.toolBarLocation": "docked",
"editor.bracketPairColorization.independentColorPoolPerBracketType": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
},
"editor.fontSize": 13,
"editor.formatOnPaste": true,
"editor.formatOnSave": true,