Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
872de48
Fix formatting in dependabot.yml
ehuelsmann Apr 10, 2026
d7373ed
Initial plan
Copilot Apr 10, 2026
d98c5e8
chore(ci): modernize workflow - use setup-node caching, update action…
Copilot Apr 10, 2026
2dd3c33
chore(deps): bump the npm_and_yarn group across 4 directories with 23…
dependabot[bot] Apr 10, 2026
32c9c94
test: update error message expectation for Node 20 property access sy…
Copilot Apr 10, 2026
b5e5345
test: fix CI flakiness - use 127.0.0.1 and await server listen in dif…
Copilot Apr 10, 2026
b8b3f3b
test: single server lifecycle in differentRequestModules tests (from …
Copilot Apr 10, 2026
f47bbe8
test: merge duplicate top-level beforeAll hooks to fix no-duplicate-h…
Copilot Apr 10, 2026
2dd1279
test: fix consistent-return lint errors in differentRequestModules.te…
Copilot Apr 10, 2026
aa23983
Merge pull request #2 from ehuelsmann/copilot/fix-github-actions-ci-job
ehuelsmann Apr 10, 2026
41a6196
Fix formatting in dependabot.yml
ehuelsmann Apr 10, 2026
eeaf111
Initial plan
Copilot Apr 10, 2026
edfcc9f
chore(ci): modernize workflow - use setup-node caching, update action…
Copilot Apr 10, 2026
8c53183
test: update error message expectation for Node 20 property access sy…
Copilot Apr 10, 2026
0a47866
test: fix CI flakiness - use 127.0.0.1 and await server listen in dif…
Copilot Apr 10, 2026
59b6ce7
test: single server lifecycle in differentRequestModules tests (from …
Copilot Apr 10, 2026
4624931
test: merge duplicate top-level beforeAll hooks to fix no-duplicate-h…
Copilot Apr 10, 2026
0b76dd9
test: fix consistent-return lint errors in differentRequestModules.te…
Copilot Apr 10, 2026
874037b
Merge pull request #5 from ehuelsmann/dependabot/npm_and_yarn/npm_and…
ehuelsmann Apr 10, 2026
1f845f3
Update package-ecosystem in dependabot.yml
ehuelsmann Apr 10, 2026
82a5636
Update dependabot.yml
ehuelsmann Apr 10, 2026
65ffadf
chore(deps): bump actions/checkout from 4 to 6
dependabot[bot] Apr 10, 2026
c0c3295
chore(deps): bump actions/setup-node from 4 to 6
dependabot[bot] Apr 10, 2026
538ca98
chore(deps-dev): bump @types/js-yaml from 4.0.3 to 4.0.9
dependabot[bot] Apr 10, 2026
ff4f7e4
chore(deps-dev): bump eslint-config-airbnb-typescript
dependabot[bot] Apr 10, 2026
95a20f2
Merge pull request #8 from ehuelsmann/dependabot/github_actions/actio…
ehuelsmann Apr 10, 2026
68c7f98
Merge pull request #9 from ehuelsmann/dependabot/github_actions/actio…
ehuelsmann Apr 10, 2026
557ff27
Merge pull request #14 from ehuelsmann/dependabot/npm_and_yarn/eslint…
ehuelsmann Apr 10, 2026
a99c0a7
Merge pull request #11 from ehuelsmann/dependabot/npm_and_yarn/types/…
ehuelsmann Apr 10, 2026
56590f2
chore(deps): bump handlebars
dependabot[bot] Apr 10, 2026
876a12b
Merge pull request #15 from ehuelsmann/dependabot/npm_and_yarn/npm_an…
ehuelsmann Apr 10, 2026
91ecc00
Initial plan
Copilot Apr 10, 2026
2c8467e
fix: upgrade jest-openapi to Jest 29, fix node: prefix resolution and…
Copilot Apr 10, 2026
794e892
Merge pull request #17 from ehuelsmann/copilot/update-jest-dependencies
ehuelsmann Apr 10, 2026
87c3ab8
chore(deps-dev): bump prettier from 2.4.1 to 3.8.2
dependabot[bot] Apr 10, 2026
e920a0b
Initial plan
Copilot Apr 10, 2026
f2a26b0
chore(deps-dev): bump supertest and @types/supertest
dependabot[bot] Apr 10, 2026
6de4944
chore(deps): bump braces in the npm_and_yarn group across 1 directory
dependabot[bot] Apr 10, 2026
915b2bd
Merge pull request #20 from ehuelsmann/dependabot/npm_and_yarn/npm_an…
ehuelsmann Apr 10, 2026
9843b6f
fix: run build before tests in CI to resolve Node 20 DEP0128 warning
Copilot Apr 10, 2026
e3674c5
fix: rebuild openapi-validator after clean to eliminate DEP0128 warning
Copilot Apr 10, 2026
6624bfa
Merge pull request #19 from ehuelsmann/copilot/fix-ci-node-warning
ehuelsmann Apr 10, 2026
0937373
Merge pull request #18 from ehuelsmann/dependabot/npm_and_yarn/pretti…
ehuelsmann Apr 10, 2026
831bf1c
Merge pull request #13 from ehuelsmann/dependabot/npm_and_yarn/multi-…
ehuelsmann Apr 10, 2026
b0df460
chore(deps-dev): bump chai-http from 4.3.0 to 5.1.2
dependabot[bot] Apr 10, 2026
345a6aa
fix(chai-http): use request.execute(app) from chai-http 5.x named export
Copilot Apr 10, 2026
c08a468
Merge pull request #12 from ehuelsmann/dependabot/npm_and_yarn/chai-h…
ehuelsmann Apr 10, 2026
a3a25e9
chore(deps-dev): bump chai from 4.2.0 to 6.2.2
dependabot[bot] Apr 10, 2026
b8fa0d0
Merge pull request #16 from ehuelsmann/dependabot/npm_and_yarn/chai-6…
ehuelsmann Apr 10, 2026
201e47b
chore(deps-dev): bump openapi-types from 9.2.0 to 12.1.3
dependabot[bot] Apr 10, 2026
29d0428
fix: add yarn resolutions to force single openapi-types 12.1.3 version
Copilot Apr 10, 2026
67cb78d
Merge pull request #10 from ehuelsmann/dependabot/npm_and_yarn/openap…
ehuelsmann Apr 10, 2026
1833a15
chore(deps-dev): bump eslint-plugin-chai-friendly from 0.6.0 to 1.2.0
dependabot[bot] Apr 10, 2026
37c46d0
chore(deps-dev): bump express and @types/express
dependabot[bot] Apr 10, 2026
9f03000
Merge pull request #22 from ehuelsmann/dependabot/npm_and_yarn/eslint…
ehuelsmann Apr 10, 2026
4e05234
Merge branch 'master' into dependabot/npm_and_yarn/multi-b251156d90
ehuelsmann Apr 10, 2026
546b6ac
chore(deps): bump openapi-response-validator from 9.2.0 to 12.1.3
dependabot[bot] Apr 10, 2026
49a20ac
Potential fix for code scanning alert no. 1: Workflow does not contai…
ehuelsmann Apr 10, 2026
d9b5617
Merge pull request #25 from ehuelsmann/dependabot/npm_and_yarn/openap…
ehuelsmann Apr 10, 2026
9117337
Merge branch 'master' into dependabot/npm_and_yarn/multi-b251156d90
ehuelsmann Apr 10, 2026
0dac979
Merge branch 'master' into alert-autofix-1
ehuelsmann Apr 10, 2026
675e576
Merge pull request #27 from ehuelsmann/alert-autofix-1
ehuelsmann Apr 10, 2026
16a56a9
Merge branch 'master' into dependabot/npm_and_yarn/multi-b251156d90
ehuelsmann Apr 10, 2026
5e7f8e7
Merge pull request #23 from ehuelsmann/dependabot/npm_and_yarn/multi-…
ehuelsmann Apr 10, 2026
3639f49
chore(deps-dev): bump jest and @types/jest
dependabot[bot] Apr 10, 2026
a871919
fix: upgrade TypeScript to ^5.0.0 and @typescript-eslint to ^5.0.0 to…
Copilot Apr 10, 2026
c2ce862
Merge pull request #24 from ehuelsmann/dependabot/npm_and_yarn/multi-…
ehuelsmann Apr 10, 2026
04c3da0
chore(deps-dev): bump eslint-plugin-jest from 24.1.0 to 29.15.2
dependabot[bot] Apr 10, 2026
40aa3cd
Initial plan
Copilot Apr 10, 2026
fdc5c2d
Remove openapi-response-validator v9 patch and patch-package dependency
Copilot Apr 10, 2026
69334d5
fix(eslint): rename jest/lowercase-name to jest/prefer-lowercase-titl…
Copilot Apr 10, 2026
c36fe97
Merge pull request #26 from ehuelsmann/dependabot/npm_and_yarn/eslint…
ehuelsmann Apr 10, 2026
8a2c440
Fix TypeScript errors caused by v12 type definitions of openapi-respo…
Copilot Apr 10, 2026
f56aea9
Merge branch 'master' into copilot/remove-openapi-response-validator-…
ehuelsmann Apr 10, 2026
9176af8
Restore 100% branch coverage by using non-null assertion instead of n…
Copilot Apr 10, 2026
be0ed89
Merge pull request #28 from ehuelsmann/copilot/remove-openapi-respons…
ehuelsmann Apr 10, 2026
1f5272b
Initial plan
Copilot Apr 10, 2026
781955e
Add GitHub Packages workflow and update README with installation inst…
Copilot Apr 10, 2026
47b051d
Fix TAG env var in version assertion step - use export to make it vis…
Copilot Apr 10, 2026
aa5e4f5
Tailor GitHub Packages README section to public packages only
Copilot Apr 10, 2026
516d291
Update unscoped package name references to @ehuelsmann scope in READMEs
Copilot Apr 10, 2026
57cbf5d
Switch publish target from GitHub Packages to npmjs.com for truly pub…
Copilot Apr 10, 2026
a727a04
Merge pull request #29 from ehuelsmann/copilot/add-github-actions-wor…
ehuelsmann Apr 10, 2026
fecee40
Initial plan
Copilot Apr 10, 2026
da9f280
Bump version to 0.15.0
Copilot Apr 10, 2026
f6539ea
Merge pull request #30 from ehuelsmann/copilot/bump-version-to-0-15-0
ehuelsmann Apr 10, 2026
b3a2c26
Initial plan
Copilot Apr 10, 2026
2cbece3
chore: remove lerna and replace with minimal version bump script
Copilot Apr 10, 2026
7f82e5e
Merge pull request #31 from ehuelsmann/copilot/remove-lerna-and-add-b…
ehuelsmann Apr 10, 2026
f89c1af
Initial plan
Copilot Apr 10, 2026
278263f
chore: refresh yarn.lock after Lerna removal
Copilot Apr 10, 2026
bf376b8
Merge pull request #32 from ehuelsmann/copilot/refresh-and-clean-yarn…
ehuelsmann Apr 10, 2026
7f10fa4
Initial plan
Copilot Apr 11, 2026
f36f73f
feat: add dual-publish ESM+CJS builds with tsup (ESM-first)
Copilot Apr 11, 2026
3154ed0
fix(jest-openapi): map openapi-validator workspace import in jest
Copilot Apr 11, 2026
ef52440
Merge pull request #34 from ehuelsmann/copilot/make-packages-esm-first
ehuelsmann Apr 11, 2026
4488124
Initial plan
Copilot Apr 11, 2026
a91c65d
chore: pin Yarn Berry 4.13.0 via corepack (packageManager + .yarnrc.yml)
Copilot Apr 11, 2026
90c9068
chore: migrate to Yarn Berry 4.13.0 via Corepack
Copilot Apr 11, 2026
8abe5bc
fix: switch workspace scripts to Yarn Berry foreach syntax
Copilot Apr 11, 2026
7b99e7f
chore: revert unintended formatting-only file changes
Copilot Apr 11, 2026
e88261a
Merge pull request #35 from ehuelsmann/copilot/migrate-to-yarn-berry
ehuelsmann Apr 11, 2026
9a23871
chore: migrate chai tests from ts-mocha to mocha with ts-node and upg…
Copilot Apr 11, 2026
a7ca2f2
Merge pull request #36 from ehuelsmann/copilot/research-dependencies-…
ehuelsmann Apr 11, 2026
1b03935
Remove request-promise support from API and docs
Copilot Apr 11, 2026
adfb647
Update lockfile after removing request-promise dependencies
Copilot Apr 11, 2026
11d48c0
Add unsupported response shape tests to restore coverage
Copilot Apr 11, 2026
593e124
Merge pull request #37 from ehuelsmann/copilot/investigate-dependabot…
ehuelsmann Apr 11, 2026
81f3c74
Update references to the repository *actually* hosting this code.
ehuelsmann Apr 11, 2026
397a826
Merge pull request #38 from ehuelsmann/update-docs
ehuelsmann Apr 11, 2026
3ada2cb
Update version number to v0.16.0 (#39)
ehuelsmann Apr 11, 2026
7f29286
fix: normalize `repository` field in package.json files to suppress n…
Copilot Apr 11, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 12 additions & 45 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,7 @@
"projectOwner": "openapi-library",
"repoType": "github",
"repoHost": "https://github.com",
"files": [
"README.md"
],
"files": ["README.md"],
"imageSize": 100,
"commit": true,
"commitConvention": "angular",
Expand All @@ -15,108 +13,77 @@
"name": "Richard Waller",
"avatar_url": "https://avatars1.githubusercontent.com/u/18170169?v=4",
"profile": "https://github.com/rwalle61",
"contributions": [
"maintenance",
"code",
"doc",
"review"
]
"contributions": ["maintenance", "code", "doc", "review"]
},
{
"login": "JonnySpruce",
"name": "Jonny Spruce",
"avatar_url": "https://avatars3.githubusercontent.com/u/30812276?v=4",
"profile": "https://github.com/JonnySpruce",
"contributions": [
"code",
"doc",
"review"
]
"contributions": ["code", "doc", "review"]
},
{
"login": "AlexDobeck",
"name": "Alex Dobeck",
"avatar_url": "https://avatars2.githubusercontent.com/u/10519388?v=4",
"profile": "https://github.com/AlexDobeck",
"contributions": [
"code",
"bug"
]
"contributions": ["code", "bug"]
},
{
"login": "BenGu3",
"name": "Ben Guthrie",
"avatar_url": "https://avatars2.githubusercontent.com/u/7105857?v=4",
"profile": "https://github.com/BenGu3",
"contributions": [
"code",
"bug"
]
"contributions": ["code", "bug"]
},
{
"login": "mvegter",
"name": "Martijn Vegter",
"avatar_url": "https://avatars3.githubusercontent.com/u/25134477?v=4",
"profile": "https://martijnvegter.com/",
"contributions": [
"code"
]
"contributions": ["code"]
},
{
"login": "ludeknovy",
"name": "Ludek",
"avatar_url": "https://avatars1.githubusercontent.com/u/13610612?v=4",
"profile": "https://github.com/ludeknovy",
"contributions": [
"code",
"bug"
]
"contributions": ["code", "bug"]
},
{
"login": "tgiardina",
"name": "Tommy Giardina",
"avatar_url": "https://avatars1.githubusercontent.com/u/37459104?v=4",
"profile": "https://github.com/tgiardina",
"contributions": [
"code",
"bug"
]
"contributions": ["code", "bug"]
},
{
"login": "Xotabu4",
"name": "Oleksandr Khotemskyi",
"avatar_url": "https://avatars3.githubusercontent.com/u/3033972?v=4",
"profile": "https://xotabu4.github.io/",
"contributions": [
"doc"
]
"contributions": ["doc"]
},
{
"login": "amitkeinan9",
"name": "Amit Keinan",
"avatar_url": "https://avatars.githubusercontent.com/u/16577335?v=4",
"profile": "https://github.com/amitkeinan9",
"contributions": [
"code"
]
"contributions": ["code"]
},
{
"login": "kristofferkarlsson93",
"name": "Kristoffer Karlsson",
"avatar_url": "https://avatars.githubusercontent.com/u/20490202?v=4",
"profile": "http://karlssonkristoffer.com/",
"contributions": [
"doc"
]
"contributions": ["doc"]
},
{
"login": "DetachHead",
"name": "DetachHead",
"avatar_url": "https://avatars.githubusercontent.com/u/57028336?v=4",
"profile": "https://github.com/DetachHead",
"contributions": [
"bug"
]
"contributions": ["bug"]
}
],
"contributorsPerLine": 7,
Expand Down
8 changes: 8 additions & 0 deletions .eslintrc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,13 @@ rules:
require-await: error
'@typescript-eslint/no-use-before-define': off

overrides:
- files:
- '*.config.ts'
rules:
import/no-extraneous-dependencies:
- error
- devDependencies: true

ignorePatterns:
- dist
6 changes: 1 addition & 5 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,16 @@ about: Report a reproducible bug
title: ''
labels: bug
assignees: ''

---

**Are you using jest or chai**?


**Are you using OpenAPI 2, 3.0.X, or 3.1.0?**


**Describe the bug clearly**


**Steps to reproduce the bug:**

1. ...
2. ...
3. See error (please paste error output or a screenshot)
Expand All @@ -25,5 +22,4 @@ assignees: ''

**What did you expect to happen instead?**


**Are you going to resolve the issue?**
6 changes: 0 additions & 6 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,16 @@ about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''

---

**Are you using OpenAPI 2, 3.0.X, or 3.1.0?**


**Would this solve a problem or make something easier?**


**What would you like to happen?**


**Describe alternatives you've considered**


**Additional context or screenshots**


**Are you going to resolve the issue?**
15 changes: 15 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: 'npm' # See documentation for possible values
directory: '/' # Location of package manifests
schedule:
interval: 'weekly'
- package-ecosystem: 'github-actions' # See documentation for possible values
directory: '/' # Location of package manifests
schedule:
interval: 'weekly'
16 changes: 10 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
name: CI

permissions:
contents: read

on:
push:
paths-ignore:
Expand All @@ -15,16 +18,17 @@ jobs:
Test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v6

- uses: actions/setup-node@v2.1.5
- uses: actions/setup-node@v6
with:
node-version: 12
node-version: 20

- run: corepack enable

- name: Use yarn cache
uses: c-hive/gha-yarn-cache@v1
- run: yarn --version

- run: yarn install --frozen-lockfile
- run: yarn install --immutable

- run: yarn test:ci

Expand Down
73 changes: 73 additions & 0 deletions .github/workflows/publish-npm.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Publish to npm

on:
push:
tags:
- "v*"

permissions:
contents: read

concurrency:
group: publish-${{ github.ref }}
cancel-in-progress: false

jobs:
publish:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v4

- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"
registry-url: "https://registry.npmjs.org"

- name: Enable Corepack
run: corepack enable

- name: Install dependencies (workspaces)
run: yarn install --immutable

- name: Build all packages
run: yarn build

- name: Assert tag matches package versions
run: |
export TAG="${GITHUB_REF_NAME#v}"
node -e "
const fs = require('fs');
const pkgs = [
'packages/openapi-validator/package.json',
'packages/jest-openapi/package.json',
'packages/chai-openapi-response-validator/package.json',
];
for (const p of pkgs) {
const v = JSON.parse(fs.readFileSync(p, 'utf8')).version;
if (v !== process.env.TAG) {
console.error(p + ' version ' + v + ' does not match tag ' + process.env.TAG);
process.exit(1);
}
}
"
- name: Publish @${{ github.repository_owner }}/openapi-validator
working-directory: packages/openapi-validator
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Publish @${{ github.repository_owner }}/jest-openapi
working-directory: packages/jest-openapi
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Publish @${{ github.repository_owner }}/chai-openapi-response-validator
working-directory: packages/chai-openapi-response-validator
run: npm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,9 @@ coverage/
packages/**/commonTestResources
.DS_STORE
dist

# Yarn Berry
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
6 changes: 5 additions & 1 deletion .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,15 @@
"type": "node",
"request": "launch",
"name": "Test chai-openapi-response-validator (Mocha)",
"program": "${workspaceFolder}/node_modules/ts-mocha/bin/ts-mocha",
"program": "${workspaceFolder}/node_modules/mocha/bin/mocha.js",
"args": [
"--timeout",
"999999", // timeout length. Required since while debugging we may pause for longer than Mocha's test timeout
"--colors",
"--require",
"ts-node/register",
"--extension",
"ts",
"${workspaceFolder}/packages/chai-openapi-response-validator/test",
"--recursive",
"--exit",
Expand Down
1 change: 1 addition & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
nodeLinker: node-modules
7 changes: 7 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,13 @@ git checkout -b <topic-branch-name>

### 4. Test that your code works

Before running any commands, ensure you have [Corepack](https://yarnpkg.com/corepack) enabled so the pinned Yarn version is used automatically:

```bash
corepack enable
yarn install
```

To test changes to a particular package, you can run these from within the `package/<packageName>` dir (e.g. `package/jest-openapi`):

```bash
Expand Down
Loading