Skip to content

Commit f5e35fe

Browse files
authored
fix!: don't delete "main" in package.json (mikeal#7)
* fix!: don't delete "main" in package.json esbuild still doesn't support exports evanw/esbuild#187 it's uncertain as yet what impact this might have on other bundlers and loaders, hence this is a BREAKING CHANGE. * fixup! fix!: don't delete "main" in package.json
1 parent 782fa5e commit f5e35fe

File tree

4 files changed

+5
-4
lines changed

4 files changed

+5
-4
lines changed

src/package/index.js

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,7 @@ class Package {
5353

5454
const exports = {}
5555
if (!json.exports) {
56-
if (!json.main) exports['.'] = { import: this.file(toURL('./index.js')) }
57-
exports['.'] = { import: this.file(toURL(json.main)) }
56+
exports['.'] = { import: this.file(toURL(json.main || './index.js')) }
5857
} else {
5958
for (const [key, value] of Object.entries(json.exports)) {
6059
if (typeof value === 'string') exports[key] = { import: this.file(toURL(value)) }
@@ -182,7 +181,7 @@ class Package {
182181
const json = copy(this.pkgjson)
183182

184183
delete json.type
185-
delete json.main
184+
json.main = `./${join('./cjs', json.main || './index.js')}`
186185
json.browser = {}
187186
json.exports = {}
188187
const _join = (...args) => './' + join(...args)

test/fixtures/pkg-kitchensink/input/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "pkg-kitchensink",
33
"version": "0.0.0",
44
"description": "",
5-
"main": "index.js",
5+
"main": "src/index.js",
66
"type": "module",
77
"scripts": {
88
"test": "echo \"Error: no test specified\" && exit 1"

test/fixtures/pkg-kitchensink/output-notests/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "pkg-kitchensink",
33
"version": "0.0.0",
44
"description": "",
5+
"main": "./cjs/src/index.js",
56
"scripts": {
67
"test": "echo \"Error: no test specified\" && exit 1"
78
},

test/fixtures/pkg-kitchensink/output-tests/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "pkg-kitchensink",
33
"version": "0.0.0",
44
"description": "",
5+
"main": "./cjs/src/index.js",
56
"scripts": {
67
"test": "echo \"Error: no test specified\" && exit 1"
78
},

0 commit comments

Comments
 (0)