35 lines
1.1 KiB
Bash
Executable File
35 lines
1.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Copied from https://github.com/facebook/create-react-app/blob/053f9774d3f592c17741d2a86de66a7ca58f90c0/tasks/local-registry.sh
|
|
|
|
custom_registry_url=http://localhost:4873
|
|
original_npm_registry_url=`npm get registry`
|
|
original_yarn_registry_url=`yarn config get registry`
|
|
default_verdaccio_package=verdaccio@~4.3.3
|
|
|
|
function startLocalRegistry {
|
|
# Start local registry
|
|
tmp_registry_log=`mktemp`
|
|
echo "Registry output file: $tmp_registry_log"
|
|
(cd && nohup npx ${VERDACCIO_PACKAGE:-$default_verdaccio_package} -c $1 &>$tmp_registry_log &)
|
|
|
|
# Wait for Verdaccio to boot
|
|
grep -q "http address" <(tail -f $tmp_registry_log)
|
|
|
|
# Set registry to local registry
|
|
npm set registry "$custom_registry_url"
|
|
yarn config set registry "$custom_registry_url"
|
|
}
|
|
|
|
function loginLocalRegistry {
|
|
# Login so we can publish packages
|
|
(cd && npx npm-auth-to-token@1.0.0 -u user -p password -e user@example.com -r "$custom_registry_url")
|
|
}
|
|
|
|
function stopLocalRegistry {
|
|
# Restore the original NPM and Yarn registry URLs and stop Verdaccio
|
|
fuser -k 4873/tcp
|
|
npm set registry "$original_npm_registry_url"
|
|
yarn config set registry "$original_yarn_registry_url"
|
|
}
|