You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

2.5 KiB

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:

    git clone [repository-url]
    cd TimeSafari
    
  2. Install dependencies:

    npm install
    

Web Build

To build for web deployment:

  1. Run the production build:

    npm run build
    
  2. The built files will be in the dist directory.

  3. To test the production build locally:

    npm run serve
    

Desktop Build (Electron)

To build the desktop application:

  1. Run the Electron build:

    npm run build:electron
    
  2. The built files will be in dist-electron.

  3. To run the desktop app:

    electron dist-electron
    

Mobile Builds (Capacitor)

iOS Build

Prerequisites: macOS with Xcode installed

  1. Build the web assets:

    npm run build -- --mode capacitor
    
  2. Add iOS platform if not already added:

    npx cap add ios
    
  3. Update iOS project with latest build:

    npx cap sync ios
    
  4. Open the project in Xcode:

    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:

    npm run build -- --mode capacitor
    
  2. Add Android platform if not already added:

    npx cap add android
    
  3. Update Android project with latest build:

    npx cap sync android
    
  4. Open the project in Android Studio:

    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:
    npm run dev
    

Testing

Run local tests:

npm run test-local

Run all tests (includes building):

npm run test-all

Linting

Check code style:

npm run lint

Fix code style issues:

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/