Add yarn fixup script for local registry
This commit is contained in:
parent
c85b29c237
commit
680f227967
@ -12,5 +12,14 @@ it is possible to build packages manually by invoking `docker run` , for example
|
|||||||
$ docker run -it --add-host host.docker.internal:host-gateway \
|
$ docker run -it --add-host host.docker.internal:host-gateway \
|
||||||
-v ${HOME}/cerc/laconic-sdk:/workspace cerc/builder-js \
|
-v ${HOME}/cerc/laconic-sdk:/workspace cerc/builder-js \
|
||||||
sh -c 'cd /workspace && NPM_AUTH_TOKEN=6613572a28ebebaee20ccd90064251fa8c2b94f6 \
|
sh -c 'cd /workspace && NPM_AUTH_TOKEN=6613572a28ebebaee20ccd90064251fa8c2b94f6 \
|
||||||
/build-npm-package.sh http://host.docker.internal:3000/api/packages/cerc-io/npm/ 1.2.3-test'
|
/build-npm-package.sh http://host.docker.internal:3000/api/packages/cerc-io/npm/ 0.1.4'
|
||||||
|
```
|
||||||
|
|
||||||
|
or:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker run --rm -it --add-host host.docker.internal:host-gateway \
|
||||||
|
-v ${HOME}/cerc/laconic-registry-cli:/workspace cerc/builder-js \
|
||||||
|
sh -c 'cd /workspace && NPM_AUTH_TOKEN=6613572a28ebebaee20ccd90064251fa8c2b94f6 \
|
||||||
|
/build-npm-package.sh http://host.docker.internal:3000/api/packages/cerc-io/npm/ 0.1.4'
|
||||||
```
|
```
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Usage: build-npm-package.sh <registry-url> <publish-with-this-version>
|
# Usage: build-npm-package.sh <registry-url> <publish-with-this-version>
|
||||||
# Note: supply the registry auth token in NPM_AUTH_TOKEN
|
# Note: supply the registry auth token in NPM_AUTH_TOKEN
|
||||||
if [ -n "$CERC_ENABLE_SCRIPT_DEBUG" ]; then
|
if [ -n "$CERC_SCRIPT_DEBUG" ]; then
|
||||||
set -x
|
set -x
|
||||||
fi
|
fi
|
||||||
if [[ $# -ne 2 ]]; then
|
if [[ $# -ne 2 ]]; then
|
||||||
|
27
container-build/cerc-builder-js/yarn-local-registry-fixup.sh
Executable file
27
container-build/cerc-builder-js/yarn-local-registry-fixup.sh
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# Usage: yarn-local-registry-fixup.sh <package-to-fix>
|
||||||
|
# Assumes package.json and yarn.lock are in the cwd
|
||||||
|
if [ -n "$CERC_SCRIPT_DEBUG" ]; then
|
||||||
|
set -x
|
||||||
|
fi
|
||||||
|
if [[ $# -ne 1 ]]; then
|
||||||
|
echo "Illegal number of parameters" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
target_package=$1
|
||||||
|
versioned_target_package=$(grep ${target_package} package.json | sed -e 's#[[:space:]]\{1,\}\"\('${target_package}'\)\":[[:space:]]\{1,\}\"\(.*\)\",#\1@\2#' )
|
||||||
|
yarn_info_output=$(yarn info --json $versioned_target_package 2>/dev/null)
|
||||||
|
package_tarball=$(echo $yarn_info_output | jq -r .data.dist.tarball)
|
||||||
|
package_integrity=$(echo $yarn_info_output | jq -r .data.dist.integrity)
|
||||||
|
package_shasum=$(echo $yarn_info_output | jq -r .data.dist.shasum)
|
||||||
|
package_resolved=${package_tarball}#${package_shasum}
|
||||||
|
escaped_package_resolved=$(printf '%s\n' "$package_resolved" | sed -e 's/[\/&]/\\&/g')
|
||||||
|
escaped_target_package=$(printf '%s\n' "$target_package" | sed -e 's/[\/&]/\\&/g')
|
||||||
|
if [ -n "$CERC_SCRIPT_VERBOSE" ]; then
|
||||||
|
echo "Tarball: ${package_tarball}"
|
||||||
|
echo "Integrity: ${package_integrity}"
|
||||||
|
echo "Shasum: ${package_shasum}"
|
||||||
|
echo "Resolved: ${package_resolved}"
|
||||||
|
fi
|
||||||
|
sed -i -e '/^\"'${escaped_target_package}'.*\":$/ , /^\".*$/ s/^\([[:space:]]\{1,\}resolved \).*$/\1'\"${escaped_package_resolved}\"'/' yarn.lock
|
||||||
|
sed -i -e '/^\"'${escaped_target_package}'.*\":$/ , /^\".*$/ s/^\([[:space:]]\{1,\}integrity \).*$/\1'${package_integrity}'/' yarn.lock
|
Loading…
Reference in New Issue
Block a user