From 43bd0f5797f2c07389d3c5e70576bc1c31c1bf6e Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Tue, 12 Apr 2022 12:11:05 +0200 Subject: [PATCH 1/4] Build faucet docker image in CI --- .circleci/config.yml | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1dc80239..fb4cfedb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -41,6 +41,7 @@ workflows: - coverage: requires: - build + - faucet-docker jobs: build: @@ -573,3 +574,32 @@ jobs: - run: name: Format shell scripts command: yarn format-shell + faucet-docker: + docker: + - image: cimg/go:1.17.8 + steps: + - run: + name: Install Git Large File Storage (LFS) + command: | + sudo apt update + sudo apt install git-lfs + - checkout + - setup_remote_docker: + # >= v20.10 https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.14.0#faccessat2 + version: 20.10.11 + - run: + name: Build faucet Docker image + # Use ${CIRCLE_TAG} + command: | + docker build --pull -t "confio/faucet:$CIRCLE_SHA1" -f packages/faucet/Dockerfile . + - run: + name: Check docker image can be executed + command: | + docker run --rm "confio/faucet:$CIRCLE_SHA1" version + docker run --rm "confio/faucet:$CIRCLE_SHA1" generate + # - run: + # name: Push image to Docker Hub + # command: | + # docker login --password-stdin -u "$DOCKER_USER" \<<<"$DOCKER_PASS" + # docker push "confio/faucet:$CIRCLE_SHA1" + # docker logout From 899b8948231c91111a01054e17a5f065fb1b17cf Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Tue, 12 Apr 2022 13:08:07 +0200 Subject: [PATCH 2/4] Improve Dockerfile --- packages/faucet/Dockerfile | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/faucet/Dockerfile b/packages/faucet/Dockerfile index 5087c9e5..6f6291a7 100644 --- a/packages/faucet/Dockerfile +++ b/packages/faucet/Dockerfile @@ -1,17 +1,21 @@ # Confio hosts a faucet build at https://hub.docker.com/r/confio/faucet # # Build: -# docker build -t confio/faucet:manual -f packages/faucet/Dockerfile . +# docker build --pull -t confio/faucet:manual -f packages/faucet/Dockerfile . # Run: # docker run --rm confio/faucet:manual version +# +# During the build step the working directory must be the repo root such that the +# app has access to all installed dependencies. FROM node:14-alpine as build-env ADD . /app WORKDIR /app -RUN apk add --update --no-cache alpine-sdk linux-headers build-base gcc libusb-dev python3 eudev-dev && ln -sf python3 /usr/bin/python -RUN python3 -m ensurepip +RUN apk add --update --no-cache alpine-sdk linux-headers build-base gcc libusb-dev python3 py3-pip eudev-dev \ + && ln -sf python3 /usr/bin/python +# Do we really need to update those? RUN pip3 install --no-cache --upgrade pip setuptools RUN yarn install && yarn run build From b8db0b325568adf2378048951d24078d286b41fd Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Tue, 12 Apr 2022 14:03:40 +0200 Subject: [PATCH 3/4] Install webpack to faucet --- .pnp.cjs | 149 ++++++++++++++++++++++++++++++++++- packages/faucet/package.json | 4 +- yarn.lock | 2 + 3 files changed, 153 insertions(+), 2 deletions(-) diff --git a/.pnp.cjs b/.pnp.cjs index ffcda06e..41706e65 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -3445,7 +3445,9 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ["ses", "npm:0.11.1"], ["source-map-support", "npm:0.5.19"], ["ts-node", "virtual:4f1584ad4aba8733a24be7c8aebbffafef25607f2d00f4b314cf96717145c692763628a31c2b85d4686fbb091ff21ebffa3cc337399c042c19a32b9bdb786464#npm:8.10.2"], - ["typescript", "patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8"] + ["typescript", "patch:typescript@npm%3A4.4.4#~builtin::version=4.4.4&hash=ddd1e8"], + ["webpack", "virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:5.37.1"], + ["webpack-cli", "virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:4.7.0"] ], "linkType": "SOFT", }] @@ -5226,6 +5228,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], + ["virtual:3ea0c3d01a91f33f2b24b3c62295ba50dc5ef053f064cdf07af43c620c6676ffb7047384e94d8051c46c3fcde0c51e60e90f847a877a41fe8c439f2527308476#npm:1.0.3", { + "packageLocation": "./.yarn/__virtual__/@webpack-cli-configtest-virtual-af67a62b82/0/cache/@webpack-cli-configtest-npm-1.0.3-b6e357f778-4efcca159e.zip/node_modules/@webpack-cli/configtest/", + "packageDependencies": [ + ["@webpack-cli/configtest", "virtual:3ea0c3d01a91f33f2b24b3c62295ba50dc5ef053f064cdf07af43c620c6676ffb7047384e94d8051c46c3fcde0c51e60e90f847a877a41fe8c439f2527308476#npm:1.0.3"], + ["@types/webpack", null], + ["@types/webpack-cli", null], + ["webpack", "virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:5.37.1"], + ["webpack-cli", "virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:4.7.0"] + ], + "packagePeers": [ + "@types/webpack-cli", + "@types/webpack", + "webpack-cli", + "webpack" + ], + "linkType": "HARD", + }], ["virtual:3f2095d1b1ae86c3528b28bd8410f4d8bf5f6047b5402e111275cdabf96cfed69de5749998e5371b82993388087e5eee4fbc64b5a88b9a1f7cccaf495cab5b18#npm:1.0.3", { "packageLocation": "./.yarn/__virtual__/@webpack-cli-configtest-virtual-a2633f5f35/0/cache/@webpack-cli-configtest-npm-1.0.3-b6e357f778-4efcca159e.zip/node_modules/@webpack-cli/configtest/", "packageDependencies": [ @@ -5464,6 +5483,20 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], + ["virtual:3ea0c3d01a91f33f2b24b3c62295ba50dc5ef053f064cdf07af43c620c6676ffb7047384e94d8051c46c3fcde0c51e60e90f847a877a41fe8c439f2527308476#npm:1.2.4", { + "packageLocation": "./.yarn/__virtual__/@webpack-cli-info-virtual-6c0587bf6e/0/cache/@webpack-cli-info-npm-1.2.4-e4a2135f37-4e27ccd04c.zip/node_modules/@webpack-cli/info/", + "packageDependencies": [ + ["@webpack-cli/info", "virtual:3ea0c3d01a91f33f2b24b3c62295ba50dc5ef053f064cdf07af43c620c6676ffb7047384e94d8051c46c3fcde0c51e60e90f847a877a41fe8c439f2527308476#npm:1.2.4"], + ["@types/webpack-cli", null], + ["envinfo", "npm:7.8.1"], + ["webpack-cli", "virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:4.7.0"] + ], + "packagePeers": [ + "@types/webpack-cli", + "webpack-cli" + ], + "linkType": "HARD", + }], ["virtual:3f2095d1b1ae86c3528b28bd8410f4d8bf5f6047b5402e111275cdabf96cfed69de5749998e5371b82993388087e5eee4fbc64b5a88b9a1f7cccaf495cab5b18#npm:1.2.4", { "packageLocation": "./.yarn/__virtual__/@webpack-cli-info-virtual-eea32a6276/0/cache/@webpack-cli-info-npm-1.2.4-e4a2135f37-4e27ccd04c.zip/node_modules/@webpack-cli/info/", "packageDependencies": [ @@ -5678,6 +5711,23 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], + ["virtual:3ea0c3d01a91f33f2b24b3c62295ba50dc5ef053f064cdf07af43c620c6676ffb7047384e94d8051c46c3fcde0c51e60e90f847a877a41fe8c439f2527308476#npm:1.4.0", { + "packageLocation": "./.yarn/__virtual__/@webpack-cli-serve-virtual-0fc3f02bbe/0/cache/@webpack-cli-serve-npm-1.4.0-1f566be693-0b063bed4c.zip/node_modules/@webpack-cli/serve/", + "packageDependencies": [ + ["@webpack-cli/serve", "virtual:3ea0c3d01a91f33f2b24b3c62295ba50dc5ef053f064cdf07af43c620c6676ffb7047384e94d8051c46c3fcde0c51e60e90f847a877a41fe8c439f2527308476#npm:1.4.0"], + ["@types/webpack-cli", null], + ["@types/webpack-dev-server", null], + ["webpack-cli", "virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:4.7.0"], + ["webpack-dev-server", null] + ], + "packagePeers": [ + "@types/webpack-cli", + "@types/webpack-dev-server", + "webpack-cli", + "webpack-dev-server" + ], + "linkType": "HARD", + }], ["virtual:3f2095d1b1ae86c3528b28bd8410f4d8bf5f6047b5402e111275cdabf96cfed69de5749998e5371b82993388087e5eee4fbc64b5a88b9a1f7cccaf495cab5b18#npm:1.4.0", { "packageLocation": "./.yarn/__virtual__/@webpack-cli-serve-virtual-cea108c2e7/0/cache/@webpack-cli-serve-npm-1.4.0-1f566be693-0b063bed4c.zip/node_modules/@webpack-cli/serve/", "packageDependencies": [ @@ -11703,6 +11753,25 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], + ["virtual:536c20e6941e891928359308cc16b72093d0e0da0f443beba2054a9e2598b09efad7e1c132d847c30f74367ac51b448379359520939be6472541db64ca7607cb#npm:5.1.2", { + "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-ecdde3d019/0/cache/terser-webpack-plugin-npm-5.1.2-59f409825a-0eb0e81f52.zip/node_modules/terser-webpack-plugin/", + "packageDependencies": [ + ["terser-webpack-plugin", "virtual:536c20e6941e891928359308cc16b72093d0e0da0f443beba2054a9e2598b09efad7e1c132d847c30f74367ac51b448379359520939be6472541db64ca7607cb#npm:5.1.2"], + ["@types/webpack", null], + ["jest-worker", "npm:26.6.2"], + ["p-limit", "npm:3.1.0"], + ["schema-utils", "npm:3.0.0"], + ["serialize-javascript", "npm:5.0.1"], + ["source-map", "npm:0.6.1"], + ["terser", "npm:5.7.0"], + ["webpack", "virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:5.37.1"] + ], + "packagePeers": [ + "@types/webpack", + "webpack" + ], + "linkType": "HARD", + }], ["virtual:5e82fc811d8fd02f05149cd66fb79c02f16f05bfaf043b01e108813bc4e39a600f5a9f93ce3a86bd2c21b92c8082c2e5b50384c76a2fc4e252d186976e3055e2#npm:5.1.2", { "packageLocation": "./.yarn/__virtual__/terser-webpack-plugin-virtual-1be69a9933/0/cache/terser-webpack-plugin-npm-5.1.2-59f409825a-0eb0e81f52.zip/node_modules/terser-webpack-plugin/", "packageDependencies": [ @@ -12441,6 +12510,42 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], + ["virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:5.37.1", { + "packageLocation": "./.yarn/__virtual__/webpack-virtual-536c20e694/0/cache/webpack-npm-5.37.1-1e75a59f6f-572d3cd617.zip/node_modules/webpack/", + "packageDependencies": [ + ["webpack", "virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:5.37.1"], + ["@types/eslint-scope", "npm:3.7.0"], + ["@types/estree", "npm:0.0.47"], + ["@types/webpack-cli", null], + ["@webassemblyjs/ast", "npm:1.11.0"], + ["@webassemblyjs/wasm-edit", "npm:1.11.0"], + ["@webassemblyjs/wasm-parser", "npm:1.11.0"], + ["acorn", "npm:8.2.4"], + ["browserslist", "npm:4.16.6"], + ["chrome-trace-event", "npm:1.0.3"], + ["enhanced-resolve", "npm:5.8.2"], + ["es-module-lexer", "npm:0.4.1"], + ["eslint-scope", "npm:5.1.1"], + ["events", "npm:3.3.0"], + ["glob-to-regexp", "npm:0.4.1"], + ["graceful-fs", "npm:4.2.6"], + ["json-parse-better-errors", "npm:1.0.2"], + ["loader-runner", "npm:4.2.0"], + ["mime-types", "npm:2.1.30"], + ["neo-async", "npm:2.6.2"], + ["schema-utils", "npm:3.0.0"], + ["tapable", "npm:2.2.0"], + ["terser-webpack-plugin", "virtual:536c20e6941e891928359308cc16b72093d0e0da0f443beba2054a9e2598b09efad7e1c132d847c30f74367ac51b448379359520939be6472541db64ca7607cb#npm:5.1.2"], + ["watchpack", "npm:2.2.0"], + ["webpack-cli", "virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:4.7.0"], + ["webpack-sources", "npm:2.2.0"] + ], + "packagePeers": [ + "@types/webpack-cli", + "webpack-cli" + ], + "linkType": "HARD", + }], ["virtual:4f1584ad4aba8733a24be7c8aebbffafef25607f2d00f4b314cf96717145c692763628a31c2b85d4686fbb091ff21ebffa3cc337399c042c19a32b9bdb786464#npm:5.37.1", { "packageLocation": "./.yarn/__virtual__/webpack-virtual-830f2cc1c2/0/cache/webpack-npm-5.37.1-1e75a59f6f-572d3cd617.zip/node_modules/webpack/", "packageDependencies": [ @@ -12972,6 +13077,48 @@ function $$SETUP_STATE(hydrateRuntimeState, basePath) { ], "linkType": "HARD", }], + ["virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:4.7.0", { + "packageLocation": "./.yarn/__virtual__/webpack-cli-virtual-3ea0c3d01a/0/cache/webpack-cli-npm-4.7.0-cb3d7c34ff-cecfb321b9.zip/node_modules/webpack-cli/", + "packageDependencies": [ + ["webpack-cli", "virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:4.7.0"], + ["@discoveryjs/json-ext", "npm:0.5.3"], + ["@types/webpack", null], + ["@types/webpack-bundle-analyzer", null], + ["@types/webpack-cli__generators", null], + ["@types/webpack-cli__migrate", null], + ["@types/webpack-dev-server", null], + ["@webpack-cli/configtest", "virtual:3ea0c3d01a91f33f2b24b3c62295ba50dc5ef053f064cdf07af43c620c6676ffb7047384e94d8051c46c3fcde0c51e60e90f847a877a41fe8c439f2527308476#npm:1.0.3"], + ["@webpack-cli/generators", null], + ["@webpack-cli/info", "virtual:3ea0c3d01a91f33f2b24b3c62295ba50dc5ef053f064cdf07af43c620c6676ffb7047384e94d8051c46c3fcde0c51e60e90f847a877a41fe8c439f2527308476#npm:1.2.4"], + ["@webpack-cli/migrate", null], + ["@webpack-cli/serve", "virtual:3ea0c3d01a91f33f2b24b3c62295ba50dc5ef053f064cdf07af43c620c6676ffb7047384e94d8051c46c3fcde0c51e60e90f847a877a41fe8c439f2527308476#npm:1.4.0"], + ["colorette", "npm:1.2.2"], + ["commander", "npm:7.2.0"], + ["execa", "npm:5.0.0"], + ["fastest-levenshtein", "npm:1.0.12"], + ["import-local", "npm:3.0.2"], + ["interpret", "npm:2.2.0"], + ["rechoir", "npm:0.7.0"], + ["v8-compile-cache", "npm:2.3.0"], + ["webpack", "virtual:45dc8d177c5463b02ae2b62c45461f6704449bac45b0b4bf10ceca81013a617a6fa5aaf2547e43076d50ac57cad5c9979a6da6e8adf35b42d844e73e8c014613#npm:5.37.1"], + ["webpack-bundle-analyzer", null], + ["webpack-dev-server", null], + ["webpack-merge", "npm:5.7.3"] + ], + "packagePeers": [ + "@types/webpack-bundle-analyzer", + "@types/webpack-cli__generators", + "@types/webpack-cli__migrate", + "@types/webpack-dev-server", + "@types/webpack", + "@webpack-cli/generators", + "@webpack-cli/migrate", + "webpack-bundle-analyzer", + "webpack-dev-server", + "webpack" + ], + "linkType": "HARD", + }], ["virtual:4f1584ad4aba8733a24be7c8aebbffafef25607f2d00f4b314cf96717145c692763628a31c2b85d4686fbb091ff21ebffa3cc337399c042c19a32b9bdb786464#npm:4.7.0", { "packageLocation": "./.yarn/__virtual__/webpack-cli-virtual-0dffb89908/0/cache/webpack-cli-npm-4.7.0-cb3d7c34ff-cecfb321b9.zip/node_modules/webpack-cli/", "packageDependencies": [ diff --git a/packages/faucet/package.json b/packages/faucet/package.json index b7ffe50c..a12c4062 100644 --- a/packages/faucet/package.json +++ b/packages/faucet/package.json @@ -72,6 +72,8 @@ "ses": "^0.11.0", "source-map-support": "^0.5.19", "ts-node": "^8", - "typescript": "~4.4" + "typescript": "~4.4", + "webpack": "^5.32.0", + "webpack-cli": "^4.6.0" } } diff --git a/yarn.lock b/yarn.lock index ffd407c2..012c6101 100644 --- a/yarn.lock +++ b/yarn.lock @@ -617,6 +617,8 @@ __metadata: source-map-support: ^0.5.19 ts-node: ^8 typescript: ~4.4 + webpack: ^5.32.0 + webpack-cli: ^4.6.0 bin: cosmos-faucet: bin/cosmos-faucet languageName: unknown From 0f138e87ca9fa58b3dbe690a5b59c3e6ebc805d8 Mon Sep 17 00:00:00 2001 From: Simon Warta Date: Tue, 12 Apr 2022 14:04:30 +0200 Subject: [PATCH 4/4] Bundle faucet --- packages/faucet/Dockerfile | 11 +++++------ packages/faucet/bin/cosmos-faucet-dist | 6 ++++++ packages/faucet/package.json | 3 ++- packages/faucet/webpack.node.config.js | 21 +++++++++++++++++++++ 4 files changed, 34 insertions(+), 7 deletions(-) create mode 100755 packages/faucet/bin/cosmos-faucet-dist create mode 100644 packages/faucet/webpack.node.config.js diff --git a/packages/faucet/Dockerfile b/packages/faucet/Dockerfile index 6f6291a7..f4585d78 100644 --- a/packages/faucet/Dockerfile +++ b/packages/faucet/Dockerfile @@ -13,16 +13,15 @@ FROM node:14-alpine as build-env ADD . /app WORKDIR /app -RUN apk add --update --no-cache alpine-sdk linux-headers build-base gcc libusb-dev python3 py3-pip eudev-dev \ - && ln -sf python3 /usr/bin/python -# Do we really need to update those? -RUN pip3 install --no-cache --upgrade pip setuptools +RUN apk add --update --no-cache alpine-sdk linux-headers build-base gcc libusb-dev python3 py3-pip eudev-dev +RUN ln -sf python3 /usr/bin/python RUN yarn install && yarn run build +RUN (cd packages/faucet && SKIP_BUILD=1 yarn pack-node) FROM node:14-alpine -COPY --from=build-env /app /app +COPY --from=build-env /app/packages/faucet /app/packages/faucet WORKDIR /app EXPOSE 8000 -ENTRYPOINT ["yarn", "node", "/app/packages/faucet/bin/cosmos-faucet"] +ENTRYPOINT ["/app/packages/faucet/bin/cosmos-faucet-dist"] diff --git a/packages/faucet/bin/cosmos-faucet-dist b/packages/faucet/bin/cosmos-faucet-dist new file mode 100755 index 00000000..6ec8dca2 --- /dev/null +++ b/packages/faucet/bin/cosmos-faucet-dist @@ -0,0 +1,6 @@ +#!/usr/bin/env node +const path = require("path"); + +// attempt to call in main file.... +const faucet = require(path.join(__dirname, "..", "dist", "node", "cli.js")); +faucet.main(process.argv.slice(2)); diff --git a/packages/faucet/package.json b/packages/faucet/package.json index a12c4062..2007b809 100644 --- a/packages/faucet/package.json +++ b/packages/faucet/package.json @@ -36,7 +36,8 @@ "test": "yarn build-or-skip && yarn test-node", "coverage": "nyc --reporter=text --reporter=lcov yarn test --quiet", "start-dev": "FAUCET_ADDRESS_PREFIX=wasm FAUCET_CREDIT_AMOUNT_UCOSM=10000000 FAUCET_CREDIT_AMOUNT_USTAKE=100000 FAUCET_CONCURRENCY=3 FAUCET_MNEMONIC=\"economy stock theory fatal elder harbor betray wasp final emotion task crumble siren bottom lizard educate guess current outdoor pair theory focus wife stone\" ./bin/cosmos-faucet start \"http://localhost:26659\"", - "start-coralnet": "FAUCET_ADDRESS_PREFIX=coral FAUCET_TOKENS=\"ushell,ureef\" FAUCET_CREDIT_AMOUNT_USHELL=10000000 FAUCET_CREDIT_AMOUNT_UREEF=2000000 FAUCET_CONCURRENCY=3 FAUCET_MNEMONIC=\"economy stock theory fatal elder harbor betray wasp final emotion task crumble siren bottom lizard educate guess current outdoor pair theory focus wife stone\" ./bin/cosmos-faucet start \"https://lcd.coralnet.cosmwasm.com\"" + "start-coralnet": "FAUCET_ADDRESS_PREFIX=coral FAUCET_TOKENS=\"ushell,ureef\" FAUCET_CREDIT_AMOUNT_USHELL=10000000 FAUCET_CREDIT_AMOUNT_UREEF=2000000 FAUCET_CONCURRENCY=3 FAUCET_MNEMONIC=\"economy stock theory fatal elder harbor betray wasp final emotion task crumble siren bottom lizard educate guess current outdoor pair theory focus wife stone\" ./bin/cosmos-faucet start \"https://lcd.coralnet.cosmwasm.com\"", + "pack-node": "yarn build-or-skip && webpack --mode production --config webpack.node.config.js" }, "dependencies": { "@cosmjs/crypto": "workspace:packages/crypto", diff --git a/packages/faucet/webpack.node.config.js b/packages/faucet/webpack.node.config.js new file mode 100644 index 00000000..94b875c4 --- /dev/null +++ b/packages/faucet/webpack.node.config.js @@ -0,0 +1,21 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +const path = require("path"); + +const target = "node"; +const distdir = path.join(__dirname, "dist", target); + +module.exports = [ + { + target: target, + entry: "./build/cli.js", + output: { + path: distdir, + filename: "cli.js", + library: { + type: "commonjs", + }, + }, + plugins: [], + resolve: {}, + }, +];