diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c9eb2a7..5c580d79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,8 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed +- Set the environment variables correctly (so simulator deep link domain is right). ### Changed -- Photo is pinned to profile mode +- Photo is pinned to profile mode. +- NODE_ENV is now mandatory. ## [1.0.2] - 2025.06.20 - 276e0a741bc327de3380c4e508cccb7fee58c06d diff --git a/package.json b/package.json index a2152348..033f596e 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "name": "Time Safari Team" }, "scripts": { - "dev": "vite --config vite.config.dev.mts --host", + "dev": "NODE_ENV=dev vite --config vite.config.web.mts --host", "serve": "vite preview", "build": "VITE_GIT_HASH=`git log -1 --pretty=format:%h` vite build --config vite.config.mts", "lint": "eslint --ext .js,.ts,.vue --ignore-path .gitignore src", @@ -23,7 +23,7 @@ "clean:electron": "rimraf dist-electron", "build:pywebview": "vite build --config vite.config.pywebview.mts", "build:electron": "npm run clean:electron && tsc -p tsconfig.electron.json && vite build --config vite.config.electron.mts && node scripts/build-electron.js", - "build:capacitor": "vite build --mode capacitor --config vite.config.capacitor.mts", + "build:capacitor": "vite build --config vite.config.capacitor.mts", "build:web": "VITE_GIT_HASH=`git log -1 --pretty=format:%h` vite build --config vite.config.web.mts", "electron:dev": "npm run build && electron .", "electron:start": "electron .", @@ -35,9 +35,9 @@ "build:electron-prod": "NODE_ENV=production npm run build:electron", "pywebview:dev": "vite build --config vite.config.pywebview.mts && .venv/bin/python src/pywebview/main.py", "pywebview:build": "vite build --config vite.config.pywebview.mts && .venv/bin/python src/pywebview/main.py", - "pywebview:package-linux": "vite build --mode pywebview --config vite.config.pywebview.mts && .venv/bin/python -m PyInstaller --name TimeSafari --add-data 'dist:www' src/pywebview/main.py", - "pywebview:package-win": "vite build --mode pywebview --config vite.config.pywebview.mts && .venv/Scripts/python -m PyInstaller --name TimeSafari --add-data 'dist;www' src/pywebview/main.py", - "pywebview:package-mac": "vite build --mode pywebview --config vite.config.pywebview.mts && .venv/bin/python -m PyInstaller --name TimeSafari --add-data 'dist:www' src/pywebview/main.py", + "pywebview:package-linux": "vite build --config vite.config.pywebview.mts && .venv/bin/python -m PyInstaller --name TimeSafari --add-data 'dist:www' src/pywebview/main.py", + "pywebview:package-win": "vite build --config vite.config.pywebview.mts && .venv/Scripts/python -m PyInstaller --name TimeSafari --add-data 'dist;www' src/pywebview/main.py", + "pywebview:package-mac": "vite build --config vite.config.pywebview.mts && .venv/bin/python -m PyInstaller --name TimeSafari --add-data 'dist:www' src/pywebview/main.py", "fastlane:ios:beta": "cd ios && fastlane beta", "fastlane:ios:release": "cd ios && fastlane release", "fastlane:android:beta": "cd android && fastlane beta", diff --git a/vite.config.common.mts b/vite.config.common.mts index 6b238be9..3ab5b12a 100644 --- a/vite.config.common.mts +++ b/vite.config.common.mts @@ -5,13 +5,24 @@ import { loadAppConfig } from "./vite.config.utils.mts"; import path from "path"; import { fileURLToPath } from 'url'; +export type BuildMode = 'web' | 'electron' | 'capacitor' | 'pywebview'; +export type BuildEnv = 'dev' | 'test' | 'prod'; + // Load environment variables -dotenv.config(); +if (process.env.NODE_ENV === 'dev' || process.env.NODE_ENV === 'test' || process.env.NODE_ENV === 'prod') { + console.log(`NODE_ENV=${process.env.NODE_ENV}`); +} else { + console.error("NODE_ENV is not set. Invoke with NODE_ENV=dev|test|prod"); + throw new Error("NODE_ENV is not set. Invoke with NODE_ENV=dev|test|prod"); + // process.exit(1); +} + +dotenv.config({ path: `.env.${process.env.NODE_ENV}` }); const __filename = fileURLToPath(import.meta.url); const __dirname = path.dirname(__filename); -export async function createBuildConfig(mode: string): Promise { +export async function createBuildConfig(mode: BuildMode): Promise { const appConfig = await loadAppConfig(); const isElectron = mode === "electron"; const isCapacitor = mode === "capacitor";