From 7267406d337874ab219ed7ee004fa707d30cb387 Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Tue, 13 Dec 2016 12:45:37 +0000 Subject: [PATCH] webpack config improvements MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - new ‘debug-loader’ to help debugging webpack rules - dynamically find and resolve all alfresco libraries --- demo-shell-ng2/config/loaders/debug.js | 5 ++++ demo-shell-ng2/config/webpack.common.js | 37 ++++++++++--------------- demo-shell-ng2/package.json | 3 +- 3 files changed, 22 insertions(+), 23 deletions(-) create mode 100644 demo-shell-ng2/config/loaders/debug.js diff --git a/demo-shell-ng2/config/loaders/debug.js b/demo-shell-ng2/config/loaders/debug.js new file mode 100644 index 0000000000..841cccf223 --- /dev/null +++ b/demo-shell-ng2/config/loaders/debug.js @@ -0,0 +1,5 @@ +module.exports = function(source) { + this.cacheable(); + console.log(this.resource); + return source; +} diff --git a/demo-shell-ng2/config/webpack.common.js b/demo-shell-ng2/config/webpack.common.js index 148f0c9aef..b21b34c055 100644 --- a/demo-shell-ng2/config/webpack.common.js +++ b/demo-shell-ng2/config/webpack.common.js @@ -4,30 +4,22 @@ var ExtractTextPlugin = require('extract-text-webpack-plugin'); var helpers = require('./helpers'); var path = require('path'); var fs = require('fs'); - -var alfrescoLibs = [ - helpers.root('node_modules', 'alfresco-js-api'), - helpers.root('node_modules', 'ng2-activiti-analytics'), - helpers.root('node_modules', 'ng2-activiti-diagrams'), - helpers.root('node_modules', 'ng2-activiti-form'), - helpers.root('node_modules', 'ng2-activiti-processlist'), - helpers.root('node_modules', 'ng2-activiti-tasklist'), - helpers.root('node_modules', 'ng2-alfresco-core'), - helpers.root('node_modules', 'ng2-alfresco-datatable'), - helpers.root('node_modules', 'ng2-alfresco-documentlist'), - helpers.root('node_modules', 'ng2-alfresco-login'), - helpers.root('node_modules', 'ng2-alfresco-search'), - helpers.root('node_modules', 'ng2-alfresco-tag'), - helpers.root('node_modules', 'ng2-alfresco-upload'), - helpers.root('node_modules', 'ng2-alfresco-userinfo'), - helpers.root('node_modules', 'ng2-alfresco-viewer'), - helpers.root('node_modules', 'ng2-alfresco-webscript') -].map((entry) => fs.realpathSync(entry)); - -// console.dir(alfrescoLibs); +var glob = require('glob'); const rootPath = helpers.root('node_modules'); +let pattern = '+(alfresco-js-api|ng2-alfresco|ng2-activiti)*'; +let options = { + cwd: rootPath, + realpath: true +}; + +let alfrescoLibs = glob.sync(pattern, options); +// console.dir(alfrescoLibs); + +// Uncomment if you need all node_modules folders for Alfresco components +// let alfrescoLibsModules = alfrescoLibs.map(p => path.join(p, 'node_modules')); + module.exports = { entry: { 'polyfills': './app/polyfills.ts', @@ -50,7 +42,8 @@ module.exports = { resolveLoader: { alias: { - 'systemjs-loader': helpers.root('config', 'loaders', 'system.js') + 'systemjs-loader': helpers.root('config', 'loaders', 'system.js'), + 'debug-loader': helpers.root('config', 'loaders', 'debug.js') }, fallback: rootPath }, diff --git a/demo-shell-ng2/package.json b/demo-shell-ng2/package.json index 85dab5d284..9b8bec95be 100644 --- a/demo-shell-ng2/package.json +++ b/demo-shell-ng2/package.json @@ -124,7 +124,8 @@ "webpack-merge": "^0.14.0", "source-map-loader": "^0.1.5", "script-loader": "^0.7.0", - "copy-webpack-plugin": "^4.0.1" + "copy-webpack-plugin": "^4.0.1", + "glob": "^7.1.1" }, "license-check-config": { "src": [