RSSHub/lib
slowmande ad4b89c3d9
feat(route): add Naver search RSS route (#22025)
* route(naver): add Naver search RSS route

Supports all search categories: all (통합검색), blog (블로그), cafe (카페), news (뉴스), video (동영상)

* fix: use string replaceAll instead of regex in cleanText

Replace regex patterns with plain strings to satisfy oxlint unicorn/prefer-string-replace-all rule.

* fix: remove console.log and fix cleanText double-unescaping

- Remove console.log to satisfy oxlint no-console rule
- Use single-pass regex replaceAll to prevent HTML entity double-unescaping (CodeQL)

* fix(naver): address review comments and fix cafe/all category bugs

- Fix ALL category: use templateIds array to extract all content types (web, blog, news, video) instead of only webItem
- Fix CAFE category: change URL to ssc=tab.m_cafe.all format and use cheerio HTML parsing since cafe page returns pure HTML instead of JSON SSR
- Address Rule 11: move author/source metadata from description to dedicated author field
- Address Rule 14: return undefined for unparseable dates instead of fake current time
- Use single route path instead of array
- Add maintainer GitHub ID
- Fix cleanText double-unescaping issue with single-pass regex callback

* refactor(naver): split extractItems to reduce cyclomatic complexity

Split the 37-complexity extractItems into extractVideoItem and extractGenericItem.
Fixes CodeFactor "Complex Method" warning.

* refactor(naver): split functions to pass CodeFactor complexity check

Extract extractLink, buildItemFromTemplate, buildVideoDescription, and
buildVideoResult helpers to bring all methods under complexity threshold.

* fix(route): address review - use DataItem, Array.map, and entities package

- Replace manual item type with DataItem from @/types
- Use toArray().map().filter() instead of each() + push()
- Use decodeHTML from 'entities' instead of manual replaceAll

* fix(route): fix oxlint regex warnings

- Use non-capturing groups for regex used only with .test()
- Escape { } in regex literal
- Use character class [분일주] for single-char alternatives
2026-06-08 12:23:11 +08:00
..
api
assets
errors test: remove text "Not Found" from httperror 2026-05-06 03:12:57 +08:00
middleware chore: add eslint-plugin-regexp (#22189) 2026-06-05 20:04:39 +08:00
routes feat(route): add Naver search RSS route (#22025) 2026-06-08 12:23:11 +08:00
routes-deprecated
shims chore(deps-dev): bump the oxc group across 1 directory with 4 updates (#22107) 2026-05-27 00:51:12 +08:00
utils feat(utils/playwright): add PLAYWRIGHT_CDP_ENDPOINT support (#22212) 2026-06-08 10:31:39 +08:00
views
app-bootstrap.test.tsx feat(core): add honeybadger support (#21574) 2026-04-01 01:10:12 +08:00
app-bootstrap.tsx feat(core): add honeybadger support (#21574) 2026-04-01 01:10:12 +08:00
app.test.ts fix(ua): ensure header-generator and custom ua are effective with each other (#21546) 2026-03-29 22:47:56 +08:00
app.ts
app.worker.tsx refactor: migrate browser automation to Playwright (#21901) 2026-05-04 21:16:18 +08:00
bilibili-video-route.test.ts refactor: replace playwright with patchright (#21976) 2026-06-07 02:43:20 +08:00
config.remote-error.test.ts
config.test.ts feat: add HTTP cache (#21814) 2026-04-24 11:35:51 +08:00
config.ts feat(utils/playwright): add PLAYWRIGHT_CDP_ENDPOINT support (#22212) 2026-06-08 10:31:39 +08:00
container.ts
entrypoints.test.ts
index.test.ts
index.ts feat: disable IPv6 (#21719) 2026-04-13 23:45:08 +08:00
obsidian-routes.test.ts fix: update obsidian community routes 2026-05-14 15:47:50 +08:00
pkg.test.ts
pkg.ts
registry.dynamic.test.ts
registry.test.ts style: auto format 2026-04-14 15:15:05 +00:00
registry.ts
route-paths.d.ts
router.js
routes.test.ts
server.ts
setup.test.ts style: auto format 2026-04-14 15:15:05 +00:00
techflowpost.test.ts test(route): move techflowpost test outside routes 2026-05-09 17:24:41 +08:00
types.ts refactor: migrate browser automation to Playwright (#21901) 2026-05-04 21:16:18 +08:00
worker.ts
worker.worker.test.ts