3.0.33 • Published 2 years ago

@risecorejs/core v3.0.33

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Risecorejs - The Node.js Framework

Setup

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

npx risecorejs init my-project

cd my-project

npm install

# One of the following:
npm install pg pg-hstore # Postgres
npm install mysql2 # MySQL

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

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

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

import { IConfig } from '@risecorejs/core/interfaces'

export default <IConfig>{
  global: {
    test: 123
  },

  server: {
    host: '0.0.0.0', // default: 'localhost'
    port: 5000, // default
    multiprocessing: true, // default: undefined (if:true ? mode:multiprocessing : mode:singleProcess)
    multiprocessingWorkers: 3, // default: undefined
  },

  // Add your module aliases so they are always at hand
  moduleAliases: {
    '~': __dirname, // default
    '@some-folder': __dirname + '/directory/some-folder'
  },

  storage: true, // default: undefined

  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: 'ru' // default: 'en'
  },

  router: {
    baseUrl: '/', // default
    routesDir: '/', // 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
    extends: () => [
      require('~/middleware/global/some-middleware') // or 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
  }
}
3.0.27

2 years ago

3.0.28

2 years ago

3.0.26

2 years ago

3.0.32

2 years ago

3.0.33

2 years ago

3.0.30

2 years ago

3.0.31

2 years ago

3.0.29

2 years ago

3.0.12

2 years ago

3.0.13

2 years ago

3.0.10

2 years ago

3.0.11

2 years ago

3.0.16

2 years ago

3.0.17

2 years ago

3.0.14

2 years ago

3.0.15

2 years ago

3.0.4

2 years ago

3.0.3

2 years ago

3.0.2

2 years ago

3.0.1

2 years ago

3.0.8

2 years ago

3.0.7

2 years ago

3.0.6

2 years ago

3.0.5

2 years ago

3.0.0

2 years ago

3.0.23

2 years ago

3.0.24

2 years ago

3.0.21

2 years ago

3.0.22

2 years ago

3.0.25

2 years ago

3.0.18

2 years ago

3.0.19

2 years ago

3.0.9

2 years ago

2.8.1

2 years ago

2.8.0

2 years ago

2.8.3

2 years ago

2.8.2

2 years ago

2.8.5

2 years ago

2.8.4

2 years ago

2.8.7

2 years ago

2.8.6

2 years ago

2.2.1

2 years ago

2.2.0

2 years ago

2.4.1

2 years ago

2.0.5

2 years ago

2.4.0

2 years ago

2.2.2

2 years ago

2.0.4

2 years ago

2.6.1

2 years ago

2.4.3

2 years ago

2.6.0

2 years ago

2.4.2

2 years ago

2.6.3

2 years ago

2.6.2

2 years ago

2.4.4

2 years ago

2.7.4

2 years ago

2.5.6

2 years ago

2.7.3

2 years ago

2.5.5

2 years ago

2.3.7

2 years ago

2.1.9

2 years ago

2.7.6

2 years ago

2.7.5

2 years ago

2.5.7

2 years ago

2.7.8

2 years ago

2.7.7

2 years ago

2.7.9

2 years ago

2.1.10

2 years ago

2.1.11

2 years ago

2.3.0

2 years ago

2.1.2

2 years ago

2.1.1

2 years ago

2.5.0

2 years ago

2.3.2

2 years ago

2.1.4

2 years ago

2.3.1

2 years ago

2.1.3

2 years ago

2.7.0

2 years ago

2.5.2

2 years ago

2.3.4

2 years ago

2.1.6

2 years ago

2.5.1

2 years ago

2.3.3

2 years ago

2.1.5

2 years ago

2.7.2

2 years ago

2.5.4

2 years ago

2.3.6

2 years ago

2.1.8

2 years ago

2.7.1

2 years ago

2.5.3

2 years ago

2.3.5

2 years ago

2.1.7

2 years ago

2.1.0

2 years ago

2.6.4

2 years ago

2.6.7

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

2.0.3

2 years ago

2.0.2

2 years ago

1.1.12

2 years ago

1.1.11

2 years ago

1.1.10

2 years ago

1.1.16

2 years ago

1.1.15

2 years ago

2.0.1

2 years ago

1.1.14

2 years ago

2.0.0

2 years ago

1.1.13

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.0.6

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.0

3 years ago