summaryrefslogtreecommitdiff
path: root/packages
diff options
context:
space:
mode:
authorSebastian <sebasjm@gmail.com>2023-04-24 11:43:23 -0300
committerSebastian <sebasjm@gmail.com>2023-04-24 11:57:19 -0300
commitfdd56335309017016362fa4a9ead606fdae9ee7e (patch)
treedb9cadafbee685f9f3477cb3d3bec198ad118682 /packages
parent9660d07c602d1164c76d593b30b2d5fe9c611aa5 (diff)
downloadwallet-core-fdd56335309017016362fa4a9ead606fdae9ee7e.tar.gz
wallet-core-fdd56335309017016362fa4a9ead606fdae9ee7e.tar.bz2
wallet-core-fdd56335309017016362fa4a9ead606fdae9ee7e.zip
using build from web-utils
Diffstat (limited to 'packages')
-rwxr-xr-xpackages/demobank-ui/build.mjs155
-rwxr-xr-xpackages/demobank-ui/dev.mjs15
-rw-r--r--packages/demobank-ui/package.json1
-rw-r--r--packages/web-util/tsconfig.json2
4 files changed, 14 insertions, 159 deletions
diff --git a/packages/demobank-ui/build.mjs b/packages/demobank-ui/build.mjs
index f30fe5490..a89b9742f 100755
--- a/packages/demobank-ui/build.mjs
+++ b/packages/demobank-ui/build.mjs
@@ -15,156 +15,7 @@
GNU Taler; see the file COPYING. If not, see <http://www.gnu.org/licenses/>
*/
-import esbuild from "esbuild";
-import path from "path";
-import fs from "fs";
-import sass from "sass";
+ import { buildProd } from "@gnu-taler/web-util/lib/index.build"
-// eslint-disable-next-line no-undef
-const BASE = process.cwd();
-
-const preact = path.join(
- BASE,
- "node_modules",
- "preact",
- "compat",
- "dist",
- "compat.module.js",
-);
-
-const preactCompatPlugin = {
- name: "preact-compat",
- setup(build) {
- build.onResolve({ filter: /^(react-dom|react)$/ }, (args) => {
- //console.log("onresolve", JSON.stringify(args, undefined, 2));
- return {
- path: preact,
- };
- });
- },
-};
-
-function getFilesInDirectory(startPath, regex) {
- if (!fs.existsSync(startPath)) {
- return;
- }
- const files = fs.readdirSync(startPath);
- const result = files.flatMap(file => {
- const filename = path.join(startPath, file);
-
- const stat = fs.lstatSync(filename);
- if (stat.isDirectory()) {
- return getFilesInDirectory(filename, regex);
- }
- else if (regex.test(filename)) {
- return filename
- }
- }).filter(x => !!x)
-
- return result
-}
-
-const allTestFiles = getFilesInDirectory(path.join(BASE, 'src'), /.test.ts$/)
-
-const entryPoints = ["src/index.tsx", "src/stories.tsx", ...allTestFiles];
-
-let GIT_ROOT = BASE;
-while (!fs.existsSync(path.join(GIT_ROOT, ".git")) && GIT_ROOT !== "/") {
- GIT_ROOT = path.join(GIT_ROOT, "../");
-}
-if (GIT_ROOT === "/") {
- // eslint-disable-next-line no-undef
- console.log("not found");
- // eslint-disable-next-line no-undef
- process.exit(1);
-}
-const GIT_HASH = GIT_ROOT === "/" ? undefined : git_hash();
-
-let _package = JSON.parse(fs.readFileSync(path.join(BASE, "package.json")));
-
-function git_hash() {
- const rev = fs
- .readFileSync(path.join(GIT_ROOT, ".git", "HEAD"))
- .toString()
- .trim()
- .split(/.*[: ]/)
- .slice(-1)[0];
- if (rev.indexOf("/") === -1) {
- return rev;
- } else {
- return fs.readFileSync(path.join(GIT_ROOT, ".git", rev)).toString().trim();
- }
-}
-
-// FIXME: Put this into some helper library.
-function copyFilesPlugin(options) {
- return {
- name: "copy-files",
- setup(build) {
- build.onEnd(() => {
- for (const fop of options) {
- fs.copyFileSync(fop.src, fop.dest);
- }
- });
- },
- };
-}
-
-const DEFAULT_SASS_FILTER = /\.(s[ac]ss|css)$/
-
-const buildSassPlugin = {
- name: "custom-build-sass",
- setup(build) {
-
- build.onLoad({ filter: DEFAULT_SASS_FILTER }, ({ path: file }) => {
- const resolveDir = path.dirname(file)
- const { css: contents } = sass.compile(file, { loadPaths: ["./"] })
-
- return {
- resolveDir,
- loader: 'css',
- contents
- }
- });
-
- },
-};
-
-export const buildConfig = {
- entryPoints: [...entryPoints],
- bundle: true,
- outdir: "dist",
- minify: false,
- loader: {
- ".svg": "file",
- ".png": "dataurl",
- ".jpeg": "dataurl",
- '.ttf': 'file',
- '.woff': 'file',
- '.woff2': 'file',
- '.eot': 'file',
- },
- target: ["es6"],
- format: "esm",
- platform: "browser",
- sourcemap: true,
- jsxFactory: "h",
- jsxFragment: "Fragment",
- external: ["async_hooks"],
- define: {
- __VERSION__: `"${_package.version}"`,
- __GIT_HASH__: `"${GIT_HASH}"`,
- },
- plugins: [
- preactCompatPlugin,
- copyFilesPlugin([
- {
- src: "./src/index.html",
- dest: "./dist/index.html",
- },
- ]),
- buildSassPlugin
- ],
-};
-
-await esbuild.build(buildConfig)
+ await buildProd(["src/index.tsx"])
+ \ No newline at end of file
diff --git a/packages/demobank-ui/dev.mjs b/packages/demobank-ui/dev.mjs
index 35a9fa16c..74df51195 100755
--- a/packages/demobank-ui/dev.mjs
+++ b/packages/demobank-ui/dev.mjs
@@ -16,15 +16,20 @@
*/
import { serve } from "@gnu-taler/web-util/lib/index.node";
-import esbuild from "esbuild";
-import { buildConfig } from "./build.mjs";
+import { initializeDev, getFilesInSource } from "@gnu-taler/web-util/lib/index.build"
-buildConfig.inject = ['./node_modules/@gnu-taler/web-util/lib/live-reload.mjs']
+const allTestFiles = getFilesInSource(/.test.tsx?$/);
+const devEntryPoints = ["src/stories.tsx", "src/index.tsx", ...allTestFiles];
+
+const buildDev = initializeDev(devEntryPoints)
+
+await buildDev();
serve({
- folder: './dist',
+ folder: './dist/dev',
port: 8080,
source: './src',
+ insecure: true,
development: true,
- onUpdate: async () => esbuild.build(buildConfig)
+ onUpdate: buildDev
})
diff --git a/packages/demobank-ui/package.json b/packages/demobank-ui/package.json
index 586beae05..f23173da4 100644
--- a/packages/demobank-ui/package.json
+++ b/packages/demobank-ui/package.json
@@ -50,7 +50,6 @@
"@types/node": "^18.11.17",
"@typescript-eslint/eslint-plugin": "^5.41.0",
"@typescript-eslint/parser": "^5.41.0",
- "async_hooks": "^1.0.0",
"bulma": "^0.9.4",
"bulma-checkbox": "^1.1.1",
"bulma-radio": "^1.1.1",
diff --git a/packages/web-util/tsconfig.json b/packages/web-util/tsconfig.json
index fc558e59b..fc69cad06 100644
--- a/packages/web-util/tsconfig.json
+++ b/packages/web-util/tsconfig.json
@@ -2,7 +2,7 @@
"compilerOptions": {
"composite": true,
"declaration": true,
- "declarationMap": false,
+ "declarationMap": true,
"target": "ES6",
"module": "ESNext",
"jsx": "react",