- Code autocompletion for your Imposter JavaScript or TypeScript scripts.
- ES6 and TypeScript support.
The types are published as an npm package.
The fastest way to get started is to clone this repository and copy one of the sample projects:
- JavaScript: imposter-sample-javascript
- TypeScript: imposter-sample-typescript
These samples are preconfigured to transpile and bundle source files down to a single JS file. This can be referenced as the scriptFile
in your Imposter mock config.
Note: just update the dependency for
@imposter-js/types
in thepackage.json
to the latest from npmjs.com
In the sample project, bundle your script:
npm run build
In the dist
directory you will have two files:
$ ls
bundle.js
mock-config.yaml
This is a valid Imposter configuration - just run imposter up
Install Imposter CLI if you don't already have it.
Start your mock:
$ imposter up
...
Mock server up and running on http://localhost:8080
Hit it:
$ curl http://localhost:8080
{ "name": "Ada Lovelace" }
The name is dynamically chosen from a list by the script.
Also notice the log output in Imposter:
DEBUG ... Executed script 'dist/bundle.js' for request: GET http://localhost:8080/ in 6.34ms
This example shows the process in more detail.
Note - this example assumes you know how to set up a bundler/transpiler to emit a single JS file. For a working configuration you can copy see the sample projects.
- Node.js
- A bundler such as webpack
- Recommended: Install Imposter CLI
Add the types to your Node.js module as a dev dependency:
npm install @imposter-js/types --save-dev
Import the types in your Imposter scripts:
import {context, logger, respond} from "@imposter-js/types"
Use the objects to write your script, with code autocompletion in your editor/IDE:
logger.info(`Received request: ${context.request}`)
const request = context.request
const body = JSON.stringify({
"name": "Ada Lovelace",
})
respond()
.withStatusCode(200)
.withData(body)
Bundle your script:
npm run build
In the dist
directory you will have two files:
$ ls
bundle.js
mock-config.yaml
This is a valid Imposter configuration - just run imposter up
Install Imposter CLI if you don't already have it.
Start your mock:
$ imposter up
...
Mock server up and running on http://localhost:8080
Hit it:
$ curl http://localhost:8080
{ "name": "Ada Lovelace" }
Also notice the log output in Imposter:
DEBUG ... Executed script 'dist/bundle.js' for request: GET http://localhost:8080/ in 6.34ms
Because we use a bundler, you can split your scripts across multiple files.
See the src
directory of the sample projects for an example.