Nutella with Pepperoni and Mushrooms
Miss any of our Open RFC calls?Watch the recordings here! »

@marko/prettyprint

2.2.3 • 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

Install

npm i @marko/prettyprint

DownloadsWeekly Downloads

227

Version

2.2.3

License

MIT

Unpacked Size

62.4 kB

Total Files

42

Last publish

Collaborators

  • avatar
  • avatar
  • avatar
  • avatar
  • avatar