npm Package Support
The fact that we can install express through jspm and have React work both client and server without any custom configuration is due to the completely rewritten Node conversion layer in the npm registry endpoint of jspm 0.17.
This layer handles converting the NodeJS resolution algorithm into SystemJS package configuration
for every package installed from npm, handling each resolution difference between the systems
through custom meta and map configuration, respecting Node core libs to work client
and server, as well as supporting the
browser field in the package.json of npm packages.
This support for the
browser field is then managed through the conditional loading
mechanism of SystemJS which is covered in the last two sections of this tutorial.
The above gives us almost complete parity with npm package features, with the remaining limitations of not supporting browserify transforms, npm install hooks, executable bin path creation and native addons.