jashkenas / jashkenas/coffeescript

Support CoffeeScript on the new `deno` JavaScript engine

Open
#5,150 32 comments 24 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement help wanted
Dominant language
CoffeeScript
Stars
16.6k
Forks
2k
PR merge metrics
No merged PRs in 30d

Description

This is a **feature request** to see what is needed to support running CoffeeScript on the new [`deno`](https://deno.land/) js engine (see https://deno.land/).

The original author of [`node`](https://nodejs.org) is Ryan Dahl (@ry). After a decade of experience, there are several things that he would do over if he could do it all over again _de novo_ (thus, the name `deno`). There is an [excellent video](https://youtu.be/M3BM9TB-8yA) where he describes the rationale to start from scratch and build a modern, secure JavaScript runtime on V8. The `deno` engine (analogous to what `node` is), is a single binary executable written in `rust` that embeds the V8 engine and supports ES6 modules natively. Package management is also greatly simplified.

The `deno` engine has native support for additional languages such as TypeScript. It does this by automatically transpiling TypeScript code within an isolate and then feeding the transpiled js to the `deno` engine. Normal JavaScript is fed directly to the V8 engine. While `deno` isn't done yet, it would be great to be able to bring the beauty and [succinctness](http://www.paulgraham.com/power.html) of CoffeeScript to `deno` and this issue is an initial attempt to see what is needed to do so.

What I am requesting is to see if we can add support for CoffeeScript to be supported as a first-class isolate like TypeScript.

@GeoffreyBooth or @jashkenas, is this an ok place to raise the question?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no repository files or tests. Start by examining Deno’s TypeScript transpilation and isolate path alongside CoffeeScript’s compiler output, then define the integration boundary and validation needed for first-class support; done means a supported CoffeeScript workflow runs on Deno.

Written by the indexing model from the issue text.

Assessment

Tech stack
coffeescript, deno
Domain
tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.