Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: expressjs/express
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 8368dc178af16b91b576c4c1d135f701a0007e5d
Choose a base ref
...
head repository: expressjs/express
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 8e229f92752ad51462c868b99f6e6c2e559801b0
Choose a head ref

Commits on Nov 2, 2022

  1. docs: update git clone to https protocol

    closes #5032
    vcsjones authored and dougwilson committed Nov 2, 2022
    1
    Copy the full SHA
    06b2b14 View commit details
  2. build: Node.js@16.18

    abenhamdine authored and dougwilson committed Nov 2, 2022
    Copy the full SHA
    29e117e View commit details
  3. build: Node.js@18.12

    abenhamdine authored and dougwilson committed Nov 2, 2022
    Copy the full SHA
    723b677 View commit details
  4. build: actions/checkout@v3

    closes #5027
    armujahid authored and dougwilson committed Nov 2, 2022
    Copy the full SHA
    442fd46 View commit details

Commits on Feb 21, 2023

  1. lint: remove unused function arguments in tests

    closes #5124
    raksbisht authored and dougwilson committed Feb 21, 2023
    Copy the full SHA
    c6ee8d6 View commit details

Commits on Feb 22, 2023

  1. Copy the full SHA
    a1efd9d View commit details
  2. docs: fix typos in JSDoc comments

    closes #5117
    raksbisht authored and dougwilson committed Feb 22, 2023
    Copy the full SHA
    6b4c4f5 View commit details
  3. lint: remove unused parameters in examples

    closes #5113
    raksbisht authored and dougwilson committed Feb 22, 2023
    Copy the full SHA
    3c1d605 View commit details
  4. build: Node.js@16.19

    dougwilson committed Feb 22, 2023
    Copy the full SHA
    f05b5d0 View commit details
  5. build: Node.js@18.14

    dougwilson committed Feb 22, 2023
    Copy the full SHA
    546969d View commit details
  6. Copy the full SHA
    b9f7a97 View commit details

Commits on Feb 23, 2023

  1. Copy the full SHA
    506fbd6 View commit details
  2. deps: body-parser@1.20.2

    dougwilson committed Feb 23, 2023
    Copy the full SHA
    1e42a98 View commit details
  3. build: mocha@10.2.0

    dougwilson committed Feb 23, 2023
    Copy the full SHA
    60b7c67 View commit details
  4. build: eslint@8.34.0

    dougwilson committed Feb 23, 2023
    Copy the full SHA
    8a76f39 View commit details
  5. docs: fix typos in history

    closes #5131
    raksbisht authored and dougwilson committed Feb 23, 2023
    Copy the full SHA
    5ad9541 View commit details
  6. build: support Node.js 19.x

    abenhamdine authored and dougwilson committed Feb 23, 2023
    Copy the full SHA
    9bc1742 View commit details
  7. Copy the full SHA
    74beeac View commit details

Commits on Feb 26, 2023

  1. Copy the full SHA
    0debedf View commit details

Commits on Mar 14, 2023

  1. Copy the full SHA
    8c24fa8 View commit details
  2. build: ejs@3.1.9

    dougwilson committed Mar 14, 2023
    Copy the full SHA
    f4e48bc View commit details
  3. build: eslint@8.36.0

    dougwilson committed Mar 14, 2023
    Copy the full SHA
    b8b2eff View commit details
  4. build: Node.js@18.15

    dougwilson committed Mar 14, 2023
    Copy the full SHA
    f540c3b View commit details

Commits on Apr 7, 2023

  1. Copy the full SHA
    91b6fb8 View commit details
  2. build: Node.js@16.20

    dougwilson committed Apr 7, 2023
    1
    Copy the full SHA
    24e4a25 View commit details

Commits on May 16, 2023

  1. Copy the full SHA
    3531987 View commit details

Commits on Jun 4, 2023

  1. tests: use random port in listen test

    closes #5162
    rluvaton authored and dougwilson committed Jun 4, 2023
    1
    Copy the full SHA
    2a00da2 View commit details

Commits on Aug 23, 2023

  1. build: eslint@8.47.0

    dougwilson committed Aug 23, 2023
    Copy the full SHA
    13df1de View commit details
  2. build: Node.js@18.17

    dougwilson committed Aug 23, 2023
    Copy the full SHA
    8d8bfaa View commit details

Commits on Aug 24, 2023

  1. build: Node.js@19.9

    dougwilson committed Aug 24, 2023
    Copy the full SHA
    02d1c39 View commit details

Commits on Nov 2, 2023

  1. Copy the full SHA
    a229207 View commit details

Commits on Feb 18, 2024

  1. docs: add project captains to contribution

    closes #4210
    closes #5484
    gireeshpunathil authored and wesleytodd committed Feb 18, 2024
    Copy the full SHA
    59aae76 View commit details

Commits on Feb 19, 2024

  1. docs: update TC governance rules

    closes #5483
    wesleytodd authored and dougwilson committed Feb 19, 2024
    Copy the full SHA
    c4fe7de View commit details
  2. tests: fix handling multiple callbacks

    closes #5233
    kristof-low authored and dougwilson committed Feb 19, 2024
    Copy the full SHA
    2a89eb5 View commit details
  3. examples: remove multipart example

    Closes #5193
    closes #5195
    attrid authored and dougwilson committed Feb 19, 2024
    Copy the full SHA
    3abea7f View commit details
  4. docs: add documentation for benchmarks

    closes #5312
    UlisesGascon authored and dougwilson committed Feb 19, 2024
    Copy the full SHA
    e720c5a View commit details
  5. build: Node.js@18.19

    closes #5490
    UlisesGascon authored and dougwilson committed Feb 19, 2024
    Copy the full SHA
    59af63a View commit details
  6. Copy the full SHA
    0e3ab6e View commit details

Commits on Feb 26, 2024

  1. Copy the full SHA
    734b281 View commit details
  2. Copy the full SHA
    fdeb1d3 View commit details
  3. Copy the full SHA
    c259c34 View commit details
  4. Copy the full SHA
    b9fea12 View commit details
  5. Copy the full SHA
    23b44b3 View commit details
  6. build: pin Node 21.x to minor

    Co-authored-by: Aravind Nair <22199259+aravindvnair99@users.noreply.github.com>
    UlisesGascon and aravindvnair99 committed Feb 26, 2024
    Copy the full SHA
    e3eca80 View commit details
  7. build: pin Node 21.x to minor

    Co-authored-by: Aravind Nair <22199259+aravindvnair99@users.noreply.github.com>
    closes #5430
    UlisesGascon committed Feb 26, 2024
    Copy the full SHA
    b625132 View commit details
  8. 4.18.3

    UlisesGascon committed Feb 26, 2024
    Copy the full SHA
    1b51eda View commit details

Commits on Mar 11, 2024

  1. Copy the full SHA
    06c6b88 View commit details

Commits on Mar 14, 2024

  1. Copy the full SHA
    414854b View commit details
  2. docs: loosen TC activity rules

    wesleytodd authored and UlisesGascon committed Mar 14, 2024
    Copy the full SHA
    4ee853e View commit details

Commits on Mar 15, 2024

  1. deps: cookie@0.6.0

    closes #5404
    rhodgkins authored and wesleytodd committed Mar 15, 2024
    Copy the full SHA
    69a4cf2 View commit details
305 changes: 158 additions & 147 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,179 +1,190 @@
name: ci

on:
- pull_request
- push
push:
branches:
- master
- develop
- '4.x'
- '5.x'
paths-ignore:
- '*.md'
pull_request:
paths-ignore:
- '*.md'

# Cancel in progress workflows
# in the scenario where we already had a run going for that PR/branch/tag but then triggered a new run
concurrency:
group: "${{ github.workflow }} ✨ ${{ github.event.pull_request.head.label || github.head_ref || github.ref }}"
cancel-in-progress: true

jobs:
test:
lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Node.js {{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: 'lts/*'
persist-credentials: false

- name: Install dependencies
run: npm install --ignore-scripts --only=dev

- name: Run lint
run: npm run lint

test:
name: Run tests
strategy:
fail-fast: false
matrix:
name:
- 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 15.x
- Node.js 16.x
- Node.js 17.x
- Node.js 18.x

os: [ubuntu-latest, windows-latest]
node-version:
- "0.10"
- "0.12"
- "4"
- "5"
- "6"
- "7"
- "8"
- "9"
- "10"
- "11"
- "12"
- "13"
- "14"
- "15"
- "16"
- "17"
- "18"
- "19"
- "20"
- "21"
- "22"
# Use supported versions of our testing tools under older versions of Node
# Install npm in some specific cases where we need to
include:
- name: Node.js 0.10
node-version: "0.10"
npm-i: mocha@3.5.3 nyc@10.3.2 supertest@2.0.0

- name: Node.js 0.12
node-version: "0.12"
npm-i: mocha@3.5.3 nyc@10.3.2 supertest@2.0.0

- name: io.js 1.x
node-version: "1.8"
npm-i: mocha@3.5.3 nyc@10.3.2 supertest@2.0.0
- node-version: "0.10"
npm-i: "mocha@3.5.3 nyc@10.3.2 supertest@2.0.0"
# Npm isn't being installed on windows w/ setup-node for
# 0.10 and 0.12, which will end up choking when npm uses es6
npm-version: "npm@2.15.1"

- name: io.js 2.x
node-version: "2.5"
npm-i: mocha@3.5.3 nyc@10.3.2 supertest@2.0.0
- node-version: "0.12"
npm-i: "mocha@3.5.3 nyc@10.3.2 supertest@2.0.0"
npm-version: "npm@2.15.11"

- name: io.js 3.x
node-version: "3.3"
npm-i: mocha@3.5.3 nyc@10.3.2 supertest@2.0.0
- node-version: "4"
npm-i: "mocha@5.2.0 nyc@11.9.0 supertest@3.4.2"

- name: Node.js 4.x
node-version: "4.9"
npm-i: mocha@5.2.0 nyc@11.9.0 supertest@3.4.2
- node-version: "5"
npm-i: "mocha@5.2.0 nyc@11.9.0 supertest@3.4.2"
# fixes https://github.com/npm/cli/issues/681
npm-version: "npm@3.10.10"

- name: Node.js 5.x
node-version: "5.12"
npm-i: mocha@5.2.0 nyc@11.9.0 supertest@3.4.2
- node-version: "6"
npm-i: "mocha@6.2.2 nyc@14.1.1 supertest@3.4.2"

- name: Node.js 6.x
node-version: "6.17"
npm-i: mocha@6.2.2 nyc@14.1.1 supertest@3.4.2
- node-version: "7"
npm-i: "mocha@6.2.2 nyc@14.1.1 supertest@6.1.6"

- name: Node.js 7.x
node-version: "7.10"
npm-i: mocha@6.2.2 nyc@14.1.1 supertest@6.1.6
- node-version: "8"
npm-i: "mocha@7.2.0 nyc@14.1.1"

- name: Node.js 8.x
node-version: "8.17"
npm-i: mocha@7.2.0
- node-version: "9"
npm-i: "mocha@7.2.0 nyc@14.1.1"

- name: Node.js 9.x
node-version: "9.11"
npm-i: mocha@7.2.0
- node-version: "10"
npm-i: "mocha@8.4.0"

- name: Node.js 10.x
node-version: "10.24"
npm-i: mocha@8.4.0
- node-version: "11"
npm-i: "mocha@8.4.0"

- name: Node.js 11.x
node-version: "11.15"
npm-i: mocha@8.4.0
- node-version: "12"
npm-i: "mocha@9.2.2"

- name: Node.js 12.x
node-version: "12.22"
npm-i: mocha@9.2.2

- name: Node.js 13.x
node-version: "13.14"
npm-i: mocha@9.2.2

- name: Node.js 14.x
node-version: "14.20"

- name: Node.js 15.x
node-version: "15.14"

- name: Node.js 16.x
node-version: "16.17"

- name: Node.js 17.x
node-version: "17.9"

- name: Node.js 18.x
node-version: "18.10"
- node-version: "13"
npm-i: "mocha@9.2.2"

runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2

- name: Install Node.js ${{ matrix.node-version }}
shell: bash -eo pipefail -l {0}
run: |
nvm install --default ${{ matrix.node-version }}
dirname "$(nvm which ${{ matrix.node-version }})" >> "$GITHUB_PATH"
- name: Configure npm
run: |
npm config set loglevel error
npm config set shrinkwrap false
- uses: actions/checkout@v4
with:
persist-credentials: false

- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

- name: Npm version fixes
if: ${{matrix.npm-version != ''}}
run: npm install -g ${{ matrix.npm-version }}

- name: Configure npm loglevel
run: |
npm config set loglevel error
shell: bash

- name: Install dependencies
run: npm install

- name: Install Node version specific dev deps
if: ${{ matrix.npm-i != '' }}
run: npm install --save-dev ${{ matrix.npm-i }}

- name: Remove non-test dependencies
run: npm rm --silent --save-dev connect-redis

- name: Output Node and NPM versions
run: |
echo "Node.js version: $(node -v)"
echo "NPM version: $(npm -v)"
- name: Run tests
shell: bash
run: |
npm run test-ci
cp coverage/lcov.info "coverage/${{ matrix.node-version }}.lcov"
- name: Collect code coverage
run: |
mv ./coverage "./${{ matrix.node-version }}"
mkdir ./coverage
mv "./${{ matrix.node-version }}" "./coverage/${{ matrix.node-version }}"
- name: Upload code coverage
uses: actions/upload-artifact@v3
with:
name: coverage
path: ./coverage
retention-days: 1

- name: Install npm module(s) ${{ matrix.npm-i }}
run: npm install --save-dev ${{ matrix.npm-i }}
if: matrix.npm-i != ''

- name: Remove non-test dependencies
run: npm rm --silent --save-dev connect-redis
coverage:
needs: test
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Setup Node.js version-specific dependencies
shell: bash
run: |
# eslint for linting
# - remove on Node.js < 12
if [[ "$(cut -d. -f1 <<< "${{ matrix.node-version }}")" -lt 12 ]]; then
node -pe 'Object.keys(require("./package").devDependencies).join("\n")' | \
grep -E '^eslint(-|$)' | \
sort -r | \
xargs -n1 npm rm --silent --save-dev
fi
- name: Install Node.js dependencies
run: npm install

- name: List environment
id: list_env
- name: Install lcov
shell: bash
run: |
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 }'
run: sudo apt-get -y install lcov

- name: Run tests
shell: bash
run: npm run test-ci
- name: Collect coverage reports
uses: actions/download-artifact@v3
with:
name: coverage
path: ./coverage

- name: Lint code
if: steps.list_env.outputs.eslint != ''
run: npm run lint
- name: Merge coverage reports
shell: bash
run: find ./coverage -name lcov.info -exec printf '-a %q\n' {} \; | xargs lcov -o ./coverage/lcov.info

- name: Collect code coverage
- name: Upload coverage report
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
flag-name: run-${{ matrix.test_number }}
parallel: true

coverage:
needs: test
runs-on: ubuntu-latest
steps:
- name: Upload code coverage
uses: coverallsapp/github-action@master
with:
github-token: ${{ secrets.github_token }}
parallel-finished: true
Loading