1.0.0 • Published 4 years ago

smartmocker v1.0.0

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago
  • ES7 compliant
  • ESLint
  • YAML/JSON config file
  • Express
  • No transpiling

Install

Use it from the CLI:

npm install -g smartmocker

Requirements

  • Node.js v7.6+

Usage

Usage: smartmocker [options]

Options:
  -c, --config   json config file (required)
  -V, --version  output the version number
  -h, --help     output usage information

Example

smartmocker -c config.json

Sample configuration file can be found down below

{
	"projectName": "myAwesomeProject",
	"projectDescription": "Awesome project",
	"projectVersion": "1.0.0",
	"outputDir": "myAwesomeProject",
	"endpoints": [{
		"apiEndpoint": "user",
		"swaggerFile": "user.oas3.json"
	}, {
		"apiEndpoint": "profile",
		"swaggerFile": "profile.oas3.json"
	}]
}

Following fields are required

  • projectName
    • Name of your project to be located in package.json of generated project
  • projectDescription
    • Description of your project to be located in package.json of generated project
  • projectVersion
    • Version of your project to be located in package.json of generated project
  • outputDir
    • Directory to place your newly generated project
  • endpoints
    • Multiple OpenAPI configuration files can be provided as swaggerFile parameter
    • Route your endpoints to different locations to be defined as apiEndpoint parameter

What will output be like?

After the above example runs, brand new Node.js app will be created

Folder structure will be similar to this

Under the root, there are separate apps created for each endpoint

In this case there are two express apps created for

  • user
  • profile

Each app is exported and combined into one

Run

After the generation completes, run the following commands in order

cd myAwesomeProject
npm i
npm run start

Go to localhost:8080

Test some of your API's by navigating to

  • localhost:8080/user/${ENDPOINT} or
  • localhost:8080/profile/${ENDPOINT}

Enjoy 🥳