Giter Club home page Giter Club logo

Comments (7)

jakebailey avatar jakebailey commented on May 1, 2024 1

It is, yes. That's a valid identifier.

from typescript.

jakebailey avatar jakebailey commented on May 1, 2024 1

Likely this is failing due to the fact that the scanner/parser always pass in the script target, while much of services always asks for the latest.

But, I think this setup is not quite right. If the target is ES5, then we use the older table when parsing and doing stuff. But that doesn't feel right. Our inputs should be permissive, allowing anything, then erroring later if we can't downlevel it. In this case, there actually is a downleveling that works, and esbuild uses it unconditionally (even though it only does ES6+):

var G = { "\u{1D504}": "𝔄" }

Unfortunately just removing the ES5 table is not sufficient as without the scanner/parser to complain, we get no errors. A better change would need to preserve the table but only for emit errors. Or, in the parser, always parse identifiers with Latest then error on them if the script target is ES5 and the scanned text doesn't pass ES5 (which would at least stop the crashing, I think).

from typescript.

fatcerberus avatar fatcerberus commented on May 1, 2024

Obviously TS shouldn't crash, but is this legal JS?

from typescript.

jakebailey avatar jakebailey commented on May 1, 2024

We haven't updated the unicode tables in a while, which may be the problem, but, I haven't tested yet.

from typescript.

Andarist avatar Andarist commented on May 1, 2024

Target es5 is crucial here. You have 2 unicode tables there - it doesnt crash with newer targets

from typescript.

fatcerberus avatar fatcerberus commented on May 1, 2024

I thought \u{1D504} was ES6+ syntax and doesn't work in ES5. Am I misremembering?

from typescript.

jakebailey avatar jakebailey commented on May 1, 2024

Could be, I'm no historian 😅

from typescript.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.