fast build

Signed-off-by: Florian Dold <florian@dold.me>
This commit is contained in:
Florian Dold 2021-08-20 13:06:59 +02:00
parent a3687d84ba
commit d41b439a80
No known key found for this signature in database
GPG Key ID: D2E4F00F29D02A4B
4 changed files with 80 additions and 3 deletions

1
.gitignore vendored
View File

@ -5,6 +5,7 @@ lib/
node_modules/ node_modules/
tsconfig.tsbuildinfo tsconfig.tsbuildinfo
.pnpm-store/ .pnpm-store/
build/
# GNU-style build system # GNU-style build system
/configure /configure

70
contrib/build-fast.sh Executable file
View File

@ -0,0 +1,70 @@
#!/usr/bin/env bash
set -eu
set -x
export NODE_PATH=vendor:build/node_modules:build
function build_idb() {
rm -rf packages/idb-bridge/node_modules
idb_dir=build/@gnu-taler/idb-bridge
mkdir -p $idb_dir
esbuild --platform=node --bundle packages/idb-bridge/src/index.ts > $idb_dir/index.js
}
function build_taler_util() {
taler_util_dir=build/@gnu-taler/taler-util
mkdir -p $taler_util_dir
esbuild --platform=node --bundle packages/taler-util/src/index.node.ts > $taler_util_dir/index.js
}
function build_fflate() {
fflate_dir=build/fflate
mkdir -p $fflate_dir
esbuild --platform=node --bundle vendor/fflate/src/index.ts > $fflate_dir/index.js
}
function build_ct() {
ct_dir=build/cancellationtoken
mkdir -p $ct_dir
esbuild --target=es6 --platform=node --bundle vendor/cancellationtoken/src/index.ts > $ct_dir/index.js
}
function build_wallet_core() {
taler_wallet_core_dir=build/@gnu-taler/taler-wallet-core
rm -rf packages/taler-wallet-core/node_modules
rm -rf packages/taler-wallet-core/lib
rm -rf packages/taler-wallet-core/dist
mkdir -p $taler_wallet_core_dir
esbuild --platform=node --bundle packages/taler-wallet-core/src/index.node.ts > $taler_wallet_core_dir/index.js
}
function build_wallet_embedded() {
taler_wallet_embedded_dir=build/@gnu-taler/taler-wallet-embedded
mkdir -p $taler_wallet_embedded_dir
esbuild --platform=node --bundle packages/taler-wallet-embedded/src/index.ts > $taler_wallet_embedded_dir/taler-wallet-embedded.js
}
function build_wallet_cli() {
taler_wallet_cli_dir=build/@gnu-taler/taler-wallet-cli
mkdir -p $taler_wallet_cli_dir
rm -rf packages/taler-wallet-cli/node_modules
rm -rf packages/taler-wallet-cli/lib
rm -rf packages/taler-wallet-cli/dist
esbuild --platform=node --bundle packages/taler-wallet-cli/src/index.ts > $taler_wallet_cli_dir/index.js
cp $taler_wallet_cli_dir/index.js $taler_wallet_cli_dir/taler-wallet-cli.js
}
build_idb
build_taler_util
build_fflate
build_wallet_core
build_wallet_embedded
build_ct
build_wallet_cli

View File

@ -36,13 +36,13 @@ import {
} from "@gnu-taler/taler-wallet-core"; } from "@gnu-taler/taler-wallet-core";
import fs from "fs"; import fs from "fs";
import { WalletNotification } from "../../taler-wallet-core/node_modules/@gnu-taler/taler-util/lib/notifications.js";
import { TalerErrorCode } from "../../taler-wallet-core/node_modules/@gnu-taler/taler-util/lib/taler-error-codes.js";
import { import {
CoreApiEnvelope, CoreApiEnvelope,
CoreApiResponse, CoreApiResponse,
CoreApiResponseSuccess, CoreApiResponseSuccess,
} from "../../taler-wallet-core/node_modules/@gnu-taler/taler-util/lib/walletTypes.js"; WalletNotification,
TalerErrorCode,
} from "@gnu-taler/taler-util";
export { handleWorkerError, handleWorkerMessage }; export { handleWorkerError, handleWorkerMessage };

6
vendor/README vendored Normal file
View File

@ -0,0 +1,6 @@
The third-party packages in this directory are managed
via git subtrees.
They are added like this:
$ git subtree -P vendor/jed add --squash https://github.com/messageformat/Jed master