mirror of
https://github.com/BetterSEQTA/BetterSEQTA-Plus.git
synced 2026-06-06 03:34:40 +00:00
Merge pull request #67 from SethBurkart123/script-dev
Add new scripts to simplify install and development
This commit is contained in:
@@ -47,32 +47,26 @@
|
|||||||
git clone https://github.com/SethBurkart123/EvenBetterSEQTA
|
git clone https://github.com/SethBurkart123/EvenBetterSEQTA
|
||||||
```
|
```
|
||||||
|
|
||||||
2. Install dependencies
|
### Windows
|
||||||
|
|
||||||
|
Open the `install.bat` file located inside the `scripts` folder. Then after that is finished, open the `dev.bat` file.
|
||||||
|
|
||||||
|
### Mac & Linux
|
||||||
|
|
||||||
|
1. `cd` into the folder
|
||||||
```
|
```
|
||||||
npm install
|
cd EvenBetterSEQTA/scripts
|
||||||
|
```
|
||||||
|
2. Make the scripts in the folder executable
|
||||||
|
```
|
||||||
|
chmod a+x *
|
||||||
|
```
|
||||||
|
3. Run the install and dev scripts
|
||||||
|
```
|
||||||
|
sh install.sh
|
||||||
|
sh dev.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Install webpack
|
|
||||||
|
|
||||||
```
|
|
||||||
npm install -g webpack
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Run the dev script (it updates as you save files)
|
|
||||||
|
|
||||||
```
|
|
||||||
npm run dev
|
|
||||||
```
|
|
||||||
|
|
||||||
5. Install and run the dev script for the interface **at the same time** (all custom react components are a separate sub-repository)
|
|
||||||
|
|
||||||
```
|
|
||||||
cd interface
|
|
||||||
|
|
||||||
npm install
|
|
||||||
npm run dev
|
|
||||||
```
|
|
||||||
|
|
||||||
## Folder Structure
|
## Folder Structure
|
||||||
|
|
||||||
|
|||||||
Executable
+24
@@ -0,0 +1,24 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
REM Running install script
|
||||||
|
call install.bat
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
REM Try to get the version of pnpm
|
||||||
|
pnpm --version > NUL 2>&1
|
||||||
|
|
||||||
|
REM Check the exit status of the previous command
|
||||||
|
IF %ERRORLEVEL% EQU 0 (
|
||||||
|
REM Running pnpm run build in both directories
|
||||||
|
cd ./interface
|
||||||
|
pnpm run build
|
||||||
|
cd ..
|
||||||
|
pnpm run build
|
||||||
|
) ELSE (
|
||||||
|
REM Running npm run build in both directories
|
||||||
|
cd ./interface
|
||||||
|
npm run build
|
||||||
|
cd ..
|
||||||
|
npm run build
|
||||||
|
)
|
||||||
Executable
+24
@@ -0,0 +1,24 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Running install script
|
||||||
|
./install.sh
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# Try to get the version of pnpm
|
||||||
|
pnpm --version > /dev/null 2>&1
|
||||||
|
|
||||||
|
# Check the exit status of the previous command
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
# Running npm run dev in both directories
|
||||||
|
cd ./interface
|
||||||
|
pnpm run build
|
||||||
|
cd ..
|
||||||
|
pnpm run build
|
||||||
|
else
|
||||||
|
# Running npm run dev in both directories
|
||||||
|
cd ./interface
|
||||||
|
npm run build
|
||||||
|
cd ..
|
||||||
|
npm run build
|
||||||
|
fi
|
||||||
Executable
+21
@@ -0,0 +1,21 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
REM Try to get the version of pnpm
|
||||||
|
pnpm --version >nul 2>&1
|
||||||
|
|
||||||
|
REM Check the exit status of the previous command
|
||||||
|
if %ERRORLEVEL% == 0 (
|
||||||
|
REM Running pnpm run dev in both directories
|
||||||
|
cd interface
|
||||||
|
start /b pnpm run dev
|
||||||
|
cd ..
|
||||||
|
pnpm run dev
|
||||||
|
) else (
|
||||||
|
REM Running npm run dev in both directories
|
||||||
|
cd interface
|
||||||
|
start /b npm run dev
|
||||||
|
cd ..
|
||||||
|
npm run dev
|
||||||
|
)
|
||||||
Executable
+21
@@ -0,0 +1,21 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# Try to get the version of pnpm
|
||||||
|
pnpm --version > /dev/null 2>&1
|
||||||
|
|
||||||
|
# Check the exit status of the previous command
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
# Running npm run dev in both directories
|
||||||
|
cd ./interface
|
||||||
|
pnpm run dev &
|
||||||
|
cd ..
|
||||||
|
pnpm run dev
|
||||||
|
else
|
||||||
|
# Running npm run dev in both directories
|
||||||
|
cd ./interface
|
||||||
|
npm run dev &
|
||||||
|
cd ..
|
||||||
|
npm run dev
|
||||||
|
fi
|
||||||
Executable
+34
@@ -0,0 +1,34 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal
|
||||||
|
|
||||||
|
:: Function to check if a program exists
|
||||||
|
CALL :check_program_existence npm HAS_NPM
|
||||||
|
CALL :check_program_existence pnpm HAS_PNPM
|
||||||
|
|
||||||
|
:: Checking and installing Node.js and npm if not present
|
||||||
|
IF "%HAS_NPM%"=="false" (
|
||||||
|
ECHO npm is not detected. Please install Node.js from https://nodejs.org/ and rerun this script.
|
||||||
|
EXIT /B 1
|
||||||
|
)
|
||||||
|
|
||||||
|
:: Checking and installing pnpm if not present
|
||||||
|
IF "%HAS_PNPM%"=="false" (
|
||||||
|
ECHO pnpm is not detected. Installing pnpm...
|
||||||
|
npm install -g pnpm
|
||||||
|
)
|
||||||
|
|
||||||
|
:: Installing dependencies using pnpm
|
||||||
|
pnpm install
|
||||||
|
CD interface
|
||||||
|
pnpm install
|
||||||
|
CD ..
|
||||||
|
|
||||||
|
ECHO Success! All dependencies installed.
|
||||||
|
GOTO :EOF
|
||||||
|
|
||||||
|
:: Function to check if a program exists
|
||||||
|
:check_program_existence
|
||||||
|
SET "program=%~1"
|
||||||
|
FOR /F "tokens=*" %%i IN ('where %program% 2^>NUL') DO (SET "%~2=true" & GOTO :EOF)
|
||||||
|
SET "%~2=false"
|
||||||
|
GOTO :EOF
|
||||||
Executable
+67
@@ -0,0 +1,67 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Function to install pnpm
|
||||||
|
install_pnpm() {
|
||||||
|
if ! command -v pnpm >/dev/null 2>&1; then
|
||||||
|
npm install -g pnpm
|
||||||
|
fi
|
||||||
|
pnpm_install
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to install Node.js and npm
|
||||||
|
install_npm() {
|
||||||
|
# Detecting OS
|
||||||
|
OS="unknown"
|
||||||
|
case "$(uname -s)" in
|
||||||
|
Darwin) OS="mac" ;;
|
||||||
|
Linux) OS="linux" ;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
# Downloading and installing Node.js
|
||||||
|
if [ "$OS" = "mac" ]; then
|
||||||
|
# Install NVM (Node Version Manager) and Node.js
|
||||||
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash
|
||||||
|
export NVM_DIR="$HOME/.nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
|
||||||
|
nvm install node
|
||||||
|
elif [ "$OS" = "linux" ]; then
|
||||||
|
# Using NodeSource Node.js Binary Distributions script for Linux
|
||||||
|
curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash -
|
||||||
|
sudo apt-get install -y nodejs
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to install packages using pnpm
|
||||||
|
pnpm_install() {
|
||||||
|
pnpm install
|
||||||
|
cd ./interface
|
||||||
|
pnpm install
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
# Function to install packages using npm
|
||||||
|
npm_install() {
|
||||||
|
npm install
|
||||||
|
cd ./interface
|
||||||
|
npm install
|
||||||
|
cd ..
|
||||||
|
}
|
||||||
|
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# Check for npm installation
|
||||||
|
if ! command -v npm >/dev/null 2>&1; then
|
||||||
|
echo "npm is not installed. Installing npm and Node.js..."
|
||||||
|
install_npm
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Ask user for package manager preference
|
||||||
|
echo "npm is installed."
|
||||||
|
read -p "Do you wish to use pnpm? (y/n) " yn
|
||||||
|
case $yn in
|
||||||
|
[Yy]* ) install_pnpm;;
|
||||||
|
[Nn]* ) npm_install;;
|
||||||
|
* ) echo "Please answer yes or no."; exit 1;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
echo "Success! All dependencies installed."
|
||||||
Reference in New Issue
Block a user