The current version of Marko gives me the following warning in the console: ${attrs} is deprecated, use ...attrs instead
However when I refactored my component to use ...attrs it broke the class=['class1', 'class2'] syntax for the element I was spreading attributes into.
Simple input component:
$ const extraAttrs = input['*'] || {};
<input class=['form-control', input.error && 'form-control-error']
name=input.name type="text" ...extraAttrs/>
In template:
<simple-input name="full-name" error=false maxlength=5/>
Should render:
<input class="form-control" name="full-name" type="text" maxlength="5"/>
Renders:
<input class="["form-control",null]" name="full-name" type="text" maxlength="5"/>
class Array is JSON stringified.
Additional Info
Hey @gunjam. Thanks for reporting this issue. Someone will take a look at this soon. In the meantime, you can still use ${attrs} even though it's labeled as deprecated.
Ta!
@austinkelleher hey austin, this exact error is also popping up in the lasso-cli tool while in watch mode - see below:

Same issue with lasso
WARNING!!
${attrs} is deprecated, use ...attrs instead
at node_modules/lasso/head-118-3-26-33519-xjraht.l20k.marko:1:0
@austinkelleher Hey Austin, any news on this issue? The same warning we got in markojs 4.9.0 and 4.10.0.
Fixed in 4.11
Most helpful comment
Same issue with lasso
WARNING!! ${attrs} is deprecated, use ...attrs instead at node_modules/lasso/head-118-3-26-33519-xjraht.l20k.marko:1:0