Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/martinkolarik/babel-plugin-dedent
Remove indentation from multiline template strings
https://github.com/martinkolarik/babel-plugin-dedent
babel indentation javascript nodejs
Last synced: 3 months ago
JSON representation
Remove indentation from multiline template strings
- Host: GitHub
- URL: https://github.com/martinkolarik/babel-plugin-dedent
- Owner: MartinKolarik
- License: mit
- Created: 2015-05-03T15:52:40.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-10-09T12:42:46.000Z (over 4 years ago)
- Last Synced: 2024-10-14T19:41:19.950Z (3 months ago)
- Topics: babel, indentation, javascript, nodejs
- Language: JavaScript
- Size: 59.6 KB
- Stars: 32
- Watchers: 2
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# babel-plugin-dedent
Removes indentation from multiline template strings. Works with both tabs and spaces.
Not using Babel? [Here's a runtime version of this plugin.](https://github.com/MartinKolarik/dedent-js)
## Installation
```
$ npm install babel babel-plugin-dedent
$ babel --plugins dedent script.js
```### Babel v6+
v2.x.x of this plugin is required. Older versions are not compatible with Babel v6+.
## Usage
Indentation will be removed from all strings tagged with `dedent` tag (you can also use `dedent` as a function, if you need to use your own tag).
```js
expect(dedent`Line #1
Line #2
Line #3`).to.equal('Line #1\nLine #2\nLine #3');// Leading/trailing line break is removed.
expect(
dedent`
Line #1
Line #2
Line #3
`
).to.equal('Line #1\nLine #2\nLine #3');// No more than one leading/trailing line break is removed.
expect(
dedent`Line #1
Line #2
Line #3`
).to.equal('\nLine #1\nLine #2\nLine #3\n');// Only the "base" indentation is removed.
expect(
dedent`
Line #1
Line #2
Line #3
`
).to.equal('Line #1\n\tLine #2\n\t\tLine #3');// The last line is ignored if it doesn't contain anything else than whitespace.
expect(
function () {
return dedent`
Line #1
Line #2
Line #3
`;
}()
).to.equal('Line #1\nLine #2\nLine #3');// Escaped characters are ignored.
expect(
dedent`
\tLine #1
\tLine #2
\tLine #3
`
).to.equal('\tLine #1\n\tLine #2\n\tLine #3');
```## License
Copyright (c) 2015 - 2020 Martin Kolárik. Released under the MIT license.