Skip to content

Commit 7d6fc5b

Browse files
committed
🏗 build: Gulp uses Rollup
1 parent 1f01530 commit 7d6fc5b

File tree

1 file changed

+41
-54
lines changed

1 file changed

+41
-54
lines changed

gulpfile.mjs

Lines changed: 41 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -13,56 +13,24 @@ import fs from "fs";
1313
import zip from "gulp-zip";
1414
import { v4 as uuidv4 } from "uuid";
1515
import 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

6735
function 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+
10473
function popupDarkCSS() {
10574
return src(["src/popup/css/dark.css"])
10675
.pipe(cleanCss())
@@ -109,16 +78,33 @@ function popupDarkCSS() {
10978
}
11079

11180
function 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

124110
function createArchive(cb) {
@@ -157,26 +143,27 @@ function createArchive(cb) {
157143
.pipe(dest(archiveFolder));
158144
}
159145

146+
// Updated build tasks - removed redundant JS bundling
160147
export const build = parallel(
161-
popupJS,
162148
themeJS,
163-
utilsJS,
164149
popupCSS,
165150
popupDarkCSS,
166-
popupHTML
151+
popupHTML,
152+
buildESModules
167153
);
168154

169155
export const dev = parallel(
170-
popupJS,
171156
themeJS,
172-
utilsJS,
173157
popupCSS,
174158
popupDarkCSS,
175-
popupHTMLDev
159+
popupHTMLDev,
160+
buildESModules
176161
);
177162

178163
export const watch = series(dev, watchFiles);
179164

180165
export const archive = series(build, createArchive);
181166

182167
export const html = series(popupHTMLDev);
168+
169+
export const modules = buildESModules;

0 commit comments

Comments
 (0)