Tierney Cyren

Who I Am

I'm Tierny Cyren, a Senior Cloud Developer Advocate at Microsoft. I do work on JavaScript, including Node.js, Electron, TC39, npm, and the OpenJS Foundation.

Blog

Conditional Exports: Supporting both import and require(), part of the ESM in Node.js series

Now that we've both gone over how to make Node.js implicitly and explicitly parse your code as ESM, we can get into some of the more meaty and interesting bits of ESM in Node.js. Continue reading

Implicit ESM in Node.js with "type": "module", part of the ESM in Node.js series

Continuing the Node.js ESM content, I'd like to talk about the comparitively straightforward alternative to using .mjs to get your Node.js applications to run as ECMAScript Modules (ESM) rather than CommonJS: including "type": "module" in your package.json. Continue reading

Explicit ESM in Node.js with .mjs, part of the ESM in Node.js series

A while ago, Node.js introduced support for ECMAScript Modules (ESM). ESM is the standardized modules implementation that's been built-in to JavaScript. This differs rather significantly from CommonJS (CJS), which is the module system that Node.js has shipped with for over a decade that make them relatively incompatible. Continue reading

Markdown Link Checking in GitHub with Actions

Having been a part of the Node.js project since the io.js 1.0 announcement, one of the things I've grown extremely familiar with is how untouched Markdown documents that are supposed to provide a foundation can rot over time. Continue reading

The New npm diff Command

With the recent release of npm@7, we've gotten a few neat new features in npm.

One of the ones that I imagine can go under the radar for most folks is the npm diff command. It's a relatively... advanced command that has immense potential utility. Continue reading

Securely Automating npm publish with the New npm Automation Tokens

Today, npm has shipped automation tokens 🎉

Previously, if you wanted to automatically publish an npm module from CI/CD you had a choice - have 2FA turned off and allow publishing via a token or have 2FA turned on and build a custom tool to allow you to input a 2FA code when your CI/CD is trying to publish. Continue reading

Jest and the `--changedSince` flag in GitHub Actions CI

Recently, I've been working a lot more with GitHub Actions - both writing actions and creating CI pipelines for projects. Last week I picked up a project I started a bit ago: the nodejs/examples repository. Continue reading

An Unintentionally Comprehensive Introduction to GitHub Actions CI

We're currently approaching GitHub Actions v2 shipping publicly for everyone to use. I'm personally super excited about this because it means I don't need to configure an external service to run my CI – I can slap in some YAML, and I'm off with a cross-platform (!) CI system with multiple versions of Node.js installed. Continue reading

The Awesome Features that Just Landed with Node.js v12

This week, we saw the release of Node.js v12, the next Node.js release line that will become LTS. I wanted to go through the various posts that went out and the changelog and condense the information into an easily consumable digest of what's new in Node.js v12.x to share with everyone. 💖 Continue reading

Using npx and npm scripts to Reduce the Burden of Developer Tools

On Friday, I was working on a workshop-ified version of Step by Step Express for Flawless Hacks in Brooklyn.

In the workshop-ified version, I've modified each step so there is an app.js and an app.complete.js so that attendees could start with a clean slate from the previous step and know what they're aiming for to complete in the step that they're working on. Continue reading

My 🔥 First Experience Attending TC39

A few weeks ago I had the opportunity to attend TC39, the ECMA technical committee that defines the ECMAScript specification, for the first time. As a first-timer, the experience wasn't what I expected and I want to share what it was like being there. I'd like to share that experience with y'all 💖 Continue reading