Browse Source

begin corrections for builds in specific environments (dev/test/prod)

pull/146/head
Trent Larson 3 weeks ago
parent
commit
322c785119
  1. 5
      CHANGELOG.md
  2. 10
      package.json
  3. 15
      vite.config.common.mts

5
CHANGELOG.md

@ -7,8 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
### Fixed
- Set the environment variables correctly (so simulator deep link domain is right).
### Changed ### 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 ## [1.0.2] - 2025.06.20 - 276e0a741bc327de3380c4e508cccb7fee58c06d

10
package.json

@ -6,7 +6,7 @@
"name": "Time Safari Team" "name": "Time Safari Team"
}, },
"scripts": { "scripts": {
"dev": "vite --config vite.config.dev.mts --host", "dev": "NODE_ENV=dev vite --config vite.config.web.mts --host",
"serve": "vite preview", "serve": "vite preview",
"build": "VITE_GIT_HASH=`git log -1 --pretty=format:%h` vite build --config vite.config.mts", "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", "lint": "eslint --ext .js,.ts,.vue --ignore-path .gitignore src",
@ -23,7 +23,7 @@
"clean:electron": "rimraf dist-electron", "clean:electron": "rimraf dist-electron",
"build:pywebview": "vite build --config vite.config.pywebview.mts", "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: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", "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:dev": "npm run build && electron .",
"electron:start": "electron .", "electron:start": "electron .",
@ -35,9 +35,9 @@
"build:electron-prod": "NODE_ENV=production npm run build:electron", "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: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: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-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 --mode pywebview --config vite.config.pywebview.mts && .venv/Scripts/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 --mode pywebview --config vite.config.pywebview.mts && .venv/bin/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:beta": "cd ios && fastlane beta",
"fastlane:ios:release": "cd ios && fastlane release", "fastlane:ios:release": "cd ios && fastlane release",
"fastlane:android:beta": "cd android && fastlane beta", "fastlane:android:beta": "cd android && fastlane beta",

15
vite.config.common.mts

@ -5,13 +5,24 @@ import { loadAppConfig } from "./vite.config.utils.mts";
import path from "path"; import path from "path";
import { fileURLToPath } from 'url'; import { fileURLToPath } from 'url';
export type BuildMode = 'web' | 'electron' | 'capacitor' | 'pywebview';
export type BuildEnv = 'dev' | 'test' | 'prod';
// Load environment variables // 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 __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename); const __dirname = path.dirname(__filename);
export async function createBuildConfig(mode: string): Promise<UserConfig> { export async function createBuildConfig(mode: BuildMode): Promise<UserConfig> {
const appConfig = await loadAppConfig(); const appConfig = await loadAppConfig();
const isElectron = mode === "electron"; const isElectron = mode === "electron";
const isCapacitor = mode === "capacitor"; const isCapacitor = mode === "capacitor";

Loading…
Cancel
Save