Now using Traceur

The primary motivation behind this was the concise function syntax, but
other features like block-level scoping, templating, and variable object
keys are quite convenient. I'm sure I'll be using others in this project as
well.

This may raise the question: isn't it odd using something that provides
class support in a library that is intended to augment GNU ease.js, which is
itself a class framework? Well, no, not really: GNU ease.js provides many
more powerful features that ES6/7 do not, which will be showcased
extensively in this library. ease.js will still work well with native
EMCAScript and interop will be adjusted as needed, but ease.js will not
become irrelevant.
master
Mike Gerwitz 2014-05-05 00:14:09 -04:00 committed by Mike Gerwitz
parent 3944d439ec
commit ef4040e13a
3 changed files with 37 additions and 2 deletions

View File

@ -34,6 +34,6 @@ modindex: $(nsindex)
test: check
check:
@PATH="$(PATH):$(CURDIR)/node_modules/mocha/bin" \
mocha --recursive $(TESTARGS)
mocha --recursive --compilers js:./test/bootstrap $(TESTARGS)
FORCE:

View File

@ -15,7 +15,8 @@
},
"dependencies": {
"easejs": ">=0.2.2"
"easejs": ">=0.2.2",
"traceur": "*"
},
"devDependencies": {
"chai": ">=1.9.1",

34
test/bootstrap.js 100644
View File

@ -0,0 +1,34 @@
/**
* Traceur bootstrap for test cases
*
* Copyright (C) 2014 Mike Gerwitz
*
* This file is part of jsTonic.
*
* jstonic is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
var traceur = require( 'traceur' );
// do not compile any dependencies (node_modules)
var badpath = __dirname.replace( /\/[^\/]+$/, '/node_modules' );
traceur.options.blockBinding = true;
traceur.options.symbols = true;
traceur.require.makeDefault( function( filename )
{
// compile only relative directories (so not external modules)
return !( filename.match( badpath ) );
} );