1
0
Fork 0
mirror of https://github.com/TryGhost/Ghost-Admin.git synced 2023-12-14 02:33:04 +01:00
Ghost-Admin/Gruntfile.js
Kevin Ansfield 05981fae12 Add grunt init task
refs https://github.com/TryGhost/Ghost/pull/7005
- add `grunt init` task that installs `npm` and `bower` dependencies
- allows Ghost to call this task via subgrunt avoiding the need for a global bower install
2016-06-18 18:33:46 +01:00

87 lines
2.3 KiB
JavaScript

/* global module, require, process */
/* jscs:disable */
var path = require('path'),
escapeChar = process.platform.match(/^win/) ? '^' : '\\',
cwd = process.cwd().replace(/( |\(|\))/g, escapeChar + '$1');
module.exports = function(grunt) {
// Find all of the task which start with `grunt-` and load them, rather than explicitly declaring them all
require('matchdep').filterDev(['grunt-*', '!grunt-cli']).forEach(grunt.loadNpmTasks);
grunt.initConfig({
jshint: {
options: {
jshintrc: true,
ignores: [
'node_modules/**',
'bower_components/**',
'tmp/**',
'dist/**',
'vendor/**'
]
},
all: ['**/*.js']
},
jscs: {
app: {
options: {
config: '.jscsrc',
excludeFiles: [
'node_modules/**',
'bower_components/**',
'tests/**',
'tmp/**',
'dist/**',
'vendor/**'
]
},
files: {
src: ['**/*.js']
}
},
tests: {
options: {
config: 'tests/.jscsrc'
},
files: {
src: [
'tests/**/*.js'
]
}
}
},
shell: {
'npm-install': {
command: 'npm install'
},
'bower-install': {
command: 'bower install'
},
csscombfix: {
command: path.resolve(cwd + '/node_modules/.bin/csscomb -c app/styles/csscomb.json -v app/styles')
},
csscomblint: {
command: path.resolve(cwd + '/node_modules/.bin/csscomb -c app/styles/csscomb.json -lv app/styles')
}
}
});
grunt.registerTask('init', 'Install the client dependencies',
['shell:npm-install', 'shell:bower-install']
);
grunt.registerTask('lint', 'Run the code style checks and linter',
['jshint', 'jscs', 'shell:csscomblint']
);
};