https://github.com/terrierscript/grunt-lineending
Grunt plugin for change line ending
https://github.com/terrierscript/grunt-lineending
Last synced: 3 months ago
JSON representation
Grunt plugin for change line ending
- Host: GitHub
- URL: https://github.com/terrierscript/grunt-lineending
- Owner: terrierscript
- License: mit
- Created: 2013-03-16T13:37:38.000Z (almost 13 years ago)
- Default Branch: master
- Last Pushed: 2016-12-15T11:14:35.000Z (about 9 years ago)
- Last Synced: 2025-01-15T15:50:20.961Z (about 1 year ago)
- Language: JavaScript
- Size: 22.5 KB
- Stars: 13
- Watchers: 3
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE-MIT
Awesome Lists containing this project
README
# grunt-lineending [](https://travis-ci.org/suisho/grunt-lineending)
> Convert line ending like `dos2unix` ( or `unix2dos`) command on Grunt.
## Getting Started
This plugin requires Grunt `~0.4.0`
If you haven't used [Grunt](http://gruntjs.com/) before, be sure to check out the [Getting Started](http://gruntjs.com/getting-started) guide, as it explains how to create a [Gruntfile](http://gruntjs.com/sample-gruntfile) as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
```shell
npm install grunt-lineending --save-dev
```
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
```js
grunt.loadNpmTasks('grunt-lineending');
```
*This plugin was designed to work with Grunt 0.4.x.*
## Lineending task
_Run this task with the `grunt lineending` command._
Task targets, files and options may be specified according to the grunt [Configuring tasks](http://gruntjs.com/configuring-tasks) guide.
### Overview
In your project's Gruntfile, add a section named `lineending` to the data object passed into `grunt.initConfig()`.
### Options
#### eol
Type: `String`
Choices: `'lf'`, `'cr'`, `'crlf'`
Default: `grunt.util.linefeed` value
### Usage Examples
#### Example Config
```javascript
grunt.initConfig({
lineending: { // Task
dist: { // Target
options: { // Target options
eol: 'crlf'
},
files: { // Files to process
'/path/to/target': ['test/fixtures/file']
}
}
}
});
grunt.loadNpmTasks('grunt-lineending');
grunt.registerTask('default', ['lineending']);
```
#### Default Options
By default convert line ending to lf(\n).
```js
grunt.initConfig({
lineending: {
your_target: {
'/path/to/output': ['/path/to/target']
},
}
});
```
#### Convert files manually
```js
grunt.initConfig({
lineending: {
dist: {
options: {
eol: 'crlf'
},
files: {
"./tmp/to_crlf/cr": ["./test/fixtures/cr"],
"./tmp/to_crlf/crlf": ["./test/fixtures/crlf"],
"./tmp/to_crlf/lf": ["./test/fixtures/lf"]
}
}
}
});
```
#### Convert all files
```js
grunt.initConfig({
lineending: {
dist: {
options: {
eol: 'crlf'
},
files: [{
expand: true,
cwd: './',
src: ['test/fixtures/*'],
dest: 'tmp/to_crlf/'
}]
}
}
});
```
#### Convert files in-place (overwrite)
(This is experimental option)
Set `overwrite` option to `true` (default is `false`). The destination is ignored and can be set to `''`.
This option only overwrites a source file if the line endings need to be updated otherwise it leaves the file untouched.
```js
grunt.initConfig({
lineending: {
dist: {
options: {
overwrite: true
},
files: {
'': ['test/fixtures/*']
}
}
}
});
```
## Contributing
In lieu of a formal styleguide, take care to maintain the existing coding style. Add unit tests for any new or changed functionality. Lint and test your code using [Grunt](http://gruntjs.com/).
## Release History
* 2013-05-26 v0.1.1 Remove console.log
* 2013-03-16 v0.1.0 Initial release.