Skip to content

Instantly share code, notes, and snippets.

@DarrenN
DarrenN / get-npm-package-version
Last active May 2, 2025 08:59 — forked from yvele/get-npm-package-version.sh
Extract version from package.json (NPM) using bash / shell
# Version key/value should be on his own line
PACKAGE_VERSION=$(cat package.json \
| grep version \
| head -1 \
| awk -F: '{ print $2 }' \
| sed 's/[",]//g')
echo $PACKAGE_VERSION
@paulirish
paulirish / what-forces-layout.md
Last active June 6, 2025 10:52
What forces layout/reflow. The comprehensive list.

What forces layout / reflow

All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.

Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.

Element APIs

Getting box metrics
  • elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParent
@k88hudson
k88hudson / watch.md
Last active July 19, 2016 21:53
how do i watch in npm scripts
@asciidisco
asciidisco / gist:5c0020f25d7d9dccc5c5
Created March 11, 2016 10:11
npm sass, autoprefixer, minifier, sourcemaps
"scripts" {
"styles:dev": "node-sass --source-map-embed --follow --output-style expanded src/styles/main.scss | postcss -u autoprefixer -u cssnano -o public/main.css --map file"
}
#!/bin/sh
# This pre-commit hook will prompt for every file that contains a `console.log`, `debugger`
# or `puts` statement. This should avoid stupidly commiting debugging information :)
exec < /dev/tty
confirm() {
echo "${1:-Are you sure? [y/N]}"
read -r response
const spawn = require('child_process').spawn;
const glob = require('glob');
const fs = require('fs');
const path = require('path');
const which = require('which');
const availableLanguages = require('./available');
try {
which.sync('xgettext');
which.sync('msgmerge');
import Flatpickr from "flatpickr";
import Vue from "vue";
// <input type="text" v-flatpickr="{'enableTime': true}"
Vue.directive("flatpickr", {
bind: (el, binding) => {
el._flatpickr = new Flatpickr(el, binding.value);
},
unbind: el => el._flatpickr.destroy()
@tgrrr
tgrrr / MaterialTabsRouter4
Created August 30, 2017 09:48
Material Tabs that control Router 4
import React from 'react';
import {Tabs, Tab} from 'material-ui/Tabs';
import Slider from 'material-ui/Slider';
import { withRouter } from 'react-router';
import { BrowserRouter as Router, Route, withRouter } from 'react-router-dom'
class TabsRouter extends React.Component {
constructor(props) {
super(props);
this.state = {
@normandmickey
normandmickey / BTCPayServer-RaspiblitzV1.3-RPI4B
Last active October 30, 2021 02:23
Install BTCPayServer on Raspiblitz V1.3 - Raspberry Pi 4B
These instructions are outdated.
Please visit https://btcpi.com for detailed instructions on installing BTCPayServer on the Raspberry Pi 4B.
#Install Dot-Net for ARM
cd /home/admin
sudo apt-get -y install libunwind8 gettext libssl1.0
wget https://download.visualstudio.microsoft.com/download/pr/9650e3a6-0399-4330-a363-1add761127f9/14d80726c16d0e3d36db2ee5c11928e4/dotnet-sdk-2.2.102-linux-arm.tar.gz
wget https://download.visualstudio.microsoft.com/download/pr/9d049226-1f28-4d3d-a4ff-314e56b223c5/f67ab05a3d70b2bff46ff25e2b3acd2a/aspnetcore-runtime-2.2.1-linux-arm.tar.gz
sudo mkdir /opt/dotnet