Skip to content

Commit 7373fbf

Browse files
fix: main field in package.json should correspond to cjs artifacts (#5756)
When #4787 was implemented, the project was switched to `"type": "module"` and "./index.js" became an esm file instead of commonjs, however, the "main" entry in package.json still points to "index.js". As a result, consumers using this field may get unexpected behavior since the main field is supposed to be commonjs if the entry is provided. Many consumers won't run into this as a practical problem (for example when just doing `const axios = require('axios').default` from inside of a cjs file in node) because the "exports" map takes precedence over the main/module fields, but tools that don't parse the object map when resolving still run into problems here. The fix for this is to just point the "main" entry-point to the commonjs artifacts located at "./dist/node/index.cjs". I also added a module entrypoint to improve compatability for the cases where the export map is not used (webpack 4 for example) since that would likely be reading the cjs "main" entrypoint now that main has switched back to cjs. Co-authored-by: Jay <jasonsaayman@gmail.com>
1 parent 8d1271b commit 7373fbf

1 file changed

Lines changed: 2 additions & 1 deletion

File tree

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,8 @@
22
"name": "axios",
33
"version": "1.13.2",
44
"description": "Promise based HTTP client for the browser and node.js",
5-
"main": "index.js",
5+
"main": "./dist/node/axios.cjs",
6+
"module": "./index.js",
67
"exports": {
78
".": {
89
"types": {

0 commit comments

Comments
 (0)