Comments (6)
I think it's important to mention +add external references.
A lot of people are just setting up the dev environment and may not be familiar with intricacies of the various stack options. Most how-to's start with do yarn add my-package so it's fair to point out anything that a noob will need.
Aim for bullet proof instructions for idiot users like me! 🙂
from typescript-eslint.
Yeah, we need to be very careful to note that it's not a requirement to use a module type.
from typescript-eslint.
The reason we didn't specify this is because we treated it as assumed knowledge for using NodeJS.
I.e. if you want to use ESM you need to have type: module
in your package.json - as has been the way with ESM support in NodeJS since its release.
My question here would be - do we need to tell people the constraints of NodeJS? Or are we okay to assume that people know "if you don't use ESM then you must translate this to CJS".
cc @typescript-eslint/triage-team thoughts?
With the release of eslint 8.57.0 we could update this guide to use .mjs
(prior to minor 57 - it was not supported by eslint).
from typescript-eslint.
Personally I'm +1 on recommending using .mjs
config file with small note that it requires ESLint >= 8.57.0.
Also see the related conversation on Discord: https://discord.com/channels/1026804805894672454/1207049165079846962/1213212499713728553
from typescript-eslint.
+1 on calling out explicitly, and mentioning .mjs option.
from typescript-eslint.
@bradzacher this is not true:
I.e. if you want to use ESM you need to have type: module in your package.json
I understand that you mention the .mjs
extension later in your post, but for the sake of correctness, I think you should update your comment to "I.e. if you want to execute a file ending by .js
as ESM, one of the solution is to have type: module in your package.json".
A lot (and I mean a looooot) of people are convinced that the module
declaration is mandatory to execute ESM modules. I think it is our duty to make it clear, as often as possible, that it is not.
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
- Bug(typescript-estree): always parse mts/mjs as ESM for non-type-aware parsing HOT 6
- 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.