1.0.19 • Published 5 years ago

realm-env v1.0.19

Weekly downloads
3
License
ISC
Repository
github
Last release
5 years ago

Realm Env

Realm Env package builds MongoDB Realm functions/triggers on multiple environments. Main purpose of this function is to avoid writing same function twice for development/staging/production environments.

Setup

Install realm-env package in you application

$ npm install --save realm-env

OR

$ yarn add realm-env

Add script in package.json

{
  "scripts": {
    "build-realm": "realm-env ./config.json"
  },
}

After you are done configuring Realm Env you to build your application on multiple environments run

$ npm run build-realm

OR

$ yarn build-realm

Usage

you should wrap environment variables inside brackets

For example you have DB_NAME variable set inside environment syntax is as this follows

Env Usage

Configuration

To configure Realm Env you should create one JSON configuration file

Parameters:

  • functionsPath -> Path to your functions written in MongoDB Realm function syntax
  • triggersPath -> Path to your triggers written in MongoDB Realm trigger syntax
  • destFolder -> Path where generated files will be placed
  • realmConfig -> MongoDB Realm config.json file JSON Object
  • functions -> Formatted list of function objects with following format For Example you want to create deleteUsers function on dev environment Syntax is as it follows
{
  "functions": { // List of functions
    "deleteUsers": { // Function name
      "env": ["dev"] // List of function environments
    }
  },
}
  • triggers -> Formatted list of trigger objects with following format For Example you want to create deleteUsers trigger on dev environment Syntax is as it follows
{
  "triggers": { // List of triggers
    "deleteUsersTrigger": { // Trigger name
      "env": ["dev"] // List of triggers environments
    }
  },
}
  • env -> List of Environment Configuration. For example you want to share DB_NAME environment variable syntax is as it follows:
{
  "env": {
    "production": { // Environment Name
      "DB_NAME": "production" // Environment Variable
    },
    "staging": {
      "DB_NAME": "staging"
    },
    "dev": {
      "DB_NAME": "dev"
    }
  }
}

Example Configuration

Example configuration of Realm Application where you want to create deleteUsers function and trigger on dev and staging environment and share DB_NAME environment variable

{
  "functionsPath": "./src/functions",
  "triggersPath": "./src/triggers",
  "destFolder": "./build",
  "functions": {
    "deleteUsers": {
      "env": ["dev", "staging"]
    }
  },
  "triggers": {
    "deleteUsersTrigger": {
      "env": ["dev", "staging"]
    }
  },
  "realmConfig": {},
  "env": {
    "production": {
      "DB_NAME": "production"
    },
    "staging": {
      "DB_NAME": "staging"
    },
    "dev": {
      "DB_NAME": "dev"
    }
  }
}
1.0.19

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.11

5 years ago

1.0.12

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago