Skip to content
less opinionated code formatter fork of prettier
JavaScript CSS TypeScript HTML Other
Branch: dev
Clone or download
Pull request Compare This branch is 4 commits behind brodybits:dev.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.azure-pipelines
bin
changelog_unreleased
docs
scripts
src
tests
tests_config
tests_integration
website
.codecov.yml
.eslintignore
.eslintrc.yml
.flowconfig
.gitattributes
.gitignore
.ignore
.pre-commit-hooks.yaml
.prettierignore
.prettierrc
.yarnrc
CHANGELOG.md
CODE_OF_CONDUCT.md
CONTRIBUTING.md
LICENSE
README.md
azure-pipelines.yml
commands.md
cspell.json
index.js
jest.config.js
package.json
standalone.js
tsconfig.json
yarn.lock

README.md

prettierx - less opinionated code formatter fork of prettier

License: MIT npm Build Status

Unofficial fork, intended to provide some additional options to help improve consistency with feross/standard and Flet/semistandard. This fork is an attempt to pick up where arijs/prettier-miscellaneous left off.

Language parsers are supported with old language parsers deprecated as if this were prettier version 1.18.0.

Minimum Node.js version supported: Node.js 8 - deprecated; Node.js 10 is recommended as described in: brodybits/prettierx#6

prettierx as a Prettier plugin

Provides the additional formatting options in a prettier plugin (or two).

Status: experimental

Major TODO items:

  • support option to use Babel parser to parse TypeScript ref: brodybits/prettierx#54
  • support the additional formatting options from the command line, somehow

ref: brodybits/prettierx#8

CLI Usage

Quick CLI usage:

prettierx <options> <file(s)>

Additional prettierx options

Option Default value CLI Override API Override Description
Align object properties false --align-object-properties alignObjectProperties: <bool> Align colons in multiline object literals (not applied with any of the JSON parsers).
Space before function parentheses false --space-before-function-paren spaceBeforeFunctionParen: <bool> Put a space before function parenthesis.
Spaces around the star (*) in generator functions false --generator-star-spacing generatorStarSpacing: <bool> Add spaces around the star (*) in generator functions (before and after - from eslint).
Spaces around the star (*) in yield* expressions false --yield-star-spacing yieldStarSpacing: <bool> Add spaces around the star (*) in yield* expressions (before and after - from eslint).
Indent chains true --no-indent-chains indentChains: <bool> Print indents at the start of chained calls.
Align ternary lines true --no-align-ternary-lines alignTernaryLines: <bool> Align ternary lines in case of multiline ternery term (default behavior, which is in conflict with ESLint/StandardJS behavior). Should be disabled for consistency with ESLint/StandardJS behavior.
paren spacing false --paren-spacing parenSpacing: <bool> Print spaces between parens, WordPress style.

standard-like formatting

The following options should be used to format the code according to standard js:

  • --generator-star-spacing (generatorStarSpacing: true)
  • --space-before-function-paren (spaceBeforeFunctionParen: true)
  • --single-quote (singleQuote: true)
  • --jsx-single-quote (jsxSingleQuote: true)
  • --no-semi (semi: false)
  • --yield-star-spacing (yieldStarSpacing: true)
  • --no-align-ternary-lines (alignTernaryLines: false)

Note that this tool does not follow any of the other standard js rules. It is recommended to use this tool together with eslint, in some form, to achive correct formatting according to standard js.

Any known conflicts with standard js will be tracked in open issues with the conflict-with-standard tag.

Input

foo(reallyLongArg(), omgSoManyParameters(), IShouldRefactorThis(), isThereSeriouslyAnotherOne());

Output

foo(
  reallyLongArg(),
  omgSoManyParameters(),
  IShouldRefactorThis(),
  isThereSeriouslyAnotherOne()
);

Integration with eslint

A couple packages by @aMarCruz (Alberto Martínez):


Contributing

See CONTRIBUTING.md.

You can’t perform that action at this time.