marko-js / cli

command-line tools for Marko
MIT License
95 stars 36 forks source link

Marko with javascript inline is not formatted properly #192

Open okannivadikubendran opened 2 years ago

okannivadikubendran commented 2 years ago

Using @marko/prettyprint - 3.0.1 with the command marko-prettyprint . --single-quote --max-len 120, we are seeing following issues:

  1. First line in the script block is not indented similar to the other lines
  2. Shorthand notation is not working for the marko attributes in the options of sample-header

Given:

$ const { model, options } = input;
<if(model)>
    $ {
        const {foo} = model;
        const {bar} = foo || {};
        const {xyz} = options || {};
    }
    <div class="app"> <sample-header options={ xyz } />    </div>
</if>

Expected:

$ const { model, options } = input;
<if(model)>
    $ {
        const { foo } = model;
        const { bar } = foo || {};
        const { xyz } = options || {};
    }
    <div class='app'>
        <sample-header options={ xyz }/>
    </div>
</if>

Actual:

$ const { model, options } = input;
<if(model)>
    $ {
        const { foo } = model;
            const { bar } = foo || {};
            const { xyz } = options || {};
    }
    <div class='app'>
        <sample-header options={
            xyz: xyz
        }/>
    </div>
</if>