Alphabetizing JSON files. Sort JSON files.
npm install grunt-sort-json> A grunt task for alphabetizing JSON files
If you have any problems setting up or using grunt-sort-json, open an issue. I would be happy to help.
This is an active repository that takes user suggestions, feedback and pull requests seriously. Happy grunting!
~0.4.0If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-sort-json --save-dev
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-sort-json');
sortJSON to the data object passed into grunt.initConfig(). grunt.initConfig({
sortJSON: {
src: [
'translations/english.json',
'translations/french.json'
]
}
});
#### options.spacing
Type: Number
Default value: 4
Number of spaces to indent JSON after sorting. Note there is a hard limit of 10 spaces. See MDN's definition of JSON.stringify for more details.
#### options.jshint
Type: Boolean
Default value: false
Should grunt-sort-json use the rules defined by jshint?
#### options.jshintrc
Type: String
Default value: .jshintrc
Relative path to your project's jshintrc file.
#### Default Options
All you need to do is specify the files to alphabetize as the source files. Here, we opt to use the rules defined by our `.jshintrc file.
`js`
grunt.initConfig({
sortJSON: {
src: [
'translations/english.json',
'translations/french.json'
],
options: {
jshint: true
}
}
});
or
`js``
grunt.initConfig({
sortJSON: {
task: {
src: [
'translations/english.json',
'translations/french.json'
],
options: {
spacing: 6
}
}
}
});
{
"two": "2",
"one": "1",
"3": "three",
"4": {
"b": "b",
"a": "a"
}
}
{
"3": "three",
"4": {
"a": "a",
"b": "b"
},
"one": "1",
"two": "2"
}
> npm install
> npm test
* 2013-05-12 v0.0.1 First version!
---
Task submitted by Andrew Mead