get node install working in windows
[webi-installers/.git] / node / node.bat
index 6e3aaf818a83bbbf562a51df6f5627214136dbb5..74b13198fbe97c5e6ce37ce3eec8bd691ba487c1 100644 (file)
@@ -1,10 +1,21 @@
-mkdir %userprofile%\.local
-mkdir %userprofile%\.local\opt
+setlocal
+@echo off
+pushd "%userprofile%\.local\opt" || goto :error
+  powershell $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest https://nodejs.org/dist/v12.16.2/node-v12.16.2-win-x64.zip -OutFile node-v12.16.2-win-x64.zip || goto :error
+  rem Windows BSD-tar handles zip. Imagine that.
+  tar xf node-v12.16.2-win-x64.zip || goto :error
+  dir
+  rename node-v12.16.2-win-x64 node-v12.16.2 || goto :error
+  rmdir node-v12.16.2-win-x64
+  del node-v12.16.2-win-x64.zip || goto :error
+popd || goto :error
 
-pushd %userprofile%\.local\opt
-  powershell $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest https://nodejs.org/dist/v12.16.2/node-v12.16.2-win-x64.zip -OutFile node-v12.16.2-win-x64.zip
-  tar xf node-v12.16.2-win-x64.zip
-  move node-v12.16.2-win-x64 node-v12.16.2
-popd
+rem make npm not act stupid about which node to use... ugh (this should be the default)
+"%userprofile%\.local\opt\node-v12.16.2\npm.cmd" --scripts-prepend-node-path=true config set scripts-prepend-node-path true
+pathman add .local\opt\node-v12.16.2 || goto :error
 
-pathman add %userprofile%\.local\opt\node-v12.16.2\bin
+goto :EOF
+
+:error
+echo Failed with error #%errorlevel%.
+exit /b %errorlevel%