Skip to content

Commit

Permalink
chore(all): new build, contrib and lint
Browse files Browse the repository at this point in the history
  • Loading branch information
EisenbergEffect committed Feb 6, 2015
1 parent b5d2dec commit 40e9b32
Show file tree
Hide file tree
Showing 13 changed files with 161 additions and 136 deletions.
3 changes: 3 additions & 0 deletions .jshintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
"esnext": true
}
3 changes: 3 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Contributing

We'd love for you to contribute and to make this project even better than it is today! If this interests you, please begin by reading [our contributing guidelines](https://github.com/DurandalProject/about/blob/master/CONTRIBUTING.md). The contributing document will provide you with all the information you need to get started. Once you have read that, you will need to also [sign our CLA](http://goo.gl/forms/dI8QDDSyKR) before we can accept a Pull Request from you. More information on the process is included in the [contributor's guide](https://github.com/DurandalProject/about/blob/master/CONTRIBUTING.md).
4 changes: 0 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,3 @@ To run the unit tests, first ensure that you have followed the steps above in or
```shell
karma start
```

## Contributing

We'd love for you to contribute to our source code and to make this project even better than it is today! If this interests you, please begin by reading [our contributing guidelines](https://github.com/DurandalProject/about/blob/master/CONTRIBUTING.md). The contributing document will provide you with all the information you need to get started. Once you have read that, you will need to also [sign our CLA](http://goo.gl/forms/dI8QDDSyKR) before we can accepts a Pull Request from you. More information on the process is including in the [contributor's guide](https://github.com/DurandalProject/about/blob/master/CONTRIBUTING.md).
23 changes: 23 additions & 0 deletions build/6to5-options.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
module.exports = {
filename: '',
filenameRelative: '',
blacklist: [],
whitelist: [],
modules: '',
sourceMap: true,
sourceMapName: '',
sourceRoot: '',
moduleRoot: '',
moduleIds: false,
experimental: false,
format: {
comments: false,
compact: false,
indent: {
parentheses: true,
adjustMultilineComment: true,
style: " ",
base: 0
}
}
};
14 changes: 14 additions & 0 deletions build/paths.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
var path = require('path');

var appRoot = 'src/';

module.exports = {
root: appRoot,
source: appRoot + '**/*.js',
html: appRoot + '**/*.html',
style: 'styles/**/*.css',
output: 'dist/',
doc:'./doc',
e2eSpecsSrc: 'test/e2e/src/*.js',
e2eSpecsDist: 'test/e2e/dist/'
};
37 changes: 37 additions & 0 deletions build/tasks/build.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
var gulp = require('gulp');
var runSequence = require('run-sequence');
var to5 = require('gulp-6to5');
var paths = require('../paths');
var compilerOptions = require('../6to5-options');
var assign = Object.assign || require('object.assign');

gulp.task('build-es6', function () {
return gulp.src(paths.source)
.pipe(gulp.dest(paths.output + 'es6'));
});

gulp.task('build-commonjs', function () {
return gulp.src(paths.source)
.pipe(to5(assign({}, compilerOptions, {modules:'common'})))
.pipe(gulp.dest(paths.output + 'commonjs'));
});

gulp.task('build-amd', function () {
return gulp.src(paths.source)
.pipe(to5(assign({}, compilerOptions, {modules:'amd'})))
.pipe(gulp.dest(paths.output + 'amd'));
});

gulp.task('build-system', function () {
return gulp.src(paths.source)
.pipe(to5(assign({}, compilerOptions, {modules:'system'})))
.pipe(gulp.dest(paths.output + 'system'));
});

gulp.task('build', function(callback) {
return runSequence(
'clean',
['build-es6', 'build-commonjs', 'build-amd', 'build-system'],
callback
);
});
9 changes: 9 additions & 0 deletions build/tasks/clean.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
var gulp = require('gulp');
var paths = require('../paths');
var del = require('del');
var vinylPaths = require('vinyl-paths');

gulp.task('clean', function() {
return gulp.src([paths.output])
.pipe(vinylPaths(del));
});
10 changes: 10 additions & 0 deletions build/tasks/dev.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
var gulp = require('gulp');
var tools = require('aurelia-tools');

gulp.task('update-own-deps', function(){
tools.updateOwnDependenciesFromLocalRepositories();
});

gulp.task('build-dev-env', function () {
tools.buildDevEnv();
});
14 changes: 14 additions & 0 deletions build/tasks/doc.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
var gulp = require('gulp');
var tools = require('aurelia-tools');
var paths = require('../paths');
var yuidoc = require('gulp-yuidoc');

gulp.task('doc-generate', function(){
return gulp.src(paths.source)
.pipe(yuidoc.parser(null, 'api.json'))
.pipe(gulp.dest(paths.doc));
});

gulp.task('doc', ['doc-generate'], function(){
tools.transformAPIModel(paths.doc);
});
10 changes: 10 additions & 0 deletions build/tasks/lint.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
var gulp = require('gulp');
var paths = require('../paths');
var jshint = require('gulp-jshint');
var stylish = require('jshint-stylish');

gulp.task('lint', function() {
return gulp.src(paths.source)
.pipe(jshint())
.pipe(jshint.reporter(stylish));
});
35 changes: 35 additions & 0 deletions build/tasks/prepare-release.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
var gulp = require('gulp');
var runSequence = require('run-sequence');
var paths = require('../paths');
var changelog = require('conventional-changelog');
var fs = require('fs');
var bump = require('gulp-bump');

gulp.task('bump-version', function(){
return gulp.src(['./package.json'])
.pipe(bump({type:'patch'})) //major|minor|patch|prerelease
.pipe(gulp.dest('./'));
});

gulp.task('changelog', function(callback) {
var pkg = JSON.parse(fs.readFileSync('./package.json', 'utf-8'));

return changelog({
repository: pkg.repository.url,
version: pkg.version,
file: paths.doc + '/CHANGELOG.md'
}, function(err, log) {
fs.writeFileSync(paths.doc + '/CHANGELOG.md', log);
});
});

gulp.task('prepare-release', function(callback){
return runSequence(
'build',
'lint',
'bump-version',
'doc',
'changelog',
callback
);
});
132 changes: 1 addition & 131 deletions gulpfile.js
Original file line number Diff line number Diff line change
@@ -1,131 +1 @@
var gulp = require('gulp');
var runSequence = require('run-sequence');
var del = require('del');
var vinylPaths = require('vinyl-paths');
var to5 = require('gulp-6to5');
var jshint = require('gulp-jshint');
var stylish = require('jshint-stylish');
var yuidoc = require("gulp-yuidoc");
var changelog = require('conventional-changelog');
var assign = Object.assign || require('object.assign');
var fs = require('fs');
var bump = require('gulp-bump');
var tools = require('aurelia-tools');

var path = {
source:'src/**/*.js',
output:'dist/',
doc:'./doc'
};

var compilerOptions = {
filename: '',
filenameRelative: '',
blacklist: [],
whitelist: [],
modules: '',
sourceMap: true,
sourceMapName: '',
sourceFileName: '',
sourceRoot: '',
moduleRoot: '',
moduleIds: false,
experimental: false,
format: {
comments: false,
compact: false,
indent: {
parentheses: true,
adjustMultilineComment: true,
style: " ",
base: 0
}
}
};

var jshintConfig = {esnext:true};

gulp.task('clean', function() {
return gulp.src([path.output])
.pipe(vinylPaths(del));
});

gulp.task('build-es6', function () {
return gulp.src(path.source)
.pipe(gulp.dest(path.output + 'es6'));
});

gulp.task('build-commonjs', function () {
return gulp.src(path.source)
.pipe(to5(assign({}, compilerOptions, {modules:'common'})))
.pipe(gulp.dest(path.output + 'commonjs'));
});

gulp.task('build-amd', function () {
return gulp.src(path.source)
.pipe(to5(assign({}, compilerOptions, {modules:'amd'})))
.pipe(gulp.dest(path.output + 'amd'));
});

gulp.task('build-system', function () {
return gulp.src(path.source)
.pipe(to5(assign({}, compilerOptions, {modules:'system'})))
.pipe(gulp.dest(path.output + 'system'));
});

gulp.task('lint', function() {
return gulp.src(path.source)
.pipe(jshint(jshintConfig))
.pipe(jshint.reporter(stylish));
});

gulp.task('doc-generate', function(){
return gulp.src(path.source)
.pipe(yuidoc.parser(null, 'api.json'))
.pipe(gulp.dest(path.doc));
});

gulp.task('doc', ['doc-generate'], function(){
tools.transformAPIModel(path.doc);
});

gulp.task('bump-version', function(){
return gulp.src(['./bower.json', './package.json'])
.pipe(bump({type:'patch'})) //major|minor|patch|prerelease
.pipe(gulp.dest('./'));
});

gulp.task('changelog', function(callback) {
var pkg = JSON.parse(fs.readFileSync('./package.json', 'utf-8'));

return changelog({
repository: pkg.repository.url,
version: pkg.version,
file: path.doc + '/CHANGELOG.md'
}, function(err, log) {
fs.writeFileSync(path.doc + '/CHANGELOG.md', log);
});
});

gulp.task('build', function(callback) {
return runSequence(
'clean',
['build-es6', 'build-commonjs', 'build-amd', 'build-system'],
callback
);
});

gulp.task('update-own-deps', function(){
tools.updateOwnDependenciesFromLocalRepositories();
});

gulp.task('prepare-release', function(callback){
return runSequence(
'build',
'lint',
'bump-version',
'doc',
'changelog',
callback
);
});
require('require-dir')('build/tasks');
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
}
},
"devDependencies": {
"aurelia-tools": "git://github.com/aurelia/tools.git",
"aurelia-tools": "^0.1.0",
"conventional-changelog": "0.0.11",
"del": "^1.1.0",
"gulp": "^3.8.10",
Expand All @@ -47,6 +47,7 @@
"karma-jasmine": "^0.3.2",
"karma-jspm": "^1.0.1",
"object.assign": "^1.0.3",
"require-dir": "^0.1.0",
"run-sequence": "^1.0.2",
"vinyl-paths": "^1.0.0"
},
Expand Down

0 comments on commit 40e9b32

Please sign in to comment.