Jonathan Creamer

Living, learning, developing. Write about what I do, what I love, and what I learn. Lonely Planet. JavaScript, React, Ruby, Node, Rails, C#, Microsoft MVP.

  • Home
  • About
  • Talks
  • Xbox
Running Typescript programs with babel-node aka how does babel register work
babel

Running Typescript programs with babel-node aka how does babel register work

Running Typescript programs on demand with babel-node basically uses babel register, but how does babel register work? This post will detail it.

  • Jonathan Creamer
    Jonathan Creamer
7 min read
Understanding typescript generics by example
typescript

Understanding typescript generics by example

Quick intro using real world examples of working with Typescript generics.

  • Jonathan Creamer
    Jonathan Creamer
2 min read
How I fixed webpack tree shaking in 3 easy steps
webpack

How I fixed webpack tree shaking in 3 easy steps

Tree shaking is an important step in Webpack bundling to get rid of unused stuff. This should help describe how to easily get it working.

  • Jonathan Creamer
    Jonathan Creamer
2 min read
Dealing with async jest tests
jest

Dealing with async jest tests

There are several ways to deal with async tests in Jest. The done callback for callback or promise methods, returning promises, or async / await.

  • Jonathan Creamer
    Jonathan Creamer
2 min read
Running Cypress tests in a monorepo
cypress

Running Cypress tests in a monorepo

Cypress is a fantastic testing tool for running your applications in a browser like environment. It can be leveraged in a monorepo to do cross package acceptance and feature testing.

  • Jonathan Creamer
    Jonathan Creamer
4 min read
For of loops in Javascript one loop to rule them all
javascript

For of loops in Javascript one loop to rule them all

For the longest time, for in and for were the main loops you could use to iterate over collections of things in JavaScript. Then we got some fancy array methods like forEach, map,

  • Jonathan Creamer
    Jonathan Creamer
3 min read
WFH pro tips
wfh

WFH pro tips

I've had the privilege of getting to work both in offices, at home 100%, and remote working over the course of my career. There are pros and cons to every approach. My personal

  • Jonathan Creamer
    Jonathan Creamer
3 min read
Announcing Div Ops as the Slack and Reddit communities
divops

Announcing Div Ops as the Slack and Reddit communities

Let's unite around the idea of frontend tooling by creating a #DivOps community.

  • Jonathan Creamer
    Jonathan Creamer
3 min read
How to successfully manage a large scale JavaScript monorepo aka megarepo
monorepo

How to successfully manage a large scale JavaScript monorepo aka megarepo

There are many tools already in the wild for managing a monorepo. This post will discuss using Bolt to manage a monorepo aka megarepo.

  • Jonathan Creamer
    Jonathan Creamer
9 min read
Say bye to monorepos say hello to megarepos

Say bye to monorepos say hello to megarepos

Breaking up a monolith can be a daunting task. Oftentimes a monolith gets broken up into many repos, and sometimes into a monorepo. But, here's the problem I have with the term monorepoo.

  • Jonathan Creamer
    Jonathan Creamer
5 min read
Running Cypress with Docker inside CI

Running Cypress with Docker inside CI

I've been looking at Cypress lately as a solution to do better end to end testing, and even in some cases to just dodge TDD altogether, and rely on seeing my code work

  • Jonathan Creamer
    Jonathan Creamer
1 min read
webpack

How WebPack decides what entry to load from a package.json

Today I was working on creating a node.js bundle using webpack 4, and came across a fun little doozie of an error which lead me to do a bit of code spelunkery

  • Jonathan Creamer
    Jonathan Creamer
2 min read
webpack

WebPack production environment is NOT the NODE_ENV or BABEL_ENV environment variable

A revelation came to me the other day when I was reviewing some of our bundling processes at Eventbrite. We currently run production bundles like this... node --max_old_space_size=4096\ ./node_

  • Jonathan Creamer
    Jonathan Creamer
2 min read
Brite future

Brite future

The past almost 4 years I've spent at Lonely Planet are coming to an end, and I'm excited to be joining the Front End Platform Team at Eventbrite! When I started at Lonely

  • Jonathan Creamer
    Jonathan Creamer
1 min read
Why would you NOT use TypeScript?
react

Why would you NOT use TypeScript?

In a world where JavaScript is arguably the most popular tool for building software these days, it seems like it's everywhere now. With node.js, it's on the backend, with Electron it's native

  • Jonathan Creamer
    Jonathan Creamer
3 min read
JavaScript

Using do expressions in redux reducers

There's an interesting proposal that's stage 1 currently (as of 9/26/2017) called do expressions. Thanks to the magic that is Babel, you can already go ahead and try this out with

  • Jonathan Creamer
    Jonathan Creamer
2 min read
Debugging node and Jest tests with VS Code's debugger
node.js

Debugging node and Jest tests with VS Code's debugger

VS Code has become my favorite IDE for pretty much everything these days. There are so many great features it has to offer including the ability to debug node.js. Here is the

  • Jonathan Creamer
    Jonathan Creamer
1 min read
typescript

Getting started with TypeScript, WebPack, and React

We've been integrating TypeScript more and more into our workflow at Lonely Planet. I wanted to just quickly share how easy it is to get started working with TypeScript and Webpack! It takes

  • Jonathan Creamer
    Jonathan Creamer
1 min read
Testing typescript classes with Jest and Jest Mocks
typescript

Testing typescript classes with Jest and Jest Mocks

Typescript is a powerful way to build applications. It offers type checking to catch errors before they make it to the browser. On top of just utilizing typescript to catch bugs, it's still

  • Jonathan Creamer
    Jonathan Creamer
2 min read
express

Chrome back button in express caching issue solved

While working in a React/express universal app, I created an express route that serves both JSON and HTML sort of like how Rails has a respond_to block. That way if I

  • Jonathan Creamer
    Jonathan Creamer
1 min read
react

Fetching data in a universal react router app with async actions

One of the most difficult things when working in a universal app is fetching data on the client side. With es2017 and the React lifecycle, it can be done easily. I love async

  • Jonathan Creamer
    Jonathan Creamer
3 min read
screencast

How to quickly edit your hosts file on macOS

I had a friend ask me the other day how to edit his hosts file for local development. It's something I take for granted because I'm so used to doing it, but for

  • Jonathan Creamer
    Jonathan Creamer
1 min read
JavaScript

Advanced WebPack Part 3 - Creating a custom notifier plugin

At Lonely Planet we use the heck out of WebPack. It's an incredibly powerful tool. Sometimes it takes a while though. I decided today that rather than watching the command line while it

  • Jonathan Creamer
    Jonathan Creamer
1 min read
JavaScript

WebPack Code splitting with ES6 and Babel 6

Today is the day that finally, we decided it was time to make the move from Babel 5 to 6. It's been on our Technical Debt list for quite a while now. Here's

  • Jonathan Creamer
    Jonathan Creamer
3 min read
JavaScript

Advanced WebPack Part 2 - Code Splitting

WebPack has a feature that utilizes the AMD spec called Code Splitting. What it allows you to do is "split your code" (insert troll face). Seriously, it's an amazing feature. What

  • Jonathan Creamer
    Jonathan Creamer
3 min read
Jonathan Creamer © 2021
Latest Posts Ghost