The problem: make require not to throw error when a package is not in installed.
B. Dynamic require:
var react
try {
var a = 'react'
react = require(a) // Cannot find module 'react'
}
catch (e) {}
Once react is included by user, that automatically resolves:
// in userland
require('react')
// in package land
var a = 'react'
require(a) // ok