ugrás a tartalomhoz

Gulp + babel + jasmine

inf · 2015. Nov. 3. (K), 01.13
Sikerült valakinek működésre bírnia ezt a hármat? :-)

Én most ezzel próbálkozom nodejs teszteléshez, de nem megy:

var gulp = require("gulp"),
    jasmine = require("gulp-jasmine"),
    babel = require("gulp-babel");

module.exports = function () {
    gulp.src(["index.js", "src/**/*.js", "spec/**/*[sS]pec.js"])
        .pipe(babel({
            "global": true
        }))
        .pipe(jasmine())
};
Ilyen hibaüzenetet dob:

events.js:141
      throw er; // Unhandled 'error' event
      ^
SyntaxError: Unexpected reserved word
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:414:25)
    at Object.Module._extensions..js (module.js:442:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:311:12)
    at Module.require (module.js:366:17)
    at require (module.js:385:17)
    at D:\creation\software developer\projects\javascript-project-template\node_modules\jasmine\lib\jasmine.js:63:5
    at Array.forEach (native)
    at Jasmine.loadSpecs (D:\creation\software developer\projects\javascript-project-template\node_modules\jasmine\lib\jasmine.js:62:18)


Próbálkoztam babel 5x-el is, mert ez a 6-os verzió elég bugosnak tűnik. Az eredmény teljesen ugyanez.

Egy srác ajánlotta, hogy írjam be, hogy global: true. Arra meg 5.x-en ezt dobta (6-on is valami hasonló volt az eredmény)

events.js:141
      throw er; // Unhandled 'error' event
      ^
ReferenceError: [BABEL] D:\creation\software developer\projects\javascript-project-template\index.js: Unknown option: direct.global
    at Logger.error (D:\creation\software developer\projects\javascript-project-template\node_modules\gulp-babel\node_modules\babel-core\lib\transformation\file\logger.js:58:11)
    at OptionManager.mergeOptions (D:\creation\software developer\projects\javascript-project-template\node_modules\gulp-babel\node_modules\babel-core\lib\transformation\file\options\option-manager.js:126:29)
    at OptionManager.init (D:\creation\software developer\projects\javascript-project-template\node_modules\gulp-babel\node_modules\babel-core\lib\transformation\file\options\option-manager.js:216:10)
    at File.initOptions (D:\creation\software developer\projects\javascript-project-template\node_modules\gulp-babel\node_modules\babel-core\lib\transformation\file\index.js:147:75)
    at new File (D:\creation\software developer\projects\javascript-project-template\node_modules\gulp-babel\node_modules\babel-core\lib\transformation\file\index.js:137:22)
    at Pipeline.transform (D:\creation\software developer\projects\javascript-project-template\node_modules\gulp-babel\node_modules\babel-core\lib\transformation\pipeline.js:164:16)
    at DestroyableTransform._transform (D:\creation\software developer\projects\javascript-project-template\node_modules\gulp-babel\index.js:30:20)
    at DestroyableTransform.Transform._read (D:\creation\software developer\projects\javascript-project-template\node_modules\gulp-babel\node_modules\through2\node_modules\readable-stream\lib\_stream_transform.js:172:10)
    at DestroyableTransform.Transform._write (D:\creation\software developer\projects\javascript-project-template\node_modules\gulp-babel\node_modules\through2\node_modules\readable-stream\lib\_stream_transform.js:160:12)
    at doWrite (D:\creation\software developer\projects\javascript-project-template\node_modules\gulp-babel\node_modules\through2\node_modules\readable-stream\lib\_stream_writable.js:333:12)


Én arra következtetek, hogy nem fordítódik le az ES6 kód mielőtt elérne a jasmine-hez, és ezért hasal el, de nem igazán értek ehhez a babel-hez.

Újratelepítést már próbáltam a 6-os verziónál, nem ment, ugyanezeket a hibákat kaptam utána is, és telepítésnél ugyanúgy hibákat dobott, mint előtte. Az 5-ös verzió hiba nélkül felment.

5.x-el karmával már sikerült működésre bírni, szóval a hiba nem a fordított kódban van, ami egyébként itt elérhető: link. Most éppen azzal küzdök, hogy a nodejs-el is tudjam tesztelni anélkül, hogy külön mappába bemásolnék mindent. A browserify bundle esetében sajnos nem működött a source map, mert kiütötte a jasmine reporter. Nem akarom újraírni a jasmine-t, szóval azért próbálkozom most inkább a gulp-babel és gulp-jasmine párosításával, hátha azokkal valami csoda folytán működik ugyanúgy, mint karmánál. Ha van bármi ötletetek, ne fogjátok vissza magatokat! :-)
 
1

Kiderült közben, hogy a két

inf · 2015. Nov. 3. (K), 21.03
Kiderült közben, hogy a két lib nem kompatibilis, a gulp-jasmine csak fájlokon tud dolgozni. A javasolt kerülőút a babel/register használata, ami be is vált.