• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

decentraland / snapshots-fetcher / 30489719569
96%

Build:
DEFAULT BRANCH: main
Ran 29 Jul 2026 08:50PM UTC
Jobs 1
Files 17
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 Jul 2026 08:45PM UTC coverage: 95.621% (+8.5%) from 87.133%
30489719569

push

github

web-flow
fix!: repair the unimportable package and stop sync advancing past undeployed entities (v3, Node 24) (#205)

* fix: declare fp-future and correct dependency placement

`src/synchronizer.ts` imports `fp-future`, but it was never declared as a
dependency. It resolved locally only because the `@dcl/http-server`
devDependency pulls it in, so a production install had nothing to satisfy
`require("fp-future")` from `dist/synchronizer.js` — which `dist/index.js`
re-exports. Every entry point of the published package therefore threw
MODULE_NOT_FOUND:

    $ npm ls fp-future --omit=dev
    @dcl/snapshots-fetcher@2.0.0
    └── (empty)

Verified by packing the tarball, installing it into a clean project with
--omit=dev and requiring it.

The mirror mistake is fixed too: `@dcl/fetch-component` was a production
dependency but is only used by `test/components.ts` (src takes
`IFetchComponent` from `@dcl/core-commons`), so it moves to devDependencies.

Also aligns the toolchain with the declared runtime: `@types/node` moves to
^22 to match `engines.node >= 22`, and TypeScript to ^5.7.

* chore: fix the build tooling, lint src/index.ts and document usage

- `make build` invoked `api-extractor`, which is neither declared nor
  installed, so the target always failed. It now runs `tsc` (matching
  `npm run build`) and a `make lint` target is added.
- `make clean` failed whenever `downloads/Qm*` matched nothing.
- jest's deprecated `globals: {'ts-jest': ...}` config moves to the
  `transform` form ts-jest 29 expects.
- `.eslintignore` no longer excludes `src/index.ts`. It was the only
  unlinted source file, and un-ignoring it immediately surfaced a
  `no-var-requires` violation and a formatting error — in the same file that
  held the unguarded metadata parsing fixed later in this series.
- The README's two TODOs ("verify hashes of downloaded files", "download to
  a temp folder then move") were both already implemented. Replaced with
  real usage docs, integrity notes an... (continued)

503 of 549 branches covered (91.62%)

Branch coverage included in aggregate %.

881 of 911 new or added lines in 13 files covered. (96.71%)

3 existing lines in 2 files now uncovered.

1484 of 1529 relevant lines covered (97.06%)

1580.88 hits per line

Uncovered Changes

Lines Coverage ∆ File
12
92.07
11.8% src/synchronizer.ts
5
96.04
4.19% src/utils.ts
4
94.52
1.87% src/client.ts
3
96.3
10.09% src/index.ts
3
77.42
src/pointer-changes-limits.ts
2
94.59
-0.75% src/downloader.ts
1
97.92
15.16% src/job-lifecycle-manager.ts

Coverage Regressions

Lines Coverage ∆ File
2
92.07
11.8% src/synchronizer.ts
1
96.04
4.19% src/utils.ts
Jobs
ID Job ID Ran Files Coverage
1 30489719569.1 29 Jul 2026 08:50PM UTC 17
95.62
GitHub Action Run
Source Files on build 30489719569
  • Tree
  • List 17
  • Changed 13
  • Source Changed 13
  • Coverage Changed 12
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #30489719569
  • 53e9c07a on github
  • Prev Build on main (#30057773496)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc