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 🙏

© 2026 – Pkg Stats / Ryan Hefner

ts-domainer

v1.0.2

Published

domainer

Readme

domainer


core features:

  • setup project structure from scratch. Create initial files: -- AbstractUseCase -- DbContext -- DITokens

Core concepts:

  • Use case
  • Repository
  • Context
  • DB Context
  • Service/Client

диалоговое окно, спрашивающее что хотим создать если выбираем Use case | Repository, спрашивается контекст, в котором нужно создать. если выбираем Context, создаётся новая папка с дефолтной структурой:

  • application
  • infrastructure, и файлами *Module.ts . Автоматом модуль иньёктится в глобальный модуль

части, которые создаются при инициализации:

  • DITokens (UseCaseToken, ServiceToken, ClientToken, CoreToken)
  • AppModule (Nest under the hood)
  • AbstractUseCase
  • IDbContext, AbstractDbContext
  • domainer-config.json

--------- V1 ---------

*** I want to setup initial project from scratch. - DONE

  1. When I run domainer init domainer creates the next folder structure and files

src/ ----core/ --------application/ ------------AbstractUseCase.ts ------------IDbContext.ts

--------tokens/ ------------CoreToken.ts ------------UseCaseToken.ts ------------ServiceToken.ts ------------DbContextToken.ts

----AppModule.ts

domainer-config.json

  1. domainer-config.json must have all necessary information about core files (name, path)

*** I want to create new context - DONE

  1. When I run domainer add and choose Context domainer asks the name of new context

  2. If context exists domainer must notify me and do nothing

  3. If context does not exist domainer must create new Context with the next folder structure and files

src/ ----/ --------application/ ------------dataStructures/ ------------useCases/ --------infrastructure/ ------------persistence/ ------------api/ --------Module.ts

  1. Module.ts module must be imported in AppModule.ts automatically
  • *** I want to create new use case
  1. When I run domainer add and choose Use case domainer asks the next questions:
  • Use case context: string
  • Use case DB context: string <"global" is default>
  • Use case action: string
  • Use case has input data: y/n <"y" is default>
  • Use case has output data: y/n <"y" is default>
  1. If use case action already exists in same context domainer must notify me and do nothing

  2. If use case action does not exist in same context domainer must create new Use case with the next folder structure and files

src/ ----/ --------application/ ------------dataStructures/ ------------useCases/ ----------------/ --------------------UseCase.ts --------------------IUseCase.ts --------------------only if "Use case has input data: y" DSUseCaseInputData.ts --------------------only if "Use case has output data: y" DSUseCaseOutputData.ts --------infrastructure/ ------------persistence/ ------------api/ --------Module.ts

  1. UseCaseToken.ts must be upgrated with new Use case token automatically

  2. Module.ts module must be updated with new Use case automatically

*** I want to create new repository

  1. When I run domainer add and choose Repository domainer asks the next questions:
  • Repository context: string
  • Repository DB context: string <"global" is default>
  • Repository entity name: string
  1. If repository already exists in same context domainer must notify me and do nothing

  2. If repository does not exist in same context domainer must create new Repository with the next folder structure and files

src/ ----/ --------application/ ------------boundaries/ ----------------IRepository.ts ------------dataStructures/ ------------useCases/ --------infrastructure/ ------------persistence/ ----------------Repository.ts ----------------Mapper.ts ------------api/ --------Module.ts

  1. Choosen DB context must be upgrated with new Repository automatically (both interface and implementation)

*** Files validation save all paths, filenames into config.