Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit

The module store, runtime and symbol polyfills need access to the global
object. This was done by checking the existence of window, global, self
and falling back to this if none were defined. This can fail for two
reasons. First, 'this' should be expected to be set to undefined during
module definitions (as is the case for symbols.js), thus rendering the
fallback useless. Secondly some JavaScript implementations (e.g. JavaScript
-Core Framework) might not even define a name for the global object that
could be accessed within modules.
By using the Function-Constructor we create a new function in non-strict
mode which has its thisArg set to the global object if no other thisArg
is provided.

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Join the chat at Build Status

Traceur logo

What is Traceur?

Traceur is a compiler that allows you to use features from the future today. Traceur supports ES6 as well as some experimental features.

Traceur's goal is to inform the design of new JavaScript features which are only valuable if they allow you to write better code. Traceur allows you to try out new and proposed language features today, helping you say what you mean in your code while informing the standards process.

JavaScript's evolution needs your input. Try out the new language features. Tell us how they work for you and what's still causing you to use more boilerplate and "design patterns" than you prefer.

What now? What can Traceur do for me?

Read the Getting Started page to get up and running. You can use some language features right now and even try it out in your browser here. Just type in some code and see what Traceur produces. For an idea of what is available and what we have in the pipeline, see the Language Features page.

The JSConf 2011 presentation of Traceur describes the goals of the project and what it can do today. Some documentation is on the wiki on this site. Extra demos are in the source repository.

We also presented Traceur at NodeConf 2011. The video is available on YouTube.

Questions, suggestions, and comments can be directed to the discussion group.