fireemu 0.12.0 → 0.13.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 +13 -13
  2. package/package.json +6 -6
package/README.md CHANGED
@@ -14,7 +14,7 @@ Fireemu is being developed to close these gaps. For example, it provides:
14
14
 
15
15
  Fireemu is still in development and does not yet reproduce every feature and behavior of production Firebase. Before relying on Fireemu’s test results in CI or other automated workflows, we recommend differential testing against production Firebase services for the features and critical workflows your application uses. Run the same tests against Fireemu and a dedicated Firebase test project, and check for differences in results and behavior that could affect your application. Use a dedicated test project, not your live production project.
16
16
 
17
- See the [capability manifest](https://github.com/t-k/fireemu/blob/v0.12.0/crates/fireemu/src/capabilities.json) and [compatibility documentation](https://github.com/t-k/fireemu/blob/v0.12.0/docs/compatibility-contract.md) for supported features, known differences, and the status of compatibility verification.
17
+ See the [capability manifest](https://github.com/t-k/fireemu/blob/v0.13.0/crates/fireemu/src/capabilities.json) and [compatibility documentation](https://github.com/t-k/fireemu/blob/v0.13.0/docs/compatibility-contract.md) for supported features, known differences, and the status of compatibility verification.
18
18
 
19
19
  ## Quick start
20
20
 
@@ -66,13 +66,13 @@ Fireemu supports Cloud Firestore, Firebase Authentication (Identity Platform), C
66
66
  | Cloud Pub/Sub | Schemas, BigQuery and Cloud Storage subscription delivery, and some APIs such as `UpdateTopic` are not supported. |
67
67
  | Firebase App Check | Local testing with debug tokens is supported. Real attestation through Play Integrity, App Attest, DeviceCheck, or reCAPTCHA, and replay protection using limited-use tokens, are not supported. |
68
68
 
69
- This table highlights key limitations; it is not exhaustive. Check individual API support and conditions with the following command or the [capability manifest](https://github.com/t-k/fireemu/blob/v0.12.0/crates/fireemu/src/capabilities.json).
69
+ This table highlights key limitations; it is not exhaustive. Check individual API support and conditions with the following command or the [capability manifest](https://github.com/t-k/fireemu/blob/v0.13.0/crates/fireemu/src/capabilities.json).
70
70
 
71
71
  ```sh
72
72
  npx fireemu capabilities
73
73
  ```
74
74
 
75
- See the [Functions support inventory](https://github.com/t-k/fireemu/blob/v0.12.0/docs/functions-export-inventory.md) for support by trigger type.
75
+ See the [Functions support inventory](https://github.com/t-k/fireemu/blob/v0.13.0/docs/functions-export-inventory.md) for support by trigger type.
76
76
 
77
77
  ### Unsupported products
78
78
 
@@ -204,7 +204,7 @@ You can specify the configuration file with `--config`.
204
204
  npx fireemu up --config ./fireemu.json
205
205
  ```
206
206
 
207
- Keep Fireemu-specific settings in a Fireemu configuration file containing `"schemaVersion": 1`, rather than in `firebase.json`. See the [configuration schema](https://github.com/t-k/fireemu/blob/v0.12.0/spec/config/fireemu.schema.json) for all available settings.
207
+ Keep Fireemu-specific settings in a Fireemu configuration file containing `"schemaVersion": 1`, rather than in `firebase.json`. See the [configuration schema](https://github.com/t-k/fireemu/blob/v0.13.0/spec/config/fireemu.schema.json) for all available settings.
208
208
 
209
209
  ### Firebase Authentication (Identity Platform) configuration
210
210
 
@@ -228,9 +228,9 @@ The `auth` section of `fireemu.json` lets you configure sign-in methods, passwor
228
228
  | Public keys for verifying custom tokens and OIDC ID tokens | `auth.customTokenSigners`, `auth.idpSigners` |
229
229
  | Sign-up quota configuration and local quota-exceeded simulation | `auth.quota`, `auth.quotaSimulation` |
230
230
 
231
- See the [configuration schema](https://github.com/t-k/fireemu/blob/v0.12.0/spec/config/fireemu.schema.json) for the format and accepted values of each setting.
231
+ See the [configuration schema](https://github.com/t-k/fireemu/blob/v0.13.0/spec/config/fireemu.schema.json) for the format and accepted values of each setting.
232
232
 
233
- Declare `auth.authorizedDomains`, for example `["localhost", "app.test"]`, to set the initial project-wide list in either profile. The list replaces the defaults, so include `localhost` if your tests use it. An empty list authorizes no host under `strict`; an absent or `null` setting keeps the existing defaults (`localhost` and the project's `firebaseapp.com` and `web.app` domains). Validation uses the Admin API's rules for the selected profile, including its conversion of numeric and boolean entries to strings and omission of `null` entries; use strings when writing the list. Fireemu intentionally keeps `localhost` in its defaults for development. The [recorded production sandbox baseline](https://github.com/t-k/fireemu/blob/v0.12.0/conformance/auth-action-production.json) does not include it; new production projects may also omit it. This default is a Fireemu-only convenience, and declaring the list replaces it. Tenant-scoped strict action links currently check the tenant's default domains rather than this project declaration; support for the parent project's live list is pending.
233
+ Declare `auth.authorizedDomains`, for example `["localhost", "app.test"]`, to set the initial project-wide list in either profile. The list replaces the defaults, so include `localhost` if your tests use it. An empty list authorizes no host under `strict`; an absent or `null` setting keeps the existing defaults (`localhost` and the project's `firebaseapp.com` and `web.app` domains). Validation uses the Admin API's rules for the selected profile, including its conversion of numeric and boolean entries to strings and omission of `null` entries; use strings when writing the list. Fireemu intentionally keeps `localhost` in its defaults for development. The [recorded production sandbox baseline](https://github.com/t-k/fireemu/blob/v0.13.0/conformance/auth-action-production.json) does not include it; new production projects may also omit it. This default is a Fireemu-only convenience, and declaring the list replaces it. Tenant-scoped strict action links currently check the tenant's default domains rather than this project declaration; support for the parent project's live list is pending.
234
234
 
235
235
  An Admin update changes the live list. A session reset restores the declared list, when present, and preserves an Admin-written list when no initial list was declared. Projects created later receive the declaration word for word, independently of the default project's live list; listing a particular project's `firebaseapp.com` or `web.app` domain therefore gives later projects that same domain. Clearing accounts leaves the live list alone. Auth export/import carries accounts without the domain list or its declaration. The `emulator` profile accepts the setting and exposes the list, while continuing to allow action-link continue URLs outside it.
236
236
 
@@ -324,7 +324,7 @@ Under the `strict` profile, TOTP is enabled only through the project's MFA confi
324
324
 
325
325
  #### Enable multi-tenancy
326
326
 
327
- Under the `strict` profile, enable `multiTenant.allowTenants` before using multi-tenancy: through the Admin API, or with `auth.multiTenant` in the file (see "Start with tenants" below). See the [compatibility documentation](https://github.com/t-k/fireemu/blob/v0.12.0/docs/compatibility-contract.md) for the supported Admin API scope.
327
+ Under the `strict` profile, enable `multiTenant.allowTenants` before using multi-tenancy: through the Admin API, or with `auth.multiTenant` in the file (see "Start with tenants" below). See the [compatibility documentation](https://github.com/t-k/fireemu/blob/v0.13.0/docs/compatibility-contract.md) for the supported Admin API scope.
328
328
 
329
329
  #### Start with tenants
330
330
 
@@ -375,7 +375,7 @@ A schedule is driven by the virtual clock alone: real time passing runs nothing.
375
375
 
376
376
  A manual run (`POST /v1/sessions/{session}/functions/{name}:run`) enqueues one run of a scheduled function stamped with the current virtual time. It does not consume the next occurrence, which still comes due and is subject to `scheduler.overlap` like any run. It answers `400 INVALID_ARGUMENT` for an unknown function, a function that is not scheduled, an overlap policy refusal, or a runtime that is shutting down, and `429 RESOURCE_EXHAUSTED` when the event queue is full. This is fireemu's own control, not a claim about production's run-now.
377
377
 
378
- See the [configuration schema](https://github.com/t-k/fireemu/blob/v0.12.0/spec/config/fireemu.schema.json) for available settings and values.
378
+ See the [configuration schema](https://github.com/t-k/fireemu/blob/v0.13.0/spec/config/fireemu.schema.json) for available settings and values.
379
379
 
380
380
  ### Firestore history limits
381
381
 
@@ -453,7 +453,7 @@ Fireemu is compatible with the listed Local Emulator Suite products as shipped b
453
453
 
454
454
  The `strict` and `emulator` profiles differ in some behaviors to serve their respective purposes. Where the official emulator and production Firebase disagree, Fireemu also adopts production behavior in some cases and records the difference.
455
455
 
456
- Check support for the specific APIs and conditions your application uses, rather than relying on product names alone. The [compatibility contract](https://github.com/t-k/fireemu/blob/v0.12.0/spec/compatibility/contract.json) records scope and known differences. The [compatibility documentation](https://github.com/t-k/fireemu/blob/v0.12.0/docs/compatibility-contract.md) explains the verification process and how to interpret its records.
456
+ Check support for the specific APIs and conditions your application uses, rather than relying on product names alone. The [compatibility contract](https://github.com/t-k/fireemu/blob/v0.13.0/spec/compatibility/contract.json) records scope and known differences. The [compatibility documentation](https://github.com/t-k/fireemu/blob/v0.13.0/docs/compatibility-contract.md) explains the verification process and how to interpret its records.
457
457
 
458
458
  ### Network exposure of the Storage port
459
459
 
@@ -461,7 +461,7 @@ Like the official emulator, the Storage port reflects the requested object name
461
461
 
462
462
  ### Changes between versions
463
463
 
464
- Configuration and behavior may change between releases. See the [CHANGELOG](https://github.com/t-k/fireemu/blob/v0.12.0/CHANGELOG.md) for release changes.
464
+ Configuration and behavior may change between releases. See the [CHANGELOG](https://github.com/t-k/fireemu/blob/v0.13.0/CHANGELOG.md) for release changes.
465
465
 
466
466
  ## Performance
467
467
 
@@ -478,7 +478,7 @@ The following results come from one `standard` run at commit `f3b942c`. Ratios a
478
478
 
479
479
  The 95% confidence interval for the startup-time ratio is `[21.4, 21.8]`. For the peak-memory ratio, calculated as official emulator divided by Fireemu, it is `[10.2, 11.1]`.
480
480
 
481
- See [benchmark.yml](https://github.com/t-k/fireemu/blob/v0.12.0/.github/workflows/benchmark.yml) for the workflow and [`tools/bench/`](https://github.com/t-k/fireemu/tree/v0.12.0/tools/bench/) for the benchmark implementation.
481
+ See [benchmark.yml](https://github.com/t-k/fireemu/blob/v0.13.0/.github/workflows/benchmark.yml) for the workflow and [`tools/bench/`](https://github.com/t-k/fireemu/tree/v0.13.0/tools/bench/) for the benchmark implementation.
482
482
 
483
483
  ## Reporting issues and contributing
484
484
 
@@ -486,8 +486,8 @@ When reporting an issue, include the Fireemu and Firebase SDK versions, the prof
486
486
 
487
487
  For compatibility issues, also state whether you are comparing against the actual Firebase service or the official emulator, along with the expected and actual results. Remove credentials and personal information before sharing configuration files or logs.
488
488
 
489
- See the [development guide](https://github.com/t-k/fireemu/blob/v0.12.0/docs/development.md) for build and test instructions.
489
+ See the [development guide](https://github.com/t-k/fireemu/blob/v0.13.0/docs/development.md) for build and test instructions.
490
490
 
491
491
  ## License
492
492
 
493
- Fireemu is licensed under the [Apache License 2.0](https://github.com/t-k/fireemu/blob/v0.12.0/LICENSE). Third-party notices are listed in [THIRD_PARTY_LICENSES.txt](https://github.com/t-k/fireemu/blob/v0.12.0/THIRD_PARTY_LICENSES.txt).
493
+ Fireemu is licensed under the [Apache License 2.0](https://github.com/t-k/fireemu/blob/v0.13.0/LICENSE). Third-party notices are listed in [THIRD_PARTY_LICENSES.txt](https://github.com/t-k/fireemu/blob/v0.13.0/THIRD_PARTY_LICENSES.txt).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fireemu",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "A local runtime for testing Firebase SDK and Functions code, checked against production Firebase behavior",
5
5
  "keywords": [
6
6
  "emulator",
@@ -27,11 +27,11 @@
27
27
  ],
28
28
  "type": "module",
29
29
  "optionalDependencies": {
30
- "@fireemu/darwin-arm64": "0.12.0",
31
- "@fireemu/darwin-x64": "0.12.0",
32
- "@fireemu/linux-x64": "0.12.0",
33
- "@fireemu/linux-arm64": "0.12.0",
34
- "@fireemu/win32-x64": "0.12.0"
30
+ "@fireemu/darwin-arm64": "0.13.0",
31
+ "@fireemu/darwin-x64": "0.13.0",
32
+ "@fireemu/linux-x64": "0.13.0",
33
+ "@fireemu/linux-arm64": "0.13.0",
34
+ "@fireemu/win32-x64": "0.13.0"
35
35
  },
36
36
  "engines": {
37
37
  "node": ">=20"