diff options
author | Sebastian <sebasjm@gmail.com> | 2022-04-22 16:10:21 -0300 |
---|---|---|
committer | Sebastian <sebasjm@gmail.com> | 2022-04-22 16:10:46 -0300 |
commit | c5f484d18a89bd6cda0c7a89eea5ee9d7fe4ba09 (patch) | |
tree | 2e8eb89bc2912d4858536b01ce1a5faf3d5fcec5 /packages/taler-wallet-webextension/dev.mjs | |
parent | 8e468ae092212896b16b57f0043df9e2410fc906 (diff) | |
download | wallet-core-c5f484d18a89bd6cda0c7a89eea5ee9d7fe4ba09.tar.xz |
deposit test case
Diffstat (limited to 'packages/taler-wallet-webextension/dev.mjs')
-rwxr-xr-x | packages/taler-wallet-webextension/dev.mjs | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/packages/taler-wallet-webextension/dev.mjs b/packages/taler-wallet-webextension/dev.mjs new file mode 100755 index 000000000..6c88f8a24 --- /dev/null +++ b/packages/taler-wallet-webextension/dev.mjs @@ -0,0 +1,67 @@ +#!/usr/bin/env node +/* eslint-disable no-undef */ + +import linaria from '@linaria/esbuild' +import esbuild from 'esbuild' +import { buildConfig } from "./build-fast-with-linaria.mjs" +import fs from 'fs'; +import WebSocket from "ws"; +import chokidar from "chokidar"; +import path from "path" + +const devServerBroadcastDelay = 500 +const devServerPort = 8002 +const wss = new WebSocket.Server({ port: devServerPort }); +const toWatch = ["./src"] + +function broadcast(file, event) { + setTimeout(() => { + wss.clients.forEach((client) => { + if (client.readyState === WebSocket.OPEN) { + console.log(new Date(), file) + client.send(JSON.stringify(event)); + } + }); + }, devServerBroadcastDelay); +} +wss.addListener("connection", () => { + console.log("new client") +}) + +const watcher = chokidar + .watch(toWatch, { + persistent: true, + ignoreInitial: true, + awaitWriteFinish: { + stabilityThreshold: 100, + pollInterval: 100, + }, + }) + .on("error", (error) => console.error(error)) + .on("change", async (file) => { + broadcast(file, { type: "RELOAD" }); + }) + .on("add", async (file) => { + broadcast(file, { type: "RELOAD" }); + }) + .on("unlink", async (file) => { + broadcast(file, { type: "RELOAD" }); + }); + + +fs.writeFileSync("dev-html/manifest.json", fs.readFileSync("manifest-v2.json")) +fs.writeFileSync("dev-html/mocha.css", fs.readFileSync("node_modules/mocha/mocha.css")) +fs.writeFileSync("dev-html/mocha.js", fs.readFileSync("node_modules/mocha/mocha.js")) +fs.writeFileSync("dev-html/mocha.js.map", fs.readFileSync("node_modules/mocha/mocha.js.map")) + +const server = await esbuild + .serve({ servedir: 'dev-html' }, { + ...buildConfig, outdir: 'dev-html/dist' + }) + .catch((e) => { + console.log(e) + process.exit(1) + }); + +console.log("ready!", server.port); + |