@@ -5,32 +5,52 @@ import { dependencies } from './package.json'
55import { IndexExternalResolvePlugin } from './scripts/index-external-plugin'
66import { createDtsResolvePlugin } from './scripts/resolve-plugin'
77
8+ function createBasePlugins ( ) {
9+ return [
10+ IndexExternalResolvePlugin ( path . resolve ( 'index' ) , '../index.js' ) ,
11+ ]
12+ }
13+
14+ function createDtsPlugins ( ) {
15+ return dts ( )
16+ . filter ( plugin => plugin . name !== 'rolldown-plugin-dts:resolver' )
17+ . concat (
18+ createDtsResolvePlugin ( {
19+ tsconfig : path . resolve ( 'tsconfig.json' ) ,
20+ resolve : false ,
21+ } ) ,
22+ )
23+ }
24+
25+ const esmOutputOptions = {
26+ advancedChunks : {
27+ groups : [
28+ // handle .d.ts files
29+ { test : / m o d u l e - b u i l d - p r o f i l e .* \. d \. [ c m ] ? t s $ / , name : 'module-build-profile.d' } ,
30+ { test : / p r o j e c t - b u i l d - p r o f i l e .* \. d \. [ c m ] ? t s $ / , name : 'project-build-profile.d' } ,
31+ ] ,
32+ } ,
33+ }
34+
835export default defineConfig ( [
936 {
1037 entry : './src/node/index.ts' ,
1138 external : [ / \. n o d e $ / , path . resolve ( 'index.js' ) ] ,
1239 dts : false ,
1340 format : 'esm' ,
14- plugins : [
15- IndexExternalResolvePlugin ( path . resolve ( 'index' ) , '../index.js' ) ,
16- dts ( )
17- . filter ( plugin => plugin . name !== 'rolldown-plugin-dts:resolver' )
18- . concat (
19- createDtsResolvePlugin ( {
20- tsconfig : path . resolve ( 'tsconfig.json' ) ,
21- resolve : false ,
22- } ) ,
23- ) ,
24- ] ,
25- outputOptions : {
26- advancedChunks : {
27- groups : [
28- // handle .d.ts files
29- { test : / m o d u l e - b u i l d - p r o f i l e .* \. d \. [ c m ] ? t s $ / , name : 'module-build-profile.d' } ,
30- { test : / p r o j e c t - b u i l d - p r o f i l e .* \. d \. [ c m ] ? t s $ / , name : 'project-build-profile.d' } ,
31- ] ,
32- } ,
33- } ,
41+ outExtensions : ( ) => ( { js : '.js' } ) ,
42+ platform : 'node' ,
43+ shims : true ,
44+ plugins : [ ...createBasePlugins ( ) , ...createDtsPlugins ( ) ] ,
45+ outputOptions : esmOutputOptions ,
46+ } ,
47+ {
48+ entry : './src/node/index.ts' ,
49+ external : [ / \. n o d e $ / , path . resolve ( 'index.js' ) ] ,
50+ dts : false ,
51+ format : 'cjs' ,
52+ outExtensions : ( ) => ( { js : '.cjs' } ) ,
53+ plugins : createBasePlugins ( ) ,
3454 } ,
3555 {
3656 entry : {
@@ -40,25 +60,21 @@ export default defineConfig([
4060 noExternal : Object . keys ( dependencies ) ,
4161 dts : false ,
4262 format : 'esm' ,
43- plugins : [
44- IndexExternalResolvePlugin ( path . resolve ( 'index' ) , '../index.js' ) ,
45- dts ( )
46- . filter ( plugin => plugin . name !== 'rolldown-plugin-dts:resolver' )
47- . concat (
48- createDtsResolvePlugin ( {
49- tsconfig : path . resolve ( 'tsconfig.json' ) ,
50- resolve : false ,
51- } ) ,
52- ) ,
53- ] ,
54- outputOptions : {
55- advancedChunks : {
56- groups : [
57- // handle .d.ts files
58- { test : / m o d u l e - b u i l d - p r o f i l e .* \. d \. [ c m ] ? t s $ / , name : 'module-build-profile.d' } ,
59- { test : / p r o j e c t - b u i l d - p r o f i l e .* \. d \. [ c m ] ? t s $ / , name : 'project-build-profile.d' } ,
60- ] ,
61- } ,
63+ outExtensions : ( ) => ( { js : '.js' } ) ,
64+ platform : 'node' ,
65+ shims : true ,
66+ plugins : [ ...createBasePlugins ( ) , ...createDtsPlugins ( ) ] ,
67+ outputOptions : esmOutputOptions ,
68+ } ,
69+ {
70+ entry : {
71+ bundled : './src/node/index.ts' ,
6272 } ,
73+ external : [ / \. n o d e $ / , path . resolve ( 'index.js' ) ] ,
74+ noExternal : Object . keys ( dependencies ) ,
75+ dts : false ,
76+ format : 'cjs' ,
77+ outExtensions : ( ) => ( { js : '.cjs' } ) ,
78+ plugins : createBasePlugins ( ) ,
6379 } ,
6480] )
0 commit comments