Skip to content

Commit 35850ba

Browse files
committed
feat(format): add code formatting
Close angular#143
1 parent 3af9e6c commit 35850ba

File tree

5 files changed

+51
-2
lines changed

5 files changed

+51
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Language: JavaScript
2+
BasedOnStyle: Google
3+
ColumnLimit: 100

addon/ng2/blueprints/ng2/files/package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,13 @@
1010
},
1111
"scripts": {
1212
"start": "ng server",
13-
"postinstall": "typings install --ambient"
13+
"postinstall": "typings install --ambient",
14+
"format": "clang-format -i -style=file --glob=src/**/*.ts"
1415
},
1516
"private": true,
1617
"dependencies": {
1718
"angular2": "2.0.0-beta.3",
19+
"clang-format": "^1.0.35",
1820
"es6-promise": "^3.0.2",
1921
"es6-shim": "^0.33.3",
2022
"reflect-metadata": "0.1.2",

addon/ng2/commands/format.js

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
/* jshint node: true */
2+
'use strict';
3+
4+
var Command = require('ember-cli/lib/models/command');
5+
var FormatTask = require('../tasks/format');
6+
7+
module.exports = Command.extend({
8+
name: 'format',
9+
description: 'Formats code in existing project',
10+
works: 'insideProject',
11+
run: function() {
12+
var formatTask = new FormatTask({
13+
ui: this.ui,
14+
analytics: this.analytics,
15+
project: this.project
16+
});
17+
18+
return formatTask.run();
19+
}
20+
});

addon/ng2/index.js

+2-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ module.exports = {
88
'new' : require('./commands/new'),
99
'init' : require('./commands/init'),
1010
'install' : require('./commands/install'),
11-
'uninstall' : require('./commands/uninstall')
11+
'uninstall' : require('./commands/uninstall'),
12+
'format' : require('./commands/format')
1213
};
1314
}
1415
};

addon/ng2/tasks/format.js

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
/* jshint node: true */
2+
'use strict';
3+
4+
var Promise = require('ember-cli/lib/ext/promise');
5+
var Task = require('ember-cli/lib/models/task');
6+
var exec = Promise.denodeify(require('child_process').exec);
7+
8+
module.exports = Task.extend({
9+
run: function() {
10+
var chalk = require('chalk');
11+
var ui = this.ui;
12+
13+
return exec('npm run format')
14+
.then(function() {
15+
ui.writeLine(chalk.green('Successfully formatted files.'));
16+
})
17+
.catch(function( /*error*/ ) {
18+
ui.writeLine(chalk.red(
19+
'Couldn\'t do \'npm run format\'. Please check this script exists in your package.json.'
20+
));
21+
});
22+
}
23+
});

0 commit comments

Comments
 (0)