@@ -13,56 +13,24 @@ import fs from "fs";
1313import zip from "gulp-zip" ;
1414import { v4 as uuidv4 } from "uuid" ;
1515import include from "gulp-include" ;
16+ import { spawn } from "child_process" ;
1617// import debug from "gulp-debug";
1718
18- function popupJS ( ) {
19- return (
20- src ( [
21- "src/popup/js/handlers.js" ,
22- "src/popup/js/templates.js" ,
23- "src/popup/js/memory.js" ,
24- "src/popup/js/popup.js" ,
25- ] )
26- . pipe ( concat ( "popup.js" ) )
27- // .pipe(
28- // minifyJSTemplate({
29- // minifyOptions: { minifyCSS: false, collapseWhitespace: true },
30- // shouldMinify: (template) => true,
31- // })
32- // )
33- . pipe ( uglify ( { mangle : true } ) )
34- . pipe ( rename ( { suffix : ".min" } ) )
35- . pipe ( dest ( "src/popup/min/" ) )
36- ) ;
19+ // Helper function to build ES modules using Rollup
20+ function buildESModules ( ) {
21+ return new Promise ( ( resolve , reject ) => {
22+ const rollup = spawn ( "npx" , [ "rollup" , "-c" ] , { stdio : "inherit" } ) ;
23+ rollup . on ( "close" , ( code ) => {
24+ if ( code === 0 ) {
25+ resolve ( ) ;
26+ } else {
27+ reject ( new Error ( `Rollup build failed with code ${ code } ` ) ) ;
28+ }
29+ } ) ;
30+ } ) ;
3731}
3832
39- function utilsJS ( ) {
40- return (
41- src ( [
42- "src/shared/js/utils/octokit.bundle.js" ,
43- "src/shared/js/utils/miniquery.js" ,
44- "src/shared/js/utils/config.js" ,
45- "src/shared/js/utils/bibtexParser.js" ,
46- "src/shared/js/utils/functions.js" ,
47- "src/shared/js/utils/sync.js" ,
48- "src/shared/js/utils/data.js" ,
49- "src/shared/js/utils/paper.js" ,
50- "src/shared/js/utils/state.js" ,
51- "src/shared/js/utils/parsers.js" ,
52- ] )
53- // .pipe(debug())
54- . pipe ( concat ( "utils.js" ) )
55- // .pipe(
56- // minifyJSTemplate({
57- // minifyOptions: { minifyCSS: false, collapseWhitespace: true },
58- // shouldMinify: (template) => true,
59- // })
60- // )
61- . pipe ( uglify ( { mangle : true } ) )
62- . pipe ( rename ( { suffix : ".min" } ) )
63- . pipe ( dest ( "src/shared/min" ) )
64- ) ;
65- }
33+ // Note: popupJS() and utilsJS() tasks removed - now handled by Rollup
6634
6735function themeJS ( ) {
6836 return src ( [ "src/shared/js/theme.js" ] )
@@ -101,6 +69,7 @@ function popupCSS() {
10169 . pipe ( rename ( { suffix : ".min" } ) )
10270 . pipe ( dest ( "src/popup/min/" ) ) ;
10371}
72+
10473function popupDarkCSS ( ) {
10574 return src ( [ "src/popup/css/dark.css" ] )
10675 . pipe ( cleanCss ( ) )
@@ -109,16 +78,33 @@ function popupDarkCSS() {
10978}
11079
11180function watchFiles ( ) {
112- gwatch ( "src/popup/js/* .js" , popupJS ) ;
81+ // Watch theme .js (still processed by Gulp)
11382 gwatch ( "src/shared/js/theme.js" , themeJS ) ;
83+
84+ // Watch CSS files
11485 gwatch (
11586 [ "src/popup/css/*.css" , "src/shared/css/*.css" ] ,
11687 parallel ( popupCSS , popupDarkCSS )
11788 ) ;
89+
90+ // Watch HTML files
11891 gwatch ( "src/popup/*.html" , popupHTMLDev ) ;
11992 gwatch ( "src/popup/html/modals/*.html" , popupHTMLDev ) ;
12093 gwatch ( "src/popup/html/svgs/*.html" , popupHTMLDev ) ;
121- gwatch ( "src/shared/js/utils/*" , utilsJS ) ;
94+
95+ // Watch for ES module changes (handled by Rollup)
96+ gwatch (
97+ [
98+ "src/shared/js/utils/*" ,
99+ "src/popup/js/*.js" ,
100+ "src/content_scripts/*.js" ,
101+ "src/background/*.js" ,
102+ "src/options/*.js" ,
103+ "src/bibMatcher/*.js" ,
104+ "src/fullMemory/*.js" ,
105+ ] ,
106+ buildESModules
107+ ) ;
122108}
123109
124110function createArchive ( cb ) {
@@ -157,26 +143,27 @@ function createArchive(cb) {
157143 . pipe ( dest ( archiveFolder ) ) ;
158144}
159145
146+ // Updated build tasks - removed redundant JS bundling
160147export const build = parallel (
161- popupJS ,
162148 themeJS ,
163- utilsJS ,
164149 popupCSS ,
165150 popupDarkCSS ,
166- popupHTML
151+ popupHTML ,
152+ buildESModules
167153) ;
168154
169155export const dev = parallel (
170- popupJS ,
171156 themeJS ,
172- utilsJS ,
173157 popupCSS ,
174158 popupDarkCSS ,
175- popupHTMLDev
159+ popupHTMLDev ,
160+ buildESModules
176161) ;
177162
178163export const watch = series ( dev , watchFiles ) ;
179164
180165export const archive = series ( build , createArchive ) ;
181166
182167export const html = series ( popupHTMLDev ) ;
168+
169+ export const modules = buildESModules ;
0 commit comments