From 2d267cb1c19e7a6d4c3995a550c6af887df4ad09 Mon Sep 17 00:00:00 2001 From: Douglas Christopher Wilson Date: Sat, 5 Feb 2022 00:44:26 -0500 Subject: [PATCH 01/15] Drop support for Node.js 0.8 --- .github/workflows/ci.yml | 24 +----------------------- HISTORY.md | 5 +++++ appveyor.yml | 11 ++--------- package.json | 2 +- 4 files changed, 9 insertions(+), 33 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 26db995..4e524e1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -10,7 +10,6 @@ jobs: strategy: matrix: name: - - Node.js 0.8 - Node.js 0.10 - Node.js 0.12 - io.js 1.x @@ -37,11 +36,6 @@ jobs: - Node.js 22.x include: - - name: Node.js 0.8 - node-version: "0.8" - npm-i: mocha@2.5.3 supertest@1.1.0 - npm-rm: nyc - - name: Node.js 0.10 node-version: "0.10" npm-i: mocha@3.5.3 nyc@10.3.2 supertest@2.0.0 @@ -134,12 +128,6 @@ jobs: 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 @@ -150,10 +138,6 @@ jobs: npm config set shrinkwrap false fi - - 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 != '' @@ -184,12 +168,7 @@ jobs: - name: Run tests shell: bash - run: | - if npm -ps ls nyc | grep -q nyc; then - npm run test-ci - else - npm test - fi + run: npm run test-ci - name: Lint code if: steps.list_env.outputs.eslint != '' @@ -197,7 +176,6 @@ jobs: - name: Collect code coverage uses: coverallsapp/github-action@master - if: steps.list_env.outputs.nyc != '' with: github-token: ${{ secrets.GITHUB_TOKEN }} flag-name: run-${{ matrix.test_number }} diff --git a/HISTORY.md b/HISTORY.md index 6b58456..3614290 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,3 +1,8 @@ +2.x +=== + + * Drop support for Node.js 0.8 + 1.15.0 / 2022-03-24 =================== diff --git a/appveyor.yml b/appveyor.yml index d1d6862..fa48bc3 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -41,15 +41,12 @@ install: # Setup Node.js version-specific dependencies - ps: | # mocha for testing - # - use 2.x for Node.js < 0.10 # - use 3.x for Node.js < 4 # - use 5.x for Node.js < 6 # - use 6.x for Node.js < 8 # - use 7.x for Node.js < 10 # - use 8.x for Node.js < 12 - if ([int]$env:nodejs_version.split(".")[0] -eq 0 -and [int]$env:nodejs_version.split(".")[1] -lt 10) { - npm install --silent --save-dev mocha@2.5.3 - } elseif ([int]$env:nodejs_version.split(".")[0] -lt 4) { + if ([int]$env:nodejs_version.split(".")[0] -lt 4) { npm install --silent --save-dev mocha@3.5.3 } elseif ([int]$env:nodejs_version.split(".")[0] -lt 6) { npm install --silent --save-dev mocha@5.2.0 @@ -62,13 +59,9 @@ install: } - ps: | # supertest for http calls - # - use 1.1.0 for Node.js < 0.10 # - use 2.0.0 for Node.js < 4 # - use 3.4.2 for Node.js < 6 - # - use 6.1.6 for Node.js < 8 - if ([int]$env:nodejs_version.split(".")[0] -eq 0 -and [int]$env:nodejs_version.split(".")[1] -lt 10) { - npm install --silent --save-dev supertest@1.1.0 - } elseif ([int]$env:nodejs_version.split(".")[0] -lt 4) { + if ([int]$env:nodejs_version.split(".")[0] -lt 4) { npm install --silent --save-dev supertest@2.0.0 } elseif ([int]$env:nodejs_version.split(".")[0] -lt 6) { npm install --silent --save-dev supertest@3.4.2 diff --git a/package.json b/package.json index 9d935f5..6eea037 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "index.js" ], "engines": { - "node": ">= 0.8.0" + "node": ">= 0.10" }, "scripts": { "lint": "eslint .", From 3f5a845c1ba9d3fc5466551274d79a68a6e1dce6 Mon Sep 17 00:00:00 2001 From: Douglas Christopher Wilson Date: Sat, 5 Feb 2022 00:59:18 -0500 Subject: [PATCH 02/15] deps: send@1.0.0-beta.1 --- HISTORY.md | 5 +++++ README.md | 11 +++++------ index.js | 1 - package.json | 4 ++++ test/test.js | 2 +- 5 files changed, 15 insertions(+), 8 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 3614290..c52a833 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,7 +1,12 @@ 2.x === + * Change `dotfiles` option default to `'ignore'` * Drop support for Node.js 0.8 + * Remove `hidden` option; use `dotfiles` option instead + * deps: send@1.0.0-beta.1 + - Use `mime-types` for file to content type mapping + - deps: debug@3.1.0 1.15.0 / 2022-03-24 =================== diff --git a/README.md b/README.md index 262d944..56268f7 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ true. Disabling this will ignore the `immutable` and `maxAge` options. ##### dotfiles - Set how "dotfiles" are treated when encountered. A dotfile is a file +Set how "dotfiles" are treated when encountered. A dotfile is a file or directory that begins with a dot ("."). Note this check is done on the path itself without checking if the path actually exists on the disk. If `root` is specified, only the dotfiles above the root are @@ -56,8 +56,7 @@ to "deny"). - `'deny'` Deny a request for a dotfile and 403/`next()`. - `'ignore'` Pretend like the dotfile does not exist and 404/`next()`. -The default value is similar to `'ignore'`, with the exception that this -default will not ignore the files within a directory that begins with a dot. +The default value is `'ignore'`. ##### etag @@ -215,7 +214,7 @@ app.listen(3000) #### Different settings for paths This example shows how to set a different max age depending on the served -file type. In this example, HTML files are not cached, while everything else +file. In this example, HTML files are not cached, while everything else is for 1 day. ```js @@ -232,8 +231,8 @@ app.use(serveStatic(path.join(__dirname, 'public'), { app.listen(3000) -function setCustomCacheControl (res, path) { - if (serveStatic.mime.lookup(path) === 'text/html') { +function setCustomCacheControl (res, file) { + if (path.extname(file) === '.html') { // Custom Cache-Control for HTML files res.setHeader('Cache-Control', 'public, max-age=0') } diff --git a/index.js b/index.js index b7d3984..1c1bb46 100644 --- a/index.js +++ b/index.js @@ -26,7 +26,6 @@ var url = require('url') */ module.exports = serveStatic -module.exports.mime = send.mime /** * @param {string} root diff --git a/package.json b/package.json index 6eea037..be1c909 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,11 @@ "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", +<<<<<<< HEAD "send": "0.18.0" +======= + "send": "1.0.0-beta.1" +>>>>>>> 50cc670 (deps: send@1.0.0-beta.1) }, "devDependencies": { "eslint": "7.32.0", diff --git a/test/test.js b/test/test.js index e1e3fd1..2603568 100644 --- a/test/test.js +++ b/test/test.js @@ -41,7 +41,7 @@ describe('serveStatic()', function () { it('should set Content-Type', function (done) { request(server) .get('/todo.txt') - .expect('Content-Type', 'text/plain; charset=UTF-8') + .expect('Content-Type', 'text/plain; charset=utf-8') .expect(200, done) }) From c7011e2a194a7d486dde74ba69b93aac9e25e525 Mon Sep 17 00:00:00 2001 From: Douglas Christopher Wilson Date: Sat, 5 Feb 2022 13:46:19 -0500 Subject: [PATCH 03/15] 2.0.0-beta.1 --- HISTORY.md | 4 ++-- package.json | 6 +----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index c52a833..ca32095 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,5 +1,5 @@ -2.x -=== +2.0.0-beta.1 / 2022-02-05 +========================= * Change `dotfiles` option default to `'ignore'` * Drop support for Node.js 0.8 diff --git a/package.json b/package.json index be1c909..8d532bc 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "serve-static", "description": "Serve static files", - "version": "1.15.0", + "version": "2.0.0-beta.1", "author": "Douglas Christopher Wilson ", "license": "MIT", "repository": "expressjs/serve-static", @@ -9,11 +9,7 @@ "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", -<<<<<<< HEAD - "send": "0.18.0" -======= "send": "1.0.0-beta.1" ->>>>>>> 50cc670 (deps: send@1.0.0-beta.1) }, "devDependencies": { "eslint": "7.32.0", From 841893bf0013af418df2696d7154f58ce9e5f187 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Wed, 20 Mar 2024 20:50:03 -0500 Subject: [PATCH 04/15] deps: send@1.0.0-beta.2 --- HISTORY.md | 5 +++++ package.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index ca32095..1a5de67 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,3 +1,8 @@ +unreleased +========================= + + * deps: send@1.0.0-beta.2 + 2.0.0-beta.1 / 2022-02-05 ========================= diff --git a/package.json b/package.json index 8d532bc..8767d4b 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "1.0.0-beta.1" + "send": "^1.0.0-beta.2" }, "devDependencies": { "eslint": "7.32.0", From 2178d79caaa7f89d5fe4cdf789ab5f96951a5b6a Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Wed, 20 Mar 2024 20:52:31 -0500 Subject: [PATCH 05/15] v2.0.0-beta.2 --- HISTORY.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 1a5de67..5bac370 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,4 @@ -unreleased +2.0.0-beta.2 / 2024-03-20 ========================= * deps: send@1.0.0-beta.2 diff --git a/package.json b/package.json index 8767d4b..8380364 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "serve-static", "description": "Serve static files", - "version": "2.0.0-beta.1", + "version": "2.0.0-beta.2", "author": "Douglas Christopher Wilson ", "license": "MIT", "repository": "expressjs/serve-static", From cd4cf8e75e38ee960f3610a571d49b15544abc21 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Fri, 26 Jul 2024 14:17:29 -0700 Subject: [PATCH 06/15] fix!: drop node <18 --- .github/workflows/ci.yml | 137 ++++----------------------------------- package.json | 2 +- 2 files changed, 14 insertions(+), 125 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4e524e1..b902866 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,8 +1,15 @@ name: ci on: -- pull_request -- push + push: + branches: + - master + - '2.0' + paths-ignore: + - '*.md' + pull_request: + paths-ignore: + - '*.md' jobs: test: @@ -10,116 +17,19 @@ jobs: strategy: 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 - - Node.js 19.x - Node.js 20.x - - Node.js 21.x - Node.js 22.x 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 - - - name: io.js 2.x - node-version: "2.5" - npm-i: mocha@3.5.3 nyc@10.3.2 supertest@2.0.0 - - - name: io.js 3.x - node-version: "3.3" - npm-i: mocha@3.5.3 nyc@10.3.2 supertest@2.0.0 - - - name: Node.js 4.x - node-version: "4.9" - npm-i: mocha@5.2.0 nyc@11.9.0 supertest@3.4.2 - - - name: Node.js 5.x - node-version: "5.12" - npm-i: mocha@5.2.0 nyc@11.9.0 supertest@3.4.2 - - - name: Node.js 6.x - node-version: "6.17" - npm-i: mocha@6.2.3 nyc@14.1.1 supertest@6.1.6 - - - name: Node.js 7.x - node-version: "7.10" - npm-i: mocha@6.2.3 nyc@14.1.1 supertest@6.1.6 - - - name: Node.js 8.x - node-version: "8.16" - 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 nyc@14.1.1 - - - name: Node.js 10.x - node-version: "10.24" - npm-i: mocha@8.4.0 - - - name: Node.js 11.x - node-version: "11.15" - npm-i: mocha@8.4.0 - - - 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.19" - - - name: Node.js 15.x - node-version: "15.14" - - - name: Node.js 16.x - node-version: "16.14" - - - name: Node.js 17.x - node-version: "17.8" - - name: Node.js 18.x - node-version: "18.14" - - - name: Node.js 19.x - node-version: "19.6" + node-version: "18" - name: Node.js 20.x - node-version: "20.12" - - - name: Node.js 21.x - node-version: "21.7" + node-version: "20" - name: Node.js 22.x - node-version: "22.0" + node-version: "22" steps: - uses: actions/checkout@v4 @@ -131,28 +41,7 @@ jobs: dirname "$(nvm which ${{ matrix.node-version }})" >> "$GITHUB_PATH" - name: Configure npm - run: | - if [[ "$(npm config get package-lock)" == "true" ]]; then - npm config set package-lock false - else - npm config set shrinkwrap false - fi - - - 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 - fi + run: npm config set package-lock false - name: Install Node.js dependencies run: npm install diff --git a/package.json b/package.json index 8380364..0fa034e 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "index.js" ], "engines": { - "node": ">= 0.10" + "node": ">= 18" }, "scripts": { "lint": "eslint .", From 43b3d900349315c6fbb2d27c88137a87bc504699 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Fri, 26 Jul 2024 14:30:37 -0700 Subject: [PATCH 07/15] fix(deps): send@1.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 0fa034e..9774b5e 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "^1.0.0-beta.2" + "send": "^1.0.0" }, "devDependencies": { "eslint": "7.32.0", From 28e7a40e95daddc624c62f1e1eb3e6bc80c75ffc Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Fri, 26 Jul 2024 15:03:23 -0700 Subject: [PATCH 08/15] fix(devDeps): mocha@^10.7.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9774b5e..d6736a4 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "5.2.0", "eslint-plugin-standard": "4.1.0", - "mocha": "9.2.2", + "mocha": "^10.7.0", "nyc": "15.1.0", "safe-buffer": "5.2.1", "supertest": "6.2.2" From 474517114abe8547eb96bbc7dbbf03b301479d2b Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Fri, 26 Jul 2024 15:03:47 -0700 Subject: [PATCH 09/15] fix(devDeps): nyc@^17.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d6736a4..5b3930c 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "eslint-plugin-promise": "5.2.0", "eslint-plugin-standard": "4.1.0", "mocha": "^10.7.0", - "nyc": "15.1.0", + "nyc": "^17.0.0", "safe-buffer": "5.2.1", "supertest": "6.2.2" }, From 5d26187e87857198f028d1c3087313c8eb3ed048 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Fri, 26 Jul 2024 15:04:20 -0700 Subject: [PATCH 10/15] fix(devDeps): safe-buffer@^5.2.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 5b3930c..a44f9f4 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "eslint-plugin-standard": "4.1.0", "mocha": "^10.7.0", "nyc": "^17.0.0", - "safe-buffer": "5.2.1", + "safe-buffer": "^5.2.1", "supertest": "6.2.2" }, "files": [ From 5efec6195681372ee4ef9899eaa05fced006f795 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Fri, 26 Jul 2024 15:04:58 -0700 Subject: [PATCH 11/15] fix(devDeps): supertest@^6.3.4 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a44f9f4..d4d8d7a 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "mocha": "^10.7.0", "nyc": "^17.0.0", "safe-buffer": "^5.2.1", - "supertest": "6.2.2" + "supertest": "^6.3.4" }, "files": [ "LICENSE", From 9bba9faa9f710fa6543dd56e146f9725613af140 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Fri, 26 Jul 2024 15:33:51 -0700 Subject: [PATCH 12/15] fix(deps): encodeurl@^2.0.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d4d8d7a..923645b 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "license": "MIT", "repository": "expressjs/serve-static", "dependencies": { - "encodeurl": "~1.0.2", + "encodeurl": "^2.0.0", "escape-html": "~1.0.3", "parseurl": "~1.3.3", "send": "^1.0.0" From 050cf48243448dce0a829fb2d2930cf78192d870 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Fri, 26 Jul 2024 15:34:24 -0700 Subject: [PATCH 13/15] fix(deps): excape-html@^1.0.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 923645b..92525fc 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "repository": "expressjs/serve-static", "dependencies": { "encodeurl": "^2.0.0", - "escape-html": "~1.0.3", + "escape-html": "^1.0.3", "parseurl": "~1.3.3", "send": "^1.0.0" }, From d3db1f6dc50d3ee92311b5b4ba23e9fc7e547da7 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Fri, 26 Jul 2024 15:34:46 -0700 Subject: [PATCH 14/15] fix(deps): parseurl@^1.3.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 92525fc..e1840f0 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "dependencies": { "encodeurl": "^2.0.0", "escape-html": "^1.0.3", - "parseurl": "~1.3.3", + "parseurl": "^1.3.3", "send": "^1.0.0" }, "devDependencies": { From 1c317e0eb02aa0559d2abf7d81a602e231c52910 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Fri, 26 Jul 2024 15:45:42 -0700 Subject: [PATCH 15/15] fix: update history.md --- HISTORY.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/HISTORY.md b/HISTORY.md index 5bac370..9b30e61 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,3 +1,16 @@ +unreleased +========================= + +* deps: + * parseurl@^1.3.3 + * excape-html@^1.0.3 + * encodeurl@^2.0.0 + * supertest@^6.3.4 + * safe-buffer@^5.2.1 + * nyc@^17.0.0 + * mocha@^10.7.0 +* Changes from 1.x + 2.0.0-beta.2 / 2024-03-20 =========================