By passing an empty object literal as first argument to Object.assign we can avoid having objects spread as props on a component being mutated during SSR.
Fixes#8171
* fixed double up initialization on svelte:element elements
* updated test and fixed bug
* update other svelte:element test
* removed whitespace
* refactor
* correctly update expected ouput resulting from #7938
* remove .solo
Co-authored-by: Yuichiro Yamashita <xydybaseball@gmail.com>
* [fix] static svelte:element not replaced with tag in production mode
* [fix] static svelte:element not replaced with tag in production mode
* add optimization of static <svelte:element> and fix a bug
Co-authored-by: Yuichiro Yamashita <xydybaseball@gmail.com>
* warn on assignment to const
* fix formatting and switch to error
* check most local scopes first
* fix logic and add more tests
* more formatting
* Fix broken test
* use find_owner instead
Co-authored-by: tanhauhau <lhtan93@gmail.com>
* add security warning for anchor element (rel attribute)
* manage more case for security warnings on anchor (aplocks, false positive ...)
* remove noopener checks as noreferrer imples noopener
Co-authored-by: tanhauhau <lhtan93@gmail.com>
* important modifier for style directive
* docs
* Exclude third param if false
third param for set_style is optional
* Remove unused test
Runtime test doesn't work because of weird behaviour of computed style
the puppeteer test should cover it
* remove unnecessary test
Co-authored-by: tanhauhau <lhtan93@gmail.com>
* add test
* improve error message if this attribute of <svelte:component> is not SvelteComponent
* add more tests
* improve validation
* simplify test
Co-authored-by: Tan Li Hau <tanhauhau@users.noreply.github.com>
* add test
* support --style-props for <svelte:component>
* refactor
* add more test
* support switching instance
* add test with svelte:self
* merge duplicated if statement
* slight refactor
* remove unnecessary anchor
* reorder insertion
Co-authored-by: tanhauhau <lhtan93@gmail.com>
* [feature] add util module to check element is interactive element
* [feature] add util module to check role is interactive role
* [feature] add a11y checker for no-nointeractive-tabindex
* [chore] add test for no-nointeractive-tabindex
* [chore] fix tabindex-no-positive test div -> button
* [refactor] bundle up two filter into one
* Refactor: export a11y-no-nointeractive-tabindex warning from compiler_warning
* slight refactor to use existing utils
Co-authored-by: tanhauhau <lhtan93@gmail.com>
* Fix 6860: Warn user when binding rest operator
* move the binding validation to Binding node
* update test
Co-authored-by: vaibhav rai <vaibhavrai@vaibhavs-MacBook-Pro.local>
* add more test case, supporting deep destructuring and array destructuring
Co-authored-by: vaibhav rai <vaibhavrai@vaibhavs-MacBook-Pro.local>
Co-authored-by: tanhauhau <lhtan93@gmail.com>
* Recursively check label children for input control
* Add another test case
* Update snapshot
* clean up test
Co-authored-by: tanhauhau <lhtan93@gmail.com>
* check noninteractive roles on interactive elements
* refactor to match the eslint-plugin-jsx-a11y implementation
* update test case
Co-authored-by: tanhauhau <lhtan93@gmail.com>