From 87af86f7c7b51091fa8f22962764c1a5ca10bc55 Mon Sep 17 00:00:00 2001 From: Diego Nieto Cid Date: Tue, 12 Jul 2016 22:21:37 -0300 Subject: [PATCH 1/3] Use react-mounter on Meteor 1.3+ If 'require' is available, use it to gather the dependencies needed to mount the React component that wraps our templates, namely 'react' and 'react-mounter'. This dependencies are not required in 'package.js' because of the warnings in Meteor Guide[1]. In addition, 'kadira:react-layout' and 'react' atmosphere packages are removed to avoid conflicts with NPM packages when 'flow-routing' is used in a Meteor 1.3+ application. Unfortunately this means that applications written for prior versions of Meteor should now explicitly include them. [1] https://guide.meteor.com/writing-atmosphere-packages.html#peer-npm-dependencies --- lib/core.js | 8 ++++++-- package.js | 2 -- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/core.js b/lib/core.js index a3b7e6a..1a850ad 100644 --- a/lib/core.js +++ b/lib/core.js @@ -175,13 +175,17 @@ AccountsTemplates.configureRoute = function(route, options) { // // For now we need to render the main template using BlazeToReact - if (Package['react-runtime']) { + if (require) { + var React = require('react'); + } else if (Package['react-runtime']) { var React = Package['react-runtime'].React; } else { throw new Error("layoutTemplate is a React element but React runtime package is not found"); } - if (Package['kadira:react-layout']) { + if (require) { + var ReactLayout = {render: require('react-mounter').mount}; + } else if (Package['kadira:react-layout']) { var ReactLayout = Package['kadira:react-layout'].ReactLayout; } else { throw new Error("useraccounts:flow-routing requires that your project includes kadira:react-layout package."); diff --git a/package.js b/package.js index 75cbe0e..4041292 100644 --- a/package.js +++ b/package.js @@ -29,9 +29,7 @@ Package.onUse(function(api) { ], ['client', 'server']); api.use([ - 'react@0.14.1_1', 'kadira:blaze-layout@2.3.0', - 'kadira:react-layout@1.5.2', 'gwendall:blaze-to-react@0.1.2' ], ['client', 'server'], { weak: true }); From 46b2965b6289ea84460bacde5733fd1f4a9782cc Mon Sep 17 00:00:00 2001 From: Diego Nieto Cid Date: Wed, 13 Jul 2016 11:34:05 -0300 Subject: [PATCH 2/3] Use ecmascript --- package.js | 1 + 1 file changed, 1 insertion(+) diff --git a/package.js b/package.js index 4041292..16a61de 100644 --- a/package.js +++ b/package.js @@ -21,6 +21,7 @@ Package.onUse(function(api) { 'kadira:flow-router', 'underscore', 'useraccounts:core', + 'ecmascript' ], ['client', 'server']); api.imply([ From e354a7b8b47c8c2a801c1de96370b9b5f2592a0f Mon Sep 17 00:00:00 2001 From: Diego Nieto Cid Date: Wed, 13 Jul 2016 12:55:58 -0300 Subject: [PATCH 3/3] Use gadicc:blaze-react-component ...instead of gwendall's blaze-to-react. --- lib/core.js | 8 ++++---- package.js | 3 ++- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/core.js b/lib/core.js index 1a850ad..7d08030 100644 --- a/lib/core.js +++ b/lib/core.js @@ -191,13 +191,13 @@ AccountsTemplates.configureRoute = function(route, options) { throw new Error("useraccounts:flow-routing requires that your project includes kadira:react-layout package."); } - if (Package['gwendall:blaze-to-react']) { - var BlazeToReact = Package['gwendall:blaze-to-react'].BlazeToReact; + if (Package['gadicc:blaze-react-component']) { + var BlazeToReact = Package['gadicc:blaze-react-component'].default; } else { - throw new Error("useraccounts:flow-routing requires that your project includes the gwendall:blaze-to-react package."); + throw new Error("useraccounts:flow-routing requires that your project includes the gadicc:blaze-react-component package."); } - layoutRegions[contentRegion] = React.createElement(BlazeToReact, { blazeTemplate: template }); + layoutRegions[contentRegion] = React.createElement(BlazeToReact, { template: template }); } function doLayout() { diff --git a/package.js b/package.js index 16a61de..dd5d0ac 100644 --- a/package.js +++ b/package.js @@ -31,7 +31,8 @@ Package.onUse(function(api) { api.use([ 'kadira:blaze-layout@2.3.0', - 'gwendall:blaze-to-react@0.1.2' + //'gwendall:blaze-to-react' + 'gadicc:blaze-react-component' ], ['client', 'server'], { weak: true }); api.addFiles([