From b912ec82810fd03cc04fdc4cea0a59ffd8734cd4 Mon Sep 17 00:00:00 2001 From: Ben Newman Date: Fri, 17 Apr 2015 19:04:42 -0400 Subject: [PATCH] Move initialization of Accounts and Meteor.users into globals_*.js. --- packages/accounts-base/accounts_client.js | 13 ------------- packages/accounts-base/accounts_server.js | 17 ----------------- packages/accounts-base/globals_client.js | 12 ++++++++++++ packages/accounts-base/globals_server.js | 16 ++++++++++++++++ packages/accounts-base/package.js | 6 ++++++ 5 files changed, 34 insertions(+), 30 deletions(-) create mode 100644 packages/accounts-base/globals_client.js create mode 100644 packages/accounts-base/globals_server.js diff --git a/packages/accounts-base/accounts_client.js b/packages/accounts-base/accounts_client.js index c98931f621..4b974b6475 100644 --- a/packages/accounts-base/accounts_client.js +++ b/packages/accounts-base/accounts_client.js @@ -406,16 +406,3 @@ if (Package.blaze) { return Meteor.loggingIn(); }); } - -/** - * @namespace Accounts - * @summary The namespace for all client-side accounts-related methods. - */ -Accounts = new AccountsClient(); - -/** - * @summary A [Mongo.Collection](#collections) containing user documents. - * @locus Anywhere - * @type {Mongo.Collection} - */ -Meteor.users = Accounts._users; diff --git a/packages/accounts-base/accounts_server.js b/packages/accounts-base/accounts_server.js index a4f7f388c6..b1fdda87e4 100644 --- a/packages/accounts-base/accounts_server.js +++ b/packages/accounts-base/accounts_server.js @@ -1460,20 +1460,3 @@ Ap._deleteSavedTokensForAllUsersOnStartup = function () { }); }); }; - -/** - * @namespace Accounts - * @summary The namespace for all server-side accounts-related methods. - */ -Accounts = new AccountsServer(); - -// Users table. Don't use the normal autopublish, since we want to hide -// some fields. Code to autopublish this is in accounts_server.js. -// XXX Allow users to configure this collection name. - -/** - * @summary A [Mongo.Collection](#collections) containing user documents. - * @locus Anywhere - * @type {Mongo.Collection} - */ -Meteor.users = Accounts._users; diff --git a/packages/accounts-base/globals_client.js b/packages/accounts-base/globals_client.js new file mode 100644 index 0000000000..03135a2687 --- /dev/null +++ b/packages/accounts-base/globals_client.js @@ -0,0 +1,12 @@ +/** + * @namespace Accounts + * @summary The namespace for all client-side accounts-related methods. + */ +Accounts = new AccountsClient(); + +/** + * @summary A [Mongo.Collection](#collections) containing user documents. + * @locus Anywhere + * @type {Mongo.Collection} + */ +Meteor.users = Accounts.users; diff --git a/packages/accounts-base/globals_server.js b/packages/accounts-base/globals_server.js new file mode 100644 index 0000000000..5cdc01cb19 --- /dev/null +++ b/packages/accounts-base/globals_server.js @@ -0,0 +1,16 @@ +/** + * @namespace Accounts + * @summary The namespace for all server-side accounts-related methods. + */ +Accounts = new AccountsServer(Meteor.server); + +// Users table. Don't use the normal autopublish, since we want to hide +// some fields. Code to autopublish this is in accounts_server.js. +// XXX Allow users to configure this collection name. + +/** + * @summary A [Mongo.Collection](#collections) containing user documents. + * @locus Anywhere + * @type {Mongo.Collection} + */ +Meteor.users = Accounts.users; diff --git a/packages/accounts-base/package.js b/packages/accounts-base/package.js index b497996d5d..cc72499651 100644 --- a/packages/accounts-base/package.js +++ b/packages/accounts-base/package.js @@ -47,6 +47,12 @@ Package.onUse(function (api) { api.addFiles('accounts_client.js', 'client'); api.addFiles('url_client.js', 'client'); api.addFiles('localstorage_token.js', 'client'); + + // These files instantiate the default Accounts instance on the server + // and the client, so they must be evaluated last to ensure that the + // prototypes have been fully populated. + api.addFiles('globals_server.js', 'server'); + api.addFiles('globals_client.js', 'client'); }); Package.onTest(function (api) {