Skip to content

Commit b9e4ebb

Browse files
Tom ManionTom Manion
authored andcommitted
First addition of gulp. Webpack and Browser Sync working
1 parent d09a403 commit b9e4ebb

File tree

8 files changed

+117
-67
lines changed

8 files changed

+117
-67
lines changed

gulp/clean.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
var gulp = require('gulp');
2+
var clean = require('gulp-clean');
3+
4+
gulp.task('clean', function() {
5+
return gulp.src('__build__', {read: false}).pipe(clean());
6+
});

gulp/default.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
var gulp = require('gulp');
2+
gulp.task('default', function() {
3+
gulp.run('serve');
4+
});

gulp/serve.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
var gulp = require('gulp');
2+
var webpack = require('webpack-stream');
3+
var webpackConfig = require('../webpack.config.js');
4+
var browserSync = require('browser-sync');
5+
6+
gulp.task('serve', ['webpack', 'watch'], function() {
7+
var server = {
8+
baseDir: ['./', 'src/public']
9+
};
10+
browserSync.instance = browserSync.init({
11+
startPath: '/',
12+
server: server,
13+
browser: 'default'
14+
});
15+
});

gulp/watch.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
var gulp = require('gulp');
2+
var browserSync = require('browser-sync');
3+
4+
gulp.task('watch', function() {
5+
gulp.watch('src/*{,*/*}.*', ['reload-webpack']);
6+
});
7+
8+
gulp.task('reload-webpack', ['webpack'], function() {
9+
browserSync.reload();
10+
});

gulp/webpack.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
var gulp = require('gulp');
2+
var webpack = require('webpack-stream');
3+
var webpackConfig = require('../webpack.config.js');
4+
var browserSync = require('browser-sync');
5+
6+
gulp.task('webpack', ['clean'], function() {
7+
return gulp.src(webpackConfig.entry.app)
8+
.pipe(webpack(webpackConfig))
9+
.pipe(gulp.dest(webpackConfig.output.path));
10+
});

gulpfile.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
var requireDir = require('require-dir');
2+
requireDir('./gulp');

package.json

Lines changed: 70 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -1,66 +1,70 @@
1-
{
2-
"name": "angular2.0-App",
3-
"version": "0.0.0",
4-
"description": "An Angular 2.0 sample app using Webpack",
5-
"main": "",
6-
"scripts": {
7-
"build": "npm run build:dev && npm run build:prod",
8-
"build:dev": " npm run env:dev npm run webpack --colors --display-error-details --display-cached",
9-
"build:prod": "npm run env:prod npm run webpack --colors --display-error-details --display-cached",
10-
"webpack": "webpack",
11-
"clean": "rm -rf node_modules && rm -rf tsd_typings",
12-
"watch": "webpack --watch",
13-
"server": "webpack-dev-server --inline --colors --display-error-details --display-cached --port 3000",
14-
"express": "NODE_ENV=development node ./server/express-server-example.js",
15-
"express:dev": " npm run env:dev node ./server/express-server-example.js",
16-
"express:prod": "npm run env:prod node ./server/express-server-example.js",
17-
"express-install": "npm install express connect-history-api-fallback morgan body-parser",
18-
"env:dev": "NODE_ENV=development",
19-
"env:prod": "NODE_ENV=production",
20-
"webdriver-update": "webdriver-manager update",
21-
"webdriver-start": "webdriver-manager start",
22-
"preprotractor": "npm run webdriver-update",
23-
"protractor": "protractor",
24-
"e2e": "npm run protractor",
25-
"test": "karma start",
26-
"postinstall": "tsd reinstall --overwrite",
27-
"prestart": "npm install",
28-
"start": "npm run server"
29-
},
30-
"license": "MIT",
31-
"bugs": {
32-
"url": "https://github.com/1337programming/angular2.0-App/issues"
33-
},
34-
"dependencies": {
35-
"angular2": "2.0.0-alpha.34",
36-
"reflect-metadata": "^0.1.0",
37-
"rtts_assert": "2.0.0-alpha.34",
38-
"rx": "^2.5.3",
39-
"zone.js": "^0.5.2"
40-
},
41-
"devDependencies": {
42-
"css-loader": "^0.15.1",
43-
"exports-loader": "^0.6.2",
44-
"expose-loader": "^0.7.0",
45-
"file-loader": "^0.8.1",
46-
"imports-loader": "^0.6.3",
47-
"json-loader": "^0.5.1",
48-
"karma": "^0.13.3",
49-
"karma-chrome-launcher": "^0.2.0",
50-
"karma-coverage": "^0.4.2",
51-
"karma-jasmine": "^0.3.5",
52-
"karma-phantomjs-launcher": "^0.2.0",
53-
"karma-sourcemap-loader": "^0.3.5",
54-
"karma-webpack": "^1.7.0",
55-
"phantomjs": "^1.9.17",
56-
"protractor": "^2.1.0",
57-
"raw-loader": "^0.5.1",
58-
"style-loader": "^0.12.2",
59-
"tsd": "^0.6.3",
60-
"typescript": "^1.5.3",
61-
"typescript-simple-loader": "^0.3.2",
62-
"url-loader": "^0.5.5",
63-
"webpack": "^1.10.5",
64-
"webpack-dev-server": "^1.10.1"
65-
}
66-
}
1+
{
2+
"name": "angular2.0-App",
3+
"version": "0.0.0",
4+
"description": "An Angular 2.0 sample app using Webpack",
5+
"main": "",
6+
"scripts": {
7+
"build": "npm run build:dev && npm run build:prod",
8+
"build:dev": " npm run env:dev npm run webpack --colors --display-error-details --display-cached",
9+
"build:prod": "npm run env:prod npm run webpack --colors --display-error-details --display-cached",
10+
"webpack": "webpack",
11+
"clean": "rm -rf node_modules && rm -rf tsd_typings",
12+
"watch": "webpack --watch",
13+
"server": "webpack-dev-server --inline --colors --display-error-details --display-cached --port 3000",
14+
"express": "NODE_ENV=development node ./server/express-server-example.js",
15+
"express:dev": " npm run env:dev node ./server/express-server-example.js",
16+
"express:prod": "npm run env:prod node ./server/express-server-example.js",
17+
"express-install": "npm install express connect-history-api-fallback morgan body-parser",
18+
"env:dev": "NODE_ENV=development",
19+
"env:prod": "NODE_ENV=production",
20+
"webdriver-update": "webdriver-manager update",
21+
"webdriver-start": "webdriver-manager start",
22+
"preprotractor": "npm run webdriver-update",
23+
"protractor": "protractor",
24+
"e2e": "npm run protractor",
25+
"test": "karma start",
26+
"postinstall": "tsd reinstall --overwrite",
27+
"prestart": "npm install",
28+
"start": "npm run server"
29+
},
30+
"license": "MIT",
31+
"bugs": {
32+
"url": "https://github.com/1337programming/angular2.0-App/issues"
33+
},
34+
"dependencies": {
35+
"angular2": "2.0.0-alpha.34",
36+
"reflect-metadata": "^0.1.0",
37+
"rtts_assert": "2.0.0-alpha.34",
38+
"rx": "^2.5.3",
39+
"zone.js": "^0.5.2"
40+
},
41+
"devDependencies": {
42+
"browser-sync": "^2.8.2",
43+
"css-loader": "^0.15.1",
44+
"exports-loader": "^0.6.2",
45+
"expose-loader": "^0.7.0",
46+
"file-loader": "^0.8.1",
47+
"gulp-clean": "^0.3.1",
48+
"imports-loader": "^0.6.3",
49+
"json-loader": "^0.5.1",
50+
"karma": "^0.13.3",
51+
"karma-chrome-launcher": "^0.2.0",
52+
"karma-coverage": "^0.4.2",
53+
"karma-jasmine": "^0.3.5",
54+
"karma-phantomjs-launcher": "^0.2.0",
55+
"karma-sourcemap-loader": "^0.3.5",
56+
"karma-webpack": "^1.7.0",
57+
"phantomjs": "^1.9.17",
58+
"protractor": "^2.1.0",
59+
"raw-loader": "^0.5.1",
60+
"require-dir": "^0.3.0",
61+
"style-loader": "^0.12.2",
62+
"tsd": "^0.6.3",
63+
"typescript": "^1.5.3",
64+
"typescript-simple-loader": "^0.3.2",
65+
"url-loader": "^0.5.5",
66+
"webpack": "^1.10.5",
67+
"webpack-dev-server": "^1.10.1",
68+
"webpack-stream": "^2.1.0"
69+
}
70+
}

webpack.config.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,6 @@ var config = {
121121
/\.spec\.ts$/,
122122
/\.e2e\.ts$/,
123123
/web_modules/,
124-
/test/,
125124
/node_modules/
126125
]
127126
}

0 commit comments

Comments
 (0)