Skip to content

Instantly share code, notes, and snippets.

View insin's full-sized avatar
⚠️
Cannot read property 'status' of undefined

Jonny Buchanan insin

⚠️
Cannot read property 'status' of undefined
View GitHub Profile
@insin
insin / package.ts
Created March 1, 2019 14:32
I done a Deno
import * as path from 'https://deno.land/x/fs/path.ts'
export { path }
@insin
insin / .babelrc-default
Last active July 14, 2018 13:32
babel-plugin-add-module-exports bug repro
{
"presets": [
"@babel/env",
],
"plugins": [
"add-module-exports"
]
}
@insin
insin / checkLogins.js
Last active July 13, 2018 03:25
Check your saved Firefox logins against the Pwned Passwords API (run in Tools → Web Developer → Browser Console)
function sha1(input) {
let converter = Components.classes['@mozilla.org/intl/scriptableunicodeconverter']
.createInstance(Components.interfaces.nsIScriptableUnicodeConverter)
converter.charset = 'UTF-8'
let data = converter.convertToByteArray(input)
let ch = Components.classes['@mozilla.org/security/hash;1']
.createInstance(Components.interfaces.nsICryptoHash)
ch.init(ch.SHA1)
ch.update(data, data.length)
let hash = ch.finish(false)
@insin
insin / userChrome.css
Last active May 30, 2023 19:49
userChrome.css for some aspects of the Firefox >= 57 UI which can't be tweaked via regular config
@namespace url(http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul);
/* Remove the gap to the left of the title tab bar */
#TabsToolbar hbox.titlebar-placeholder[type="pre-tabs"] {
display: none !important;
}
/* Remove the buttons on the right of the location bar */
#page-action-buttons {
display: none !important;
@insin
insin / updatePasswords.js
Last active June 21, 2024 18:43
Mass update Firefox passwords (run in Tools → Web Developer → Browser Console) - https://developer.mozilla.org/en-US/docs/Tools/Browser_Toolbox#Enabling_the_Browser_Toolbox
function updatePasswords() {
let oldPassword = prompt('Old password:')
if (!oldPassword) return
let loginManager = Components.classes['@mozilla.org/login-manager;1']
.getService(Components.interfaces.nsILoginManager)
let matchingLogins = loginManager.getAllLogins().filter(l => l.password === oldPassword)
let matchCount = matchingLogins.length
if (matchCount === 0) return alert('No matching logins found')
@insin
insin / index.css
Last active November 8, 2017 16:24
Flexbox layout fun
html {
height: 100%;
}
body {
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
height: 100%;
margin: 0;
}
@insin
insin / README.md
Last active May 13, 2021 18:59
<RadioGroup/> for React Bootstrap - https://react-bootstrap-radio-group.surge.sh

To run the example:

npm install -g nwb
react run example.js --auto-install
import spawn from 'cross-spawn'
import ora from 'ora'
/**
* Get the latest version of a package from npm.
*/
export function getLatestVersion(pkg, cb) {
let spinner = ora(`Checking for latest version of ${pkg}`).start()
let npm = spawn('npm', ['dist-tag', 'ls', pkg, '--no-progress'], {stdio: ['ignore', 'pipe', 'inherit']})
let stdout = ''
@insin
insin / board.js
Last active May 30, 2023 19:49
Using CSS transition & transform to move a component: https://react-simple-transform.surge.sh
import React from 'react'
import {render} from 'react-dom'
let Board = React.createClass({
getInitialState() {
return {
x: 150,
y: 150,
}
},
@insin
insin / utils.js
Created November 10, 2016 08:42
Redux duck utils
// Matches the naming convention for functions which select from Redux state
const SELECTOR_NAME_RE = /^get[A-Z]/
/**
* Creates a function which creates same-named action dispatchers from an object
* whose function properties are action creators, passing along any arguments.
* Function properties whose names start with "get" will be ignored, as these
* are assumed to be selectors by convention.
* Also makes the dispatch function itself available.
* (If this was Java, it'd be a class named ActionDispatcherFactoryFactory).