* centralize plugin options
* Centralize plugins options
- move more options to the top
- move validations that depend on options to the top
* use isLoose option
* Move more validations to the top
* Move ref parameter for rewriteModuleStatementsAndPrepareHeader() to the top
* fix eslint errors
* remove unused parameter
* set default systemGlobal value
* Revert "Move ref parameter for rewriteModuleStatementsAndPrepareHeader() to the top"
This reverts commit b3855302d17fa19d8acb4c8accab3680c8d2710e.
* Revert "Move more validations to the top"
This reverts commit e5861d8a034ff8f553391f55654f753bcf428a5d.
* fix allowMutablePropsOnTags option usage
* improve naming
* change Contructor definition for sake of consistency
* move allowMutablePropsOnTags validation to the top
* add missing !
* Remove whitespace generation and rely on default printing
Changes to printing:
* Add newline after last empty SwitchCase
* Add newlines around block comments if they are non-flow comments or contain newlines
* Fix a few more fixtures
* Spec compatibility for template literals.
* Update preset-es2015 `spec` expected case.
* Prevent array mutability by replacing `shift`.
* Fix condition for single item.
* Group concats to ensure toPrimitive sequence.
* Update function test case.
* Add semi for function test case.
* Simplify concat call expressions creating.
* Fix some cases with multiple idengifiers.
* Add test case with different literals.
* Add test case for `Symbol()` and toPrimitive order
* Add actual literal case.
* Add minNodeVersion to template literals order.
* Flip the logical expression.
* Update README for template literals spec option.
* docs [skip ci]