Skip to content

Commit 729ffbf

Browse files
authored
feat!: add optional --main for build to include "main" (mikeal#8)
Don't include "main" in package.json by default, but include it if --main is passed.
1 parent f5e35fe commit 729ffbf

File tree

21 files changed

+124
-5
lines changed

21 files changed

+124
-5
lines changed

src/build.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ const run = async opts => {
2525
pkg.dist = dist
2626
return pkg
2727
}
28-
run.schema = { tests: false }
28+
run.schema = {
29+
tests: false,
30+
main: false
31+
}
2932

3033
export default run

src/package/index.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,14 @@ const { writeFile, mkdir, unlink, readdir, readFile, copyFile } = fs
1818
const plugins = [preserveShebangs.preserveShebangs()]
1919

2020
class Package {
21-
constructor ({ cwd, hooks, tests }) {
21+
constructor ({ cwd, hooks, tests, main }) {
2222
this.cwd = cwd
2323
this.hooks = hooks || {}
2424
this.parsed = this.parse()
2525
this.files = new Map()
2626
this.testFiles = new Map()
2727
this.includeTests = tests
28+
this.includeMain = main
2829
}
2930

3031
file (url) {
@@ -181,7 +182,11 @@ class Package {
181182
const json = copy(this.pkgjson)
182183

183184
delete json.type
184-
json.main = `./${join('./cjs', json.main || './index.js')}`
185+
if (this.includeMain) {
186+
json.main = `./${join('./cjs', json.main || './index.js')}`
187+
} else {
188+
delete json.main
189+
}
185190
json.browser = {}
186191
json.exports = {}
187192
const _join = (...args) => './' + join(...args)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, '__esModule', { value: true });
4+
5+
var sub = require('./sub.js');
6+
var browser = require('./sub/browser.js');
7+
8+
9+
10+
exports.mod = sub;
11+
exports.sub = browser;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, '__esModule', { value: true });
4+
5+
var sub = require('./sub.js');
6+
var index = require('./sub/index.js');
7+
8+
9+
10+
exports.mod = sub;
11+
exports.sub = index;
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
'use strict';
2+
3+
Object.defineProperty(exports, '__esModule', { value: true });
4+
5+
var sub = require('./sub.js');
6+
var index = require('./sub/index.js');
7+
8+
9+
10+
exports.mod = sub;
11+
exports.sub = index;
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
'use strict';
2+
3+
var secondary = 'secondary';
4+
5+
module.exports = secondary;
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
'use strict';
2+
3+
var sub = 'sub';
4+
5+
module.exports = sub;
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
'use strict';
2+
3+
var browser = 'browser';
4+
5+
module.exports = browser;
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
'use strict';
2+
3+
var index = 'import';
4+
5+
module.exports = index;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{ "type" : "module" }

0 commit comments

Comments
 (0)