@marko/prettyprint

3.0.1 • Public • Published


@marko/prettyprint
API Stability NPM Version Downloads

Prettyprint Marko template files in the syntax of your choice.

CLI

Getting Started

npm install @marko/prettyprint
marko-prettyprint template.marko

or

npx @marko/prettyprint template.marko

Example

# Pretty print a single file.
marko-prettyprint template.marko --syntax html

# Pretty print all Marko files in a directory.
marko-prettyprint . --syntax html

Options

  • --eol: The EOL sequence (defaults to require('os').EOL)
  • --filename: The path to the template being pretty printed (required unless prettyPrintFile(filename, options) is used)
  • --indent: The indent string (defaults to a String with four spaces)
  • --noSemi: If set, will format JS without semicolons.
  • --singleQuote: If set, will prefer single quotes.
  • --maxLen: The max line length (defaults to 80, set to -1 to disable)
  • --configFiles: Should search for .marko-prettyprint/.editorconfig files? (defaults to true)
  • --syntax: The syntax to use. Can either be "html" or "concise" (defaults to "html")

API

Installation

npm install @marko/prettyprint

Example

import {
    prettyPrintFile,
    prettyPrintSource,
    prettyPrintAST
} from "@marko/prettyprint";

prettyPrintFile("./path-to-marko-file", options) // -> Output Marko file string.

prettyPrintSource("<div x=1/>", options) // -> Output Marko file string.

const ast = compiler.parseRaw(...);
prettyPrintAST(ast, options) // -> Output Marko file string.

Configuration files

.marko-prettyprint config file

When pretty printing a Marko template, @marko/prettyprint will search up the directory tree looking for a .marko-prettyprint file. This file should be in the JSON format. For example:

my-project/.marko-prettyprint:

{
  "indent": "\t",
  "syntax": "concise"
}

.editorconfig file

@marko/prettyprint also supports EditorConfig files for configuring maxLen, indent and eol. For example:

my-project/.editorconfig:

root = true

[*.marko]
indent_style = space
indent_size = 8
end_of_line = lf

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 3.0.1
    24
    • latest

Version History

Package Sidebar

Install

npm i @marko/prettyprint

Weekly Downloads

42

Version

3.0.1

License

MIT

Unpacked Size

63.1 kB

Total Files

42

Last publish

Collaborators

  • tigt
  • ryanturnquist
  • dylanpiercey
  • ryansolid
  • mlrawlings
  • agliga