Commit Graph
67 Commits
Author SHA1 Message Date
Daniel Norman 8f2ddcf489 Cache npm dependencies in Buildkite
- Add twemoji as npm dependency instead of build download
- Package build assets with a Vite plugin instead of scripts
- Keep the eslint and prettier caches in one directory
2026-08-26 17:44:04 +02:00
Rūdolfs Ošiņš 3c2935704f Upgrade npm dependencies
This also upgrades dompurify to the latest version, outside our cooldown
window, for a security fix (verified safe with extra security checks).

Newer dompurify versions expose a bug where happy-dom renders one of our
custom elements incorrectly in tests, unlike real browsers. Switch the unit
test environment from happy-dom to jsdom to fix the failing tests.
2026-07-16 11:34:41 +02:00
025e7254f9 Add explore homepage and Radicle marketing site
Co-authored-by: Julien Donck <donckjulien@gmail.com>
Co-authored-by: Brandon Oxendine <brandon.oxendine@gmail.com>
2026-07-15 15:41:35 +02:00
Rūdolfs Ošiņš 0bcc2b4c2d Lazy-load mermaid
Switch to a dynamic import in afterUpdate and drop
manualChunks so Rolldown auto-splits the lazy chunk.
Eager bundle drops from 1.3 MB to 610 KB gzipped.
2026-05-07 18:31:28 +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ņš 775cbd1c37 Allow overriding configuration at run-time 2025-04-25 08:55:09 +02:00
Rūdolfs Ošiņš 1ff3890fa8 Clean up icons 2024-07-29 15:30:27 +02:00
Sebastian Martinez dd61f5cf5c Remove local httpd features and experimental features
Updates API version to 2.0.0
2024-07-04 11:48:41 +02:00
Sebastian Martinez 2ee8bae82e Rename httpd-client to http-client 2024-06-07 12:22:28 +02:00
Sebastian Martinez 46e514dcd8 Refactor config json into a virtual module 2024-05-17 15:35:00 +02:00
Sebastian Martinez 83041c3e52 Provide function for manualChunks
Instead of hardcoding the manualChunks this allows us to reduce chunk
size of index, and make it more flexible for new dependencies.
2024-05-14 16:52:53 +02:00
Sebastian Martinez cea5aeb614 Improve markdown checkbox design
Replaces `input type="checkbox"` elements in Markdown with our new custom
IconSmall webcomponent.

Doesn't support disabled checkboxes yet, since there is no way to define
them in markdown.
2023-12-08 10:57:42 +01:00
Sebastian Martinez 0b331ba515 Update to vite@5 2023-11-17 11:53:53 +01:00
Sebastian Martinez 94985d0489 Fix HMR issue with customElements 2023-11-15 15:46:15 +01:00
Sebastian Martinez 9f68848bc0 Update dependencies
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-09-27 07:56:26 +02:00
Sebastian Martinez c92e593a16 Fix vite reloading during e2e tests
The issue seems to have been linked to the fact that we triggers incorrect refresh
through fsEvents. Even tough there are no changes on the local file system,
it requests full reload after 1-2 min.

Disabling fsEvents in the vite.config.ts prevents this to happen and per extension,
avoid the problem.

source: https://stackoverflow.com/a/75238360

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-09-13 15:15:44 +02:00
Sebastian Martinez 14ba807e55 Set the httpd port for the test suite to be 8081.
Also where possible use the `config.seeds.defaultHttpdPort` instead of
hardcoding it.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-07-17 15:19:31 +02:00
Sebastian Martinez dbad9ddeef Remove hack for happy-dom
The update to happy-dom 8.0 did remove the need to do the assignment
hack in `setupVitest`

source: https://github.com/vitest-dev/vitest/issues/2305#issuecomment-1396387954

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-06-30 07:24:30 +02:00
Sebastian Martinez cc70c24684 Remove unnecessary type definitions from vite and tsconfig
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-05-23 09:31:36 +02:00
Sebastian Martinez d8d470ae9d Add ability to install as PWA
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-05-08 13:55:50 +02:00
Rūdolfs Ošiņš c8c251fabd Add httpd-client api library
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-04-11 15:31:08 +02:00
Sebastian Martinez 4c3bd7ee04 Fix statically replaced HASH_ROUTING env variables
Also moves the HASH_ROUTING env variable from being modified inside the
hashRouter.spec.ts into the webserver config in the
playwright.config.ipfs.ts

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-04-03 11:50:24 +02:00
Rūdolfs Ošiņš 2bad94457c Migrate to the heartwood protocol stack
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-03-03 14:23:46 +01:00
Rūdolfs Ošiņš b8b203514b Add connect to node button in header
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-02-13 11:19:47 +01:00
Sebastian Martinez 25135c7025 Remove Ethereum functionality
This commit removes everything Ethereum related, this includes:
- profile pages (which relied on Ethereum information)
- testnet faucet
- vesting contract lookup
- .radicle.eth ENS registrations

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2023-01-30 11:30:41 +01:00
Rūdolfs Ošiņš a301224c58 Chunk more imports to reduce individual chunk size
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-01-09 10:45:01 +01:00
xphoniexandRūdolfs Ošiņš f72405a3e4 Add support for Heartwood
Co-authored-by: Rūdolfs Ošiņš <rudolfs@osins.org>
Signed-off-by: xphoniex <dj.2dixx@gmail.com>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2023-01-04 11:20:14 +01:00
Rūdolfs Ošiņš caa83db480 Organise files more consistently
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-12-22 16:46:08 +01:00
Sebastian Martinez 569b660134 Move syntax highlighting to web client
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2022-12-16 11:00:17 +01:00
Rūdolfs Ošiņš 9e71823a99 Remove SIWE functionality
It's not working with our current seed nodes and is confusing to users.
It also prevents us from upgrading transitive dependencies.

Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-12-12 20:24:19 +01:00
Sebastian Martinez df680677b5 Rewrites url for vite preview server paths
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2022-12-12 17:18:35 +01:00
Sebastian Martinez 7be0a366b3 Update dependencies
Includes the move from the `svelte-preprocess` package for preprocessing
to `@sveltejs/vite-plugin-svelte` which allows us to use Vite also for
preprocessing.

Also had to remove the `vite-plugin-rewrite-all` again since they don't
support vite@4. So I wrote the plugin myself and without the dependecies
used by `vite-plugin-rewrite-all`.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2022-12-12 10:46:42 +01:00
Rūdolfs Ošiņš 6c363e9313 Move all test files to the tests folder
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-12-01 16:36:40 +01:00
Rūdolfs OšiņšandSebastian Martinez 9cb9332e88 Replace Cypress with Playwright
Playwright is more flexible and has better developer experience than Cypress.
We add end to end tests covering:

  - project source browsing
    - tree view
    - commit list view
    - commit view
  - routing
    - hash based
    - history API based
  - clipboard copy paste functionality
  - seed view
  - project search
  - landing page view
  - settings

Co-authored-by: Sebastian Martinez <me@sebastinez.dev>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-12-01 15:54:56 +01:00
Sebastian Martinez c8b99a8b74 Removes compilerOptions and chunk size warnings
We split some third party packages into their own bundles to reduce the
size of the index.js bundle.
We also don't need hmr ever in production.

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2022-11-16 12:06:08 +01:00
Sebastian Martinez 3fbd832ef1 Update dependencies
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2022-11-15 23:59:22 +01:00
Sebastian Martinez f38893407a Add hash routing
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2022-11-15 15:24:12 +01:00
Rūdolfs Ošiņš 7088a990a2 Use node 18.12.1 LTS everywhere consistently
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-11-07 15:23:21 +01:00
Sebastian MartinezandRūdolfs Ošiņš f8ddbbf5da Remove svelte-routing and add custom routing
Co-authored-by: Rūdolfs Ošiņš <rudolfs@osins.org>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2022-11-07 08:57:37 +01:00
Rūdolfs Ošiņš 71b5ce7de2 Remove unused polyfills
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-10-12 14:47:49 +02:00
Rūdolfs Ošiņš cb12d8eeab Remove deprecated Gnosis org functionality
This functionality is deprecated and the dependencies prevent us from
upgrading our stack.

Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-10-11 15:36:01 +02:00
Rūdolfs Ošiņš df49db3ded Replace custom rewrite middleware with vite plugin
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-09-30 17:13:16 +02:00
Rūdolfs Ošiņš 89ffddf854 Remove code coverage and it's dependencies
We weren't really using any of it.

Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-09-30 10:59:44 +02:00
Rūdolfs Ošiņš 46ae7982a6 Remove unused caip dependency
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-09-29 18:03:35 +02:00
Sebastian Martinez 271fcde43f Remove deprecated org parts
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2022-09-13 10:31:28 +02:00
Rūdolfs Ošiņš b3cec1f314 Format *.ts, *.js, *.css, *.html, *.json and *.svelte
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-08-31 17:47:07 +02:00
Sebastian Martinez da0b4200cd Update Vite to 3.0
- Replaces `sanitize-html` with `xss` due to Node core modules
  dependencies
- Remove empty style tag from SeedDropdown
- Update devServer ports
- Replace vite-plugin-rewrite-all
- Add node events polyfill

Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2022-08-02 15:13:32 +02:00
Sebastian Martinez 78388e9fe2 Update e2e for patches
Signed-off-by: Sebastian Martinez <me@sebastinez.dev>
2022-08-01 13:06:35 +02:00
Sebastian Martinez 286cb1cd21 Improve testing suite
Signed-off-by: Sebastian Martinez <sebastinez@me.com>
2022-03-24 15:05:15 +01:00
Sebastian Martinez cb7decb693 Fix Vite building warnings
Signed-off-by: Sebastian Martinez <sebastinez@me.com>
2022-02-09 16:07:11 +01:00