@@ -43,6 +43,7 @@ describe('generateExports', () => {
4343 "inlinedDependencies": undefined,
4444 "main": undefined,
4545 "module": undefined,
46+ "publishBin": undefined,
4647 "publishExports": undefined,
4748 "types": undefined,
4849 }
@@ -66,6 +67,7 @@ describe('generateExports', () => {
6667 "inlinedDependencies": undefined,
6768 "main": undefined,
6869 "module": undefined,
70+ "publishBin": undefined,
6971 "publishExports": undefined,
7072 "types": undefined,
7173 }
@@ -87,6 +89,7 @@ describe('generateExports', () => {
8789 "inlinedDependencies": undefined,
8890 "main": undefined,
8991 "module": undefined,
92+ "publishBin": undefined,
9093 "publishExports": undefined,
9194 "types": undefined,
9295 }
@@ -108,6 +111,7 @@ describe('generateExports', () => {
108111 "inlinedDependencies": undefined,
109112 "main": undefined,
110113 "module": undefined,
114+ "publishBin": undefined,
111115 "publishExports": undefined,
112116 "types": undefined,
113117 }
@@ -129,6 +133,7 @@ describe('generateExports', () => {
129133 "inlinedDependencies": undefined,
130134 "main": undefined,
131135 "module": undefined,
136+ "publishBin": undefined,
132137 "publishExports": undefined,
133138 "types": undefined,
134139 }
@@ -153,6 +158,7 @@ describe('generateExports', () => {
153158 "inlinedDependencies": undefined,
154159 "main": "./foo.cjs",
155160 "module": "./foo.js",
161+ "publishBin": undefined,
156162 "publishExports": undefined,
157163 "types": undefined,
158164 }
@@ -177,6 +183,7 @@ describe('generateExports', () => {
177183 "inlinedDependencies": undefined,
178184 "main": "./foo.cjs",
179185 "module": "./foo.js",
186+ "publishBin": undefined,
180187 "publishExports": undefined,
181188 "types": "./foo.d.cts",
182189 }
@@ -201,6 +208,7 @@ describe('generateExports', () => {
201208 "inlinedDependencies": undefined,
202209 "main": "./index.cjs",
203210 "module": "./index.mjs",
211+ "publishBin": undefined,
204212 "publishExports": undefined,
205213 "types": "./index.d.cts",
206214 }
@@ -255,6 +263,7 @@ describe('generateExports', () => {
255263 "inlinedDependencies": undefined,
256264 "main": "./index.cjs",
257265 "module": "./index.js",
266+ "publishBin": undefined,
258267 "publishExports": {
259268 ".": {
260269 "import": "./index.js",
@@ -351,6 +360,7 @@ describe('generateExports', () => {
351360 "inlinedDependencies": undefined,
352361 "main": undefined,
353362 "module": undefined,
363+ "publishBin": undefined,
354364 "publishExports": undefined,
355365 "types": undefined,
356366 }
@@ -378,6 +388,7 @@ describe('generateExports', () => {
378388 "inlinedDependencies": undefined,
379389 "main": undefined,
380390 "module": undefined,
391+ "publishBin": undefined,
381392 "publishExports": undefined,
382393 "types": undefined,
383394 }
@@ -401,6 +412,7 @@ describe('generateExports', () => {
401412 "inlinedDependencies": undefined,
402413 "main": undefined,
403414 "module": undefined,
415+ "publishBin": undefined,
404416 "publishExports": undefined,
405417 "types": undefined,
406418 }
@@ -427,6 +439,7 @@ describe('generateExports', () => {
427439 "inlinedDependencies": undefined,
428440 "main": "./index.cjs",
429441 "module": "./index.js",
442+ "publishBin": undefined,
430443 "publishExports": undefined,
431444 "types": undefined,
432445 }
@@ -453,6 +466,7 @@ describe('generateExports', () => {
453466 "inlinedDependencies": undefined,
454467 "main": undefined,
455468 "module": undefined,
469+ "publishBin": undefined,
456470 "publishExports": undefined,
457471 "types": undefined,
458472 }
@@ -481,6 +495,7 @@ describe('generateExports', () => {
481495 "inlinedDependencies": undefined,
482496 "main": undefined,
483497 "module": undefined,
498+ "publishBin": undefined,
484499 "publishExports": undefined,
485500 "types": undefined,
486501 }
@@ -509,6 +524,7 @@ describe('generateExports', () => {
509524 "inlinedDependencies": undefined,
510525 "main": undefined,
511526 "module": undefined,
527+ "publishBin": undefined,
512528 "publishExports": undefined,
513529 "types": undefined,
514530 }
@@ -538,6 +554,7 @@ describe('generateExports', () => {
538554 "inlinedDependencies": undefined,
539555 "main": undefined,
540556 "module": undefined,
557+ "publishBin": undefined,
541558 "publishExports": undefined,
542559 "types": undefined,
543560 }
@@ -586,6 +603,7 @@ describe('generateExports', () => {
586603 "inlinedDependencies": undefined,
587604 "main": "./index.cjs",
588605 "module": "./index.js",
606+ "publishBin": undefined,
589607 "publishExports": undefined,
590608 "types": "./index.d.cts",
591609 }
@@ -611,6 +629,7 @@ describe('generateExports', () => {
611629 "inlinedDependencies": undefined,
612630 "main": undefined,
613631 "module": undefined,
632+ "publishBin": undefined,
614633 "publishExports": undefined,
615634 "types": undefined,
616635 }
@@ -637,6 +656,7 @@ describe('generateExports', () => {
637656 "inlinedDependencies": undefined,
638657 "main": undefined,
639658 "module": undefined,
659+ "publishBin": undefined,
640660 "publishExports": undefined,
641661 "types": undefined,
642662 }
@@ -662,6 +682,7 @@ describe('generateExports', () => {
662682 "inlinedDependencies": undefined,
663683 "main": undefined,
664684 "module": undefined,
685+ "publishBin": undefined,
665686 "publishExports": undefined,
666687 "types": undefined,
667688 }
@@ -687,6 +708,7 @@ describe('generateExports', () => {
687708 "inlinedDependencies": undefined,
688709 "main": undefined,
689710 "module": undefined,
711+ "publishBin": undefined,
690712 "publishExports": undefined,
691713 "types": undefined,
692714 }
@@ -866,6 +888,73 @@ describe('generateExports', () => {
866888 } )
867889 } )
868890
891+ test ( 'bin: object form with devExports' , async ( { expect } ) => {
892+ const results = generateExports (
893+ {
894+ es : [
895+ genChunk (
896+ 'cli.js' ,
897+ true ,
898+ path . resolve ( './src/cli.ts' ) ,
899+ '#!/usr/bin/env node\n' ,
900+ ) ,
901+ ] ,
902+ } ,
903+ {
904+ exports : {
905+ devExports : true ,
906+ bin : {
907+ mycli : './src/cli.ts' ,
908+ } ,
909+ } ,
910+ } ,
911+ )
912+ await expect ( results ) . resolves . toMatchObject ( {
913+ bin : { mycli : './src/cli.ts' } ,
914+ publishBin : { mycli : './cli.js' } ,
915+ } )
916+ } )
917+
918+ test ( 'bin: true with devExports' , async ( { expect } ) => {
919+ const results = generateExports (
920+ {
921+ es : [
922+ genChunk (
923+ 'cli.js' ,
924+ true ,
925+ path . resolve ( './src/cli.ts' ) ,
926+ '#!/usr/bin/env node\nconsole.log("hello")' ,
927+ ) ,
928+ ] ,
929+ } ,
930+ { exports : { devExports : true , bin : true } } ,
931+ )
932+ await expect ( results ) . resolves . toMatchObject ( {
933+ bin : { 'fake-pkg' : './src/cli.ts' } ,
934+ publishBin : { 'fake-pkg' : './cli.js' } ,
935+ } )
936+ } )
937+
938+ test ( 'bin: string form with devExports' , async ( { expect } ) => {
939+ const results = generateExports (
940+ {
941+ es : [
942+ genChunk (
943+ 'cli.js' ,
944+ true ,
945+ path . resolve ( './src/cli.ts' ) ,
946+ '#!/usr/bin/env node\n' ,
947+ ) ,
948+ ] ,
949+ } ,
950+ { exports : { devExports : true , bin : './src/cli.ts' } } ,
951+ )
952+ await expect ( results ) . resolves . toMatchObject ( {
953+ bin : { 'fake-pkg' : './src/cli.ts' } ,
954+ publishBin : { 'fake-pkg' : './cli.js' } ,
955+ } )
956+ } )
957+
869958 test ( 'extensions adds .js to subpath export keys' , async ( { expect } ) => {
870959 const results = generateExports (
871960 {
@@ -887,6 +976,7 @@ describe('generateExports', () => {
887976 "inlinedDependencies": undefined,
888977 "main": undefined,
889978 "module": undefined,
979+ "publishBin": undefined,
890980 "publishExports": undefined,
891981 "types": undefined,
892982 }
@@ -913,6 +1003,7 @@ describe('generateExports', () => {
9131003 "inlinedDependencies": undefined,
9141004 "main": undefined,
9151005 "module": undefined,
1006+ "publishBin": undefined,
9161007 "publishExports": undefined,
9171008 "types": undefined,
9181009 }
@@ -946,6 +1037,7 @@ describe('generateExports', () => {
9461037 "inlinedDependencies": undefined,
9471038 "main": "./index.cjs",
9481039 "module": "./index.js",
1040+ "publishBin": undefined,
9491041 "publishExports": undefined,
9501042 "types": undefined,
9511043 }
@@ -971,6 +1063,7 @@ describe('generateExports', () => {
9711063 "inlinedDependencies": undefined,
9721064 "main": undefined,
9731065 "module": undefined,
1066+ "publishBin": undefined,
9741067 "publishExports": undefined,
9751068 "types": undefined,
9761069 }
@@ -1044,6 +1137,7 @@ describe('generateExports', () => {
10441137 "inlinedDependencies": undefined,
10451138 "main": undefined,
10461139 "module": undefined,
1140+ "publishBin": undefined,
10471141 "publishExports": {
10481142 ".": "./index.js",
10491143 "./package.json": "./package.json",
0 commit comments