diff --git a/.github/workflows/cd-containers.yaml b/.github/workflows/cd-containers.yaml index b7d9fe1c29..52c2e66df4 100644 --- a/.github/workflows/cd-containers.yaml +++ b/.github/workflows/cd-containers.yaml @@ -43,6 +43,7 @@ jobs: echo IMAGE_RS_VM_DIR=./packages/cli/src/lib/defaults/build-strategies/wasm/rust/vm >> $GITHUB_ENV echo IMAGE_AS_VM_DIR=./packages/cli/src/lib/defaults/build-strategies/wasm/assemblyscript/vm >> $GITHUB_ENV echo IMAGE_GO_VM_DIR=./packages/cli/src/lib/defaults/build-strategies/wasm/golang/vm >> $GITHUB_ENV + echo IMAGE_JS_VM_DIR=./packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm >> $GITHUB_ENV - name: Read Image VERSION & NAME into env.IMAGE_..._VERSION/NAME run: | @@ -52,12 +53,15 @@ jobs: echo IMAGE_AS_VM_VERSION=$(cat $IMAGE_AS_VM_DIR/VERSION) >> $GITHUB_ENV echo IMAGE_GO_VM_NAME=$(cat $IMAGE_GO_VM_DIR/NAME) >> $GITHUB_ENV echo IMAGE_GO_VM_VERSION=$(cat $IMAGE_GO_VM_DIR/VERSION) >> $GITHUB_ENV + echo IMAGE_JS_VM_NAME=$(cat $IMAGE_JS_VM_DIR/NAME) >> $GITHUB_ENV + echo IMAGE_JS_VM_VERSION=$(cat $IMAGE_JS_VM_DIR/VERSION) >> $GITHUB_ENV - name: Check if image tags already exist run: | echo IMAGE_RS_VM_UNPUBLISHED=$(! curl -s "https://hub.docker.com/v2/repositories/$IMAGE_RS_VM_NAME/tags/$IMAGE_RS_VM_VERSION" | grep -q "error 404" > /dev/null ; echo $?) >> $GITHUB_ENV echo IMAGE_AS_VM_UNPUBLISHED=$(! curl -s "https://hub.docker.com/v2/repositories/$IMAGE_AS_VM_NAME/tags/$IMAGE_AS_VM_VERSION" | grep -q "error 404" > /dev/null ; echo $?) >> $GITHUB_ENV echo IMAGE_GO_VM_UNPUBLISHED=$(! curl -s "https://hub.docker.com/v2/repositories/$IMAGE_GO_VM_NAME/tags/$IMAGE_GO_VM_VERSION" | grep -q "error 404" > /dev/null ; echo $?) >> $GITHUB_ENV + echo IMAGE_JS_VM_UNPUBLISHED=$(! curl -s "https://hub.docker.com/v2/repositories/$IMAGE_JS_VM_NAME/tags/$IMAGE_JS_VM_VERSION" | grep -q "error 404" > /dev/null ; echo $?) >> $GITHUB_ENV - name: Build & Publish RS VM Image if: env.IMAGE_RS_VM_UNPUBLISHED == '1' @@ -82,3 +86,11 @@ jobs: docker buildx create --use --name go-vm-builder docker buildx build . --platform=linux/amd64,linux/arm64 -t $IMAGE_GO_VM_NAME:latest -t $IMAGE_GO_VM_NAME:$IMAGE_GO_VM_VERSION --output type=registry docker buildx rm go-vm-builder + + - name: Build & Publish JS VM Image + if: env.IMAGE_JS_VM_UNPUBLISHED == '1' + working-directory: ${{env.IMAGE_JS_VM_DIR}} + run: | + docker buildx create --use --name js-vm-builder + docker buildx build . --platform=linux/amd64,linux/arm64 -t $IMAGE_JS_VM_NAME:latest -t $IMAGE_JS_VM_NAME:$IMAGE_JS_VM_VERSION --output type=registry + docker buildx rm js-vm-builder diff --git a/.github/workflows/cd-source.yaml b/.github/workflows/cd-source.yaml index a71c85d62c..b1a820e40b 100644 --- a/.github/workflows/cd-source.yaml +++ b/.github/workflows/cd-source.yaml @@ -5,11 +5,106 @@ on: types: [closed] jobs: + Build-Binaries: + name: Build binaries + if: | + github.event.pull_request.user.login == 'polywrap-build-bot' && + github.event.pull_request.merged == true + runs-on: ubuntu-latest + strategy: + matrix: + arch: + - x64 + - arm64 + node-version: + - node18 + os: + - linux + - macos + - win + steps: + - name: Checkout + uses: actions/checkout@v3 + with: + ref: ${{ github.event.pull_request.base.ref }} + + - name: Read VERSION into env.RELEASE_VERSION + run: echo RELEASE_VERSION=$(cat VERSION) >> $GITHUB_ENV + + - name: Is Pre-Release + run: | + STR="${RELEASE_VERSION}" + SUB='pre.' + if [[ "$STR" == *"$SUB"* ]]; then + echo PRE_RELEASE=true >> $GITHUB_ENV + else + echo PRE_RELEASE=false >> $GITHUB_ENV + fi + + - name: Check If Tag Exists + id: tag_check + shell: bash -ex {0} + run: | + GET_API_URL="https://api.github.com/repos/${{github.repository}}/git/ref/tags/${{env.RELEASE_VERSION}}" + http_status_code=$(curl -LI $GET_API_URL -o /dev/null -w '%{http_code}\n' -s \ + -H "Authorization: token ${GITHUB_TOKEN}") + if [ "$http_status_code" -ne "404" ] ; then + echo TAG_EXISTS=true >> $GITHUB_ENV + else + echo TAG_EXISTS=false >> $GITHUB_ENV + fi + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + + - name: Read .nvmrc into env.NVMRC + if: env.TAG_EXISTS == 'false' + run: echo NVMRC=$(cat .nvmrc) >> $GITHUB_ENV + + - name: Setup Node.js + if: env.TAG_EXISTS == 'false' + uses: actions/setup-node@v1 + with: + node-version: '${{env.NVMRC}}' + + - name: Install Rust + if: env.TAG_EXISTS == 'false' + uses: actions-rs/toolchain@v1 + with: + toolchain: nightly + override: true + + - name: Build CLI + if: env.TAG_EXISTS == 'false' + run: | + yarn install + yarn build + + - name: Package into node binary + if: env.TAG_EXISTS == 'false' + uses: lando/pkg-action@v2 + with: + entrypoint: ./packages/cli/bin/polywrap + config: ./packages/cli/package.json + options: --output ./packages/cli/standalone-binaries/${{ matrix.os }}-${{ matrix.arch }}/polywrap --compress Brotli + pkg: 5.8.1 + upload: false + arch: ${{ matrix.arch }} + node-version: ${{ matrix.node-version }} + os: ${{ matrix.os }} + + - name: Upload Artifacts + if: env.TAG_EXISTS == 'false' + uses: actions/upload-artifact@v3 + with: + name: cli-binary-${{ matrix.os }}-${{ matrix.arch }} + path: ${{ steps.pkg-action.outputs.file }} + Publish-GitHub: name: Publish source to github.com if: | github.event.pull_request.user.login == 'polywrap-build-bot' && github.event.pull_request.merged == true + needs: Build-Binaries runs-on: ubuntu-latest steps: - name: Checkout @@ -62,20 +157,57 @@ jobs: github_repo: ${{ github.repository }} git_commit_sha: ${{ github.event.pull_request.merge_commit_sha }} + - name: Download Artifacts linux-x64 + uses: actions/download-artifact@v3 + with: + name: cli-binary-linux-x64 + path: ./bin/linux-x64/ + + - name: Download Artifacts linux-arm64 + uses: actions/download-artifact@v3 + with: + name: cli-binary-linux-arm64 + path: ./bin/linux-arm64/ + + - name: Download Artifacts macos-x64 + uses: actions/download-artifact@v3 + with: + name: cli-binary-macos-x64 + path: ./bin/macos-x64/ + + - name: Download Artifacts macos-arm64 + uses: actions/download-artifact@v3 + with: + name: cli-binary-macos-arm64 + path: ./bin/macos-arm64/ + + - name: Download Artifacts win-x64 + uses: actions/download-artifact@v3 + with: + name: cli-binary-win-x64 + path: ./bin/win-x64/ + + - name: Download Artifacts win-arm64 + uses: actions/download-artifact@v3 + with: + name: cli-binary-win-arm64 + path: ./bin/win-arm64/ + - name: Create Release id: create_release if: env.PRE_RELEASE == 'false' && env.TAG_EXISTS == 'false' && github.event.pull_request.merged == true - uses: actions/create-release@v1 + uses: softprops/action-gh-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ env.RELEASE_VERSION }} # Copy Pull Request's tile and body to Release Note - release_name: ${{ github.event.pull_request.title }} + name: ${{ github.event.pull_request.title }} body: | ${{ github.event.pull_request.body }} draft: false prerelease: false + files: ./bin - uses: actions/github-script@0.8.0 if: env.TAG_EXISTS == 'false' diff --git a/.github/workflows/ci-javascript.yaml b/.github/workflows/ci-javascript.yaml index 8cede16e37..b6c4af193b 100644 --- a/.github/workflows/ci-javascript.yaml +++ b/.github/workflows/ci-javascript.yaml @@ -279,3 +279,69 @@ jobs: - name: Test CLI JS run: yarn test working-directory: ./packages/js/cli + + Test-Cli-Standalone-Package: + runs-on: ubuntu-latest + needs: CI-WRAP-Test-Harness + if: ${{ always() }} + timeout-minutes: 60 + steps: + - name: Checkout repository + uses: actions/checkout@v2 + + - name: Read .nvmrc + run: echo ::set-output name=NVMRC::$(cat .nvmrc) + id: nvm + + - name: Setup Node.js + uses: actions/setup-node@master + with: + node-version: '${{ steps.nvm.outputs.NVMRC }}' + + - uses: actions/setup-go@v3 + with: + go-version: '^1.13.1' + + - name: Install cue lang + run: go install cuelang.org/go/cmd/cue@latest + + - name: Check if cue is installed + run: cue version + + - name: Get yarn cache directory path + id: yarn-cache-dir-path + run: echo "::set-output name=dir::$(yarn cache dir)" + + - uses: actions/cache@v2 + with: + path: ${{ steps.yarn-cache-dir-path.outputs.dir }} + key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} + restore-keys: | + ${{ runner.os }}-yarn- + + - name: Install dependencies + run: yarn install --nonInteractive --frozen-lockfile --prefer-offline + + - name: Build + run: yarn build + + - name: Get updated wrappers + if: ${{ needs.CI-WRAP-Test-Harness.outputs.rebuild_required == 'true' }} + uses: actions/download-artifact@v3 + id: get-wrappers + with: + name: rebuilt-wrappers + path: ./wrappers + + - if: ${{ needs.CI-WRAP-Test-Harness.outputs.rebuild_required == 'true' }} + run: | + rm -rf packages/test-cases/cases/wrappers + mv wrappers packages/test-cases/cases + + - name: Build CLI standalone package for testing + run: yarn pkg . -t node18-linux-x64 --output ./standalone-binaries/polywrap-linux-x64 + working-directory: ./packages/cli + + - name: Test CLI standalone package + run: yarn test:pkg + working-directory: ./packages/cli \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 25c30d7532..eecd37bf9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,25 @@ +# Polywrap Origin (0.11.4) +## Features +**`polywrap` CLI:** +* [PR-1888](https://github.com/polywrap/cli/pull/1888) **Build Wraps Using TypeScript** + * Create TypeScript wrap projects via `polywrap create wasm typescript my-wrap` +* [PR-1879](https://github.com/polywrap/cli/pull/1879) + [PR-1889](https://github.com/polywrap/cli/pull/1889) **Standalone Binary Installer** + * The `polywrap` CLI can now be installed via a standalone binary. + * An `install.sh` script can now be found at the root of the repository. Usage: + ```bash + $ sh <(curl https://raw.githubusercontent.com/polywrap/cli/origin-dev/install.sh) + + # Installs to `~/.polywrap` + # If polywrap is already installed, the script instead checks for updates + ``` + +## Bugs +**`polywrap-wasm-rs`** +* [PR-1887](https://github.com/polywrap/cli/pull/1887) **Bump MsgPack Serde Version** + +**`@polywrap/schema-bind`** +* [PR-1891](https://github.com/polywrap/cli/pull/1891) **Fix Various Golang -> Wrap Bindings** + # Polywrap Origin (0.11.3) ## Features **`polywrap` CLI:** diff --git a/VERSION b/VERSION index 2bb6a820b7..aa3545de45 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.11.3 \ No newline at end of file +0.11.4 \ No newline at end of file diff --git a/install.sh b/install.sh new file mode 100755 index 0000000000..41fbb4bc67 --- /dev/null +++ b/install.sh @@ -0,0 +1,333 @@ +#!/bin/sh + +# Adapted from https://github.com/teaxyz/setup/blob/main/install.sh + +set -e +set -o noglob + +# prevent existing env breaking this script +unset POLYWRAP_DESTDIR +unset POLYWRAP_VERSION + +unset stop +while test "$#" -gt 0 -a -z "$stop"; do + case $1 in + --prefix) + POLYWRAP_DESTDIR="$2" + if test -z "$POLYWRAP_DESTDIR"; then + echo "polywrap: error: --prefix requires an argument" >&2 + exit 1 + fi + shift;shift;; + --version) + POLYWRAP_VERSION="$2" + if test -z "$POLYWRAP_VERSION"; then + echo "polywrap: error: --version requires an argument" >&2 + exit 1 + fi + shift;shift;; + --yes|-y) + POLYWRAP_YES=1 + shift;; + --help|-h) + echo "polywrap: docs: https://github.com/polywrap/cli/blob/origin-dev/packages/cli/README.md#installation" + exit;; + *) + stop=1;; + esac +done +unset stop + + +####################################################################### funcs +prepare() { + # ensure ⌃C works + trap "echo; exit" INT + + if test -n "$VERBOSE" -o -n "$GITHUB_ACTIONS" -a -n "$RUNNER_DEBUG"; then + set -x + fi + + if test $# -eq 0; then + MODE="install" + else + MODE="exec" + fi + + HW_TARGET=$(uname)/$(uname -m) + + case $HW_TARGET in + Darwin/arm64) + POLYWRAP_OSARCH=macos-arm64;; + Darwin/x86_64) + POLYWRAP_OSARCH=macos-x64;; + Linux/arm64|Linux/aarch64|CYGWIN_NT-10.0/arm64|MSYS_NT-10.0/arm64) + POLYWRAP_OSARCH=linux-arm64;; + Linux/x86_64|CYGWIN_NT-10.0/x86_64|MSYS_NT-10.0/x86_64) + POLYWRAP_OSARCH=linux-x64;; + *) + echo "polywrap: error: (currently) unsupported OS or architecture ($HW_TARGET)" >&2 + echo "Let’s talk about it: https://discord.com/invite/Z5m88a5qWu" >&2 + exit 1;; + esac + + if test -z "$POLYWRAP_DESTDIR"; then + # update existing installation if found + if command -v polywrap >/dev/null; then + set +e + if [ "$(uname)" = "Darwin" ]; then + POLYWRAP_DESTDIR=$(stat -f%Y "$(which polywrap)") + else + POLYWRAP_DESTDIR=$(readlink -f "$(which polywrap)") + fi + POLYWRAP_DESTDIR=$(dirname "$POLYWRAP_DESTDIR") + # reverse path, split on "/polywrap/" to get the last occurrence, take the second part, reverse again + # this makes sure we get the correct path even if a user or destination folder is named polywrap + POLYWRAP_DESTDIR=$(echo "$POLYWRAP_DESTDIR" | rev | awk -F'/parwylop/' '{print $2}' | rev) + + echo Found polywrap in $POLYWRAP_DESTDIR + + if test $? -eq 0 -a -n "$POLYWRAP_DESTDIR"; then + case "$POLYWRAP_DESTDIR" in + */.yarn/*|*/.npm/*|*/node_modules/*) + echo The existing installation is managed by a JavaScript package manager. If you continue, this script will create a separate installation that may conflict with it. + unset POLYWRAP_DESTDIR + ;; + *) + ALREADY_INSTALLED=1 + ;; + esac + else + unset POLYWRAP_DESTDIR + fi + set -e + fi + + # we check again: in case the above failed for some reason + if test -z "$POLYWRAP_DESTDIR"; then + if test "$MODE" = exec; then + POLYWRAP_DESTDIR="$(mktemp -dt polywrap-XXXXXX)" + else + POLYWRAP_DESTDIR="$HOME/.polywrap" + fi + fi + fi + + if test -z "$CURL"; then + if command -v curl >/dev/null; then + CURL="curl -Ssf" + else + echo "polywrap: error: you need curl (or set \`\$CURL\`)" >&2 + exit 1 + fi + fi +} + +welcome() { + cat <<-EoMD + +# Hi 👋 Welcome to Polywrap! +* Let's get you set up. +* We'll install polywrap at: $POLYWRAP_DESTDIR +* Everything Polywrap installs goes there. +* (we won't touch anything else) + +> docs https://github.com/polywrap/cli/blob/origin-dev/packages/cli/README.md#installation +EoMD + + if test -n "$POLYWRAP_YES"; then + choice="1" + else + cat <<-EoMD + +Let's gooooo! 🚀 +1) Install polywrap +2) Cancel +EoMD + printf "Choice: " + read -r choice + fi + + if [ "$choice" != "1" ]; then + cat <<-EoMD + +# Aborting! No changes were made. +> Learn more about Polywrap at https://docs.polywrap.io/ +EoMD + echo #spacer + exit 1 + fi + unset choice + + echo #spacer +} + +get_polywrap_version() { + if test -n "$POLYWRAP_VERSION"; then + return + fi + + v_sh="$(mktemp)" + cat <<-EoMD >"$v_sh" +$CURL "https://raw.githubusercontent.com/polywrap/cli/origin-dev/VERSION" | head -n1 > "$v_sh" +EoMD + + echo "Determining polywrap version" + sh "$v_sh" + + POLYWRAP_VERSION="$(cat "$v_sh")" + + if test -z "$POLYWRAP_VERSION"; then + echo "failed to get the latest version" >&2 + exit 1 + fi + + POLYWRAP_VERSION_MAJOR="$(echo "$POLYWRAP_VERSION" | cut -d. -f1)" + + echo "Latest polywrap version: v$POLYWRAP_VERSION" +} + +fix_links() { + OLDWD="$PWD" + + link() { + if test -d "v$1" -a ! -L "v$1"; then + echo "'v$1' is unexpectedly a directory" >&2 + else + rm -f "v$1" + ln -s "v$POLYWRAP_VERSION" "v$1" + fi + } + + cd "$POLYWRAP_DESTDIR"/polywrap + link \* + link "$(echo "$POLYWRAP_VERSION" | cut -d. -f1)" + link "$(echo "$POLYWRAP_VERSION" | cut -d. -f1-2)" + cd "$OLDWD" +} + +install() { + if test -n "$ALREADY_INSTALLED"; then + TITLE="Updating to polywrap v$POLYWRAP_VERSION" + else + TITLE="Fetching polywrap v$POLYWRAP_VERSION" + fi + + mkdir -p "$POLYWRAP_DESTDIR/polywrap/v$POLYWRAP_VERSION/bin/" + POLYWRAP_DESTDIR="$(cd "$POLYWRAP_DESTDIR" && pwd)" # we need this PATH to be an absolute path for later stuff + POLYWRAP_TMP_SCRIPT="$(mktemp)" + URL="https://github.com/polywrap/cli/releases/download/$POLYWRAP_VERSION/polywrap-$POLYWRAP_OSARCH" + echo "set -e; $CURL -L '$URL' -o '$POLYWRAP_DESTDIR/polywrap/v$POLYWRAP_VERSION/bin/polywrap-$POLYWRAP_OSARCH'" > "$POLYWRAP_TMP_SCRIPT" + echo "$TITLE" + sh "$POLYWRAP_TMP_SCRIPT" + + POLYWRAP_TMP_SCRIPT="$(mktemp)" + echo "chmod +x '$POLYWRAP_DESTDIR/polywrap/v$POLYWRAP_VERSION/bin/polywrap-$POLYWRAP_OSARCH';" > "$POLYWRAP_TMP_SCRIPT" + sh "$POLYWRAP_TMP_SCRIPT" + + fix_links + + if ! test "$MODE" = exec; then + echo -- "Successfully installed \`$POLYWRAP_DESTDIR/polywrap/v$POLYWRAP_VERSION/bin/polywrap-$POLYWRAP_OSARCH\`" + fi + + POLYWRAP_EXENAME="$POLYWRAP_DESTDIR/polywrap/v$POLYWRAP_VERSION_MAJOR/bin/polywrap-$POLYWRAP_OSARCH" +} + +check_path() { + if test -n "$POLYWRAP_YES"; then + choice="1" + else + cat <<-EoMD + +Should we add $POLYWRAP_DESTDIR/polywrap/v$POLYWRAP_VERSION_MAJOR/bin to your PATH? +This may require your root password. +1) Yes +2) Skip +EoMD + printf "Choice: " + read -r choice + fi + + if [ "$choice" = "1" ]; then + echo #spacer + + # NOTE: Binary -a and -o are inherently ambiguous. Use 'test EXPR1 + # && test EXPR2' or 'test EXPR1 || test EXPR2' instead. + # https://man7.org/linux/man-pages/man1/test.1.html + if test -w /usr/local/bin || (test ! -e /usr/local/bin && mkdir -p /usr/local/bin >/dev/null 2>&1) + then + mkdir -p /usr/local/bin + ln -sf "$POLYWRAP_EXENAME" /usr/local/bin/polywrap + echo "Added PATH alias at \`/usr/local/bin/polywrap\`" + elif command -v sudo >/dev/null + then + sudo --reset-timestamp + sudo mkdir -p /usr/local/bin + sudo ln -sf "$POLYWRAP_EXENAME" /usr/local/bin/polywrap + echo "Added PATH alias at \`/usr/local/bin/polywrap\`" + else + echo #spacer + cat <<-EoMD +> sudo command not found. +> try installing sudo +EoMD + fi + + if ! command -v polywrap >/dev/null + then + echo #spacer + cat -- <<-EoMD +> It seems \`/usr/local/bin\` isn’t in your PATH, or we couldn't write to it. +\`PATH=$PATH\` +EoMD + fi + fi + + echo #spacer +} + +########################################################################## go +prepare "$@" +if test $MODE = install -a -z "$ALREADY_INSTALLED"; then + welcome +fi +get_polywrap_version +if ! test -f "$POLYWRAP_DESTDIR/polywrap/v$POLYWRAP_VERSION/bin/polywrap-$POLYWRAP_OSARCH"; then + install +else + fix_links # be proactive in repairing the user installation just in case that's what they ran this for + POLYWRAP_IS_CURRENT=1 + POLYWRAP_EXENAME="$POLYWRAP_DESTDIR/polywrap/v$POLYWRAP_VERSION_MAJOR/bin/polywrap-$POLYWRAP_OSARCH" +fi + +case $MODE in +install) + if ! test -n "$ALREADY_INSTALLED"; then + check_path + if test -n "$GITHUB_ACTIONS"; then + # if the user did call us directly from GHA may as well help them out + echo "$POLYWRAP_DESTDIR/polywrap/v$POLYWRAP_VERSION_MAJOR/bin" >> "$GITHUB_PATH" + fi + echo "You’re all set!" + elif test -n "$POLYWRAP_IS_CURRENT"; then + cat <<-EoMD +# The latest version of polywrap is already installed +> $POLYWRAP_DESTDIR/polywrap/v$POLYWRAP_VERSION/bin/polywrap-$POLYWRAP_OSARCH +EoMD + fi + echo #spacer + ;; +exec) + # ensure we use the just installed polywrap + export POLYWRAP_PREFIX="$POLYWRAP_DESTDIR" + + if test -z "$ALREADY_INSTALLED" -a -t 1; then + $POLYWRAP_EXENAME "$@" + echo #spacer + else + export PATH="$POLYWRAP_PREFIX/polywrap/v*/bin:$PATH" + exec "$POLYWRAP_EXENAME" "$@" + fi + ;; +esac \ No newline at end of file diff --git a/package.json b/package.json index cba5f7b4a3..ca392e555e 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "build:core": "lerna run build --no-private --ignore polywrap --ignore @polywrap/cli-js", "build:cli": "lerna run build --scope polywrap && lerna run build --scope @polywrap/cli-js", "build:docs": "lerna run build:docs", + "pkg": "lerna run pkg:prod --scope polywrap", "lint": "lerna run lint", "lint:fix": "lerna run lint -- --fix", "lint:ci": "yarn lint", diff --git a/packages/cli/.gitignore b/packages/cli/.gitignore index 61793896b4..3067321bcc 100644 --- a/packages/cli/.gitignore +++ b/packages/cli/.gitignore @@ -1,2 +1,3 @@ compiled-lang/*.json src/lib/intl/types.ts +standalone-binaries \ No newline at end of file diff --git a/packages/cli/README.md b/packages/cli/README.md index 90d9619deb..b1fbb16d80 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -26,6 +26,21 @@ You can install Cue by following the instructions found [here](https://cuelang.o ## Installation +### Standalone Executable + +For MacOS, Linux, and WSL: + +```shell +$ sh <(curl https://raw.githubusercontent.com/polywrap/cli/origin-dev/install.sh) + +# Installs to `~/.polywrap` +# If polywrap is already installed, the script instead checks for updates +``` + +We do not have an easy installation script for native Windows users, but we do produce a standalone executable for Windows users to download. You can find the latest release [here](https://github.com/polywrap/cli/releases). + +### With NodeJS + Within a single project: ```bash diff --git a/packages/cli/bin/polywrap b/packages/cli/bin/polywrap index 34ab08cdf9..e63155cca5 100755 --- a/packages/cli/bin/polywrap +++ b/packages/cli/bin/polywrap @@ -9,5 +9,4 @@ if (['v', 'version', '-v', '--v', '-version', '--version'].includes(process.argv process.exit(0) } -var sourceDir = __dirname + '/../build' -require(sourceDir + '/cli').run(process.argv) \ No newline at end of file +require("../build/cli").run(process.argv) \ No newline at end of file diff --git a/packages/cli/jest.ts.config.js b/packages/cli/jest.ts.config.js new file mode 100644 index 0000000000..dd996c05c9 --- /dev/null +++ b/packages/cli/jest.ts.config.js @@ -0,0 +1,22 @@ +module.exports = { + collectCoverage: true, + preset: "ts-jest", + testEnvironment: "node", + globals: { + "ts-jest": { + diagnostics: false + }, + }, + modulePathIgnorePatterns: [ + "/build", + "/src/__tests__/project/.polywrap" + ], + testPathIgnorePatterns: [ + "/src/__tests__/project/.polywrap" + ], + transformIgnorePatterns: [ + "/src/__tests__/project/.polywrap" + ], + setupFilesAfterEnv: ["./jest.setup.js"], + testMatch: ["**/build-ts.spec.ts"] +}; diff --git a/packages/cli/package.json b/packages/cli/package.json index 2d97d97426..448c191db8 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -33,7 +33,10 @@ "test:e2e:p2": "yarn test:cmd -- ./src/__tests__/e2e/p2/*.spec.ts", "test:rust": "yarn test:cmd -- --config ./jest.rs.config.js", "test:golang": "yarn test:cmd -- --config ./jest.go.config.js", - "test:watch": "yarn test -- --watch" + "test:typescript": "yarn test:cmd -- --config ./jest.ts.config.js", + "test:watch": "yarn test -- --watch", + "test:pkg": "PKG_CLI=true yarn test:e2e:p1 && yarn test:e2e:p2", + "pkg:dev": "pkg . --compress GZip" }, "resolutions": { "colors": "1.4.0" @@ -96,10 +99,28 @@ "jest": "26.6.3", "ts-jest": "26.5.4", "ts-morph": "10.0.1", - "ts-node": "10.9.1" + "ts-node": "10.9.1", + "pkg": "5.8.1" }, "gitHead": "7346adaf5adb7e6bbb70d9247583e995650d390a", "publishConfig": { "access": "public" + }, + "pkg": { + "assets": [ + "lang/**/*", + "build/lib/defaults/build-strategies/**/*", + "build/lib/defaults/deploy-modules/**/*", + "build/lib/defaults/infra-modules/**/*" + ], + "targets": [ + "node18-macos-arm64", + "node18-macos-x64", + "node18-linux-arm64", + "node18-linux-x64", + "node18-win-arm64", + "node18-win-x64" + ], + "outputPath":"./standalone-binaries" } } diff --git a/packages/cli/src/__tests__/e2e/build-ts.spec.ts b/packages/cli/src/__tests__/e2e/build-ts.spec.ts new file mode 100644 index 0000000000..0a0fdbd996 --- /dev/null +++ b/packages/cli/src/__tests__/e2e/build-ts.spec.ts @@ -0,0 +1,72 @@ +import { polywrapCli } from "./utils"; +import { Commands } from "@polywrap/cli-js"; +import { GetPathToCliTestFiles } from "@polywrap/test-cases"; +import fs from "fs"; +import path from "path"; + +jest.setTimeout(1500000); + +describe("e2e tests for build command", () => { + const testCaseRoot = path.join(GetPathToCliTestFiles(), "build-cmd/wasm/typescript"); + const testCases = fs + .readdirSync(testCaseRoot, { withFileTypes: true }) + .filter((dirent) => dirent.isDirectory()) + .map((dirent) => dirent.name); + + const getTestCaseDir = (index: number) => + path.join(testCaseRoot, testCases[index]); + + describe("Image strategy", () => { + it("Builds for typescript", async () => { + const { exitCode: code, stdout: output } = await Commands.build({ + strategy: "image", + verbose: true + }, { + cwd: getTestCaseDir(0), + cli: polywrapCli, + }); + const buildDir = `./build`; + + expect(code).toEqual(0); + expect(output).toContain(`Artifacts written to ${buildDir}`); + expect(output).toContain(`WRAP manifest written in ${buildDir}/wrap.info`); + }); + }) + + // NOTE: Skipped because CI needs system prequisites: pwr CLI + describe.skip("Local strategy", () => { + it("Builds for typescript", async () => { + const { exitCode: code, stdout: output } = await Commands.build({ + strategy: "local", + verbose: true + }, { + cwd: getTestCaseDir(0), + cli: polywrapCli, + }); + + const buildDir = `./build`; + + expect(code).toEqual(0); + expect(output).toContain(`Artifacts written to ${buildDir}`); + expect(output).toContain(`WRAP manifest written in ${buildDir}/wrap.info`); + }); + }) + + describe("VM strategy", () => { + it("Builds for typescript", async () => { + const { exitCode: code, stdout: output } = await Commands.build({ + strategy: "vm", + verbose: true + }, { + cwd: getTestCaseDir(0), + cli: polywrapCli, + }); + + const buildDir = `./build`; + + expect(code).toEqual(0); + expect(output).toContain(`Artifacts written to ${buildDir}`); + expect(output).toContain(`WRAP manifest written in ${buildDir}/wrap.info`); + }); + }) +}); diff --git a/packages/cli/src/__tests__/e2e/p1/create.spec.ts b/packages/cli/src/__tests__/e2e/p1/create.spec.ts index 5a1dca6da7..890ec62fb6 100644 --- a/packages/cli/src/__tests__/e2e/p1/create.spec.ts +++ b/packages/cli/src/__tests__/e2e/p1/create.spec.ts @@ -17,7 +17,8 @@ Options: Commands: wasm [options] Create a Polywrap wasm wrapper. langs: - assemblyscript, rust, golang, interface + assemblyscript, rust, golang, typescript, + interface app [options] Create a Polywrap application. langs: typescript, python, rust, android, ios plugin [options] Create a Polywrap plugin. langs: diff --git a/packages/cli/src/__tests__/e2e/utils.ts b/packages/cli/src/__tests__/e2e/utils.ts index 2da4523e3e..fc50273d6b 100644 --- a/packages/cli/src/__tests__/e2e/utils.ts +++ b/packages/cli/src/__tests__/e2e/utils.ts @@ -1,4 +1,6 @@ import {Status, ValidationResult, WorkflowOutput} from "../../lib"; +import os from "os"; +import path from "path"; export const clearStyle = (styled: string) => { return styled.replace( @@ -66,4 +68,39 @@ export const parseOutput = ( }); }; -export const polywrapCli = `${__dirname}/../../../bin/polywrap`; +const getPlatformAndArch = (): string => { + const supportedPlatforms: Record = { + darwin: "macos", + win32: "win", + linux: "linux", + }; + const supportedArchitectures: Record = { + x64: "x64", + arm64: "arm64", + }; + + const platform = supportedPlatforms[os.platform()]; + const arch = supportedArchitectures[os.arch()]; + + if (!platform || !arch) { + throw new Error(`Unsupported platform or architecture. +Supported platforms: ${Object.keys(supportedPlatforms).toString()}. +Supported architectures: ${Object.keys(supportedArchitectures).toString()}`); + } + + if (platform === "win") { + return `${platform}-${arch}.exe`; + } + return `${platform}-${arch}`; +}; + +const getCli = (): string => { + if (process.env.PKG_CLI === "true") { + const binPath = path.resolve(`${__dirname}/../../../standalone-binaries`); + const platformArch = getPlatformAndArch(); + return `${binPath}/polywrap-${platformArch}`; + } + return `${__dirname}/../../../bin/polywrap`; +} + +export const polywrapCli = getCli(); diff --git a/packages/cli/src/commands/create.ts b/packages/cli/src/commands/create.ts index 439b20fc67..75e522e1df 100644 --- a/packages/cli/src/commands/create.ts +++ b/packages/cli/src/commands/create.ts @@ -27,7 +27,13 @@ const pathStr = intlMsg.commands_create_options_o_path(); const urlStr = intlMsg.commands_create_options_t_url(); export const supportedLangs = { - wasm: ["assemblyscript", "rust", "golang", "interface"] as const, + wasm: [ + "assemblyscript", + "rust", + "golang", + "typescript", + "interface", + ] as const, app: ["typescript", "python", "rust", "android", "ios"] as const, plugin: ["typescript", "rust", "python"] as const, }; diff --git a/packages/cli/src/lib/build-strategies/BuildOverrides.ts b/packages/cli/src/lib/build-strategies/BuildOverrides.ts index 8ba5de7c82..a5e59c1d4f 100644 --- a/packages/cli/src/lib/build-strategies/BuildOverrides.ts +++ b/packages/cli/src/lib/build-strategies/BuildOverrides.ts @@ -1,4 +1,4 @@ -import { PolywrapManifestLanguage } from "../"; +import { PolywrapBuildLanguage } from "../"; import { PolywrapManifest } from "@polywrap/polywrap-manifest-types-js"; import path from "path"; @@ -11,7 +11,7 @@ export interface BuildOverrides { } export async function tryGetBuildOverrides( - language: PolywrapManifestLanguage + language: PolywrapBuildLanguage ): Promise { const modulePath = path.join( __dirname, diff --git a/packages/cli/src/lib/build-strategies/BuildStrategy.ts b/packages/cli/src/lib/build-strategies/BuildStrategy.ts index 3792cddc5c..332cf4d22f 100644 --- a/packages/cli/src/lib/build-strategies/BuildStrategy.ts +++ b/packages/cli/src/lib/build-strategies/BuildStrategy.ts @@ -24,7 +24,7 @@ export abstract class BuildStrategy { abstract getStrategyName(): string; async build(): Promise { - const language = await this.project.getManifestLanguage(); + const language = await this.project.getBuildLanguage(); const buildStrategyDir = path.join( __dirname, "..", diff --git a/packages/cli/src/lib/build-strategies/strategies/DockerImageStrategy.ts b/packages/cli/src/lib/build-strategies/strategies/DockerImageStrategy.ts index d200659b5a..815c13714f 100644 --- a/packages/cli/src/lib/build-strategies/strategies/DockerImageStrategy.ts +++ b/packages/cli/src/lib/build-strategies/strategies/DockerImageStrategy.ts @@ -53,7 +53,7 @@ export class DockerImageBuildStrategy extends BuildStrategy { buildManifest?.strategies?.image?.name || generateDockerImageName(await this.project.getBuildUuid()); - const language = await this.project.getManifestLanguage(); + const language = await this.project.getBuildLanguage(); const dockerfileTemplatePath = path.join( __dirname, diff --git a/packages/cli/src/lib/build-strategies/strategies/DockerVMStrategy.ts b/packages/cli/src/lib/build-strategies/strategies/DockerVMStrategy.ts index 178d50ec23..afa16a98d3 100644 --- a/packages/cli/src/lib/build-strategies/strategies/DockerVMStrategy.ts +++ b/packages/cli/src/lib/build-strategies/strategies/DockerVMStrategy.ts @@ -8,7 +8,7 @@ import { BuildStrategyConfig, BuildStrategy } from "../BuildStrategy"; import { intlMsg } from "../../intl"; import { BuildManifestConfig, - PolywrapManifestLanguage, + BuildableLanguage, PolywrapProject, } from "../../project"; import { logActivity } from "../../logging"; @@ -17,7 +17,6 @@ import fse from "fs-extra"; import path from "path"; import Mustache from "mustache"; -type BuildableLanguage = Exclude; const DEFAULTS_DIR = path.join( __dirname, "..", @@ -48,6 +47,11 @@ const CONFIGS: Record = { baseImage: "polywrap/vm-base-go", version: "0.1.6", }, + "wasm/javascript": { + defaultIncludes: [], + baseImage: "polywrap/vm-base-js", + version: "0.1.0", + }, }; export class DockerVMBuildStrategy extends BuildStrategy { @@ -98,7 +102,7 @@ export class DockerVMBuildStrategy extends BuildStrategy { ); }); - const language = (await this.project.getManifestLanguage()) as BuildableLanguage; + const language = (await this.project.getBuildLanguage()) as BuildableLanguage; if (buildManifestConfig.polywrap_linked_packages) { if (fse.existsSync(this._volumePaths.linkedPackages)) { @@ -138,14 +142,28 @@ export class DockerVMBuildStrategy extends BuildStrategy { // Copy sources and build if (buildManifestConfig.polywrap_module) { - const sourcesSubDirectory = - this.overrides?.sourcesSubDirectory || - buildManifestConfig.polywrap_module.dir; + // TODO: find more general solution: sources array or glob + // JS needs to copy a single file; others may need several or dirs + if (language === "wasm/javascript") { + const moduleFilePath = + buildManifestConfig.polywrap_module.moduleFilePath; + const outputPath = path.join( + this._volumePaths.project, + moduleFilePath + ); + const outputDir = path.dirname(outputPath); + fse.mkdirSync(outputDir, { recursive: true }); + fse.copyFileSync(moduleFilePath, outputPath); + } else { + const sourcesSubDirectory = + this.overrides?.sourcesSubDirectory || + buildManifestConfig.polywrap_module.dir; - fse.copySync( - path.join(manifestDir, sourcesSubDirectory), - path.join(this._volumePaths.project, sourcesSubDirectory) - ); + fse.copySync( + path.join(manifestDir, sourcesSubDirectory), + path.join(this._volumePaths.project, sourcesSubDirectory) + ); + } const scriptTemplate = fse.readFileSync( path.join( diff --git a/packages/cli/src/lib/build-strategies/strategies/LocalStrategy.ts b/packages/cli/src/lib/build-strategies/strategies/LocalStrategy.ts index 7813527a98..44f7096c2a 100644 --- a/packages/cli/src/lib/build-strategies/strategies/LocalStrategy.ts +++ b/packages/cli/src/lib/build-strategies/strategies/LocalStrategy.ts @@ -11,12 +11,15 @@ export class LocalBuildStrategy extends BuildStrategy { public async buildSources(): Promise { const run = async () => { - const bindLanguage = await this.project.getManifestLanguage(); + const bindLanguage = await this.project.getBuildLanguage(); + const buildManifest = await this.project.getBuildManifest(); const buildManifestConfig = buildManifest.config as BuildManifestConfig; if (buildManifestConfig.polywrap_module) { const polywrapModuleDir = buildManifestConfig.polywrap_module.dir; + const polywrapModuleFilePath = + buildManifestConfig.polywrap_module.moduleFilePath; let scriptPath = `${__dirname}/../../defaults/build-strategies/${bindLanguage}/${this.getStrategyName()}/local.sh`; if (bindLanguage.startsWith("wasm")) { @@ -39,7 +42,13 @@ export class LocalBuildStrategy extends BuildStrategy { ).then(() => runCommand( scriptPath, - [polywrapModuleDir, this.outputDir], + [ + polywrapModuleDir, + this.outputDir, + // TODO: this is an arg for JS wraps only. This should be + // removed in favor of a more general sources passing solution + polywrapModuleFilePath, + ], logger, undefined, process.cwd() diff --git a/packages/cli/src/lib/codegen/CodeGenerator.ts b/packages/cli/src/lib/codegen/CodeGenerator.ts index 1aee32cde4..bc4865dd16 100644 --- a/packages/cli/src/lib/codegen/CodeGenerator.ts +++ b/packages/cli/src/lib/codegen/CodeGenerator.ts @@ -60,7 +60,12 @@ export class CodeGenerator { intlMsg.lib_codeGenerator_genCodeError(), intlMsg.lib_codeGenerator_genCodeWarning(), async () => { - return this.runCodegen(bindLanguage, overrides); + try { + return await this.runCodegen(bindLanguage, overrides); + } catch (err) { + console.error(err); + throw err; + } } ); diff --git a/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/default.build.yaml b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/default.build.yaml new file mode 100644 index 0000000000..4640c17575 --- /dev/null +++ b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/default.build.yaml @@ -0,0 +1 @@ +format: 0.3.0 diff --git a/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/image/Dockerfile.mustache b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/image/Dockerfile.mustache new file mode 100644 index 0000000000..72ad587529 --- /dev/null +++ b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/image/Dockerfile.mustache @@ -0,0 +1,14 @@ +FROM ubuntu:latest +# Install curl and git +RUN apt-get update && apt-get install -y curl git + +# Download and install pwrup +RUN curl -L https://raw.githubusercontent.com/polywrap/pwr/main/pwrup/install | bash +# Source bash and use pwrup to install pwr +RUN /bin/bash -i -c "source ~/.bashrc; pwrup" + +WORKDIR /project +# Copy the script file to build +COPY {{#polywrap_module}}{{moduleFilePath}}{{/polywrap_module}} ./wrap.js +# Use pwr to build the script +RUN /bin/bash -i -c "pwr js build -f ./wrap.js -o build" \ No newline at end of file diff --git a/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/local/local.sh b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/local/local.sh new file mode 100644 index 0000000000..9a927fda37 --- /dev/null +++ b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/local/local.sh @@ -0,0 +1,8 @@ +# Assumes user has curl and git installed +# Install pwrup +curl -L https://raw.githubusercontent.com/polywrap/pwr/main/pwrup/install | bash + +# Use pwrup to install pwr +$HOME/.pwr/bin/pwrup +# Use pwr to build the script +$HOME/.pwr/bin/pwr js build -f $3 -o build \ No newline at end of file diff --git a/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/manifest.ext.json b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/manifest.ext.json new file mode 100644 index 0000000000..4abcdfd7b0 --- /dev/null +++ b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/manifest.ext.json @@ -0,0 +1,14 @@ +{ + "properties": { + "config": { + "type": "object", + "required": ["scriptFile"], + "properties": { + "scriptFile": { + "description": "Path to the JS file to build the wrap from", + "type": "string" + } + } + } + } +} \ No newline at end of file diff --git a/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm/Dockerfile b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm/Dockerfile new file mode 100644 index 0000000000..009aded1b4 --- /dev/null +++ b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm/Dockerfile @@ -0,0 +1,8 @@ +FROM ubuntu:latest +# Install curl and git +RUN apt-get update && apt-get install -y curl git + +# Download and install pwrup and then use it to install pwr +RUN curl -L https://raw.githubusercontent.com/polywrap/pwr/main/pwrup/install | bash && /root/.pwr/bin/pwrup + +WORKDIR /project diff --git a/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm/NAME b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm/NAME new file mode 100644 index 0000000000..5cf9c2db68 --- /dev/null +++ b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm/NAME @@ -0,0 +1 @@ +polywrap/vm-base-js \ No newline at end of file diff --git a/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm/VERSION b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm/VERSION new file mode 100644 index 0000000000..6c6aa7cb09 --- /dev/null +++ b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm/VERSION @@ -0,0 +1 @@ +0.1.0 \ No newline at end of file diff --git a/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm/vm-script.mustache b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm/vm-script.mustache new file mode 100644 index 0000000000..44c73a9f7d --- /dev/null +++ b/packages/cli/src/lib/defaults/build-strategies/wasm/javascript/vm/vm-script.mustache @@ -0,0 +1,4 @@ +set -e + +{{! Use pwr to build the script }} +/root/.pwr/bin/pwr js build -f {{#polywrap_module}}{{moduleFilePath}}{{/polywrap_module}} -o build \ No newline at end of file diff --git a/packages/cli/src/lib/project/PolywrapProject.ts b/packages/cli/src/lib/project/PolywrapProject.ts index a15688aa8e..299cc69205 100644 --- a/packages/cli/src/lib/project/PolywrapProject.ts +++ b/packages/cli/src/lib/project/PolywrapProject.ts @@ -6,6 +6,7 @@ import { isPolywrapManifestLanguage, loadBuildManifest, loadPolywrapManifest, + PolywrapBuildLanguage, PolywrapManifestLanguage, polywrapManifestLanguages, polywrapManifestLanguageToBindLanguage, @@ -43,6 +44,7 @@ export interface BuildManifestConfig { polywrap_module?: { name: string; dir: string; + moduleFilePath: string; }; // eslint-disable-next-line @typescript-eslint/naming-convention polywrap_linked_packages?: { @@ -128,6 +130,18 @@ export class PolywrapProject extends Project { return language as PolywrapManifestLanguage; } + public async getBuildLanguage(): Promise { + const manifestLanguage = await this.getManifestLanguage(); + + if (manifestLanguage === "interface") { + throw new Error(`Cannot build an interface project.`); + } + + return manifestLanguage === "wasm/typescript" + ? "wasm/javascript" + : manifestLanguage; + } + /// Schema public async getSchemaNamedPath(): Promise { @@ -206,7 +220,7 @@ export class PolywrapProject extends Project { public async getBuildManifest(): Promise { if (!this._buildManifest) { const buildManifestPath = await this.getBuildManifestPath(); - const language = await this.getManifestLanguage(); + const language = await this.getBuildLanguage(); this._buildManifest = await loadBuildManifest( language, @@ -242,10 +256,12 @@ export class PolywrapProject extends Project { }) ), }; + if (module) { defaultConfig["polywrap_module"] = { name: "module", - dir: normalizePath(module), + dir: normalizePath(module.dir), + moduleFilePath: module.moduleFilePath, }; } @@ -345,11 +361,16 @@ export class PolywrapProject extends Project { /// Private Helpers - private async _getModule(): Promise { + private async _getModule(): Promise< + { moduleFilePath: string; dir: string } | undefined + > { const manifest = await this.getManifest(); if (manifest.source.module) { - return path.dirname(manifest.source.module).replace("./", ""); + return { + moduleFilePath: manifest.source.module, + dir: path.dirname(manifest.source.module).replace("./", ""), + }; } return undefined; diff --git a/packages/cli/src/lib/project/manifests/language.ts b/packages/cli/src/lib/project/manifests/language.ts index 6214ade0c7..52a3149c1c 100644 --- a/packages/cli/src/lib/project/manifests/language.ts +++ b/packages/cli/src/lib/project/manifests/language.ts @@ -8,3 +8,7 @@ export type AnyProjectManifestLanguage = | PolywrapManifestLanguage | PluginManifestLanguage | AppManifestLanguage; + +export type BuildableLanguage = + | Exclude + | "wasm/javascript"; diff --git a/packages/cli/src/lib/project/manifests/polywrap/languages.ts b/packages/cli/src/lib/project/manifests/polywrap/languages.ts index 055aa479cc..883ba1232b 100644 --- a/packages/cli/src/lib/project/manifests/polywrap/languages.ts +++ b/packages/cli/src/lib/project/manifests/polywrap/languages.ts @@ -6,13 +6,25 @@ export const polywrapManifestLanguages = { "wasm/assemblyscript": "wasm/assemblyscript", "wasm/rust": "wasm/rust", "wasm/golang": "wasm/golang", + "wasm/typescript": "wasm/typescript", interface: "interface", }; +export const polywrapBuildLanguages = { + "wasm/assemblyscript": "wasm/assemblyscript", + "wasm/rust": "wasm/rust", + "wasm/golang": "wasm/golang", + "wasm/javascript": "wasm/javascript", +}; + export type PolywrapManifestLanguages = typeof polywrapManifestLanguages; export type PolywrapManifestLanguage = keyof PolywrapManifestLanguages; +export type PolywrapBuildLanguages = typeof polywrapBuildLanguages; + +export type PolywrapBuildLanguage = keyof PolywrapBuildLanguages; + export function isPolywrapManifestLanguage( language: string ): language is PolywrapManifestLanguage { @@ -29,6 +41,8 @@ export function polywrapManifestLanguageToBindLanguage( return "wrap-rs"; case "wasm/golang": return "wrap-go"; + case "wasm/typescript": + return "wrap-ts"; case "interface": throw Error(intlMsg.lib_language_noInterfaceCodegen()); default: @@ -51,6 +65,8 @@ export function polywrapManifestOverrideCodegenDir( // the codegen directory to be `./src/wrap` case "wasm/rust": return "./src/wrap"; + case "wasm/typescript": + return "./src/wrap"; case "wasm/golang": return "./module/wrap"; default: diff --git a/packages/cli/src/lib/project/manifests/polywrap/load.ts b/packages/cli/src/lib/project/manifests/polywrap/load.ts index eaf18b2db2..c5f226e0c2 100644 --- a/packages/cli/src/lib/project/manifests/polywrap/load.ts +++ b/packages/cli/src/lib/project/manifests/polywrap/load.ts @@ -2,9 +2,9 @@ import { displayPath, intlMsg, loadEnvironmentVariables, - PolywrapManifestLanguage, Logger, logActivity, + PolywrapBuildLanguage, } from "../../../"; import { @@ -67,7 +67,7 @@ export const defaultBuildManifestFiles = [ ]; export async function loadBuildManifest( - language: PolywrapManifestLanguage, + language: PolywrapBuildLanguage, manifestPath: string, logger: Logger ): Promise { diff --git a/packages/cli/src/lib/system/child-process.ts b/packages/cli/src/lib/system/child-process.ts index 1c86c0f855..41afbfadd9 100644 --- a/packages/cli/src/lib/system/child-process.ts +++ b/packages/cli/src/lib/system/child-process.ts @@ -12,7 +12,7 @@ export function runCommandSync( try { const stdout = execSync(`${command} ${args.join(" ")}`, { - cwd: __dirname, + cwd: process.cwd(), env: { ...process.env, ...env, @@ -51,7 +51,7 @@ export async function runCommand( const childObj = exec( `${command} ${args.join(" ")}`, { - cwd: cwd ?? __dirname, + cwd: cwd ?? process.cwd(), env: { ...process.env, ...env, diff --git a/packages/cli/src/lib/system/docker.ts b/packages/cli/src/lib/system/docker.ts index ec599aa427..d7e246a720 100644 --- a/packages/cli/src/lib/system/docker.ts +++ b/packages/cli/src/lib/system/docker.ts @@ -21,7 +21,7 @@ export async function ensureDockerDaemonRunning(logger: Logger): Promise { } export function getDockerFileLock(logger: Logger): FileLock { - return new FileLock(__dirname + "/DOCKER_LOCK", (message: string) => + return new FileLock(process.cwd() + "/DOCKER_LOCK", (message: string) => logger.error(message) ); } diff --git a/packages/js/cli/src/run-cli.ts b/packages/js/cli/src/run-cli.ts index 4ee3d55232..70b0f0ccf8 100644 --- a/packages/js/cli/src/run-cli.ts +++ b/packages/js/cli/src/run-cli.ts @@ -40,7 +40,8 @@ export const runCli = async (options: { } } - const command = `node ${config.cli} ${args.join(" ")}`; + const exec = isNodeScript(config.cli) ? "node" : ""; + const command = `${exec} ${config.cli} ${args.join(" ")}`.trimStart(); const child = spawn(command, { cwd: config.cwd, env: config.env }); let stdout = ""; @@ -63,3 +64,24 @@ export const runCli = async (options: { }); }); }; + +function isNodeScript(filePath: string): boolean { + let fd: number | undefined; + try { + fd = fs.openSync(filePath, "r"); + const buffer = Buffer.alloc(20); + fs.readSync(fd, buffer, 0, 20, 0); + const header = buffer.toString("utf-8", 0, 20); + return ( + header.startsWith("#!/usr/bin/env node") || + header.startsWith("#!/usr/bin/node") + ); + } catch (err) { + console.error(`Error reading file ${filePath}: ${err}`); + return false; + } finally { + if (fd !== undefined) { + fs.closeSync(fd); + } + } +} diff --git a/packages/schema/bind/src/bindings/golang/functions.ts b/packages/schema/bind/src/bindings/golang/functions.ts index 11d2d8e32b..0f855f4b10 100644 --- a/packages/schema/bind/src/bindings/golang/functions.ts +++ b/packages/schema/bind/src/bindings/golang/functions.ts @@ -17,6 +17,16 @@ export const stopIter: MustacheFn = () => { }; }; +export const indexIter: MustacheFn = () => { + return (text: string, render: (template: string) => string): string => { + const rendered: string = render(text); + if (num !== -1) { + return `${rendered}[${num}]`; + } + return rendered; + }; +}; + export const currIter: MustacheFn = () => { return (text: string, render: (template: string) => string): string => { const rendered: string = render(text); @@ -34,7 +44,7 @@ export const nextIter: MustacheFn = () => { export const prevFullIter: MustacheFn = () => { return (text: string, render: (template: string) => string): string => { const rendered: string = render(text); - if (rendered == "stop") { + if (rendered == "stop" || num === -1) { return ""; } return Array(num) @@ -132,6 +142,17 @@ export const makeImports: MustacheFn = () => { }; }; +export const enumConstants: MustacheFn = () => { + return (text: string, render: (template: string) => string): string => { + let lines = render(text).split("\n"); + if (lines[0] === "") { + lines = lines.slice(1); + } + lines[0] = lines[0] + " = iota"; + return lines.join("\n"); + }; +}; + export const stuctProps: MustacheFn = () => { return (text: string, render: (template: string) => string): string => { const props: [string, string][] = render(text) diff --git a/packages/schema/bind/src/bindings/golang/transforms/appendImportedTypes.ts b/packages/schema/bind/src/bindings/golang/transforms/appendImportedTypes.ts new file mode 100644 index 0000000000..64ba75f254 --- /dev/null +++ b/packages/schema/bind/src/bindings/golang/transforms/appendImportedTypes.ts @@ -0,0 +1,94 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import { + Abi, + EnumRef, + ObjectRef, + ModuleDefinition, + ObjectDefinition, +} from "@polywrap/wrap-manifest-types-js"; +import { AbiTransforms } from "@polywrap/schema-parse"; + +interface State { + importedTypes: Map; + moduleDef?: ModuleDefinition; + objectDef?: ObjectDefinition; +} + +export function appendImportedTypes(): AbiTransforms { + const state: State = { + importedTypes: new Map(), + }; + + const addImportedTypeRef = (def: EnumRef | ObjectRef) => { + const importType = state.importedTypes.get(def.type); + + if (importType) { + if (state.moduleDef) { + const importedTypes: string[] = + (state.moduleDef as any).importedTypes || []; + if (importedTypes.indexOf(importType) === -1) { + importedTypes.push(importType); + } + state.moduleDef = { + ...state.moduleDef, + importedTypes, + } as ModuleDefinition; + } + + if (state.objectDef) { + const importedTypes: string[] = + (state.objectDef as any).importedTypes || []; + if (importedTypes.indexOf(importType) === -1) { + importedTypes.push(importType); + } + state.objectDef = { + ...state.objectDef, + importedTypes, + } as ObjectDefinition; + } + } + + return def; + }; + + return { + enter: { + Abi: (abi: Abi) => { + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + state.importedTypes = abi.importedTypes; + return abi; + }, + ModuleDefinition: (def: ModuleDefinition) => { + state.moduleDef = def; + return def; + }, + ObjectDefinition: (def: ObjectDefinition) => { + if (!state.moduleDef) { + state.objectDef = def; + } + + return def; + }, + EnumRef: (def: EnumRef) => { + return addImportedTypeRef(def); + }, + ObjectRef: (def: ObjectRef) => { + return addImportedTypeRef(def); + }, + }, + leave: { + ModuleDefinition: (def: ModuleDefinition) => { + const newDef = state.moduleDef || def; + state.moduleDef = undefined; + return newDef; + }, + ObjectDefinition: (def: ObjectDefinition) => { + const newDef = state.objectDef || def; + state.objectDef = undefined; + return newDef; + }, + }, + }; +} diff --git a/packages/schema/bind/src/bindings/golang/transforms/extractImportedTypes.ts b/packages/schema/bind/src/bindings/golang/transforms/extractImportedTypes.ts new file mode 100644 index 0000000000..ac4f292d6f --- /dev/null +++ b/packages/schema/bind/src/bindings/golang/transforms/extractImportedTypes.ts @@ -0,0 +1,48 @@ +/* eslint-disable @typescript-eslint/naming-convention */ +import { + Abi, + ImportedEnumDefinition, + ImportedEnvDefinition, + ImportedModuleDefinition, + ImportedObjectDefinition, +} from "@polywrap/wrap-manifest-types-js"; +import { AbiTransforms } from "@polywrap/schema-parse"; + +interface State { + importedTypes: Map; +} + +export function extractImportedTypes(): AbiTransforms { + const state: State = { + importedTypes: new Map(), + }; + + return { + enter: { + ImportedEnumDefinition: (def: ImportedEnumDefinition) => { + state.importedTypes = state.importedTypes.set(def.type, def.namespace); + return def; + }, + ImportedEnvDefinition: (def: ImportedEnvDefinition) => { + state.importedTypes = state.importedTypes.set(def.type, def.namespace); + return def; + }, + ImportedModuleDefinition: (def: ImportedModuleDefinition) => { + state.importedTypes = state.importedTypes.set(def.type, def.namespace); + return def; + }, + ImportedObjectDefinition: (def: ImportedObjectDefinition) => { + state.importedTypes = state.importedTypes.set(def.type, def.namespace); + return def; + }, + }, + leave: { + Abi(abi: Abi) { + return { + ...abi, + importedTypes: state.importedTypes, + }; + }, + }, + }; +} diff --git a/packages/schema/bind/src/bindings/golang/transforms/index.ts b/packages/schema/bind/src/bindings/golang/transforms/index.ts index c1d98bed8c..b757bf9670 100644 --- a/packages/schema/bind/src/bindings/golang/transforms/index.ts +++ b/packages/schema/bind/src/bindings/golang/transforms/index.ts @@ -1,2 +1,3 @@ +export * from "./appendImportedTypes"; +export * from "./extractImportedTypes"; export * from "./moduleNeedsTypes"; -export * from "./moduleNeedsImportedTypes"; diff --git a/packages/schema/bind/src/bindings/golang/transforms/moduleNeedsImportedTypes.ts b/packages/schema/bind/src/bindings/golang/transforms/moduleNeedsImportedTypes.ts deleted file mode 100644 index 05b6d37d6a..0000000000 --- a/packages/schema/bind/src/bindings/golang/transforms/moduleNeedsImportedTypes.ts +++ /dev/null @@ -1,129 +0,0 @@ -/* eslint-disable @typescript-eslint/naming-convention */ -import { - Abi, - ImportedEnumDefinition, - ImportedEnvDefinition, - ImportedModuleDefinition, - ImportedObjectDefinition, - MethodDefinition, - ModuleDefinition, -} from "@polywrap/wrap-manifest-types-js"; -import { AbiTransforms } from "@polywrap/schema-parse"; - -interface ImportedTypesState { - importedTypes: Map; -} - -interface ModuleNeedsImportedTypesState extends ImportedTypesState { - needsImportedNamespaces: Set; -} - -export function extractImportedTypes(): AbiTransforms { - const state: ImportedTypesState = { - importedTypes: new Map(), - }; - - return { - enter: { - ImportedEnumDefinition: (def: ImportedEnumDefinition) => { - state.importedTypes = state.importedTypes.set(def.type, def.namespace); - return def; - }, - ImportedEnvDefinition: (def: ImportedEnvDefinition) => { - state.importedTypes = state.importedTypes.set(def.type, def.namespace); - return def; - }, - ImportedModuleDefinition: (def: ImportedModuleDefinition) => { - state.importedTypes = state.importedTypes.set(def.type, def.namespace); - return def; - }, - ImportedObjectDefinition: (def: ImportedObjectDefinition) => { - state.importedTypes = state.importedTypes.set(def.type, def.namespace); - return def; - }, - }, - leave: { - Abi(abi: Abi) { - return { - ...abi, - _importedTypes: state.importedTypes, - }; - }, - }, - }; -} - -export function extractNeededImportedNamespaces(): AbiTransforms { - const state: ModuleNeedsImportedTypesState = { - importedTypes: new Map(), - needsImportedNamespaces: new Set(), - }; - - return { - enter: { - Abi: (abi: Abi) => { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - state.importedTypes = abi._importedTypes; - return abi; - }, - MethodDefinition: (def: MethodDefinition) => { - if (def.arguments && def.arguments.length > 0) { - for (const arg of def.arguments) { - const argType = arg.type; - const importNamespace = state.importedTypes?.get(argType); - if (importNamespace) { - state.needsImportedNamespaces?.add(importNamespace); - } - } - } - - if (def.return) { - const returnType = def.return.type; - const importNamespace = state.importedTypes?.get(returnType); - if (importNamespace) { - state.needsImportedNamespaces?.add(importNamespace); - } - } - return def; - }, - }, - leave: { - Abi: (abi: Abi) => { - return { - ...abi, - _needsImportedNamespaces: state.needsImportedNamespaces, - }; - }, - }, - }; -} - -export function needsImportedNamespaces(): AbiTransforms { - const state: ModuleNeedsImportedTypesState = { - importedTypes: new Map(), - needsImportedNamespaces: new Set(), - }; - - return { - enter: { - Abi: (abi: Abi) => { - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - // @ts-ignore - state.needsImportedNamespaces = abi._needsImportedNamespaces; - return abi; - }, - }, - leave: { - ModuleDefinition: (def: ModuleDefinition) => { - const needsImportedNamespaces = Array.from( - state.needsImportedNamespaces - ); - return { - ...def, - needsImportedNamespaces, - }; - }, - }, - }; -} diff --git a/packages/schema/bind/src/bindings/golang/transforms/moduleNeedsTypes.ts b/packages/schema/bind/src/bindings/golang/transforms/moduleNeedsTypes.ts index 766010c8a9..3d7fb7f0d0 100644 --- a/packages/schema/bind/src/bindings/golang/transforms/moduleNeedsTypes.ts +++ b/packages/schema/bind/src/bindings/golang/transforms/moduleNeedsTypes.ts @@ -7,21 +7,21 @@ import { } from "@polywrap/wrap-manifest-types-js"; import { AbiTransforms } from "@polywrap/schema-parse"; -interface ModuleNeedsTypesState { +interface State { moduleDefinition?: ModuleDefinition; needsTypes?: boolean; importedTypes?: Map; } export function moduleNeedsTypes(): AbiTransforms { - const state: ModuleNeedsTypesState = {}; + const state: State = {}; return { enter: { Abi: (abi) => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore - state.importedTypes = abi._importedTypes; + state.importedTypes = abi.importedTypes; return abi; }, ModuleDefinition: (def: ModuleDefinition) => { diff --git a/packages/schema/bind/src/bindings/golang/wasm/index.ts b/packages/schema/bind/src/bindings/golang/wasm/index.ts index 4c3faf5a7e..5ca1204bb1 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/index.ts +++ b/packages/schema/bind/src/bindings/golang/wasm/index.ts @@ -156,26 +156,12 @@ export const generateBinding: GenerateBindingFn = ( // Generate module type folders if (abi.moduleType) { - const imports: { [key: string]: boolean } = {}; - abi.moduleType.methods?.forEach(function (method) { - method.arguments?.forEach(function (arg) { - const tp = abi.importedObjectTypes?.find(function (mt) { - return mt.type === arg.type; - }); - if (tp) { - imports[tp.namespace] = true; - } - }); - }); - const importedTypes = Object.keys(imports).map((namespace) => ({ - namespace, - })); output.entries.push({ type: "Directory", name: "types", data: renderTemplates( templatePath("module-type/types"), - { importedTypes, goImport, ...abi.moduleType }, + { goImport, ...abi.moduleType }, subTemplates ), }); @@ -184,7 +170,7 @@ export const generateBinding: GenerateBindingFn = ( name: "module_wrapped", data: renderTemplates( templatePath("module-type/module_wrapped"), - { importedTypes, goImport, ...abi.moduleType }, + { goImport, ...abi.moduleType }, subTemplates ), }); @@ -272,8 +258,7 @@ function applyTransforms(abi: Abi): Abi { addFirstLast, toPrefixedGraphQLType, Transforms.extractImportedTypes(), - Transforms.extractNeededImportedNamespaces(), - Transforms.needsImportedNamespaces(), + Transforms.appendImportedTypes(), Transforms.moduleNeedsTypes(), ]; diff --git a/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_array.mustache b/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_array.mustache index c66ee906d9..adcbfb0e3b 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_array.mustache +++ b/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_array.mustache @@ -1,8 +1,8 @@ if reader.IsNil() { - _{{name}}{{#lastFullIter}}i{{/lastFullIter}} = nil + value{{#lastFullIter}}i{{/lastFullIter}} = nil } else { - {{#nextIter}}ln{{/nextIter}} := reader.ReadArrayLength() - _{{name}}{{#prevFullIter}}i{{/prevFullIter}} = make({{#toWasm}}{{toGraphQLType}}{{/toWasm}}, {{#currIter}}ln{{/currIter}}) + value{{#lastFullIter}}i{{/lastFullIter}} = make({{#toWasm}}{{toGraphQLType}}{{/toWasm}}, reader.ReadArrayLength()) + {{#nextIter}}ln{{/nextIter}} := uint32(len(value{{#prevFullIter}}i{{/prevFullIter}})) for {{#currIter}}i{{/currIter}} := uint32(0); {{#currIter}}i{{/currIter}} < {{#currIter}}ln{{/currIter}}; {{#currIter}}i{{/currIter}}++ { {{#scalar}} {{> deserialize_scalar}} diff --git a/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_enum.mustache b/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_enum.mustache index b5ac1f35bb..2d51e43384 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_enum.mustache +++ b/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_enum.mustache @@ -1,11 +1,11 @@ {{#required}} -_{{name}}{{#lastFullIter}}i{{/lastFullIter}} = {{#toUpper}}{{type}}{{/toUpper}}(reader.ReadI32()) -Sanitize{{#toUpper}}{{type}}{{/toUpper}}Value(int32(_{{name}}{{#lastFullIter}}i{{/lastFullIter}})) +value{{#lastFullIter}}i{{/lastFullIter}} = {{#toUpper}}{{type}}{{/toUpper}}(reader.ReadI32()) +Sanitize{{#toUpper}}{{type}}{{/toUpper}}Value(int32(value{{#lastFullIter}}i{{/lastFullIter}})) {{/required}} {{^required}} if !reader.IsNil() { v := {{#toUpper}}{{type}}{{/toUpper}}(reader.ReadI32()) Sanitize{{#toUpper}}{{type}}{{/toUpper}}Value(int32(v)) - _{{name}}{{#lastFullIter}}i{{/lastFullIter}} = &v + value{{#lastFullIter}}i{{/lastFullIter}} = &v } {{/required}} diff --git a/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_map.mustache b/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_map.mustache index 409d6c97db..a66daea146 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_map.mustache +++ b/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_map.mustache @@ -1,8 +1,8 @@ if reader.IsNil() { - _{{name}}{{#lastFullIter}}i{{/lastFullIter}} = nil + value{{#lastFullIter}}i{{/lastFullIter}} = nil } else { + value{{#lastFullIter}}i{{/lastFullIter}} = make({{#toWasm}}{{toGraphQLType}}{{/toWasm}}) {{#nextIter}}ln{{/nextIter}} := reader.ReadMapLength() - _{{name}}{{#prevFullIter}}i{{/prevFullIter}} = make({{#toWasm}}{{toGraphQLType}}{{/toWasm}}) for {{#currIter}}j{{/currIter}} := uint32(0); {{#currIter}}j{{/currIter}} < {{#currIter}}ln{{/currIter}}; {{#currIter}}j{{/currIter}}++ { {{#currIter}}i{{/currIter}} := reader.Read{{#key}}{{#toMsgPack}}{{toGraphQLType}}{{/toMsgPack}}{{/key}}() {{#scalar}} diff --git a/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_object.mustache b/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_object.mustache index 6fc0c5ba2f..2a7c26cd0c 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_object.mustache +++ b/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_object.mustache @@ -1,8 +1,8 @@ if v := {{#toUpper}}{{type}}{{/toUpper}}Read(reader); v != nil { {{#required}} - _{{name}}{{#lastFullIter}}i{{/lastFullIter}} = *v + value{{#lastFullIter}}i{{/lastFullIter}} = *v {{/required}} {{^required}} - _{{name}}{{#lastFullIter}}i{{/lastFullIter}} = v + value{{#lastFullIter}}i{{/lastFullIter}} = v {{/required}} } diff --git a/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_scalar.mustache b/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_scalar.mustache index 2c65dc5c0e..09966bd026 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_scalar.mustache +++ b/packages/schema/bind/src/bindings/golang/wasm/templates/$deserialize_scalar.mustache @@ -1,9 +1,9 @@ {{#required}} -_{{name}}{{#lastFullIter}}i{{/lastFullIter}} = reader.Read{{#toMsgPack}}{{toGraphQLType}}{{/toMsgPack}}() +value{{#lastFullIter}}i{{/lastFullIter}} = reader.Read{{#toMsgPack}}{{toGraphQLType}}{{/toMsgPack}}() {{/required}} {{^required}} if !reader.IsNil() { v := reader.Read{{#toMsgPack}}{{toGraphQLType}}{{/toMsgPack}}() - _{{name}}{{#lastFullIter}}i{{/lastFullIter}} = {{#readPointer}}{{#toMsgPack}}{{toGraphQLType}}{{/toMsgPack}} - v{{/readPointer}} + value{{#lastFullIter}}i{{/lastFullIter}} = {{#readPointer}}{{#toMsgPack}}{{toGraphQLType}}{{/toMsgPack}} - v{{/readPointer}} } {{/required}} diff --git a/packages/schema/bind/src/bindings/golang/wasm/templates/enum-type/Enum%type%-go.mustache b/packages/schema/bind/src/bindings/golang/wasm/templates/enum-type/Enum%type%-go.mustache index f88d287c1b..d699cb0965 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/templates/enum-type/Enum%type%-go.mustache +++ b/packages/schema/bind/src/bindings/golang/wasm/templates/enum-type/Enum%type%-go.mustache @@ -3,12 +3,14 @@ package types type {{#toUpper}}{{type}}{{/toUpper}} int32 const ( +{{#enumConstants}} {{#stuctProps}} {{#constants}} -{{#toUpper}}{{type}}{{/toUpper}}{{.}} = iota +{{#toUpper}}{{type}}{{/toUpper}}{{.}} {{/constants}} -{{#toFirstLower}}{{type}}{{/toFirstLower}}Max = iota +{{#toFirstLower}}{{type}}{{/toFirstLower}}Max {{/stuctProps}} +{{/enumConstants}} ) func Sanitize{{#toUpper}}{{type}}{{/toUpper}}Value(value int32) { diff --git a/packages/schema/bind/src/bindings/golang/wasm/templates/env-type/Env%type%Serialization-go.mustache b/packages/schema/bind/src/bindings/golang/wasm/templates/env-type/Env%type%Serialization-go.mustache index 903b26da04..a23411e427 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/templates/env-type/Env%type%Serialization-go.mustache +++ b/packages/schema/bind/src/bindings/golang/wasm/templates/env-type/Env%type%Serialization-go.mustache @@ -62,6 +62,10 @@ func read{{#toUpper}}{{type}}{{/toUpper}}(reader msgpack.Read) *{{#toUpper}}{{ty {{#properties}} case "{{name}}": reader.Context().Push(field, "{{#toWasm}}{{toGraphQLType}}{{/toWasm}}", "type found, reading property") + var ( value {{#toWasm}}{{toGraphQLType}}{{/toWasm}} ) + {{^required}} + value = nil + {{/required}} {{#scalar}} {{> deserialize_scalar}} {{/scalar}} @@ -81,6 +85,7 @@ func read{{#toUpper}}{{type}}{{/toUpper}}(reader msgpack.Read) *{{#toUpper}}{{ty {{#object}} {{> deserialize_object}} {{/object}} + _{{name}} = value {{#required}} _{{name}}Set = true {{/required}} diff --git a/packages/schema/bind/src/bindings/golang/wasm/templates/imported/env-type/Env%type%Serialization-go.mustache b/packages/schema/bind/src/bindings/golang/wasm/templates/imported/env-type/Env%type%Serialization-go.mustache index d84030967a..ad18e3e6c2 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/templates/imported/env-type/Env%type%Serialization-go.mustache +++ b/packages/schema/bind/src/bindings/golang/wasm/templates/imported/env-type/Env%type%Serialization-go.mustache @@ -65,6 +65,10 @@ func read{{#toUpper}}{{type}}{{/toUpper}}(reader msgpack.Read) *{{#toUpper}}{{ty {{#properties}} case "{{name}}": reader.Context().Push(field, "{{#toWasm}}{{toGraphQLType}}{{/toWasm}}", "type found, reading property") + var ( value {{#toWasm}}{{toGraphQLType}}{{/toWasm}} ) + {{^required}} + value = nil + {{/required}} {{#scalar}} {{> deserialize_scalar}} {{/scalar}} @@ -84,6 +88,7 @@ func read{{#toUpper}}{{type}}{{/toUpper}}(reader msgpack.Read) *{{#toUpper}}{{ty {{#object}} {{> deserialize_object}} {{/object}} + _{{name}} = value {{#required}} _{{name}}Set = true {{/required}} diff --git a/packages/schema/bind/src/bindings/golang/wasm/templates/imported/object-type/Object%type%Serialization-go.mustache b/packages/schema/bind/src/bindings/golang/wasm/templates/imported/object-type/Object%type%Serialization-go.mustache index d584c641cc..35eb03f9a1 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/templates/imported/object-type/Object%type%Serialization-go.mustache +++ b/packages/schema/bind/src/bindings/golang/wasm/templates/imported/object-type/Object%type%Serialization-go.mustache @@ -65,6 +65,10 @@ func read{{#toUpper}}{{type}}{{/toUpper}}(reader msgpack.Read) *{{#toUpper}}{{ty {{#properties}} case "{{name}}": reader.Context().Push(field, "{{#toWasm}}{{toGraphQLType}}{{/toWasm}}", "type found, reading property") + var ( value {{#toWasm}}{{toGraphQLType}}{{/toWasm}} ) + {{^required}} + value = nil + {{/required}} {{#scalar}} {{> deserialize_scalar}} {{/scalar}} @@ -84,6 +88,7 @@ func read{{#toUpper}}{{type}}{{/toUpper}}(reader msgpack.Read) *{{#toUpper}}{{ty {{#object}} {{> deserialize_object}} {{/object}} + _{{name}} = value {{#required}} _{{name}}Set = true {{/required}} diff --git a/packages/schema/bind/src/bindings/golang/wasm/templates/module-type/module_wrapped/%type%Serialization-go.mustache b/packages/schema/bind/src/bindings/golang/wasm/templates/module-type/module_wrapped/%type%Serialization-go.mustache index 57d8c176e6..dd1a79cb83 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/templates/module-type/module_wrapped/%type%Serialization-go.mustache +++ b/packages/schema/bind/src/bindings/golang/wasm/templates/module-type/module_wrapped/%type%Serialization-go.mustache @@ -4,9 +4,9 @@ package module_wrapped {{#needsTypes}} . {{goImport}}/module/wrap/types, {{/needsTypes}} - {{#needsImportedNamespaces}} + {{#importedTypes}} . {{goImport}}/module/wrap/imported/{{#pkgName}}{{#toSnakeCase}}{{.}}{{/toSnakeCase}}{{/pkgName}}, - {{/needsImportedNamespaces}} + {{/importedTypes}} {{#methods}} {{#return}}{{#toWasm}}{{toGraphQLType}}{{/toWasm}}{{/return}}, {{/methods}} @@ -35,6 +35,10 @@ func Deserialize{{#toUpper}}{{name}}{{/toUpper}}Args(argsBuf []byte) *Args{{#toU {{#arguments}} case "{{name}}": reader.Context().Push(field, "{{#toWasm}}{{toGraphQLType}}{{/toWasm}}", "type found, reading property") + var ( value {{#toWasm}}{{toGraphQLType}}{{/toWasm}} ) + {{^required}} + value = nil + {{/required}} {{#scalar}} {{> deserialize_scalar}} {{/scalar}} @@ -54,6 +58,7 @@ func Deserialize{{#toUpper}}{{name}}{{/toUpper}}Args(argsBuf []byte) *Args{{#toU {{#object}} {{> deserialize_object}} {{/object}} + _{{name}} = value {{#required}} _{{name}}Set = true {{/required}} diff --git a/packages/schema/bind/src/bindings/golang/wasm/templates/module-type/types/%type%Args-go.mustache b/packages/schema/bind/src/bindings/golang/wasm/templates/module-type/types/%type%Args-go.mustache index 4d7a27be0f..49f419ef19 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/templates/module-type/types/%type%Args-go.mustache +++ b/packages/schema/bind/src/bindings/golang/wasm/templates/module-type/types/%type%Args-go.mustache @@ -1,7 +1,7 @@ package types {{#makeImports}} {{#importedTypes}} - . {{goImport}}/module/wrap/imported/{{#pkgName}}{{#toSnakeCase}}{{namespace}}{{/toSnakeCase}}{{/pkgName}}, + . {{goImport}}/module/wrap/imported/{{#pkgName}}{{#toSnakeCase}}{{.}}{{/toSnakeCase}}{{/pkgName}}, {{/importedTypes}} {{#methods}} {{#arguments}} @@ -23,3 +23,9 @@ type Args{{#toUpper}}{{name}}{{/toUpper}} struct { {{/last}} {{/methods}} + +type Module interface { + {{#methods}} + {{#toUpper}}{{name}}{{/toUpper}}({{#arguments.length}}args *Args{{#toUpper}}{{name}}{{/toUpper}}{{/arguments.length}}) {{#return}}{{#toWasm}}{{toGraphQLType}}{{/toWasm}}{{/return}} + {{/methods}} +} diff --git a/packages/schema/bind/src/bindings/golang/wasm/templates/object-type/Object%type%Serialization-go.mustache b/packages/schema/bind/src/bindings/golang/wasm/templates/object-type/Object%type%Serialization-go.mustache index de60363f36..f3013a50fa 100644 --- a/packages/schema/bind/src/bindings/golang/wasm/templates/object-type/Object%type%Serialization-go.mustache +++ b/packages/schema/bind/src/bindings/golang/wasm/templates/object-type/Object%type%Serialization-go.mustache @@ -65,6 +65,10 @@ func read{{#toUpper}}{{type}}{{/toUpper}}(reader msgpack.Read) *{{#toUpper}}{{ty {{#properties}} case "{{name}}": reader.Context().Push(field, "{{#toWasm}}{{toGraphQLType}}{{/toWasm}}", "type found, reading property") + var ( value {{#toWasm}}{{toGraphQLType}}{{/toWasm}} ) + {{^required}} + value = nil + {{/required}} {{#scalar}} {{> deserialize_scalar}} {{/scalar}} @@ -84,6 +88,7 @@ func read{{#toUpper}}{{type}}{{/toUpper}}(reader msgpack.Read) *{{#toUpper}}{{ty {{#object}} {{> deserialize_object}} {{/object}} + _{{name}} = value {{#required}} _{{name}}Set = true {{/required}} diff --git a/packages/schema/bind/src/bindings/index.ts b/packages/schema/bind/src/bindings/index.ts index a330b9aa23..0905ea210b 100644 --- a/packages/schema/bind/src/bindings/index.ts +++ b/packages/schema/bind/src/bindings/index.ts @@ -21,6 +21,10 @@ export function getGenerateBindingFn( ); case "wrap-go": return Golang.Wasm.generateBinding; + case "wrap-ts": + return WrapBindgen.getGenerateBindingFn( + "wrapscan.io/polywrap/wrap-typescript-abi-bindgen@1" + ); case "plugin-ts": return WrapBindgen.getGenerateBindingFn( "wrapscan.io/polywrap/plugin-typescript-abi-bindgen@1" diff --git a/packages/schema/bind/src/types.ts b/packages/schema/bind/src/types.ts index 87ebc41815..339d2b9960 100644 --- a/packages/schema/bind/src/types.ts +++ b/packages/schema/bind/src/types.ts @@ -5,6 +5,7 @@ export const bindLanguage = { "wrap-as": "wrap-as", "wrap-rs": "wrap-rs", "wrap-go": "wrap-go", + "wrap-ts": "wrap-ts", "plugin-ts": "plugin-ts", "plugin-rs": "plugin-rs", "plugin-py": "plugin-py", diff --git a/packages/templates/app/ios/yarn.lock b/packages/templates/app/ios/yarn.lock deleted file mode 100644 index a51295aa24..0000000000 --- a/packages/templates/app/ios/yarn.lock +++ /dev/null @@ -1,2056 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@apidevtools/json-schema-ref-parser@9.0.9": - version "9.0.9" - resolved "https://registry.yarnpkg.com/@apidevtools/json-schema-ref-parser/-/json-schema-ref-parser-9.0.9.tgz#d720f9256e3609621280584f2b47ae165359268b" - integrity sha512-GBD2Le9w2+lVFoc4vswGI/TjkNIZSVp7+9xPf+X3uidBfWnAeUWmquteSyt0+VCrhNMWj/FTABISQrD3Z/YA+w== - dependencies: - "@jsdevtools/ono" "^7.1.3" - "@types/json-schema" "^7.0.6" - call-me-maybe "^1.0.1" - js-yaml "^4.1.0" - -"@dorgjelli/graphql-schema-cycles@1.1.4": - version "1.1.4" - resolved "https://registry.yarnpkg.com/@dorgjelli/graphql-schema-cycles/-/graphql-schema-cycles-1.1.4.tgz#31f230c61f624f7c2ceca7e18fad8b2cb07d392f" - integrity sha512-U5ARitMQWKjOAvwn1+0Z52R9sbNe1wpbgAbj2hOfRFb/vupfPlRwZLbuUZAlotMpkoxbTbk+GRmoiNzGcJfyHw== - dependencies: - graphql "15.5.0" - graphql-json-transform "^1.1.0-alpha.0" - -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.6.1", "@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - -"@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.6.2", "@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.6.1", "@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - -"@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.6.1", "@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - -"@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.6.1", "@ethersproject/basex@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" - integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - -"@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.6.2", "@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" - -"@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.6.1", "@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.6.1", "@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - -"@ethersproject/contracts@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" - integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - -"@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.6.1", "@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.6.2", "@ethersproject/hdnode@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" - integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.6.1", "@ethersproject/json-wallets@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" - integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - -"@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.6.1", "@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" - -"@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.6.0", "@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - -"@ethersproject/networks@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.0.tgz#df72a392f1a63a57f87210515695a31a245845ad" - integrity sha512-MG6oHSQHd4ebvJrleEQQ4HhVu8Ichr0RDYEfHzsVAVjHNM+w36x9wp9r+hf1JstMXtseXDtkiVoARAG6M959AA== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/networks@^5.6.3", "@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" - integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - -"@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.6.0", "@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/providers@5.6.8": - version "5.6.8" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.6.8.tgz#22e6c57be215ba5545d3a46cf759d265bb4e879d" - integrity sha512-Wf+CseT/iOJjrGtAOf3ck9zS7AgPmr2fZ3N97r4+YXN3mBePTG2/bJ8DApl9mVwYL+RpYbNxMEkEp4mPGdwG/w== - dependencies: - "@ethersproject/abstract-provider" "^5.6.1" - "@ethersproject/abstract-signer" "^5.6.2" - "@ethersproject/address" "^5.6.1" - "@ethersproject/base64" "^5.6.1" - "@ethersproject/basex" "^5.6.1" - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/constants" "^5.6.1" - "@ethersproject/hash" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/networks" "^5.6.3" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/random" "^5.6.1" - "@ethersproject/rlp" "^5.6.1" - "@ethersproject/sha2" "^5.6.1" - "@ethersproject/strings" "^5.6.1" - "@ethersproject/transactions" "^5.6.2" - "@ethersproject/web" "^5.6.1" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/providers@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.0.tgz#a885cfc7650a64385e7b03ac86fe9c2d4a9c2c63" - integrity sha512-+TTrrINMzZ0aXtlwO/95uhAggKm4USLm1PbeCBR/3XZ7+Oey+3pMyddzZEyRhizHpy1HXV0FRWRMI1O3EGYibA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - -"@ethersproject/random@5.7.0", "@ethersproject/random@^5.6.1", "@ethersproject/random@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" - integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.6.1", "@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.6.1", "@ethersproject/sha2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" - integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - hash.js "1.1.7" - -"@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.6.2", "@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - -"@ethersproject/solidity@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" - integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.6.1", "@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - -"@ethersproject/units@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" - integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - -"@ethersproject/wallet@5.6.2": - version "5.6.2" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.6.2.tgz#cd61429d1e934681e413f4bc847a5f2f87e3a03c" - integrity sha512-lrgh0FDQPuOnHcF80Q3gHYsSUODp6aJLAdDmDV0xKCN/T7D99ta1jGVhulg3PY8wiXEngD0DfM0I2XKXlrqJfg== - dependencies: - "@ethersproject/abstract-provider" "^5.6.1" - "@ethersproject/abstract-signer" "^5.6.2" - "@ethersproject/address" "^5.6.1" - "@ethersproject/bignumber" "^5.6.2" - "@ethersproject/bytes" "^5.6.1" - "@ethersproject/hash" "^5.6.1" - "@ethersproject/hdnode" "^5.6.2" - "@ethersproject/json-wallets" "^5.6.1" - "@ethersproject/keccak256" "^5.6.1" - "@ethersproject/logger" "^5.6.0" - "@ethersproject/properties" "^5.6.0" - "@ethersproject/random" "^5.6.1" - "@ethersproject/signing-key" "^5.6.2" - "@ethersproject/transactions" "^5.6.2" - "@ethersproject/wordlists" "^5.6.1" - -"@ethersproject/wallet@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" - integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/json-wallets" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - -"@ethersproject/web@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.0.tgz#40850c05260edad8b54827923bbad23d96aac0bc" - integrity sha512-ApHcbbj+muRASVDSCl/tgxaH2LBkRMEYfLOLVa0COipx0+nlu0QKet7U2lEg0vdkh8XRSLf2nd1f1Uk9SrVSGA== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/web@^5.6.1", "@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.6.1", "@ethersproject/wordlists@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" - integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - -"@fetsorn/opentelemetry-console-exporter@0.0.3": - version "0.0.3" - resolved "https://registry.yarnpkg.com/@fetsorn/opentelemetry-console-exporter/-/opentelemetry-console-exporter-0.0.3.tgz#c137629fecc610c7667e68b528926e498e152c0b" - integrity sha512-+UDrzHANOPcp0+47xK7dqeKIlYSh5a5WpFaswzM9S2MnjQfP0zOysAunWFRb6CFYSj1hTeFotYYXr8tYbyBpoA== - -"@formatjs/ecma402-abstract@1.6.2": - version "1.6.2" - resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.6.2.tgz#9d064a2cf790769aa6721e074fb5d5c357084bb9" - integrity sha512-aLBODrSRhHaL/0WdQ0T2UsGqRbdtRRHqqrs4zwNQoRsGBEtEAvlj/rgr6Uea4PSymVJrbZBoAyECM2Z3Pq4i0g== - dependencies: - tslib "^2.1.0" - -"@formatjs/intl-datetimeformat@3.2.12": - version "3.2.12" - resolved "https://registry.yarnpkg.com/@formatjs/intl-datetimeformat/-/intl-datetimeformat-3.2.12.tgz#c9b2e85f0267ee13ea615a8991995da3075e3b13" - integrity sha512-qvY5+dl3vlgH0iWRXwl8CG9UkSVB5uP2+HH//fyZZ01G4Ww5rxMJmia1SbUqatpoe/dX+Z+aLejCqUUyugyL2g== - dependencies: - "@formatjs/ecma402-abstract" "1.6.2" - tslib "^2.1.0" - -"@formatjs/intl-displaynames@4.0.10": - version "4.0.10" - resolved "https://registry.yarnpkg.com/@formatjs/intl-displaynames/-/intl-displaynames-4.0.10.tgz#5bbd1bbcd64a036b4be27798b650c864dcf4466a" - integrity sha512-KmYJQHynGnnMeqIWVXhbzCMcEC8lg1TfGVdcO9May6paDT+dksZoOBQc741t7iXi/YVO/wXEZdmXhUNX7ODZug== - dependencies: - "@formatjs/ecma402-abstract" "1.6.2" - tslib "^2.1.0" - -"@formatjs/intl-listformat@5.0.10": - version "5.0.10" - resolved "https://registry.yarnpkg.com/@formatjs/intl-listformat/-/intl-listformat-5.0.10.tgz#9f8c4ad5e8a925240e151ba794c41fba01f742cc" - integrity sha512-FLtrtBPfBoeteRlYcHvThYbSW2YdJTllR0xEnk6cr/6FRArbfPRYMzDpFYlESzb5g8bpQMKZy+kFQ6V2Z+5KaA== - dependencies: - "@formatjs/ecma402-abstract" "1.6.2" - tslib "^2.1.0" - -"@formatjs/intl-relativetimeformat@8.1.2": - version "8.1.2" - resolved "https://registry.yarnpkg.com/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-8.1.2.tgz#119f3dce97458991f86bf34a736880e4a7bc1697" - integrity sha512-LZUxbc9GHVGmDc4sqGAXugoxhvZV7EG2lG2c0aKERup2ixvmDMbbEN3iEEr5aKkP7YyGxXxgqDn2dwg7QCPR6Q== - dependencies: - "@formatjs/ecma402-abstract" "1.6.2" - tslib "^2.1.0" - -"@formatjs/intl@1.8.2": - version "1.8.2" - resolved "https://registry.yarnpkg.com/@formatjs/intl/-/intl-1.8.2.tgz#6090e6c1826a92e70668dfe08b4ba30127ea3a85" - integrity sha512-9xHoNKPv4qQIQ5AVfpQbIPZanz50i7oMtZWrd6Fz7Q2GM/5uhBr9mrCrY1tz/+diP7uguKmhj1IweLYaxY3DTQ== - dependencies: - "@formatjs/ecma402-abstract" "1.6.2" - "@formatjs/intl-datetimeformat" "3.2.12" - "@formatjs/intl-displaynames" "4.0.10" - "@formatjs/intl-listformat" "5.0.10" - "@formatjs/intl-relativetimeformat" "8.1.2" - fast-memoize "^2.5.2" - intl-messageformat "9.5.2" - intl-messageformat-parser "6.4.2" - tslib "^2.1.0" - -"@jsdevtools/ono@^7.1.3": - version "7.1.3" - resolved "https://registry.yarnpkg.com/@jsdevtools/ono/-/ono-7.1.3.tgz#9df03bbd7c696a5c58885c34aa06da41c8543796" - integrity sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg== - -"@msgpack/msgpack@2.7.2": - version "2.7.2" - resolved "https://registry.yarnpkg.com/@msgpack/msgpack/-/msgpack-2.7.2.tgz#f34b8aa0c49f0dd55eb7eba577081299cbf3f90b" - integrity sha512-rYEi46+gIzufyYUAoHDnRzkWGxajpD9vVXFQ3g1vbjrBm6P7MBmm+s/fqPa46sxa+8FOUdEuRQKaugo5a4JWpw== - -"@opentelemetry/api-metrics@0.32.0": - version "0.32.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api-metrics/-/api-metrics-0.32.0.tgz#0f09f78491a4b301ddf54a8b8a38ffa99981f645" - integrity sha512-g1WLhpG8B6iuDyZJFRGsR+JKyZ94m5LEmY2f+duEJ9Xb4XRlLHrZvh6G34OH6GJ8iDHxfHb/sWjJ1ZpkI9yGMQ== - dependencies: - "@opentelemetry/api" "^1.0.0" - -"@opentelemetry/api@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.2.0.tgz#89ef99401cde6208cff98760b67663726ef26686" - integrity sha512-0nBr+VZNKm9tvNDZFstI3Pq1fCTEDK5OZTnVKNvBNAKgd0yIvmwsP4m61rEv7ZP+tOUjWJhROpxK5MsnlF911g== - -"@opentelemetry/api@^1.0.0": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@opentelemetry/api/-/api-1.4.1.tgz#ff22eb2e5d476fbc2450a196e40dd243cc20c28f" - integrity sha512-O2yRJce1GOc6PAy3QxFM4NzFiWzvScDC1/5ihYBL6BUEVdq0XMWN01sppE+H6bBXbaFYipjwFLEWLg5PaSOThA== - -"@opentelemetry/core@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/core/-/core-1.6.0.tgz#c55f8ab7496acef7dbd8c4eedef6a4d4a0143c95" - integrity sha512-MsEhsyCTfYme6frK8/AqEWwbS9SB3Ta5bjgz4jPQJjL7ijUM3JiLVvqh/kHo1UlUjbUbLmGG7jA5Nw4d7SMcLQ== - dependencies: - "@opentelemetry/semantic-conventions" "1.6.0" - -"@opentelemetry/exporter-trace-otlp-http@0.32.0": - version "0.32.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/exporter-trace-otlp-http/-/exporter-trace-otlp-http-0.32.0.tgz#55773290a221855c4e8c422e8fb5e7ff4aa5f04e" - integrity sha512-8n44NDoEFoYG3mMToZxNyUKkHSGfzSShw6I2V5FApcH7rid20LmKiNuzc7lACneDIZBld+GGpLRuFhWniW8JhA== - dependencies: - "@opentelemetry/core" "1.6.0" - "@opentelemetry/otlp-exporter-base" "0.32.0" - "@opentelemetry/otlp-transformer" "0.32.0" - "@opentelemetry/resources" "1.6.0" - "@opentelemetry/sdk-trace-base" "1.6.0" - -"@opentelemetry/otlp-exporter-base@0.32.0": - version "0.32.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-exporter-base/-/otlp-exporter-base-0.32.0.tgz#37dde162835a8fd23fa040f07e2938deb335fc4b" - integrity sha512-Dscxu4VNKrkD1SwGKdc7bAtLViGFJC8ah6Dr/vZn22NFHXSa53lSzDdTKeSTNNWH9sCGu/65LS45VMd4PsRvwQ== - dependencies: - "@opentelemetry/core" "1.6.0" - -"@opentelemetry/otlp-transformer@0.32.0": - version "0.32.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/otlp-transformer/-/otlp-transformer-0.32.0.tgz#652c8f4c56c95f7d7ec39e20573b885d27ca13f1" - integrity sha512-PFAqfKgJpTOZryPe1UMm7R578PLxsK0wCAuKSt6m8v1bN/4DO8DX4HD7k3mYGZVU5jNg8tVZSwyIpY6ryrHDMQ== - dependencies: - "@opentelemetry/api-metrics" "0.32.0" - "@opentelemetry/core" "1.6.0" - "@opentelemetry/resources" "1.6.0" - "@opentelemetry/sdk-metrics" "0.32.0" - "@opentelemetry/sdk-trace-base" "1.6.0" - -"@opentelemetry/resources@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/resources/-/resources-1.6.0.tgz#9756894131b9b0dfbcc0cecb5d4bd040d9c1b09d" - integrity sha512-07GlHuq72r2rnJugYVdGumviQvfrl8kEPidkZSVoseLVfIjV7nzxxt5/vqs9pK7JItWOrvjRdr/jTBVayFBr/w== - dependencies: - "@opentelemetry/core" "1.6.0" - "@opentelemetry/semantic-conventions" "1.6.0" - -"@opentelemetry/sdk-metrics@0.32.0": - version "0.32.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-metrics/-/sdk-metrics-0.32.0.tgz#463cd3a2b267f044db9aaab85887a171710345a0" - integrity sha512-zC9RCOIsXRqOHWmWfcxArtDHbip2/jaIH1yu/OKau/shDZYFluAxY6zAEYIb4YEAzKKEF+fpaoRgpodDWNGVGA== - dependencies: - "@opentelemetry/api-metrics" "0.32.0" - "@opentelemetry/core" "1.6.0" - "@opentelemetry/resources" "1.6.0" - lodash.merge "4.6.2" - -"@opentelemetry/sdk-trace-base@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-base/-/sdk-trace-base-1.6.0.tgz#8b1511c0b0f3e6015e345f5ed4a683adf03e3e3c" - integrity sha512-yx/uuzHdT0QNRSEbCgXHc0GONk90uvaFcPGaNowIFSl85rTp4or4uIIMkG7R8ckj8xWjDSjsaztH6yQxoZrl5g== - dependencies: - "@opentelemetry/core" "1.6.0" - "@opentelemetry/resources" "1.6.0" - "@opentelemetry/semantic-conventions" "1.6.0" - -"@opentelemetry/sdk-trace-web@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/sdk-trace-web/-/sdk-trace-web-1.6.0.tgz#ef243e3e1102b53bc0afa93c29c18fc7e2f66e52" - integrity sha512-iOgmygvooaZm4Vi6mh5FM7ubj/e+MqDn8cDPCNfk6V8Q2yWj0co8HKWPFo0RoxSLYyPaFnEEXOXWWuE4OTwLKw== - dependencies: - "@opentelemetry/core" "1.6.0" - "@opentelemetry/sdk-trace-base" "1.6.0" - "@opentelemetry/semantic-conventions" "1.6.0" - -"@opentelemetry/semantic-conventions@1.6.0": - version "1.6.0" - resolved "https://registry.yarnpkg.com/@opentelemetry/semantic-conventions/-/semantic-conventions-1.6.0.tgz#ed410c9eb0070491cff9fe914246ce41f88d6f74" - integrity sha512-aPfcBeLErM/PPiAuAbNFLN5sNbZLc3KZlar27uohllN8Zs6jJbHyJU1y7cMA6W/zuq+thkaG8mujiS+3iD/FWQ== - -"@polywrap/asyncify-js@0.12.2", "@polywrap/asyncify-js@~0.12.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/asyncify-js/-/asyncify-js-0.12.2.tgz#e5b264bb38f7108beb1b83c43fa6c0ce3459f7a3" - integrity sha512-1dj/D0O4KosIw6q+4xKSu9w5Vry6zb3T5YgIBgBHuPvp3+146YUsuY1DFNFOKVs5XFfiilp10kkDpNIr4bi6mQ== - -"@polywrap/client-config-builder-js@0.12.2", "@polywrap/client-config-builder-js@~0.12.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/client-config-builder-js/-/client-config-builder-js-0.12.2.tgz#b1c1be1e17bdc43b36df96517460c4860b395aad" - integrity sha512-N09BTlspeLIahvDeMKBqRtSiWLAUj5RH4aExLy3CiRW1Hdq+Xpt7evxjImK+ugnAFOM3c2L8LK63qou600sRgw== - dependencies: - "@polywrap/config-bundle-types-js" "0.12.2" - "@polywrap/core-js" "0.12.2" - "@polywrap/plugin-js" "0.12.2" - "@polywrap/sys-config-bundle-js" "0.12.2" - "@polywrap/uri-resolver-extensions-js" "0.12.2" - "@polywrap/uri-resolvers-js" "0.12.2" - "@polywrap/wasm-js" "0.12.2" - "@polywrap/web3-config-bundle-js" "0.12.2" - -"@polywrap/client-js@~0.12.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/client-js/-/client-js-0.12.2.tgz#eb6b80c8ae35483c7dd0e773be79aa78e0a232ca" - integrity sha512-loEkFWEnXOxYwfnC61aZRYo+YGPbsIcFg+UO64lIIRKCTb6bpzueLy97RWGVf1YF0tDtomhwwCY+QNST2gy06Q== - dependencies: - "@polywrap/client-config-builder-js" "0.12.2" - "@polywrap/core-client-js" "0.12.2" - "@polywrap/core-js" "0.12.2" - "@polywrap/msgpack-js" "0.12.2" - "@polywrap/plugin-js" "0.12.2" - "@polywrap/result" "0.12.2" - "@polywrap/tracing-js" "0.12.2" - "@polywrap/uri-resolver-extensions-js" "0.12.2" - "@polywrap/uri-resolvers-js" "0.12.2" - "@polywrap/wrap-manifest-types-js" "0.12.2" - -"@polywrap/concurrent-plugin-js@~0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@polywrap/concurrent-plugin-js/-/concurrent-plugin-js-0.12.0.tgz#b3aba6a99cb2531b5333918d780f82a506e344d1" - integrity sha512-Y7rq3MnXbi/sshbIs8lFZOUppXiscJLRqUo1qMYYZrHjDFTzs1c0bTHImxEEpygtnHLZnZ3ZaUvynzipLiL+Jw== - dependencies: - "@polywrap/core-js" "~0.12.0" - "@polywrap/msgpack-js" "~0.12.0" - "@polywrap/plugin-js" "~0.12.0" - -"@polywrap/config-bundle-types-js@0.12.2": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/config-bundle-types-js/-/config-bundle-types-js-0.12.2.tgz#00e40cf882001be1ae82493052da19dac02708f3" - integrity sha512-ZRa3EOh5i/Gq/7HDS1IG5FJcBXx31XFeHAjrwKPU23x5eSVux3gIoFzgg3zv4CzQtDizUv+ds76LGKn6vFWX/A== - dependencies: - "@polywrap/core-js" "0.12.2" - -"@polywrap/core-client-js@0.12.2": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/core-client-js/-/core-client-js-0.12.2.tgz#88f2013a50b56979bc6145098b05b6a7725bb1f1" - integrity sha512-7sN3KErSun7V0pWOfI0AhKqsC1zf7njRaYM2EMeGYqXoHm9P2OteNPA2j9qn1FYPQHHZI/MQaVrCDAHaCeXuJg== - dependencies: - "@polywrap/core-js" "0.12.2" - "@polywrap/msgpack-js" "0.12.2" - "@polywrap/result" "0.12.2" - "@polywrap/tracing-js" "0.12.2" - "@polywrap/wrap-manifest-types-js" "0.12.2" - -"@polywrap/core-js@0.12.2", "@polywrap/core-js@~0.12.0", "@polywrap/core-js@~0.12.0-pre.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/core-js/-/core-js-0.12.2.tgz#b85f0314a30696db7ef265bfb89b4f25c194d900" - integrity sha512-AezoxK1YX+qJl06opUeAyjBfA+LIEHDPMoZZWeI+pyQHhuDUHyLv4xh4uzXELNnzfLo0Ap39qKAQ5u2HAs1DJA== - dependencies: - "@polywrap/result" "0.12.2" - "@polywrap/tracing-js" "0.12.2" - "@polywrap/wrap-manifest-types-js" "0.12.2" - -"@polywrap/datetime-plugin-js@~0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@polywrap/datetime-plugin-js/-/datetime-plugin-js-0.12.0.tgz#d04daf01c060e664ddbeea3d72a530a0b6d709fc" - integrity sha512-iDMa+250UxtJYD/I7eG3aRUrf73g8OgnhO9CrIaSEbsi/X3eKVfXIQPXSowqXSLhwG6LceDc/zn19uEPXZSvUg== - dependencies: - "@polywrap/core-js" "~0.12.0" - "@polywrap/plugin-js" "~0.12.0" - -"@polywrap/ethereum-wallet-js@~0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@polywrap/ethereum-wallet-js/-/ethereum-wallet-js-0.1.0.tgz#1af5800aab3c4cedfcd1e4e5e305d5d5ef733bea" - integrity sha512-GTg4X0gyFHXNAHSDxe6QfiWJv8z/pwobnVyKw4rcmBLw7tqcTiYXk4kU0QfWV3JLV/8rvzESl+FtXPC68dUMIA== - dependencies: - "@ethersproject/address" "5.7.0" - "@ethersproject/providers" "5.7.0" - "@polywrap/core-js" "~0.12.0-pre.0" - "@polywrap/plugin-js" "~0.12.0-pre.0" - ethers "5.7.0" - -"@polywrap/file-system-plugin-js@~0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@polywrap/file-system-plugin-js/-/file-system-plugin-js-0.12.0.tgz#0d88113e629d51173db0b30c34c296aeb8b23eea" - integrity sha512-hv6BCjnMwE3/CG5lBpucKKpcCE7DyLhshbv+KRSgz1sftI9CalogJbP6irkySgV7dDpMnQf1iZGTntv8HLwFOw== - dependencies: - "@polywrap/core-js" "~0.12.0" - "@polywrap/plugin-js" "~0.12.0" - -"@polywrap/http-plugin-js@~0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@polywrap/http-plugin-js/-/http-plugin-js-0.12.0.tgz#f297e192bbca16f81bbdf16dbc16a7664c93def5" - integrity sha512-DVXfRdF72ozLBXPQFAWEiz72gCF6wSw/H8q53DxeOXh3gKQ5zBpes5INEMpBpA9vzhqS73Y3KyMHTCrrXecv0w== - dependencies: - "@polywrap/core-js" "~0.12.0" - "@polywrap/plugin-js" "~0.12.0" - axios "0.21.4" - form-data "4.0.0" - -"@polywrap/logger-plugin-js@~0.12.0": - version "0.12.0" - resolved "https://registry.yarnpkg.com/@polywrap/logger-plugin-js/-/logger-plugin-js-0.12.0.tgz#e724bb5504336e4fbf1f0f9757cfe893f9bd5297" - integrity sha512-M6TXUSBTFRWLsTaT3gfNlqCRvrpgg60klD7g3zzEKeklkwy19TbcrkW2CVxfr0HZwiL1TVUuLBdDJc1sqE0A8g== - dependencies: - "@polywrap/core-js" "~0.12.0" - "@polywrap/plugin-js" "~0.12.0" - -"@polywrap/logging-js@0.11.2": - version "0.11.2" - resolved "https://registry.yarnpkg.com/@polywrap/logging-js/-/logging-js-0.11.2.tgz#b047ebba68b192c7ca7cd129c98a9af6501f91b1" - integrity sha512-+AFZfVHFRMtRTxZ7qO0gbqHffWE3/k8MlPNQPHY8ctfbaSvT6fuUaTQY4K26j8tttvnVf1OF/+7EHMwma0Qt0w== - -"@polywrap/msgpack-js@0.12.2", "@polywrap/msgpack-js@~0.12.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/msgpack-js/-/msgpack-js-0.12.2.tgz#27562f98a60e82b55f7d9147bc13feb346cf47de" - integrity sha512-FsdHLRFRSfjh+O6zsjX3G2VCBJQDswnKGQKtp8IckPe0PJ0gpu9NPEvCFS4FfbF+Kmw+A7tUDrZ2I4wsuZsb9g== - dependencies: - "@msgpack/msgpack" "2.7.2" - -"@polywrap/os-js@0.11.2": - version "0.11.2" - resolved "https://registry.yarnpkg.com/@polywrap/os-js/-/os-js-0.11.2.tgz#10b2aca36a9242e6acbeac3f652024905cb18eb4" - integrity sha512-D+LmabnRtK2LqIR7e7Gm0cpH1g38QSV/a+7iwsd0GKgzHpWKxc6u3Ms1YNe+4lNrCjnv6ghTyYyUaky7sBJZng== - -"@polywrap/plugin-js@0.12.2", "@polywrap/plugin-js@~0.12.0", "@polywrap/plugin-js@~0.12.0-pre.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/plugin-js/-/plugin-js-0.12.2.tgz#aca362a9992ac8ab619f171c08e876524ad35dac" - integrity sha512-8mJy5Dk1Np+cPoXKMWNuazxd2oMv/UKCOPFX0Sam3BqE9BtPbjXRUVG55vOtD6x+Ozhe3QIr83qXsfNOxNvLGw== - dependencies: - "@polywrap/core-js" "0.12.2" - "@polywrap/msgpack-js" "0.12.2" - "@polywrap/result" "0.12.2" - "@polywrap/tracing-js" "0.12.2" - "@polywrap/wrap-manifest-types-js" "0.12.2" - -"@polywrap/polywrap-manifest-schemas@0.11.2": - version "0.11.2" - resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-schemas/-/polywrap-manifest-schemas-0.11.2.tgz#0d9891cb42fe519c4387055c4947150cfe6f0385" - integrity sha512-u7jj9VFjbcVaKFGKi7u7YWL63RL0t4hhWDgZYZI+/RyipAIdEc4nJ9G7WGomm/nOm8mM/TYgR3B9+XX26QmqJQ== - -"@polywrap/polywrap-manifest-types-js@0.11.2": - version "0.11.2" - resolved "https://registry.yarnpkg.com/@polywrap/polywrap-manifest-types-js/-/polywrap-manifest-types-js-0.11.2.tgz#364abaf04e4b5765702729d289549b6cee63a4fe" - integrity sha512-HRvIgGP6lyJ9qC14TjF7SLLZzuZbzRUTqZIdzrmxxW420SnBtn+e0RKMdpjQDFknbZJCf4X6MUfUZagzYYy58g== - dependencies: - "@polywrap/logging-js" "0.11.2" - "@polywrap/polywrap-manifest-schemas" "0.11.2" - jsonschema "1.4.0" - semver "7.5.3" - yaml "2.2.2" - -"@polywrap/result@0.12.2", "@polywrap/result@~0.12.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/result/-/result-0.12.2.tgz#99ad60da087db4dd2ad760ba1bd27a752d4af45f" - integrity sha512-gcRUsWz3Qyd7CxWqrTTj1NCl2h74yI2lgqMlUfCn4TVdBmRqbyTe5iP+g+R/qs0qO0Ud8Sx0GAfbSuZfzClJ2g== - -"@polywrap/schema-bind@0.11.2": - version "0.11.2" - resolved "https://registry.yarnpkg.com/@polywrap/schema-bind/-/schema-bind-0.11.2.tgz#ebd9458abe0751ccd8dbef1ee76ce24be7a4d4b5" - integrity sha512-YWIOmKGHG7DKqKWfWU8SiTIsmB64xfuiHVcyP58IQ1FSUJXXTFAPGpMv3rtJimejTR4Chfye2prMJFgnJHDTnw== - dependencies: - "@polywrap/client-js" "~0.12.0" - "@polywrap/os-js" "0.11.2" - "@polywrap/schema-parse" "0.11.2" - "@polywrap/wrap-manifest-types-js" "~0.12.0" - mustache "4.0.1" - -"@polywrap/schema-compose@0.11.2": - version "0.11.2" - resolved "https://registry.yarnpkg.com/@polywrap/schema-compose/-/schema-compose-0.11.2.tgz#20c6138d9994d0d32d00d76b0f807ea97a2724e8" - integrity sha512-OcOF/a0Im8vmF3hbALxVnoh3ixsRdpwMxkH/wWFGsALkz1rZKFaJeGj+ALdklBOReVdcCjaSwl667NTiQT/QSA== - dependencies: - "@polywrap/schema-parse" "0.11.2" - "@polywrap/wrap-manifest-types-js" "~0.12.0" - graphql "15.5.0" - mustache "4.0.1" - -"@polywrap/schema-parse@0.11.2": - version "0.11.2" - resolved "https://registry.yarnpkg.com/@polywrap/schema-parse/-/schema-parse-0.11.2.tgz#73ed0898c4d2400a8faed7ae65f537a0b07018f7" - integrity sha512-UX4XMGS6RmwnMuDu6SQpfe5mUlk8TxlcMVNSPOKUb9b/+lKS7THNzTvgTMiO7yK3wwlhtPmB2BvWsFLnbE9BAg== - dependencies: - "@dorgjelli/graphql-schema-cycles" "1.1.4" - "@polywrap/wrap-manifest-types-js" "~0.12.0" - graphql "15.5.0" - -"@polywrap/sys-config-bundle-js@0.12.2", "@polywrap/sys-config-bundle-js@~0.12.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/sys-config-bundle-js/-/sys-config-bundle-js-0.12.2.tgz#6ad6f0d2f31c6668e7642801c0adcab22a4f654e" - integrity sha512-w6zewNacyXPO/LjmSyHqlkbtT8kq2BR0ydZTU1oO0SaeL08ua7FLe2H6v01vgqOCwHuwV2xsW0Y/neHHZx/cYw== - dependencies: - "@polywrap/concurrent-plugin-js" "~0.12.0" - "@polywrap/config-bundle-types-js" "0.12.2" - "@polywrap/datetime-plugin-js" "~0.12.0" - "@polywrap/file-system-plugin-js" "~0.12.0" - "@polywrap/http-plugin-js" "~0.12.0" - "@polywrap/logger-plugin-js" "~0.12.0" - "@polywrap/uri-resolver-extensions-js" "0.12.2" - base64-to-uint8array "1.0.0" - -"@polywrap/tracing-js@0.12.2": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/tracing-js/-/tracing-js-0.12.2.tgz#549e54af500c4ba3384107853db453cd14cc7960" - integrity sha512-nApKdEPvfWijCoyDuq6ib6rgo7iWJH09Nf8lF1dTBafj59C3dR7aqyOO4NH8znZAO1poeiG6rPqsrnLYGM9CMA== - dependencies: - "@fetsorn/opentelemetry-console-exporter" "0.0.3" - "@opentelemetry/api" "1.2.0" - "@opentelemetry/exporter-trace-otlp-http" "0.32.0" - "@opentelemetry/resources" "1.6.0" - "@opentelemetry/sdk-trace-base" "1.6.0" - "@opentelemetry/sdk-trace-web" "1.6.0" - -"@polywrap/uri-resolver-extensions-js@0.12.2", "@polywrap/uri-resolver-extensions-js@~0.12.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/uri-resolver-extensions-js/-/uri-resolver-extensions-js-0.12.2.tgz#b8b2a3714f8bf36da3cd8d560b0f77af1e54b2ea" - integrity sha512-WA1ythVxqviaQWPHmWVegeeXEstq/+WDWF3Xdkm1Hbrlb10rPSzL7iq4IH8Mz2jFfjtA5YTQoK+xtw55koWH5w== - dependencies: - "@polywrap/core-js" "0.12.2" - "@polywrap/result" "0.12.2" - "@polywrap/uri-resolvers-js" "0.12.2" - "@polywrap/wasm-js" "0.12.2" - "@polywrap/wrap-manifest-types-js" "0.12.2" - -"@polywrap/uri-resolvers-js@0.12.2", "@polywrap/uri-resolvers-js@~0.12.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/uri-resolvers-js/-/uri-resolvers-js-0.12.2.tgz#8c2393a56ae12445be171b8d8feeb803b114c32b" - integrity sha512-5J3unEYxEMMSI+2lHVs5SmvpSyAbDie7ZJgt2djL64+nOjisY8hBI/TBd2mCgrHy3fziE7DCZhA+d70ChtLCBg== - dependencies: - "@polywrap/core-js" "0.12.2" - "@polywrap/result" "0.12.2" - "@polywrap/wrap-manifest-types-js" "0.12.2" - -"@polywrap/wasm-js@0.12.2", "@polywrap/wasm-js@~0.12.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/wasm-js/-/wasm-js-0.12.2.tgz#c807d296b66c1fe12bd80ce482eb7aa4e14f08ec" - integrity sha512-x3Buycm0ZLSPL8nP+QlySwvrZPH30kyuYbl170oNCiwf4Hllv10/Dn8xSR2WAV583ZD4tI/xIYzz04NVdXABKQ== - dependencies: - "@polywrap/asyncify-js" "0.12.2" - "@polywrap/core-js" "0.12.2" - "@polywrap/msgpack-js" "0.12.2" - "@polywrap/result" "0.12.2" - "@polywrap/tracing-js" "0.12.2" - "@polywrap/wrap-manifest-types-js" "0.12.2" - -"@polywrap/web3-config-bundle-js@0.12.2", "@polywrap/web3-config-bundle-js@~0.12.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/web3-config-bundle-js/-/web3-config-bundle-js-0.12.2.tgz#87cd4b523a2df4f0debfa45e0b9c18c3116e9931" - integrity sha512-sY2cFw8TBXrIxXI8U50cSBwTzudsVVMztieA0hMIBw6XkEmFLGncn7RMnNJ5SBU8Cs+RFbwi9KATgNWQi5GKrQ== - dependencies: - "@polywrap/config-bundle-types-js" "0.12.2" - "@polywrap/ethereum-wallet-js" "~0.1.0" - "@polywrap/sys-config-bundle-js" "0.12.2" - "@polywrap/uri-resolver-extensions-js" "0.12.2" - "@polywrap/wasm-js" "0.12.2" - base64-to-uint8array "1.0.0" - -"@polywrap/wrap-manifest-types-js@0.12.2", "@polywrap/wrap-manifest-types-js@~0.12.0": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@polywrap/wrap-manifest-types-js/-/wrap-manifest-types-js-0.12.2.tgz#c27f5f320b53de6744cfc2344bb90a1e6ff9e8d6" - integrity sha512-YlOCK1V0fFitunWvsRrQFiQMPETARLMd/d/iCeubkUzIh4TUr2gEtHbc8n2C9FYUFa4zLcY84mKfdDSyTf49jw== - dependencies: - "@polywrap/msgpack-js" "0.12.2" - ajv "8.12.0" - semver "~7.5.4" - -"@types/json-schema@^7.0.6": - version "7.0.12" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.12.tgz#d70faba7039d5fca54c83c7dbab41051d2b6f6cb" - integrity sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA== - -"@types/node@*": - version "20.5.7" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.5.7.tgz#4b8ecac87fbefbc92f431d09c30e176fc0a7c377" - integrity sha512-dP7f3LdZIysZnmvP3ANJYTSwg+wLLl8p7RqniVlV7j+oXSXAbt9h0WIBFmJy5inWZoX9wZN6eXx+YXd9Rh3RBA== - -"@types/yauzl@^2.9.1": - version "2.10.0" - resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.10.0.tgz#b3248295276cf8c6f153ebe6a9aba0c988cb2599" - integrity sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw== - dependencies: - "@types/node" "*" - -aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== - -ajv@8.12.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -anymatch@~3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - -at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - -axios@0.21.2: - version "0.21.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.2.tgz#21297d5084b2aeeb422f5d38e7be4fbb82239017" - integrity sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg== - dependencies: - follow-redirects "^1.14.0" - -axios@0.21.4: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base-x@^3.0.8: - version "3.0.9" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" - integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== - dependencies: - safe-buffer "^5.0.1" - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -base64-to-uint8array@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/base64-to-uint8array/-/base64-to-uint8array-1.0.0.tgz#725f9e9886331b43785cadd807e76803d5494e05" - integrity sha512-drjWQcees55+XQSVHYxiUF05Fj6ko3XJUoxykZEXbm0BMmNz2ieWiZGJ+6TFWnjN2saucG6pI13LS92O4kaiAg== - -bech32@1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -bn.js@^4.11.9: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - -bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - -buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - -buffer@^5.5.0, buffer@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -call-me-maybe@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa" - integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== - -chalk@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.0.tgz#4e14870a618d9e2edd97dd8345fd9d9dc315646a" - integrity sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chokidar@3.5.1: - version "3.5.1" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.1.tgz#ee9ce7bbebd2b79f49f304799d5468e31e14e68a" - integrity sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw== - dependencies: - anymatch "~3.1.1" - braces "~3.0.2" - glob-parent "~5.1.0" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.5.0" - optionalDependencies: - fsevents "~2.3.1" - -cids@^0.7.1: - version "0.7.5" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" - integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== - dependencies: - buffer "^5.5.0" - class-is "^1.1.0" - multibase "~0.6.0" - multicodec "^1.0.0" - multihashes "~0.4.15" - -class-is@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" - integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== - -cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -combined-stream@^1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - -commander@9.2.0: - version "9.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-9.2.0.tgz#6e21014b2ed90d8b7c9647230d8b7a94a4a419a9" - integrity sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -content-hash@2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" - integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== - dependencies: - cids "^0.7.1" - multicodec "^0.5.5" - multihashes "^0.4.15" - -copyfiles@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.4.1.tgz#d2dcff60aaad1015f09d0b66e7f0f1c5cd3c5da5" - integrity sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg== - dependencies: - glob "^7.0.5" - minimatch "^3.0.3" - mkdirp "^1.0.4" - noms "0.0.0" - through2 "^2.0.1" - untildify "^4.0.0" - yargs "^16.1.0" - -core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - -cross-spawn@^7.0.0: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -debug@^4.1.1: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - -docker-compose@0.23.17: - version "0.23.17" - resolved "https://registry.yarnpkg.com/docker-compose/-/docker-compose-0.23.17.tgz#8816bef82562d9417dc8c790aa4871350f93a2ba" - integrity sha512-YJV18YoYIcxOdJKeFcCFihE6F4M2NExWM/d4S1ITcS9samHKnNUihz9kjggr0dNtsrbpFNc7/Yzd19DWs+m1xg== - dependencies: - yaml "^1.10.2" - -elliptic@6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -end-of-stream@^1.1.0: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - -ethers@5.7.0: - version "5.7.0" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.0.tgz#0055da174b9e076b242b8282638bc94e04b39835" - integrity sha512-5Xhzp2ZQRi0Em+0OkOcRHxPzCfoBfgtOQA+RUylSkuHbhTEaQklnYi2hsWbRgs3ztJsXVXd9VKBcO1ScWL8YfA== - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.0" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.0" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.0" - "@ethersproject/wordlists" "5.7.0" - -execa@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-4.1.0.tgz#4e5491ad1572f2f17a77d388c6c857135b22847a" - integrity sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA== - dependencies: - cross-spawn "^7.0.0" - get-stream "^5.0.0" - human-signals "^1.1.1" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.0" - onetime "^5.1.0" - signal-exit "^3.0.2" - strip-final-newline "^2.0.0" - -extract-zip@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a" - integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg== - dependencies: - debug "^4.1.1" - get-stream "^5.1.0" - yauzl "^2.10.0" - optionalDependencies: - "@types/yauzl" "^2.9.1" - -fast-deep-equal@^3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - -fast-memoize@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/fast-memoize/-/fast-memoize-2.5.2.tgz#79e3bb6a4ec867ea40ba0e7146816f6cdce9b57e" - integrity sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw== - -fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -follow-redirects@^1.14.0: - version "1.15.2" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== - -form-data@4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - -fs-extra@9.0.1: - version "9.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" - integrity sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^1.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.1: - version "2.3.3" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" - integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== - -get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - -get-stream@^5.0.0, get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - -glob-parent@~5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^7.0.5, glob@^7.1.3: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -graceful-fs@^4.1.6, graceful-fs@^4.2.0: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - -graphql-json-transform@^1.1.0-alpha.0: - version "1.1.0-alpha.0" - resolved "https://registry.yarnpkg.com/graphql-json-transform/-/graphql-json-transform-1.1.0-alpha.0.tgz#fb0c88d24840067e6c55ac64bbc8d4e5de245d2d" - integrity sha512-I6lR/lYEezSz4iru0f7a/wR8Rzi3pCafk7S0bX2b/WQOtK0vKabxLShGBXIslsi0arMehIjvOPHJl7MpOUqj0w== - -graphql@15.5.0: - version "15.5.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.5.0.tgz#39d19494dbe69d1ea719915b578bf920344a69d5" - integrity sha512-OmaM7y0kaK31NKG31q4YbD2beNYa6jBBKtMFT6gLYJljHLJr42IqJ8KX08u3Li/0ifzTU5HjmoOOrwa5BRLeDA== - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - -hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - -human-signals@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-1.1.1.tgz#c5b1cd14f50aeae09ab6c59fe63ba3395fe4dfa3" - integrity sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw== - -ieee754@^1.1.13: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -intl-messageformat-parser@6.4.2: - version "6.4.2" - resolved "https://registry.yarnpkg.com/intl-messageformat-parser/-/intl-messageformat-parser-6.4.2.tgz#e2d28c3156c27961ead9d613ca55b6a155078d7d" - integrity sha512-IVNGy24lNEYr/KPWId5tF3KXRHFFbMgzIMI4kUonNa/ide2ywUYyBuOUro1IBGZJqjA2ncBVUyXdYKlMfzqpAA== - dependencies: - "@formatjs/ecma402-abstract" "1.6.2" - tslib "^2.1.0" - -intl-messageformat@9.5.2: - version "9.5.2" - resolved "https://registry.yarnpkg.com/intl-messageformat/-/intl-messageformat-9.5.2.tgz#e72d32152c760b7411e413780e462909987c005a" - integrity sha512-sBGXcSQLyBuBA/kzAYhTpzhzkOGfSwGIau2W6FuwLZk0JE+VF3C+y0077FhVDOcRSi60iSfWzT8QC3Z7//dFxw== - dependencies: - fast-memoize "^2.5.2" - intl-messageformat-parser "6.4.2" - tslib "^2.1.0" - -invert-kv@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-3.0.1.tgz#a93c7a3d4386a1dc8325b97da9bb1620c0282523" - integrity sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-stream@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - -isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - -isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -js-sha3@0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - -jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - -jsonschema@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" - integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== - -lcid@^3.0.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-3.1.1.tgz#9030ec479a058fc36b5e8243ebaac8b6ac582fd0" - integrity sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg== - dependencies: - invert-kv "^3.0.0" - -lodash.merge@4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -map-age-cleaner@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - -mem@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/mem/-/mem-5.1.1.tgz#7059b67bf9ac2c924c9f1cff7155a064394adfb3" - integrity sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw== - dependencies: - map-age-cleaner "^0.1.3" - mimic-fn "^2.1.0" - p-is-promise "^2.1.0" - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.12: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - -minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - -minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - -minimatch@^3.0.3, minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -multibase@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" - integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multibase@~0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" - integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - -multicodec@^0.5.5: - version "0.5.7" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" - integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== - dependencies: - varint "^5.0.0" - -multicodec@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" - integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== - dependencies: - buffer "^5.6.0" - varint "^5.0.0" - -multihashes@^0.4.15, multihashes@~0.4.15: - version "0.4.21" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" - integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== - dependencies: - buffer "^5.5.0" - multibase "^0.7.0" - varint "^5.0.0" - -mustache@4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.0.1.tgz#d99beb031701ad433338e7ea65e0489416c854a2" - integrity sha512-yL5VE97+OXn4+Er3THSmTdCFCtx5hHWzrolvH+JObZnUYwuaG7XV+Ch4fR2cIrcYI0tFHxS7iyFYl14bW8y2sA== - -noms@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" - integrity sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow== - dependencies: - inherits "^2.0.1" - readable-stream "~1.0.31" - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -npm-run-path@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^5.1.0: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - -os-locale@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-5.0.0.tgz#6d26c1d95b6597c5d5317bf5fba37eccec3672e0" - integrity sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA== - dependencies: - execa "^4.0.0" - lcid "^3.0.0" - mem "^5.0.0" - -p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw== - -p-is-promise@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -polywrap@0.11.2: - version "0.11.2" - resolved "https://registry.yarnpkg.com/polywrap/-/polywrap-0.11.2.tgz#ada70dbafb26696744ca38b3fe52adee77833dca" - integrity sha512-43rGZNf3AiJr2UKL5gaRitNQNrN6hVOdRVx/Jxsl5NlgFWRJsVpb+A7ADwfXRVlAObJSavlYgs1B+Bgdu67A+A== - dependencies: - "@apidevtools/json-schema-ref-parser" "9.0.9" - "@ethersproject/providers" "5.6.8" - "@ethersproject/wallet" "5.6.2" - "@formatjs/intl" "1.8.2" - "@polywrap/asyncify-js" "~0.12.0" - "@polywrap/client-config-builder-js" "~0.12.0" - "@polywrap/client-js" "~0.12.0" - "@polywrap/core-js" "~0.12.0" - "@polywrap/ethereum-wallet-js" "~0.1.0" - "@polywrap/logging-js" "0.11.2" - "@polywrap/os-js" "0.11.2" - "@polywrap/polywrap-manifest-types-js" "0.11.2" - "@polywrap/result" "~0.12.0" - "@polywrap/schema-bind" "0.11.2" - "@polywrap/schema-compose" "0.11.2" - "@polywrap/schema-parse" "0.11.2" - "@polywrap/sys-config-bundle-js" "~0.12.0" - "@polywrap/uri-resolver-extensions-js" "~0.12.0" - "@polywrap/uri-resolvers-js" "~0.12.0" - "@polywrap/wasm-js" "~0.12.0" - "@polywrap/web3-config-bundle-js" "~0.12.0" - "@polywrap/wrap-manifest-types-js" "~0.12.0" - axios "0.21.2" - chalk "4.1.0" - chokidar "3.5.1" - commander "9.2.0" - content-hash "2.5.2" - copyfiles "2.4.1" - docker-compose "0.23.17" - extract-zip "2.0.1" - form-data "4.0.0" - fs-extra "9.0.1" - json-schema "0.4.0" - jsonschema "1.4.0" - mustache "4.0.1" - os-locale "5.0.0" - regex-parser "2.2.11" - rimraf "3.0.2" - toml "3.0.0" - typescript "4.9.5" - yaml "2.2.2" - yesno "0.4.0" - -process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - -readable-stream@~1.0.31: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - -readable-stream@~2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - -readdirp@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.5.0.tgz#9ba74c019b15d365278d2e91bb8c48d7b4d42c9e" - integrity sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ== - dependencies: - picomatch "^2.2.1" - -regex-parser@2.2.11: - version "2.2.11" - resolved "https://registry.yarnpkg.com/regex-parser/-/regex-parser-2.2.11.tgz#3b37ec9049e19479806e878cabe7c1ca83ccfe58" - integrity sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q== - -require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -rimraf@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -safe-buffer@^5.0.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - -scrypt-js@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - -semver@7.5.3: - version "7.5.3" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.3.tgz#161ce8c2c6b4b3bdca6caadc9fa3317a4c4fe88e" - integrity sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ== - dependencies: - lru-cache "^6.0.0" - -semver@~7.5.4: - version "7.5.4" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -signal-exit@^3.0.2: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -string-width@^4.1.0, string-width@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== - -string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -through2@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -toml@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/toml/-/toml-3.0.0.tgz#342160f1af1904ec9d204d03a5d61222d762c5ee" - integrity sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== - -tslib@^2.1.0: - version "2.6.2" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -typescript@4.9.5: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== - -universalify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-1.0.0.tgz#b61a1da173e8435b2fe3c67d29b9adf8594bd16d" - integrity sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug== - -universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - -untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -varint@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" - integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== - -which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - -xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yaml@2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.2.2.tgz#ec551ef37326e6d42872dad1970300f8eb83a073" - integrity sha512-CBKFWExMn46Foo4cldiChEzn7S7SRV+wqiluAb6xmueD/fGyRHIhX8m14vVGgeFWjN540nKCNVj6P21eQjgTuA== - -yaml@^1.10.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - -yargs@^16.1.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - -yauzl@^2.10.0: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - -yesno@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/yesno/-/yesno-0.4.0.tgz#5d674f14d339f0bd4b0edc47f899612c74fcd895" - integrity sha512-tdBxmHvbXPBKYIg81bMCB7bVeDmHkRzk5rVJyYYXurwKkHq/MCd8rz4HSJUP7hW0H2NlXiq8IFiWvYKEHhlotA== diff --git a/packages/templates/app/typescript/polywrap.graphql b/packages/templates/app/typescript/polywrap.graphql index 2b89a5497f..c3cbb1978c 100644 --- a/packages/templates/app/typescript/polywrap.graphql +++ b/packages/templates/app/typescript/polywrap.graphql @@ -1,2 +1,2 @@ -#import * into Logging from "ens/wraps.eth:logging@1.0.0" -#import * into Ethereum from "ens/wraps.eth:ethereum@1.0.0" +#import * into Logging from "wrapscan.io/polywrap/logging@1" +#import * into Ethers from "wrapscan.io/polywrap/ethers@1.0" diff --git a/packages/templates/app/typescript/polywrap.yaml b/packages/templates/app/typescript/polywrap.yaml index afdcc11066..30359bd90a 100644 --- a/packages/templates/app/typescript/polywrap.yaml +++ b/packages/templates/app/typescript/polywrap.yaml @@ -1,4 +1,4 @@ -format: 0.3.0 +format: 0.4.0 project: name: Sample type: app/typescript diff --git a/packages/templates/app/typescript/src/index.ts b/packages/templates/app/typescript/src/index.ts index 2be1e31db6..1d3c1aade5 100644 --- a/packages/templates/app/typescript/src/index.ts +++ b/packages/templates/app/typescript/src/index.ts @@ -1,4 +1,4 @@ -import { Ethereum, Logging } from "./wrap"; +import { Ethers, Logging } from "./wrap"; async function main() { console.log("Invoking: Logging.info(...)"); @@ -19,7 +19,7 @@ async function main() { console.log("Invoking: Ethereum.encodeParams(...)"); - const eth = new Ethereum(); + const eth = new Ethers(); const result = await eth.encodeParams({ types: ["address", "uint256"], @@ -27,7 +27,7 @@ async function main() { }); if (result.ok) { - console.log(`Ethereum.encodeParams:\n${result.value}`); + console.log(`Ethers.encodeParams:\n${result.value}`); } else { console.log(`Error - Ethereum.encodeParams:\n${result.error}`); } diff --git a/packages/templates/plugin/python/package.json b/packages/templates/plugin/python/package.json index d1250a0da8..dd948a1b27 100644 --- a/packages/templates/plugin/python/package.json +++ b/packages/templates/plugin/python/package.json @@ -1,7 +1,6 @@ { "name": "templates-plugin-python", "private": true, - "version": "0.11.3", "scripts": { "build": "npx polywrap codegen", "test": "poetry run pytest" diff --git a/packages/templates/plugin/python/pyproject.toml b/packages/templates/plugin/python/pyproject.toml index d53296a0d3..225172f77f 100644 --- a/packages/templates/plugin/python/pyproject.toml +++ b/packages/templates/plugin/python/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "poetry.core.masonry.api" [tool.poetry] name = "sample" version = "0.1.0" -description = "" +description = "Sample Polywrap plugin" authors = ["Niraj "] readme = "README.md" diff --git a/packages/templates/plugin/rust/package.json b/packages/templates/plugin/rust/package.json index 36698a1ee2..e4d862cdd0 100644 --- a/packages/templates/plugin/rust/package.json +++ b/packages/templates/plugin/rust/package.json @@ -1,7 +1,6 @@ { "name": "templates-plugin-rust", "private": true, - "version": "0.11.3", "dependencies": { "polywrap": "0.11.3" } diff --git a/packages/templates/polywrap.wasm-typescript-linked.yaml b/packages/templates/polywrap.wasm-typescript-linked.yaml new file mode 100644 index 0000000000..ed4ab92a64 --- /dev/null +++ b/packages/templates/polywrap.wasm-typescript-linked.yaml @@ -0,0 +1,7 @@ +format: 0.5.0 +project: + name: ts-wrap-template + type: wasm/typescript +source: + schema: ./polywrap.graphql + module: ./src/index.ts diff --git a/packages/templates/tests.spec.ts b/packages/templates/tests.spec.ts index b7b6b381b1..15621d6978 100644 --- a/packages/templates/tests.spec.ts +++ b/packages/templates/tests.spec.ts @@ -34,6 +34,11 @@ describe("Templates", () => { build: "yarn build", test: "yarn test", }, + "wasm/typescript": { + codegen: "yarn codegen", + build: "yarn build", + test: "yarn test", + }, "plugin/rust": { codegen: "npx polywrap codegen", build: "cargo build", @@ -103,7 +108,11 @@ describe("Templates", () => { beforeAll(() => { // Copy test configs - if (projectType === "wasm" && language !== "interface" && language !== "golang") { + if ( + projectType === "wasm" && + language !== "interface" && + language !== "golang" + ) { execSync( `cp ${rootDir}/polywrap.${projectType}-${language}-linked* ${rootDir}/${projectType}/${language}/` ); diff --git a/packages/templates/wasm/typescript/.gitignore b/packages/templates/wasm/typescript/.gitignore new file mode 100644 index 0000000000..94ea4a0d5b --- /dev/null +++ b/packages/templates/wasm/typescript/.gitignore @@ -0,0 +1,12 @@ +node_modules +build +yarn-error.log +coverage +.vscode +*.log +.polywrap +.DS_Store +src/wrap +report.* +.env +bundled \ No newline at end of file diff --git a/packages/templates/wasm/typescript/README.md b/packages/templates/wasm/typescript/README.md new file mode 100644 index 0000000000..5936379ebf --- /dev/null +++ b/packages/templates/wasm/typescript/README.md @@ -0,0 +1 @@ +# TS Wrap Template diff --git a/packages/templates/wasm/typescript/jest.config.js b/packages/templates/wasm/typescript/jest.config.js new file mode 100644 index 0000000000..4a4c022f7b --- /dev/null +++ b/packages/templates/wasm/typescript/jest.config.js @@ -0,0 +1,15 @@ +module.exports = { + collectCoverage: false, + preset: "ts-jest", + testEnvironment: "node", + testMatch: ["**/__tests__/**/?(*.)+(spec|test).[jt]s?(x)"], + globals: { + "ts-jest": { + tsconfig: "tsconfig.json", + diagnostics: false, + }, + }, + testPathIgnorePatterns: [ + "/.polywrap/" + ], +}; diff --git a/packages/templates/wasm/typescript/package.json b/packages/templates/wasm/typescript/package.json new file mode 100644 index 0000000000..9775505f8a --- /dev/null +++ b/packages/templates/wasm/typescript/package.json @@ -0,0 +1,28 @@ +{ + "name": "template-wasm-ts", + "description": "", + "private": true, + "version": "0.11.2", + "main": "build/index.js", + "scripts": { + "bundle": "rollup -c", + "codegen": "polywrap codegen --verbose", + "build": "yarn bundle && npx polywrap build --no-codegen", + "test": "jest --passWithNoTests --runInBand --verbose", + "deploy": "polywrap deploy" + }, + "dependencies": { + "tslib": "^2.6.2" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^25.0.4", + "@rollup/plugin-node-resolve": "^15.2.0", + "@rollup/plugin-terser": "^0.4.3", + "@rollup/plugin-typescript": "^11.1.2", + "@types/jest": "26.0.8", + "jest": "26.6.3", + "polywrap": "~0.11.3", + "rollup": "^3.28.0", + "typescript": "^5.1.6" + } +} diff --git a/packages/templates/wasm/typescript/polywrap.build.yaml b/packages/templates/wasm/typescript/polywrap.build.yaml new file mode 100644 index 0000000000..4bdc6dc166 --- /dev/null +++ b/packages/templates/wasm/typescript/polywrap.build.yaml @@ -0,0 +1,3 @@ +format: 0.3.0 +config: + scriptFile: ./bundled/wrap.js \ No newline at end of file diff --git a/packages/templates/wasm/typescript/polywrap.graphql b/packages/templates/wasm/typescript/polywrap.graphql new file mode 100644 index 0000000000..a527c058c2 --- /dev/null +++ b/packages/templates/wasm/typescript/polywrap.graphql @@ -0,0 +1,3 @@ +type Module { + foo(bar: String!): String! +} diff --git a/packages/templates/wasm/typescript/polywrap.yaml b/packages/templates/wasm/typescript/polywrap.yaml new file mode 100644 index 0000000000..8df1debb95 --- /dev/null +++ b/packages/templates/wasm/typescript/polywrap.yaml @@ -0,0 +1,7 @@ +format: 0.5.0 +project: + name: ts-wrap-template + type: wasm/typescript +source: + schema: ./polywrap.graphql + module: ./bundled/wrap.js diff --git a/packages/templates/wasm/typescript/rollup.config.mjs b/packages/templates/wasm/typescript/rollup.config.mjs new file mode 100644 index 0000000000..f89156e9a8 --- /dev/null +++ b/packages/templates/wasm/typescript/rollup.config.mjs @@ -0,0 +1,21 @@ +import typescript from "@rollup/plugin-typescript"; +import resolve from "@rollup/plugin-node-resolve"; +import commonjs from "@rollup/plugin-commonjs"; +import terser from "@rollup/plugin-terser"; +import shims from "./shims.js"; + +export default { + input: "src/wrap/entry.ts", + output: { + file: "bundled/wrap.js", + format: "cjs", + }, + plugins: [ + typescript(), + resolve(), + commonjs(), + shims(), + terser() + ], + treeshake: false, +}; diff --git a/packages/templates/wasm/typescript/shims.js b/packages/templates/wasm/typescript/shims.js new file mode 100644 index 0000000000..0e8d008b65 --- /dev/null +++ b/packages/templates/wasm/typescript/shims.js @@ -0,0 +1,253 @@ +const packagesShim = +` +// HACK: This is a hack because undefined, null, and functions are not supported by the JS Engine +function clean(obj, root = true) { + if (obj === undefined) { + return root ? "undefined" : undefined; + } else if (obj === null) { + return root ? "null" : undefined; + } else if (Array.isArray(obj)) { + return obj.map(x => clean(x, false)).filter(x => x !== undefined); + } else if (obj instanceof Error) { + return { message: obj.message }; + } else if (typeof obj === 'function') { + return root ? "function" : undefined; + } else if (typeof obj !== 'object') { + return obj; + } + + for (let key in obj) { + let value = clean(obj[key], false); + if (value === undefined) { + delete obj[key]; + } else { + obj[key] = value; + } + } + return obj; +} + +const console = { + log: function(...args) { + __wrap_subinvoke("plugin/console", "log", { args: clean(args) }); + }, + error: function(...args) { + __wrap_subinvoke("plugin/console", "error", { args: clean(args) }); + }, +}; + +function require(lib) { + function wrap(objName, obj) { + const origin = {}; + return new Proxy(origin, { + get(_, name) { + if (obj[name]) { + return obj[name]; + } else { + throw new Error(\`No method \${name} in \${objName}\`); + } + }, + }); + } + + const fs = { + readFileSync: (path) => { + return __wrap_subinvoke("plugin/fs", "readFileSync", clean({ path })).value; + }, + readFile: (...args) => { + const callback = args[args.length - 1]; + const result = __wrap_subinvoke("plugin/fs", "readFileSync", clean({ path: args[0] })); + callback && callback(result.error ? new Error(result.error) : undefined, result.value); + }, + writeFileSync: (path, data) => { + return __wrap_subinvoke("plugin/fs", "writeFileSync", clean({ path, data })).value; + }, + writeFile: (...args) => { + const callback = args[args.length - 1]; + const result = __wrap_subinvoke("plugin/fs", "writeFileSync", clean({ path: args[0], data: args[1] })); + callback && callback(result.error ? new Error(result.error) : undefined, result.value); + }, + appendFileSync: (path, data) => { + return __wrap_subinvoke("plugin/fs", "appendFileSync", clean({ path, data })).value; + }, + appendFile: (...args) => { + const callback = args[args.length - 1]; + const result = __wrap_subinvoke("plugin/fs", "appendFileSync", clean({ path: args[0], data: args[1] })); + callback && callback(result.error ? new Error(result.error) : undefined, result.value); + }, + existsSync: (path) => { + return __wrap_subinvoke("plugin/fs", "existsSync", clean({ path })).value; + }, + exists: (...args) => { + const callback = args[args.length - 1]; + const result = __wrap_subinvoke("plugin/fs", "existsSync", clean({ path: args[0] })); + callback && callback(result.error ? new Error(result.error) : undefined, result.value); + }, + renameSync: (oldPath, newPath) => { + return __wrap_subinvoke("plugin/fs", "renameSync", clean({ oldPath, newPath })).value; + }, + rename: (...args) => { + const callback = args[args.length - 1]; + const result = __wrap_subinvoke("plugin/fs", "renameSync", clean({ oldPath: args[0], newPath: args[1] })); + callback && callback(result.error ? new Error(result.error) : undefined, result.value); + }, + mkdirSync: (path) => { + return __wrap_subinvoke("plugin/fs", "mkdirSync", clean({ path })).value; + }, + mkdir: (...args) => { + const callback = args[args.length - 1]; + const result = __wrap_subinvoke("plugin/fs", "mkdirSync", clean({ path: args[0] })); + callback && callback(result.error ? new Error(result.error) : undefined, result.value); + }, + readdirSync: (path) => { + return __wrap_subinvoke("plugin/fs", "readdirSync", clean({ path })).value; + }, + readdir: (...args) => { + const callback = args[args.length - 1]; + const result = __wrap_subinvoke("plugin/fs", "readdirSync", clean({ path: args[0] })); + callback && callback(result.error ? new Error(result.error) : undefined, result.value); + }, + }; + + const fsPromises = { + readFile: (path) => { + return Promise.resolve(fs.readFileSync(path)); + }, + writeFile: (path, data) => { + return Promise.resolve(fs.writeFileSync(path, data)); + }, + appendFile: (path, data) => { + return Promise.resolve(fs.appendFileSync(path, data)); + }, + exists: (path) => { + return Promise.resolve(fs.existsSync(path)); + }, + rename: (oldPath, newPath) => { + return Promise.resolve(fs.renameSync(oldPath, newPath)); + }, + mkdir: (path) => { + return Promise.resolve(fs.mkdirSync(path)); + }, + readdir: (path) => { + return Promise.resolve(fs.readdirSync(path)); + } + }; + + const axios = { + get: (url, config) => { + return Promise.resolve(__wrap_subinvoke("plugin/axios", "get", clean({ url, config })).value); + }, + post: (url, data, config) => { + return Promise.resolve(__wrap_subinvoke("plugin/axios", "post", clean({ url, data, config })).value); + }, + put: (url, data, config) => { + return Promise.resolve(__wrap_subinvoke("plugin/axios", "put", clean({ url, data, config })).value); + }, + delete: (url, config) => { + return Promise.resolve(__wrap_subinvoke("plugin/axios", "delete", clean({ url, config })).value); + }, + head: (url, config) => { + return Promise.resolve(__wrap_subinvoke("plugin/axios", "head", clean({ url, config })).value); + }, + }; + + const util = (function() { + const exports = {}; + + var getOwnPropertyDescriptors = + function getOwnPropertyDescriptors(obj) { + var keys = Object.keys(obj); + var descriptors = {}; + for (var i = 0; i < keys.length; i++) { + descriptors[keys[i]] = Object.getOwnPropertyDescriptor(obj, keys[i]); + } + return descriptors; + }; + + var kCustomPromisifiedSymbol = undefined; + + exports.promisify = function promisify(original) { + if (typeof original !== 'function') + throw new TypeError('The "original" argument must be of type Function'); + + if (kCustomPromisifiedSymbol && original[kCustomPromisifiedSymbol]) { + var fn = original[kCustomPromisifiedSymbol]; + if (typeof fn !== 'function') { + throw new TypeError('The "util.promisify.custom" argument must be of type Function'); + } + Object.defineProperty(fn, kCustomPromisifiedSymbol, { + value: fn, enumerable: false, writable: false, configurable: true + }); + return fn; + } + + function fn() { + var promiseResolve, promiseReject; + var promise = new Promise(function (resolve, reject) { + promiseResolve = resolve; + promiseReject = reject; + }); + + var args = []; + for (var i = 0; i < arguments.length; i++) { + args.push(arguments[i]); + } + args.push(function (err, value) { + if (err) { + promiseReject(err); + } else { + promiseResolve(value); + } + }); + + try { + original.apply(this, args); + } catch (err) { + promiseReject(err); + } + + return promise; + } + + Object.setPrototypeOf(fn, Object.getPrototypeOf(original)); + + if (kCustomPromisifiedSymbol) Object.defineProperty(fn, kCustomPromisifiedSymbol, { + value: fn, enumerable: false, writable: false, configurable: true + }); + return Object.defineProperties( + fn, + getOwnPropertyDescriptors(original) + ); + } + + return exports; + })(); + + switch (lib) { + case "fs": + return wrap("fs", { + ...fs, + promises: fsPromises, + }); + case "util": + return wrap("util", util); + case "axios": + return wrap("axios", axios); + default: + throw new Error(\`Cannot do require('\${lib}'), '\${lib}' is an unknown import.\`); + } +} +`; + +const wrapCode = (code) => { + return `${packagesShim}\nconst __temp = (function () { \n${code}\n return __main(); })();\nclean(__temp)` +} + +module.exports = () => { + return { + name: 'wrap-shims', + renderChunk(code) { + return `${wrapCode(code)}`; + }, + } +} \ No newline at end of file diff --git a/packages/templates/wasm/typescript/src/__tests__/integration.spec.ts b/packages/templates/wasm/typescript/src/__tests__/integration.spec.ts new file mode 100644 index 0000000000..5793310246 --- /dev/null +++ b/packages/templates/wasm/typescript/src/__tests__/integration.spec.ts @@ -0,0 +1,22 @@ +import { PolywrapClient } from "@polywrap/client-js"; +import path from "path"; + +jest.setTimeout(60000); + +describe("Template Wrapper End to End Tests", () => { + + const client: PolywrapClient = new PolywrapClient(); + let wrapUri = `file://${path.join(__dirname, "../../build")}`; + + it("invoke foo", async () => { + const result = await client.invoke({ + uri: wrapUri, + method: "foo", + args: { bar: "bar" } + }); + + expect(result.ok).toBeFalsy(); + if (result.ok) return; + expect(result.error?.toString()).toContain("Not implemented"); + }); +}); diff --git a/packages/templates/wasm/typescript/src/index.ts b/packages/templates/wasm/typescript/src/index.ts new file mode 100644 index 0000000000..fb25fe8ea7 --- /dev/null +++ b/packages/templates/wasm/typescript/src/index.ts @@ -0,0 +1,7 @@ +import { Args_foo, ModuleBase } from "./wrap"; + +export class Module extends ModuleBase { + foo(args: Args_foo): string { + throw new Error("Not implemented"); + } +} diff --git a/packages/templates/wasm/typescript/tsconfig.json b/packages/templates/wasm/typescript/tsconfig.json new file mode 100644 index 0000000000..bcd39950ad --- /dev/null +++ b/packages/templates/wasm/typescript/tsconfig.json @@ -0,0 +1,29 @@ +{ + "compilerOptions": { + "esModuleInterop": true, + "lib": ["es2020"], + "importHelpers": true, + "downlevelIteration": true, + "experimentalDecorators": true, + "moduleResolution": "node", + "declaration": false, + "preserveSymlinks": true, + "preserveWatchOutput": true, + "pretty": false, + "forceConsistentCasingInFileNames": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": true, + "noImplicitReturns": true, + "noUnusedLocals": true, + "sourceMap": true, + "outDir": "build", + "module": "ESNext", + "target": "ESNext", + "resolveJsonModule": true, + "strictNullChecks": true, + }, + "include": ["./src/**/*.ts"], + "exclude": [ + "./src/__tests__/**/*.ts" + ] +} diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/env_test_import__env_serialization.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/env_test_import__env_serialization.go index 1020a49736..687b1e7061 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/env_test_import__env_serialization.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/env_test_import__env_serialization.go @@ -143,89 +143,109 @@ func readTestImport_Env(reader msgpack.Read) *TestImport_Env { switch field { case "object": reader.Context().Push(field, "TestImport_AnotherObject", "type found, reading property") + var ( value TestImport_AnotherObject ) if v := TestImport_AnotherObjectRead(reader); v != nil { - _object = *v + value = *v } + _object = value _objectSet = true reader.Context().Pop() case "optObject": reader.Context().Push(field, "*TestImport_AnotherObject", "type found, reading property") + var ( value *TestImport_AnotherObject ) + value = nil if v := TestImport_AnotherObjectRead(reader); v != nil { - _optObject = v + value = v } + _optObject = value reader.Context().Pop() case "objectArray": reader.Context().Push(field, "[]TestImport_AnotherObject", "type found, reading property") + var ( value []TestImport_AnotherObject ) if reader.IsNil() { - _objectArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _objectArray = make([]TestImport_AnotherObject, ln0) + value = make([]TestImport_AnotherObject, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if v := TestImport_AnotherObjectRead(reader); v != nil { - _objectArray[i0] = *v + value[i0] = *v } } } + _objectArray = value _objectArraySet = true reader.Context().Pop() case "optObjectArray": reader.Context().Push(field, "[]*TestImport_AnotherObject", "type found, reading property") + var ( value []*TestImport_AnotherObject ) + value = nil if reader.IsNil() { - _optObjectArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _optObjectArray = make([]*TestImport_AnotherObject, ln0) + value = make([]*TestImport_AnotherObject, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if v := TestImport_AnotherObjectRead(reader); v != nil { - _optObjectArray[i0] = v + value[i0] = v } } } + _optObjectArray = value reader.Context().Pop() case "en": reader.Context().Push(field, "TestImport_Enum", "type found, reading property") - _en = TestImport_Enum(reader.ReadI32()) - SanitizeTestImport_EnumValue(int32(_en)) + var ( value TestImport_Enum ) + value = TestImport_Enum(reader.ReadI32()) + SanitizeTestImport_EnumValue(int32(value)) + _en = value _enSet = true reader.Context().Pop() case "optEnum": reader.Context().Push(field, "*TestImport_Enum", "type found, reading property") + var ( value *TestImport_Enum ) + value = nil if !reader.IsNil() { v := TestImport_Enum(reader.ReadI32()) SanitizeTestImport_EnumValue(int32(v)) - _optEnum = &v + value = &v } + _optEnum = value reader.Context().Pop() case "enumArray": reader.Context().Push(field, "[]TestImport_Enum", "type found, reading property") + var ( value []TestImport_Enum ) if reader.IsNil() { - _enumArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _enumArray = make([]TestImport_Enum, ln0) + value = make([]TestImport_Enum, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { - _enumArray[i0] = TestImport_Enum(reader.ReadI32()) - SanitizeTestImport_EnumValue(int32(_enumArray[i0])) + value[i0] = TestImport_Enum(reader.ReadI32()) + SanitizeTestImport_EnumValue(int32(value[i0])) } } + _enumArray = value _enumArraySet = true reader.Context().Pop() case "optEnumArray": reader.Context().Push(field, "[]*TestImport_Enum", "type found, reading property") + var ( value []*TestImport_Enum ) + value = nil if reader.IsNil() { - _optEnumArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _optEnumArray = make([]*TestImport_Enum, ln0) + value = make([]*TestImport_Enum, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if !reader.IsNil() { v := TestImport_Enum(reader.ReadI32()) SanitizeTestImport_EnumValue(int32(v)) - _optEnumArray[i0] = &v + value[i0] = &v } } } + _optEnumArray = value reader.Context().Pop() } reader.Context().Pop() diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/object_test_import__another_object_serialization.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/object_test_import__another_object_serialization.go index 019cc8ad67..e941dbc9d5 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/object_test_import__another_object_serialization.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/object_test_import__another_object_serialization.go @@ -40,7 +40,9 @@ func readTestImport_AnotherObject(reader msgpack.Read) *TestImport_AnotherObject switch field { case "prop": reader.Context().Push(field, "string", "type found, reading property") - _prop = reader.ReadString() + var ( value string ) + value = reader.ReadString() + _prop = value _propSet = true reader.Context().Pop() } diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/object_test_import__object_serialization.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/object_test_import__object_serialization.go index ef21ee4bfc..17df73cc03 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/object_test_import__object_serialization.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/object_test_import__object_serialization.go @@ -143,89 +143,109 @@ func readTestImport_Object(reader msgpack.Read) *TestImport_Object { switch field { case "object": reader.Context().Push(field, "TestImport_AnotherObject", "type found, reading property") + var ( value TestImport_AnotherObject ) if v := TestImport_AnotherObjectRead(reader); v != nil { - _object = *v + value = *v } + _object = value _objectSet = true reader.Context().Pop() case "optObject": reader.Context().Push(field, "*TestImport_AnotherObject", "type found, reading property") + var ( value *TestImport_AnotherObject ) + value = nil if v := TestImport_AnotherObjectRead(reader); v != nil { - _optObject = v + value = v } + _optObject = value reader.Context().Pop() case "objectArray": reader.Context().Push(field, "[]TestImport_AnotherObject", "type found, reading property") + var ( value []TestImport_AnotherObject ) if reader.IsNil() { - _objectArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _objectArray = make([]TestImport_AnotherObject, ln0) + value = make([]TestImport_AnotherObject, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if v := TestImport_AnotherObjectRead(reader); v != nil { - _objectArray[i0] = *v + value[i0] = *v } } } + _objectArray = value _objectArraySet = true reader.Context().Pop() case "optObjectArray": reader.Context().Push(field, "[]*TestImport_AnotherObject", "type found, reading property") + var ( value []*TestImport_AnotherObject ) + value = nil if reader.IsNil() { - _optObjectArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _optObjectArray = make([]*TestImport_AnotherObject, ln0) + value = make([]*TestImport_AnotherObject, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if v := TestImport_AnotherObjectRead(reader); v != nil { - _optObjectArray[i0] = v + value[i0] = v } } } + _optObjectArray = value reader.Context().Pop() case "en": reader.Context().Push(field, "TestImport_Enum", "type found, reading property") - _en = TestImport_Enum(reader.ReadI32()) - SanitizeTestImport_EnumValue(int32(_en)) + var ( value TestImport_Enum ) + value = TestImport_Enum(reader.ReadI32()) + SanitizeTestImport_EnumValue(int32(value)) + _en = value _enSet = true reader.Context().Pop() case "optEnum": reader.Context().Push(field, "*TestImport_Enum", "type found, reading property") + var ( value *TestImport_Enum ) + value = nil if !reader.IsNil() { v := TestImport_Enum(reader.ReadI32()) SanitizeTestImport_EnumValue(int32(v)) - _optEnum = &v + value = &v } + _optEnum = value reader.Context().Pop() case "enumArray": reader.Context().Push(field, "[]TestImport_Enum", "type found, reading property") + var ( value []TestImport_Enum ) if reader.IsNil() { - _enumArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _enumArray = make([]TestImport_Enum, ln0) + value = make([]TestImport_Enum, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { - _enumArray[i0] = TestImport_Enum(reader.ReadI32()) - SanitizeTestImport_EnumValue(int32(_enumArray[i0])) + value[i0] = TestImport_Enum(reader.ReadI32()) + SanitizeTestImport_EnumValue(int32(value[i0])) } } + _enumArray = value _enumArraySet = true reader.Context().Pop() case "optEnumArray": reader.Context().Push(field, "[]*TestImport_Enum", "type found, reading property") + var ( value []*TestImport_Enum ) + value = nil if reader.IsNil() { - _optEnumArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _optEnumArray = make([]*TestImport_Enum, ln0) + value = make([]*TestImport_Enum, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if !reader.IsNil() { v := TestImport_Enum(reader.ReadI32()) SanitizeTestImport_EnumValue(int32(v)) - _optEnumArray[i0] = &v + value[i0] = &v } } } + _optEnumArray = value reader.Context().Pop() } reader.Context().Pop() diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/test_import__module_serialization.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/test_import__module_serialization.go index 661c0fc8d0..525eced521 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/test_import__module_serialization.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/imported/test_import/test_import__module_serialization.go @@ -288,7 +288,7 @@ func DeserializeTestImport_ReturnsArrayOfEnumsResult(argsBuf []byte) []*TestImpo if !reader.IsNil() { v := TestImport_Enum_Return(reader.ReadI32()) SanitizeTestImport_Enum_ReturnValue(int32(v)) - _returnsArrayOfEnums[i0] = &v + value[i0] = &v } } } diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/module_wrapped/module_serialization.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/module_wrapped/module_serialization.go index 77627d7244..e80124303e 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/module_wrapped/module_serialization.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/module_wrapped/module_serialization.go @@ -1,7 +1,6 @@ package module_wrapped import ( - . "github.com/testorg/testrepo/module/wrap/imported/test_import" . "github.com/testorg/testrepo/module/wrap/types" "github.com/polywrap/go-wrap/msgpack" ) @@ -38,157 +37,182 @@ func DeserializeModuleMethodArgs(argsBuf []byte) *ArgsModuleMethod { switch field { case "str": reader.Context().Push(field, "string", "type found, reading property") - _str = reader.ReadString() + var ( value string ) + value = reader.ReadString() + _str = value _strSet = true reader.Context().Pop() case "optStr": reader.Context().Push(field, "*string", "type found, reading property") + var ( value *string ) + value = nil if !reader.IsNil() { v := reader.ReadString() - _optStr = &v + value = &v } + _optStr = value reader.Context().Pop() case "en": reader.Context().Push(field, "CustomEnum", "type found, reading property") - _en = CustomEnum(reader.ReadI32()) - SanitizeCustomEnumValue(int32(_en)) + var ( value CustomEnum ) + value = CustomEnum(reader.ReadI32()) + SanitizeCustomEnumValue(int32(value)) + _en = value _enSet = true reader.Context().Pop() case "optEnum": reader.Context().Push(field, "*CustomEnum", "type found, reading property") + var ( value *CustomEnum ) + value = nil if !reader.IsNil() { v := CustomEnum(reader.ReadI32()) SanitizeCustomEnumValue(int32(v)) - _optEnum = &v + value = &v } + _optEnum = value reader.Context().Pop() case "enumArray": reader.Context().Push(field, "[]CustomEnum", "type found, reading property") + var ( value []CustomEnum ) if reader.IsNil() { - _enumArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _enumArray = make([]CustomEnum, ln0) + value = make([]CustomEnum, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { - _enumArray[i0] = CustomEnum(reader.ReadI32()) - SanitizeCustomEnumValue(int32(_enumArray[i0])) + value[i0] = CustomEnum(reader.ReadI32()) + SanitizeCustomEnumValue(int32(value[i0])) } } + _enumArray = value _enumArraySet = true reader.Context().Pop() case "optEnumArray": reader.Context().Push(field, "[]*CustomEnum", "type found, reading property") + var ( value []*CustomEnum ) + value = nil if reader.IsNil() { - _optEnumArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _optEnumArray = make([]*CustomEnum, ln0) + value = make([]*CustomEnum, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if !reader.IsNil() { v := CustomEnum(reader.ReadI32()) SanitizeCustomEnumValue(int32(v)) - _optEnumArray[i0] = &v + value[i0] = &v } } } + _optEnumArray = value reader.Context().Pop() case "map": reader.Context().Push(field, "map[string]int32", "type found, reading property") + var ( value map[string]int32 ) if reader.IsNil() { - _map = nil + value = nil } else { + value = make(map[string]int32) ln0 := reader.ReadMapLength() - _map = make(map[string]int32) for j0 := uint32(0); j0 < ln0; j0++ { i0 := reader.ReadString() - _map[i0] = reader.ReadI32() + value[i0] = reader.ReadI32() } } + _map = value _mapSet = true reader.Context().Pop() case "mapOfArr": reader.Context().Push(field, "map[string][]int32", "type found, reading property") + var ( value map[string][]int32 ) if reader.IsNil() { - _mapOfArr = nil + value = nil } else { + value = make(map[string][]int32) ln0 := reader.ReadMapLength() - _mapOfArr = make(map[string][]int32) for j0 := uint32(0); j0 < ln0; j0++ { i0 := reader.ReadString() if reader.IsNil() { - _mapOfArr[i0] = nil + value[i0] = nil } else { - ln1 := reader.ReadArrayLength() - _mapOfArr[i0] = make([]int32, ln1) + value[i0] = make([]int32, reader.ReadArrayLength()) + ln1 := uint32(len(value[i0])) for i1 := uint32(0); i1 < ln1; i1++ { - _mapOfArr[i0][i1] = reader.ReadI32() + value[i0][i1] = reader.ReadI32() } } } } + _mapOfArr = value _mapOfArrSet = true reader.Context().Pop() case "mapOfMap": reader.Context().Push(field, "map[string]map[string]int32", "type found, reading property") + var ( value map[string]map[string]int32 ) if reader.IsNil() { - _mapOfMap = nil + value = nil } else { + value = make(map[string]map[string]int32) ln0 := reader.ReadMapLength() - _mapOfMap = make(map[string]map[string]int32) for j0 := uint32(0); j0 < ln0; j0++ { i0 := reader.ReadString() if reader.IsNil() { - _mapOfMap[i0] = nil + value[i0] = nil } else { + value[i0] = make(map[string]int32) ln1 := reader.ReadMapLength() - _mapOfMap[i0] = make(map[string]int32) for j1 := uint32(0); j1 < ln1; j1++ { i1 := reader.ReadString() - _mapOfMap[i0][i1] = reader.ReadI32() + value[i0][i1] = reader.ReadI32() } } } } + _mapOfMap = value _mapOfMapSet = true reader.Context().Pop() case "mapOfObj": reader.Context().Push(field, "map[string]AnotherType", "type found, reading property") + var ( value map[string]AnotherType ) if reader.IsNil() { - _mapOfObj = nil + value = nil } else { + value = make(map[string]AnotherType) ln0 := reader.ReadMapLength() - _mapOfObj = make(map[string]AnotherType) for j0 := uint32(0); j0 < ln0; j0++ { i0 := reader.ReadString() if v := AnotherTypeRead(reader); v != nil { - _mapOfObj[i0] = *v + value[i0] = *v } } } + _mapOfObj = value _mapOfObjSet = true reader.Context().Pop() case "mapOfArrOfObj": reader.Context().Push(field, "map[string][]AnotherType", "type found, reading property") + var ( value map[string][]AnotherType ) if reader.IsNil() { - _mapOfArrOfObj = nil + value = nil } else { + value = make(map[string][]AnotherType) ln0 := reader.ReadMapLength() - _mapOfArrOfObj = make(map[string][]AnotherType) for j0 := uint32(0); j0 < ln0; j0++ { i0 := reader.ReadString() if reader.IsNil() { - _mapOfArrOfObj[i0] = nil + value[i0] = nil } else { - ln1 := reader.ReadArrayLength() - _mapOfArrOfObj[i0] = make([]AnotherType, ln1) + value[i0] = make([]AnotherType, reader.ReadArrayLength()) + ln1 := uint32(len(value[i0])) for i1 := uint32(0); i1 < ln1; i1++ { if v := AnotherTypeRead(reader); v != nil { - _mapOfArrOfObj[i0][i1] = *v + value[i0][i1] = *v } } } } } + _mapOfArrOfObj = value _mapOfArrOfObjSet = true reader.Context().Pop() } @@ -270,45 +294,55 @@ func DeserializeObjectMethodArgs(argsBuf []byte) *ArgsObjectMethod { switch field { case "object": reader.Context().Push(field, "AnotherType", "type found, reading property") + var ( value AnotherType ) if v := AnotherTypeRead(reader); v != nil { - _object = *v + value = *v } + _object = value _objectSet = true reader.Context().Pop() case "optObject": reader.Context().Push(field, "*AnotherType", "type found, reading property") + var ( value *AnotherType ) + value = nil if v := AnotherTypeRead(reader); v != nil { - _optObject = v + value = v } + _optObject = value reader.Context().Pop() case "objectArray": reader.Context().Push(field, "[]AnotherType", "type found, reading property") + var ( value []AnotherType ) if reader.IsNil() { - _objectArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _objectArray = make([]AnotherType, ln0) + value = make([]AnotherType, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if v := AnotherTypeRead(reader); v != nil { - _objectArray[i0] = *v + value[i0] = *v } } } + _objectArray = value _objectArraySet = true reader.Context().Pop() case "optObjectArray": reader.Context().Push(field, "[]*AnotherType", "type found, reading property") + var ( value []*AnotherType ) + value = nil if reader.IsNil() { - _optObjectArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _optObjectArray = make([]*AnotherType, ln0) + value = make([]*AnotherType, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if v := AnotherTypeRead(reader); v != nil { - _optObjectArray[i0] = v + value[i0] = v } } } + _optObjectArray = value reader.Context().Pop() } reader.Context().Pop() @@ -364,45 +398,55 @@ func DeserializeOptionalEnvMethodArgs(argsBuf []byte) *ArgsOptionalEnvMethod { switch field { case "object": reader.Context().Push(field, "AnotherType", "type found, reading property") + var ( value AnotherType ) if v := AnotherTypeRead(reader); v != nil { - _object = *v + value = *v } + _object = value _objectSet = true reader.Context().Pop() case "optObject": reader.Context().Push(field, "*AnotherType", "type found, reading property") + var ( value *AnotherType ) + value = nil if v := AnotherTypeRead(reader); v != nil { - _optObject = v + value = v } + _optObject = value reader.Context().Pop() case "objectArray": reader.Context().Push(field, "[]AnotherType", "type found, reading property") + var ( value []AnotherType ) if reader.IsNil() { - _objectArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _objectArray = make([]AnotherType, ln0) + value = make([]AnotherType, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if v := AnotherTypeRead(reader); v != nil { - _objectArray[i0] = *v + value[i0] = *v } } } + _objectArray = value _objectArraySet = true reader.Context().Pop() case "optObjectArray": reader.Context().Push(field, "[]*AnotherType", "type found, reading property") + var ( value []*AnotherType ) + value = nil if reader.IsNil() { - _optObjectArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _optObjectArray = make([]*AnotherType, ln0) + value = make([]*AnotherType, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if v := AnotherTypeRead(reader); v != nil { - _optObjectArray[i0] = v + value[i0] = v } } } + _optObjectArray = value reader.Context().Pop() } reader.Context().Pop() @@ -454,9 +498,11 @@ func DeserializeIfArgs(argsBuf []byte) *ArgsIf { switch field { case "if": reader.Context().Push(field, "Else", "type found, reading property") + var ( value Else ) if v := ElseRead(reader); v != nil { - _if = *v + value = *v } + _if = value _ifSet = true reader.Context().Pop() } diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/enum_custom_enum.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/enum_custom_enum.go index 5ee8b8ac5d..f4d2d8c9a5 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/enum_custom_enum.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/enum_custom_enum.go @@ -4,8 +4,8 @@ type CustomEnum int32 const ( CustomEnumSTRING = iota - CustomEnumBYTES = iota - customEnumMax = iota + CustomEnumBYTES + customEnumMax ) func SanitizeCustomEnumValue(value int32) { diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/enumwhile.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/enumwhile.go index 16ed26f498..4e791ad113 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/enumwhile.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/enumwhile.go @@ -4,8 +4,8 @@ type While int32 const ( Whilefor = iota - Whilein = iota - whileMax = iota + Whilein + whileMax ) func SanitizeWhileValue(value int32) { diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/module_args.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/module_args.go index eb228b6267..bb65de2ab7 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/module_args.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/module_args.go @@ -31,3 +31,10 @@ type ArgsOptionalEnvMethod struct { type ArgsIf struct { M_if Else `json:"if"` } + +type Module interface { + ModuleMethod(args *ArgsModuleMethod) int32 + ObjectMethod(args *ArgsObjectMethod) *AnotherType + OptionalEnvMethod(args *ArgsOptionalEnvMethod) *AnotherType + If(args *ArgsIf) Else +} diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_another_type_serialization.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_another_type_serialization.go index 32c1a99aad..d1af468eca 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_another_type_serialization.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_another_type_serialization.go @@ -63,23 +63,32 @@ func readAnotherType(reader msgpack.Read) *AnotherType { switch field { case "prop": reader.Context().Push(field, "*string", "type found, reading property") + var ( value *string ) + value = nil if !reader.IsNil() { v := reader.ReadString() - _prop = &v + value = &v } + _prop = value reader.Context().Pop() case "circular": reader.Context().Push(field, "*CustomType", "type found, reading property") + var ( value *CustomType ) + value = nil if v := CustomTypeRead(reader); v != nil { - _circular = v + value = v } + _circular = value reader.Context().Pop() case "const": reader.Context().Push(field, "*string", "type found, reading property") + var ( value *string ) + value = nil if !reader.IsNil() { v := reader.ReadString() - _const = &v + value = &v } + _const = value reader.Context().Pop() } reader.Context().Pop() diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_custom_map_value_serialization.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_custom_map_value_serialization.go index 66e8cd2346..6853c2a7a0 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_custom_map_value_serialization.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_custom_map_value_serialization.go @@ -40,7 +40,9 @@ func readCustomMapValue(reader msgpack.Read) *CustomMapValue { switch field { case "foo": reader.Context().Push(field, "string", "type found, reading property") - _foo = reader.ReadString() + var ( value string ) + value = reader.ReadString() + _foo = value _fooSet = true reader.Context().Pop() } diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_custom_type_serialization.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_custom_type_serialization.go index 87941c77a2..0727eb0b10 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_custom_type_serialization.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_custom_type_serialization.go @@ -678,279 +678,347 @@ func readCustomType(reader msgpack.Read) *CustomType { switch field { case "str": reader.Context().Push(field, "string", "type found, reading property") - _str = reader.ReadString() + var ( value string ) + value = reader.ReadString() + _str = value _strSet = true reader.Context().Pop() case "optStr": reader.Context().Push(field, "*string", "type found, reading property") + var ( value *string ) + value = nil if !reader.IsNil() { v := reader.ReadString() - _optStr = &v + value = &v } + _optStr = value reader.Context().Pop() case "u": reader.Context().Push(field, "uint32", "type found, reading property") - _u = reader.ReadU32() + var ( value uint32 ) + value = reader.ReadU32() + _u = value _uSet = true reader.Context().Pop() case "optU": reader.Context().Push(field, "*uint32", "type found, reading property") + var ( value *uint32 ) + value = nil if !reader.IsNil() { v := reader.ReadU32() - _optU = &v + value = &v } + _optU = value reader.Context().Pop() case "u8": reader.Context().Push(field, "uint8", "type found, reading property") - _u8 = reader.ReadU8() + var ( value uint8 ) + value = reader.ReadU8() + _u8 = value _u8Set = true reader.Context().Pop() case "u16": reader.Context().Push(field, "uint16", "type found, reading property") - _u16 = reader.ReadU16() + var ( value uint16 ) + value = reader.ReadU16() + _u16 = value _u16Set = true reader.Context().Pop() case "u32": reader.Context().Push(field, "uint32", "type found, reading property") - _u32 = reader.ReadU32() + var ( value uint32 ) + value = reader.ReadU32() + _u32 = value _u32Set = true reader.Context().Pop() case "i": reader.Context().Push(field, "int32", "type found, reading property") - _i = reader.ReadI32() + var ( value int32 ) + value = reader.ReadI32() + _i = value _iSet = true reader.Context().Pop() case "i8": reader.Context().Push(field, "int8", "type found, reading property") - _i8 = reader.ReadI8() + var ( value int8 ) + value = reader.ReadI8() + _i8 = value _i8Set = true reader.Context().Pop() case "i16": reader.Context().Push(field, "int16", "type found, reading property") - _i16 = reader.ReadI16() + var ( value int16 ) + value = reader.ReadI16() + _i16 = value _i16Set = true reader.Context().Pop() case "i32": reader.Context().Push(field, "int32", "type found, reading property") - _i32 = reader.ReadI32() + var ( value int32 ) + value = reader.ReadI32() + _i32 = value _i32Set = true reader.Context().Pop() case "bigint": reader.Context().Push(field, "*big.Int", "type found, reading property") - _bigint = reader.ReadBigInt() + var ( value *big.Int ) + value = reader.ReadBigInt() + _bigint = value _bigintSet = true reader.Context().Pop() case "optBigint": reader.Context().Push(field, "*big.Int", "type found, reading property") + var ( value *big.Int ) + value = nil if !reader.IsNil() { v := reader.ReadBigInt() - _optBigint = v + value = v } + _optBigint = value reader.Context().Pop() case "bignumber": reader.Context().Push(field, "*big.Int", "type found, reading property") - _bignumber = reader.ReadBigInt() + var ( value *big.Int ) + value = reader.ReadBigInt() + _bignumber = value _bignumberSet = true reader.Context().Pop() case "optBignumber": reader.Context().Push(field, "*big.Int", "type found, reading property") + var ( value *big.Int ) + value = nil if !reader.IsNil() { v := reader.ReadBigInt() - _optBignumber = v + value = v } + _optBignumber = value reader.Context().Pop() case "json": reader.Context().Push(field, "*fastjson.Value", "type found, reading property") - _json = reader.ReadJson() + var ( value *fastjson.Value ) + value = reader.ReadJson() + _json = value _jsonSet = true reader.Context().Pop() case "optJson": reader.Context().Push(field, "*fastjson.Value", "type found, reading property") + var ( value *fastjson.Value ) + value = nil if !reader.IsNil() { v := reader.ReadJson() - _optJson = v + value = v } + _optJson = value reader.Context().Pop() case "bytes": reader.Context().Push(field, "[]byte", "type found, reading property") - _bytes = reader.ReadBytes() + var ( value []byte ) + value = reader.ReadBytes() + _bytes = value _bytesSet = true reader.Context().Pop() case "optBytes": reader.Context().Push(field, "[]byte", "type found, reading property") + var ( value []byte ) + value = nil if !reader.IsNil() { v := reader.ReadBytes() - _optBytes = v + value = v } + _optBytes = value reader.Context().Pop() case "boolean": reader.Context().Push(field, "bool", "type found, reading property") - _boolean = reader.ReadBool() + var ( value bool ) + value = reader.ReadBool() + _boolean = value _booleanSet = true reader.Context().Pop() case "optBoolean": reader.Context().Push(field, "*bool", "type found, reading property") + var ( value *bool ) + value = nil if !reader.IsNil() { v := reader.ReadBool() - _optBoolean = &v + value = &v } + _optBoolean = value reader.Context().Pop() case "u_array": reader.Context().Push(field, "[]uint32", "type found, reading property") + var ( value []uint32 ) if reader.IsNil() { - _u_array = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _u_array = make([]uint32, ln0) + value = make([]uint32, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { - _u_array[i0] = reader.ReadU32() + value[i0] = reader.ReadU32() } } + _u_array = value _u_arraySet = true reader.Context().Pop() case "uOpt_array": reader.Context().Push(field, "[]uint32", "type found, reading property") + var ( value []uint32 ) + value = nil if reader.IsNil() { - _uOpt_array = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _uOpt_array = make([]uint32, ln0) + value = make([]uint32, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { - _uOpt_array[i0] = reader.ReadU32() + value[i0] = reader.ReadU32() } } + _uOpt_array = value reader.Context().Pop() case "_opt_uOptArray": reader.Context().Push(field, "[]*uint32", "type found, reading property") + var ( value []*uint32 ) + value = nil if reader.IsNil() { - __opt_uOptArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - __opt_uOptArray = make([]*uint32, ln0) + value = make([]*uint32, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if !reader.IsNil() { v := reader.ReadU32() - __opt_uOptArray[i0] = &v + value[i0] = &v } } } + __opt_uOptArray = value reader.Context().Pop() case "optStrOptArray": reader.Context().Push(field, "[]*string", "type found, reading property") + var ( value []*string ) + value = nil if reader.IsNil() { - _optStrOptArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _optStrOptArray = make([]*string, ln0) + value = make([]*string, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if !reader.IsNil() { v := reader.ReadString() - _optStrOptArray[i0] = &v + value[i0] = &v } } } + _optStrOptArray = value reader.Context().Pop() case "uArrayArray": reader.Context().Push(field, "[][]uint32", "type found, reading property") + var ( value [][]uint32 ) if reader.IsNil() { - _uArrayArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _uArrayArray = make([][]uint32, ln0) + value = make([][]uint32, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if reader.IsNil() { - _uArrayArray[i0] = nil + value[i0] = nil } else { - ln1 := reader.ReadArrayLength() - _uArrayArray[i0] = make([]uint32, ln1) + value[i0] = make([]uint32, reader.ReadArrayLength()) + ln1 := uint32(len(value[i0])) for i1 := uint32(0); i1 < ln1; i1++ { - _uArrayArray[i0][i1] = reader.ReadU32() + value[i0][i1] = reader.ReadU32() } } } } + _uArrayArray = value _uArrayArraySet = true reader.Context().Pop() case "uOptArrayOptArray": reader.Context().Push(field, "[][]*uint32", "type found, reading property") + var ( value [][]*uint32 ) if reader.IsNil() { - _uOptArrayOptArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _uOptArrayOptArray = make([][]*uint32, ln0) + value = make([][]*uint32, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if reader.IsNil() { - _uOptArrayOptArray[i0] = nil + value[i0] = nil } else { - ln1 := reader.ReadArrayLength() - _uOptArrayOptArray[i0] = make([]*uint32, ln1) + value[i0] = make([]*uint32, reader.ReadArrayLength()) + ln1 := uint32(len(value[i0])) for i1 := uint32(0); i1 < ln1; i1++ { if !reader.IsNil() { v := reader.ReadU32() - _uOptArrayOptArray[i0][i1] = &v + value[i0][i1] = &v } } } } } + _uOptArrayOptArray = value _uOptArrayOptArraySet = true reader.Context().Pop() case "uArrayOptArrayArray": reader.Context().Push(field, "[][][]uint32", "type found, reading property") + var ( value [][][]uint32 ) if reader.IsNil() { - _uArrayOptArrayArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _uArrayOptArrayArray = make([][][]uint32, ln0) + value = make([][][]uint32, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if reader.IsNil() { - _uArrayOptArrayArray[i0] = nil + value[i0] = nil } else { - ln1 := reader.ReadArrayLength() - _uArrayOptArrayArray[i0] = make([][]uint32, ln1) + value[i0] = make([][]uint32, reader.ReadArrayLength()) + ln1 := uint32(len(value[i0])) for i1 := uint32(0); i1 < ln1; i1++ { if reader.IsNil() { - _uArrayOptArrayArray[i0][i1] = nil + value[i0][i1] = nil } else { - ln2 := reader.ReadArrayLength() - _uArrayOptArrayArray[i0][i1] = make([]uint32, ln2) + value[i0][i1] = make([]uint32, reader.ReadArrayLength()) + ln2 := uint32(len(value[i0][i1])) for i2 := uint32(0); i2 < ln2; i2++ { - _uArrayOptArrayArray[i0][i1][i2] = reader.ReadU32() + value[i0][i1][i2] = reader.ReadU32() } } } } } } + _uArrayOptArrayArray = value _uArrayOptArrayArraySet = true reader.Context().Pop() case "crazyArray": reader.Context().Push(field, "[][][][]uint32", "type found, reading property") + var ( value [][][][]uint32 ) + value = nil if reader.IsNil() { - _crazyArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _crazyArray = make([][][][]uint32, ln0) + value = make([][][][]uint32, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if reader.IsNil() { - _crazyArray[i0] = nil + value[i0] = nil } else { - ln1 := reader.ReadArrayLength() - _crazyArray[i0] = make([][][]uint32, ln1) + value[i0] = make([][][]uint32, reader.ReadArrayLength()) + ln1 := uint32(len(value[i0])) for i1 := uint32(0); i1 < ln1; i1++ { if reader.IsNil() { - _crazyArray[i0][i1] = nil + value[i0][i1] = nil } else { - ln2 := reader.ReadArrayLength() - _crazyArray[i0][i1] = make([][]uint32, ln2) + value[i0][i1] = make([][]uint32, reader.ReadArrayLength()) + ln2 := uint32(len(value[i0][i1])) for i2 := uint32(0); i2 < ln2; i2++ { if reader.IsNil() { - _crazyArray[i0][i1][i2] = nil + value[i0][i1][i2] = nil } else { - ln3 := reader.ReadArrayLength() - _crazyArray[i0][i1][i2] = make([]uint32, ln3) + value[i0][i1][i2] = make([]uint32, reader.ReadArrayLength()) + ln3 := uint32(len(value[i0][i1][i2])) for i3 := uint32(0); i3 < ln3; i3++ { - _crazyArray[i0][i1][i2][i3] = reader.ReadU32() + value[i0][i1][i2][i3] = reader.ReadU32() } } } @@ -959,183 +1027,214 @@ func readCustomType(reader msgpack.Read) *CustomType { } } } + _crazyArray = value reader.Context().Pop() case "object": reader.Context().Push(field, "AnotherType", "type found, reading property") + var ( value AnotherType ) if v := AnotherTypeRead(reader); v != nil { - _object = *v + value = *v } + _object = value _objectSet = true reader.Context().Pop() case "optObject": reader.Context().Push(field, "*AnotherType", "type found, reading property") + var ( value *AnotherType ) + value = nil if v := AnotherTypeRead(reader); v != nil { - _optObject = v + value = v } + _optObject = value reader.Context().Pop() case "objectArray": reader.Context().Push(field, "[]AnotherType", "type found, reading property") + var ( value []AnotherType ) if reader.IsNil() { - _objectArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _objectArray = make([]AnotherType, ln0) + value = make([]AnotherType, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if v := AnotherTypeRead(reader); v != nil { - _objectArray[i0] = *v + value[i0] = *v } } } + _objectArray = value _objectArraySet = true reader.Context().Pop() case "optObjectArray": reader.Context().Push(field, "[]*AnotherType", "type found, reading property") + var ( value []*AnotherType ) + value = nil if reader.IsNil() { - _optObjectArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _optObjectArray = make([]*AnotherType, ln0) + value = make([]*AnotherType, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if v := AnotherTypeRead(reader); v != nil { - _optObjectArray[i0] = v + value[i0] = v } } } + _optObjectArray = value reader.Context().Pop() case "en": reader.Context().Push(field, "CustomEnum", "type found, reading property") - _en = CustomEnum(reader.ReadI32()) - SanitizeCustomEnumValue(int32(_en)) + var ( value CustomEnum ) + value = CustomEnum(reader.ReadI32()) + SanitizeCustomEnumValue(int32(value)) + _en = value _enSet = true reader.Context().Pop() case "optEnum": reader.Context().Push(field, "*CustomEnum", "type found, reading property") + var ( value *CustomEnum ) + value = nil if !reader.IsNil() { v := CustomEnum(reader.ReadI32()) SanitizeCustomEnumValue(int32(v)) - _optEnum = &v + value = &v } + _optEnum = value reader.Context().Pop() case "enumArray": reader.Context().Push(field, "[]CustomEnum", "type found, reading property") + var ( value []CustomEnum ) if reader.IsNil() { - _enumArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _enumArray = make([]CustomEnum, ln0) + value = make([]CustomEnum, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { - _enumArray[i0] = CustomEnum(reader.ReadI32()) - SanitizeCustomEnumValue(int32(_enumArray[i0])) + value[i0] = CustomEnum(reader.ReadI32()) + SanitizeCustomEnumValue(int32(value[i0])) } } + _enumArray = value _enumArraySet = true reader.Context().Pop() case "optEnumArray": reader.Context().Push(field, "[]*CustomEnum", "type found, reading property") + var ( value []*CustomEnum ) + value = nil if reader.IsNil() { - _optEnumArray = nil + value = nil } else { - ln0 := reader.ReadArrayLength() - _optEnumArray = make([]*CustomEnum, ln0) + value = make([]*CustomEnum, reader.ReadArrayLength()) + ln0 := uint32(len(value)) for i0 := uint32(0); i0 < ln0; i0++ { if !reader.IsNil() { v := CustomEnum(reader.ReadI32()) SanitizeCustomEnumValue(int32(v)) - _optEnumArray[i0] = &v + value[i0] = &v } } } + _optEnumArray = value reader.Context().Pop() case "map": reader.Context().Push(field, "map[string]int32", "type found, reading property") + var ( value map[string]int32 ) if reader.IsNil() { - _map = nil + value = nil } else { + value = make(map[string]int32) ln0 := reader.ReadMapLength() - _map = make(map[string]int32) for j0 := uint32(0); j0 < ln0; j0++ { i0 := reader.ReadString() - _map[i0] = reader.ReadI32() + value[i0] = reader.ReadI32() } } + _map = value _mapSet = true reader.Context().Pop() case "mapOfArr": reader.Context().Push(field, "map[string][]int32", "type found, reading property") + var ( value map[string][]int32 ) if reader.IsNil() { - _mapOfArr = nil + value = nil } else { + value = make(map[string][]int32) ln0 := reader.ReadMapLength() - _mapOfArr = make(map[string][]int32) for j0 := uint32(0); j0 < ln0; j0++ { i0 := reader.ReadString() if reader.IsNil() { - _mapOfArr[i0] = nil + value[i0] = nil } else { - ln1 := reader.ReadArrayLength() - _mapOfArr[i0] = make([]int32, ln1) + value[i0] = make([]int32, reader.ReadArrayLength()) + ln1 := uint32(len(value[i0])) for i1 := uint32(0); i1 < ln1; i1++ { - _mapOfArr[i0][i1] = reader.ReadI32() + value[i0][i1] = reader.ReadI32() } } } } + _mapOfArr = value _mapOfArrSet = true reader.Context().Pop() case "mapOfObj": reader.Context().Push(field, "map[string]AnotherType", "type found, reading property") + var ( value map[string]AnotherType ) if reader.IsNil() { - _mapOfObj = nil + value = nil } else { + value = make(map[string]AnotherType) ln0 := reader.ReadMapLength() - _mapOfObj = make(map[string]AnotherType) for j0 := uint32(0); j0 < ln0; j0++ { i0 := reader.ReadString() if v := AnotherTypeRead(reader); v != nil { - _mapOfObj[i0] = *v + value[i0] = *v } } } + _mapOfObj = value _mapOfObjSet = true reader.Context().Pop() case "mapOfArrOfObj": reader.Context().Push(field, "map[string][]AnotherType", "type found, reading property") + var ( value map[string][]AnotherType ) if reader.IsNil() { - _mapOfArrOfObj = nil + value = nil } else { + value = make(map[string][]AnotherType) ln0 := reader.ReadMapLength() - _mapOfArrOfObj = make(map[string][]AnotherType) for j0 := uint32(0); j0 < ln0; j0++ { i0 := reader.ReadString() if reader.IsNil() { - _mapOfArrOfObj[i0] = nil + value[i0] = nil } else { - ln1 := reader.ReadArrayLength() - _mapOfArrOfObj[i0] = make([]AnotherType, ln1) + value[i0] = make([]AnotherType, reader.ReadArrayLength()) + ln1 := uint32(len(value[i0])) for i1 := uint32(0); i1 < ln1; i1++ { if v := AnotherTypeRead(reader); v != nil { - _mapOfArrOfObj[i0][i1] = *v + value[i0][i1] = *v } } } } } + _mapOfArrOfObj = value _mapOfArrOfObjSet = true reader.Context().Pop() case "mapCustomValue": reader.Context().Push(field, "map[string]*CustomMapValue", "type found, reading property") + var ( value map[string]*CustomMapValue ) if reader.IsNil() { - _mapCustomValue = nil + value = nil } else { + value = make(map[string]*CustomMapValue) ln0 := reader.ReadMapLength() - _mapCustomValue = make(map[string]*CustomMapValue) for j0 := uint32(0); j0 < ln0; j0++ { i0 := reader.ReadString() if v := CustomMapValueRead(reader); v != nil { - _mapCustomValue[i0] = v + value[i0] = v } } } + _mapCustomValue = value _mapCustomValueSet = true reader.Context().Pop() } diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_env_serialization.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_env_serialization.go index 393202c3f7..4534b8a261 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_env_serialization.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/object_env_serialization.go @@ -73,31 +73,39 @@ func readEnv(reader msgpack.Read) *Env { switch field { case "prop": reader.Context().Push(field, "string", "type found, reading property") - _prop = reader.ReadString() + var ( value string ) + value = reader.ReadString() + _prop = value _propSet = true reader.Context().Pop() case "optProp": reader.Context().Push(field, "*string", "type found, reading property") + var ( value *string ) + value = nil if !reader.IsNil() { v := reader.ReadString() - _optProp = &v + value = &v } + _optProp = value reader.Context().Pop() case "optMap": reader.Context().Push(field, "map[string]*int32", "type found, reading property") + var ( value map[string]*int32 ) + value = nil if reader.IsNil() { - _optMap = nil + value = nil } else { + value = make(map[string]*int32) ln0 := reader.ReadMapLength() - _optMap = make(map[string]*int32) for j0 := uint32(0); j0 < ln0; j0++ { i0 := reader.ReadString() if !reader.IsNil() { v := reader.ReadI32() - _optMap[i0] = &v + value[i0] = &v } } } + _optMap = value reader.Context().Pop() } reader.Context().Pop() diff --git a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/objectelse_serialization.go b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/objectelse_serialization.go index b7bf1eeba4..d7575c151c 100644 --- a/packages/test-cases/cases/bind/sanity/output/wrap-go/types/objectelse_serialization.go +++ b/packages/test-cases/cases/bind/sanity/output/wrap-go/types/objectelse_serialization.go @@ -40,7 +40,9 @@ func readElse(reader msgpack.Read) *Else { switch field { case "else": reader.Context().Push(field, "string", "type found, reading property") - _else = reader.ReadString() + var ( value string ) + value = reader.ReadString() + _else = value _elseSet = true reader.Context().Pop() } diff --git a/packages/test-cases/cases/cli/build-cmd/wasm/.gitignore b/packages/test-cases/cases/cli/build-cmd/wasm/.gitignore index c795b054e5..8ab9284d7a 100644 --- a/packages/test-cases/cases/cli/build-cmd/wasm/.gitignore +++ b/packages/test-cases/cases/cli/build-cmd/wasm/.gitignore @@ -1 +1,2 @@ -build \ No newline at end of file +build +bundled \ No newline at end of file diff --git a/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/expected/output.json b/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/expected/output.json new file mode 100644 index 0000000000..d91a8e5545 --- /dev/null +++ b/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/expected/output.json @@ -0,0 +1,4 @@ +[ + "wrap.wasm", + "wrap.info" +] \ No newline at end of file diff --git a/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/expected/stdout.json b/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/expected/stdout.json new file mode 100644 index 0000000000..6cbc97b938 --- /dev/null +++ b/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/expected/stdout.json @@ -0,0 +1,7 @@ +{ + "stdout": [ + "Artifacts written to ./build", + "WRAP manifest written in ./build" + ], + "exitCode": 0 +} diff --git a/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/package.json b/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/package.json new file mode 100644 index 0000000000..94c149fe48 --- /dev/null +++ b/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/package.json @@ -0,0 +1,12 @@ +{ + "name": "@polywrap/test-project", + "version": "1.0.0", + "scripts": { + "build": "polywrap build" + }, + "author": "", + "license": "ISC", + "devDependencies": { + "polywrap": "0.11.2" + } +} diff --git a/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/polywrap.graphql b/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/polywrap.graphql new file mode 100644 index 0000000000..325e224971 --- /dev/null +++ b/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/polywrap.graphql @@ -0,0 +1,5 @@ +type Module { + method( + arg: String! + ): String! +} diff --git a/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/polywrap.yaml b/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/polywrap.yaml new file mode 100644 index 0000000000..14bc8c3e33 --- /dev/null +++ b/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/polywrap.yaml @@ -0,0 +1,7 @@ +format: 0.5.0 +project: + name: ObjectTypes + type: wasm/typescript +source: + schema: ./polywrap.graphql + module: ./wrap.js diff --git a/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/wrap.js b/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/wrap.js new file mode 100644 index 0000000000..0dc576c633 --- /dev/null +++ b/packages/test-cases/cases/cli/build-cmd/wasm/typescript/001-sanity/wrap.js @@ -0,0 +1 @@ +function e(r,t=!0){if(void 0===r)return t?"undefined":void 0;if(null===r)return t?"null":void 0;if(Array.isArray(r))return r.map((r=>e(r,!1))).filter((e=>void 0!==e));if(r instanceof Error)return{message:r.message};if("function"==typeof r)return t?"function":void 0;if("object"!=typeof r)return r;for(let t in r){let n=e(r[t],!1);void 0===n?delete r[t]:r[t]=n}return r}e(function(){"use strict";class e{}class r extends e{method(e){return"Method called"}}return(new r)[__wrap_method](__wrap_args)}()); diff --git a/packages/wasm/rs/Cargo.toml b/packages/wasm/rs/Cargo.toml index 04c78ee871..a03db4c3a2 100644 --- a/packages/wasm/rs/Cargo.toml +++ b/packages/wasm/rs/Cargo.toml @@ -21,7 +21,7 @@ crate-type = ["cdylib", "rlib"] [dependencies] byteorder = "1.4.3" thiserror = "1.0.30" -polywrap_msgpack_serde = "0.0.2-beta.6" +polywrap_msgpack_serde = "0.0.2-beta.7" [dev-dependencies] serde = { version = "1.0.136", default-features = false, features = ["derive"] } diff --git a/packages/wasm/rs/src/lib.rs b/packages/wasm/rs/src/lib.rs index 0bb0a19f04..0800d58f7c 100644 --- a/packages/wasm/rs/src/lib.rs +++ b/packages/wasm/rs/src/lib.rs @@ -24,4 +24,4 @@ pub use msgpack::{ DecodeError, EncodeError, EnumTypeError, Read, ReadDecoder, Write, WriteEncoder, }; -pub use polywrap_msgpack_serde::*; +pub use polywrap_msgpack_serde::{serde_bytes::*, *}; diff --git a/yarn.lock b/yarn.lock index 54f41f39d0..a387616f36 100644 --- a/yarn.lock +++ b/yarn.lock @@ -106,7 +106,7 @@ diff "^5.0.0" nearley "^2.20.1" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.10", "@babel/code-frame@^7.22.5": +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.22.13": version "7.22.13" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.22.13.tgz#e3c1c099402598483b7a8c46a721d1038803755e" integrity sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w== @@ -120,43 +120,52 @@ integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.5": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.11.tgz#8033acaa2aa24c3f814edaaa057f3ce0ba559c24" - integrity sha512-lh7RJrtPdhibbxndr6/xx0w8+CVlY5FJZiaSz908Fpy+G0xkBFTvwLcKJFF4PJxVfGhVWNebikpWGnOoC71juQ== + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.22.15.tgz#15d4fd03f478a459015a4b94cfbb3bd42c48d2f4" + integrity sha512-PtZqMmgRrvj8ruoEOIwVA3yoF91O+Hgw9o7DAUTNBA6Mo2jpu31clx9a7Nz/9JznqetTR6zwfC4L3LAjKQXUwA== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.22.10" - "@babel/generator" "^7.22.10" - "@babel/helper-compilation-targets" "^7.22.10" - "@babel/helper-module-transforms" "^7.22.9" - "@babel/helpers" "^7.22.11" - "@babel/parser" "^7.22.11" - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.11" - "@babel/types" "^7.22.11" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.22.15" + "@babel/helper-compilation-targets" "^7.22.15" + "@babel/helper-module-transforms" "^7.22.15" + "@babel/helpers" "^7.22.15" + "@babel/parser" "^7.22.15" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.22.15" + "@babel/types" "^7.22.15" convert-source-map "^1.7.0" debug "^4.1.0" gensync "^1.0.0-beta.2" json5 "^2.2.3" semver "^6.3.1" -"@babel/generator@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.10.tgz#c92254361f398e160645ac58831069707382b722" - integrity sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A== +"@babel/generator@7.18.2": + version "7.18.2" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.18.2.tgz#33873d6f89b21efe2da63fe554460f3df1c5880d" + integrity sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw== + dependencies: + "@babel/types" "^7.18.2" + "@jridgewell/gen-mapping" "^0.3.0" + jsesc "^2.5.1" + +"@babel/generator@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.22.15.tgz#1564189c7ec94cb8f77b5e8a90c4d200d21b2339" + integrity sha512-Zu9oWARBqeVOW0dZOjXc3JObrzuqothQ3y/n1kUtrjCoCPLkXUwMvOo/F/TCfoHMbWIFlWwpZtkZVb9ga4U2pA== dependencies: - "@babel/types" "^7.22.10" + "@babel/types" "^7.22.15" "@jridgewell/gen-mapping" "^0.3.2" "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" -"@babel/helper-compilation-targets@^7.22.10": - version "7.22.10" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz#01d648bbc25dd88f513d862ee0df27b7d4e67024" - integrity sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q== +"@babel/helper-compilation-targets@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz#0698fc44551a26cf29f18d4662d5bf545a6cfc52" + integrity sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw== dependencies: "@babel/compat-data" "^7.22.9" - "@babel/helper-validator-option" "^7.22.5" + "@babel/helper-validator-option" "^7.22.15" browserslist "^4.21.9" lru-cache "^5.1.1" semver "^6.3.1" @@ -181,23 +190,23 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-module-imports@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz#1a8f4c9f4027d23f520bd76b364d44434a72660c" - integrity sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg== +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== dependencies: - "@babel/types" "^7.22.5" + "@babel/types" "^7.22.15" -"@babel/helper-module-transforms@^7.22.9": - version "7.22.9" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.9.tgz#92dfcb1fbbb2bc62529024f72d942a8c97142129" - integrity sha512-t+WA2Xn5K+rTeGtC8jCsdAH52bjggG5TKRuRrAGNM/mjIbO4GxvlLMFOEz9wXY5I2XQ60PMFsAG2WIcG82dQMQ== +"@babel/helper-module-transforms@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.22.15.tgz#40ad2f6950f143900e9c1c72363c0b431a606082" + integrity sha512-l1UiX4UyHSFsYt17iQ3Se5pQQZZHa22zyIXURmvkmLCD4t/aU+dvNWHatKac/D9Vm9UES7nvIqHs4jZqKviUmQ== dependencies: "@babel/helper-environment-visitor" "^7.22.5" - "@babel/helper-module-imports" "^7.22.5" + "@babel/helper-module-imports" "^7.22.15" "@babel/helper-simple-access" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/helper-validator-identifier" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.15" "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0": version "7.22.5" @@ -218,29 +227,29 @@ dependencies: "@babel/types" "^7.22.5" -"@babel/helper-string-parser@^7.22.5": +"@babel/helper-string-parser@^7.18.10", "@babel/helper-string-parser@^7.22.5": version "7.22.5" resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== -"@babel/helper-validator-identifier@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz#9544ef6a33999343c8740fa51350f30eeaaaf193" - integrity sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ== +"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.22.15", "@babel/helper-validator-identifier@^7.22.5": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.15.tgz#601fa28e4cc06786c18912dca138cec73b882044" + integrity sha512-4E/F9IIEi8WR94324mbDUMo074YTheJmd7eZF5vITTeYchqAi6sYXRLHUVsmkdmY4QjfKTcB2jB7dVP3NaBElQ== -"@babel/helper-validator-option@^7.22.5": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz#de52000a15a177413c8234fa3a8af4ee8102d0ac" - integrity sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw== +"@babel/helper-validator-option@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.22.15.tgz#694c30dfa1d09a6534cdfcafbe56789d36aba040" + integrity sha512-bMn7RmyFjY/mdECUbgn9eoSY4vqvacUnS9i9vGAGttgFWesO6B4CYWA7XlpbWgBt71iv/hfbPlynohStqnu5hA== -"@babel/helpers@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.11.tgz#b02f5d5f2d7abc21ab59eeed80de410ba70b056a" - integrity sha512-vyOXC8PBWaGc5h7GMsNx68OH33cypkEDJCHvYVVgVbbxJDROYVtexSk0gK5iCF1xNjRIN2s8ai7hwkWDq5szWg== +"@babel/helpers@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.22.15.tgz#f09c3df31e86e3ea0b7ff7556d85cdebd47ea6f1" + integrity sha512-7pAjK0aSdxOwR+CcYAqgWOGy5dcfvzsTIfFTb2odQqW47MDfv14UaJDY6eng8ylM2EaeKXdxaSWESbkmaQHTmw== dependencies: - "@babel/template" "^7.22.5" - "@babel/traverse" "^7.22.11" - "@babel/types" "^7.22.11" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.22.15" + "@babel/types" "^7.22.15" "@babel/highlight@^7.22.13": version "7.22.13" @@ -251,10 +260,15 @@ chalk "^2.4.2" js-tokens "^4.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.11", "@babel/parser@^7.22.5": - version "7.22.14" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.14.tgz#c7de58e8de106e88efca42ce17f0033209dfd245" - integrity sha512-1KucTHgOvaw/LzCVrEOAyXkr9rQlp0A1HiHRYnSUE9dmb8PvPW7o5sscg+5169r54n3vGlbx6GevTE/Iw/P3AQ== +"@babel/parser@7.18.4": + version "7.18.4" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.18.4.tgz#6774231779dd700e0af29f6ad8d479582d7ce5ef" + integrity sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow== + +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.22.15": + version "7.22.16" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.22.16.tgz#180aead7f247305cce6551bea2720934e2fa2c95" + integrity sha512-+gPfKv8UWeKKeJTUxe59+OobVcrYHETCsORl61EmSkmgymguYk/X5bp7GuUIXaFsc6y++v8ZxPsLSSuujqDphA== "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" @@ -340,38 +354,47 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/template@^7.22.5", "@babel/template@^7.3.3": - version "7.22.5" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.5.tgz#0c8c4d944509875849bd0344ff0050756eefc6ec" - integrity sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw== +"@babel/template@^7.22.15", "@babel/template@^7.22.5", "@babel/template@^7.3.3": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.22.15.tgz#09576efc3830f0430f4548ef971dde1350ef2f38" + integrity sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w== dependencies: - "@babel/code-frame" "^7.22.5" - "@babel/parser" "^7.22.5" - "@babel/types" "^7.22.5" + "@babel/code-frame" "^7.22.13" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" -"@babel/traverse@^7.1.0", "@babel/traverse@^7.22.11": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.11.tgz#71ebb3af7a05ff97280b83f05f8865ac94b2027c" - integrity sha512-mzAenteTfomcB7mfPtyi+4oe5BZ6MXxWcn4CX+h4IRJ+OOGXBrWU6jDQavkQI9Vuc5P+donFabBfFCcmWka9lQ== +"@babel/traverse@^7.1.0", "@babel/traverse@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.22.15.tgz#75be4d2d6e216e880e93017f4e2389aeb77ef2d9" + integrity sha512-DdHPwvJY0sEeN4xJU5uRLmZjgMMDIvMPniLuYzUVXj/GGzysPl0/fwt44JBkyUIzGJPV8QgHMcQdQ34XFuKTYQ== dependencies: - "@babel/code-frame" "^7.22.10" - "@babel/generator" "^7.22.10" + "@babel/code-frame" "^7.22.13" + "@babel/generator" "^7.22.15" "@babel/helper-environment-visitor" "^7.22.5" "@babel/helper-function-name" "^7.22.5" "@babel/helper-hoist-variables" "^7.22.5" "@babel/helper-split-export-declaration" "^7.22.6" - "@babel/parser" "^7.22.11" - "@babel/types" "^7.22.11" + "@babel/parser" "^7.22.15" + "@babel/types" "^7.22.15" debug "^4.1.0" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.10", "@babel/types@^7.22.11", "@babel/types@^7.22.5", "@babel/types@^7.3.3": - version "7.22.11" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.11.tgz#0e65a6a1d4d9cbaa892b2213f6159485fe632ea2" - integrity sha512-siazHiGuZRz9aB9NpHy9GOs9xiQPKnMzgdr493iI1M67vRXpnEq8ZOOKzezC5q7zwuQ6sDhdSp4SD9ixKSqKZg== +"@babel/types@7.19.0": + version "7.19.0" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" + integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== + dependencies: + "@babel/helper-string-parser" "^7.18.10" + "@babel/helper-validator-identifier" "^7.18.6" + to-fast-properties "^2.0.0" + +"@babel/types@^7.0.0", "@babel/types@^7.18.2", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.3.3": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.22.15.tgz#266cb21d2c5fd0b3931e7a91b6dd72d2f617d282" + integrity sha512-X+NLXr0N8XXmN5ZsaQdm9U2SSC3UbIYq/doL++sueHOTisgZHoKaQtZxGuV2cUPQHMfjKEfg/g6oy7Hm6SKFtA== dependencies: "@babel/helper-string-parser" "^7.22.5" - "@babel/helper-validator-identifier" "^7.22.5" + "@babel/helper-validator-identifier" "^7.22.15" to-fast-properties "^2.0.0" "@bcherny/json-schema-ref-parser@9.0.9": @@ -1144,7 +1167,15 @@ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14": +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.13", "@jridgewell/sourcemap-codec@^1.4.14": version "1.4.15" resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== @@ -2350,6 +2381,56 @@ ajv "8.12.0" semver "~7.5.4" +"@rollup/plugin-commonjs@^25.0.4": + version "25.0.4" + resolved "https://registry.yarnpkg.com/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.4.tgz#a7547a0c4ec3fa79818eb313e1de0023e548f4e6" + integrity sha512-L92Vz9WUZXDnlQQl3EwbypJR4+DM2EbsO+/KOcEkP4Mc6Ct453EeDB2uH9lgRwj4w5yflgNpq9pHOiY8aoUXBQ== + dependencies: + "@rollup/pluginutils" "^5.0.1" + commondir "^1.0.1" + estree-walker "^2.0.2" + glob "^8.0.3" + is-reference "1.2.1" + magic-string "^0.27.0" + +"@rollup/plugin-node-resolve@^15.2.0": + version "15.2.1" + resolved "https://registry.yarnpkg.com/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.2.1.tgz#a15b14fb7969229e26a30feff2816d39eff503f0" + integrity sha512-nsbUg588+GDSu8/NS8T4UAshO6xeaOfINNuXeVHcKV02LJtoRaM1SiOacClw4kws1SFiNhdLGxlbMY9ga/zs/w== + dependencies: + "@rollup/pluginutils" "^5.0.1" + "@types/resolve" "1.20.2" + deepmerge "^4.2.2" + is-builtin-module "^3.2.1" + is-module "^1.0.0" + resolve "^1.22.1" + +"@rollup/plugin-terser@^0.4.3": + version "0.4.3" + resolved "https://registry.yarnpkg.com/@rollup/plugin-terser/-/plugin-terser-0.4.3.tgz#c2bde2fe3a85e45fa68a454d48f4e73e57f98b30" + integrity sha512-EF0oejTMtkyhrkwCdg0HJ0IpkcaVg1MMSf2olHb2Jp+1mnLM04OhjpJWGma4HobiDTF0WCyViWuvadyE9ch2XA== + dependencies: + serialize-javascript "^6.0.1" + smob "^1.0.0" + terser "^5.17.4" + +"@rollup/plugin-typescript@^11.1.2": + version "11.1.3" + resolved "https://registry.yarnpkg.com/@rollup/plugin-typescript/-/plugin-typescript-11.1.3.tgz#8172858a1e5f4c181aebc61f8920002fd5e04b91" + integrity sha512-8o6cNgN44kQBcpsUJTbTXMTtb87oR1O0zgP3Dxm71hrNgparap3VujgofEilTYJo+ivf2ke6uy3/E5QEaiRlDA== + dependencies: + "@rollup/pluginutils" "^5.0.1" + resolve "^1.22.1" + +"@rollup/pluginutils@^5.0.1": + version "5.0.4" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-5.0.4.tgz#74f808f9053d33bafec0cc98e7b835c9667d32ba" + integrity sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g== + dependencies: + "@types/estree" "^1.0.0" + estree-walker "^2.0.2" + picomatch "^2.3.1" + "@sinclair/typebox@^0.24.1": version "0.24.51" resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f" @@ -2468,7 +2549,7 @@ "@types/estree" "*" "@types/json-schema" "*" -"@types/estree@*": +"@types/estree@*", "@types/estree@^1.0.0": version "1.0.1" resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194" integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA== @@ -2554,9 +2635,9 @@ integrity sha512-0d5Wd09ItQWH1qFbEyQ7oTQ3GZrMfth5JkbN3EvTKLXcHLRDSXeLnlvlOn0wvxVIwK5o2M8JzP/OWz7T3NRsbw== "@types/lodash@^4.14.182": - version "4.14.197" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.197.tgz#e95c5ddcc814ec3e84c891910a01e0c8a378c54b" - integrity sha512-BMVOiWs0uNxHVlHBgzTIqJYmj+PgCo4euloGF+5m4okL3rEYzM2EEv78mw8zWSMM57dM7kVIgJ2QDvwHSoCI5g== + version "4.14.198" + resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.198.tgz#4d27465257011aedc741a809f1269941fa2c5d4c" + integrity sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg== "@types/minimatch@*", "@types/minimatch@^5.1.2": version "5.1.2" @@ -2623,6 +2704,11 @@ "@types/prop-types" "*" csstype "^2.2.0" +"@types/resolve@1.20.2": + version "1.20.2" + resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.2.tgz#97d26e00cd4a0423b4af620abecf3e6f442b7975" + integrity sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q== + "@types/rimraf@3.0.0": version "3.0.0" resolved "https://registry.yarnpkg.com/@types/rimraf/-/rimraf-3.0.0.tgz#b9d03f090ece263671898d57bb7bb007023ac19f" @@ -2815,7 +2901,7 @@ acorn@^7.1.1, acorn@^7.4.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4, acorn@^8.4.1: +acorn@^8.2.4, acorn@^8.4.1, acorn@^8.8.2: version "8.10.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5" integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw== @@ -3008,14 +3094,14 @@ array-ify@^1.0.0: integrity sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== array-includes@^3.1.1: - version "3.1.6" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== + version "3.1.7" + resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.7.tgz#8cd2e01b26f7a3086cbc87271593fe921c62abda" + integrity sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" + define-properties "^1.2.0" + es-abstract "^1.22.1" + get-intrinsic "^1.2.1" is-string "^1.0.7" array-union@^2.1.0: @@ -3029,13 +3115,13 @@ array-unique@^0.3.2: integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== array.prototype.flat@^1.2.3: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== + version "1.3.2" + resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz#1476217df8cff17d72ee8f3ba06738db5b387d18" + integrity sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" es-shim-unscopables "^1.0.0" array.prototype.reduce@^1.0.6: @@ -3050,13 +3136,14 @@ array.prototype.reduce@^1.0.6: is-string "^1.0.7" arraybuffer.prototype.slice@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.1.tgz#9b5ea3868a6eebc30273da577eb888381c0044bb" - integrity sha512-09x0ZWFEjj4WD8PDbykUwo3t9arLn8NIzmmYEJFpYekOAQjpkGSyrQhNoRTcwwcFRu+ycWF78QZ63oWTqSjBcw== + version "1.0.2" + resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz#98bd561953e3e74bb34938e77647179dfe6e9f12" + integrity sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw== dependencies: array-buffer-byte-length "^1.0.0" call-bind "^1.0.2" define-properties "^1.2.0" + es-abstract "^1.22.1" get-intrinsic "^1.2.1" is-array-buffer "^3.0.2" is-shared-array-buffer "^1.0.2" @@ -3300,6 +3387,15 @@ binaryen@102.0.0-nightly.20211028: resolved "https://registry.yarnpkg.com/binaryen/-/binaryen-102.0.0-nightly.20211028.tgz#8f1efb0920afd34509e342e37f84313ec936afb2" integrity sha512-GCJBVB5exbxzzvyt8MGDv/MeUjs6gkXDvf4xOIItRBptYl0Tz5sm1o/uG95YK0L0VeG5ajDu3hRtkBP2kzqC5w== +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + bn.js@^4.11.9: version "4.12.0" resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" @@ -3318,6 +3414,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" @@ -3398,6 +3501,11 @@ buffer@^5.5.0, buffer@^5.6.0: base64-js "^1.3.1" ieee754 "^1.1.13" +builtin-modules@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" + integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== + builtins@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/builtins/-/builtins-1.0.3.tgz#cb94faeb61c8696451db36534e1422f94f0aee88" @@ -3490,9 +3598,9 @@ camelcase@^6.0.0: integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== caniuse-lite@^1.0.30001517: - version "1.0.30001525" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001525.tgz#d2e8fdec6116ffa36284ca2c33ef6d53612fe1c8" - integrity sha512-/3z+wB4icFt3r0USMwxujAqRvaD/B7rvGTsKhbhSQErVrJvkZCLhgNLJxU8MevahQVH6hCU9FsHdNUFbiwmE7Q== + version "1.0.30001527" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001527.tgz#813826554828245ccee776c850566dce12bdeaba" + integrity sha512-YkJi7RwPgWtXVSgK4lG9AHH57nSzvvOp9MesgXmw4Q7n0C3H04L0foHqfxcmSAm5AcWb8dW9AYj2tR7/5GnddQ== capture-exit@^2.0.0: version "2.0.0" @@ -3531,7 +3639,7 @@ chalk@^3.0.0: ansi-styles "^4.1.0" supports-color "^7.1.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1: +chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -3564,7 +3672,7 @@ chokidar@3.5.1: optionalDependencies: fsevents "~2.3.1" -chownr@^1.1.4: +chownr@^1.1.1, chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -3749,11 +3857,16 @@ commander@9.2.0: resolved "https://registry.yarnpkg.com/commander/-/commander-9.2.0.tgz#6e21014b2ed90d8b7c9647230d8b7a94a4a419a9" integrity sha512-e2i4wANQiSXgnrBlIatyHtP1odfUp0BbV5Y5nEGbxtIrStkEOAAzCUirvLBNXHLr7kwLvJl6V+4V3XV9x7Wd9w== -commander@^2.19.0: +commander@^2.19.0, commander@^2.20.0: version "2.20.3" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== +commondir@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b" + integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg== + compare-func@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3" @@ -4070,11 +4183,23 @@ decode-uri-component@^0.2.0: resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + dedent@^0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -4147,6 +4272,11 @@ detect-indent@^6.0.0: resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6" integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== +detect-libc@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" + integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -4262,9 +4392,9 @@ ecc-jsbn@~0.1.1: safer-buffer "^2.1.0" electron-to-chromium@^1.4.477: - version "1.4.508" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.508.tgz#5641ff2f5ba11df4bd960fe6a2f9f70aa8b9af96" - integrity sha512-FFa8QKjQK/A5QuFr2167myhMesGrhlOBD+3cYNxO9/S4XzHEXesyTD/1/xF644gC8buFPz3ca6G1LOQD0tZrrg== + version "1.4.509" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.509.tgz#9e276f8fcd70e1dfac541390da56a1ed7eea43d1" + integrity sha512-G5KlSWY0zzhANtX15tkikHl4WB7zil2Y65oT52EZUL194abjUXBZym12Ht7Bhuwm/G3LJFEqMADyv2Cks56dmg== elliptic@6.5.4: version "6.5.4" @@ -4301,7 +4431,7 @@ encoding@^0.1.12: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.1.0: +end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -4649,6 +4779,11 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -4769,6 +4904,11 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + expect@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" @@ -5030,6 +5170,19 @@ fragment-cache@^0.2.1: dependencies: map-cache "^0.2.2" +from2@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af" + integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g== + dependencies: + inherits "^2.0.1" + readable-stream "^2.0.0" + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + fs-extra@9.0.1: version "9.0.1" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.0.1.tgz#910da0062437ba4c39fedd863f1675ccfefcb9fc" @@ -5069,7 +5222,7 @@ fs.realpath@^1.0.0: resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== -fsevents@^2.1.2, fsevents@~2.3.1: +fsevents@^2.1.2, fsevents@~2.3.1, fsevents@~2.3.2: version "2.3.3" resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== @@ -5246,6 +5399,11 @@ gitconfiglocal@^1.0.0: dependencies: ini "^1.3.2" +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== + glob-parent@^5.0.0, glob-parent@^5.1.1, glob-parent@^5.1.2, glob-parent@~5.1.0: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -5272,6 +5430,17 @@ glob@^7.0.0, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, gl once "^1.3.0" path-is-absolute "^1.0.0" +glob@^8.0.3: + version "8.1.0" + resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -5291,7 +5460,7 @@ globalthis@^1.0.3: dependencies: define-properties "^1.1.3" -globby@^11.0.1, globby@^11.0.2: +globby@^11.0.1, globby@^11.0.2, globby@^11.1.0: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -5611,7 +5780,7 @@ inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== -ini@^1.3.2, ini@^1.3.4: +ini@^1.3.2, ini@^1.3.4, ini@~1.3.0: version "1.3.8" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== @@ -5679,6 +5848,14 @@ intl-messageformat@9.5.2: intl-messageformat-parser "6.4.2" tslib "^2.1.0" +into-stream@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-6.0.0.tgz#4bfc1244c0128224e18b8870e85b2de8e66c6702" + integrity sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA== + dependencies: + from2 "^2.3.0" + p-is-promise "^3.0.0" + invert-kv@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-3.0.1.tgz#a93c7a3d4386a1dc8325b97da9bb1620c0282523" @@ -5752,6 +5929,13 @@ is-buffer@^1.1.5: resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== +is-builtin-module@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/is-builtin-module/-/is-builtin-module-3.2.1.tgz#f03271717d8654cfcaf07ab0463faa3571581169" + integrity sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A== + dependencies: + builtin-modules "^3.3.0" + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -5764,6 +5948,13 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" +is-core-module@2.9.0: + version "2.9.0" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.9.0.tgz#e1c34429cd51c6dd9e09e0799e396e27b19a9c69" + integrity sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A== + dependencies: + has "^1.0.3" + is-core-module@^2.13.0, is-core-module@^2.5.0: version "2.13.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.0.tgz#bb52aa6e2cbd49a30c2ba68c42bf3435ba6072db" @@ -5861,6 +6052,11 @@ is-lambda@^1.0.1: resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== +is-module@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" + integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g== + is-negated-glob@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-negated-glob/-/is-negated-glob-1.0.0.tgz#6910bca5da8c95e784b5751b976cf5a10fee36d2" @@ -5927,6 +6123,13 @@ is-promise@^2.2.2: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== +is-reference@1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-1.2.1.tgz#8b2dac0b371f4bc994fdeaba9eb542d03002d0b7" + integrity sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ== + dependencies: + "@types/estree" "*" + is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -6926,6 +7129,13 @@ lru-queue@^0.1.0: dependencies: es5-ext "~0.10.2" +magic-string@^0.27.0: + version "0.27.0" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.27.0.tgz#e4a3413b4bab6d98d2becffd48b4a257effdbbf3" + integrity sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.13" + make-dir@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -7126,6 +7336,11 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + min-indent@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -7148,6 +7363,13 @@ minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.1: dependencies: brace-expansion "^1.1.7" +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + minimist-options@4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619" @@ -7157,7 +7379,7 @@ minimist-options@4.1.0: is-plain-obj "^1.1.0" kind-of "^6.0.3" -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -7252,6 +7474,11 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" +mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + mkdirp-infer-owner@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" @@ -7349,6 +7576,14 @@ multimatch@^5.0.0: arrify "^2.0.1" minimatch "^3.0.4" +multistream@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/multistream/-/multistream-4.1.0.tgz#7bf00dfd119556fbc153cff3de4c6d477909f5a8" + integrity sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw== + dependencies: + once "^1.4.0" + readable-stream "^3.6.0" + mustache@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.0.1.tgz#d99beb031701ad433338e7ea65e0489416c854a2" @@ -7385,6 +7620,11 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +napi-build-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" + integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -7420,7 +7660,14 @@ nice-try@^1.0.4: resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== -node-fetch@^2.6.1, node-fetch@^2.6.7: +node-abi@^3.3.0: + version "3.47.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.47.0.tgz#6cbfa2916805ae25c2b7156ca640131632eb05e8" + integrity sha512-2s6B2CWZM//kPgwnuI0KrYwNjfdByE25zvAaEpq9IH4zcNsarH8Ihu/UuX6XMPEogDAxkuUFeZn60pXNHAqn3A== + dependencies: + semver "^7.3.5" + +node-fetch@^2.6.1, node-fetch@^2.6.6, node-fetch@^2.6.7: version "2.7.0" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== @@ -7810,6 +8057,11 @@ p-is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== +p-is-promise@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-3.0.0.tgz#58e78c7dfe2e163cf2a04ff869e7c1dba64a5971" + integrity sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ== + p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -8080,11 +8332,63 @@ pkg-dir@^4.2.0: dependencies: find-up "^4.0.0" +pkg-fetch@3.4.2: + version "3.4.2" + resolved "https://registry.yarnpkg.com/pkg-fetch/-/pkg-fetch-3.4.2.tgz#6f68ebc54842b73f8c0808959a9df3739dcb28b7" + integrity sha512-0+uijmzYcnhC0hStDjm/cl2VYdrmVVBpe7Q8k9YBojxmR5tG8mvR9/nooQq3QSXiQqORDVOTY3XqMEqJVIzkHA== + dependencies: + chalk "^4.1.2" + fs-extra "^9.1.0" + https-proxy-agent "^5.0.0" + node-fetch "^2.6.6" + progress "^2.0.3" + semver "^7.3.5" + tar-fs "^2.1.1" + yargs "^16.2.0" + +pkg@5.8.1: + version "5.8.1" + resolved "https://registry.yarnpkg.com/pkg/-/pkg-5.8.1.tgz#862020f3c0575638ef7d1146f951a54d65ddc984" + integrity sha512-CjBWtFStCfIiT4Bde9QpJy0KeH19jCfwZRJqHFDFXfhUklCx8JoFmMj3wgnEYIwGmZVNkhsStPHEOnrtrQhEXA== + dependencies: + "@babel/generator" "7.18.2" + "@babel/parser" "7.18.4" + "@babel/types" "7.19.0" + chalk "^4.1.2" + fs-extra "^9.1.0" + globby "^11.1.0" + into-stream "^6.0.0" + is-core-module "2.9.0" + minimist "^1.2.6" + multistream "^4.1.0" + pkg-fetch "3.4.2" + prebuild-install "7.1.1" + resolve "^1.22.0" + stream-meter "^1.0.4" + posix-character-classes@^0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== +prebuild-install@7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45" + integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== + dependencies: + detect-libc "^2.0.0" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^3.3.0" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^4.0.0" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -8142,7 +8446,7 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -progress@^2.0.0: +progress@^2.0.0, progress@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== @@ -8268,6 +8572,23 @@ randexp@0.4.6: discontinuous-range "1.0.0" ret "~0.1.10" +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + react-is@^16.12.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" @@ -8395,7 +8716,7 @@ read@1, read@~1.0.1: dependencies: mute-stream "~0.0.4" -readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2: +readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -8404,7 +8725,7 @@ readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2: string_decoder "^1.1.1" util-deprecate "^1.0.1" -readable-stream@^2.0.6, readable-stream@~2.3.6: +readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@~2.3.6: version "2.3.8" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== @@ -8569,7 +8890,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== -resolve@^1.1.6, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.22.4: +resolve@^1.1.6, resolve@^1.10.0, resolve@^1.17.0, resolve@^1.18.1, resolve@^1.22.0, resolve@^1.22.1, resolve@^1.22.4: version "1.22.4" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.4.tgz#1dc40df46554cdaf8948a486a10f6ba1e2026c34" integrity sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg== @@ -8615,6 +8936,13 @@ rimraf@^2.6.3: dependencies: glob "^7.1.3" +rollup@^3.28.0: + version "3.29.0" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.29.0.tgz#1b40e64818afc979c7e5bef93de675829288986b" + integrity sha512-nszM8DINnx1vSS+TpbWKMkxem0CDWk3cSit/WWCBVs9/JZ1I/XLwOsiUglYuYReaeWWSsW9kge5zE5NZtf/a4w== + optionalDependencies: + fsevents "~2.3.2" + rsvp@^4.8.4: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -8640,16 +8968,16 @@ rxjs@^6.6.0: tslib "^1.9.0" safe-array-concat@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.0.tgz#2064223cba3c08d2ee05148eedbc563cd6d84060" - integrity sha512-9dVEFruWIsnie89yym+xWTAYASdpw3CJV7Li/6zBewGf9z2i1j31rP6jnY0pHEO4QZh6N0K11bFjWmdR8UGdPQ== + version "1.0.1" + resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.0.1.tgz#91686a63ce3adbea14d61b14c99572a8ff84754c" + integrity sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q== dependencies: call-bind "^1.0.2" - get-intrinsic "^1.2.0" + get-intrinsic "^1.2.1" has-symbols "^1.0.3" isarray "^2.0.5" -safe-buffer@^5.0.1, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@~5.2.0: +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.2, safe-buffer@^5.2.1, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -8731,6 +9059,13 @@ semver@^6.0.0, semver@^6.3.0, semver@^6.3.1: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== +serialize-javascript@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c" + integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w== + dependencies: + randombytes "^2.1.0" + set-blocking@^2.0.0, set-blocking@~2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" @@ -8805,6 +9140,20 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" + integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== + dependencies: + decompress-response "^6.0.0" + once "^1.3.1" + simple-concat "^1.0.0" + sisteransi@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" @@ -8834,6 +9183,11 @@ smart-buffer@^4.2.0: resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== +smob@^1.0.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/smob/-/smob-1.4.0.tgz#ac9751fe54b1fc1fc8286a628d4e7f824273b95a" + integrity sha512-MqR3fVulhjWuRNSMydnTlweu38UhQ0HXM4buStD/S3mc/BzX3CuM9OmhyQpmtYCvoYdl5ris6TI0ZqH355Ymqg== + snapdragon-node@^2.0.1: version "2.1.1" resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" @@ -8915,7 +9269,7 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.20, source-map-support@^0.5.6: +source-map-support@^0.5.20, source-map-support@^0.5.6, source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -9042,6 +9396,13 @@ static-extend@^0.1.1: define-property "^0.2.5" object-copy "^0.1.0" +stream-meter@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/stream-meter/-/stream-meter-1.0.4.tgz#52af95aa5ea760a2491716704dbff90f73afdd1d" + integrity sha512-4sOEtrbgFotXwnEuzzsQBYEV1elAeFSO8rSGeTwabuX1RRn/kEq9JVH7I0MRBhKVRR0sJkr0M0QCH7yOLf9fhQ== + dependencies: + readable-stream "^2.1.4" + strict-uri-encode@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" @@ -9092,13 +9453,13 @@ string.prototype.trimend@^1.0.6: es-abstract "^1.20.4" string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== + version "1.0.7" + resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298" + integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg== dependencies: call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" + define-properties "^1.2.0" + es-abstract "^1.22.1" string_decoder@^1.1.1: version "1.3.0" @@ -9165,6 +9526,11 @@ strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + strong-log-transformer@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz#0f5ed78d325e0421ac6f90f7f10e691d6ae3ae10" @@ -9217,6 +9583,27 @@ table@^6.0.4, table@^6.7.1: string-width "^4.2.3" strip-ansi "^6.0.1" +tar-fs@^2.0.0, tar-fs@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + tar@^4.4.12: version "4.4.19" resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" @@ -9231,9 +9618,9 @@ tar@^4.4.12: yallist "^3.1.1" tar@^6.0.2, tar@^6.1.0: - version "6.1.15" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.15.tgz#c9738b0b98845a3b344d334b8fa3041aaba53a69" - integrity sha512-/zKt9UyngnxIT/EAGYuxaMYgOIJiP81ab9ZfkILq4oNLPFX50qyYmu7jRj9qeXoxmJHjGlbH0+cm2uy1WCs10A== + version "6.2.0" + resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" + integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== dependencies: chownr "^2.0.0" fs-minipass "^2.0.0" @@ -9266,6 +9653,16 @@ terminal-link@^2.0.0: ansi-escapes "^4.2.1" supports-hyperlinks "^2.0.0" +terser@^5.17.4: + version "5.19.4" + resolved "https://registry.yarnpkg.com/terser/-/terser-5.19.4.tgz#941426fa482bf9b40a0308ab2b3cd0cf7c775ebd" + integrity sha512-6p1DjHeuluwxDXcuT9VR8p64klWJKo1ILiy19s6C9+0Bh2+NWTX6nD9EPppiER4ICkHDVB1RkVpin/YW2nQn/g== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -9485,7 +9882,7 @@ tslib@^1.8.1, tslib@^1.9.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.1.0: +tslib@^2.1.0, tslib@^2.6.2: version "2.6.2" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.2.tgz#703ac29425e7b37cd6fd456e92404d46d1f3e4ae" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== @@ -9612,6 +10009,11 @@ typescript@4.9.5, typescript@^4.0: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +typescript@^5.1.6: + version "5.2.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.2.2.tgz#5ebb5e5a5b75f085f22bc3f8460fba308310fa78" + integrity sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w== + uglify-js@^3.1.4: version "3.17.4" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.17.4.tgz#61678cf5fa3f5b7eb789bb345df29afb8257c22c"