diff --git a/scripts/get-packed-versions.sh b/scripts/get-packed-versions.sh index ecaf970ee8d..2998e7abc4a 100755 --- a/scripts/get-packed-versions.sh +++ b/scripts/get-packed-versions.sh @@ -23,6 +23,11 @@ corepack enable yarn install 1>&2 yarn build 1>&2 +# use lerna to ensure these run in topological order, whereas npm query +# sorts in order of the array and lexically for the glob +# https://github.com/npm/cli/issues/4139#issuecomment-1730186418 +yarn lerna run prepack 1>&2 +# Convention used in Endo yarn lerna run build:types 1>&2 npm query .workspace | jq -r '.[].location' | while read -r dir; do diff --git a/scripts/registry.sh b/scripts/registry.sh index 4824ac1c3b4..7b23425a3f6 100755 --- a/scripts/registry.sh +++ b/scripts/registry.sh @@ -70,6 +70,10 @@ publish() { yarn build git commit --allow-empty -am "chore: prepare for publishing" + # use lerna to ensure these run in topological order, whereas npm query + # sorts in order of the array and lexically for the glob + # https://github.com/npm/cli/issues/4139#issuecomment-1730186418 + yarn lerna run prepack # Convention used in Endo yarn lerna run build:types diff --git a/scripts/replace-packages.sh b/scripts/replace-packages.sh index dc934a93cec..07766aba96d 100755 --- a/scripts/replace-packages.sh +++ b/scripts/replace-packages.sh @@ -14,6 +14,14 @@ DSTDIR=${2-$PWD/node_modules} pushd "$SRCDIR" yarn install yarn build + +# use lerna to ensure these run in topological order, whereas npm query +# sorts in order of the array and lexically for the glob +# https://github.com/npm/cli/issues/4139#issuecomment-1730186418 +yarn lerna run prepack +# Convention used in Endo +yarn lerna run build:types + npm query .workspace | jq -r '.[].location' | while read -r dir; do # Skip private packages. test "$(jq .private < "$dir/package.json")" != true || continue @@ -21,10 +29,10 @@ npm query .workspace | jq -r '.[].location' | while read -r dir; do # Create the tarball. pushd "$dir" name=$(jq -r .name < package.json) - stem=$(echo "$name" | sed -e 's!^@!!; s!/!-!g;') - rm -f "${stem}"-*.tgz - yarn pack - tar -xvf "${stem}"-*.tgz + rm -f package.tgz + npm pack + mv ./*.tgz package.tgz + tar -xvf package.tgz # Replace the destination package. rm -rf "${DSTDIR:?}/$name"