I am building an app with Meteor, React and Material-ui. I add material-ui based on docs from http://react-in-meteor.readthedocs.org/en/latest/client-npm/. My app with no package structure run ok either with 1.1.0.2 or with 1.1.0.3 version.
Yesterday, I decided to rebuild my app based on package structure. I created my first package mypackage:lib (based on Telescope package structure) and I put all packages there. My package looks like
Npm.depends({
'externalify': '0.1.0',
'material-ui': '0.10.4',
'react-tap-event-plugin': '0.1.7',
'marked': "0.3.4"
});
Package.onUse(function (api) {
api.versionsFrom('1.1.0.2');
var packages = [
'react',
'reactive-var',
'accounts-facebook',
'accounts-password',
'fastclick',
'less'
]
api.use(packages);
api.imply(packages);
api.addFiles([
'lib/app.browserify.options.json',
'lib/app.browserify.js'
], 'client');
api.export([
'mui',
'marked',
'injectTapEventPlugin'
], 'client')
});
(My app.browserify.js and app.browserify.options.json have the same code as the code from example at github https://github.com/meteor/react-packages/tree/master/examples/material-ui-leaderboard/client/lib)
I removed all packages from .meteor/packages (except meteor-platform) and I run my app. It worked fine with 1.1.0.2 version.
When Ι was update the app with meteor update
and I changed Meteor version on my package
api.versionsFrom('1.1.0.2'); => api.versionsFrom('1.1.0.3');
and run it again, I got an error
Uncaught TypeError: Cannot read property 'require' of undefined
This error occurs when try to execute
mui = require("material-ui")
from app.browserify.js
Am I doing something wrong? I tried to remove app.browserify.js.cached, app.browserify.js.map and .npm folder from mypackage:lib before I run again the app but nothing.