fireemu 0.2.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +12 -12
  2. package/package.json +7 -7
package/README.md CHANGED
@@ -1,17 +1,17 @@
1
1
  # fireemu
2
2
 
3
- A deterministic, test-only local runtime for Firebase SDK and Functions code, written in Rust.
4
-
5
- `fireemu` is not a faster re-implementation of the Firebase Emulator Suite. Its core is a
6
- deterministic state machine that detects missing Firestore indexes, production limit violations
7
- and inefficient queries locally; isolates state, events, time and Function execution per project
8
- so parallel tests stay deterministic; runs scheduled Functions against a virtual clock and offers
9
- `await-idle` instead of `sleep`; reproduces retries, duplicate delivery, delays and conflicts as
10
- seeded fault injection; and never claims compatibility it cannot show -- every feature is declared
11
- in a Capability Manifest with an explicit precision.
12
-
13
- The real `firebase-admin`, `firebase` (Node and browser) and `firebase/firestore/lite` SDKs run
14
- against it unchanged.
3
+ An experimental local runtime for testing Firebase SDK and Functions code.
4
+
5
+ Some Firebase failures are easy to miss locally. A query may need a composite index in production even though it passes against the official emulator. Production limits may reject a request that looked fine during development. Finding those problems only after running against a real Firebase project makes the feedback loop slow and can leave test data behind.
6
+
7
+ fireemu was built for two jobs:
8
+
9
+ - catch selected production-facing problems earlier, including missing Firestore indexes and production limit violations;
10
+ - keep local test runs fast, with no JVM emulator to start and a single command that starts the services, runs the test command, and shuts everything down.
11
+
12
+ fireemu is experimental. It is not a replacement for the official Firebase Emulator Suite or for testing against a real Firebase project. Use it as an additional test target, keep the official emulator in your test matrix, and verify important flows against production before shipping.
13
+
14
+ The real `firebase-admin`, `firebase` (Node and browser) and `firebase/firestore/lite` SDKs run against it unchanged. Run `npx fireemu capabilities` before depending on a specific API: each capability records whether it is implemented, partial, validation-only, or unsupported. The full feature summary, the known gaps from production Firebase and from the official Emulator Suite, and the project status are in the repository README linked below.
15
15
 
16
16
  ## Install
17
17
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fireemu",
3
- "version": "0.2.0",
4
- "description": "A deterministic, test-only local runtime for Firebase SDK and Functions code",
3
+ "version": "0.4.0",
4
+ "description": "An experimental local runtime for testing Firebase SDK and Functions code",
5
5
  "keywords": [
6
6
  "emulator",
7
7
  "firebase",
@@ -27,11 +27,11 @@
27
27
  ],
28
28
  "type": "module",
29
29
  "optionalDependencies": {
30
- "@fireemu/darwin-arm64": "0.2.0",
31
- "@fireemu/darwin-x64": "0.2.0",
32
- "@fireemu/linux-x64": "0.2.0",
33
- "@fireemu/linux-arm64": "0.2.0",
34
- "@fireemu/win32-x64": "0.2.0"
30
+ "@fireemu/darwin-arm64": "0.4.0",
31
+ "@fireemu/darwin-x64": "0.4.0",
32
+ "@fireemu/linux-x64": "0.4.0",
33
+ "@fireemu/linux-arm64": "0.4.0",
34
+ "@fireemu/win32-x64": "0.4.0"
35
35
  },
36
36
  "engines": {
37
37
  "node": ">=20"