@hominis/fireforge 0.50.0 → 0.52.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.
- package/CHANGELOG.md +67 -0
- package/dist/build-info.json +4 -4
- package/dist/src/commands/check-report.d.ts +17 -4
- package/dist/src/commands/check-report.js +19 -6
- package/dist/src/commands/check-run.d.ts +5 -0
- package/dist/src/commands/check-run.js +9 -1
- package/dist/src/commands/check-steps.d.ts +8 -0
- package/dist/src/commands/check-steps.js +31 -6
- package/dist/src/commands/check.js +1 -1
- package/dist/src/commands/declarations-report.d.ts +43 -0
- package/dist/src/commands/declarations-report.js +76 -0
- package/dist/src/commands/export-placement-gate.js +8 -0
- package/dist/src/commands/furnace/rename-registrations.js +7 -2
- package/dist/src/commands/furnace/validate.js +26 -1
- package/dist/src/commands/lint-per-patch.js +6 -2
- package/dist/src/commands/lint-per-run-checkjs.js +2 -2
- package/dist/src/commands/lint-report.js +7 -2
- package/dist/src/commands/manifest.js +2 -0
- package/dist/src/commands/park.d.ts +22 -0
- package/dist/src/commands/park.js +232 -0
- package/dist/src/commands/patch/delete.js +11 -6
- package/dist/src/commands/patch/index.d.ts +3 -3
- package/dist/src/commands/patch/index.js +8 -4
- package/dist/src/commands/patch/lint-ignore-from.d.ts +44 -0
- package/dist/src/commands/patch/lint-ignore-from.js +142 -0
- package/dist/src/commands/patch/lint-ignore.js +39 -29
- package/dist/src/commands/patch/move-files-create.js +11 -4
- package/dist/src/commands/patch/move-files-into.js +10 -4
- package/dist/src/commands/patch/move-files.js +3 -1
- package/dist/src/commands/patch/removal-created-files.d.ts +48 -0
- package/dist/src/commands/patch/removal-created-files.js +83 -0
- package/dist/src/commands/patch/rename.js +15 -3
- package/dist/src/commands/patch/reserve.d.ts +33 -0
- package/dist/src/commands/patch/reserve.js +152 -0
- package/dist/src/commands/patch/retire.js +11 -6
- package/dist/src/commands/patch/split-plan.d.ts +10 -1
- package/dist/src/commands/patch/split-plan.js +16 -1
- package/dist/src/commands/patch/split.js +14 -5
- package/dist/src/commands/patch/stage.d.ts +34 -0
- package/dist/src/commands/patch/stage.js +153 -0
- package/dist/src/commands/patch/staged-dependency-remove.d.ts +31 -0
- package/dist/src/commands/patch/staged-dependency-remove.js +80 -0
- package/dist/src/commands/patch/staged-dependency.js +40 -98
- package/dist/src/commands/re-export-adjacent.d.ts +5 -0
- package/dist/src/commands/re-export-adjacent.js +4 -3
- package/dist/src/commands/re-export-bulk-scan.d.ts +2 -1
- package/dist/src/commands/re-export-bulk-scan.js +22 -7
- package/dist/src/commands/re-export-hunks.d.ts +35 -0
- package/dist/src/commands/re-export-hunks.js +220 -0
- package/dist/src/commands/re-export-options.js +29 -2
- package/dist/src/commands/re-export-purity-scope.d.ts +18 -0
- package/dist/src/commands/re-export-purity-scope.js +131 -0
- package/dist/src/commands/re-export-register.js +15 -1
- package/dist/src/commands/re-export-removed.d.ts +1 -1
- package/dist/src/commands/re-export-removed.js +17 -2
- package/dist/src/commands/re-export-scan.d.ts +2 -0
- package/dist/src/commands/re-export-scan.js +4 -1
- package/dist/src/commands/re-export-single.js +102 -42
- package/dist/src/commands/re-export-stale-registrations.d.ts +18 -0
- package/dist/src/commands/re-export-stale-registrations.js +62 -0
- package/dist/src/commands/re-export.js +35 -34
- package/dist/src/commands/status-output.js +5 -1
- package/dist/src/commands/test-build-furnace.d.ts +3 -2
- package/dist/src/commands/test-build-furnace.js +8 -2
- package/dist/src/commands/test-build-phase.d.ts +2 -0
- package/dist/src/commands/test-build-phase.js +34 -17
- package/dist/src/commands/test-checkjs.js +3 -2
- package/dist/src/commands/test-dispatch.d.ts +39 -0
- package/dist/src/commands/test-dispatch.js +220 -0
- package/dist/src/commands/test-furnace-reach.d.ts +37 -0
- package/dist/src/commands/test-furnace-reach.js +132 -0
- package/dist/src/commands/test-orchestrate.d.ts +14 -0
- package/dist/src/commands/test-orchestrate.js +25 -4
- package/dist/src/commands/test-perf-scope.d.ts +21 -0
- package/dist/src/commands/test-perf-scope.js +55 -0
- package/dist/src/commands/test-prelock.js +100 -4
- package/dist/src/commands/test-register.js +18 -3
- package/dist/src/commands/test-results.d.ts +62 -0
- package/dist/src/commands/test-results.js +62 -0
- package/dist/src/commands/test-run.d.ts +13 -55
- package/dist/src/commands/test-run.js +73 -101
- package/dist/src/commands/test-shards.d.ts +110 -0
- package/dist/src/commands/test-shards.js +255 -0
- package/dist/src/commands/test-stale-gate.d.ts +5 -1
- package/dist/src/commands/test-stale-gate.js +11 -2
- package/dist/src/commands/test-verdict.d.ts +2 -1
- package/dist/src/commands/test.d.ts +1 -1
- package/dist/src/commands/test.js +68 -75
- package/dist/src/commands/token-lint.js +48 -8
- package/dist/src/commands/verify.js +9 -2
- package/dist/src/core/build-baseline-types.d.ts +13 -0
- package/dist/src/core/build-baseline-validate.js +9 -0
- package/dist/src/core/build-baseline.js +7 -0
- package/dist/src/core/build-prepare.d.ts +6 -0
- package/dist/src/core/build-prepare.js +29 -3
- package/dist/src/core/config-paths.d.ts +1 -1
- package/dist/src/core/config-paths.js +2 -0
- package/dist/src/core/config-validate-check.js +83 -7
- package/dist/src/core/config-validate-test-toolchains.js +14 -0
- package/dist/src/core/config-validate-token-scales.d.ts +3 -0
- package/dist/src/core/config-validate-token-scales.js +47 -5
- package/dist/src/core/config-validate.js +6 -0
- package/dist/src/core/coverage-extend.js +2 -2
- package/dist/src/core/coverage-records.d.ts +11 -0
- package/dist/src/core/coverage-records.js +34 -0
- package/dist/src/core/engine-session-lock.d.ts +6 -0
- package/dist/src/core/engine-session-lock.js +10 -2
- package/dist/src/core/file-lock-shared.d.ts +57 -0
- package/dist/src/core/file-lock-shared.js +117 -0
- package/dist/src/core/file-lock.d.ts +9 -0
- package/dist/src/core/file-lock.js +58 -2
- package/dist/src/core/furnace-apply.js +10 -10
- package/dist/src/core/furnace-config-validate-exceptions.d.ts +11 -3
- package/dist/src/core/furnace-config-validate-exceptions.js +59 -8
- package/dist/src/core/furnace-config-validate.js +7 -1
- package/dist/src/core/furnace-registration-jar-inplace.d.ts +12 -0
- package/dist/src/core/furnace-registration-jar-inplace.js +80 -0
- package/dist/src/core/furnace-validate-accessibility.d.ts +5 -3
- package/dist/src/core/furnace-validate-accessibility.js +75 -30
- package/dist/src/core/furnace-validate-exceptions.d.ts +13 -4
- package/dist/src/core/furnace-validate-exceptions.js +59 -4
- package/dist/src/core/furnace-validate-icon-button.js +30 -1
- package/dist/src/core/history-log-file.js +8 -1
- package/dist/src/core/line-prefixer.d.ts +18 -0
- package/dist/src/core/line-prefixer.js +34 -0
- package/dist/src/core/mach.d.ts +7 -0
- package/dist/src/core/mach.js +24 -9
- package/dist/src/core/module-resolution-preflight.d.ts +19 -3
- package/dist/src/core/module-resolution-preflight.js +24 -6
- package/dist/src/core/negative-control-compiled.d.ts +36 -0
- package/dist/src/core/negative-control-compiled.js +87 -0
- package/dist/src/core/negative-control-diff.d.ts +14 -2
- package/dist/src/core/negative-control-diff.js +49 -6
- package/dist/src/core/negative-control.d.ts +12 -0
- package/dist/src/core/negative-control.js +48 -5
- package/dist/src/core/park-store.d.ts +63 -0
- package/dist/src/core/park-store.js +216 -0
- package/dist/src/core/patch-export-update.d.ts +4 -0
- package/dist/src/core/patch-export-update.js +12 -3
- package/dist/src/core/patch-export.d.ts +3 -2
- package/dist/src/core/patch-export.js +21 -14
- package/dist/src/core/patch-files.js +26 -8
- package/dist/src/core/patch-lint-checkjs-any-import.d.ts +6 -4
- package/dist/src/core/patch-lint-checkjs-any-import.js +9 -7
- package/dist/src/core/patch-lint-checkjs-diagnostics.d.ts +17 -0
- package/dist/src/core/patch-lint-checkjs-diagnostics.js +32 -0
- package/dist/src/core/patch-lint-checkjs.d.ts +10 -1
- package/dist/src/core/patch-lint-checkjs.js +13 -3
- package/dist/src/core/patch-lint-cross.d.ts +3 -1
- package/dist/src/core/patch-lint-cross.js +5 -0
- package/dist/src/core/patch-lint-css.js +14 -10
- package/dist/src/core/patch-lint-forward-registration-extended.d.ts +5 -0
- package/dist/src/core/patch-lint-forward-registration-extended.js +1 -1
- package/dist/src/core/patch-lint-ignore.d.ts +56 -12
- package/dist/src/core/patch-lint-ignore.js +173 -43
- package/dist/src/core/patch-lint-ownership.d.ts +10 -0
- package/dist/src/core/patch-lint-ownership.js +26 -0
- package/dist/src/core/patch-lint-size.js +9 -1
- package/dist/src/core/patch-lint-token-scale.d.ts +26 -8
- package/dist/src/core/patch-lint-token-scale.js +206 -29
- package/dist/src/core/patch-lint.js +2 -2
- package/dist/src/core/patch-manifest-io.js +8 -1
- package/dist/src/core/patch-manifest-key-order.d.ts +24 -0
- package/dist/src/core/patch-manifest-key-order.js +61 -0
- package/dist/src/core/patch-manifest-stage.d.ts +46 -0
- package/dist/src/core/patch-manifest-stage.js +96 -0
- package/dist/src/core/patch-manifest-validate.js +27 -1
- package/dist/src/core/patch-order-legal.d.ts +2 -1
- package/dist/src/core/patch-order-legal.js +7 -2
- package/dist/src/core/patch-policy.d.ts +6 -2
- package/dist/src/core/patch-policy.js +14 -7
- package/dist/src/core/patch-retired.d.ts +26 -4
- package/dist/src/core/patch-retired.js +40 -2
- package/dist/src/core/run-log.d.ts +6 -0
- package/dist/src/core/run-log.js +17 -1
- package/dist/src/core/test-harness-crash.d.ts +2 -1
- package/dist/src/core/test-harness-crash.js +5 -8
- package/dist/src/core/test-harness-signature.d.ts +16 -0
- package/dist/src/core/test-harness-signature.js +19 -1
- package/dist/src/core/test-raw-log.d.ts +66 -0
- package/dist/src/core/test-raw-log.js +122 -0
- package/dist/src/core/test-run-completeness.d.ts +47 -7
- package/dist/src/core/test-run-completeness.js +70 -23
- package/dist/src/core/test-stale-check.d.ts +10 -1
- package/dist/src/core/test-stale-check.js +15 -1
- package/dist/src/core/test-xpcshell-retry.d.ts +2 -0
- package/dist/src/core/test-xpcshell-retry.js +2 -1
- package/dist/src/core/token-lint.d.ts +5 -2
- package/dist/src/core/token-lint.js +8 -3
- package/dist/src/core/token-sibling-sheets.d.ts +46 -0
- package/dist/src/core/token-sibling-sheets.js +119 -0
- package/dist/src/core/tree-guard.js +2 -0
- package/dist/src/core/typecheck-shim.d.ts +6 -1
- package/dist/src/core/typecheck-shim.js +139 -2
- package/dist/src/core/typecheck.js +3 -1
- package/dist/src/index.d.ts +9 -3
- package/dist/src/index.js +4 -1
- package/dist/src/types/commands/index.d.ts +2 -2
- package/dist/src/types/commands/options.d.ts +68 -7
- package/dist/src/types/commands/patches.d.ts +43 -0
- package/dist/src/types/config.d.ts +74 -2
- package/dist/src/types/furnace.d.ts +29 -0
- package/dist/src/types/index.d.ts +1 -1
- package/dist/src/utils/options.d.ts +3 -2
- package/dist/src/utils/options.js +9 -4
- package/docs/configuration.md +110 -9
- package/docs/furnace.md +61 -1
- package/docs/lifecycle-invariants.md +13 -11
- package/docs/machine-output.md +68 -18
- package/docs/patch-workflow.md +174 -13
- package/docs/testing.md +89 -5
- package/package.json +3 -3
package/docs/testing.md
CHANGED
|
@@ -107,6 +107,25 @@ read from the objdir, not from `engine/`, so a control on it stays green
|
|
|
107
107
|
and reports `missed`: that result is the signal to target the file the
|
|
108
108
|
browser actually loads.
|
|
109
109
|
|
|
110
|
+
A control on compiled source (C/C++, Rust, IDL, WebIDL, IPDL or YAML that no
|
|
111
|
+
install manifest ships) can only reach the binary through a build. Without
|
|
112
|
+
`--build` it is refused before the lock. With `--build` it is applied before
|
|
113
|
+
the pre-test build, so the binary under test carries it, stays applied for
|
|
114
|
+
every `--repeat` run, and is restored with a fresh mtime so the next build
|
|
115
|
+
recompiles the original. Since 0.52.0 that pre-test build is a full
|
|
116
|
+
`mach build`, with a notice naming the control's files: the default
|
|
117
|
+
`mach build faster` compiles nothing, so before, the control still tested
|
|
118
|
+
the previous binary and reported `missed`. The verdict adds
|
|
119
|
+
`control-build=compiled`. A
|
|
120
|
+
build-less control whose packaging is not current is refused before the
|
|
121
|
+
lock with the advice to add `--build`, instead of ending `inconclusive`
|
|
122
|
+
after a full queue.
|
|
123
|
+
|
|
124
|
+
Besides `git diff` output, a control may be a plain unified diff
|
|
125
|
+
(`diff -u`, no `diff --git` lines; the path comes from `---`/`+++`) or a
|
|
126
|
+
`git diff --no-index <engine file> <edited copy>`: when the new side names a
|
|
127
|
+
copy outside `engine/` and `components/`, the control targets the old side.
|
|
128
|
+
|
|
110
129
|
### The restore safety model
|
|
111
130
|
|
|
112
131
|
- **Only under the lock.** Apply, run and restore all happen inside the
|
|
@@ -194,13 +213,22 @@ earlier path whose own inputs and `engine/mozconfig` are unchanged, whatever
|
|
|
194
213
|
moved elsewhere in the engine, including a peer's edits and an engine HEAD
|
|
195
214
|
move that touches none of them. A path whose inputs changed is dropped and
|
|
196
215
|
named, with the inputs that changed. Changed inputs this build restages are
|
|
197
|
-
allowed
|
|
216
|
+
allowed, and a scoped build of one file restages that file's test manifest
|
|
217
|
+
too: a manifest that gained an entry for the new file no longer drops the
|
|
218
|
+
claims of its sibling files. A build-less run's packaging gates also run
|
|
219
|
+
before the lock is requested, so a `coverage-replaced` or `stale-build`
|
|
220
|
+
refusal arrives before the run queues.
|
|
198
221
|
|
|
199
222
|
A scoped build after a full build keeps the claim full while nothing outside
|
|
200
223
|
its scope moved. Otherwise it carries the full build's anchor forward, and a
|
|
201
224
|
later build-less run over any path stays covered while that path's own
|
|
202
225
|
staging inputs are unchanged since the full build. A refusal names the inputs
|
|
203
|
-
that did change.
|
|
226
|
+
that did change, and since 0.52.0 who wrote the coverage record: its
|
|
227
|
+
invocation, when, and the writing process's pid (marked `still running`
|
|
228
|
+
while it is), `FIREFORGE_SESSION_ID` and invocation id, the id its history
|
|
229
|
+
records carry. `status --test-coverage` shows the pid and session too. A
|
|
230
|
+
peer whose run a scoped build or a test-file edit refused can tell whose
|
|
231
|
+
build to wait for.
|
|
204
232
|
|
|
205
233
|
`--extend-coverage` remains accepted. Retention is now the default, so the
|
|
206
234
|
flag only turns a drop into a refusal before the build. Before 0.50.0 a
|
|
@@ -221,6 +249,15 @@ packages `engine/` as it stands, for example for a before-capture, names the
|
|
|
221
249
|
components with undeployed edits it left out, and stamps
|
|
222
250
|
`furnace-apply=skipped`.
|
|
223
251
|
|
|
252
|
+
On a shared engine a peer's default `test --build` deploys every session's
|
|
253
|
+
undeployed component edits. `--furnace-apply reached` (or
|
|
254
|
+
`test.furnaceApply: "reached"`) deploys only the components a requested test
|
|
255
|
+
reaches: the test path, the test file, a `head*.js` beside it, or any test
|
|
256
|
+
file under a requested directory names the component. The rest are named in
|
|
257
|
+
a notice and stamped `furnace-skipped=<names>`. A path-less build reaches
|
|
258
|
+
every component. `--furnace-apply none` is `--no-furnace-apply`; `all` is the
|
|
259
|
+
default.
|
|
260
|
+
|
|
224
261
|
When `patchLint.checkJs` and `patchLint.checkJsTestFiles` are enabled, named
|
|
225
262
|
pre-test builds check the selected test scripts before deployment or mach.
|
|
226
263
|
This includes new scripts not yet owned by an exported patch. The check runs
|
|
@@ -247,7 +284,7 @@ launchd-parented app remains unattributed and is not automatically killed.
|
|
|
247
284
|
`test --wait-browser [seconds]` waits for this objdir's browser to exit;
|
|
248
285
|
`test --wait-port [seconds]` waits for mochitest and Marionette listeners.
|
|
249
286
|
`build --wait-browser [seconds]` queues a full or UI build behind the browser.
|
|
250
|
-
Bare flags wait 60 seconds; explicit values accept 1–
|
|
287
|
+
Bare flags wait 60 seconds; explicit values accept 1–86400 seconds. They are
|
|
251
288
|
independent of the FireForge lock budget, and they are spent BEFORE the
|
|
252
289
|
engine session lock is requested, so a run waiting out a browser or a port
|
|
253
290
|
does not hold every peer's build, test and re-export behind it. The run then
|
|
@@ -433,9 +470,16 @@ group sweep.
|
|
|
433
470
|
Every test run ends with one machine-readable line:
|
|
434
471
|
|
|
435
472
|
```
|
|
436
|
-
FIREFORGE-VERDICT: PASS|FAIL reason=… [note=<class>] [started=<n>/<m> first-unstarted=<path>] [runs=<p>/<n>] [control=<outcome>] [shuffle=<seed>] [orphans-reaped=<n>] [furnace-applied=<names>|furnace-apply=skipped] [log=<path>]
|
|
473
|
+
FIREFORGE-VERDICT: PASS|FAIL reason=… [note=<class>] [started=<n>/<m> first-unstarted=<path> started-source=<src>] [shards=<p>/<t> [failed-shards=<labels>]] [runs=<p>/<n>] [control=<outcome>] [shuffle=<seed>] [orphans-reaped=<n>] [furnace-applied=<names>|furnace-apply=skipped] [furnace-skipped=<names>] [jobs=<n>] [lock=shared] [results=<path>] [log=<path>]
|
|
437
474
|
```
|
|
438
475
|
|
|
476
|
+
The start count reads every line the harness printed, not the last 2 MB of
|
|
477
|
+
captured output: a suite printing more than that (a large browser directory,
|
|
478
|
+
or any run under `--full-output`) used to report files that ran and passed
|
|
479
|
+
as never started. `started-source=` names the evidence. A sharded run also
|
|
480
|
+
prints a `FIREFORGE-SHARD:` line per shard and names the shards that did not
|
|
481
|
+
pass as `failed-shards=`; see [`machine-output.md`](machine-output.md).
|
|
482
|
+
|
|
439
483
|
A run is never `PASS` when its summary reports unexpected results, when the
|
|
440
484
|
harness printed "Application shut down (without crashing) in the middle of a
|
|
441
485
|
test", or when a requested test file never produced a start (or skip)
|
|
@@ -528,7 +572,47 @@ The two phases handle it differently, on purpose:
|
|
|
528
572
|
|
|
529
573
|
A test run holds the engine-session lock and snapshots the engine git
|
|
530
574
|
generation before and after the harness run, failing the verdict as invalid
|
|
531
|
-
if the tree changed mid-run
|
|
575
|
+
if the tree changed mid-run in a way the running browser can see: a file the
|
|
576
|
+
objdir links to its source, a file staged at dispatch, or a test file or
|
|
577
|
+
staging input of the run. A peer's edit to anything else (a compiled source,
|
|
578
|
+
a copied file, an unrelated test) leaves the verdict standing with a warning
|
|
579
|
+
and `drift-tolerated=<n>`; the next run's stale-build gate judges whether it
|
|
580
|
+
needs a rebuild.
|
|
581
|
+
|
|
582
|
+
`--shared-lock` (or `test.lockMode: "shared"`) holds the lock shared for a
|
|
583
|
+
build-less run that applies no negative control and uses auto ports, so
|
|
584
|
+
several such runs on one objdir overlap. Anything that writes (a build, a
|
|
585
|
+
re-export, a `test --build`) still holds the lock alone: it waits for shared
|
|
586
|
+
holders to finish, and new shared holders queue behind it.
|
|
587
|
+
`status --lock` counts shared holders. Orphan reaping only touches helpers
|
|
588
|
+
whose parent died, so overlapping runs do not reap each other's live
|
|
589
|
+
helpers.
|
|
590
|
+
|
|
591
|
+
`--jobs <n>` runs a request's shards on n harness instances inside one lock
|
|
592
|
+
hold. Each instance has its own profile and its own Marionette port, and
|
|
593
|
+
auto ports (required) move each instance's mochitest server ports; output
|
|
594
|
+
lines carry a `[job <i>]` prefix in the terminal and the run log. Since
|
|
595
|
+
0.52.0 each instance also writes its own mochitest test list
|
|
596
|
+
(`--testrun-manifest-file`): on the harness's shared default
|
|
597
|
+
`_tests/testing/mochitest/tests.json`, the second instance ran the first
|
|
598
|
+
shard's file and passed, or found none. A `--jobs` run always reads each
|
|
599
|
+
dispatch's mozlog raw log, and a dispatch whose raw log starts none of its
|
|
600
|
+
requested files fails with `started=0/<m>` instead of passing on another
|
|
601
|
+
shard's results. With `--no-shard`, or a single directory argument, the
|
|
602
|
+
files are split in order into n contiguous chunks. Parallel browsers raise
|
|
603
|
+
host load, so measure before relying on it.
|
|
604
|
+
|
|
605
|
+
`--shard-size <n>` dispatches n files per mach invocation (mochitest restarts
|
|
606
|
+
the browser between files), paying the harness start once per chunk instead
|
|
607
|
+
of once per file, and judges each file from mozlog's structured log:
|
|
608
|
+
`shards=` then counts files and `failed-shards=` names failed files.
|
|
609
|
+
|
|
610
|
+
`--results <path>` writes one JSON record per test file and `--repeat` run
|
|
611
|
+
(status, expected status, duration, unexpected subtests, the shard, and the
|
|
612
|
+
run-log line where the dispatch began) from mozlog's structured log, which
|
|
613
|
+
each dispatch then writes with `--log-raw`, and names it on the verdict as
|
|
614
|
+
`results=<path>`. A `--log-raw <file>` already forwarded with `--mach-arg` is
|
|
615
|
+
read instead. The checks that need no lock run before it is
|
|
532
616
|
requested: the launchable binary, the named-file checkJs pass, and the
|
|
533
617
|
`--wait-browser`/`--wait-port` budgets. The run log is open from the start,
|
|
534
618
|
so a `reason=lock-timeout` line carries `log=` too.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hominis/fireforge",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.52.0",
|
|
4
4
|
"description": "FireForge — a build tool for customizing Firefox",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/src/index.js",
|
|
@@ -76,9 +76,9 @@
|
|
|
76
76
|
"eslint-plugin-simple-import-sort": "^14.0.0",
|
|
77
77
|
"fast-check": "^4.6.0",
|
|
78
78
|
"husky": "^9.1.7",
|
|
79
|
-
"knip": "6.
|
|
79
|
+
"knip": "6.41.0",
|
|
80
80
|
"lint-staged": "^17.0.4",
|
|
81
|
-
"prettier": "3.9.
|
|
81
|
+
"prettier": "3.9.10",
|
|
82
82
|
"tsx": "^4.7.0",
|
|
83
83
|
"typescript": "~6.0.0",
|
|
84
84
|
"typescript-eslint": "^8.0.0",
|