Skip to content

Commit b3b264a

Browse files
committed
chore(deps): pin non-core dependencies by version, slow down dependabot
Attempt to deal with dependency churn and conflicts we experience in the repo while resolving tensions we have in what we ship: As libraries, synapse-core and synapse-sdk have a floating dependency tree where they are used. We could choose to have a lockfile here for everything but that would only test _our_ use of these packages, not how they get used upstream. Any breakage, even via transitive dependencies, don't get noticed. It's through us experiencing the breakage that we get to deal with it. Unfortunately we also have some very noisy sub-packages in this repo with a significant dependency trees of their own which cause most of our transitive breakage. So in an attempt to slow that problem down, we pin our direct dependencies in the packages other than synapse-sdk and synapse-core, so it's only breakage via transitives that we experience outside of dependabot updates. The alternative is to separate out the core libary packages from the extraneous stuff, particularly docs, which are the source of most of our grief. This strategy is already working with biome, which is _very_ break-happy.
1 parent 23ba54b commit b3b264a

8 files changed

Lines changed: 59 additions & 73 deletions

File tree

.github/dependabot.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,9 @@ updates:
99
directory: /
1010
open-pull-requests-limit: 5
1111
schedule:
12-
interval: weekly
12+
# twice a month (1st and 15th, 09:00 UTC)
13+
interval: cron
14+
cronjob: '0 9 1,15 * *'
1315
cooldown:
1416
default-days: 7
1517
ignore:

apps/synapse-playground/package.json

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -12,34 +12,34 @@
1212
"dependencies": {
1313
"@filoz/synapse-core": "workspace:*",
1414
"@filoz/synapse-react": "workspace:*",
15-
"@nanostores/persistent": "^1.3.0",
16-
"@nanostores/react": "^1.0.0",
17-
"@radix-ui/react-avatar": "^1.1.10",
18-
"@radix-ui/react-dialog": "^1.1.15",
19-
"@radix-ui/react-dropdown-menu": "^2.1.16",
20-
"@radix-ui/react-label": "^2.1.7",
21-
"@radix-ui/react-select": "^2.2.6",
22-
"@radix-ui/react-separator": "^1.1.7",
23-
"@radix-ui/react-slot": "^1.2.3",
24-
"@radix-ui/react-switch": "^1.2.6",
25-
"@radix-ui/react-tooltip": "^1.2.8",
26-
"@tailwindcss/vite": "^4.2.1",
27-
"@tanstack/query-sync-storage-persister": "^5.101.0",
28-
"@tanstack/react-query": "^5.101.0",
29-
"@tanstack/react-query-persist-client": "^5.101.0",
30-
"class-variance-authority": "^0.7.1",
31-
"clsx": "^2.1.1",
32-
"iso-ledger": "^0.1.7",
33-
"lucide-react": "^1.8.0",
34-
"nanostores": "^1.1.1",
35-
"next-themes": "^0.4.6",
15+
"@nanostores/persistent": "1.3.4",
16+
"@nanostores/react": "1.1.0",
17+
"@radix-ui/react-avatar": "1.2.0",
18+
"@radix-ui/react-dialog": "1.1.17",
19+
"@radix-ui/react-dropdown-menu": "2.1.18",
20+
"@radix-ui/react-label": "2.1.10",
21+
"@radix-ui/react-select": "2.3.1",
22+
"@radix-ui/react-separator": "1.1.10",
23+
"@radix-ui/react-slot": "1.3.0",
24+
"@radix-ui/react-switch": "1.3.1",
25+
"@radix-ui/react-tooltip": "1.2.10",
26+
"@tailwindcss/vite": "4.3.1",
27+
"@tanstack/query-sync-storage-persister": "5.101.1",
28+
"@tanstack/react-query": "5.101.1",
29+
"@tanstack/react-query-persist-client": "5.101.1",
30+
"class-variance-authority": "0.7.1",
31+
"clsx": "2.1.1",
32+
"iso-ledger": "0.1.7",
33+
"lucide-react": "1.21.0",
34+
"nanostores": "1.3.0",
35+
"next-themes": "0.4.6",
3636
"react": "19.2.7",
3737
"react-dom": "19.2.7",
38-
"react-dropzone": "^15.0.0",
39-
"react-hook-form": "^7.77.0",
40-
"sonner": "^2.0.7",
41-
"tailwind-merge": "^3.3.1",
42-
"tailwindcss": "^4.2.1",
38+
"react-dropzone": "15.0.0",
39+
"react-hook-form": "7.80.0",
40+
"sonner": "2.0.7",
41+
"tailwind-merge": "3.6.0",
42+
"tailwindcss": "4.3.1",
4343
"viem": "catalog:",
4444
"wagmi": "catalog:",
4545
"zod": "catalog:"
@@ -48,11 +48,11 @@
4848
"@biomejs/biome": "catalog:",
4949
"@types/react": "catalog:",
5050
"@types/react-dom": "catalog:",
51-
"@vitejs/plugin-react": "^6.0.1",
52-
"tw-animate-css": "^1.4.0",
51+
"@vitejs/plugin-react": "6.0.3",
52+
"tw-animate-css": "1.4.0",
5353
"typescript": "catalog:",
54-
"vite": "^8.0.16",
54+
"vite": "8.1.0",
5555
"vite-plugin-node-polyfills-vite8": "0.25.4",
56-
"wrangler": "^4.98.0"
56+
"wrangler": "4.105.0"
5757
}
5858
}

docs/package.json

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -13,27 +13,27 @@
1313
"@filoz/synapse-core": "workspace:*",
1414
"@filoz/synapse-react": "workspace:*",
1515
"@filoz/synapse-sdk": "workspace:*",
16-
"@tanstack/react-query": "~5.101.0",
17-
"starlight-auto-sidebar": "^0.4.0",
18-
"starlight-changelogs": "^0.5.0",
19-
"starlight-links-validator": "^0.25.2",
16+
"@tanstack/react-query": "5.101.1",
17+
"starlight-auto-sidebar": "0.4.0",
18+
"starlight-changelogs": "0.5.0",
19+
"starlight-links-validator": "0.25.2",
2020
"viem": "catalog:",
2121
"wagmi": "catalog:"
2222
},
2323
"devDependencies": {
24-
"@astrojs/starlight": "^0.41.3",
25-
"@hugomrdias/docs": "^0.2.0",
24+
"@astrojs/starlight": "0.41.3",
25+
"@hugomrdias/docs": "0.2.0",
2626
"@types/react": "catalog:",
2727
"@types/react-dom": "catalog:",
28-
"astro": "^7.0.6",
29-
"astro-mermaid": "^2.0.2",
30-
"expressive-code-twoslash": "^0.6.1",
31-
"mermaid": "^11.12.2",
32-
"rehype-external-links": "^3.0.0",
33-
"sharp": "^0.35.3",
34-
"typedoc": "^0.28.19",
35-
"typedoc-plugin-mdn-links": "^5.0.10",
36-
"typedoc-plugin-missing-exports": "^4.1.2",
37-
"wrangler": "^4.98.0"
28+
"astro": "7.0.7",
29+
"astro-mermaid": "2.1.0",
30+
"expressive-code-twoslash": "0.6.1",
31+
"mermaid": "11.16.0",
32+
"rehype-external-links": "3.0.0",
33+
"sharp": "0.35.3",
34+
"typedoc": "0.28.19",
35+
"typedoc-plugin-mdn-links": "5.1.1",
36+
"typedoc-plugin-missing-exports": "4.1.3",
37+
"wrangler": "4.105.0"
3838
}
3939
}

docs/src/content/docs/core-concepts/storage-providers.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ A non-approved provider is registered in the [ServiceProviderRegistry](/core-con
2626
- Can still be used explicitly if you pass their `providerId` to lower-level APIs, though this bypasses the quality vetting that approval represents.
2727

2828
It is possible for a provider to be removed from the approved list. Removal does not deactivate existing storage deals and does not prevent further interaction with that provider via the SDK but removal may be an indication of a lowering of service quality.
29+
2930
## Approved Providers
3031

3132
An approved provider is a member of the **on-chain FWSS approved-provider set**. Approval means the provider has demonstrated, through continuous automated testing, that it meets the published acceptance criteria for storage success, data retention, and retrieval success.

examples/cli/package.json

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313
"author": "Hugo Dias <hugomrdias@gmail.com> (hugodias.me)",
1414
"license": "Apache-2.0 OR MIT",
1515
"dependencies": {
16-
"@clack/prompts": "^1.5.1",
16+
"@clack/prompts": "1.6.0",
1717
"@filoz/synapse-core": "workspace:^",
1818
"@filoz/synapse-sdk": "workspace:^",
19-
"@remix-run/fs": "^0.4.5",
20-
"cleye": "^2.3.0",
21-
"conf": "^15.0.2",
22-
"terminal-link": "^5.0.0",
19+
"@remix-run/fs": "0.4.5",
20+
"cleye": "2.6.0",
21+
"conf": "15.1.0",
22+
"terminal-link": "5.0.0",
2323
"viem": "catalog:"
2424
},
2525
"devDependencies": {

examples/script-tag/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010
"author": "Hugo Dias <hugomrdias@gmail.com> (hugodias.me)",
1111
"license": "Apache-2.0 OR MIT",
1212
"dependencies": {
13-
"servor": "^4.0.2"
13+
"servor": "4.0.2"
1414
}
1515
}

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424
},
2525
"devDependencies": {
2626
"@biomejs/biome": "catalog:",
27-
"knip": "^6.15.0",
28-
"markdownlint-cli2": "^0.23.0",
27+
"knip": "6.21.0",
28+
"markdownlint-cli2": "0.23.0",
2929
"typescript": "catalog:",
30-
"wireit": "^0.14.12"
30+
"wireit": "0.14.13"
3131
},
3232
"simple-git-hooks": {
3333
"pre-commit": "pnpm exec biome check --staged --fix"

pnpm-workspace.yaml

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -40,30 +40,13 @@ minimumReleaseAgeExclude:
4040
- iso-base
4141
- '@hugomrdias/docs'
4242
- playwright-test
43-
# viem 2.52.0 bump (#810) landed inside cooldown; viem pins ox exactly.
44-
# Remove after 2026-06-08 when both age out.
45-
- viem@2.52.0
46-
- ox@0.14.27
47-
# astro 6.4.2 fixes MDX/Starlight compatibility after 6.4.0.
48-
# Remove after 2026-06-05 when it ages out.
49-
- astro@6.4.2
5043

5144
trustPolicy: no-downgrade
5245

5346
trustPolicyExclude:
5447
# 0.2.0 published manually without provenance (0.1.9 was trusted-published).
5548
# Remove when republished via trusted CI.
5649
- '@hugomrdias/docs@0.2.0'
57-
# 2.0.x published manually; 2.0.2 (2026-06-01) is trusted-published.
58-
# Remove after 2026-06-08 when 2.0.2 ages past cooldown.
59-
- 'astro-mermaid@2.0.1'
60-
# tinylibs staged-publishing false positive (npm metadata omitted trusted-publisher
61-
# signal, see tinylibs/tinyclip#37); 1.2.4 (2026-05-31) is trusted-published.
62-
# Remove after 2026-06-07.
63-
- 'tinyexec@1.2.2'
64-
# Same staged-publishing false positive; tarball diffed clean vs 0.1.12.
65-
# 0.1.14 (2026-06-03) is trusted-published. Remove after 2026-06-10.
66-
- 'tinyclip@0.1.13'
6750
# Last 4.x (Dec 2024) predates chokidar adopting trusted publishing at 5.0.0.
6851
# Permanent while anything depends on chokidar@^4.
6952
- chokidar@4.0.3

0 commit comments

Comments
 (0)