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

@risecorejs-mongo/core

v2.7.15

Published

Risecorejs - The Node.js Framework(with Mongo)

Downloads

345

Readme

Risecorejs - The Node.js Framework

WARNING: This repository is custom version of Risecorejs Framework - https://github.com/risecorejs

Setup

npm install -g @risecorejs/core
npm install -g nodemon

risecorejs init my-project

cd my-project

npm install

Note: Don't forget to set up your database for the next step!

Copy ".env.example" -> ".env" and set up the #DATABASE section.

If you passed the --exampleFiles or --ef flag, then add .env and .env.example to your file:

#JWT
JWT_SECRET_KEY=secretKey
JWT_EXPIRES_IN=24h

Don't forget to change the secret key!

Run the commands to run the migration and populate the database with initial data:

npx sequelize db:migrate
npx sequelize db:seed:all

To run the application, use the following commands:

npm run dev or npm run start

CLI

npx risecorejs --help
risecorejs <command> [options]

Commands:
  risecorejs init [folder]                                                          Init Risecorejs template
  risecorejs dev [port] [host] [multiprocessing] [multiprocessingWorkers]           Run server in live-reload mode
  risecorejs start [port] [host] [multiprocessing] [multiprocessingWorkers]         Run server
  risecorejs make:controller [entityName] [entityExtendedName]                      Creating a base controller
  risecorejs make:model [entityName]                                                Creating a base model
  risecorejs make:docs [entityName] [entityExtendedName]                            Creating a base docs
  risecorejs make:routes [entityExtendedName]                                       Creating a base routes
  risecorejs make:entity [entityName] [entityExtendedName]                          Creating a base entity
  risecorejs make:migrations                                                        Automatic creation of migrations    

Options:
      --help     Show help                                                          [boolean]
  -v, --version  Show version number                                                [boolean]

Directory structure

  • controllers
  • database:
    • joins
    • migrations
    • models
    • order-by
    • seeders
  • docs
  • middleware
  • routes
  • storage
  • structs

Config.js

module.exports = {
  global: {
    test: 123
  },
  
  server: {
    host: 'localhost', // default | ('localhost' || '0.0.0.0')
    port: 8000, // default
    multiprocessing: false, // default | if:true ? mode:multiprocessing : mode:singleProcess
    multiprocessingWorkers: null, // default
  },
  
  // Add your module aliases so they are always at hand
  moduleAlias: {
    '@some-folder': __dirname + '/directory/some-folder'
  },
  
  storage: true, // default
  
  structs: {
    setGlobal: true, // default
    enableAPI: true, // default,
    dir: __dirname + '/structs' // default
  },
  
  cron: {
    childProcess: true, // if:true ? mode:childProcess : mode:inside
    jobs: {
      '0 0 * * * *'() {
        console.log(123)
      }
    }
  },
  
  processes: {
    notifications: {
      vars: {
        filePath: __dirname + '/processes/notifications.js',
        notificationWorkers: env('NOTIFICATION_WORKERS', 3)
      },
      dev: {
        cmd: 'node {{ filePath }}'
      },
      prod: {
        cmd: 'pm2 start {{ filePath }} -i {{ notificationWorkers }}',
        await: true
      },
      default: {
        cmd: 'node {{ filePath }}'
      }
    }
  },
  
  validator: {
    locale: 'en' // default | 'ru'
  },
  
  router: {
    baseUrl: '/', // default
    routesPath: '/routes', // default
    apiDocs: {
      title: 'API-docs' // default
    }
  },
  
  middleware: {
    // docs: https://www.npmjs.com/package/express-rate-limit
    rateLimit: {
      windowMs: 5 * 60 * 1000, // default
      max: 1000 // default 
    },
    
    // docs: https://www.npmjs.com/package/cors#configuring-cors
    cors: {}, // default
    
    // Add your global middleware
    extend: () => [
      require('~/middleware/global/some-middleware'),
      // require('../middleware/global/some-middleware')
    ]
  },
  
  init(config) {
    // Will be executed before launching the application

    console.log('Hi, I am an initialization function')
  },
  
  master(config) {
    console.log('I am working in the wizard when multiprocessing is running')
  },
  
  start({ config, app, server }) {
    // Will be executed when the application starts

    // Calling a global variable
    console.log('Hello!', $test) // Hello 123
  }
}