From 01c7fb6fddd8cd6d0296378203613a4a5915e6c5 Mon Sep 17 00:00:00 2001 From: marcovdb Date: Thu, 7 Dec 2017 23:47:16 +0100 Subject: [PATCH 1/2] Update utils.js Update require loader to emit ES5 code when necessary. Needed for Angular 5 AOT compatibility. --- src/utils.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/utils.js b/src/utils.js index f677466..f3fdc5b 100644 --- a/src/utils.js +++ b/src/utils.js @@ -21,13 +21,13 @@ module.exports.getRequireLoader = function(filePath, chunkName, moduleName, inli var requireString = module.exports.getRequireString(filePath, moduleName); var result = [ - 'loadChildren: () => new Promise(function (resolve, reject) {', + 'loadChildren: '+ (isJs ? 'function () { return' : '() =>') + ' new Promise(function (resolve, reject) {', ' ' + (isJs ? 'require' : '(require as any)') + '.ensure([], function (' + (isJs ? 'require' : 'require: any') + ') {', ' resolve(' + requireString + ');', ' }, function () {', ' reject({ loadChunkError: true });', ' }' + module.exports.getChunkName('require', chunkName) + ');', - '})' + '})' + (isJs ? '}' : '') ]; return inline ? result.join('') : result.join('\n'); From fdf0b56bf3ce7b66f5baece58cc11f89ffefeb62 Mon Sep 17 00:00:00 2001 From: marcovdb Date: Thu, 7 Dec 2017 23:48:48 +0100 Subject: [PATCH 2/2] Update utils.spec.js Update test for ES5 require loader --- spec/utils.spec.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/utils.spec.js b/spec/utils.spec.js index 291880c..c081fc6 100644 --- a/spec/utils.spec.js +++ b/spec/utils.spec.js @@ -58,13 +58,13 @@ describe('Utils', function() { it('should return an asynchronous require loadChildren statement with vanilla javascript', function() { var result = [ - 'loadChildren: () => new Promise(function (resolve, reject) {', + 'loadChildren: function () { return new Promise(function (resolve, reject) {', ' require.ensure([], function (require) {', ' resolve(' + getRequireString(path, name) + ');', ' }, function () {', ' reject({ loadChunkError: true });', ' }, \'name\');', - '})' + '})}' ]; getRequireLoader('path', 'name', 'name', true, true).should.eql(result.join('')); });