indent.js - pure code indentation for js, jsx, json, ts, tsx, html, css, less, scss
Fast, minimalistic, pure code indentation. Indents JavaScript, JSON, JSX, Typescript, TSX, CSS, LESS, SCSS, and HTML. Unlike JSBeautify, which adds new lines when reformatting code and changes single line expressions, indent.js preserves new lines in when indenting it. Indent.js is coded with simple, but universal, and unopinionated rules.
Indent.js is thoroughly tested to make sure it correctly indents all styles, and types of code.
If you like this project please leave a star. Your support is greatly appreciated.
Online indent.js demo
You have following options to get indent.js:
- Install with bower:
bower install indent.js
- Install with npm:
npm install indent.js
Download
Usage
Browser Global
var indented = indent.js(code, {tabString: '\t'});
console.log(indented);
Browser using AMD
define(['indent'] , function (indent) {
var indented = indent.js(code, {tabString: '\t'});
console.log(indented);
});
Node/CommonJS
var indent = require('indent');
var indented = indent.js(code, {tabString: ' '});
console.log(indented);
ES6/ES2015 Modules
import indent from 'indent.js';
var indentedJs = indent.js(code);
var indentedTs = indent.ts(code);
var indentedCss = indent.css(code);
var indentedHtml = indent.html(code);
Projects using indent.js:
- Spck Editor - Full-fledged code editor for the web
API Reference
Methods
js(code: String, options: Object): String
ts(code: String, options: Object): String
css(code: String, options: Object): String
html(code: String, options: Object): String
Options
Field | Type | Description |
---|
tabString | string | String to indent the code with. Counts as 1 indent. |
indentHtmlTag | bool | Whether to indent contents inside <html> tag or not. Valid only for html(...) . |
Languages not supported:
- CoffeeScript
- Pug
Getting the project
- Clone the repo.
- Run
npm install
to install dependencies - Run
npm test
to run tests in tests
folder - Run
npm run build
to build the project