Hyperweb is a collection of powerful tools designed to simplify and streamline your development process for web and TypeScript projects.
This monorepo contains the following packages:
HyperwebJS is a library for working with the Hyperweb blockchain.
npm install hyperwebjs
Read more about @hyperweb/ts-json-schema
Hyperweb Build is a powerful wrapper around esbuild, designed to simplify and streamline your build process for Hyperweb projects.
npm install @hyperweb/build
Read more about @hyperweb/build
Hyperweb TS JSON Schema is a powerful wrapper around ts-json-schema-generator, designed to simplify the process of generating JSON schemas from TypeScript files in Hyperweb projects.
npm install @hyperweb/ts-json-schema
Read more about @hyperweb/ts-json-schema
This section explains how to set up the project for development and how to run tests.
To bootstrap the project, run the following commands from the root of the monorepo:
yarn
yarn build
yarn symlink
This will install dependencies, build all packages, and create symlinks between them.
Before proceeding, make sure to initialize and update the submodules:
git submodule update --init --recursive
This command will initialize and fetch the submodules defined in the project.
To run tests for a specific package, navigate to the package directory and use the test:watch
script. For example, to run tests for @hyperweb/build
:
cd ./packages/build
yarn test:watch
This command leverages Jest's watch mode, which provides a convenient interface for running tests.
Jest watch mode offers several useful hotkeys to control test execution:
a
- Run all testsf
- Run only failed testsp
- Filter by a filename regex patternt
- Filter by a test name regex patternq
- Quit watch modeEnter
- Trigger a test run
Here are some examples of how to use these hotkeys:
- Press
p
, then typeutils
to run tests only in files with "utils" in their name. - Press
t
, then typeshould calculate
to run only tests with "should calculate" in their description. - Press
a
to run all tests again after filtering.
These hotkeys make it easy to focus on specific tests or files during development.
- Keep the test runner in watch mode while you're developing. This provides instant feedback as you make changes.
- Use the
p
andt
filters to focus on the specific area you're working on. This can significantly speed up the test-debug cycle. - Remember to run all tests (
a
) before committing changes to ensure you haven't inadvertently broken anything elsewhere in the package.
A unified toolkit for building applications and smart contracts in the Interchain ecosystem ⚛️
Category | Tools | Description |
---|---|---|
Chain Information | Chain Registry, Utils, Client | Everything from token symbols, logos, and IBC denominations for all assets you want to support in your application. |
Wallet Connectors | Interchain Kitbeta, Cosmos Kit | Experience the convenience of connecting with a variety of web3 wallets through a single, streamlined interface. |
Signing Clients | InterchainJSbeta, CosmJS | A single, universal signing interface for any network |
SDK Clients | Telescope | Your Frontend Companion for Building with TypeScript with Cosmos SDK Modules. |
Starter Kits | Create Interchain Appbeta, Create Cosmos App | Set up a modern Interchain app by running one command. |
UI Kits | Interchain UI | The Interchain Design System, empowering developers with a flexible, easy-to-use UI kit. |
Testing Frameworks | Starship | Unified Testing and Development for the Interchain. |
TypeScript Smart Contracts | Create Hyperweb App | Build and deploy full-stack blockchain applications with TypeScript |
CosmWasm Contracts | CosmWasm TS Codegen | Convert your CosmWasm smart contracts into dev-friendly TypeScript classes. |
🛠 Built by Hyperweb (formerly Cosmology) — if you like our tools, please checkout and contribute to our github ⚛️
AS DESCRIBED IN THE LICENSES, THE SOFTWARE IS PROVIDED “AS IS”, AT YOUR OWN RISK, AND WITHOUT WARRANTIES OF ANY KIND.
No developer or entity involved in creating this software will be liable for any claims or damages whatsoever associated with your use, inability to use, or your interaction with other users of the code, including any direct, indirect, incidental, special, exemplary, punitive or consequential damages, or loss of profits, cryptocurrencies, tokens, or anything else of value.