Just the steps I follow:

Now sell the new phone :)

Just a quick one. Here’s what I had to do:

npm i jscodeshift mobx-undecorate

And then run:

cd src
npx mobx-undecorate --keepDecorators

And now anything that had decorators gets the `makeObservable(this)` call generated.

PS: I got the error:

node_modules/.bin/jscodeshift: No such file or directory

To fix it I just edited node_modules/.bin/mobx-undecorate to be:

// WAS : path.join("node_modules/.bin/jscodeshift")


Enjoy 🌹

People have asked me to summarize the key value of DesignTSX. Here is my answer ❤️.

There continues to be a strong desire to continue to design with drag and drop even in the land of designing with components.

The tool of choice for building designs has been (and continue…

There are two distinct levels of usefulness of design systems.

Impossible Staircase

As an idea: Static picture

Design ideation thrives on quick drawing tools. You start on paper and end in digital design tools like sketch and figma.

These tools are great for designing a design system. They are also great for building static prototypes. However they…

There is a recent push to start doing digital design / product prototypes in code. In this post we look at how the landscape has evolved to arrive at this capability.

How we used to do things

Prototypes were previously done in digital design tools (like photoshop, sketch) and then prototyping tools (like InVision, Figma) and…

Having been a part of various cross team code reuse conversations as a practice lead, here are my thoughts on architecting for sharing code between projects and teams.

There is the well understood (and maintained) concept of single purpose OSS libraries which you can find all over NPM and I personally write and maintain plenty of those. But beyond single purpose libraries is richer, multi objective code reuse. The current hot example is a component library.

There are…

Having been at this role for a few years now, its a question I have had to tackle on occasion, so its worth jotting down my thoughts for my fellow leaders.

If you ask a room full of people (as I have on occasion) what is “Practice Leadership”, one word…

And I agree with him. He does it in a much more lively manner than myself over at his twitter stream ❤️ so I’ll just quote a few of the quick highlights:

I’ve been a part of directly or indirectly a number of shared libraries with significant cost and development time. So here are my thoughts based on my experience internally and observations of the development community in my circle. Before you continue, remember, these are just my thoughts 🌹

Opaque usage

This is…

I recently worked on the FuseBox module loader to make its Hot Reloading configurable. Before I jump into how that works here is a quick node / modules lesson.

Modules are just fancy globals

You might already know this as a seasoned developer but I’ve seen people of all levels being unaware of this fact…


That TypeScript Guy https://youtube.com/basaratali http://twitter.com/basarat https://github.com/basarat #DefinitelyTyped, #PicnicSoftware

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store