Skip to content

Instantly share code, notes, and snippets.

@benhodgson87
benhodgson87 / Jenkinsfile
Last active July 3, 2020 09:27
Jenkins step to run Yarn Audit exiting only on critical level vulnerabilities
// Run yarn audit and only exit 0 on critical vulnerabilities (greater than 8)
// https://github.com/yarnpkg/yarn/blob/298e0ea6cea3ab8a610cabf28de3fdf8e7fa8d1f/src/cli/commands/audit.js#L158-L162
//
// Credit: https://github.com/yarnpkg/yarn/issues/7260#issuecomment-506556626
stage('Node dependencies') {
steps {
sh script: '/bin/bash -c "yarn audit; [[ $? -ge 8 ]] && exit 1 || exit 0"', label: "Vulnerability audit"
sh script: 'yarn', label: 'Install dependencies'
}
@benhodgson87
benhodgson87 / beforeAfter.html
Last active October 16, 2023 18:36
Before/After PR Template
<!--
* Drag and drop your screenshots into the Github PR description,
* then copy and paste the URLs from the generated markdown into the `src`,
* and delete the generated markdown.
-->
<table>
<tr>
<th><strong>Before</strong></th>
<th><strong>After</strong></th>
@benhodgson87
benhodgson87 / bottle_status_logic.js
Last active May 31, 2018 19:03
Bottle Status Logic
// source http://jsbin.com/mokikomobe
const current_bottle_weight = 1120;
const empty_bottle_weight = 649;
const full_bottle_weight = 1357;
const full_bottle_ml = 700;
const full_bottle_volume = full_bottle_weight - empty_bottle_weight;
@benhodgson87
benhodgson87 / BasicField.js
Created February 21, 2018 16:54
Reusable React/Redux-Form Layout using HOC
/**
* Basic input field wrapped with FormField HOC
*/
import React from 'react'
import PropTypes from 'prop-types'
import FormFieldWrapper from './FormFieldWrapper'
import './BasicField.css'
[core-date-range] [core-morph-popup] .content-box .footer .btn.close.disabled,
[core-date-range] [core-morph-popup] .content-box .footer .btn.close.disabled.active,
[core-date-range] [core-morph-popup] .content-box .footer .btn.close.disabled.focus,
[core-date-range] [core-morph-popup] .content-box .footer .btn.close.disabled:active,
[core-date-range] [core-morph-popup] .content-box .footer .btn.close.disabled:focus,
[core-date-range] [core-morph-popup] .content-box .footer .btn.close.disabled:hover,
[core-date-range] [core-morph-popup] .content-box .footer .btn.close[disabled],
[core-date-range] [core-morph-popup] .content-box .footer .btn.close[disabled].active,
[core-date-range] [core-morph-popup] .content-box .footer .btn.close[disabled].focus,
[core-date-range] [core-morph-popup] .content-box .footer .btn.close[disabled]:active,
// Transmitter
var storedHeight = 0, payload;
setInterval(function() {
var currentHeight = $('.ng-scope').height();
if (currentHeight == storedHeight) {
return false;
} else {
storedHeight = currentHeight;
payload = JSON.stringify({ height: currentHeight });
@benhodgson87
benhodgson87 / _icons.scss
Last active August 29, 2015 14:04
ng-store Icon Sass-Map refactor
// Setup an icon array of name modifer keys + content values
// eg. "pencil": "\e602"; becomes a class of .icon--pencil
$icon-types: (
"pencil": "\e602",
"ticket": "\e60d",
"cart2": "\e60f",
"credit": "\e627",
"location": "\e612",
"map": "\e634",
"clock": "\e614",
@benhodgson87
benhodgson87 / countries.simple.json
Created June 10, 2014 16:56
Countries JSON (Simple)
{
"AF": {
"name": "Afghanistan"
},
"AX": {
"name": "Åland Islands"
},
"AL": {
"name": "Albania"
},
@benhodgson87
benhodgson87 / countries.json
Last active January 19, 2019 18:02
Countries JSON
{
"AD": {
"currency": {
"primary": "EUR"
},
"iso": {
"code2": "AD",
"code3": "AND",
"num": "020"
},
@benhodgson87
benhodgson87 / decimalFormat.js
Last active November 8, 2020 18:11
DecimalFormat Currency Formatting
Number.prototype.currency = function (format) {
var amt = this, neg;
// If no formatting string supplied
// or amount is not a number, return as is
if (!format || isNaN(amt)) return amt;
// Extract placeholders from format string
var formFig = format.match(/\#(.*)\#/g).pop();