Page MenuHomeSealhub

No OneTemporary

diff --git a/esbuild.js b/esbuild.js
index 2f0c7dc..99f1a17 100644
--- a/esbuild.js
+++ b/esbuild.js
@@ -1,59 +1,75 @@
const { build } = require("esbuild");
const { spawn } = require("child_process");
const { sassPlugin } = require("esbuild-sass-plugin");
const glob = require("tiny-glob");
const chokidar = require("chokidar");
const watch = process.argv.includes("--watch");
+async function build_scss(watch) {
+ let scss_build;
+ if (watch) {
+ const scss_watcher = chokidar.watch("src", { ignoreInitial: true });
+ scss_watcher.on("all", (_, path) => {
+ if (!scss_build) return;
+ if (path.endsWith(".scss") && !path.endsWith("/includes.scss")) {
+ // refresh the list of all scss files in includes.scss
+ spawn("./node_modules/.bin/sealgen", ["generate-scss-includes"]).on(
+ "close",
+ () => {
+ try {
+ scss_build.rebuild();
+ console.log(`Built main.scss [on ${path}]`);
+ } catch (e) {
+ console.error(e);
+ setTimeout(() => {
+ scss_build
+ .rebuild()
+ .catch((e) => conslole.error(e.message));
+ }, 200);
+ }
+ }
+ );
+ }
+ });
+ }
+
+ scss_build = await build({
+ entryPoints: ["./src/main.scss"],
+ sourcemap: true,
+ outfile: "./public/dist/style.css",
+ logLevel: "info",
+ incremental: watch,
+ plugins: [sassPlugin()],
+ });
+ scss_build.rebuild();
+}
+
(async () => {
const entryPoints = await glob("./src/back/**/*.ts");
build({
entryPoints,
sourcemap: true,
outdir: "./dist/back",
logLevel: "info",
platform: "node",
watch,
target: "node16",
format: "cjs",
});
- const scss_build = await build({
- entryPoints: ["./src/main.scss"],
- sourcemap: true,
- outfile: "./public/dist/style.css",
- logLevel: "info",
- incremental: watch,
- plugins: [sassPlugin()],
- });
- scss_build.rebuild();
build({
entryPoints: ["./src/front/index.ts"],
sourcemap: true,
outfile: "./public/dist/bundle.js",
logLevel: "info",
bundle: true,
watch,
});
- if (watch) {
- const scss_watcher = chokidar.watch("src", { ignoreInitial: true });
- scss_watcher.on("all", (_, path) => {
- if (path.endsWith(".scss")) {
- // refresh the list of all scss files in includes.scss
- spawn("./node_modules/.bin/sealgen", ["generate-scss-includes"]).on(
- "close",
- () => {
- scss_build.rebuild().catch(async (e) => {
- console.error(e);
- setTimeout(() => {
- scss_build.rebuild();
- }, 200);
- });
- }
- );
- }
- });
+ try {
+ await build_scss(watch);
+ } catch (e) {
+ console.error(e.message);
}
})();

File Metadata

Mime Type
text/x-diff
Expires
Sat, Nov 8, 14:52 (7 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1034677
Default Alt Text
(2 KB)

Event Timeline