Error: strict mode: unknown keyword: "afterRequest"
- Dominant language
- TypeScript
- Stars
- 1.2k
- Forks
- 242
- PR merge metrics
- No merged PRs in 30d
Description
I am getting the below error when executing the basic example provided in the docs in my NodeJs project:
```
/Users/harsh/Desktop/http-snippet-demo/node_modules/ajv/dist/compile/index.js:120
throw e;
^
Error: strict mode: unknown keyword: "afterRequest"
at checkStrictMode (/Users/harsh/Desktop/http-snippet-demo/node_modules/ajv/dist/compile/util.js:174:15)
at checkUnknownRules (/Users/harsh/Desktop/http-snippet-demo/node_modules/ajv/dist/compile/util.js:32:13)
at checkKeywords (/Users/harsh/Desktop/http-snippet-demo/node_modules/ajv/dist/compile/validate/index.js:120:34)
at validateFunctionCode (/Users/harsh/Desktop/http-snippet-demo/node_modules/ajv/dist/compile/validate/index.js:19:9)
at Ajv.compileSchema (/Users/harsh/Desktop/http-snippet-demo/node_modules/ajv/dist/compile/index.js:80:45)
at Ajv.resolveSchema (/Users/harsh/Desktop/http-snippet-demo/node_modules/ajv/dist/compile/index.js:193:23)
at Ajv.getSchema (/Users/harsh/Desktop/http-snippet-demo/node_modules/ajv/dist/core.js:279:43)
at validateHarRequest (/Users/harsh/Desktop/http-snippet-demo/node_modules/httpsnippet/dist/helpers/har-validator.js:66:24)
at /Users/harsh/Desktop/http-snippet-demo/node_modules/httpsnippet/dist/httpsnippet.js:262:56
at Array.forEach ()
```
Example Code:
```
const express = require('express');
const { HTTPSnippet } = require('httpsnippet');
const app = express();
const snippet = new HTTPSnippet({
method: 'GET',
url: 'http://mockbin.com/request',
});
const options = { indent: '\t' };
const output = snippet.convert('shell', 'curl', options);
console.log(output);
const server = app.listen(8000, '0.0.0.0', () => {
console.log('Example app listening at http://%s:%s', server.address().address, server.address().port);
});
```
httpsnippet version in package.json file: **^3.0.1**
NodeJs version: **18.17**
I am getting the same error via CLI as well when executing the below command:
`httpsnippet example.json --target shell --client curl --output ./examples`
Contributor guide
Research direction
Reproduce the failure with the documented basic example and the `httpsnippet example.json --target shell --client curl --output ./examples` command, using the versions reported in the issue. Inspect the package.json dependency setup and the CLI entry point, then trace the validation path shown in the stack trace. Done means both documented invocation paths no longer fail on the unknown `afterRequest` keyword.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100