Skip to content

Commit

Permalink
build(yarn): Add ts script based on @esbuild-kit/esm-loader
Browse files Browse the repository at this point in the history
To replace `yarn ts-node` in the future.
  • Loading branch information
PetarKirov committed Mar 1, 2024
1 parent 6d7b011 commit 950bede
Show file tree
Hide file tree
Showing 3 changed files with 279 additions and 8 deletions.
3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
"license": "CC0-1.0",
"description": "A smart contract implementation of the Ethereum light client sync protocol",
"packageManager": "yarn@4.1.0",
"type": "module",
"workspaces": [
"beacon-light-client/circom",
"beacon-light-client/solidity",
Expand All @@ -30,6 +31,7 @@
],
"devDependencies": {
"@chainsafe/ssz": "^0.14.3",
"@esbuild-kit/esm-loader": "^2.6.5",
"@jest/globals": "^29.7.0",
"@jest/types": "^29.6.3",
"@noble/bls12-381": "^1.3.0",
Expand All @@ -54,6 +56,7 @@
"format:write": "prettier --write . && alejandra --exclude ./node_modules --exclude ./yarn-project.nix .",
"test": "jest --verbose --silent -i",
"test-emcc": "USE_EMCC=1 jest --verbose --silent",
"ts": "yarn node --loader @esbuild-kit/esm-loader",
"build-plonky-2": "tsc -p beacon-light-client/plonky2/tsconfig.json"
},
"dependencies": {
Expand Down
14 changes: 7 additions & 7 deletions yarn-project.nix
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ let
rm $out/.gitignore
'';
outputHashMode = "recursive";
outputHash = "sha512-KVWM4JHduHTscwl6wKXPvbGMj7SZ7TQfO6ndyoEmapoRw8a9QX19wHXXyi26yOlKiYi50BNzxMGpzg4GJHmNFQ==";
outputHash = "sha512-80GmzZHRzJIZZ6qFx4JQjn8ARC5WMUZsebuOy3gi9+deE7MqSt2YB8SDjW3ap/XFwrX796Bda5dhT7l/nCuj3Q==";
};

# Create a derivation that builds a module in isolation.
Expand Down Expand Up @@ -130,11 +130,6 @@ let
"blake-hash@npm:2.0.0" \
${isolated."blake-hash@npm:2.0.0"} \
".yarn/unplugged/blake-hash-npm-2.0.0-c63b9a2c2d/node_modules/blake-hash"
echo 'injecting build for bcrypt'
yarn nixify inject-build \
"bcrypt@npm:5.0.1" \
${isolated."bcrypt@npm:5.0.1"} \
".yarn/unplugged/bcrypt-npm-5.0.1-6815be1cfe/node_modules/bcrypt"
echo 'injecting build for bcrypto'
yarn nixify inject-build \
"bcrypto@npm:5.4.0" \
Expand Down Expand Up @@ -190,6 +185,11 @@ let
"utf-8-validate@npm:5.0.10" \
${isolated."utf-8-validate@npm:5.0.10"} \
".yarn/unplugged/utf-8-validate-npm-5.0.10-93e9b6f750/node_modules/utf-8-validate"
echo 'injecting build for bcrypt'
yarn nixify inject-build \
"bcrypt@npm:5.0.1" \
${isolated."bcrypt@npm:5.0.1"} \
".yarn/unplugged/bcrypt-npm-5.0.1-6815be1cfe/node_modules/bcrypt"
echo 'injecting build for redis-commander'
yarn nixify inject-build \
"redis-commander@npm:0.8.0" \
Expand Down Expand Up @@ -254,7 +254,6 @@ let

isolated."msgpackr-extract@npm:3.0.0" = optionalOverride (args.overrideMsgpackrExtractAttrs or null) (mkIsolatedBuild { pname = "msgpackr-extract"; version = "3.0.0"; reference = "npm:3.0.0"; });
isolated."blake-hash@npm:2.0.0" = optionalOverride (args.overrideBlakeHashAttrs or null) (mkIsolatedBuild { pname = "blake-hash"; version = "2.0.0"; reference = "npm:2.0.0"; });
isolated."bcrypt@npm:5.0.1" = optionalOverride (args.overrideBcryptAttrs or null) (mkIsolatedBuild { pname = "bcrypt"; version = "5.0.1"; reference = "npm:5.0.1"; });
isolated."bcrypto@npm:5.4.0" = optionalOverride (args.overrideBcryptoAttrs or null) (mkIsolatedBuild { pname = "bcrypto"; version = "5.4.0"; reference = "npm:5.4.0"; });
isolated."keccak@npm:3.0.3" = optionalOverride (args.overrideKeccakAttrs or null) (mkIsolatedBuild { pname = "keccak"; version = "3.0.3"; reference = "npm:3.0.3"; });
isolated."secp256k1@npm:4.0.3" = optionalOverride (args.overrideSecp256k1Attrs or null) (mkIsolatedBuild { pname = "secp256k1"; version = "4.0.3"; reference = "npm:4.0.3"; });
Expand All @@ -266,5 +265,6 @@ isolated."utf-8-validate@npm:5.0.7" = optionalOverride (args.overrideUtf8Validat
isolated."msgpackr-extract@npm:3.0.2" = optionalOverride (args.overrideMsgpackrExtractAttrs or null) (mkIsolatedBuild { pname = "msgpackr-extract"; version = "3.0.2"; reference = "npm:3.0.2"; });
isolated."bufferutil@npm:4.0.7" = optionalOverride (args.overrideBufferutilAttrs or null) (mkIsolatedBuild { pname = "bufferutil"; version = "4.0.7"; reference = "npm:4.0.7"; });
isolated."utf-8-validate@npm:5.0.10" = optionalOverride (args.overrideUtf8ValidateAttrs or null) (mkIsolatedBuild { pname = "utf-8-validate"; version = "5.0.10"; reference = "npm:5.0.10"; });
isolated."bcrypt@npm:5.0.1" = optionalOverride (args.overrideBcryptAttrs or null) (mkIsolatedBuild { pname = "bcrypt"; version = "5.0.1"; reference = "npm:5.0.1"; });
isolated."redis-commander@npm:0.8.0" = optionalOverride (args.overrideRedisCommanderAttrs or null) (mkIsolatedBuild { pname = "redis-commander"; version = "0.8.0"; reference = "npm:0.8.0"; });
in overriddenProject
270 changes: 269 additions & 1 deletion yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1030,6 +1030,180 @@ __metadata:
languageName: node
linkType: hard

"@esbuild-kit/core-utils@npm:^3.3.2":
version: 3.3.2
resolution: "@esbuild-kit/core-utils@npm:3.3.2"
dependencies:
esbuild: "npm:~0.18.20"
source-map-support: "npm:^0.5.21"
checksum: 10/012387ed407c57b9735bf2cc5bc3b9b35888f69376bb7d749e9e16415248deeb66b7d93444458239ba15872738a4b5d4e8466b7260e721c6de477dd5e87ef945
languageName: node
linkType: hard

"@esbuild-kit/esm-loader@npm:^2.6.5":
version: 2.6.5
resolution: "@esbuild-kit/esm-loader@npm:2.6.5"
dependencies:
"@esbuild-kit/core-utils": "npm:^3.3.2"
get-tsconfig: "npm:^4.7.0"
checksum: 10/e7dac48017fbb7e13f0519ff25f700c38c78ccc8ae2d7d117216c6658d8d21499d01b4381287acdf2f7dde36d812b9a3e57a3c4b38cec4717173cd65c13037e0
languageName: node
linkType: hard

"@esbuild/android-arm64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/android-arm64@npm:0.18.20"
conditions: os=android & cpu=arm64
languageName: node
linkType: hard

"@esbuild/android-arm@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/android-arm@npm:0.18.20"
conditions: os=android & cpu=arm
languageName: node
linkType: hard

"@esbuild/android-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/android-x64@npm:0.18.20"
conditions: os=android & cpu=x64
languageName: node
linkType: hard

"@esbuild/darwin-arm64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/darwin-arm64@npm:0.18.20"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard

"@esbuild/darwin-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/darwin-x64@npm:0.18.20"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard

"@esbuild/freebsd-arm64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/freebsd-arm64@npm:0.18.20"
conditions: os=freebsd & cpu=arm64
languageName: node
linkType: hard

"@esbuild/freebsd-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/freebsd-x64@npm:0.18.20"
conditions: os=freebsd & cpu=x64
languageName: node
linkType: hard

"@esbuild/linux-arm64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-arm64@npm:0.18.20"
conditions: os=linux & cpu=arm64
languageName: node
linkType: hard

"@esbuild/linux-arm@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-arm@npm:0.18.20"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard

"@esbuild/linux-ia32@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-ia32@npm:0.18.20"
conditions: os=linux & cpu=ia32
languageName: node
linkType: hard

"@esbuild/linux-loong64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-loong64@npm:0.18.20"
conditions: os=linux & cpu=loong64
languageName: node
linkType: hard

"@esbuild/linux-mips64el@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-mips64el@npm:0.18.20"
conditions: os=linux & cpu=mips64el
languageName: node
linkType: hard

"@esbuild/linux-ppc64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-ppc64@npm:0.18.20"
conditions: os=linux & cpu=ppc64
languageName: node
linkType: hard

"@esbuild/linux-riscv64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-riscv64@npm:0.18.20"
conditions: os=linux & cpu=riscv64
languageName: node
linkType: hard

"@esbuild/linux-s390x@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-s390x@npm:0.18.20"
conditions: os=linux & cpu=s390x
languageName: node
linkType: hard

"@esbuild/linux-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/linux-x64@npm:0.18.20"
conditions: os=linux & cpu=x64
languageName: node
linkType: hard

"@esbuild/netbsd-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/netbsd-x64@npm:0.18.20"
conditions: os=netbsd & cpu=x64
languageName: node
linkType: hard

"@esbuild/openbsd-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/openbsd-x64@npm:0.18.20"
conditions: os=openbsd & cpu=x64
languageName: node
linkType: hard

"@esbuild/sunos-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/sunos-x64@npm:0.18.20"
conditions: os=sunos & cpu=x64
languageName: node
linkType: hard

"@esbuild/win32-arm64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/win32-arm64@npm:0.18.20"
conditions: os=win32 & cpu=arm64
languageName: node
linkType: hard

"@esbuild/win32-ia32@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/win32-ia32@npm:0.18.20"
conditions: os=win32 & cpu=ia32
languageName: node
linkType: hard

"@esbuild/win32-x64@npm:0.18.20":
version: 0.18.20
resolution: "@esbuild/win32-x64@npm:0.18.20"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard

"@ethereum-waffle/chai@npm:4.0.10":
version: 4.0.10
resolution: "@ethereum-waffle/chai@npm:4.0.10"
Expand Down Expand Up @@ -3715,6 +3889,7 @@ __metadata:
"@cosmjs/cosmwasm-stargate": "npm:^0.30.0"
"@cosmjs/proto-signing": "npm:^0.30.0"
"@cosmjs/stargate": "npm:^0.30.0"
"@esbuild-kit/esm-loader": "npm:^2.6.5"
"@iden3/binfileutils": "npm:^0.0.11"
"@jest/globals": "npm:^29.7.0"
"@jest/types": "npm:^29.6.3"
Expand Down Expand Up @@ -6487,6 +6662,83 @@ __metadata:
languageName: node
linkType: hard

"esbuild@npm:~0.18.20":
version: 0.18.20
resolution: "esbuild@npm:0.18.20"
dependencies:
"@esbuild/android-arm": "npm:0.18.20"
"@esbuild/android-arm64": "npm:0.18.20"
"@esbuild/android-x64": "npm:0.18.20"
"@esbuild/darwin-arm64": "npm:0.18.20"
"@esbuild/darwin-x64": "npm:0.18.20"
"@esbuild/freebsd-arm64": "npm:0.18.20"
"@esbuild/freebsd-x64": "npm:0.18.20"
"@esbuild/linux-arm": "npm:0.18.20"
"@esbuild/linux-arm64": "npm:0.18.20"
"@esbuild/linux-ia32": "npm:0.18.20"
"@esbuild/linux-loong64": "npm:0.18.20"
"@esbuild/linux-mips64el": "npm:0.18.20"
"@esbuild/linux-ppc64": "npm:0.18.20"
"@esbuild/linux-riscv64": "npm:0.18.20"
"@esbuild/linux-s390x": "npm:0.18.20"
"@esbuild/linux-x64": "npm:0.18.20"
"@esbuild/netbsd-x64": "npm:0.18.20"
"@esbuild/openbsd-x64": "npm:0.18.20"
"@esbuild/sunos-x64": "npm:0.18.20"
"@esbuild/win32-arm64": "npm:0.18.20"
"@esbuild/win32-ia32": "npm:0.18.20"
"@esbuild/win32-x64": "npm:0.18.20"
dependenciesMeta:
"@esbuild/android-arm":
optional: true
"@esbuild/android-arm64":
optional: true
"@esbuild/android-x64":
optional: true
"@esbuild/darwin-arm64":
optional: true
"@esbuild/darwin-x64":
optional: true
"@esbuild/freebsd-arm64":
optional: true
"@esbuild/freebsd-x64":
optional: true
"@esbuild/linux-arm":
optional: true
"@esbuild/linux-arm64":
optional: true
"@esbuild/linux-ia32":
optional: true
"@esbuild/linux-loong64":
optional: true
"@esbuild/linux-mips64el":
optional: true
"@esbuild/linux-ppc64":
optional: true
"@esbuild/linux-riscv64":
optional: true
"@esbuild/linux-s390x":
optional: true
"@esbuild/linux-x64":
optional: true
"@esbuild/netbsd-x64":
optional: true
"@esbuild/openbsd-x64":
optional: true
"@esbuild/sunos-x64":
optional: true
"@esbuild/win32-arm64":
optional: true
"@esbuild/win32-ia32":
optional: true
"@esbuild/win32-x64":
optional: true
bin:
esbuild: bin/esbuild
checksum: 10/1f723ec71c3aa196473bf3298316eedc3f62d523924652dfeb60701b609792f918fc60db84b420d1d8ba9bfa7d69de2fc1d3157ba47c028bdae5d507a26a3c64
languageName: node
linkType: hard

"escalade@npm:^3.1.1":
version: 3.1.1
resolution: "escalade@npm:3.1.1"
Expand Down Expand Up @@ -7583,6 +7835,15 @@ __metadata:
languageName: node
linkType: hard

"get-tsconfig@npm:^4.7.0":
version: 4.7.2
resolution: "get-tsconfig@npm:4.7.2"
dependencies:
resolve-pkg-maps: "npm:^1.0.0"
checksum: 10/f21135848fb5d16012269b7b34b186af7a41824830f8616aba17a15eb4d9e54fdc876833f1e21768395215a826c8145582f5acd594ae2b4de3284d10b38d20f8
languageName: node
linkType: hard

"getpass@npm:^0.1.1":
version: 0.1.7
resolution: "getpass@npm:0.1.7"
Expand Down Expand Up @@ -12059,6 +12320,13 @@ __metadata:
languageName: node
linkType: hard

"resolve-pkg-maps@npm:^1.0.0":
version: 1.0.0
resolution: "resolve-pkg-maps@npm:1.0.0"
checksum: 10/0763150adf303040c304009231314d1e84c6e5ebfa2d82b7d94e96a6e82bacd1dcc0b58ae257315f3c8adb89a91d8d0f12928241cba2df1680fbe6f60bf99b0e
languageName: node
linkType: hard

"resolve.exports@npm:^2.0.0":
version: 2.0.2
resolution: "resolve.exports@npm:2.0.2"
Expand Down Expand Up @@ -12775,7 +13043,7 @@ __metadata:
languageName: node
linkType: hard

"source-map-support@npm:^0.5.13, source-map-support@npm:^0.5.16":
"source-map-support@npm:^0.5.13, source-map-support@npm:^0.5.16, source-map-support@npm:^0.5.21":
version: 0.5.21
resolution: "source-map-support@npm:0.5.21"
dependencies:
Expand Down

0 comments on commit 950bede

Please sign in to comment.