A selection of problem solving resources that can be helpful for developers.
/// <reference path="./.sst/platform/config.d.ts" /> | |
import { resolve as pathResolve } from "node:path"; | |
import { writeFileSync as fsWriteFileSync } from "node:fs"; | |
import { asset as pulumiAsset, all as pulumiAll } from "@pulumi/pulumi"; | |
// Specify HCLOUD_TOKEN and CLOUDFLARE_API_TOKEN before running | |
// Permissions for CLOUDFLARE_API_TOKEN: | |
// - Account Settings:Read | |
// - Zone Settings:Edit |
/** | |
* Type representing a guard function accepting Input and some other arguments | |
* while refining type of input as `Output` | |
*/ | |
export type TypeGuard< | |
Input, | |
Output extends Input, | |
Args extends unknown[] = [] | |
> = (value: Input, ...args: Args) => value is Output; |
function *main() { | |
const confirmRequest = { | |
type: 'confirm', | |
value: 'Are you sure?', | |
}; | |
const confirmResponse = yield confirmRequest; | |
if (confirmResponse === true) { | |
const consoleRequest = { | |
type: 'console', |
This is my typical decorator stack for a 'smart component' used as the component for react-router
route.
Note some code is missing here but this should give you the idea.
Example usage:
StateDetailsScene.js
import React from 'react'
import _ from 'lodash'
import route from 'core/decorators/route'
Service Worker - offline support for the web
- Service Worker - Revolution of the Web Platform
- The Service Worker is Coming - Look Busy (vid)
- Service Workers: Dynamic Responsive Images using WebP Images
- Is Service Worker ready?
Progressive apps - high-res icon, splash screen, no URL bar, etc.
var gulp = require('gulp'); | |
var browserify = require('browserify'); | |
var babelify = require('babelify'); | |
var source = require('vinyl-source-stream'); | |
var buffer = require('vinyl-buffer'); | |
var uglify = require('gulp-uglify'); | |
var sourcemaps = require('gulp-sourcemaps'); | |
var livereload = require('gulp-livereload'); |
Hi Nicholas,
I saw you tweet about JSX yesterday. It seemed like the discussion devolved pretty quickly but I wanted to share our experience over the last year. I understand your concerns. I've made similar remarks about JSX. When we started using it Planning Center, I led the charge to write React without it. I don't imagine I'd have much to say that you haven't considered but, if it's helpful, here's a pattern that changed my opinion:
The idea that "React is the V in MVC" is disingenuous. It's a good pitch but, for many of us, it feels like in invitation to repeat our history of coupled views. In practice, React is the V and the C. Dan Abramov describes the division as Smart and Dumb Components. At our office, we call them stateless and container components (view-controllers if we're Flux). The idea is pretty simple: components can't
app.factory('BearerAuthInterceptor', function ($window, $q) { | |
return { | |
request: function(config) { | |
config.headers = config.headers || {}; | |
if ($window.localStorage.getItem('token')) { | |
// may also use sessionStorage | |
config.headers.Authorization = 'Bearer ' + $window.localStorage.getItem('token'); | |
} | |
return config || $q.when(config); | |
}, |