11import dotenv from 'dotenv' ;
22dotenv . config ( ) ;
33
4+ import { readFileSync } from 'fs' ;
5+ import { fileURLToPath } from 'url' ;
6+ import { dirname , resolve as pathResolve } from 'path' ;
47import resolve from '@rollup/plugin-node-resolve' ;
58import commonjs from '@rollup/plugin-commonjs' ;
69import babel from '@rollup/plugin-babel' ;
@@ -14,10 +17,25 @@ import url from '@rollup/plugin-url';
1417import terser from '@rollup/plugin-terser' ;
1518import copy from 'rollup-plugin-copy' ;
1619import alias from '@rollup/plugin-alias' ;
20+ import replace from '@rollup/plugin-replace' ;
21+
22+ // Read version from package.json
23+ const __dirname = dirname ( fileURLToPath ( import . meta. url ) ) ;
24+ const { version } = JSON . parse ( readFileSync ( pathResolve ( __dirname , 'package.json' ) , 'utf8' ) ) ;
1725
1826// Check if we are in 'development' mode
1927const isDev = process . env . ROLLUP_WATCH ;
2028
29+ // Version replacement plugin
30+ function versionReplacer ( ) {
31+ return replace ( {
32+ preventAssignment : true ,
33+ values : {
34+ __EMBEDPDF_VERSION__ : version ,
35+ } ,
36+ } ) ;
37+ }
38+
2139export default [
2240 {
2341 input : 'src/embedpdf.ts' ,
@@ -75,6 +93,7 @@ export default [
7593 plugins : [ autoprefixer ( ) , tailwindcss ( ) ] ,
7694 } ) ,
7795 typescript ( ) ,
96+ versionReplacer ( ) ,
7897 babel ( {
7998 exclude : 'node_modules/**' ,
8099 extensions : [ '.js' , '.jsx' , '.ts' , '.tsx' ] ,
0 commit comments