diff --git a/sample-components/sampleComponent-2/package.json b/sample-components/sampleComponent-2/package.json index ee0e39d5..15ae723f 100644 --- a/sample-components/sampleComponent-2/package.json +++ b/sample-components/sampleComponent-2/package.json @@ -13,7 +13,9 @@ "build:prod": "webpack --progress -p", "prestart": "npm run build", "server": "nodemon dist/server/index.js", + "debug:server": "node-nightly --inspect --debug-brk dist/server/index.js", "start": "npm run server", + "debug:start": "npm run build && npm run debug:server", "predebug": "npm run build", "debug:build": "node-nightly --inspect --debug-brk node_modules/webpack/bin/webpack.js", "debug": "node --debug-brk dist/server/index.js" @@ -36,15 +38,15 @@ "@angular/platform-browser-dynamic": "2.0.0", "@angular/platform-server": "2.0.0", "@angular/router": "3.0.0", - "angular2-platform-node": "~2.0.4", - "angular2-universal": "~2.0.4", - "angular2-universal-polyfills": "~2.0.4", - "angular2-express-engine": "~2.0.4", + "angular2-platform-node": "~2.0.11", + "angular2-universal": "~2.0.11", + "angular2-universal-polyfills": "~2.0.11", + "angular2-express-engine": "~2.0.11", "body-parser": "^1.15.2", "express": "^4.14.0", "methods": "~1.1.2", "rxjs": "5.0.0-beta.12", - "zone.js": "~0.6.21" + "zone.js": "0.6.21" }, "devDependencies": { "@angularclass/resolve-angular-routes": "^1.0.9", @@ -53,19 +55,22 @@ "@types/cookie-parser": "^1.3.29", "@types/express": "^4.0.32", "@types/express-serve-static-core": "^4.0.33", + "@types/hammerjs": "^2.0.32", "@types/mime": "0.0.28", "@types/node": "^6.0.38", "@types/serve-static": "^1.7.27", "angular2-template-loader": "^0.4.0", "cookie-parser": "^1.4.3", + "imports-loader": "^0.6.5", "json-loader": "^0.5.4", "nodemon": "^1.10.0", "raw-loader": "^0.5.1", "rimraf": "^2.5.4", + "string-replace-loader": "github:gdi2290/string-replace-loader", "ts-loader": "^0.8.2", "ts-node": "^1.3.0", "typescript": "2.0.0", - "webpack": "^2.1.0-beta.22", + "webpack": "2.1.0-beta.22", "webpack-dev-middleware": "^1.6.1", "webpack-dev-server": "^2.1.0-beta.0", "webpack-merge": "^0.13.0" diff --git a/sample-components/sampleComponent-2/src/server.ts b/sample-components/sampleComponent-2/src/server.ts index 21f61053..1601374e 100644 --- a/sample-components/sampleComponent-2/src/server.ts +++ b/sample-components/sampleComponent-2/src/server.ts @@ -47,7 +47,7 @@ function ngApp(req, res) { preboot: false, baseUrl: '/', requestUrl: req.originalUrl, - originUrl: req.hostname + originUrl: 'http://localhost:3000' }); } // Routes with html5pushstate diff --git a/sample-components/sampleComponent-2/tsconfig.json b/sample-components/sampleComponent-2/tsconfig.json index 02adde85..28216892 100644 --- a/sample-components/sampleComponent-2/tsconfig.json +++ b/sample-components/sampleComponent-2/tsconfig.json @@ -18,7 +18,8 @@ "express-serve-static-core", "mime", "node", - "serve-static" + "serve-static", + "hammerjs" ] }, "exclude": [ diff --git a/sample-components/sampleComponent-2/webpack.config.ts b/sample-components/sampleComponent-2/webpack.config.ts index f70d9498..be6c8239 100644 --- a/sample-components/sampleComponent-2/webpack.config.ts +++ b/sample-components/sampleComponent-2/webpack.config.ts @@ -8,8 +8,6 @@ var commonConfig = { extensions: ['', '.ts', '.js', '.json'] }, module: { - preLoaders: [ - ], loaders: [ // TypeScript { test: /\.ts$/, loaders: ['ts-loader', 'angular2-template-loader'] }, @@ -53,7 +51,33 @@ var serverConfig = { path: root('dist/server'), libraryTarget: 'commonjs2' }, - externals: checkNodeImport, + module: { + preLoaders: [ + { test: /angular2-material/, loader: "imports-loader?window=>global" } + ], + }, + externals: includeClientPackages([ + // include these client packages so we can transform their source with webpack loaders + '@angular2-material/button', + '@angular2-material/button', + '@angular2-material/card', + '@angular2-material/checkbox', + '@angular2-material/core', + '@angular2-material/grid', + '@angular2-material/icon', + '@angular2-material/input', + '@angular2-material/list', + '@angular2-material/menu', + '@angular2-material/progress', + '@angular2-material/progress', + '@angular2-material/radio', + '@angular2-material/sidenav', + '@angular2-material/slider', + '@angular2-material/slide', + '@angular2-material/tabs', + '@angular2-material/toolbar', + '@angular2-material/tooltip' + ]), node: { global: true, __dirname: true, @@ -88,6 +112,14 @@ module.exports = [ webpackMerge({}, defaultConfig, commonConfig, serverConfig) ]; +function includeClientPackages(packages) { + return function(context, request, cb) { + if (packages && packages.indexOf(request) !== -1) { + return cb(); + } + return checkNodeImport(context, request, cb); + }; +} // Helpers function checkNodeImport(context, request, cb) { if (!path.isAbsolute(request) && request.charAt(0) !== '.') {