@@ -79,7 +79,7 @@ const main = async () => {
7979 js : "import { createRequire } from 'module'; const require = createRequire(import.meta.url);" ,
8080 } ;
8181 }
82- return undefined ;
82+ return ;
8383 } ,
8484 outExtension : ( ctx ) => {
8585 if ( ctx . format === 'cjs' ) {
@@ -95,8 +95,124 @@ const main = async () => {
9595 } ,
9696 } ) ;
9797
98- const apiCjs = readFileSync ( './dist/api-postgres.js' , 'utf8' ) . replace ( / a w a i t i m p o r t \( / g, 'require(' ) ;
99- writeFileSync ( './dist/api-postgres.js' , apiCjs ) ;
98+ writeFileSync (
99+ './dist/api-postgres.js' ,
100+ readFileSync ( './dist/api-postgres.js' , 'utf8' ) . replace ( / a w a i t i m p o r t \( / g, 'require(' ) ,
101+ ) ;
102+
103+ await tsup . build ( {
104+ entryPoints : [ './src/ext/api-mysql.ts' ] ,
105+ outDir : './dist' ,
106+ external : [ 'bun:sqlite' ] ,
107+ splitting : false ,
108+ dts : true ,
109+ format : [ 'cjs' , 'esm' ] ,
110+ banner : ( ctx ) => {
111+ /**
112+ * fix dynamic require in ESM ("glob" -> "fs.realpath" requires 'fs' module)
113+ * @link https://github.com/drizzle-team/drizzle-orm/issues/2853
114+ */
115+ if ( ctx . format === 'esm' ) {
116+ return {
117+ js : "import { createRequire } from 'module'; const require = createRequire(import.meta.url);" ,
118+ } ;
119+ }
120+ return ;
121+ } ,
122+ outExtension : ( ctx ) => {
123+ if ( ctx . format === 'cjs' ) {
124+ return {
125+ dts : '.d.ts' ,
126+ js : '.js' ,
127+ } ;
128+ }
129+ return {
130+ dts : '.d.mts' ,
131+ js : '.mjs' ,
132+ } ;
133+ } ,
134+ } ) ;
135+
136+ writeFileSync (
137+ './dist/api-mysql.js' ,
138+ readFileSync ( './dist/api-mysql.js' , 'utf8' ) . replace ( / a w a i t i m p o r t \( / g, 'require(' ) ,
139+ ) ;
140+
141+ await tsup . build ( {
142+ entryPoints : [ './src/ext/api-sqlite.ts' ] ,
143+ outDir : './dist' ,
144+ external : [ 'bun:sqlite' ] ,
145+ splitting : false ,
146+ dts : true ,
147+ format : [ 'cjs' , 'esm' ] ,
148+ banner : ( ctx ) => {
149+ /**
150+ * fix dynamic require in ESM ("glob" -> "fs.realpath" requires 'fs' module)
151+ * @link https://github.com/drizzle-team/drizzle-orm/issues/2853
152+ */
153+ if ( ctx . format === 'esm' ) {
154+ return {
155+ js : "import { createRequire } from 'module'; const require = createRequire(import.meta.url);" ,
156+ } ;
157+ }
158+ return ;
159+ } ,
160+ outExtension : ( ctx ) => {
161+ if ( ctx . format === 'cjs' ) {
162+ return {
163+ dts : '.d.ts' ,
164+ js : '.js' ,
165+ } ;
166+ }
167+ return {
168+ dts : '.d.mts' ,
169+ js : '.mjs' ,
170+ } ;
171+ } ,
172+ } ) ;
173+
174+ writeFileSync (
175+ './dist/api-sqlite.js' ,
176+ readFileSync ( './dist/api-sqlite.js' , 'utf8' ) . replace ( / a w a i t i m p o r t \( / g, 'require(' ) ,
177+ ) ;
178+
179+ await tsup . build ( {
180+ entryPoints : [ './src/ext/api-singlestore.ts' ] ,
181+ outDir : './dist' ,
182+ external : [ 'bun:sqlite' ] ,
183+ splitting : false ,
184+ dts : true ,
185+ format : [ 'cjs' , 'esm' ] ,
186+ banner : ( ctx ) => {
187+ /**
188+ * fix dynamic require in ESM ("glob" -> "fs.realpath" requires 'fs' module)
189+ * @link https://github.com/drizzle-team/drizzle-orm/issues/2853
190+ */
191+ if ( ctx . format === 'esm' ) {
192+ return {
193+ js : "import { createRequire } from 'module'; const require = createRequire(import.meta.url);" ,
194+ } ;
195+ }
196+ return ;
197+ } ,
198+ outExtension : ( ctx ) => {
199+ if ( ctx . format === 'cjs' ) {
200+ return {
201+ dts : '.d.ts' ,
202+ js : '.js' ,
203+ } ;
204+ }
205+ return {
206+ dts : '.d.mts' ,
207+ js : '.mjs' ,
208+ } ;
209+ } ,
210+ } ) ;
211+
212+ writeFileSync (
213+ './dist/api-singlestore.js' ,
214+ readFileSync ( './dist/api-singlestore.js' , 'utf8' ) . replace ( / a w a i t i m p o r t \( / g, 'require(' ) ,
215+ ) ;
100216} ;
101217
102218main ( ) . catch ( ( e ) => {
0 commit comments