Browse Source
Add detailed build instructions for web, desktop (Electron), and mobile (Capacitor) platforms. Include prerequisites, setup steps, and platform-specific build commands. Add sections for testing, linting, and development workflows. Document build output directories and PWA features.pull/126/head
1 changed files with 159 additions and 0 deletions
@ -0,0 +1,159 @@ |
|||||
|
# Building TimeSafari |
||||
|
|
||||
|
This guide explains how to build TimeSafari for different platforms. |
||||
|
|
||||
|
## Prerequisites |
||||
|
|
||||
|
- Node.js (LTS version recommended) |
||||
|
- npm (comes with Node.js) |
||||
|
- Git |
||||
|
- For iOS builds: macOS with Xcode installed |
||||
|
- For Android builds: Android Studio with SDK installed |
||||
|
- For desktop builds: Additional build tools based on your OS |
||||
|
|
||||
|
## Initial Setup |
||||
|
|
||||
|
1. Clone the repository: |
||||
|
```bash |
||||
|
git clone [repository-url] |
||||
|
cd TimeSafari |
||||
|
``` |
||||
|
|
||||
|
2. Install dependencies: |
||||
|
```bash |
||||
|
npm install |
||||
|
``` |
||||
|
|
||||
|
## Web Build |
||||
|
|
||||
|
To build for web deployment: |
||||
|
|
||||
|
1. Run the production build: |
||||
|
```bash |
||||
|
npm run build |
||||
|
``` |
||||
|
|
||||
|
2. The built files will be in the `dist` directory. |
||||
|
|
||||
|
3. To test the production build locally: |
||||
|
```bash |
||||
|
npm run serve |
||||
|
``` |
||||
|
|
||||
|
## Desktop Build (Electron) |
||||
|
|
||||
|
To build the desktop application: |
||||
|
|
||||
|
1. Run the Electron build: |
||||
|
```bash |
||||
|
npm run build -- --mode electron |
||||
|
``` |
||||
|
|
||||
|
2. The built files will be in `dist-electron`. |
||||
|
|
||||
|
3. To create installable packages: |
||||
|
```bash |
||||
|
npm run electron:build |
||||
|
``` |
||||
|
|
||||
|
This will create platform-specific installers in `dist-electron-build`: |
||||
|
- Windows: `.exe` installer |
||||
|
- macOS: `.dmg` file |
||||
|
- Linux: `.AppImage` file |
||||
|
|
||||
|
## Mobile Builds (Capacitor) |
||||
|
|
||||
|
### iOS Build |
||||
|
|
||||
|
Prerequisites: macOS with Xcode installed |
||||
|
|
||||
|
1. Build the web assets: |
||||
|
```bash |
||||
|
npm run build -- --mode capacitor |
||||
|
``` |
||||
|
|
||||
|
2. Add iOS platform if not already added: |
||||
|
```bash |
||||
|
npx cap add ios |
||||
|
``` |
||||
|
|
||||
|
3. Update iOS project with latest build: |
||||
|
```bash |
||||
|
npx cap sync ios |
||||
|
``` |
||||
|
|
||||
|
4. Open the project in Xcode: |
||||
|
```bash |
||||
|
npx cap open ios |
||||
|
``` |
||||
|
|
||||
|
5. Use Xcode to build and run on simulator or device. |
||||
|
|
||||
|
### Android Build |
||||
|
|
||||
|
Prerequisites: Android Studio with SDK installed |
||||
|
|
||||
|
1. Build the web assets: |
||||
|
```bash |
||||
|
npm run build -- --mode capacitor |
||||
|
``` |
||||
|
|
||||
|
2. Add Android platform if not already added: |
||||
|
```bash |
||||
|
npx cap add android |
||||
|
``` |
||||
|
|
||||
|
3. Update Android project with latest build: |
||||
|
```bash |
||||
|
npx cap sync android |
||||
|
``` |
||||
|
|
||||
|
4. Open the project in Android Studio: |
||||
|
```bash |
||||
|
npx cap open android |
||||
|
``` |
||||
|
|
||||
|
5. Use Android Studio to build and run on emulator or device. |
||||
|
|
||||
|
## Development |
||||
|
|
||||
|
To run the application in development mode: |
||||
|
|
||||
|
1. Start the development server: |
||||
|
```bash |
||||
|
npm run dev |
||||
|
``` |
||||
|
|
||||
|
## Testing |
||||
|
|
||||
|
Run local tests: |
||||
|
```bash |
||||
|
npm run test-local |
||||
|
``` |
||||
|
|
||||
|
Run all tests (includes building): |
||||
|
```bash |
||||
|
npm run test-all |
||||
|
``` |
||||
|
|
||||
|
## Linting |
||||
|
|
||||
|
Check code style: |
||||
|
```bash |
||||
|
npm run lint |
||||
|
``` |
||||
|
|
||||
|
Fix code style issues: |
||||
|
```bash |
||||
|
npm run lint-fix |
||||
|
``` |
||||
|
|
||||
|
## Notes |
||||
|
|
||||
|
- The application uses PWA (Progressive Web App) features for web builds |
||||
|
- Electron builds disable PWA features automatically |
||||
|
- Build output directories: |
||||
|
- Web: `dist/` |
||||
|
- Electron: `dist-electron/` |
||||
|
- Capacitor: `dist-capacitor/` |
||||
|
|
Loading…
Reference in new issue