Following a discussion with @ota-meshi, I will try to support lang="ts" in any other block.
With that feature, any lang="ts" block would be treated as an extension of <script> block and be appended to linted content as is.
That would mean it is not supported to redeclare the same variable name in both blocks, but I think it is expected behavior as a component can only output a single JS chunk anyways.
As for now, I have been using
<style lang="ts">
blocks for https://pinceau.devMost users complained that there is no way to get ESLint working in that context.
I already get syntax coloring and syntax checking from VSCode and TypeScript, as
lang="ts"
properly triggers it.Now, I would like to make ESLint compatible with such blocks, whether they are
<style>
ones or any other<customBlock>
.As seen here, Vue supports
customBlocks
as any other SFCBlock, and so it supportslang="ts"
attribute: https://github.com/vuejs/core/blob/b775b71c788499ec7ee58bc2cf4cd04ed388e072/packages/compiler-sfc/src/parse.ts#L72C3-L72C15Following a discussion with @ota-meshi, I will try to support
lang="ts"
in any other block.With that feature, any
lang="ts"
block would be treated as an extension of<script>
block and be appended to linted content as is.That would mean it is not supported to redeclare the same variable name in both blocks, but I think it is expected behavior as a component can only output a single JS chunk anyways.