Skip to content

Commit

Permalink
refactor(bin/publish-npm-modules.sh): improve linkage to reduce file …
Browse files Browse the repository at this point in the history
…output sizes
  • Loading branch information
jwerle committed Jan 22, 2025
1 parent 94dd059 commit abad18c
Showing 1 changed file with 103 additions and 51 deletions.
154 changes: 103 additions & 51 deletions bin/publish-npm-modules.sh
Original file line number Diff line number Diff line change
Expand Up @@ -143,16 +143,20 @@ mkdir -p "$SOCKET_HOME/packages/@socketsupply"

if (( !only_platforms || only_top_level )); then
declare package="@socketsupply/socket"
cp -rf "$root/npm/packages/@socketsupply/socket" "$SOCKET_HOME/packages/$package"
mkdir -p "$SOCKET_HOME/packages/$package/bin"
cp -rf "$root/npm/bin/ssc.js" "$SOCKET_HOME/packages/$package/bin/ssc.js"
cp -f "$root/LICENSE.txt" "$SOCKET_HOME/packages/$package"
cp -f "$root/README.md" "$SOCKET_HOME/packages/$package/README-RUNTIME.md"
if (( do_global_link )); then
for file in $(ls "$root/api"); do
ln -sf "$root/api/$file" "$SOCKET_HOME/packages/$package/$file"
done
mkdir -p "$SOCKET_HOME/packages/$package/bin"
cp -rf "$root/npm/bin/ssc.js" "$SOCKET_HOME/packages/$package/bin/ssc.js"

ln -sf "$root/npm/packages/@socketsupply/socket"/* "$SOCKET_HOME/packages/$package"
ln -sf "$root/LICENSE.txt" "$SOCKET_HOME/packages/$package"
ln -sf "$root/README.md" "$SOCKET_HOME/packages/$package/README-RUNTIME.md"
ln -sf "$root/api"/* "$SOCKET_HOME/packages/$package"
else
cp -rf "$root/npm/packages/@socketsupply/socket" "$SOCKET_HOME/packages/$package"
mkdir -p "$SOCKET_HOME/packages/$package/bin"
cp -rf "$root/npm/bin/ssc.js" "$SOCKET_HOME/packages/$package/bin/ssc.js"
cp -f "$root/LICENSE.txt" "$SOCKET_HOME/packages/$package"
cp -f "$root/README.md" "$SOCKET_HOME/packages/$package/README-RUNTIME.md"
cp -rf "$root/api"/* "$SOCKET_HOME/packages/$package"
fi
rm "$SOCKET_HOME/packages/$package/global.d.ts"
Expand All @@ -161,56 +165,104 @@ fi
if (( !only_top_level )); then
for arch in "${archs[@]}"; do
declare package="@socketsupply/socket-$platform-${arch/x86_64/x64}"
cp -rf "$root/npm/packages/$package" "$SOCKET_HOME/packages/$package"

mkdir -p "$SOCKET_HOME/packages/$package/uv"
mkdir -p "$SOCKET_HOME/packages/$package/bin"
mkdir -p "$SOCKET_HOME/packages/$package/src"
mkdir -p "$SOCKET_HOME/packages/$package/include"
mkdir -p "$SOCKET_HOME/packages/$package/lib"
mkdir -p "$SOCKET_HOME/packages/$package/objects"

cp -rf "$root/npm/bin"/* "$SOCKET_HOME/packages/$package/bin"
cp -rf "$root/npm/src"/* "$SOCKET_HOME/packages/$package/src"
cp -f "$root/LICENSE.txt" "$SOCKET_HOME/packages/$package"
cp -f "$root/README.md" "$SOCKET_HOME/packages/$package"

mkdir -p "$SOCKET_HOME/packages/$package/assets"
cp -rf "$root/assets"/* "$SOCKET_HOME/packages/$package/assets"
mkdir -p "$SOCKET_HOME/packages/$package"

cp -rf "$SOCKET_HOME/uv"/* "$SOCKET_HOME/packages/$package/uv"
cp -rf "$SOCKET_HOME/bin"/* "$SOCKET_HOME/packages/$package/bin"
cp -rf "$SOCKET_HOME/src"/* "$SOCKET_HOME/packages/$package/src"
cp -rf "$SOCKET_HOME/include"/* "$SOCKET_HOME/packages/$package/include"

if test -d "$SOCKET_HOME/pkgconfig"; then
cp -rf "$SOCKET_HOME/pkgconfig" "$SOCKET_HOME/packages/$package/pkgconfig"
fi

# don't copy debug files, too large
rm -rf $SOCKET_HOME/lib/*-android/objs-debug
cp -rf $SOCKET_HOME/lib/*-android "$SOCKET_HOME/packages/$package/lib"

cp -rf "$SOCKET_HOME/lib/"$arch-* "$SOCKET_HOME/packages/$package/lib"
cp -rf "$SOCKET_HOME/objects/"$arch-* "$SOCKET_HOME/packages/$package/objects"
if (( do_global_link )); then
mkdir -p "$SOCKET_HOME/packages/$package/assets"
mkdir -p "$SOCKET_HOME/packages/$package/bin"
mkdir -p "$SOCKET_HOME/packages/$package/include"
mkdir -p "$SOCKET_HOME/packages/$package/lib"
mkdir -p "$SOCKET_HOME/packages/$package/objects"
mkdir -p "$SOCKET_HOME/packages/$package/src"

cp -rf "$root/npm/src"/* "$SOCKET_HOME/packages/$package/src"
cp -rf "$root/npm/bin"/* "$SOCKET_HOME/packages/$package/bin"

ln -sf "$root/npm/packages/$package"/* "$SOCKET_HOME/packages/$package"
ln -sf "$root/assets"/* "$SOCKET_HOME/packages/$package/assets"
ln -sf "$root/LICENSE.txt" "$SOCKET_HOME/packages/$package"
ln -sf "$root/README.md" "$SOCKET_HOME/packages/$package"

ln -sf "$SOCKET_HOME/bin"/* "$SOCKET_HOME/packages/$package/bin"
ln -sf "$SOCKET_HOME/src"/* "$SOCKET_HOME/packages/$package/src"
ln -sf "$SOCKET_HOME/uv" "$SOCKET_HOME/packages/$package/uv"
ln -sf "$SOCKET_HOME/include"/* "$SOCKET_HOME/packages/$package/include"

if test -d "$SOCKET_HOME/pkgconfig"; then
ln -sf "$SOCKET_HOME/pkgconfig" "$SOCKET_HOME/packages/$package/pkgconfig"
fi

if [ "$platform" = "darwin" ]; then
## Install x86_64-iPhoneSimulator files for arm64 too
if [ "$(uname -m)" == "arm64" ]; then
cp -rf "$SOCKET_HOME/lib/x86_64-iPhoneSimulator" "$SOCKET_HOME/packages/$package/lib"
cp -rf "$SOCKET_HOME/objects/x86_64-iPhoneSimulator" "$SOCKET_HOME/packages/$package/objects"
# don't copy debug files, too large
rm -rf $SOCKET_HOME/lib/*-android/objs-debug
ln -sf $SOCKET_HOME/lib/*-android "$SOCKET_HOME/packages/$package/lib"

ln -sf "$SOCKET_HOME/lib/"$arch-* "$SOCKET_HOME/packages/$package/lib"
ln -sf "$SOCKET_HOME/objects/"$arch-* "$SOCKET_HOME/packages/$package/objects"

if [ "$platform" = "darwin" ]; then
## Install x86_64-iPhoneSimulator files for arm64 too
if [ "$(uname -m)" == "arm64" ]; then
ln -sf "$SOCKET_HOME/lib/x86_64-iPhoneSimulator" "$SOCKET_HOME/packages/$package/lib"
ln -sf "$SOCKET_HOME/objects/x86_64-iPhoneSimulator" "$SOCKET_HOME/packages/$package/objects"
fi
## Install arm64-iPhone files for x86_64 too
if [ "$(uname -m)" == "x86_64" ]; then
ln -sf "$SOCKET_HOME/lib/arm64-iPhoneOS" "$SOCKET_HOME/packages/$package/lib"
ln -sf "$SOCKET_HOME/objects/arm64-iPhoneOS" "$SOCKET_HOME/packages/$package/objects"
fi
fi
## Install arm64-iPhone files for x86_64 too
if [ "$(uname -m)" == "x86_64" ]; then
cp -rf "$SOCKET_HOME/lib/arm64-iPhoneOS" "$SOCKET_HOME/packages/$package/lib"
cp -rf "$SOCKET_HOME/objects/arm64-iPhoneOS" "$SOCKET_HOME/packages/$package/objects"
else
mkdir -p "$SOCKET_HOME/packages/$package/uv"
mkdir -p "$SOCKET_HOME/packages/$package/bin"
mkdir -p "$SOCKET_HOME/packages/$package/src"
mkdir -p "$SOCKET_HOME/packages/$package/include"
mkdir -p "$SOCKET_HOME/packages/$package/lib"
mkdir -p "$SOCKET_HOME/packages/$package/objects"

cp -rf "$root/npm/packages/$package" "$SOCKET_HOME/packages/$package"

cp -rf "$root/npm/bin"/* "$SOCKET_HOME/packages/$package/bin"
cp -rf "$root/npm/src"/* "$SOCKET_HOME/packages/$package/src"
cp -f "$root/LICENSE.txt" "$SOCKET_HOME/packages/$package"
cp -f "$root/README.md" "$SOCKET_HOME/packages/$package"

mkdir -p "$SOCKET_HOME/packages/$package/assets"
cp -rf "$root/assets"/* "$SOCKET_HOME/packages/$package/assets"

cp -rf "$SOCKET_HOME/uv"/* "$SOCKET_HOME/packages/$package/uv"
cp -rf "$SOCKET_HOME/bin"/* "$SOCKET_HOME/packages/$package/bin"
cp -rf "$SOCKET_HOME/src"/* "$SOCKET_HOME/packages/$package/src"
cp -rf "$SOCKET_HOME/include"/* "$SOCKET_HOME/packages/$package/include"

if test -d "$SOCKET_HOME/pkgconfig"; then
cp -rf "$SOCKET_HOME/pkgconfig" "$SOCKET_HOME/packages/$package/pkgconfig"
fi
fi

if [ "$platform" = "Win32" ]; then
cp -rap "$SOCKET_HOME/bin"/.vs* "$SOCKET_HOME/packages/$package/bin"
# don't copy debug files, too large
rm -rf $SOCKET_HOME/lib/*-android/objs-debug
cp -rf $SOCKET_HOME/lib/*-android "$SOCKET_HOME/packages/$package/lib"

cp -rf "$SOCKET_HOME/lib/"$arch-* "$SOCKET_HOME/packages/$package/lib"
cp -rf "$SOCKET_HOME/objects/"$arch-* "$SOCKET_HOME/packages/$package/objects"

if [ "$platform" = "darwin" ]; then
## Install x86_64-iPhoneSimulator files for arm64 too
if [ "$(uname -m)" == "arm64" ]; then
cp -rf "$SOCKET_HOME/lib/x86_64-iPhoneSimulator" "$SOCKET_HOME/packages/$package/lib"
cp -rf "$SOCKET_HOME/objects/x86_64-iPhoneSimulator" "$SOCKET_HOME/packages/$package/objects"
fi
## Install arm64-iPhone files for x86_64 too
if [ "$(uname -m)" == "x86_64" ]; then
cp -rf "$SOCKET_HOME/lib/arm64-iPhoneOS" "$SOCKET_HOME/packages/$package/lib"
cp -rf "$SOCKET_HOME/objects/arm64-iPhoneOS" "$SOCKET_HOME/packages/$package/objects"
fi
fi
fi

if [ "$platform" = "Win32" ]; then
cp -rap "$SOCKET_HOME/bin"/.vs* "$SOCKET_HOME/packages/$package/bin"
fi
if (( do_global_link )); then
for file in $(find "$root/src" -name *.kt); do
ln -sf "$file" "$SOCKET_HOME/packages/$package${file/$root/}"
Expand All @@ -223,7 +275,7 @@ if (( !only_top_level )); then
_publish

if (( do_global_link )); then
npm link --no-fund --no-audit --offline --force
npm link --no-fund --no-audit --offline --force || exit $?
fi
done
fi
Expand Down

0 comments on commit abad18c

Please sign in to comment.