dependabot[bot]
c0ebbc9f8a
chore(deps-dev): bump eslint-plugin-unicorn from 77.0.0 to 78.0.0 ( #23599 )
...
* chore(deps-dev): bump eslint-plugin-unicorn from 77.0.0 to 78.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn ) from 77.0.0 to 78.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases )
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v77.0.0...v78.0.0 )
---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
dependency-version: 78.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* style: fix anti-slop/no-unknown-parameters, no-known-value-widening, no-unsafe-dictionary-type, no-unknown-returns and no-object-parameters
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tony <TonyRL@users.noreply.github.com >
2026-10-17 01:23:46 +08:00
pseudoyu
e0b3b98401
fix(core): stop SOCKS proxies other than socks5 from crashing startup
...
Since #22401 every socks* PROXY_URI is handed to undici's ProxyAgent,
which only accepts socks5: and socks:. A socks5h, socks4 or socks4a
URI fell through to its HTTP proxy path and threw "Invalid URL
protocol" while the proxy module loaded, so the server never started,
even though unify-proxy listed all of them as supported.
Pass socks5h to undici as socks5: its SOCKS5 client sends host names
to the proxy, so DNS still resolves there, as playwright.ts already
assumes. undici has no SOCKS4 support, so drop socks4 and socks4a from
the accepted protocols, which logs the supported list and disables the
proxy like any other unsupported protocol.
2026-10-15 08:29:37 +08:00
DIYgod
b4ae78140d
fix(routes): integrate reviewed fixes with current source APIs
...
Merge current master while retaining the completed route review and retired
service removals. Keep upstream source migrations and new feed functionality,
including the ACEA API, Xiaomi data helpers, Yahoo Finance topic helper,
Bilibili list URLs, Douban IP locations, and Douyin live-stream handling.
Resolve overlapping changes without losing existing limit validation, bounded
detail requests, stable item metadata, or route configuration corrections.
Keep RSS image MIME inference and explicit media precedence alongside upstream
attachment extraction, emitting a single enclosure per item.
2026-10-14 16:04:51 +08:00
DIYgod
525efe953c
fix(core): preserve ordering and validate common entry limits
...
Affected files:
- lib/middleware/parameter.test.ts
- lib/middleware/parameter.ts
- lib/utils/route-limit.test.ts
- lib/utils/route-limit.ts
2026-10-14 15:07:45 +08:00
DIYgod
d05930b3ae
feat(enclosures): expose Atom attachments and optional media extraction
...
Closes #20503
2026-10-09 13:49:12 +08:00
DIYgod
c3a1422309
feat(route/chinanzxh): add fertilizer price indices and market analysis
...
Closes #19321
2026-10-09 03:04:47 +08:00
DIYgod
a90dad1996
feat(route/moyukik): add public event feeds
...
Closes #9434
2026-10-09 03:04:47 +08:00
DIYgod
7db92d32bb
fix(auth): protect Weibo OAuth callbacks with one-time states
...
Closes #7130
2026-10-09 03:04:47 +08:00
DIYgod
f61608df00
fix(worker): reuse Browser Run sessions with a Durable Object
...
Closes #23328
2026-10-09 03:04:47 +08:00
DIYgod
64621c8fee
feat(docker): use Browserless V2 over CDP
...
Closes #22990
2026-10-09 03:04:46 +08:00
DIYgod
c0e8008fbe
feat(network): configure per-host outgoing request limits
...
Closes #17380
2026-10-09 03:04:46 +08:00
DIYgod
b9551abae8
feat(network): configure address family selection
...
Closes #20332
2026-10-09 03:04:34 +08:00
DIYgod
541b4b883e
fix(rss): use Dublin Core for author names
...
Closes #23358
2026-10-09 03:04:15 +08:00
Tony
a794017637
fix(route/smzdm): drop cookie hard requirement ( #23490 )
...
* fix(route/smzdm): drop cookie hard requirement
* fix(parse-date-in-timezone): correct import path for utc plugin
2026-10-06 10:04:27 +08:00
Tony
3bc1cc248d
chore: bump to msw v3 ( #23463 )
...
* chore: bump to msw v3
* refactor: anti-slop
* test: use vi.stubEnv for REDIS_URL in redis error test
* refactor: move remote debugging registration into a conditional block
* chore: add code coverage upload for github
2026-10-03 06:36:19 +08:00
Tony
fc008f7ac8
feat(route/instagram): rework web-api ( #23444 )
...
* feat(route/instagram): rework web-api
* Revert "fix(utils/request-rewriter): pass CONNECT proxy tunnel requests through untouched (#23136 )"
This reverts commit d89d20f90f .
* feat: add stories
* fix: update route name
2026-10-01 06:07:47 +08:00
Tony
c33b727844
feat(core): allow adjusting min tls version ( #23410 )
2026-09-28 01:07:53 +08:00
DIYgod
17b9b9ff5f
fix(cache): clamp Workers KV expirationTtl to its 60s minimum ( #23407 )
...
Cloudflare Workers KV rejects put() calls whose expirationTtl is below
60 seconds. Some callers use shorter TTLs that work on the memory and
Redis backends, e.g. the 1-second lock release in the Twitter web API
utils and the data258 route, so on Workers those calls throw
"Invalid expiration_ttl of 1".
Clamp the TTL passed to KV in the kv cache module and in the worker
globalCache.set path. The requested TTL is still stored in the cacheTtl
sidecar key.
Based on #23400 and #23403 by @EngDawood.
Co-authored-by: Dawood Saleh <52585641+EngDawood@users.noreply.github.com >
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-09-27 12:48:18 +08:00
Tony
4b25ea7751
feat(core): prefer HTTP/2 ( #23402 )
...
* feat(core): prefer HTTP/2
* feat(fetch): add allowH2 option to control HTTP/2 usage in ofetch
2026-09-27 01:13:41 +08:00
Ary
dc8e815a14
fix(core): read the server UTC offset off the date being converted ( #23356 )
2026-09-26 19:30:45 +08:00
Yufan You
a442c97770
feat(route/youtube): live streams with upcoming and past ones ( #23175 )
...
* fix(utils): parse abbreviated relative date units
YouTube serves a compact metadata variant to some sessions, where a video
published a year ago reads `1y ago` instead of `1 year ago`. Neither `y`,
`w` nor `mo` was recognised, so those strings fell through to the plain
Day.js parse and came back as `Invalid Date`.
`mo` needs a lookahead on the minutes pattern too: the bare `m` matched
the `mo` of a month, so `11 months ago` resolved to eleven months *and*
eleven minutes ago, and `3mo ago` to three minutes ago.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* feat(route/youtube): add live streams
`/youtube/live` searches for ongoing broadcasts through the Data API, so
there is no way to follow a channel's schedule or its past streams. Read
the channel's Live tab instead, which lists all three, and let the route
params pick which of them end up in the feed. No API key needed.
A stream is classified by its thumbnail badge: an ongoing one carries a
`LIVE` badge and a scheduled one an `Upcoming` badge. The absence of a
duration badge is deliberately not used as the signal, because YouTube
groups durations past a thousand hours, e.g. `20,772:51:34` — the same
reason the duration attachment now strips separators before summing.
Scheduled streams have no publish date, so they take the time they are
scheduled for. YouTube renders it in the time zone youtubei.js reports,
which is the local one, hence the plain local parse.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* test(utils): hoist parse-date test helper to module scope
`p` captured nothing from the `describe` scope, which tripped
`unicorn/consistent-function-scoping`. Moving it out also lets its
parameters be derived from `parseRelativeDate` instead of `any[]`.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* feat(route/youtube): add stream descriptions
The lockups on the Live tab carry only a title, so every item in
`/youtube/streams` had an empty body. Add `includeDescription`, which
fills it from the player response. That is one request per stream, hence
a default of false and only the streams that survive the state filter
being fetched.
A stream can be unplayable, e.g. a members-only one, so a failed lookup
falls back to an empty description instead of taking the whole feed
down. The cached value is wrapped in an object because an empty string
comes back out of `cache.tryGet` as a literal `""`, and its expiration
is deliberately not renewed on a hit, so an edited description still
reaches a feed that is polled steadily.
`isIncluded` becomes `isEnabled` to give the new parameter a default of
false while the `include*` ones keep parsing exactly as before.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
* feat(route/youtube): categorize streams instead of filtering them
The `includeLive` / `includeUpcoming` / `includeCompleted` route params
reimplemented, per route, what the common `filter_category` params
already do. Drop them and expose the state that drove them as the item
category, so `/youtube/streams/@GawrGura?filterout_category=completed`
replaces `/youtube/streams/@GawrGura/includeCompleted=false`.
The category lives in `getStreamsByChannelId` rather than in the shared
`lockupViewToItem`, which also serves the Videos tab and playlists where
an uploaded video is not a `completed` stream.
With the filtering gone, `allowEmpty` goes too. It only ever covered a
feed emptied by those params: a channel that has never streamed has no
Live tab at all, so `getLiveStreams()` throws rather than returning
nothing, and the empty check runs before the `filter_category` pass. An
empty list now means the lockup parsing broke, which should surface.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com >
2026-09-26 19:30:04 +08:00
周耕毅(Ryan Chou)
d89d20f90f
fix(utils/request-rewriter): pass CONNECT proxy tunnel requests through untouched ( #23136 )
...
tunnel-agent (used by request / request-promise, e.g. instagram-private-api with IG_PROXY) sends a CONNECT request with legacy options whose path is the tunnel target authority (host:port), not a URL path. Rebuilding a URL from those options produced http://127.0.0.1i.instagram.com:443/ and node then resolved that bogus hostname (ENOTFOUND). Hand CONNECT requests to node as-is: they cannot be turned into a URL, and UA/referer/proxy-agent injection does not apply to a proxy handshake.
Fixes #16970
2026-09-26 19:29:54 +08:00
dependabot[bot]
372cca9932
chore(deps): bump the oxc group across 1 directory with 5 updates ( #23380 )
...
* chore(deps): bump the oxc group across 1 directory with 5 updates
Bumps the oxc group with 5 updates in the / directory:
| Package | From | To |
| --- | --- | --- |
| [oxc-parser](https://github.com/oxc-project/oxc/tree/HEAD/napi/parser ) | `0.150.0` | `0.151.0` |
| [@oxlint/plugins](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint-plugins ) | `1.83.0` | `1.85.0` |
| [oxfmt](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxfmt ) | `0.68.0` | `0.70.0` |
| [oxlint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint ) | `1.83.0` | `1.85.0` |
| [oxlint-plugin-eslint](https://github.com/oxc-project/oxc/tree/HEAD/npm/oxlint-plugin-eslint ) | `1.83.0` | `1.85.0` |
Updates `oxc-parser` from 0.150.0 to 0.151.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/napi/parser/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/crates_v0.151.0/napi/parser )
Updates `@oxlint/plugins` from 1.83.0 to 1.85.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.85.0/npm/oxlint-plugins )
Updates `oxfmt` from 0.68.0 to 0.70.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxfmt/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxfmt_v0.70.0/npm/oxfmt )
Updates `oxlint` from 1.83.0 to 1.85.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.85.0/npm/oxlint )
Updates `oxlint-plugin-eslint` from 1.83.0 to 1.85.0
- [Release notes](https://github.com/oxc-project/oxc/releases )
- [Changelog](https://github.com/oxc-project/oxc/blob/main/npm/oxlint-plugin-eslint/CHANGELOG.md )
- [Commits](https://github.com/oxc-project/oxc/commits/oxlint_v1.85.0/npm/oxlint-plugin-eslint )
---
updated-dependencies:
- dependency-name: "@oxlint/plugins"
dependency-version: 1.85.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: oxc
- dependency-name: oxc-parser
dependency-version: 0.151.0
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: oxc
- dependency-name: oxfmt
dependency-version: 0.70.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: oxc
- dependency-name: oxlint
dependency-version: 1.85.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: oxc
- dependency-name: oxlint-plugin-eslint
dependency-version: 1.85.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: oxc
...
Signed-off-by: dependabot[bot] <support@github.com >
* chore: disable unicorn rules that overlaps with oxc native one
* style: fix no-unnecessary-boolean-literal-compare
* style: fix no-unnecessary-type-conversion
* style: add all oxc/* correctness rules
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tony <TonyRL@users.noreply.github.com >
2026-09-26 00:34:54 +08:00
dependabot[bot]
a84b41faa3
chore(deps-dev): bump eslint-plugin-unicorn from 74.0.0 to 75.0.0 ( #23338 )
...
* chore(deps-dev): bump eslint-plugin-unicorn from 74.0.0 to 75.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn ) from 74.0.0 to 75.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases )
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v74.0.0...v75.0.0 )
---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
dependency-version: 75.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* style: fix unicorn-js/prefer-combined-guards
* style: fix prefer-smaller-scope
* style: fix prefer-continue
* style: fix prefer-early-return
* style: fix prefer-iterator-helpers
* style: add v75 recommended preset
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tony <TonyRL@users.noreply.github.com >
2026-09-22 07:08:43 +08:00
Tony
4cf494653c
perf: replace acorn with oxc-parser ( #23302 )
...
* perf: speed up js parsing
* fix: drop parseScriptData for dongqiudi
* refactor: rename evaluate-script
* refactor: rename exports
* chore: move oxc-parser to dependencies
2026-09-15 20:49:09 +08:00
周耕毅(Ryan Chou)
ea01f7c161
fix(core): parse Tuesday and Thursday as past weekdays ( #23247 )
2026-09-09 01:33:40 +08:00
DIYgod
a93d9600ae
fix(worker): preserve browser retry cancellation across request clones
2026-09-07 22:10:56 +08:00
DIYgod
0133460a33
fix(worker): retry user feeds in browsers and skip subtitles
2026-09-07 22:00:39 +08:00
DIYgod
0d706e6978
fix(worker): load Playwright only for browser retries
2026-09-07 20:46:17 +08:00
DIYgod
e4a0abc012
fix(worker): support remote Playwright WebSocket browsers
2026-09-07 20:34:13 +08:00
DIYgod
20241b29b6
fix(worker): prevent stale cache locks and normalize feed metadata
2026-09-07 13:44:53 +08:00
DIYgod
6ca2f66003
fix(worker): close shared cache and route compatibility gaps
2026-09-07 13:27:18 +08:00
DIYgod
1d3432aa00
fix(worker): replace JSDOM with data parsers and browser sessions
2026-09-06 21:50:49 +08:00
DIYgod
200118c7f5
fix(worker): support HTTP caching and Bilibili render data
2026-09-06 19:23:18 +08:00
DIYgod
cbddb502d2
fix(worker): honor logging levels and expose cache existence
2026-09-06 19:03:51 +08:00
dependabot[bot]
556cd9c11d
chore(deps-dev): bump the cloudflare group across 1 directory with 2 updates ( #23149 )
...
* chore(deps-dev): bump the cloudflare group across 1 directory with 2 updates
Bumps the cloudflare group with 2 updates in the / directory: [@cloudflare/workers-types](https://github.com/cloudflare/workerd ) and [wrangler](https://github.com/cloudflare/workers-sdk/tree/HEAD/packages/wrangler ).
Updates `@cloudflare/workers-types` from 5.20260822.1 to 5.20260828.1
- [Release notes](https://github.com/cloudflare/workerd/releases )
- [Changelog](https://github.com/cloudflare/workerd/blob/main/RELEASE.md )
- [Commits](https://github.com/cloudflare/workerd/commits )
Updates `wrangler` from 4.125.0 to 4.127.0
- [Release notes](https://github.com/cloudflare/workers-sdk/releases )
- [Commits](https://github.com/cloudflare/workers-sdk/commits/wrangler@4.127.0/packages/wrangler )
---
updated-dependencies:
- dependency-name: "@cloudflare/workers-types"
dependency-version: 5.20260828.1
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: cloudflare
- dependency-name: wrangler
dependency-version: 4.127.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: cloudflare
...
Signed-off-by: dependabot[bot] <support@github.com >
* refactor: fix typing
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: TonyRL <TonyRL@users.noreply.github.com >
2026-09-01 01:05:13 +08:00
Tony
08a38f0a5e
refactor: typing house-keeping ( #23074 )
...
* refactor: typing house-keeping
* fix: fix parse date not accepting strict mode
* refactor: use npm package
* fix: address review
2026-08-22 23:58:30 +08:00
Tony
bb12119123
refactor: enforce typecheck ( #22917 )
...
* feat(types): add upvotes, downvotes, and comments to DataItem
* refactor: fix TS2339
* refactor: fix TS2322
* refactor: fix TS2322
* refactor: fix TS2345
* refactor: fix TS2339
* refactor: fix TS2322
* refactor: fix TS2345
* refactor: fix TS2531/2532/18048/18047
* refactor: fix TS18046/TS2571
* refactor: fix TS2538
* refactor: fix TS2554/2769/2558
* refactor: fix TS2362/2363
* refactor: fix TS2353/TS2561
* refactor: fix TS2741/2739/2740
* refactor: fix TS2304 TS2307 TS2305 TS2614 TS2552 TS2551
* refactor: fix TS2352
* refactor: fix TS2604 TS17001
* refactor: fix TS2367 TS2366
* refactor: fix TS2493
* refactor: fix TS2454
* refactor: fix TS2790
* refactor: fix TS2488
* refactor: fix TS2677
* refactor: fix TS18048/18049/2532
* refactor: fix TS2322
* refactor: fix TS2344
* refactor: fix TS2339
* refactor: fix TS2339
* refactor: fix TS2365
* refactor: fix TS1117
* refactor: fix TS2561
* refactor: fix TS2555
* refactor: fix TS2503
* refactor: fix TS2339
mobile api no longer work
* fix: clean slop
* fix: use Context instead of any
* fix: fix more typing after merge
* fix: add void return for ctx.redirect in handler
* chore: add type check to lint and husky
* fix: remove ts ignore
* chore: add oxlint rule
* fix: suppress build artifact
* fix: update getArticles to use cache
* fix: codeql
* fix(route/typeless): use async gunzip
* fix: address review
* fix: address review
* fix: double quotes escape
2026-08-04 09:00:41 +08:00
pseudoyu
6a265e9d86
fix: prevent Twitter cache key collisions
...
Use stable operation names for Web API and Developer API user cache keys instead of anonymous callback names.
Fixes #22864
2026-08-03 00:44:50 +08:00
dependabot[bot]
6bce9493b5
chore(deps-dev): bump eslint-plugin-unicorn from 71.1.0 to 72.0.0 ( #22723 )
...
* chore(deps-dev): bump eslint-plugin-unicorn from 71.1.0 to 72.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn ) from 71.1.0 to 72.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases )
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v71.1.0...v72.0.0 )
---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
dependency-version: 72.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* style: fix prefer-dom-node-html-methods
* style: fix prefer-split-limit
* style: fix no-unnecessary-string-trim
* style: fix no-multiple-promise-resolver-calls
* style: add v72 preset
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: TonyRL <TonyRL@users.noreply.github.com >
2026-07-15 23:11:15 +08:00
Tony
097a56187f
fix(utils/ofetch): surface root causes in fetch errors ( #22718 )
...
* fix(ofetch): enhance error handling to surface root causes in fetch errors
* fix(errors): remove duplicated error name on dev
2026-07-14 21:52:50 +08:00
Tony
0ab18ff80e
test: refactor tests ( #22677 )
...
* test: refactor tests
* test: run *.worker.ts unit tests inside workerd
2026-07-10 23:26:43 +08:00
Vanilla
a1c7cea6b7
feat(lib/utils/proxy/index.ts): Allow socks proxy for dispatcher. ( #22401 )
2026-07-10 19:22:02 +08:00
TonyRL
334b663855
chore: remove unused deps
2026-07-09 22:14:32 +08:00
Tony
cb0791cb41
perf: dx ( #22478 )
...
* perf: use only one WASM alloc for xxhash
* perf(deps): lazy load mercury-parser and use googleapis/youtube instead of heavy googleapis
* perf(dx): lazy load dev registry
speed up npm dev script
* perf: close playwright browser on destroy
* fix: show exception msg in prod
* revert: "perf: use only one WASM alloc for xxhash"
This reverts commit 01ecdd48d0 .
* perf: use only one WASM alloc for xxhash
* test: add claim for worker
* fix: missing piece from 8dd9c9a
* feat: add namespace to the chunkfilename
* fix: keep var naming
2026-07-09 02:37:41 +08:00
dependabot[bot]
417ab04f06
chore(deps-dev): bump eslint-plugin-unicorn from 66.0.0 to 68.0.0 ( #22310 )
...
* chore(deps-dev): bump eslint-plugin-unicorn from 66.0.0 to 68.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn ) from 66.0.0 to 68.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases )
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v66.0.0...v68.0.0 )
---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
dependency-version: 68.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* style: fix no-useless-coercion
* style: fix prefer-boolean-return
* style: fix no-useless-logical-operand
* style: fix prefer-single-replace
* style: fix consistent-conditional-object-spread
* style: fix no-useless-else
* style: fix prefer-unicode-code-point-escapes
* style: fix operator-assignment
* style: fix prefer-continue
* style: fix prefer-math-constants
* style: fix prefer-hoisting-branch-code
* style: fix prefer-array-slice
* style: fix consistent-class-member-order
* style: fix no-return-array-push
* style: fix prefer-promise-with-resolvers
* style: fix no-array-concat-in-loop
* style: fix no-loop-iterable-mutation
* style: fix no-invalid-argument-count
* style: fix no-duplicate-if-branches
* style: fix prefer-else-if
* style: fix no-unreadable-for-of-expression
* style: fix logical-assignment-operators
* style: fix default-export-style
* style: revert false positve in prefer-type-literal-last in #22274
* style: fix arrow-body-style
* style: add v68 recommended preset
* style: refactor GraphQL queries to use template literals for better readability
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tony <TonyRL@users.noreply.github.com >
2026-06-20 23:11:27 +08:00
github-actions[bot]
9f37d05ab6
style: auto format
2026-06-16 06:45:07 +00:00
dependabot[bot]
873618e99d
chore(deps-dev): bump eslint-plugin-unicorn from 65.0.1 to 66.0.0 ( #22274 )
...
* chore(deps-dev): bump eslint-plugin-unicorn from 65.0.1 to 66.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn ) from 65.0.1 to 66.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases )
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v65.0.1...v66.0.0 )
---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
dependency-version: 66.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* style: fix unicorn-js/prefer-url-href
* style: oxlint disable
* style: fix unicorn-js/no-useless-else
* style: no-unsafe-string-replacement
* style: fix no-duplicate-loops
* style: fix prefer-number-is-safe-integer
* style: fix prefer-single-array-predicate
* style: fix no-object-methods-with-collections
* style: fix no-useless-boolean-cast
* style: fix no-useless-template-literals
* style: fix no-negated-array-predicate
* style: fix prefer-direct-iteration
* style: fix consistent-optional-chaining
* style: fix prefer-simple-sort-comparator
* style: fix prefer-global-number-constants
* style: fix prefer-type-literal-last
* style: fix require-array-sort-compare.
* style: fix prefer-early-return
* style: fix prefer-short-arrow-method
* style: fix prefer-array-from-map
* style: fix prefer-scoped-selector
* style: fix no-global-object-property-assignment
* style: fix no-unnecessary-global-this
* style: fix no-unreadable-object-destructuring
* style: fix no-invalid-argument-count
* style: fix prefer-smaller-scope
* style: fix prefer-iterator-to-array.
* style: fix prefer-object-iterable-methods
* style: fix typo
* style: fix max-nested-calls
* style: fix no-incorrect-template-string-interpolation
* style: fix no-break-in-nested-loop
* style: fix prefer-await
* style: fix no-computed-property-existence-check
* style: fix prefer-number-coercion
* style: fix no-empty-file
* style: update eslint unicorn v66 recommended preset
* style: add unicorn/prefer-spread to oxlint-disable comments
* style: fix no-array-reduce
* style: delete github/no-then as it's covered by unicorn/prefer-await
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tony <TonyRL@users.noreply.github.com >
2026-06-16 14:43:42 +08:00
dependabot[bot]
07834413f5
chore(deps-dev): bump eslint-plugin-unicorn from 64.0.0 to 65.0.0 ( #22219 )
...
* chore(deps-dev): bump eslint-plugin-unicorn from 64.0.0 to 65.0.0
Bumps [eslint-plugin-unicorn](https://github.com/sindresorhus/eslint-plugin-unicorn ) from 64.0.0 to 65.0.0.
- [Release notes](https://github.com/sindresorhus/eslint-plugin-unicorn/releases )
- [Commits](https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v64.0.0...v65.0.0 )
---
updated-dependencies:
- dependency-name: eslint-plugin-unicorn
dependency-version: 65.0.0
dependency-type: direct:development
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
* fix: no-array-from-fill
* fix: unicorn-js/no-duplicate-set-values
* fix: no-this-outside-of-class
* fix: no-unnecessary-nested-ternary
* fix: prefer-array-last-methods
* fix: prefer-queue-microtask
* fix: prefer-split-limit
* fix: no-array-from-fill
* fix: no-unused-array-method-return
* fix: prefer-single-call
* fix: prefer-includes-over-repeated-comparisons
* fix: consistent-compound-words
* fix: prefer-includes-over-repeated-comparisons
* chore: add eslint-plugin-unicorn v65 recommended preset
* fix: correct duration parsing logic in parseDuration function
* fix: update oxlint-disable
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Tony <TonyRL@users.noreply.github.com >
2026-06-09 00:08:15 +08:00
Tony
4390cabb21
feat(utils/playwright): add PLAYWRIGHT_CDP_ENDPOINT support ( #22212 )
...
* feat(utils/playwright): add PLAYWRIGHT_CDP_ENDPOINT support
* fix: close browser
2026-06-08 10:31:39 +08:00