Skip to content

Commit abad18c

Browse files
committed
refactor(bin/publish-npm-modules.sh): improve linkage to reduce file output sizes
1 parent 94dd059 commit abad18c

File tree

1 file changed

+103
-51
lines changed

1 file changed

+103
-51
lines changed

bin/publish-npm-modules.sh

Lines changed: 103 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -143,16 +143,20 @@ mkdir -p "$SOCKET_HOME/packages/@socketsupply"
143143

144144
if (( !only_platforms || only_top_level )); then
145145
declare package="@socketsupply/socket"
146-
cp -rf "$root/npm/packages/@socketsupply/socket" "$SOCKET_HOME/packages/$package"
147-
mkdir -p "$SOCKET_HOME/packages/$package/bin"
148-
cp -rf "$root/npm/bin/ssc.js" "$SOCKET_HOME/packages/$package/bin/ssc.js"
149-
cp -f "$root/LICENSE.txt" "$SOCKET_HOME/packages/$package"
150-
cp -f "$root/README.md" "$SOCKET_HOME/packages/$package/README-RUNTIME.md"
151146
if (( do_global_link )); then
152-
for file in $(ls "$root/api"); do
153-
ln -sf "$root/api/$file" "$SOCKET_HOME/packages/$package/$file"
154-
done
147+
mkdir -p "$SOCKET_HOME/packages/$package/bin"
148+
cp -rf "$root/npm/bin/ssc.js" "$SOCKET_HOME/packages/$package/bin/ssc.js"
149+
150+
ln -sf "$root/npm/packages/@socketsupply/socket"/* "$SOCKET_HOME/packages/$package"
151+
ln -sf "$root/LICENSE.txt" "$SOCKET_HOME/packages/$package"
152+
ln -sf "$root/README.md" "$SOCKET_HOME/packages/$package/README-RUNTIME.md"
153+
ln -sf "$root/api"/* "$SOCKET_HOME/packages/$package"
155154
else
155+
cp -rf "$root/npm/packages/@socketsupply/socket" "$SOCKET_HOME/packages/$package"
156+
mkdir -p "$SOCKET_HOME/packages/$package/bin"
157+
cp -rf "$root/npm/bin/ssc.js" "$SOCKET_HOME/packages/$package/bin/ssc.js"
158+
cp -f "$root/LICENSE.txt" "$SOCKET_HOME/packages/$package"
159+
cp -f "$root/README.md" "$SOCKET_HOME/packages/$package/README-RUNTIME.md"
156160
cp -rf "$root/api"/* "$SOCKET_HOME/packages/$package"
157161
fi
158162
rm "$SOCKET_HOME/packages/$package/global.d.ts"
@@ -161,56 +165,104 @@ fi
161165
if (( !only_top_level )); then
162166
for arch in "${archs[@]}"; do
163167
declare package="@socketsupply/socket-$platform-${arch/x86_64/x64}"
164-
cp -rf "$root/npm/packages/$package" "$SOCKET_HOME/packages/$package"
165-
166-
mkdir -p "$SOCKET_HOME/packages/$package/uv"
167-
mkdir -p "$SOCKET_HOME/packages/$package/bin"
168-
mkdir -p "$SOCKET_HOME/packages/$package/src"
169-
mkdir -p "$SOCKET_HOME/packages/$package/include"
170-
mkdir -p "$SOCKET_HOME/packages/$package/lib"
171-
mkdir -p "$SOCKET_HOME/packages/$package/objects"
172-
173-
cp -rf "$root/npm/bin"/* "$SOCKET_HOME/packages/$package/bin"
174-
cp -rf "$root/npm/src"/* "$SOCKET_HOME/packages/$package/src"
175-
cp -f "$root/LICENSE.txt" "$SOCKET_HOME/packages/$package"
176-
cp -f "$root/README.md" "$SOCKET_HOME/packages/$package"
177168

178-
mkdir -p "$SOCKET_HOME/packages/$package/assets"
179-
cp -rf "$root/assets"/* "$SOCKET_HOME/packages/$package/assets"
169+
mkdir -p "$SOCKET_HOME/packages/$package"
180170

181-
cp -rf "$SOCKET_HOME/uv"/* "$SOCKET_HOME/packages/$package/uv"
182-
cp -rf "$SOCKET_HOME/bin"/* "$SOCKET_HOME/packages/$package/bin"
183-
cp -rf "$SOCKET_HOME/src"/* "$SOCKET_HOME/packages/$package/src"
184-
cp -rf "$SOCKET_HOME/include"/* "$SOCKET_HOME/packages/$package/include"
185-
186-
if test -d "$SOCKET_HOME/pkgconfig"; then
187-
cp -rf "$SOCKET_HOME/pkgconfig" "$SOCKET_HOME/packages/$package/pkgconfig"
188-
fi
189-
190-
# don't copy debug files, too large
191-
rm -rf $SOCKET_HOME/lib/*-android/objs-debug
192-
cp -rf $SOCKET_HOME/lib/*-android "$SOCKET_HOME/packages/$package/lib"
193-
194-
cp -rf "$SOCKET_HOME/lib/"$arch-* "$SOCKET_HOME/packages/$package/lib"
195-
cp -rf "$SOCKET_HOME/objects/"$arch-* "$SOCKET_HOME/packages/$package/objects"
171+
if (( do_global_link )); then
172+
mkdir -p "$SOCKET_HOME/packages/$package/assets"
173+
mkdir -p "$SOCKET_HOME/packages/$package/bin"
174+
mkdir -p "$SOCKET_HOME/packages/$package/include"
175+
mkdir -p "$SOCKET_HOME/packages/$package/lib"
176+
mkdir -p "$SOCKET_HOME/packages/$package/objects"
177+
mkdir -p "$SOCKET_HOME/packages/$package/src"
178+
179+
cp -rf "$root/npm/src"/* "$SOCKET_HOME/packages/$package/src"
180+
cp -rf "$root/npm/bin"/* "$SOCKET_HOME/packages/$package/bin"
181+
182+
ln -sf "$root/npm/packages/$package"/* "$SOCKET_HOME/packages/$package"
183+
ln -sf "$root/assets"/* "$SOCKET_HOME/packages/$package/assets"
184+
ln -sf "$root/LICENSE.txt" "$SOCKET_HOME/packages/$package"
185+
ln -sf "$root/README.md" "$SOCKET_HOME/packages/$package"
186+
187+
ln -sf "$SOCKET_HOME/bin"/* "$SOCKET_HOME/packages/$package/bin"
188+
ln -sf "$SOCKET_HOME/src"/* "$SOCKET_HOME/packages/$package/src"
189+
ln -sf "$SOCKET_HOME/uv" "$SOCKET_HOME/packages/$package/uv"
190+
ln -sf "$SOCKET_HOME/include"/* "$SOCKET_HOME/packages/$package/include"
191+
192+
if test -d "$SOCKET_HOME/pkgconfig"; then
193+
ln -sf "$SOCKET_HOME/pkgconfig" "$SOCKET_HOME/packages/$package/pkgconfig"
194+
fi
196195

197-
if [ "$platform" = "darwin" ]; then
198-
## Install x86_64-iPhoneSimulator files for arm64 too
199-
if [ "$(uname -m)" == "arm64" ]; then
200-
cp -rf "$SOCKET_HOME/lib/x86_64-iPhoneSimulator" "$SOCKET_HOME/packages/$package/lib"
201-
cp -rf "$SOCKET_HOME/objects/x86_64-iPhoneSimulator" "$SOCKET_HOME/packages/$package/objects"
196+
# don't copy debug files, too large
197+
rm -rf $SOCKET_HOME/lib/*-android/objs-debug
198+
ln -sf $SOCKET_HOME/lib/*-android "$SOCKET_HOME/packages/$package/lib"
199+
200+
ln -sf "$SOCKET_HOME/lib/"$arch-* "$SOCKET_HOME/packages/$package/lib"
201+
ln -sf "$SOCKET_HOME/objects/"$arch-* "$SOCKET_HOME/packages/$package/objects"
202+
203+
if [ "$platform" = "darwin" ]; then
204+
## Install x86_64-iPhoneSimulator files for arm64 too
205+
if [ "$(uname -m)" == "arm64" ]; then
206+
ln -sf "$SOCKET_HOME/lib/x86_64-iPhoneSimulator" "$SOCKET_HOME/packages/$package/lib"
207+
ln -sf "$SOCKET_HOME/objects/x86_64-iPhoneSimulator" "$SOCKET_HOME/packages/$package/objects"
208+
fi
209+
## Install arm64-iPhone files for x86_64 too
210+
if [ "$(uname -m)" == "x86_64" ]; then
211+
ln -sf "$SOCKET_HOME/lib/arm64-iPhoneOS" "$SOCKET_HOME/packages/$package/lib"
212+
ln -sf "$SOCKET_HOME/objects/arm64-iPhoneOS" "$SOCKET_HOME/packages/$package/objects"
213+
fi
202214
fi
203-
## Install arm64-iPhone files for x86_64 too
204-
if [ "$(uname -m)" == "x86_64" ]; then
205-
cp -rf "$SOCKET_HOME/lib/arm64-iPhoneOS" "$SOCKET_HOME/packages/$package/lib"
206-
cp -rf "$SOCKET_HOME/objects/arm64-iPhoneOS" "$SOCKET_HOME/packages/$package/objects"
215+
else
216+
mkdir -p "$SOCKET_HOME/packages/$package/uv"
217+
mkdir -p "$SOCKET_HOME/packages/$package/bin"
218+
mkdir -p "$SOCKET_HOME/packages/$package/src"
219+
mkdir -p "$SOCKET_HOME/packages/$package/include"
220+
mkdir -p "$SOCKET_HOME/packages/$package/lib"
221+
mkdir -p "$SOCKET_HOME/packages/$package/objects"
222+
223+
cp -rf "$root/npm/packages/$package" "$SOCKET_HOME/packages/$package"
224+
225+
cp -rf "$root/npm/bin"/* "$SOCKET_HOME/packages/$package/bin"
226+
cp -rf "$root/npm/src"/* "$SOCKET_HOME/packages/$package/src"
227+
cp -f "$root/LICENSE.txt" "$SOCKET_HOME/packages/$package"
228+
cp -f "$root/README.md" "$SOCKET_HOME/packages/$package"
229+
230+
mkdir -p "$SOCKET_HOME/packages/$package/assets"
231+
cp -rf "$root/assets"/* "$SOCKET_HOME/packages/$package/assets"
232+
233+
cp -rf "$SOCKET_HOME/uv"/* "$SOCKET_HOME/packages/$package/uv"
234+
cp -rf "$SOCKET_HOME/bin"/* "$SOCKET_HOME/packages/$package/bin"
235+
cp -rf "$SOCKET_HOME/src"/* "$SOCKET_HOME/packages/$package/src"
236+
cp -rf "$SOCKET_HOME/include"/* "$SOCKET_HOME/packages/$package/include"
237+
238+
if test -d "$SOCKET_HOME/pkgconfig"; then
239+
cp -rf "$SOCKET_HOME/pkgconfig" "$SOCKET_HOME/packages/$package/pkgconfig"
207240
fi
208-
fi
209241

210-
if [ "$platform" = "Win32" ]; then
211-
cp -rap "$SOCKET_HOME/bin"/.vs* "$SOCKET_HOME/packages/$package/bin"
242+
# don't copy debug files, too large
243+
rm -rf $SOCKET_HOME/lib/*-android/objs-debug
244+
cp -rf $SOCKET_HOME/lib/*-android "$SOCKET_HOME/packages/$package/lib"
245+
246+
cp -rf "$SOCKET_HOME/lib/"$arch-* "$SOCKET_HOME/packages/$package/lib"
247+
cp -rf "$SOCKET_HOME/objects/"$arch-* "$SOCKET_HOME/packages/$package/objects"
248+
249+
if [ "$platform" = "darwin" ]; then
250+
## Install x86_64-iPhoneSimulator files for arm64 too
251+
if [ "$(uname -m)" == "arm64" ]; then
252+
cp -rf "$SOCKET_HOME/lib/x86_64-iPhoneSimulator" "$SOCKET_HOME/packages/$package/lib"
253+
cp -rf "$SOCKET_HOME/objects/x86_64-iPhoneSimulator" "$SOCKET_HOME/packages/$package/objects"
254+
fi
255+
## Install arm64-iPhone files for x86_64 too
256+
if [ "$(uname -m)" == "x86_64" ]; then
257+
cp -rf "$SOCKET_HOME/lib/arm64-iPhoneOS" "$SOCKET_HOME/packages/$package/lib"
258+
cp -rf "$SOCKET_HOME/objects/arm64-iPhoneOS" "$SOCKET_HOME/packages/$package/objects"
259+
fi
260+
fi
212261
fi
213262

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

225277
if (( do_global_link )); then
226-
npm link --no-fund --no-audit --offline --force
278+
npm link --no-fund --no-audit --offline --force || exit $?
227279
fi
228280
done
229281
fi

0 commit comments

Comments
 (0)