TypeScript

TypeScript

TypeScript is an open-source programming language developed and maintained by Microsoft. It is a strict syntactical superset of JavaScript and adds optional static typing to the language. TypeScript is designed for development of large applications and trans-compiles to JavaScript.

I love to use TypeScript for open source packages. It makes programming JavaScript easier and shows intent.

Support both Node.js and browser JS in one TypeScript file
Support both Node.js and browser JS in one TypeScript file
JavaScript, Node.js, TypeScript

Support both Node.js and browser JS in one TypeScript file

TypeScript allows for better JavaScript development. JavaScript is getting useful in more domains. But different systems require different ways of handling modules and exposing features. TypeScript solves this by compiling differently when a target is specified.

But what if you need a TypeScript script that supports both vanilla browser JS and Node.js? What if you need to expose 10+ classes?

Convert QUnit test to Mocha / Chai
Convert QUnit test to Mocha / Chai
JavaScript, Node.js, TypeScript

Convert QUnit test to Mocha / Chai

Recently I’ve been playing around with NPM. I switched my unit tests from QUnit to Mocha. This was not as straight forward as one would hope. In this blog I’ll show some example code. At the end I’ll link to a side by side comparison of the entire test project. Hopefully it helps you to convert your code. I’ll be using the Chai BDD assertion engine.

Strongly Typed Events 0.3.0 – now with Signals
Strongly Typed Events 0.3.0 – now with Signals
Strongly Typed Events, TypeScript

Strongly Typed Events 0.3.0 – now with Signals

Turns out that I needed an even smaller type of event: the signal. It is an event that has no data; it just fires. The Strongly Typed Events project started with the IEvent event that was styled after .Net. Then the ISimpleEvent was added in 0.2.0, for scenarios when no sender is necessary. Now I’ve added the ISignal to version 0.3.0.

Strongly Typed Events 0.2.0 – now with Simple Events
Strongly Typed Events 0.2.0 – now with Simple Events
JavaScript, Strongly Typed Events, TypeScript

Strongly Typed Events 0.2.0 – now with Simple Events

A while ago I started a GitHub project for Strongly Typed Events in TypeScript. I’ve uploaded the second version (0.2) with support for ISimpleEvent and I changed the way you can expose the dispatcher as an event. The code is 100% backwards compatible with version 0.1 – you might need to update some references.

Using strongly typed events in TypeScript with interfaces (Part 2)
Using strongly typed events in TypeScript with interfaces (Part 2)
Strongly Typed Events, TypeScript

Using strongly typed events in TypeScript with interfaces (Part 2)

In a previous tutorial I explained how events can be implemented as properties on a class using Strongly Typed Events for TypeScript. Let’s explore how these work on interfaces. Interfaces work a little different, because they don’t have getters and setters on them (at least nog in TypeScript 1.8). Let’s explore how these work on interfaces.