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

nest-init-cli

v1.0.0

Published

cli package to initialise your nest app

Downloads

4

Readme

Contributors Forks Stargazers MIT License

About The Project

Nest-Init is a powerful CLI tool designed to streamline the creation and configuration of new NestJS projects. It simplifies the setup process, allowing you to integrate different databases with ORMs and set up authentication efficiently. Nest-Init equips you with essential tools to launch your next NestJS application with ease.

Features

  1. Database Configuration
    • ORM Integration: Choose between MikroORM, TypeORM, Sequelize, Prisma, and Drizzle with automatic configuration and connection setup.
    • ODM Integration: Setup Mongoose for MongoDB with pre-configured models and schemas.
  2. Authentication Setup
    • Implement JWT authentication with pre-configured guards and strategies.
    • Add social authentication for services like Google, Facebook and Github.

Built with

  • NestJS
  • Nest Commander
  • Inquirer
  • Passport.js

Getting Started

System Requirements

To get started with Nest-Init, ensure you have Node.js and npm installed on your machine.

Using Nest-Init in Your Project

  • In order to use Nest-Init within your NestJS project, install the package globally using the command:

    npm install -g nest-init
  • Once it is installed, follow the prompts to start configuring your project.

Contributing to Nest-Init

If you're interested in maintaining or developing the package, follow these steps:

  1. Clone the repository:

     git clone https://github.com/GDGAlgiers/nest-init.git
     cd nest-init
  2. Install dependencies:

    npm install
  3. Run the project locally:

    npm run start
  4. Make your changes and create a pull request:

Usage

Once you have configured your project with Nest-Init, you can begin using the CLI within your NestJS project.

Initializing the CLI

In your project directory, execute the command:

nest-init

After initializing the CLI, you will see the following menu options:

1. Configure ORM with Database
2. Setup Authentication Strategies and Services

Choose the option that suits your project needs and follow the prompts to configure your NestJS application accordingly.

List of Commands

Configure ORM with Database

Use the following command to install and configure your chosen ORM with a specific database:

nest-init install-<ORM> -<database>

Below, you'll find detailed commands for each combination of ORM and supported databases.

MikroORM

Configure MikroORM with MySQL, PostgreSQL, or MongoDB.

  • MySQL

    nest-init install-mikroorm -my

    or

    nest-init install-mikroorm --mysql
  • PostgreSQL

    nest-init install-mikroorm -psql

    or

    nest-init install-mikroorm --postgresql
  • MongoDB bash nest-init install-mikroorm -m or bash nest-init install-mikroorm --mongodb

TypeORM

Configure TypeORM with MySQL, PostgreSQL, or MongoDB.

  • MySQL

    nest-init install-typeorm -my

    or

    nest-init install-typeorm --mysql
  • PostgreSQL

    nest-init install-typeorm -psql

    or

    nest-init install-typeorm --postgresql
  • MongoDB bash nest-init install-typeorm -m or bash nest-init install-typeorm --mongodb

Mongoose

Configure Mongoose with MongoDB.

nest-init install-mongoose -m

or

nest-init install-mongoose --mongodb

Sequelize

Configure Sequelize with MySQL, PostgreSQL, or MongoDB.

  • MySQL

    nest-init install-sequelize -my

    or

    nest-init install-sequelize --mysql
  • PostgreSQL bash nest-init install-sequelize -psql or bash nest-init install-sequelize --postgresql

Prisma

Configure Prisma with PostgreSQL or MongoDB.

  • PostgreSQL

    nest-init install-prisma -psql

    or

    nest-init install-prisma --postgresql
  • MongoDB bash nest-init install-prisma -m or bash nest-init install-prisma --mongodb

Drizzle

Configure Drizzle with MySQL, PostgreSQL, or MongoDB.

  • MySQL

    nest-init install-drizzle -my

    or

    nest-init install-drizzle --mysql
  • PostgreSQL

    nest-init install-drizzle -psql

    or

    nest-init install-drizzle --postgresql
  • MongoDB bash nest-init install-drizzle -m or bash nest-init install-drizzle --mongodb

Setup Authentication Strategies and Services

Nest-Init provides a guided questionnaire to configure authentication services and strategies for your NestJS project. To begin, run the following command:

nest-init add-auth

This command initiates a series of prompts where you can select the options that best fit your project requirements:

Normal Authentication

  • Implement local username/password authentication.

Social Authentication

  • Implement authentication using Facebook, Google, and Github OAuth services.

Resetting Password

  • Enable a built-in password resetting functionality for your project.

Authentication Strategies

  • Nest-Init provides flexible authentication strategies to secure your application based on your project's requirements:

JWT (JSON Web Tokens)

Implement stateless authentication using JWTs, which are compact tokens verified by the server based on contained claims.

Sessions

Supports session-based authentication for managing server-side session states, ideal for applications requiring stateful interactions with clients.

Join our Community

Join us in the GDG Algiers' Community Discord here and feel free to ask any questions you may have.

Contributing

Thank you for considering contributing to the Nest-Init project. We welcome contributions from the community to make this project even better. Please take a moment to review our CONTRIBUTION.md file where the Contribution Guidelines are listed.

License

Distributed under the MIT License. See LICENSE for more information.

Contact

GDG Algiers - @gdg_algiers - [email protected]

Project Link: https://github.com/GDGAlgiers/nest-init