edg2s
Repos
88
Followers
43
Following
6

Workaround for browser bugs in Range.prototype.getClientRects and Range.prototype.getBoundingClientRect.

34
5

Basic sandbox for playing around with content editable and discovering its crazy behaviour.

Control allowance of certain jQuery functions, and suggest or autofix alternatives.

26
5

Bookmarklet for creating w.wiki short URLs on Wikimedia sites (e.g. Wikipedia)

Automatically generate ESLint plugin documentation from rule metadata and test cases.

Script to delete branches which have been merged in gerrit, even if you don't have the latest patchset

4
1

Events

issue comment
[Bug] HTML encoded self closing tags in attribute values leads to the removal of the attribute

Could we add back in a renamed flag to disable the feature, e.g. ALLOW_SELF_CLOSE_IN_ATTR (default is false)?

Created at 15 hours ago
issue comment
[Bug] HTML encoded self closing tags in attribute values leads to the removal of the attribute

Downstream issue affecting Wikipedia: https://phabricator.wikimedia.org/T279215#8525105

Per the inline comment, this appears to be fixing an issue in an old version of jQuery, and previously could be disabled with a flag.

But, you can override that easily with a hook and then do what works in your context.

To work around this with a hook would require re-implementing all the transforms and checks that are done to see if the attribute is about to be removed (SAFE_FOR_TEMPLATES, isValidAttribute), unless I have missed something?

Created at 17 hours ago
issue comment
Both files are missing a trailing semi-colon

Yes - it's easy to workaround, but that requires modifying the file, which means you can't just install it using npm.

Created at 1 week ago
issue comment
Parent selector "&" symbol not treated when in a :not() pseudo-class

Also reported downstream: https://phabricator.wikimedia.org/T204816

Created at 2 weeks ago
Release v0.24.0

Merge after #487

Created at 2 weeks ago
edg2s create branch v0.24.0
Created at 2 weeks ago
pull request opened
Release v0.24.0
Created at 2 weeks ago
"plugin:es-x/restrict-to-es2022" include from v0.23.0/language/es2022.json is missing.

Duplicate of #479

Created at 2 weeks ago
"plugin:es-x/restrict-to-es2022" include from v0.23.0/language/es2022.json is missing.

Steps to replicate the issue (include links if applicable):

  • Install v0.23.0
  • Write the following in .eslintrc.json:
{
	"extends": [
		"wikimedia/language/es2022"
	]
}
  • run eslint <any-file>

What happens?:

Oops! Something went wrong! :(

ESLint: 8.28.0

ESLint couldn't find the config "plugin:es-x/restrict-to-es2022" to extend from. Please check that the name of the config is correct.

The config "plugin:es-x/restrict-to-es2022" was referenced from the config file in "node_modules/.pnpm/eslint-config-wikimedia@0.23.0/node_modules/eslint-config-wikimedia/language/es2022.json".

If you still have problems, please stop by https://eslint.org/chat/help to chat with the team.

The eslint-plugin-es-x version bundled with 0.23.0 is ^5.2.1, but "plugin:es-x/restrict-to-es2022" cannot be found from 5.2.1 to the latest released 5.4.0

Created at 2 weeks ago

Update OOUI to 0.46.1

Update linting dependencies

Update PHP dependencies

Created at 2 weeks ago
issue comment
Update PHP dependencies

It just affected adjacent lines with #520

Created at 2 weeks ago
Fix false positives for Object.keys() and foo.values;

This re-introduces no-restricted-syntax, which was problematic to extend and inherit from, buy we'll cross that bridge if we come to it.

Created at 2 weeks ago

language: Replace es-x/no-array-prototype-keys/values with no-restricted-syntax

Fixes #488

Created at 2 weeks ago
Fix false positives for Object.keys() and foo.values;

I was also negatively surprised by es-x/no-array-prototype-keys and es-x/no-array-prototype-values. I learned about the changes when I noticed noticed all three being disabled in https://gerrit.wikimedia.org/r/c/mediawiki/extensions/UploadWizard/+/838537.

In particular, es-x/no-array-prototype-keys is triggered by Object.keys( foo ), which is obviously not calling the method being disallowed.

Back in the day, when we first disallowed some methods in 57b2fdc, we were actually smart enough to disallow foo.keys() without disallowing Object.keys( foo ): 57b2fdc#diff-994979481b5e2ff41767c0b7f3485267ce7402a2c0f9a66945ff2785959927a0R88-R91 so I'm hopeful that this kind of solution can be restored.

Created at 2 weeks ago
Disable es-x-no-symbol-prototype-description

Per https://ota-meshi.github.io/eslint-plugin-es-x/rules/no-symbol-prototype-description.html#es-x-no-symbol-prototype-description:

This rule is silent by default because it's hard to know types. You need to configure the aggressive mode or TypeScript in order to enable this rule.

Which means this triggers many false positives on any object property called description.

Reported offline by @matmarex

Created at 2 weeks ago
pull request opened
language: Turn of es-x/no-array-prototype-keys

Too many false positives with Object.keys, and no desire to fix the issue upstream.

Created at 2 weeks ago
edg2s create branch object-keys
Created at 2 weeks ago
Don't trigger prototype rules with known static methods

Ping @ota-meshi .

To summarise: we get value from the Array.prototype.keys rules, but it should be able to easily ignore the obvious case of Object.keys, otherwise it produces too many false positives.

Created at 2 weeks ago
issue comment
Update PHP dependencies

Merge after #520

Created at 2 weeks ago
pull request opened
Update PHP dependencies
Created at 2 weeks ago
create branch
edg2s create branch php-deps
Created at 2 weeks ago
pull request opened
Update linting dependencies
Created at 2 weeks ago
create branch
edg2s create branch eslint
Created at 2 weeks ago
create branch
edg2s create branch ooui
Created at 2 weeks ago
pull request opened
Update OOUI to 0.46.1
Created at 2 weeks ago
opened issue
Store which extensions a wiki was created with

Thus would make the "copy" wiki button work more as expected, and could also be displayed in the table (in some compact form).

Created at 2 weeks ago
upgrade "eslint-plugin-jsdoc" to 39.6.4

Note this is just a warning, the linter still works.

Created at 3 weeks ago
pull request opened
Test in Node 18 (Active LTS)
Created at 3 weeks ago
edg2s create branch node-18
Created at 3 weeks ago
pull request opened
Update ESLint to 8.31
Created at 3 weeks ago