You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Node.js doesn't 100% align with a specific ECMAScript version, since it adds support for certain features before a given version of ECMAScript is published. E.g. private class properties has been in Node.js since version 12, but didn't appear in ECMAScript before version 2022.
To ensure our ESLint config aligns with the versions of Node.js that we want to support instead of a specific ECMAScript version we rely on the Node.js module eslint-plugin-n to enable/disable the rules needed to target the desired Node.js version.
However, this doesn't seem like it actually works as intended: Take the example of private class properties. We're supposed to have support for these in the dd-trace-js code base, but ESLint complains if we try to use them. So something in our ESLint config is set up correctly.
The text was updated successfully, but these errors were encountered:
One important thing to note is that we also need to use only features that are supported by the oldest transpilers we support as well. For example, some features might be available in Node 16 but not necessarily in older versions of Webpack, which would prevent transpiling when using those versions. It might be worth it to add tests for these cases before making any changes to eslint.
Node.js doesn't 100% align with a specific ECMAScript version, since it adds support for certain features before a given version of ECMAScript is published. E.g. private class properties has been in Node.js since version 12, but didn't appear in ECMAScript before version 2022.
To ensure our ESLint config aligns with the versions of Node.js that we want to support instead of a specific ECMAScript version we rely on the Node.js module eslint-plugin-n to enable/disable the rules needed to target the desired Node.js version.
However, this doesn't seem like it actually works as intended: Take the example of private class properties. We're supposed to have support for these in the
dd-trace-js
code base, but ESLint complains if we try to use them. So something in our ESLint config is set up correctly.The text was updated successfully, but these errors were encountered: