mirror of
https://github.com/aljazceru/goose.git
synced 2025-12-19 07:04:21 +01:00
101 lines
3.0 KiB
Batchfile
101 lines
3.0 KiB
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
rem Script to prepare Windows npm bundle
|
|
set "SCRIPT_DIR=%~dp0"
|
|
set "PLATFORM_WIN_DIR=%SCRIPT_DIR%\..\src\platform\windows"
|
|
set "WIN_BIN_DIR=%PLATFORM_WIN_DIR%\bin"
|
|
set "DEST_BIN_DIR=%SCRIPT_DIR%\..\src\bin"
|
|
|
|
echo Preparing Windows npm bundle...
|
|
echo SCRIPT_DIR: %SCRIPT_DIR%
|
|
echo PLATFORM_WIN_DIR: %PLATFORM_WIN_DIR%
|
|
echo WIN_BIN_DIR: %WIN_BIN_DIR%
|
|
echo DEST_BIN_DIR: %DEST_BIN_DIR%
|
|
|
|
rem Ensure directories exist
|
|
if not exist "%WIN_BIN_DIR%" mkdir "%WIN_BIN_DIR%"
|
|
|
|
rem Node.js version and paths
|
|
set "NODE_VERSION=23.10.0"
|
|
set "NODE_MSI_URL=https://nodejs.org/dist/v%NODE_VERSION%/node-v%NODE_VERSION%-x64.msi"
|
|
|
|
rem Create Windows Node.js installer script
|
|
echo Creating install-node.cmd...
|
|
(
|
|
echo @echo off
|
|
echo setlocal enabledelayedexpansion
|
|
echo.
|
|
echo REM Check if Node.js is installed in Program Files
|
|
echo if exist "C:\Program Files\nodejs\node.exe" ^(
|
|
echo echo Node.js found in Program Files
|
|
echo set "NODE_EXE=C:\Program Files\nodejs\node.exe"
|
|
echo goto :found
|
|
echo ^)
|
|
echo.
|
|
echo REM Check if Node.js is installed in Program Files ^(x86^)
|
|
echo if exist "C:\Program Files ^(x86^)\nodejs\node.exe" ^(
|
|
echo echo Node.js found in Program Files ^(x86^)
|
|
echo set "NODE_EXE=C:\Program Files ^(x86^)\nodejs\node.exe"
|
|
echo goto :found
|
|
echo ^)
|
|
echo.
|
|
echo echo Node.js not found in standard locations, installing...
|
|
echo.
|
|
echo REM Download Node.js MSI installer
|
|
echo powershell -Command "^& {[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; Invoke-WebRequest -Uri '%%1' -OutFile '%%TEMP%%\node-setup.msi'}"
|
|
echo.
|
|
echo REM Install Node.js silently
|
|
echo msiexec /i "%%TEMP%%\node-setup.msi" /qn
|
|
echo.
|
|
echo REM Wait a bit for installation to complete
|
|
echo timeout /t 5 /nobreak
|
|
echo.
|
|
echo REM Clean up
|
|
echo del "%%TEMP%%\node-setup.msi"
|
|
echo.
|
|
echo REM Set path to installed Node.js
|
|
echo set "NODE_EXE=C:\Program Files\nodejs\node.exe"
|
|
echo.
|
|
echo :found
|
|
echo echo Using Node.js: %%NODE_EXE%%
|
|
echo exit /b 0
|
|
) > "%WIN_BIN_DIR%\install-node.cmd"
|
|
|
|
rem Create a modified npx.cmd that checks for system Node.js first
|
|
echo Creating npx.cmd...
|
|
(
|
|
echo @ECHO OFF
|
|
echo SETLOCAL EnableDelayedExpansion
|
|
echo.
|
|
echo SET "SCRIPT_DIR=%%~dp0"
|
|
echo.
|
|
echo REM Try to find Node.js in standard locations first
|
|
echo if exist "C:\Program Files\nodejs\npx.cmd" ^(
|
|
echo "C:\Program Files\nodejs\npx.cmd" %%*
|
|
echo exit /b %%errorlevel%%
|
|
echo ^)
|
|
echo.
|
|
echo if exist "C:\Program Files ^(x86^)\nodejs\npx.cmd" ^(
|
|
echo "C:\Program Files ^(x86^)\nodejs\npx.cmd" %%*
|
|
echo exit /b %%errorlevel%%
|
|
echo ^)
|
|
echo.
|
|
echo REM If Node.js not found, run installer
|
|
echo call "%%SCRIPT_DIR%%install-node.cmd" "%NODE_MSI_URL%"
|
|
echo if errorlevel 1 ^(
|
|
echo echo Failed to install Node.js
|
|
echo exit /b 1
|
|
echo ^)
|
|
echo.
|
|
echo REM Try using the newly installed Node.js
|
|
echo if exist "C:\Program Files\nodejs\npx.cmd" ^(
|
|
echo "C:\Program Files\nodejs\npx.cmd" %%*
|
|
echo exit /b %%errorlevel%%
|
|
echo ^)
|
|
echo.
|
|
echo echo Failed to find npx after Node.js installation
|
|
echo exit /b 1
|
|
) > "%WIN_BIN_DIR%\npx.cmd"
|
|
|
|
echo Windows npm bundle prepared successfully |