blockly-samples icon indicating copy to clipboard operation
blockly-samples copied to clipboard

Deprecate and remove the `@blockly/eslint-config` plugin

Open maribethb opened this issue 2 years ago • 2 comments

Check for duplicates

  • [X] I have searched for similar issues before opening a new one.

Component

plugins/eslint-config

Problem

After https://github.com/google/blockly-samples/pull/1946 is merged, the shared eslint config will be unused by us and should not be used by external developers.

We don't need a shared eslint config. Third-party developers don't need to adhere to our style. It's too specific and beholden to years of legacy decision-making. We don't consider it a breaking change when we update the lint config, so if anyone has been using it, they've been plagued by random unannounced updates to their style guide that they then have to update their code for. It's not a good idea for them to use it.

We no longer need the shared config because we have the new eslint flat config. This provides a better experience when linting across the entire repository as lint messages are much simpler to see when they aren't hidden behind layers of lerna output.

Request

Run npm deprecate on the plugin, and mark it as private in the package.json so it doesn't get published again. Delete it from the repository after some time.

Please note only core Blockly team members should work on this issue due to npm permissions.

Alternatives considered

No response

Additional context

If you are currently using this shared config outside of blockly-samples, you should stop. If you have a solid use case, please comment on this issue. In general though, you don't want to rely on our style guide and we want to be able to make changes to our plugins without breaking you. We'd recommend you use a different eslint shared style guide such as eslint:recommended, eslint-config-google, etc. These will not be updated with breaking changes unexpectedly. Or you can create your own style guide following rules that work for you and your codebase. We have made certain concessions related to the core blockly codebase that don't have to apply to your code.

maribethb avatar Sep 26 '23 16:09 maribethb

Currently the blockly-scripts build step forces a eslint check with @blockly/eslint-config

alicialics avatar Sep 27 '23 06:09 alicialics

Yep, this issue only applies after #1946 is merged.

maribethb avatar Sep 27 '23 17:09 maribethb