Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Request for ETA on New Release Supporting Axios 1.x Version #349

Open
Rupanshy opened this issue Nov 15, 2024 · 0 comments
Open

Request for ETA on New Release Supporting Axios 1.x Version #349

Rupanshy opened this issue Nov 15, 2024 · 0 comments

Comments

@Rupanshy
Copy link

The nano library is currently incompatible with axios@1.x because it uses the CommonJS require('axios') syntax in lib/nano.js. Since axios@1.x has transitioned to ES Modules (ESM), this usage results in runtime errors when attempting to use the library with axios@1.x.

Affected Code

In lib/nano.js:

const axios = require('axios');
This usage causes the following error when running the code with axios@1.x:

Error [ERR_REQUIRE_ESM]: require() of ES Module is not supported

Steps to Reproduce
Install nano and axios@1.x in a Node.js project:
npm install nano axios@1.6.3
Import or require nano in your code:
const nano = require('nano');
Attempt to use nano to make an HTTP request.
Observe the runtime error indicating incompatibility with ES Modules.

Expected Behavior
nano should support axios@1.x by replacing the require('axios') syntax with the ES Modules import syntax:

import axios from 'axios';

Proposed Solution
Update all instances of require('axios') in the codebase to use import:
import axios from 'axios';
Update the package.json file to specify a peer dependency on axios@^1.0.0 to ensure compatibility:
"peerDependencies": {
"axios": "^1.0.0"
}

Additional Context
axios@1.x includes critical security updates and new features, making its adoption essential for projects aiming to maintain secure and modern applications.
The current incompatibility blocks projects from upgrading to axios@1.x if they depend on nano.

Request
Please update the nano codebase to support axios@1.x. If needed, I am happy to assist with additional details or contribute a pull request to resolve the issue.

Environment
Node.js Version: [e.g., 16.x or 18.x]
Axios Version: 1.6.3
nano Version: [e.g., 9.x]
Operating System: [e.g., macOS, Windows, or Linux]

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

No branches or pull requests

1 participant