npm package: @marko/prettier
Description: A prettier plugin for parsing and printing Marko files
Author: Dylan Piercey
Latest version: 1.0.0
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

<h1 align="center">
  <!-- Logo -->
  <br/>
  @marko/prettier
	<br/>

  <!-- Language -->
  <a href="http://typescriptlang.org">
    <img src="https://img.shields.io/badge/%3C%2F%3E-typescript-blue.svg" alt="TypeScript"/>
  </a>
  <!-- Format -->
  <a href="https://github.com/prettier/prettier">
    <img src="https://img.shields.io/badge/styled_with-prettier-ff69b4.svg" alt="Styled with prettier"/>
  </a>
  <!-- CI -->
  <a href="https://github.com/marko-js/prettier/actions/workflows/ci.yml">
    <img src="https://github.com/marko-js/prettier/actions/workflows/ci.yml/badge.svg" alt="Build status"/>
  </a>
  <!-- Coverage -->
  <a href="https://codecov.io/gh/marko-js/prettier">
    <img src="https://codecov.io/gh/marko-js/prettier/branch/main/graph/badge.svg?token=v16tZuf0B1"/>
  </a>
  <!-- NPM Version -->
  <a href="https://npmjs.org/package/@marko/prettier">
    <img src="https://img.shields.io/npm/v/@marko/prettier.svg" alt="NPM Version"/>
  </a>
  <!-- Downloads -->
  <a href="https://npmjs.org/package/@marko/prettier">
    <img src="https://img.shields.io/npm/dm/@marko/prettier.svg" alt="Downloads"/>
  </a>
</h1>

A [Prettier](https://prettier.io/) plugin for parsing and printing Marko files.

# Installation

### npm

```console
npm install prettier @marko/prettier -D
```

### yarn

```console
yarn add prettier @marko/prettier -D
```

# Usage

## NPM 6

```console
npx --no-install prettier --write "**/*.marko"
```

## NPM 7

```console
npm exec -- prettier --write "**/*.marko"
```

## Yarn

```console
yarn prettier  --write "**/*.marko"
```

## Editors

Editors such as [Atom](https://atom.io/packages/prettier-atom) and [VSCode](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) provide plugins for calling [Prettier](https://prettier.io/) directly from your editor.

If you'd like to use these plugins **without** installing `@marko/prettier` in the project, you can also install `@marko/prettier` globally with either [npm](https://docs.npmjs.com/downloading-and-installing-packages-globally), [yarn](https://classic.yarnpkg.com/en/docs/cli/global/) or your package manager choice.

# Options

On top of [Prettier's options](https://prettier.io/docs/en/options.html), there are a few additional options picked up by this plugin.

## `markoSyntax: "auto" | "html" | "concise"`

Marko supports both an [html like](https://markojs.com/docs/syntax/) and [concise](https://markojs.com/docs/concise/) syntaxes.
By default this plugin will try to detect the syntax you are already using and output a formatted document in that syntax.

You can overide the default (`"auto"`) to enforce that all templates are formatted to the syntax of your choosing.

## `markoAttrParen: boolean`

For the most part Marko is very flexible when it comes to the [expressions uses within attributes](https://markojs.com/docs/syntax/#attributes).
By default this plugin will not wrap attribute values in parenthesis unless absolutely necessary. By setting this value to true it will instead output parenthesis whenever the attribute value contains any unenclosed whitespace.

# Code of Conduct

This project adheres to the [eBay Code of Conduct](./.github/CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.