Comments (6)
I tried to fix this issue! See #9121.
Below is a screenshot of the result.
from typescript-eslint.
Editing the title because it took me a moment to figure this out. 😄
from typescript-eslint.
Uh oh! @goldentrash, the image you shared is missing helpful alt text. Check #9101 (comment).
Alt text is an invisible description that helps screen readers describe images to blind or low-vision users. If you are using markdown to display images, add your alt text inside the brackets of the markdown image.
Learn more about alt text at Basic writing and formatting syntax: images on GitHub Docs.
🤖 Beep boop! This comment was added automatically by github/accessibility-alt-text-bot.
from typescript-eslint.
In /tyscript-estree/src/convert.ts/Converter/convertNode
, modifying sourceType
when it is case SyntaxKind.SourceFile
does not make sense, below is the detail.
I tried modifying the sourceFile in convertNode
with extension === ts.Extension.Mjs || extension === ts.Extension.Mts
, but only the AST root (SourceFile) is changed, not the multiple child Nodes.
It appears that before convertNode
is called, the ts AST is fully constructed via ts.createSourceFile
and then changed to the estree AST via convertNode
.
from typescript-eslint.
In /tyscript-estree/src/create-program/createSourceFile.ts/createSourceFile
, adjusting setExternalModuleIndicator
, parameter of the ts.createSourceFile
, doesn't make sense, below is the detail.
First, I checked how typescript's default setExternalModuleIndicator
works.
- Traverses all expressions in the source code.
- Find ESM expressions like
export
. - Returns that Node.
- If no nodes were found, it returns the metadata node of the SourceFile.
The default setExternalModuleIndicator
is inappropriate because the intent is to parse ESM files as ESM, even if they don't have an ESM expression like export
.
However, I think it would be difficult to create a proper metadata node and insert it into the SourceFile
, and it would rely too strongly on an external module (typescript).
from typescript-eslint.
In /tyscript-estree/src/create-program/createSourceFile.ts/createSourceFile
, adjusting impliedNodeFormat
, parameter of the ts.createSourceFile
, doesn't work, below is the detail.
The Interface annotation says "Controls the format the file is detected as", so I was expecting that, but modifying the impliedNodeFormat
didn't achieve the desired result. It seems to be a parameter related to js Emit, not AST construction.
from typescript-eslint.
Related Issues (20)
- Bug: [v8.0.0-alpha.10] incorrect error message `Parsing error: "parserOptions.programs"` HOT 1
- Bug: [member-ordering] Not Detecting Order For Read-Only Fields Correctly HOT 1
- Bug: Default configuration following https://typescript-eslint.io/getting-started results in error HOT 1
- Docs: Write blog post on the history of ban-types, {}, and object/Object
- Bug: [no-unnecessary-boolean-literal-compare] False positive and unsafe fix with exactOptionalPropertyTypes HOT 6
- no-unsafe-call: ban calling Function HOT 7
- Types: `plugin` and `parser` types incompatible with ESLint types HOT 6
- Issue with the subDependencies of typescript-eslint HOT 1
- Bug: Type incompatibility with `fixupPluginRules()` from `@eslint/compat` HOT 3
- Bug: parsing a function with argument throws an error when `range` parse option is not set HOT 6
- Bug: [8.0.0-alpha] [no-unused-vars] Support for `ignoreClassWithStaticInitBlock` and `reportUsedIgnorePattern` Options HOT 7
- Bug: "Invalid string length" caused by allowDefaultProjectForFiles warning HOT 4
- Enhancement: [no-inferrable-types] Support for the upcoming compiler options `isolatedDeclarations` HOT 2
- Bug: typescript eslint raises warnings when used with react-hooks HOT 6
- Repo: include github tags in releases HOT 4
- Enhancement: [naming-convention] Add an optional identifier member of each option HOT 1
- Bug: [no-inferrable-types] False positive with default parameter in closure passed to generic function HOT 1
- Repo (eslint-plugin) [consistent-type-assertions] test case missing output assertion
- Try out v8 beta on various important community repos HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from typescript-eslint.