Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ae0bb9e04d | ||
| b83c37b977 |
@@ -59,6 +59,8 @@ GITHUB_CLIENT_SECRET=
|
||||
# AI/ML Services
|
||||
# ===================
|
||||
# REQUIRED: Google Gemini API key for flyer OCR processing
|
||||
# NOTE: Test/staging environment deliberately OMITS this to preserve free API quota.
|
||||
# Production has a working key. Deploy warnings in test are expected and safe to ignore.
|
||||
GEMINI_API_KEY=your-gemini-api-key
|
||||
|
||||
# ===================
|
||||
|
||||
@@ -81,8 +81,24 @@ jobs:
|
||||
- name: TypeScript Type-Check
|
||||
run: npm run type-check
|
||||
|
||||
- name: Prettier Check
|
||||
run: npx prettier --check . || true
|
||||
- name: Prettier Auto-Fix
|
||||
run: |
|
||||
echo "--- Running Prettier auto-fix for test/staging deployment ---"
|
||||
# Auto-format all files
|
||||
npx prettier --write .
|
||||
|
||||
# Check if any files were changed
|
||||
if ! git diff --quiet; then
|
||||
echo "📝 Prettier made formatting changes. Committing..."
|
||||
git config --global user.name 'Gitea Actions'
|
||||
git config --global user.email 'actions@gitea.projectium.com'
|
||||
git add .
|
||||
git commit -m "style: auto-format code via Prettier [skip ci]"
|
||||
git push
|
||||
echo "✅ Formatting changes committed and pushed."
|
||||
else
|
||||
echo "✅ No formatting changes needed."
|
||||
fi
|
||||
|
||||
- name: Lint Check
|
||||
run: npm run lint || true
|
||||
|
||||
@@ -123,6 +123,8 @@ node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
|
||||
|
||||
**Get API Key**: [Google AI Studio](https://aistudio.google.com/app/apikey)
|
||||
|
||||
**Test Environment Note**: The test/staging environment **deliberately omits** `GEMINI_API_KEY` to preserve free API quota. This is intentional - the API has strict daily limits on the free tier, and we want to reserve tokens for production use. AI features will be non-functional in test, but all other features can be tested normally. Deploy warnings about missing `GEMINI_API_KEY` in test logs are expected and safe to ignore.
|
||||
|
||||
### Google Services
|
||||
|
||||
| Variable | Required | Description |
|
||||
|
||||
4
package-lock.json
generated
4
package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "flyer-crawler",
|
||||
"version": "0.15.1",
|
||||
"version": "0.15.2",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "flyer-crawler",
|
||||
"version": "0.15.1",
|
||||
"version": "0.15.2",
|
||||
"dependencies": {
|
||||
"@bull-board/api": "^6.14.2",
|
||||
"@bull-board/express": "^6.14.2",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "flyer-crawler",
|
||||
"private": true,
|
||||
"version": "0.15.1",
|
||||
"version": "0.15.2",
|
||||
"type": "module",
|
||||
"engines": {
|
||||
"node": ">=18.0.0"
|
||||
|
||||
@@ -39,6 +39,18 @@ const shouldUploadSourceMaps =
|
||||
process.env.VITE_SENTRY_DSN &&
|
||||
process.env.SENTRY_AUTH_TOKEN;
|
||||
|
||||
/**
|
||||
* Determines the Sentry project name based on environment.
|
||||
* Test/staging deployments use 'flyer-crawler-frontend-test'.
|
||||
* Production uses 'flyer-crawler-frontend'.
|
||||
*/
|
||||
const getSentryProject = () => {
|
||||
const environment = process.env.VITE_SENTRY_ENVIRONMENT || process.env.NODE_ENV;
|
||||
return environment === 'test' || environment === 'staging'
|
||||
? 'flyer-crawler-frontend-test'
|
||||
: 'flyer-crawler-frontend';
|
||||
};
|
||||
|
||||
/**
|
||||
* This is the main configuration file for Vite and the Vitest 'unit' test project.
|
||||
* When running `vitest`, it is orchestrated by `vitest.workspace.ts`, which
|
||||
@@ -61,9 +73,10 @@ export default defineConfig({
|
||||
// URL of the Bugsink instance (Sentry-compatible)
|
||||
url: process.env.SENTRY_URL,
|
||||
|
||||
// Org and project are required by the API but Bugsink ignores them
|
||||
// Org and project names for Bugsink
|
||||
// Project name changes based on environment (test vs production)
|
||||
org: 'flyer-crawler',
|
||||
project: 'flyer-crawler-frontend',
|
||||
project: getSentryProject(),
|
||||
|
||||
// Auth token from environment variable
|
||||
authToken: process.env.SENTRY_AUTH_TOKEN,
|
||||
|
||||
Reference in New Issue
Block a user