James George 439cd82c88 chore: pin dependencies across packages (#3876) 8 months ago
..
bin 3482743782 chore(cli): emit bundle in ESM format (#3777) 9 months ago
src 7ec8659381 feat: request variables (#3825) 8 months ago
.gitignore 909d524de5 Feature: hopp-cli in TypeScript (#2074) 2 years ago
.prettierrc 909d524de5 Feature: hopp-cli in TypeScript (#2074) 2 years ago
CONTRIBUTING.md c20339d222 fix: deprecated pnpx usage migrated to pnpm exec 2 years ago
README.md f34d896095 docs: updated screenshots and features list (#3310) 1 year ago
jest.config.ts bdfa14fa54 refactor(scripting-revamp): migrate `js-sandbox` to `web worker/Node vm` based implementation (#3619) 11 months ago
jest.setup.ts 432337b801 chore: tests for hoppscotch-cli (#2300) 2 years ago
package.json 439cd82c88 chore: pin dependencies across packages (#3876) 8 months ago
tsconfig.json 3482743782 chore(cli): emit bundle in ESM format (#3777) 9 months ago
tsup.config.ts 3482743782 chore(cli): emit bundle in ESM format (#3777) 9 months ago

README.md

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:

  1. hopp -v / hopp --ver

    • Prints out the current version of the Hoppscotch CLI
  2. hopp -h / hopp --help

    • Displays the help text
  3. 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

Install @hoppscotch/cli from npm by running:

npm i -g @hoppscotch/cli

Developing:

  1. Clone the repository, make sure you've installed latest pnpm.
  2. pnpm install
  3. cd packages/hoppscotch-cli
  4. pnpm run build
  5. sudo pnpm link --global
  6. 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

  1. Ensure any install or build dependencies are removed before the end of the layer when doing a build.
  2. Update the README.md with details of changes to the interface, this includes new environment variables, exposed ports, useful file locations and container parameters.
  3. 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.
  4. 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

  1. After cloning the repository, execute the following commands:

    pnpm install
    pnpm run build
    
  2. In order to test locally, you can use two types of package linking:

    1. 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
      
    2. 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
      
  3. To use the Typescript watch scripts:

      pnpm run dev