@@ -317,6 +317,89 @@ describe.concurrent('generateExports', () => {
317317 }
318318 ` )
319319 } )
320+
321+ test ( 'windows-like paths for subpackages' , async ( { expect } ) => {
322+ const results = generateExports (
323+ FAKE_PACKAGE_JSON ,
324+ cwd ,
325+ {
326+ es : [
327+ genChunk ( 'index.js' ) ,
328+ genChunk ( 'index.d.ts' ) ,
329+ genChunk ( String . raw `foo\index.js` ) ,
330+ genChunk ( String . raw `foo\index.d.ts` ) ,
331+ genChunk ( String . raw `bar\baz.js` ) ,
332+ genChunk ( String . raw `bar\baz.d.ts` ) ,
333+ ] ,
334+ } ,
335+ { } ,
336+ )
337+ await expect ( results ) . resolves . toMatchInlineSnapshot ( `
338+ {
339+ "exports": {
340+ ".": "./index.js",
341+ "./bar/baz": "./bar/baz.js",
342+ "./foo": "./foo/index.js",
343+ "./package.json": "./package.json",
344+ },
345+ "main": "./index.js",
346+ "module": "./index.js",
347+ "publishExports": undefined,
348+ "types": "./index.d.ts",
349+ }
350+ ` )
351+ } )
352+
353+ test ( 'windows-like paths for subpackages with dual format' , async ( {
354+ expect,
355+ } ) => {
356+ const results = generateExports (
357+ FAKE_PACKAGE_JSON ,
358+ cwd ,
359+ {
360+ es : [
361+ genChunk ( 'index.js' ) ,
362+ genChunk ( 'index.d.ts' ) ,
363+ genChunk ( String . raw `foo\index.js` ) ,
364+ genChunk ( String . raw `foo\index.d.ts` ) ,
365+ genChunk ( String . raw `bar\baz.js` ) ,
366+ genChunk ( String . raw `bar\baz.d.ts` ) ,
367+ ] ,
368+ cjs : [
369+ genChunk ( 'index.cjs' ) ,
370+ genChunk ( 'index.d.cts' ) ,
371+ genChunk ( String . raw `foo\index.cjs` ) ,
372+ genChunk ( String . raw `foo\index.d.cts` ) ,
373+ genChunk ( String . raw `bar\baz.cjs` ) ,
374+ genChunk ( String . raw `bar\baz.d.cts` ) ,
375+ ] ,
376+ } ,
377+ { } ,
378+ )
379+ await expect ( results ) . resolves . toMatchInlineSnapshot ( `
380+ {
381+ "exports": {
382+ ".": {
383+ "import": "./index.js",
384+ "require": "./index.cjs",
385+ },
386+ "./bar/baz": {
387+ "import": "./bar/baz.js",
388+ "require": "./bar/baz.cjs",
389+ },
390+ "./foo": {
391+ "import": "./foo/index.js",
392+ "require": "./foo/index.cjs",
393+ },
394+ "./package.json": "./package.json",
395+ },
396+ "main": "./index.cjs",
397+ "module": "./index.js",
398+ "publishExports": undefined,
399+ "types": "./index.d.cts",
400+ }
401+ ` )
402+ } )
320403} )
321404
322405function genChunk ( fileName : string ) {
0 commit comments