Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/coracle-social/welshman
Tools by the guy who built Coracle
https://github.com/coracle-social/welshman
nostr utility
Last synced: 11 days ago
JSON representation
Tools by the guy who built Coracle
- Host: GitHub
- URL: https://github.com/coracle-social/welshman
- Owner: coracle-social
- License: mit
- Created: 2023-03-25T16:58:20.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-10-29T19:57:15.000Z (about 2 months ago)
- Last Synced: 2024-10-29T21:47:10.525Z (about 2 months ago)
- Topics: nostr, utility
- Language: TypeScript
- Homepage: https://coracle.tools
- Size: 925 KB
- Stars: 20
- Watchers: 2
- Forks: 3
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nostr - paravel - social/paravel.svg?style=social) - an abstract toolkit for writing nostr clients. (Libraries / Client reviews and/or comparisons)
README
# Welshman
A nostr toolkit focused on creating highly a configurable client system, extracted from the [Coracle](https://github.com/coracle-social/coracle) nostr client.
This is a monorepo which is split into several different packages:
- [@welshman/lib](./packages/lib) - generic utility functions.
- [@welshman/util](./packages/util) - various nostr-specific utilities.
- [@welshman/net](./packages/net) - framework for interacting with relays.
- [@welshman/content](./packages/content) - utilities for parsing and rendering notes.
- [@welshman/feeds](./packages/feeds) - an interpreter for custom nostr feeds.
- [@welshman/dvm](./packages/dvm) - utilities for creating and making request against dvms.# Linking
If you're developing an application which requires changes to welshman, you'll need to use `npm link` to link the two. This is an annoying process, and is only supported if using `npm`.
- Clone welshman and the repository that depends on it
- Within each `package` directory in welshman, run `npm link`
- Within your application directory, link all welshman dependencies _simultaneously_ (or else only one will get linked. A command that does this is: `rm -rf node_modules; npm i; cat package.json|js '.depedencies|keys[]'|grep welshman|xargs npm link`.If you run `npm install` in your application directory, you'll need to repeat the final step above.