Commit Graph
184 Commits
Author SHA1 Message Date
Rūdolfs Ošiņš fe42175e8c Update npm dependencies with a 5 day cooldown 2026-05-12 17:05:27 +02:00
Rūdolfs Ošiņš 9391cd072f Replace @radicle/gray-matter with js-yaml frontmatter parser 2026-05-07 23:04:55 +02:00
Delioos faadd2906b feat(markdown): mermaid diagram support 2026-05-07 18:31:28 +02:00
Rūdolfs Ošiņš 3f798744bb Use linkify-it for commit description URLs
Replace the hand-rolled URL regex with `linkify-it` (already a
transitive dep via `marked-linkify-it`). Add unit tests.
2026-05-06 09:54:04 +02:00
Rūdolfs Ošiņš b2f74ebd15 Upgrade all Javascript dependencies
Changes which were needed after the upgrade:

- Replace vite-plugin-virtual (vite 8 incompatible) with vite's
  built-in `define` for the buildTimeConfig injection

- tsconfig: drop deprecated `baseUrl` (TS 5+ resolves `paths`
  relative to tsconfig)

- Vitest 4: import `defineConfig` from `vitest/config` so `test`
  is valid in vite configs

- Zod 4: rename `.errors` to `.issues`, make `ZodSchema` a
  type-only import, drop the removed `SafeParseReturnType`

- Tighten/loosen generic casts in localStore to match stricter
  zod 4 inference

- ESLint 9 `no-useless-assignment`: remove redundant initializers
  and dead reassignments; disable the rule where Svelte's reactive
  blocks confuse the analyser

- Svelte/eslint `prefer-svelte-reactivity`: disable for legacy
  Svelte usages of URL / Set

- Misc naming-convention and prefer-const fixes
2026-04-22 17:48:45 +02:00
Rūdolfs Ošiņš ad75d6488c Bump playwright 1.52.0 -> 1.59.1
Playwright 1.52 hangs under Node 24 when loading test files that
transitively import modules with top-level await (tests/support/
support.ts). Node 24 enables require(esm) by default, and the old
CJS-based .ts transformer deadlocks on TLA.

Also update CLAUDE.md: playwright 1.59's --project flag is variadic
and greedily consumes trailing args, so the file path must come
before --project.
2026-04-22 14:36:52 +02:00
Rūdolfs Ošiņš a1b0723908 Bump nodejs 22.12.0 -> 24.15.0
This also drops .tool-versions to keep a single source of truth for the
node version in .nvmrc. We also point the github actions to .nvmrc now.
I'm the only dev who's using asdf to manage my tooling and I decided to
just configure it to fall back to .nvmrc via `legacy_version_file =
yes`.
2026-04-22 11:20:25 +02:00
Rūdolfs Ošiņš a184186944 Add helper script to run unit tests against local httpd
As opposed to running it against a pre-compiled binary with a pinned
version.
2026-04-22 09:40:47 +02:00
Rūdolfs Ošiņš 74e15e2535 Add open-graph card generation via Cloudflare Workers
Deploys two workers: og-injector intercepts social crawler requests and
injects Open Graph meta tags; open-graph renders 1200×630 PNG cards
using Satori with repo/user avatars ported from avatar.ts.
2026-04-13 12:45:57 +02:00
Rūdolfs Ošiņš 4eae95ab44 Allow running e2e test suite against a locally built httpd
This allows us to easily test httpd changes without doing a release
first and then updating the radicle-httpd-release file.
2026-02-26 16:36:07 -06:00
Rūdolfs Ošiņš 4c20d626e8 Add script for app.radicle.xyz deployments
Our Cloudflare deployments via GitHub broke. We can run deployments
manually to app.radicle.xyz via:

  npm run deploy

This also takes care of injecting the plausible.io script.
2026-01-09 16:55:19 -06:00
Sebastian Martinez 2c362adffb Update dependencies 2025-05-21 13:40:52 +02:00
Sebastian Martinez 11b7a92052 Update dependencies 2025-02-04 11:42:02 -06:00
Sebastian Martinez 50318285f8 Update svelte to v5.0
Only do the minimal changes possible to be able to keep updating
dependencies.
2025-02-04 11:42:02 -06:00
Sebastian Martinez 691e0255fb Improve handling of localStorage and svelte stores
Also moving the svelte-stored-writable package into the repo.
So we have it closer for maintenance, we can eventually rewrite it in
svelte 5 runes later.

Reference: https://github.com/efstajas/svelte-stored-writable/pull/5
2024-11-25 17:06:26 +01:00
Vincent Ambo 948605c30f Remove dependency on plausible.io tracker
Instead of sending data to a third-party by default, users can run privacy
friendly local log analysis systems like GoatCounter.

After this commit, Radicle Explorer will not randomly connect to unexpected
hosts anymore.
2024-09-30 14:50:19 +02:00
Rūdolfs Ošiņš dc906be387 Update dependencies 2024-09-25 09:18:44 +02:00
Rūdolfs Ošiņš edd2313245 Update dependencies 2024-09-16 12:56:44 +02:00
Rūdolfs Ošiņš 596c3b0e9b Update dependencies 2024-09-03 14:00:06 +02:00
Sebastian Martinez a34056b2bf Remove sinon in favor of existing APIs of playwright and vitest
We where using `sinon` in the `playwright` tests to simulate a different
time, which since `playwright@1.45.0` can be done with the Clock API
calling `page.clock.setFixedTime`.

And to test the mutex executor we can use the vitest utils spy function
`vi.fn()` instead of `sinon.spy()`
2024-08-29 10:11:04 +02:00
Rūdolfs Ošiņš 2891f0b795 Update dependencies 2024-08-27 15:07:08 +02:00
Rūdolfs Ošiņš 06cc5595c8 Upgrade eslint 2024-08-19 15:25:31 +02:00
Rūdolfs Ošiņš 7d738f91a2 Update dependencies 2024-08-19 12:26:23 +02:00
Sebastian Martinez 98857582f3 Reduce requests in patch view 2024-08-09 16:19:49 +02:00
Rūdolfs Ošiņš 853829ea28 Update dependencies 2024-08-08 23:45:06 +02:00
Rūdolfs Ošiņš e31ca2d0aa Update dependencies 2024-07-26 08:22:53 -03:00
Rūdolfs Ošiņš 662a5e24eb Update dependencies 2024-07-18 10:05:12 +02:00
Sebastian Martinez 58566535aa Update dependencies 2024-06-24 14:08:58 +02:00
Sebastian Martinez b09a705f58 Overhaul peer and branch selector 2024-06-20 16:43:30 +02:00
Rūdolfs Ošiņš 2f1a5dcdfe Rename http-server -> radicle-httpd
So that the directory name matches the crate name.
2024-06-20 11:44:44 +02:00
Sebastian Martinez adc6c6c290 Add http-server npm scripts 2024-06-07 12:22:28 +02:00
Sebastian Martinez 2ee8bae82e Rename httpd-client to http-client 2024-06-07 12:22:28 +02:00
Sebastian Martinez 0c7ea70c1b Update eslint config to flat config
Since the legacy config is being deprecated at the end of 2024, we
should start moving to the eslint flat config.

I avoided the tseslint config helper function so we avoid wrapping
magic.

This seems to have triggered more checking since any checks in svelte
files have appeared and the $$Generic type that is being deprecated had
to be rewritten.

Also fixes some any types that weren't caught previously
2024-05-27 17:35:16 +02:00
Thomas Scholtes ffd49e82ee Update execa
The execa update allows us two simplify two things

1. Output collection in a log file with a prefix can be done through
   `stdout` and `stderr` options of `execa`.
2. We don’t need to ensure that all subprocesses are killed when the
   main process exits. `execa` takes care of this
2024-05-27 09:29:10 +02:00
Thomas Scholtes 3b1b4a5b38 Set package name in package.json
Otherwise, `npm install` writes the directory name into
`package-lock.json`. In my case, this was still `radicle-interface`.
2024-05-27 09:21:08 +02:00
Sebastian Martinez 46e514dcd8 Refactor config json into a virtual module 2024-05-17 15:35:00 +02:00
Sebastian Martinez 13a6925bcf Remove sinon fake timers out of the window object 2024-05-17 13:11:47 +02:00
Sebastian Martinez 06eafe9a42 Move sinon to devDependencies
No reason to have it in dependencies
2024-05-14 16:52:53 +02:00
Rūdolfs Ošiņš 3bf25fe8b7 Remove blob/tree/stats API cache
This is now done properly in radicle-httpd via cache-control headers.
2024-05-14 12:13:37 +02:00
Sebastian Martinez 2fc03f3312 Add apiVersion to config and httpd request
We have a new apiVersion value in the config json that needs to be
changed for each breaking change on httpd so we can simulate a new
resource to the cache and get it cleared.

Also improves the ResponseParseError giving the user more information
on, if the node or the web client is outdated
2024-05-03 08:34:08 +02:00
Sebastian Martinez 746e478da3 Update dependencies 2024-03-26 13:03:50 +01:00
Sebastian Martinez caf2cf0ae2 Update dependencies 2024-03-04 22:08:57 +01:00
Sebastian Martinez 4bb0e72841 Remove hash routing
Since we don't have or want any deployments on IPFS, and we don't have
much use for hash routing else, we can clean up some code and remove
some tests.
2024-03-04 14:39:36 +01:00
Thomas Scholtes 7ba9429afb Cache requests for blob and tree objects 2024-02-28 10:59:06 +01:00
Sebastian Martinez 76ed6399c4 Remove caching projects found status 2024-02-08 12:45:58 -03:00
Georgios Jason Efstathiou b1411ae4a5 Implement new landing page 2024-02-01 17:29:40 +00:00
Sebastian Martinez 908c10b3a9 Update dependencies 2024-01-25 16:14:16 +00:00
Sebastian Martinez 9ee2a4578f Add share button 2024-01-24 21:58:18 +01:00
Sebastian Martinez 0ab1d1ba41 Replace exit-hook with custom event listeners
Instead of relying on the `exit-hook` dependency, we should listen to
`exit`, `SIGINT`, `SIGTERM` and other exceptions, and kill all running
processes.
2023-12-04 20:14:27 +01:00
Sebastian Martinez 0b331ba515 Update to vite@5 2023-11-17 11:53:53 +01:00