Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .env.emulator
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
NODE_ENV=development
VUE_APP_ENV_NAME=develop

VUE_APP_USE_FIREBASE_EMULATOR=true
USE_FIREBASE_EMULATOR=true

VUE_APP_FIREBASE_API_KEY=demo-api-key
VUE_APP_FIREBASE_AUTH_DOMAIN=127.0.0.1
VUE_APP_FIREBASE_DATABASE_URL=https://demo-shieldmaiden-default-rtdb.firebaseio.com
VUE_APP_FIREBASE_PROJECT_ID=demo-shieldmaiden
VUE_APP_FIREBASE_STORAGE_BUCKET=demo-shieldmaiden.appspot.com
VUE_APP_FIREBASE_MESSAGING_SENDER_ID=000000000000

FIREBASE_AUTH_EMULATOR_HOST=127.0.0.1:9099
FIREBASE_DATABASE_EMULATOR_HOST=127.0.0.1:9000
FIREBASE_STORAGE_EMULATOR_HOST=127.0.0.1:9199

VUE_APP_HK_API_ROOT=https://api.harmlesskey.com
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ node_modules
.env.local
.env.*.local
!.env.vault
!.env.emulator

# Log files
npm-debug.log*
Expand Down Expand Up @@ -68,3 +69,8 @@ yarn-error.log*
*.sln

firebaseServiceAccountKey.json

# Firebase emulator runtime artifacts
*-debug.log
.firebase/
firebase-export-*/
460 changes: 460 additions & 0 deletions .planning/firebase-emulator-local-dev.md

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions emulator/database.rules.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{ "rules": { ".read": true, ".write": true } }
8 changes: 8 additions & 0 deletions emulator/storage.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read, write: if true;
}
}
}
15 changes: 15 additions & 0 deletions env.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/*
* Resolves which env file to load. Runs in a Node (non-transpiled) context.
* Selects .env.emulator when USE_FIREBASE_EMULATOR=true, or as a fallback when
* the per-environment .env.<NODE_ENV>.local file does not exist (sandbox / worktree case).
*/
const fs = require("fs");
const path = require("path");

module.exports = function resolveEnvFile(baseDir) {
const local = path.resolve(baseDir, `.env.${process.env.NODE_ENV}.local`);
if (process.env.USE_FIREBASE_EMULATOR === "true" || !fs.existsSync(local)) {
return path.resolve(baseDir, ".env.emulator");
}
return local;
};
11 changes: 11 additions & 0 deletions firebase.emulator.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"database": { "rules": "emulator/database.rules.json" },
"storage": { "rules": "emulator/storage.rules" },
"emulators": {
"auth": { "port": 9099 },
"database": { "port": 9000 },
"storage": { "port": 9199 },
"ui": { "enabled": true, "port": 4000 },
"singleProjectMode": true
}
}
Loading