A nostr toolkit focused on creating highly a configurable client system, extracted from the Coracle nostr client.
This is a monorepo which is split into several different packages:
- @welshman/lib - generic utility functions.
- @welshman/util - various nostr-specific utilities.
- @welshman/net - framework for interacting with relays.
- @welshman/content - utilities for parsing and rendering notes.
- @welshman/feeds - an interpreter for custom nostr feeds.
- @welshman/dvm - utilities for creating and making request against dvms.
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, runnpm 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.