Skip to content

Instantly share code, notes, and snippets.

@AndreaPaciolla
Last active February 22, 2017 16:37
Show Gist options
  • Save AndreaPaciolla/d725ff105de0181d4404740f3a66f71a to your computer and use it in GitHub Desktop.
Save AndreaPaciolla/d725ff105de0181d4404740f3a66f71a to your computer and use it in GitHub Desktop.
const path = require('path');
const webpack = require("webpack");
const CommonsChunkPlugin = require(path.resolve(__dirname, "node_modules/webpack/lib/optimize/CommonsChunkPlugin"));
module.exports = {
entry: {
'customer-application': './src/customer-application',
'dwx-widget-dev-menu': './src/app_components/dwx-widget-dev-menu/dwx-widget-dev-menu',
'dwx-widget-goal-dashboard-b': './src/app_components/dwx-widget-goal-dashboard-b/dwx-widget-goal-dashboard-b',
},
output: {
filename: '[name].bundle.js',
path: path.resolve(__dirname, 'bundle')
},
module: {
rules: [
{
test: /\.ts?$/,
loader: 'ts-loader',
options: {
transpileOnly: true
}
}
],
loaders: [
{ test: /angular/, loader: 'exports?angular!imports?jquery' },
{ test: /angular-anltcs/, loader: 'imports?angular' },
{ test: /angular-cache/, loader: 'imports?angular' },
{ test: /angular-datepicker/, loader: 'imports?angular,moment,moment-timezone' },
{ test: /angular-messages/, loader: 'imports?angular' },
{ test: /angular-moment/, loader: 'imports?angular,moment' },
{ test: /angular-resource/, loader: 'imports?angular' },
{ test: /angular-sanitize/, loader: 'imports?angular' },
{ test: /angular-translate/, loader: 'imports?angular' },
{ test: /angular-translate-handler-log/, loader: 'imports?angular-translate' },
{ test: /angular-translate-loader-partial/, loader: 'imports?angular-translate' },
{ test: /angular-translate-loader-static-files/, loader: 'imports?angular-translate' },
{ test: /angular-ui-router/, loader: 'imports?angular' },
{ test: /angular-ui-validate/, loader: 'imports?angular' },
{ test: /c3/, loader: 'exports?c3!imports?d3' },
{ test: /d3/, loader: 'exports?d3' },
{ test: /farbtastic/, loader: 'imports?jquery,jquery-browser' },
{ test: /intl-tel-input/, loader: 'imports?jquery' },
{ test: /jquery/, loader: 'exports?$' },
{ test: /jquery-browser/, loader: 'imports?jquery' },
{ test: /lodash/, loader: 'exports?_' },
{ test: /modernizr/, loader: 'exports?Modernizr' },
{ test: /moment-timezone/, loader: 'imports?moment' },
{ test: /offline/, loader: 'exports?Offline' },
{ test: /ofsui-controls/, loader: 'imports?chartiq' },
{ test: /signalr/, loader: 'imports?jquery' },
{ test: /stomp-websocket/, loader: 'exports?Stomp' },
{ test: /ui-router-extras/, loader: 'imports?angular,angular-ui-router' },
{ test: /vkbeautify/, loader: 'exports?vkbeautify' }
]
},
resolve: {
extensions: [ '.ts', '.tsx', '.js' ],
alias: {
"adapterjs": path.resolve(__dirname, "src/app_components/adapterjs/publish/adapter.min"),
"angular": path.resolve(__dirname, "src/app_components/angular/angular.min"),
"angular-anltcs": path.resolve(__dirname, "src/app_components/angular-anltcs/dist/angular-anltcs.min"),
"angular-bootstrap": path.resolve(__dirname, "src/app_components/angular-bootstrap/ui-bootstrap-tpls.min"),
"angular-cache": path.resolve(__dirname, "src/app_components/angular-cache/dist/angular-cache"),
"angular-datepicker": path.resolve(__dirname, "src/app_components/angular-datepicker/dist/angular-datepicker"),
"angular-messages": path.resolve(__dirname, "src/app_components/angular-messages/angular-messages.min"),
"angular-moment": path.resolve(__dirname, "src/app_components/angular-moment/angular-moment.min"),
"angular-resource": path.resolve(__dirname, "src/app_components/angular-resource/angular-resource.min"),
"angular-sanitize": path.resolve(__dirname, "src/app_components/angular-sanitize/angular-sanitize.min"),
"angular-translate": path.resolve(__dirname, "src/app_components/angular-translate/angular-translate.min"),
"angular-translate-handler-log": path.resolve(__dirname, "src/app_components/angular-translate-handler-log/angular-translate-handler-log.min"),
"angular-translate-loader-partial": path.resolve(__dirname, "src/app_components/angular-translate-loader-partial/angular-translate-loader-partial.min"),
"angular-translate-loader-static-files": path.resolve(__dirname, "src/app_components/angular-translate-loader-static-files/angular-translate-loader-static-files.min"),
"angular-ui-router": path.resolve(__dirname, "src/app_components/angular-ui-router/release/angular-ui-router.min"),
"angular-ui-validate": path.resolve(__dirname, "src/app_components/angular-ui-validate/dist/validate.min"),
"base64": path.resolve(__dirname, "src/app_component/base64/base64.min"),
"c3": path.resolve(__dirname, "src/app_components/c3/c3.min"),
"cldr": path.resolve(__dirname, "src/app_components/cldrjs/dist/cldr"),
"cldr-data": path.resolve(__dirname, "src/app_components/cldr-data"),
"d3": path.resolve(__dirname, "src/app_components/d3/d3.min"),
"eq-js": path.resolve(__dirname, "src/app_components/eq.js/dist/eq.polyfilled.min"),
"eventemitter": path.resolve(__dirname, "src/app_components/eventEmitter/EventEmitter.min"),
"farbtastic": path.resolve(__dirname, "src/app_components/farbtastic/src/farbtastic"),
"favico-js": path.resolve(__dirname, "src/app_components/favico.js/favico"),
"globalize": path.resolve(__dirname, "src/app_components/globalize/dist/globalize"),
"howler": path.resolve(__dirname, "src/app_components/howler/howler.min"),
"howler-js": path.resolve(__dirname, "src/app_components/howler.js/dist/howler"),
"intl-tel-input": path.resolve(__dirname, "src/app_components/intl-tel-input/build/js/intlTelInput"),
"jquery": path.resolve(__dirname, "src/app_components/jquery/dist/jquery"),
"jquery-browser": path.resolve(__dirname, "src/app_components/jquery.browser/dist/jquery.browser"),
"json": path.resolve(__dirname, "src/app_components/requirejs-plugins/src/json"),
"kurento-client": path.resolve(__dirname, "src/app_components/kurento-client/js/kurento-client"),
"kurento-jsonrpc": path.resolve(__dirname, "src/app_components/kurento-jsonrpc/js/kurento-jsonrpc.min"),
"kurento-room": path.resolve(__dirname, "src/app_components/kurento-room/dist/bundle"),
"kurento-utils": path.resolve(__dirname, "src/app_components/kurento-utils/js/kurento-utils.min"),
"lodash": path.resolve(__dirname, "src/app_components/lodash/lodash.min"),
"medium-editor": path.resolve(__dirname, "src/app_components/medium-editor/dist/js/medium-editor"),
"modernizr": path.resolve(__dirname, "src/app_components/modernizr/modernizr"),
"moment": path.resolve(__dirname, "src/app_components/moment/min/moment.min"),
"moment-timezone": path.resolve(__dirname, "src/app_components/moment-timezone/builds/moment-timezone-with-data-2010-2020"),
"ngembed": path.resolve(__dirname, "src/app_components/ng-embed/src/ng-embed"),
"offline": path.resolve(__dirname, "src/app_components/offline/offline"),
"ofsui-controls": path.resolve(__dirname, "src/app_components/ofsui-controls/ofsui-control"),
"require-css": path.resolve(__dirname, "src/app_components/require-css/css"),
"requirejs": path.resolve(__dirname, "src/app_components/requirejs/require"),
"select2": path.resolve(__dirname, "src/app_components/select2/dist/js/select2"),
"signalr": path.resolve(__dirname, "src/app_components/signalr/jquery.signalR"),
"socket-io-client": path.resolve(__dirname, "src/app_components/socket.io-client/socket.io"),
"sockjs-client": path.resolve(__dirname, "src/app_components/sockjs-client/dist/sockjs.min"),
"stomp-websocket": path.resolve(__dirname, "src/app_components/stomp-websocket/lib/stomp.min"),
"sw-toolbox": path.resolve(__dirname, "src/app_components/sw-toolbox/sw-toolbox"),
"sweetalert": path.resolve(__dirname, "src/app_components/sweetalert/lib/sweet-alert"),
"text": path.resolve(__dirname, "src/app_components/requirejs-plugins/lib/text"),
"ua-parser-js": path.resolve(__dirname, "src/app_components/ua-parser-js/src/ua-parser"),
"ui-router-extras": path.resolve(__dirname, "src/app_components/ui-router-extras/release/ct-ui-router-extras"),
"vanilla-color-picker": path.resolve(__dirname, "src/app_components/vanilla-color-picker/dist/vanilla-color-picker.min"),
"vkbeautify": path.resolve(__dirname, "src/app_components/vkbeautify/vkbeautify"),
"webrtcsupport": path.resolve(__dirname, "src/app_components/webrtcsupport/webrtcsupport.bundle")
}
},
plugins: [
new CommonsChunkPlugin({
name: "application-ofsui-commons",
chunks: ["dwx-widget-dev-menu", "dwx-widget-goal-dashboard-b"]
})
]
};
@daniloarcidiacono
Copy link

wow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment