diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml
index 1c83efd0..5c40c2ca 100644
--- a/.github/workflows/lint.yml
+++ b/.github/workflows/lint.yml
@@ -10,7 +10,7 @@ jobs:
strategy:
matrix:
- node-version: [20.x]
+ node-version: [22.x]
steps:
- uses: actions/checkout@v4
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 8d03e80d..418249d9 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -10,7 +10,7 @@ jobs:
strategy:
matrix:
- node-version: [20.x]
+ node-version: [22.x]
steps:
- uses: actions/checkout@v4
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6dcfe7f5..ee9c5934 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,4 +1,11 @@
+(unreleased)
+------------------
+* センシティブフラグの判定を `` および `rating` ヘッダでも行うように
+* 依存関係の更新
+* eslintの設定を更新
+
5.1.0 / 2024-03-18
+------------------
* GETリクエストよりも前にHEADリクエストを送信し、その結果を使用して検証するように (#22)
* 下記のパラメータを`summaly`メソッドのオプションに追加
- userAgent
diff --git a/Dockerfile b/Dockerfile
index 94627a5d..904fc6bf 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,6 @@
# syntax = docker/dockerfile:1.4
-ARG NODE_VERSION=20
+ARG NODE_VERSION=22
FROM --platform=$TARGETPLATFORM node:${NODE_VERSION}-slim
diff --git a/README.md b/README.md
index 17099324..79cb8a5f 100644
--- a/README.md
+++ b/README.md
@@ -134,7 +134,7 @@ will be ... ↓
```json
{
"title": "【アイドルマスター】「Stage Bye Stage」(歌:島村卯月、渋谷凛、本田未央)",
- "icon": "https://www.youtube.com/s/desktop/28b0985e/img/favicon.ico",
+ "icon": "https://www.youtube.com/s/desktop/711fd789/img/logos/favicon.ico",
"description": "Website▶https://columbia.jp/idolmaster/Playlist▶https://www.youtube.com/playlist?list=PL83A2998CF3BBC86D2018年7月18日発売予定THE IDOLM@STER CINDERELLA GIRLS CG STAR...",
"thumbnail": "https://i.ytimg.com/vi/NMIEAhH_fTU/maxresdefault.jpg",
"player": {
diff --git a/dist/general.d.ts b/dist/general.d.ts
index 914d12ce..03cc0cc1 100644
--- a/dist/general.d.ts
+++ b/dist/general.d.ts
@@ -8,6 +8,5 @@ export type GeneralScrapingOptions = {
contentLengthLimit?: number;
contentLengthRequired?: boolean;
};
-declare const _default: (_url: URL | string, opts?: GeneralScrapingOptions) => Promise;
-export default _default;
+export declare function parseGeneral(_url: URL | string, opts?: GeneralScrapingOptions): Promise;
//# sourceMappingURL=general.d.ts.map
\ No newline at end of file
diff --git a/dist/general.d.ts.map b/dist/general.d.ts.map
index d00c271b..eba4d9c5 100644
--- a/dist/general.d.ts.map
+++ b/dist/general.d.ts.map
@@ -1 +1 @@
-{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../src/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAM/B,OAAO,KAAK,EAAU,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAwH/D,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;+BAE0B,GAAG,GAAG,MAAM,SAAS,sBAAsB,KAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;AAAjG,wBAoIE"}
\ No newline at end of file
+{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../src/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAM/B,OAAO,KAAK,EAAU,OAAO,IAAI,OAAO,EAAE,MAAM,cAAc,CAAC;AAwH/D,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAcF,wBAAsB,YAAY,CAAC,IAAI,EAAE,GAAG,GAAG,MAAM,EAAE,IAAI,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAyI7G"}
\ No newline at end of file
diff --git a/dist/general.js b/dist/general.js
index 25952294..90868d69 100644
--- a/dist/general.js
+++ b/dist/general.js
@@ -1 +1 @@
-import{URL}from"node:url";import*as cheerio from"cheerio";import{decode as decodeHtml}from"html-entities";import cleanupTitle from"./utils/cleanup-title.js";import clip from"./utils/clip.js";import{get,head,scpaping}from"./utils/got.js";async function getOEmbedPlayer($,pageUrl){const href=$('link[type="application/json+oembed"]').attr("href");if(!href){return null}const oEmbedUrl=(()=>{try{return new URL(href,pageUrl)}catch{return null}})();if(!oEmbedUrl){return null}const oEmbed=await get(oEmbedUrl.href).catch(()=>null);if(!oEmbed){return null}const body=(()=>{try{return JSON.parse(oEmbed)}catch{}})();if(!body||body.version!=="1.0"||!["rich","video"].includes(body.type)){return null}if(!body.html.startsWith("