blocks by Rich-Harris


Next-gen Node HTTP APIs

lookup vs nested foreach

Svelte style properties naive implementation

Testing array.splice vs array.pop vs set.delete

Svelte vs Knockout

whatwg stream utils

Source bytes: React vs Ember Octane vs Svelte

Optimising CSS modules

What should be the canonical file extension for Svelte components?

Notes on Node streams

Concept diff

The truth about Svelte

first-class binding syntax

Old vs new Svelte store

Platform wishlist


Keybase verification

10 second Svelte demo

Svelte with/without `customElement: true`

Multiple spread attributes, in order, without unnecessary changes

Multiple components and store variables ($)

DebugClock bookmarklet

simple ls replacement for very large directories

import from async


out-of-order streaming SSR

how svelte/store could work

rollup-plugin-unpkg behaviour

Unifying Rollup options

SSR and web components

Should `import data from './data.json'` be possible?

Bare imports in manifest


why deopting on `import *` is bad

Is Prepack like Svelte?

Don't ship untranspiled code


Server-push for ES2015 modules on


Two-way binding inside {{#each}} blocks






Please include a repro


Scoped styles

each blocks

If blocks

Hello world!

A better GeoJSON

Non-deterministic module ordering is an even bigger footgun

Why imperative imports are slower than declarative imports

Dynamic module loading done right

Top-level `await` is a footgun

Demonstrating that `~arr.indexOf(key)` is actually faster than `lookup[key]`



V8 lazy parsing slowdown test case

Stuff I wish I'd known sooner about service workers





Redux as a distributable ES6 module

Redux generated with Webpack

Redux generated with Rollup

My eslintrc

ractive-load demo 2

ractive-load demo 1

XHR demo

math.js ES6 example

Backbone adaptor

evaluation speed test

Ractive + AJAX

Setting up event handlers and observers in a Ractive component

Gobble copy transform

Keypath object idea

Why I defected from Broccoli

Using ractive.runtime.js

Rx adaptor

ES6 Promise polyfill

Evaluating expressions within events

rvc.js output

The one-size-fits-all key to Grunt.js happiness

AMD loaders that use local resources during optimisation, but CDN resources in production - possible?


Computed values in Ractive

An explanation of `wrapped.value` in Ractive adaptors

quick and dirty XHR helper

A regular expression that matches any legal JavaScript number, including weird edge cases. If you have a failing test case, let me know!

Utility for making observable objects

SVG utility

A throttling function


Automating gh-pages branch updating with changes to the master branch

Google Spreadsheets parser

jsonp helper


Threshold scale generator, similar to D3's


Reindex an array by a common property

A simple linear scale function generator, similar to D3's

A solution to the problem posed by Mike Pennisi on - per-instance private variables and methods that don't forgo the benefits of prototypal inheritance or rely on obscurity (or ES6)

Add comma separators (e.g. `addCommaSeparators(1234567) === '1,234,567'`)

A bog standard JavaScript CSV parser. Putting it here so I don't need to keep rewriting it or remembering where I put the last one. Usage self-explanatory, will break if you throw weird shit at it (cells with newlines in them, that sort of thing)