Closed Bug 1211914 Opened 6 years ago Closed 4 years ago

Add nodejs/npm to MozillaBuild

Categories

(mozilla.org :: MozillaBuild, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: standard8, Assigned: RyanVM)

References

(Blocks 1 open bug)

Details

As a developer, I should be able to use some of the high quality packages (such as eslint, react-tools, various css linters etc) whilst developing Firefox on Windows.

Devtools, Hello and Fennec have already enabled eslint, as well as using react in places.

Having nodejs included with MozillaBuild will simplify the setup for those users (as evidenced by the first time contributor having issues in bug 1206683), even if we haven't yet worked out all the details of enabling it in the build system.
Also, here's what we suggest for developers to do on windows, after having installed MozillaBuild and then Node:

https://wiki.mozilla.org/Loop/Development#Windows_Specific
I can take a look at this.
Assignee: nobody → ryanvm
Gonna take another look at this for 2.3 at Standard8's request.
I was able to add nodejs 7.10.0 without any obvious issues. I then installed react-tools and eslint via |npm install -g <package>| and everything appears to work fine. However, I can't actually run ./mach eslint because it fails to find my nodejs installation (even though calling eslint directly works fine).

--------------------------------
$ ./mach eslint
nodejs v6.9.1 is either not installed or is installed to a non-standard path.
Please install nodejs from https://nodejs.org and try again.
--------------------------------

Looks like maybe setup_helper.py needs some updating? Right now, I've got it extracted to <mozillabuild>\nodejs.
https://dxr.mozilla.org/mozilla-central/source/tools/lint/eslint/setup_helper.py#229

Also, are there any npm modules we want to ship by default with MozillaBuild?
Flags: needinfo?(standard8)
(In reply to Ryan VanderMeulen [:RyanVM] from comment #4)
> Looks like maybe setup_helper.py needs some updating? Right now, I've got it
> extracted to <mozillabuild>\nodejs.
> https://dxr.mozilla.org/mozilla-central/source/tools/lint/eslint/
> setup_helper.py#229

Do we have an env var for MozillaBuild's path? I'd be happy to add a hook for that in there as well.
 
> Also, are there any npm modules we want to ship by default with MozillaBuild?

I don't think there are - the eslint setup should install everything that is required.
Flags: needinfo?(standard8)
It's added to $PATH when the shell starts via https://hg.mozilla.org/mozilla-build/file/tip/msys/misc/profile-extravars.sh. We also export $MOZILLABUILD when start-shell.bat runs.
I put together a package that includes nodejs if you want to test it out locally too.
https://drive.google.com/file/d/0BxocUovXDf0iSXJwRXdsWG11NFE/view?usp=sharing
I'll test it out tomorrow.
Flags: needinfo?(standard8)
It looks good, I'll fix finding node in the path in bug 1342715.
Flags: needinfo?(standard8)
Thanks! Consider it included in the next release then :)
Pushed by ryanvm@gmail.com:
https://hg.mozilla.org/mozilla-build/rev/b4c5f97ad27a
Add nodejs/npm to MozillaBuild. r=Standard8
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.