forked from expressjs/body-parser
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch '2.x' into feature/iso-8859-1/take2
* 2.x: (98 commits) fix(deps): raw-body@^3.0.0 (expressjs#529) Also use the qs module for the simple parser (expressjs#387) feat!: remove node less than 18 from ci 2.0.0-beta.2 docs: add missing history entry tests: enable strict mode Remove deprecated bodyParser() combination middleware build: remove conditional code coverage deps: [email protected] deps: [email protected] deps: [email protected] 1.20.2 Fix strict json error message on Node.js 19+ deps: [email protected] build: [email protected] build: [email protected] build: [email protected] deps: content-type@~1.0.5 build: [email protected] build: [email protected] ...
- Loading branch information
Showing
16 changed files
with
864 additions
and
523 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,145 +1,51 @@ | ||
name: ci | ||
|
||
on: | ||
- pull_request | ||
- push | ||
push: | ||
branches: | ||
- master | ||
- '2.x' | ||
paths-ignore: | ||
- '*.md' | ||
pull_request: | ||
paths-ignore: | ||
- '*.md' | ||
|
||
jobs: | ||
test: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
name: | ||
- Node.js 0.8 | ||
- Node.js 0.10 | ||
- Node.js 0.12 | ||
- io.js 1.x | ||
- io.js 2.x | ||
- io.js 3.x | ||
- Node.js 4.x | ||
- Node.js 5.x | ||
- Node.js 6.x | ||
- Node.js 7.x | ||
- Node.js 8.x | ||
- Node.js 9.x | ||
- Node.js 10.x | ||
- Node.js 11.x | ||
- Node.js 12.x | ||
- Node.js 13.x | ||
- Node.js 14.x | ||
- Node.js 18.x | ||
- Node.js 20.x | ||
- Node.js 22.x | ||
|
||
include: | ||
- name: Node.js 0.8 | ||
node-version: "0.8" | ||
npm-i: [email protected] [email protected] | ||
npm-rm: nyc | ||
- name: Node.js 18.x | ||
node-version: "18" | ||
|
||
- name: Node.js 0.10 | ||
node-version: "0.10" | ||
npm-i: [email protected] [email protected] [email protected] | ||
- name: Node.js 20.x | ||
node-version: "20" | ||
|
||
- name: Node.js 0.12 | ||
node-version: "0.12" | ||
npm-i: [email protected] [email protected] [email protected] | ||
|
||
- name: io.js 1.x | ||
node-version: "1.8" | ||
npm-i: [email protected] [email protected] [email protected] | ||
|
||
- name: io.js 2.x | ||
node-version: "2.5" | ||
npm-i: [email protected] [email protected] [email protected] | ||
|
||
- name: io.js 3.x | ||
node-version: "3.3" | ||
npm-i: [email protected] [email protected] [email protected] | ||
|
||
- name: Node.js 4.x | ||
node-version: "4.9" | ||
npm-i: [email protected] [email protected] [email protected] | ||
|
||
- name: Node.js 5.x | ||
node-version: "5.12" | ||
npm-i: [email protected] [email protected] [email protected] | ||
|
||
- name: Node.js 6.x | ||
node-version: "6.17" | ||
npm-i: [email protected] [email protected] | ||
|
||
- name: Node.js 7.x | ||
node-version: "7.10" | ||
npm-i: [email protected] [email protected] | ||
|
||
- name: Node.js 8.x | ||
node-version: "8.17" | ||
npm-i: [email protected] | ||
|
||
- name: Node.js 9.x | ||
node-version: "9.11" | ||
npm-i: [email protected] | ||
|
||
- name: Node.js 10.x | ||
node-version: "10.24" | ||
npm-i: [email protected] | ||
|
||
- name: Node.js 11.x | ||
node-version: "11.15" | ||
npm-i: [email protected] | ||
|
||
- name: Node.js 12.x | ||
node-version: "12.22" | ||
|
||
- name: Node.js 13.x | ||
node-version: "13.14" | ||
|
||
- name: Node.js 14.x | ||
node-version: "14.18" | ||
|
||
- name: Node.js 15.x | ||
node-version: "15.14" | ||
|
||
- name: Node.js 16.x | ||
node-version: "16.13" | ||
|
||
- name: Node.js 17.x | ||
node-version: "17.1" | ||
- name: Node.js 22.x | ||
node-version: "22" | ||
|
||
steps: | ||
- uses: actions/checkout@v2 | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install Node.js ${{ matrix.node-version }} | ||
shell: bash -eo pipefail -l {0} | ||
run: | | ||
nvm install --default ${{ matrix.node-version }} | ||
if [[ "${{ matrix.node-version }}" == 0.* && "$(cut -d. -f2 <<< "${{ matrix.node-version }}")" -lt 10 ]]; then | ||
nvm install --alias=npm 0.10 | ||
nvm use ${{ matrix.node-version }} | ||
sed -i '1s;^.*$;'"$(printf '#!%q' "$(nvm which npm)")"';' "$(readlink -f "$(which npm)")" | ||
npm config set strict-ssl false | ||
fi | ||
dirname "$(nvm which ${{ matrix.node-version }})" >> "$GITHUB_PATH" | ||
- name: Configure npm | ||
run: npm config set shrinkwrap false | ||
|
||
- name: Remove npm module(s) ${{ matrix.npm-rm }} | ||
run: npm rm --silent --save-dev ${{ matrix.npm-rm }} | ||
if: matrix.npm-rm != '' | ||
|
||
- name: Install npm module(s) ${{ matrix.npm-i }} | ||
run: npm install --save-dev ${{ matrix.npm-i }} | ||
if: matrix.npm-i != '' | ||
|
||
- name: Setup Node.js version-specific dependencies | ||
shell: bash | ||
run: | | ||
# eslint for linting | ||
# - remove on Node.js < 10 | ||
if [[ "$(cut -d. -f1 <<< "${{ matrix.node-version }}")" -lt 10 ]]; then | ||
node -pe 'Object.keys(require("./package").devDependencies).join("\n")' | \ | ||
grep -E '^eslint(-|$)' | \ | ||
sort -r | \ | ||
xargs -n1 npm rm --silent --save-dev | ||
if [[ "$(npm config get package-lock)" == "true" ]]; then | ||
npm config set package-lock false | ||
else | ||
npm config set shrinkwrap false | ||
fi | ||
- name: Install Node.js dependencies | ||
|
@@ -152,35 +58,54 @@ jobs: | |
echo "node@$(node -v)" | ||
echo "npm@$(npm -v)" | ||
npm -s ls ||: | ||
(npm -s ls --depth=0 ||:) | awk -F'[ @]' 'NR>1 && $2 { print "::set-output name=" $2 "::" $3 }' | ||
(npm -s ls --depth=0 ||:) | awk -F'[ @]' 'NR>1 && $2 { print $2 "=" $3 }' >> "$GITHUB_OUTPUT" | ||
- name: Run tests | ||
shell: bash | ||
run: | | ||
if npm -ps ls nyc | grep -q nyc; then | ||
npm run test-ci | ||
else | ||
npm test | ||
fi | ||
npm run test-ci | ||
cp coverage/lcov.info "coverage/${{ matrix.name }}.lcov" | ||
- name: Lint code | ||
if: steps.list_env.outputs.eslint != '' | ||
run: npm run lint | ||
|
||
- name: Collect code coverage | ||
uses: coverallsapp/github-action@master | ||
if: steps.list_env.outputs.nyc != '' | ||
run: | | ||
if [[ -d ./coverage ]]; then | ||
mv ./coverage "./${{ matrix.name }}" | ||
mkdir ./coverage | ||
mv "./${{ matrix.name }}" "./coverage/${{ matrix.name }}" | ||
fi | ||
- name: Upload code coverage | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
flag-name: run-${{ matrix.test_number }} | ||
parallel: true | ||
name: coverage | ||
path: ./coverage | ||
retention-days: 1 | ||
|
||
coverage: | ||
needs: test | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Uploade code coverage | ||
- uses: actions/checkout@v4 | ||
|
||
- name: Install lcov | ||
shell: bash | ||
run: sudo apt-get -y install lcov | ||
|
||
- name: Collect coverage reports | ||
uses: actions/download-artifact@v3 | ||
with: | ||
name: coverage | ||
path: ./coverage | ||
|
||
- name: Merge coverage reports | ||
shell: bash | ||
run: find ./coverage -name lcov.info -exec printf '-a %q\n' {} \; | xargs lcov -o ./coverage/lcov.info | ||
|
||
- name: Upload coverage report | ||
uses: coverallsapp/github-action@master | ||
with: | ||
github-token: ${{ secrets.github_token }} | ||
parallel-finished: true | ||
github-token: ${{ secrets.GITHUB_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,82 @@ | ||
unreleased | ||
========== | ||
2.0.0-beta.2 / 2023-02-23 | ||
========================= | ||
|
||
This incorporates all changes after 1.19.1 up to 1.20.2. | ||
|
||
* Remove deprecated `bodyParser()` combination middleware | ||
* deps: [email protected] | ||
- Add `DEBUG_HIDE_DATE` environment variable | ||
- Change timer to per-namespace instead of global | ||
- Change non-TTY date format | ||
- Remove `DEBUG_FD` environment variable support | ||
- Support 256 namespace colors | ||
* deps: [email protected] | ||
- Add encoding cp720 | ||
- Add encoding UTF-32 | ||
* deps: [email protected] | ||
|
||
2.0.0-beta.1 / 2021-12-17 | ||
========================= | ||
|
||
* Drop support for Node.js 0.8 | ||
* `req.body` is no longer always initialized to `{}` | ||
- it is left `undefined` unless a body is parsed | ||
* `urlencoded` parser now defaults `extended` to `false` | ||
* Use `on-finished` to determine when body read | ||
|
||
1.20.2 / 2023-02-21 | ||
=================== | ||
|
||
* Fix strict json error message on Node.js 19+ | ||
* deps: content-type@~1.0.5 | ||
- perf: skip value escaping when unnecessary | ||
* deps: [email protected] | ||
|
||
1.20.1 / 2022-10-06 | ||
=================== | ||
|
||
* deps: [email protected] | ||
* perf: remove unnecessary object clone | ||
|
||
1.20.0 / 2022-04-02 | ||
=================== | ||
|
||
* Fix error message for json parse whitespace in `strict` | ||
* Fix internal error when inflated body exceeds limit | ||
* Prevent loss of async hooks context | ||
* Prevent hanging when request already read | ||
* deps: [email protected] | ||
- Replace internal `eval` usage with `Function` constructor | ||
- Use instance methods on `process` to check for listeners | ||
* deps: [email protected] | ||
- deps: [email protected] | ||
- deps: [email protected] | ||
* deps: [email protected] | ||
* deps: [email protected] | ||
* deps: [email protected] | ||
- deps: [email protected] | ||
|
||
1.19.2 / 2022-02-15 | ||
=================== | ||
|
||
* deps: [email protected] | ||
* deps: [email protected] | ||
* Fix handling of `__proto__` keys | ||
* deps: [email protected] | ||
- deps: [email protected] | ||
|
||
1.19.1 / 2021-12-10 | ||
=================== | ||
|
||
* deps: [email protected] | ||
* deps: [email protected] | ||
* deps: [email protected] | ||
- deps: [email protected] | ||
- deps: [email protected] | ||
- deps: [email protected] | ||
* deps: [email protected] | ||
* deps: [email protected] | ||
- deps: [email protected] | ||
* deps: [email protected] | ||
- deps: [email protected] | ||
- deps: [email protected] | ||
* deps: [email protected] | ||
* deps: type-is@~1.6.18 | ||
|
||
|
Oops, something went wrong.