Skip to content

Instantly share code, notes, and snippets.

View danactive's full-sized avatar

Dan BROOKS danactive

View GitHub Profile
@danactive
danactive / Dropdown menu scraper
Last active August 21, 2018 04:21
Paste into browser developer console to reveal dropdown / pulldown menu labels and values
(() => {
const result = {};
const parseDropdownName = name => {
if (name.includes('$')) {
const lastItem = name.split('$').slice(-1)[0];
if (lastItem.startsWith('ddl')) return lastItem.substring(3);
return lastItem;
}
return name;
}
git commit --allow-empty -m "Trigger notification"
.yarnrc
registry "https://registry.npmjs.org/"
@danactive
danactive / keybase.md
Created January 4, 2018 21:57
Keybase artifact

Keybase proof

I hereby claim:

  • I am danactive on github.
  • I am danactive (https://keybase.io/danactive) on keybase.
  • I have a public key ASALO3YKBbxwt_FU6y4gQtQf-HHpgUQQg4-Agp3tLSpzawo

To claim this, I am signing this object:

@danactive
danactive / snippet-deep-flatten-array.js
Created October 31, 2017 03:36
will flatten an array of arbitrarily nested arrays of primitives into a flat array of primitives
// functional programming using recursion in ES2015 syntax
const flatten = (arr = []) => arr.reduce(
(prev, curr) => prev.concat(Array.isArray(curr) ? flatten(curr) : curr), []
);
@danactive
danactive / config
Created September 19, 2017 22:59
.ssh configuration for multiple ssh keys on Mac ~/.ssh/config
Host github.com
User git
HostName github.com
IdentityFile ~/.ssh/github_rsa
Host bitbucket.org
User git
HostName bitbucket.org
IdentityFile ~/.ssh/bitbucket_rsa
@danactive
danactive / hack-github-extract-filenames.js
Last active September 18, 2017 04:16
Get all the filename hyperlink text from GitHub repo
// filenames only
Array.from(document.querySelectorAll('.js-navigation-open')).filter(x => x.title).map(link => link.title).join('\n')
// filenames as markdown links
Array.from(document.querySelectorAll('.js-navigation-open')).filter(x => x.title).map(link => `* [${link.title}](${link.title})`).join('\n')
@danactive
danactive / hack-bitbucket-changelog.js
Last active September 18, 2017 04:11
What changed in this PR? It's a basic changelog tool to extract Jira tickets from Bitbucket pull request. Tested on Atlassian Bitbucket v4.14.2. Requires jQuery v3
// 1) Add jQuery to page. One approach is to copy and paste the jQuery minified code into developer tool console
// 2) Paste this code into dev tool console
var messages = new Set();
$('.commit-row:not(.merge) .message-subject').each((index, cell) => {
const commitMessage = $(cell).text();
if (commitMessage.includes('JIRA-')) {
console.log(commitMessage);
messages.add(commitMessage.match(/JIRA-[0-9]{2,4}/g)[0]);
}
@danactive
danactive / mergeComparison.js
Last active August 13, 2018 18:39
Compare various merge modules (no timed benchmarks just functional differences)
// npm i deepmerge object-merge merge underscore --no-save
const mergers = {
deepmerge: require('deepmerge'),
'deepmerge.all': (...args) => require('deepmerge').all(args),
'object-merge': require('object-merge'),
'Object.assign': Object.assign,
merge: require('merge'),
'merge (recursive)': require('merge').recursive,
spread: (...args) => ({ ...args[0], ...args[1], ...args[2] }),