Socket
Book a DemoInstallSign in
Socket

@hyperweb/ts-json-schema

Package Overview
Dependencies
Maintainers
0
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@hyperweb/ts-json-schema

TS to JSON Schema

1.0.1
latest
Source
npmnpm
Version published
Weekly downloads
1
-50%
Maintainers
0
Weekly downloads
 
Created
Source

@hyperweb/ts-json-schema

hyperweb


@hyperweb/ts-json-schema is a wrapper around ts-json-schema-generator, designed to simplify the process of generating JSON schemas from TypeScript files in Hyperweb projects.

Features

  • Simple API for generating JSON schemas from TypeScript
  • Customizable schema generation options
  • Built-in support for common Hyperweb project configurations

Installation

npm install @hyperweb/ts-json-schema

Usage

Here's a basic example of how to use Hyperweb TS JSON Schema:

import { generateSchema } from '@hyperweb/ts-json-schema';

// Generate schema for all types in a file
await generateSchema({
  sourcePath: 'path/to/source/file.ts',
  tsconfigPath: 'path/to/tsconfig.json',
  outputPath: 'path/to/output/schema.json'
});

// Generate schema for a specific type
await generateSchema({
  sourcePath: 'path/to/source/file.ts',
  tsconfigPath: 'path/to/tsconfig.json',
  outputPath: 'path/to/output/schema.json',
  type: 'User'
});

API Reference

generateSchema(options)

Generates a JSON schema from TypeScript files using the provided options.

  • options: An object containing the following properties:
    • sourcePath (required): Path to the source TypeScript file.
    • tsconfigPath (required): Path to the tsconfig.json file.
    • outputPath (required): Path where the generated schema will be saved.
    • type (optional): Specific type to generate schema for. If not provided, generates schema for all types.

Returns a Promise that resolves when the schema has been generated and saved.

Configuration

Hyperweb TS JSON Schema uses the following configuration by default:

{
  path: sourcePath,
  tsconfig: tsconfigPath,
  type: '*', // Or the specified type if provided
}

These options are passed to the underlying ts-json-schema-generator. You can customize these by modifying the generateSchema function or by creating your own wrapper around it.

Example

Here's an example of how you might use Hyperweb TS JSON Schema in a project:

import { generateSchema } from '@hyperweb/ts-json-schema';
import { join } from 'path';

const sourcePath = join(__dirname, 'src/types.ts');
const tsconfigPath = join(__dirname, 'tsconfig.json');
const outputPath = join(__dirname, 'schema.json');

async function generateProjectSchema() {
  try {
    await generateSchema({
      sourcePath,
      tsconfigPath,
      outputPath
    });
    console.log('Schema generated successfully!');
  } catch (error) {
    console.error('Error generating schema:', error);
  }
}

generateProjectSchema();

Interchain JavaScript Stack

A unified toolkit for building applications and smart contracts in the Interchain ecosystem ⚛️

CategoryToolsDescription
Chain InformationChain Registry, Utils, ClientEverything from token symbols, logos, and IBC denominations for all assets you want to support in your application.
Wallet ConnectorsInterchain Kitbeta, Cosmos KitExperience the convenience of connecting with a variety of web3 wallets through a single, streamlined interface.
Signing ClientsInterchainJSbeta, CosmJSA single, universal signing interface for any network
SDK ClientsTelescopeYour Frontend Companion for Building with TypeScript with Cosmos SDK Modules.
Starter KitsCreate Interchain Appbeta, Create Cosmos AppSet up a modern Interchain app by running one command.
UI KitsInterchain UIThe Interchain Design System, empowering developers with a flexible, easy-to-use UI kit.
Testing FrameworksStarshipUnified Testing and Development for the Interchain.
TypeScript Smart ContractsCreate Hyperweb AppBuild and deploy full-stack blockchain applications with TypeScript
CosmWasm ContractsCosmWasm TS CodegenConvert your CosmWasm smart contracts into dev-friendly TypeScript classes.

Credits

🛠 Built by Hyperweb (formerly Cosmology) — if you like our tools, please checkout and contribute to our github ⚛️

Disclaimer

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.

FAQs

Package last updated on 13 Feb 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.