npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@rvboomgames/raven

v1.0.8

Published

A shared library of TypeScript DTOs for use in Boom Games' Node.js repositories, ensuring consistency, reusability, and type safety across projects.

Downloads

263

Readme

RAVEN

RAVEN is a shared library of TypeScript Data Transfer Objects (DTOs) designed for use in Boom Games' Node.js repositories. This library ensures consistency, reusability, and type safety across projects, enhancing code quality and maintainability.

Naming Conventions

To maintain uniformity and clarity in our codebase, please adhere to the following naming conventions:

  • Use Typebox to create schemas and generate types.

  • All type definitions should start with a capital "T", while file names should start with a lowercase "t". Example: tHomeResponse.ts, Exported Type: export type THomeResponse

  • All Typebox schemas should start with a capital "S". Schemas will reside within the type files and will not have separate files. Example:

// tHomeResponse.ts

export const SRouteResponse = <T extends TSchema>(T: T) =>
	Type.Object({
		status: Type.Number(),
		message: Type.Optional(Type.String()),
		data: Type.Optional(T),
	});

export type TRouteResponse<T extends TSchema> = Static<
	ReturnType<typeof SRouteResponse<T>>
>;
  • All enums should start with a capital "E", while file names should start with a lowercase "e". Example:
// eHttpMethod.ts

export enum EHttpMethod {
	GET = 'GET',
	POST = 'POST',
	PUT = 'PUT',
	PATCH = 'PATCH',
	DELETE = 'DELETE',
}

Steps to Publish Changes

  • Create Your DTO: Develop your DTO in the appropriate folder corresponding to its function.

  • Update the Index File: If the DTO file is new, reference it in the corresponding folder's index.ts file.

// index.ts

export * from './tHomeResponse';
  • Top-Level Index Update: If you created a new folder, add the reference in the top-level index.ts file.
export * from './response/index';
  • Version Increment: Update the version number in the package.json file according to semantic versioning practices.

  • Generate Build: Run npm run build to generate dist files.

  • Publish the Package: Run npm publish --access public to publish your changes. If you are not logged in, you need to run npm adduser and login with username rvboomgames.

  • Install or Update the Package: In relevant repositories, install or update the package to reflect your changes.

    npm i @rvboomgames/raven

    or

    npm u @rvboomgames/raven