web icon indicating copy to clipboard operation
web copied to clipboard

wtr: fails to compile standard decorators

Open tpluscode opened this issue 1 year ago • 2 comments

I have been recently struggling with lit where it complained about shadows class fields. While exploring options to address that issue, I found that WTR fails to compile my elements with lit decorators. Simply gives me

SyntaxError: Invalid or unexpected token

Repro on master branch: https://github.com/tminuscode/wtr-decorators

~~Also fails~~ Works with legacy decorators: https://github.com/tminuscode/wtr-decorators/tree/legacy-decorators, when tsconfig path is

Either way works fine when compiling to JS first: https://github.com/tminuscode/wtr-decorators/tree/js

This is the behavior with @web/[email protected].

tpluscode avatar Jun 21 '24 11:06 tpluscode

I also tried with @web/[email protected].

"useDefineForClassFields": false has no effect and I still get the shadowing error from lit. Trying to add the accessor keyword results in a different error from wtr

Error while transforming elements.ts: Expected ";" but found "name"
   7 |
   8 |     @property({ type: String })
>  9 |     accessor name: string = "Sombeody"

tpluscode avatar Jun 21 '24 12:06 tpluscode

I further tried adding tsconfig path in wtr config as mentioned on https://github.com/lit/lit/issues/3807 but it made no difference

tpluscode avatar Jun 21 '24 12:06 tpluscode