47 lines
1.7 KiB
Bash
Executable File
47 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Останавливаем выполнение при любой ошибке
|
|
set -e
|
|
|
|
echo "🛠 Starting build process..."
|
|
|
|
# 1. Пути (настрой, если папки называются иначе)
|
|
RUST_DIR="matrix-engine"
|
|
PUBLIC_DIR="public/wasm-matrix"
|
|
|
|
# 2. Собираем Rust в WebAssembly
|
|
echo "🦀 Compiling Rust to WASM..."
|
|
cd "$RUST_DIR"
|
|
wasm-pack build --target web
|
|
|
|
# 3. Подготовка модулей воркера
|
|
echo "📦 Bundling worker modules..."
|
|
# Теперь копируем не только воркер, но и все его зависимости
|
|
# Убедись, что эти файлы лежат в папке matrix-engine
|
|
cp -f matrix_worker.js pkg/
|
|
cp -f shaders.js pkg/
|
|
cp -f gl-utils.js pkg/
|
|
|
|
# 4. Копируем React компонент (если нужно хранить исходник в pkg)
|
|
# Если NetrunnerMatrix.tsx лежит уровнем выше (в src/components),
|
|
# измени путь соответствующим образом.
|
|
if [ -f "NetrunnerMatrix.tsx" ]; then
|
|
cp -f NetrunnerMatrix.tsx pkg/
|
|
echo "📄 React component copied to pkg."
|
|
else
|
|
echo "⚠️ Warning: NetrunnerMatrix.tsx not found in $RUST_DIR, skipping..."
|
|
fi
|
|
|
|
# 5. Синхронизация с папкой public
|
|
echo "🚀 Deploying to $PUBLIC_DIR..."
|
|
cd ..
|
|
mkdir -p "$PUBLIC_DIR"
|
|
|
|
# Очищаем старые файлы перед копированием (кроме .gitignore если есть)
|
|
# rm -rf "${PUBLIC_DIR:?}"/* # Копируем всё содержимое pkg в public
|
|
cp -r "$RUST_DIR/pkg/"* "$PUBLIC_DIR/"
|
|
|
|
echo "----------------------------------------"
|
|
echo "✅ Done! Matrix Engine v3.0.3 is ready."
|
|
echo "Location: $PUBLIC_DIR"
|
|
ls -1 "$PUBLIC_DIR" |