Skip to content

Instantly share code, notes, and snippets.


Maintainer needed

I have gotten to a point now where I realize my open source work is not sustainable in combination with family. I have spent a ton of time over the years developing ideas, learning, sharing and engaging with the open source community. It has been a lot of fun, but also exhausting. There is a dark side to doing open source, at least for me. Even though it is a recipe for learning I have also been spending most of my time lost in thought. Thinking about ideas, issues and craving recognition for the stuff that I share. It is not a healthy way to live your life. The cost/benefit was okay for a long time as the only people who were affected by it was my partner and myself, but now with 2 kids I have to stop... I should have stopped when we had our first kid. Sitting for 30 min next to our 4 year old daughter and not even noticing it, because I am working out this new idea in my head. Being impatient and annoyed at our 10 month year old son, because I am amped up by some bug I can not stop thin

View react-states.ts
const reducer = (context, event) => {
switch (event.type) {
case 'FETCH':
return {
state: 'fetching',
case 'RESOLVE':
return {
state: 'fulfilled',
View test-helper.ts
type ProviderPitcherRequest<T extends Provider> = T["onRequest"] extends (
request: infer Req,
dispatcher: Dispatcher<any, any>,
client: Client
) => void
? Req
: never;
type ProviderPitcherResult<T extends Provider> = T["onRequest"] extends (
request: any,

Updated packages

package from version to version
betsy 1.0.2 1.0.2-1624519707403
overmind 27.0.0 28.0.0-1624519707403
overmind-devtools 28.0.0 29.0.0-1624519707403
overmind-devtools-client 10.0.0 11.0.0-1624519707403
overmind-devtools-vscode 9.0.0 10.0.0-1624519707403
overmind-graphql 7.0.0 8.0.0-1624519707403


The next version of the docs can be found here:

Overmind typing

The implicit typing has been completely removed, meaning you have to explicitly type your application. That said, the explicit typing is way simpler then in the previous version. This is all of it:

import { IContext } from 'overmind'
View server.js
#!/usr/bin/env node
const cors = require('cors')
const chalk = require('chalk')
const figures = require('figures')
const express = require('express')
const bodyParser = require('body-parser')
const { resolve, relative } = require('path')
const jscodeshift = require('jscodeshift/dist/Runner')
const argv = require('yargs-parser')(process.argv.slice(2))
View my-state-tree.js
const tree = {
auth: {
user: {}
issues: {
list: []
projects: {
list: [],
filter: 'completed'
View background.js
chrome.extension.onMessage.addListener(function(request, sender, sendResponse) {
console.log("request type", request.type)
if (request.type === "enable") {;
else if (request.type === "up") {
capture(, request.dimensions);
#!/usr/bin/env bash
# sudo apt-get install -y curl
# curl | sudo bash -s
# Specify where we will install
# Set the wildcarded domain we want to use

Updated packages

package from version to version
betsy 1.0.2 1.0.2-1596731055829
non-blocking-json 1.0.0 1.1.0-1596731055829
overmind 24.1.1 25.0.0-1596731055829
overmind-angular 24.1.1 25.0.0-1596731055829
overmind-devtools 25.1.1 26.0.0-1596731055829
overmind-devtools-client 7.1.1 8.0.0-1596731055829