a8bcc75467
- Ensure the `Content-Type` header takes priority over the value set in the request body. - Introduces `HoppRESTRequest` schema `v6` with `text/xml` added under the supported content types. |
||
---|---|---|
.. | ||
bin | ||
src | ||
.gitignore | ||
.prettierrc | ||
CONTRIBUTING.md | ||
package.json | ||
README.md | ||
setupFiles.ts | ||
tsconfig.json | ||
tsup.config.ts | ||
vitest.config.ts |
Hoppscotch CLI ALPHA
A CLI to run Hoppscotch Test Scripts in CI environments.
Commands:
hopp test [options] [file]
: testing hoppscotch collection.json file
Usage:
hopp [options or commands] arguments
Options:
-v
,--ver
: see the current version of the CLI-h
,--help
: display help for command
Command Descriptions:
-
hopp -v
/hopp --ver
- Prints out the current version of the Hoppscotch CLI
-
hopp -h
/hopp --help
- Displays the help text
-
hopp test [options] <file_path>
- Interactive CLI to accept Hoppscotch collection JSON path
- Parses the collection JSON and executes each requests
- Executes pre-request script.
- Outputs the response of each request.
- Executes and outputs test-script response.
Options:
-e <file_path>
/--env <file_path>
-
Accepts path to env.json with contents in below format:
{ "ENV1":"value1", "ENV2":"value2" }
-
You can now access those variables using
pw.env.get('<var_name>')
Taking the above example,
pw.env.get("ENV1")
will return"value1"
Install
-
Before you install Hoppscotch CLI you need to make sure you have the dependencies it requires to run.
- Windows & macOS: You will need
node-gyp
installed. Find instructions here: https://github.com/nodejs/node-gyp - Debian/Ubuntu derivatives:
sudo apt-get install python g++ build-essential
- Alpine Linux:
sudo apk add python3 make g++
- Amazon Linux (AMI)
sudo yum install gcc72 gcc72-c++
- Arch Linux
sudo pacman -S make gcc python
- RHEL/Fedora derivatives:
sudo dnf install python3 make gcc gcc-c++ zlib-devel brotli-devel openssl-devel libuv-devel
- Windows & macOS: You will need
-
Once the dependencies are installed, install @hoppscotch/cli from npm by running:
npm i -g @hoppscotch/cli
Developing:
- Clone the repository, make sure you've installed latest pnpm.
pnpm install
cd packages/hoppscotch-cli
pnpm run build
sudo pnpm link --global
- Test the installation by executing
hopp
Contributing:
When contributing to this repository, please first discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
Please note we have a code of conduct, please follow it in all your interactions with the project.
Pull Request Process
- Ensure any install or build dependencies are removed before the end of the layer when doing a build.
- Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
- Increase the version numbers in any examples files and the README.md to the new version that this Pull Request would represent. The versioning scheme we use is SemVer.
- You may merge the Pull Request once you have the sign-off of two other developers, or if you do not have permission to do that, you may request the second reviewer merge it for you.
Set Up The Development Environment
-
After cloning the repository, execute the following commands:
pnpm install pnpm run build
-
In order to test locally, you can use two types of package linking:
-
The 'pnpm exec' way (preferred since it does not hamper your original installation of the CLI):
pnpm link @hoppscotch/cli // Then to use or test the CLI: pnpm exec hopp // After testing, to remove the package linking: pnpm rm @hoppscotch/cli
-
The 'global' way (warning: this might override the globally installed CLI, if exists):
sudo pnpm link --global // Then to use or test the CLI: hopp // After testing, to remove the package linking: sudo pnpm rm --global @hoppscotch/cli
-
-
To use the Typescript watch scripts:
pnpm run dev