Anyone else experiencing issues with Iron Router? I just ran meteor update and now I can’t load a template.
Also getting this in the Chrome console:
Exception in callback of async function: ReferenceError: EJSON is not defined
at MiddlewareStack.concat (http://localhost:3000/packages/iron_middleware-stack.js?ff70621b6c5f6a406edc60600c4b76126dae21d6:303:25)
at RouteController._runRoute (http://localhost:3000/packages/iron_router.js?dd5fa02859b6335661b94134bd9903be8eecf44d:542:17)
at Function.Route.dispatch (http://localhost:3000/packages/iron_router.js?dd5fa02859b6335661b94134bd9903be8eecf44d:856:18)
at route (http://localhost:3000/packages/iron_router.js?dd5fa02859b6335661b94134bd9903be8eecf44d:713:11)
at boundNext (http://localhost:3000/packages/iron_middleware-stack.js?ff70621b6c5f6a406edc60600c4b76126dae21d6:425:31)
at Meteor.bindEnvironment (http://localhost:3000/packages/meteor.js?637cc835a2ee4a2302a010c9a4c97b906db5f41c:1007:22)
at dispatch (http://localhost:3000/packages/iron_middleware-stack.js?ff70621b6c5f6a406edc60600c4b76126dae21d6:449:3)
at Tracker.Computation._compute (http://localhost:3000/packages/tracker.js?16c53d4f91467c6a41bbb860bf6c48f871710022:357:36)
at new Tracker.Computation (http://localhost:3000/packages/tracker.js?16c53d4f91467c6a41bbb860bf6c48f871710022:245:10)
They have restructured the packages within the meteor repository now, and not all of them are inside one big wrapper package as they were before. Iron Router will likely have to update it’s dependencies to use EJSON again.
Following @korus90 's recommendation will make EJSON available everywhere in your application, which is a workaround. The correct solution would be for IronRouter and any other package which requires it, update their api.use dependencies.
So until the iron router package is updated to include this ejson change, we use the workaround you suggested. After iron:router makes the fix, we would do a meteor reset, and manually re-add all the packages in our project? So I would have to keep a list of all packages that I’m using, or is there a way meteor knows which packages were included before the reset?
Just want to make sure I’m understanding how meteor reset works properly.
I think meteor reset just resets the database. Your best bet will be to simply update iron:router when the update is out and then do meteor remove ejson to get rid of it (since you shouldn’t need it anymore).