azer / prova

Test runner based on Tape and Browserify

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Coffeeify transform running twice in browser when "browserify" field is defined in package.json

ahutchings opened this issue · comments

My source files are written in CoffeeScript, and I have the coffeeify transform registered under the browserify.transform field in package.json. When I run prova with the --browser flag, I get an error that seems to indicate that the transform is being run twice. If I remove the browserify field from package.json things work fine.

The error:

var MyTestClass, test;
^
ParseError: reserved word "var"

looks like we'll have to remove automatically enabled transforms

any opinions @unc0 ?

But I added browserify.transform field to my gorillascript project's package.json then run my prova tests, the browser test works fine in prova v1.6.0 and v1.13.0.

https://gist.github.com/unc0/42a6cdd91f498a797ec8

@unc0 thanks for the comment, I haven't actually tried myself, it might be a userland error then

Removing automagical transforms seems like a cleaner approach anyway though.

@regular yeah, agree

Users are probably expecting the transforms in their Package.json to be run during tests though... seems that most likely you would most likely want to just dedupe transforms. You would perhaps also want to run the users transforms first. We experienced some grief with this an cssify.

That being said, you could argue that you should explicitly test your transforms in the command... just seems like extra work.

I found this thread after running into the same issue with grunt-browserify

I was hoping to employ the same fix as nikku/karma-browserify#130 but after experimenting with the configure and preBundleCB options of grunt-browserify it appears that the transforms are empty at that point and so cannot be cleared out.