Skip to content

Conversation

@ckeshava
Copy link
Collaborator

@ckeshava ckeshava commented Jan 15, 2026

This PR accomplishes the following:

  • Upgrades eslint-plugin-tsdoc dependency from 0.4.0 to 0.5.0.
  • Upgrades the dependency eslint-plugin-array-doc from 4.0.0 to 5.1.0. Due to this upgrade, the eslint-config had to be converted from CommonJS to an ESM compatible implementation. This is because the said dependency only works with ESM modules.
  • Upgrade the major version of the eslint-config repository to indicate the upgrade of dependencies.

Note: This PR is blocking the upgrade of xrpl.js mono repository with a similar dependency upgrade. The failing PR details can be found here: https://github.com/XRPLF/xrpl.js/pull/3176/changes

@ckeshava ckeshava requested a review from ledhed2222 as a code owner January 15, 2026 20:39
@ckeshava
Copy link
Collaborator Author

Would it be okay if I make the changes related to the new release (a new package version) in this PR? Or do I need to create a separate PR?

- Convert the eslint-config from CommonJS to ESM implementation
- Make minor updates to the eslint.config.js rules to ensure that the linter pass
@ckeshava ckeshava changed the title upgrade eslint-plugin-tsdoc from 0.4.0 to 0.5.0 release v2.1.0 of eslint-config (upgrade dependencies) Jan 15, 2026
@ckeshava ckeshava changed the title release v2.1.0 of eslint-config (upgrade dependencies) release v2.1.0 of eslint-config (dependency upgrades) Jan 15, 2026
'ignorePackages',
{
js: 'never',
js: 'always',
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since, this is a behaviour change, I would suggest that we import the package from this PR locally into xrpl.js to make sure that linting passes or evaluate how much work needs to be done to fix linting errors that occurs after this change.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have ensured that this behavioral change only affects the files located inside this specific package. No downstream users of this package are affected by this change due to the regex used in the files section of eslint config file.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

updated in 75bab6b

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see it's only suppressed for this repo.

No downstream users of this package are affected by this change due to the regex used in the files section of eslint config file.

The regex applies only for this repo. Did we try importing the package from this branch into xrpl.js to check if it works fine?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I will do that in some time and get back to you. I wasn't sure how to import an unpublished package (this new version of typescript-style repo) into xrpl.js

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When importing a package locally, I would first delete node_modules and package-lock.json and install it fresh.

We can import it something like this:

 "@xrplf/eslint-config": "file:<PACKAGE_PATH>"

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here is the PR that uses the new versions of dependencies: XRPLF/xrpl.js#3187

The linter passes for this PR (on my local computer, it might not clear the CI) and all the unit tests pass.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cool! I guess package-lock.json in this PR is outdated based on package version. Should regenerate it.

"eslint-plugin-react": "^7.0.0",
"eslint-plugin-react-hooks": "^5.0.0",
"eslint-plugin-tsdoc": "^0.4.0",
"eslint-plugin-tsdoc": "^0.5.0",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

^0.5.0 would make @xrplf/eslint-config release a breaking change. Consumers with eslint-plugin-tsdoc < 0.5.0 won't be able to install @xrplf/eslint-config. So when we release this, we should do major version bump of @xrplf/eslint-config

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

…stream packages -- Relaxation of 'import/no-anonymous-default-export': 'off', which allows for more liberty in declaring default exports in all users of this package
@ckeshava ckeshava changed the title release v2.1.0 of eslint-config (dependency upgrades) release v3.0.0 of eslint-config (dependency upgrades) Jan 16, 2026
@ckeshava ckeshava requested a review from Patel-Raj11 January 16, 2026 00:58
"eslint-config-prettier": "^10.0.0",
"eslint-import-resolver-typescript": "^4.0.0",
"eslint-plugin-array-func": "^4.0.0",
"eslint-plugin-array-func": "^5.1.0",
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: We should keep peerDependencies ^5.0.0 for greater compatibility.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ok f13ad20

kuan121
kuan121 previously approved these changes Jan 21, 2026
Co-authored-by: Raj Patel <rajp@ripple.com>
…t-plugin-array-func; provide exports of necessary modules from the package.json used in xrpl.js monorepo
@ckeshava ckeshava merged commit d33361b into master Jan 22, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants