diff --git a/dist b/dist index b9f9c762ebed9b30c44b1c87b555e89a7257ae58..428d825f4141fd3198bb88aee88a014278c4c856 160000 --- a/dist +++ b/dist @@ -1 +1 @@ -Subproject commit b9f9c762ebed9b30c44b1c87b555e89a7257ae58 +Subproject commit 428d825f4141fd3198bb88aee88a014278c4c856 diff --git a/package.json b/package.json index 6e3a4175950b3aafd3f5f73429beda20d68c3065..3ab51ee8c04ceb10e810eadf6e19265e287800d4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "yjs", - "version": "11.2.0", + "version": "11.2.1", "description": "A framework for real-time p2p shared editing on arbitrary complex data types", "main": "./src/y.js", "scripts": { diff --git a/src/y.js b/src/y.js index 815e5ac2858011ccfb4c1b2ee1b892bf53b4656f..681004ee893a05d9487958255ab514ac1b14bac6 100644 --- a/src/y.js +++ b/src/y.js @@ -50,6 +50,7 @@ function requestModules (modules) { }) promises.push(requireModule.promise) } else { + console.info('YJS: Please do not depend on automatic requiring of modules anymore! Extend modules as follows `require(\'y-modulename\')(Y)`') require(modulename)(Y) } } else { @@ -96,23 +97,25 @@ function Y (opts/* :YOptions */) /* :Promise<YConfig> */ { modules.push(opts.share[name]) } Y.sourceDir = opts.sourceDir - return Y.requestModules(modules).then(function () { - return new Promise(function (resolve, reject) { - if (opts == null) reject('An options object is expected! ') - else if (opts.connector == null) reject('You must specify a connector! (missing connector property)') - else if (opts.connector.name == null) reject('You must specify connector name! (missing connector.name property)') - else if (opts.db == null) reject('You must specify a database! (missing db property)') - else if (opts.connector.name == null) reject('You must specify db name! (missing db.name property)') - else if (opts.share == null) reject('You must specify a set of shared types!') - else { - var yconfig = new YConfig(opts) - yconfig.db.whenUserIdSet(function () { - yconfig.init(function () { - resolve(yconfig) + return new Promise(function (resolve, reject) { + setTimeout(function () { + Y.requestModules(modules).then(function () { + if (opts == null) reject('An options object is expected! ') + else if (opts.connector == null) reject('You must specify a connector! (missing connector property)') + else if (opts.connector.name == null) reject('You must specify connector name! (missing connector.name property)') + else if (opts.db == null) reject('You must specify a database! (missing db property)') + else if (opts.connector.name == null) reject('You must specify db name! (missing db.name property)') + else if (opts.share == null) reject('You must specify a set of shared types!') + else { + var yconfig = new YConfig(opts) + yconfig.db.whenUserIdSet(function () { + yconfig.init(function () { + resolve(yconfig) + }) }) - }) - } - }) + } + }).catch(reject) + }, 0) }) }