From e34258c9b45525aa235cb70c5d988f49b59be9df Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sat, 31 Aug 2024 11:24:05 -0500 Subject: [PATCH 1/7] fix(ci)!: drop node<18 --- .github/workflows/ci.yml | 130 +++++---------------------------------- HISTORY.md | 1 + 2 files changed, 15 insertions(+), 116 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7f470d3..ff12158 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.x' + paths-ignore: + - '*.md' + pull_request: + paths-ignore: + - '*.md' jobs: test: @@ -10,26 +17,6 @@ jobs: 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 15.x - - Node.js 16.x - - Node.js 17.x - Node.js 18.x - Node.js 19.x - Node.js 20.x @@ -37,98 +24,20 @@ jobs: - Node.js 22.x include: - - - name: Node.js 0.8 - node-version: "0.8" - npm-i: mocha@2.5.3 - npm-rm: nyc - - - name: Node.js 0.10 - node-version: "0.10" - npm-i: mocha@3.5.3 nyc@10.3.2 - - - name: Node.js 0.12 - node-version: "0.12" - npm-i: mocha@3.5.3 nyc@10.3.2 - - - name: io.js 1.x - node-version: "1.8" - npm-i: mocha@3.5.3 nyc@10.3.2 - - - name: io.js 2.x - node-version: "2.5" - npm-i: mocha@3.5.3 nyc@10.3.2 - - - name: io.js 3.x - node-version: "3.3" - npm-i: mocha@3.5.3 nyc@10.3.2 - - - name: Node.js 4.x - node-version: "4.9" - npm-i: mocha@5.2.0 nyc@11.9.0 - - - name: Node.js 5.x - node-version: "5.12" - npm-i: mocha@5.2.0 nyc@11.9.0 - - - name: Node.js 6.x - node-version: "6.17" - npm-i: mocha@6.2.2 nyc@14.1.1 - - - name: Node.js 7.x - node-version: "7.10" - npm-i: mocha@6.2.2 nyc@14.1.1 - - - name: Node.js 8.x - node-version: "8.17" - npm-i: mocha@7.1.2 nyc@14.1.1 - - - name: Node.js 9.x - node-version: "9.11" - npm-i: mocha@7.1.2 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" - 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.21" - - - name: Node.js 15.x - node-version: "15.14" - - - name: Node.js 16.x - node-version: "16.20" - - - name: Node.js 17.x - node-version: "17.9" - - name: Node.js 18.x - node-version: "18.20" + node-version: "18" - name: Node.js 19.x - node-version: "19.9" + node-version: "19" - name: Node.js 20.x - node-version: "20.13" + node-version: "20" - name: Node.js 21.x - node-version: "21.7" + node-version: "21" - name: Node.js 22.x - node-version: "22.1" + node-version: "22" steps: - uses: actions/checkout@v4 @@ -137,17 +46,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 }} - if [[ "$(npm -v)" == 1.1.* ]]; then - nvm exec npm npm install -g npm@1.1 - ln -fs "$(which npm)" "$(dirname "$(nvm which npm)")/npm" - else - sed -i '1s;^.*$;'"$(printf '#!%q' "$(nvm which npm)")"';' "$(readlink -f "$(which npm)")" - fi - npm config set strict-ssl false - fi dirname "$(nvm which ${{ matrix.node-version }})" >> "$GITHUB_PATH" - name: Configure npm diff --git a/HISTORY.md b/HISTORY.md index c59e498..c276e35 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,6 +1,7 @@ unreleased ========== + * Drop node <18 * deps: mime-types@~2.1.34 - Add `application/toml` with extension `.toml` - Add `application/ubjson` with extension `.ubj` From ebbfe9d1aafc0552535d219652be8517540389e5 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sat, 31 Aug 2024 11:26:03 -0500 Subject: [PATCH 2/7] fix(deps): mime-types@^3.0.0 --- HISTORY.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index c276e35..159a773 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,7 +2,7 @@ unreleased ========== * Drop node <18 - * deps: mime-types@~2.1.34 + * deps: mime-types@^3.0.0 - Add `application/toml` with extension `.toml` - Add `application/ubjson` with extension `.ubj` - Add `application/x-keepass2` with extension `.kdbx` diff --git a/package.json b/package.json index dadd6d5..6d5665a 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "repository": "jshttp/type-is", "dependencies": { "media-typer": "0.3.0", - "mime-types": "~2.1.34" + "mime-types": "^3.0.0" }, "devDependencies": { "eslint": "7.32.0", From 3700a79ebc8fe13beadc97a573428db7d807fb3e Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sat, 31 Aug 2024 11:44:19 -0500 Subject: [PATCH 3/7] fix(deps): replace media-typer with content-type --- HISTORY.md | 1 + index.js | 2 +- package.json | 3 ++- test/test.js | 4 ++-- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 159a773..4631e06 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,6 +2,7 @@ unreleased ========== * Drop node <18 + * deps: replace media-typer with content-type * deps: mime-types@^3.0.0 - Add `application/toml` with extension `.toml` - Add `application/ubjson` with extension `.ubj` diff --git a/index.js b/index.js index be6e5b1..792ea88 100644 --- a/index.js +++ b/index.js @@ -12,7 +12,7 @@ * @private */ -var typer = require('media-typer') +var typer = require('content-type') var mime = require('mime-types') /** diff --git a/package.json b/package.json index 6d5665a..67d27cf 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "license": "MIT", "repository": "jshttp/type-is", "dependencies": { - "media-typer": "0.3.0", + "content-type": "^1.0.5", "mime-types": "^3.0.0" }, "devDependencies": { @@ -34,6 +34,7 @@ "scripts": { "lint": "eslint .", "test": "mocha --reporter spec --check-leaks --bail test/", + "test:debug": "mocha --reporter spec --check-leaks --inspect --inspect-brk test/", "test-ci": "nyc --reporter=lcovonly --reporter=text npm test", "test-cov": "nyc --reporter=html --reporter=text npm test" }, diff --git a/test/test.js b/test/test.js index 4443196..999a32b 100644 --- a/test/test.js +++ b/test/test.js @@ -18,7 +18,7 @@ describe('typeis(req, types)', function () { assert.strictEqual(typeis(req, ['text/*']), 'text/html') }) - it('should fail invalid type', function () { + it.skip('should fail invalid type', function () { var req = createRequest('text/html**') assert.strictEqual(typeis(req, ['text/*']), false) }) @@ -186,7 +186,7 @@ describe('typeis.is(mediaType, types)', function () { assert.strictEqual(typeis.is('text/HTML', ['text/*']), 'text/html') }) - it('should fail invalid type', function () { + it.skip('should fail invalid type', function () { assert.strictEqual(typeis.is('text/html**', ['text/*']), false) }) From ed1cc660b3b36bcfe9de9c3d1394b7b8e1d4ed75 Mon Sep 17 00:00:00 2001 From: Douglas Christopher Wilson Date: Thu, 25 Apr 2019 22:48:31 -0400 Subject: [PATCH 4/7] Use content-type and media-typer for type validation closes #39 --- HISTORY.md | 3 ++- index.js | 13 +++++++------ package.json | 1 + test/test.js | 4 ++-- 4 files changed, 12 insertions(+), 9 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index 4631e06..51e28e1 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,7 +2,8 @@ unreleased ========== * Drop node <18 - * deps: replace media-typer with content-type + * Use `content-type` and `media-typer` for type validation + - No behavior changes, upgrades `media-typer` * deps: mime-types@^3.0.0 - Add `application/toml` with extension `.toml` - Add `application/ubjson` with extension `.ubj` diff --git a/index.js b/index.js index 792ea88..a5f1109 100644 --- a/index.js +++ b/index.js @@ -12,8 +12,9 @@ * @private */ -var typer = require('content-type') +var contentType = require('content-type') var mime = require('mime-types') +var typer = require('media-typer') /** * Module exports. @@ -237,13 +238,13 @@ function mimeMatch (expected, actual) { function normalizeType (value) { // parse the type - var type = typer.parse(value) + var type = contentType.parse(value).type - // remove the parameters - type.parameters = undefined + if (!typer.test(type)) { + return null + } - // reformat it - return typer.format(type) + return type } /** diff --git a/package.json b/package.json index 67d27cf..fe9d654 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "repository": "jshttp/type-is", "dependencies": { "content-type": "^1.0.5", + "media-typer": "~1.1.0", "mime-types": "^3.0.0" }, "devDependencies": { diff --git a/test/test.js b/test/test.js index 999a32b..4443196 100644 --- a/test/test.js +++ b/test/test.js @@ -18,7 +18,7 @@ describe('typeis(req, types)', function () { assert.strictEqual(typeis(req, ['text/*']), 'text/html') }) - it.skip('should fail invalid type', function () { + it('should fail invalid type', function () { var req = createRequest('text/html**') assert.strictEqual(typeis(req, ['text/*']), false) }) @@ -186,7 +186,7 @@ describe('typeis.is(mediaType, types)', function () { assert.strictEqual(typeis.is('text/HTML', ['text/*']), 'text/html') }) - it.skip('should fail invalid type', function () { + it('should fail invalid type', function () { assert.strictEqual(typeis.is('text/html**', ['text/*']), false) }) From e5dc464bc8a234a683068c09bf0bb01f2b6cf9e5 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sat, 31 Aug 2024 12:23:33 -0500 Subject: [PATCH 5/7] fix(deps): accept minors of media-typer --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index fe9d654..b2a794a 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "repository": "jshttp/type-is", "dependencies": { "content-type": "^1.0.5", - "media-typer": "~1.1.0", + "media-typer": "^1.1.0", "mime-types": "^3.0.0" }, "devDependencies": { From d8a2552c027e4b079c6dca5371b809f1b25f4bb4 Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sat, 31 Aug 2024 12:24:33 -0500 Subject: [PATCH 6/7] fix(deps): accept minors of media-typer --- HISTORY.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/HISTORY.md b/HISTORY.md index 51e28e1..eaa3ebf 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -2,7 +2,7 @@ unreleased ========== * Drop node <18 - * Use `content-type` and `media-typer` for type validation + * Use `content-type@^1.0.5` and `media-typer@^1.0.0` for type validation - No behavior changes, upgrades `media-typer` * deps: mime-types@^3.0.0 - Add `application/toml` with extension `.toml` From 0d79e2d0c5737206d0f688769c5acffee1de953f Mon Sep 17 00:00:00 2001 From: Wes Todd Date: Sat, 31 Aug 2024 12:26:03 -0500 Subject: [PATCH 7/7] 2.0.0 --- HISTORY.md | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index eaa3ebf..4695bb0 100644 --- a/HISTORY.md +++ b/HISTORY.md @@ -1,4 +1,4 @@ -unreleased +2.0.0 / 2024-08-31 ========== * Drop node <18 diff --git a/package.json b/package.json index b2a794a..83c572e 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "type-is", "description": "Infer the content-type of a request.", - "version": "1.6.18", + "version": "2.0.0", "contributors": [ "Douglas Christopher Wilson ", "Jonathan Ong (http://jongleberry.com)"