mirror of
https://github.com/PCSX2/web-api.git
synced 2026-01-31 01:15:16 +01:00
api: optimize DB indexes and add caching
This commit is contained in:
@@ -7,7 +7,7 @@ CREATE TABLE IF NOT EXISTS `releases` (
|
||||
`github_release_id` INTEGER not null,
|
||||
`github_url` TEXT not null,
|
||||
`release_type` TEXT not null,
|
||||
`next_audit` TEXT not null, -- timestamp
|
||||
`next_audit` TEXT not null,
|
||||
`next_audit_days` INTEGER not null,
|
||||
`archived` INTEGER DEFAULT 0,
|
||||
`notes` TEXT null,
|
||||
@@ -20,9 +20,7 @@ CREATE TABLE IF NOT EXISTS `releases` (
|
||||
-- `download_size_bytes` integer null
|
||||
);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS releases_index_version ON releases (version);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS releases_index_version_normalized ON releases (version_integral);
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS releases_index_github_release_id ON releases (github_release_id);
|
||||
CREATE INDEX IF NOT EXISTS releases_index_created_timestamp ON releases (created_timestamp);
|
||||
CREATE INDEX IF NOT EXISTS releases_index_release_type ON releases (release_type);
|
||||
CREATE INDEX IF NOT EXISTS releases_index_archived ON releases (archived);
|
||||
CREATE INDEX IF NOT EXISTS releases_index_notes ON releases (notes);
|
||||
-- For list query optimization
|
||||
CREATE INDEX IF NOT EXISTS idx_releases_type_archived_version_integral ON releases (release_type, archived, version_integral DESC);
|
||||
-- For changelog query optimization
|
||||
CREATE INDEX IF NOT EXISTS idx_releases_archived_version_integral ON releases (archived, version_integral DESC);
|
||||
|
||||
@@ -1,3 +1,49 @@
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5240/pcsx2-v1.7.5240-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":481,"downloadSizeBytes":49902784},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5240/pcsx2-v1.7.5240-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":12,"downloadSizeBytes":16701192},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5240/pcsx2-v1.7.5240-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":129,"downloadSizeBytes":18838016},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5240/pcsx2-v1.7.5240-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":2,"downloadSizeBytes":13633651},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5240/pcsx2-v1.7.5240-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":2073,"downloadSizeBytes":18160033}]', '2023-11-27T02:24:51Z', 131488311, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5240', 5930, '2023-12-04T05:27:47.176Z', 7, '- [Achievements: Use big picture to confirm HC mode disable](https://github.com/PCSX2/pcsx2/pull/10323)
|
||||
', '2023-11-27T02:44:16Z', 'Nightly', '1.7.5240', 1000007005240);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5239/pcsx2-v1.7.5239-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":0,"downloadSizeBytes":49874112},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5239/pcsx2-v1.7.5239-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":0,"downloadSizeBytes":16737760},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5239/pcsx2-v1.7.5239-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":0,"downloadSizeBytes":18839696},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5239/pcsx2-v1.7.5239-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":0,"downloadSizeBytes":13623652},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5239/pcsx2-v1.7.5239-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":0,"downloadSizeBytes":18157873}]', '2023-11-27T02:24:28Z', 131488300, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5239', 5931, '2023-12-04T05:27:47.176Z', 7, '- [Console: Update CPU detection](https://github.com/PCSX2/pcsx2/pull/10319)
|
||||
', '2023-11-27T02:45:07Z', 'Nightly', '1.7.5239', 1000007005239);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5238/pcsx2-v1.7.5238-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":922,"downloadSizeBytes":49874112},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5238/pcsx2-v1.7.5238-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":26,"downloadSizeBytes":16683160},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5238/pcsx2-v1.7.5238-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":271,"downloadSizeBytes":18837820},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5238/pcsx2-v1.7.5238-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":5,"downloadSizeBytes":13623992},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5238/pcsx2-v1.7.5238-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":3781,"downloadSizeBytes":18155228}]', '2023-11-26T21:44:56Z', 131478963, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5238', 5932, '2023-12-04T05:27:47.176Z', 7, '- [GameDB: Ace Combat 4 fixes](https://github.com/PCSX2/pcsx2/pull/10325)
|
||||
', '2023-11-26T22:05:08Z', 'Nightly', '1.7.5238', 1000007005238);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5237/pcsx2-v1.7.5237-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":7,"downloadSizeBytes":49874112},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5237/pcsx2-v1.7.5237-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":0,"downloadSizeBytes":16732440},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5237/pcsx2-v1.7.5237-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":2,"downloadSizeBytes":18828776},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5237/pcsx2-v1.7.5237-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":0,"downloadSizeBytes":13620259},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5237/pcsx2-v1.7.5237-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":34,"downloadSizeBytes":18155650}]', '2023-11-26T21:44:32Z', 131478954, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5237', 5933, '2023-12-04T05:27:47.176Z', 7, '- [GameDB: Update Ar tonelico upscaling fixes.](https://github.com/PCSX2/pcsx2/pull/10326)
|
||||
', '2023-11-26T22:04:30Z', 'Nightly', '1.7.5237', 1000007005237);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5236/pcsx2-v1.7.5236-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":5906,"downloadSizeBytes":49870016},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5236/pcsx2-v1.7.5236-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":144,"downloadSizeBytes":16724760},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5236/pcsx2-v1.7.5236-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":1272,"downloadSizeBytes":18827872},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5236/pcsx2-v1.7.5236-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":22,"downloadSizeBytes":13620846},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5236/pcsx2-v1.7.5236-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":22883,"downloadSizeBytes":18159512}]', '2023-11-25T16:23:01Z', 131437161, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5236', 5934, '2023-12-04T05:27:47.176Z', 7, '- [GameDB: NFS Underground 2 and NBA 05/09 fixes](https://github.com/PCSX2/pcsx2/pull/10320)
|
||||
', '2023-11-25T16:43:12Z', 'Nightly', '1.7.5236', 1000007005236);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5235/pcsx2-v1.7.5235-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":744,"downloadSizeBytes":49874112},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5235/pcsx2-v1.7.5235-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":21,"downloadSizeBytes":16706392},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5235/pcsx2-v1.7.5235-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":206,"downloadSizeBytes":18836256},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5235/pcsx2-v1.7.5235-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":5,"downloadSizeBytes":13619918},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5235/pcsx2-v1.7.5235-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":3285,"downloadSizeBytes":18157666}]', '2023-11-25T12:48:08Z', 131430824, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5235', 5935, '2023-12-04T05:27:47.176Z', 7, '- [GS/HW: Mirror half pixel offset when using FMV Blit override](https://github.com/PCSX2/pcsx2/pull/10318)
|
||||
', '2023-11-25T13:07:36Z', 'Nightly', '1.7.5235', 1000007005235);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5234/pcsx2-v1.7.5234-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":0,"downloadSizeBytes":49870016},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5234/pcsx2-v1.7.5234-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":0,"downloadSizeBytes":16713296},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5234/pcsx2-v1.7.5234-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":1,"downloadSizeBytes":18837208},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5234/pcsx2-v1.7.5234-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":0,"downloadSizeBytes":13622168},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5234/pcsx2-v1.7.5234-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":13,"downloadSizeBytes":18156366}]', '2023-11-25T12:47:54Z', 131430823, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5234', 5936, '2023-12-04T05:27:47.176Z', 7, '- [GS: Pre-round/truncate STQ values based on hardware tests](https://github.com/PCSX2/pcsx2/pull/10281)
|
||||
', '2023-11-25T13:08:46Z', 'Nightly', '1.7.5234', 1000007005234);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5233/pcsx2-v1.7.5233-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":99,"downloadSizeBytes":49874112},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5233/pcsx2-v1.7.5233-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":2,"downloadSizeBytes":16678144},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5233/pcsx2-v1.7.5233-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":30,"downloadSizeBytes":18829080},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5233/pcsx2-v1.7.5233-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":1,"downloadSizeBytes":13619659},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5233/pcsx2-v1.7.5233-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":616,"downloadSizeBytes":18164222}]', '2023-11-25T12:11:05Z', 131429936, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5233', 5937, '2023-12-04T05:27:47.176Z', 7, '- [GS: Some cleanup to GSClut.](https://github.com/PCSX2/pcsx2/pull/10311)
|
||||
', '2023-11-25T12:31:16Z', 'Nightly', '1.7.5233', 1000007005233);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5232/pcsx2-v1.7.5232-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":1617,"downloadSizeBytes":49874112},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5232/pcsx2-v1.7.5232-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":32,"downloadSizeBytes":16681616},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5232/pcsx2-v1.7.5232-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":391,"downloadSizeBytes":18832400},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5232/pcsx2-v1.7.5232-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":10,"downloadSizeBytes":13617814},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5232/pcsx2-v1.7.5232-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":7294,"downloadSizeBytes":18163211}]', '2023-11-25T03:07:50Z', 131419114, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5232', 5938, '2023-12-04T05:27:47.176Z', 7, '- [3rdparty/cubeb: Minimize and update to 54217bc](https://github.com/PCSX2/pcsx2/pull/10313)
|
||||
', '2023-11-25T03:27:41Z', 'Nightly', '1.7.5232', 1000007005232);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5231/pcsx2-v1.7.5231-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":19,"downloadSizeBytes":49870016},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5231/pcsx2-v1.7.5231-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":0,"downloadSizeBytes":16728184},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5231/pcsx2-v1.7.5231-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":1,"downloadSizeBytes":18824508},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5231/pcsx2-v1.7.5231-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":0,"downloadSizeBytes":13619307},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5231/pcsx2-v1.7.5231-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":75,"downloadSizeBytes":18164685}]', '2023-11-25T03:05:54Z', 131419053, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5231', 5939, '2023-12-04T05:27:47.176Z', 7, '- [3rdparty: Update CPUInfo to latest](https://github.com/PCSX2/pcsx2/pull/10316)
|
||||
', '2023-11-25T03:25:09Z', 'Nightly', '1.7.5231', 1000007005231);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5230/pcsx2-v1.7.5230-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":733,"downloadSizeBytes":49870016},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5230/pcsx2-v1.7.5230-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":22,"downloadSizeBytes":16677392},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5230/pcsx2-v1.7.5230-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":200,"downloadSizeBytes":18826592},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5230/pcsx2-v1.7.5230-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":2,"downloadSizeBytes":13618863},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5230/pcsx2-v1.7.5230-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":2901,"downloadSizeBytes":18164455}]', '2023-11-24T23:45:57Z', 131412928, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5230', 5940, '2023-12-04T05:27:47.176Z', 7, '- [GS/HW: Allow more draws to remain if recent draws done near vsync](https://github.com/PCSX2/pcsx2/pull/10314)
|
||||
', '2023-11-25T00:06:07Z', 'Nightly', '1.7.5230', 1000007005230);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5229/pcsx2-v1.7.5229-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":764,"downloadSizeBytes":49870016},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5229/pcsx2-v1.7.5229-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":21,"downloadSizeBytes":16675776},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5229/pcsx2-v1.7.5229-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":174,"downloadSizeBytes":18826452},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5229/pcsx2-v1.7.5229-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":1,"downloadSizeBytes":13621497},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5229/pcsx2-v1.7.5229-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":2655,"downloadSizeBytes":18163169}]', '2023-11-24T20:53:34Z', 131406501, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5229', 5941, '2023-12-04T05:27:47.176Z', 7, '- [GameDB: Fix FMVs on Rule of Rose + PAL Region](https://github.com/PCSX2/pcsx2/pull/10317)
|
||||
', '2023-11-24T21:13:35Z', 'Nightly', '1.7.5229', 1000007005229);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5228/pcsx2-v1.7.5228-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":1862,"downloadSizeBytes":49870016},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5228/pcsx2-v1.7.5228-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":40,"downloadSizeBytes":16707032},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5228/pcsx2-v1.7.5228-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":471,"downloadSizeBytes":18828176},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5228/pcsx2-v1.7.5228-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":10,"downloadSizeBytes":13620105},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5228/pcsx2-v1.7.5228-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":8621,"downloadSizeBytes":18153904}]', '2023-11-24T10:34:51Z', 131339638, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5228', 5942, '2023-12-04T05:27:47.176Z', 7, '- [GS/HW: In double half clears, take larger bit depth](https://github.com/PCSX2/pcsx2/pull/10296)
|
||||
', '2023-11-24T10:54:58Z', 'Nightly', '1.7.5228', 1000007005228);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5227/pcsx2-v1.7.5227-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":105,"downloadSizeBytes":49870016},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5227/pcsx2-v1.7.5227-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":7,"downloadSizeBytes":16757568},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5227/pcsx2-v1.7.5227-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":41,"downloadSizeBytes":18831260},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5227/pcsx2-v1.7.5227-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":0,"downloadSizeBytes":13619117},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5227/pcsx2-v1.7.5227-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":633,"downloadSizeBytes":18153594}]', '2023-11-24T09:43:35Z', 131332525, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5227', 5943, '2023-12-04T05:27:47.176Z', 7, '- [3rdparty: Update xbyak to 6.73](https://github.com/PCSX2/pcsx2/pull/10310)
|
||||
', '2023-11-24T10:04:38Z', 'Nightly', '1.7.5227', 1000007005227);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5226/pcsx2-v1.7.5226-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":390,"downloadSizeBytes":49882304},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5226/pcsx2-v1.7.5226-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":8,"downloadSizeBytes":16748592},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5226/pcsx2-v1.7.5226-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":121,"downloadSizeBytes":18835828},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5226/pcsx2-v1.7.5226-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":1,"downloadSizeBytes":13614129},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5226/pcsx2-v1.7.5226-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":1987,"downloadSizeBytes":18153438}]', '2023-11-24T06:27:22Z', 131314574, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5226', 5944, '2023-12-04T05:27:47.176Z', 7, '- [Achievements: Avoid string copy on server call](https://github.com/PCSX2/pcsx2/pull/10312)
|
||||
', '2023-11-24T06:47:08Z', 'Nightly', '1.7.5226', 1000007005226);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5225/pcsx2-v1.7.5225-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":2135,"downloadSizeBytes":49882304},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5225/pcsx2-v1.7.5225-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":64,"downloadSizeBytes":16718792},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5225/pcsx2-v1.7.5225-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":545,"downloadSizeBytes":18825716},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5225/pcsx2-v1.7.5225-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":7,"downloadSizeBytes":13614992},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5225/pcsx2-v1.7.5225-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":8570,"downloadSizeBytes":18153681}]', '2023-11-23T19:22:57Z', 131282087, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5225', 5945, '2023-12-04T05:27:47.176Z', 7, '- [GameDB : update Driving Emotion fixes](https://github.com/PCSX2/pcsx2/pull/10309)
|
||||
', '2023-11-23T19:43:14Z', 'Nightly', '1.7.5225', 1000007005225);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5224/pcsx2-v1.7.5224-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":5409,"downloadSizeBytes":49882304},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5224/pcsx2-v1.7.5224-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":140,"downloadSizeBytes":16695144},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5224/pcsx2-v1.7.5224-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":1197,"downloadSizeBytes":18825516},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5224/pcsx2-v1.7.5224-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":16,"downloadSizeBytes":13618147},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5224/pcsx2-v1.7.5224-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":20633,"downloadSizeBytes":18158542}]', '2023-11-22T14:28:23Z', 131005720, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5224', 5946, '2023-12-04T05:27:47.176Z', 7, '- [Qt: Update Base Translation](https://github.com/PCSX2/pcsx2/pull/10290)
|
||||
', '2023-11-22T14:49:51Z', 'Nightly', '1.7.5224', 1000007005224);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5223/pcsx2-v1.7.5223-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":2646,"downloadSizeBytes":49882304},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5223/pcsx2-v1.7.5223-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":69,"downloadSizeBytes":16763232},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5223/pcsx2-v1.7.5223-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":704,"downloadSizeBytes":18839720},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5223/pcsx2-v1.7.5223-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":12,"downloadSizeBytes":13615934},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5223/pcsx2-v1.7.5223-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":12179,"downloadSizeBytes":18160232}]', '2023-11-21T20:54:27Z', 130817129, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5223', 5947, '2023-12-04T05:27:47.176Z', 7, '- [Debugger: Allow copying function names](https://github.com/PCSX2/pcsx2/pull/10299)
|
||||
', '2023-11-21T21:15:10Z', 'Nightly', '1.7.5223', 1000007005223);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5222/pcsx2-v1.7.5222-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":519,"downloadSizeBytes":49886400},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5222/pcsx2-v1.7.5222-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":11,"downloadSizeBytes":16713680},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5222/pcsx2-v1.7.5222-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":165,"downloadSizeBytes":18829272},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5222/pcsx2-v1.7.5222-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":2,"downloadSizeBytes":13614171},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5222/pcsx2-v1.7.5222-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":2495,"downloadSizeBytes":18160292}]', '2023-11-21T18:13:47Z', 130718129, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5222', 5948, '2023-12-04T05:27:47.176Z', 7, '- [translations: Syncing Crowdin translations](https://github.com/PCSX2/pcsx2/pull/10301)
|
||||
', '2023-11-21T18:34:30Z', 'Nightly', '1.7.5222', 1000007005222);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5221/pcsx2-v1.7.5221-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":1035,"downloadSizeBytes":49726656},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5221/pcsx2-v1.7.5221-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":35,"downloadSizeBytes":16559552},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5221/pcsx2-v1.7.5221-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":361,"downloadSizeBytes":18715672},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5221/pcsx2-v1.7.5221-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":5,"downloadSizeBytes":13616885},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5221/pcsx2-v1.7.5221-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":5314,"downloadSizeBytes":18039013}]', '2023-11-21T10:45:55Z', 130638076, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5221', 5949, '2023-12-04T05:27:47.176Z', 7, '- [Mac: Add microphone permissions string](https://github.com/PCSX2/pcsx2/pull/10209)
|
||||
', '2023-11-21T11:05:45Z', 'Nightly', '1.7.5221', 1000007005221);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5220/pcsx2-v1.7.5220-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":15,"downloadSizeBytes":49726656},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5220/pcsx2-v1.7.5220-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":0,"downloadSizeBytes":16620488},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5220/pcsx2-v1.7.5220-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":5,"downloadSizeBytes":18718264},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5220/pcsx2-v1.7.5220-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":0,"downloadSizeBytes":13611806},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5220/pcsx2-v1.7.5220-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":101,"downloadSizeBytes":18040828}]', '2023-11-21T10:40:13Z', 130637199, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5220', 5950, '2023-12-04T05:27:47.176Z', 7, '- [Qt: Use HTTPDownloader instead of QtNetwork for updates](https://github.com/PCSX2/pcsx2/pull/10300)
|
||||
', '2023-11-21T11:00:35Z', 'Nightly', '1.7.5220', 1000007005220);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5219/pcsx2-v1.7.5219-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":559,"downloadSizeBytes":49714368},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5219/pcsx2-v1.7.5219-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":11,"downloadSizeBytes":16621768},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5219/pcsx2-v1.7.5219-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":151,"downloadSizeBytes":19155272},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5219/pcsx2-v1.7.5219-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":2,"downloadSizeBytes":13624310},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5219/pcsx2-v1.7.5219-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":3022,"downloadSizeBytes":18039481}]', '2023-11-21T05:37:10Z', 130603375, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5219', 5951, '2023-12-04T05:27:47.176Z', 7, '- [Qt: Use main window geometry for temporary window](https://github.com/PCSX2/pcsx2/pull/10298)
|
||||
', '2023-11-21T05:57:41Z', 'Nightly', '1.7.5219', 1000007005219);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5218/pcsx2-v1.7.5218-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":298,"downloadSizeBytes":49714368},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5218/pcsx2-v1.7.5218-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":8,"downloadSizeBytes":16607192},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5218/pcsx2-v1.7.5218-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":84,"downloadSizeBytes":19162724},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5218/pcsx2-v1.7.5218-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":2,"downloadSizeBytes":13624034},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5218/pcsx2-v1.7.5218-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":1407,"downloadSizeBytes":18037297}]', '2023-11-21T03:35:46Z', 130520785, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5218', 5952, '2023-12-04T05:27:47.176Z', 7, '- [Qt: Improve fullscreen behaviour](https://github.com/PCSX2/pcsx2/pull/10295)
|
||||
', '2023-11-21T03:56:39Z', 'Nightly', '1.7.5218', 1000007005218);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5217/pcsx2-v1.7.5217-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":1924,"downloadSizeBytes":49718464},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5217/pcsx2-v1.7.5217-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":47,"downloadSizeBytes":16569416},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5217/pcsx2-v1.7.5217-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":602,"downloadSizeBytes":19170460},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5217/pcsx2-v1.7.5217-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":10,"downloadSizeBytes":13624615},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5217/pcsx2-v1.7.5217-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":8418,"downloadSizeBytes":18039659}]', '2023-11-20T15:37:19Z', 130408333, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5217', 5916, '2023-11-28T03:11:35.994Z', 7, '- [Readme: Clarify latest build/contribution info](https://github.com/PCSX2/pcsx2/pull/10291)
|
||||
', '2023-11-20T15:58:29Z', 'Nightly', '1.7.5217', 1000007005217);
|
||||
insert or ignore into `releases` (`archived`, `assets`, `created_timestamp`, `github_release_id`, `github_url`, `id`, `next_audit`, `next_audit_days`, `notes`, `published_timestamp`, `release_type`, `version`, `version_integral`) values (0, '[{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5216/pcsx2-v1.7.5216-linux-appimage-x64-Qt.AppImage","platform":"Linux","tags":["appimage","x64","Qt"],"downloadCount":4035,"downloadSizeBytes":49718464},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5216/pcsx2-v1.7.5216-linux-flatpak-x64-Qt.flatpak","platform":"Linux","tags":["flatpak","x64","Qt"],"downloadCount":117,"downloadSizeBytes":16607424},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5216/pcsx2-v1.7.5216-macos-Qt.tar.xz","platform":"MacOS","tags":["Qt"],"downloadCount":1070,"downloadSizeBytes":19156040},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5216/pcsx2-v1.7.5216-windows-x64-Qt-symbols.7z","platform":"Windows","tags":["x64","Qt","symbols"],"downloadCount":11,"downloadSizeBytes":13623788},{"downloadUrl":"https://github.com/PCSX2/pcsx2/releases/download/v1.7.5216/pcsx2-v1.7.5216-windows-x64-Qt.7z","platform":"Windows","tags":["x64","Qt"],"downloadCount":16790,"downloadSizeBytes":18040264}]', '2023-11-19T14:41:27Z', 130220210, 'https://github.com/PCSX2/pcsx2/releases/tag/v1.7.5216', 5917, '2023-11-28T03:11:35.995Z', 7, '- [Debugger: Implement subsequent searches/next scan for Memory Search](https://github.com/PCSX2/pcsx2/pull/10260)
|
||||
|
||||
@@ -24,3 +24,7 @@ const run = async () => {
|
||||
};
|
||||
|
||||
run();
|
||||
|
||||
// wrangler d1 execute release-api-prod --command "SELECT * FROM releases WHERE release_type = 'Nightly' AND archived = 0 ORDER BY version_integral DESC LIMIT 100 OFFSET 0;" --json
|
||||
// wrangler d1 execute release-api-prod --command "SELECT * FROM releases WHERE release_type = 'Nightly' AND archived = 0 AND version_integral < 1000007004111 ORDER BY version_integral DESC LIMIT 100;" --json
|
||||
// wrangler d1 execute release-api-prod --command "SELECT COUNT(*) as count FROM releases WHERE release_type = 'Nightly' AND archived = 0;" --json
|
||||
|
||||
12
package.json
12
package.json
@@ -31,17 +31,17 @@
|
||||
"eslint-config-typescript": "^3.0.0",
|
||||
"jest": "^28.1.3",
|
||||
"jest-environment-miniflare": "^2.6.0",
|
||||
"miniflare": "^2.6.0",
|
||||
"miniflare": "^3.20231030.1",
|
||||
"prettier": "^2.7.1",
|
||||
"ts-jest": "^28.0.7",
|
||||
"typescript": "^4.7.4",
|
||||
"wrangler": "^3.15.0"
|
||||
"wrangler": "^3.17.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"@octokit/plugin-retry": "^4.0.3",
|
||||
"@octokit/plugin-throttling": "^4.3.2",
|
||||
"@octokit/rest": "^19.0.5",
|
||||
"@octokit/types": "^8.0.0",
|
||||
"@octokit/plugin-retry": "^6.0.1",
|
||||
"@octokit/plugin-throttling": "^8.1.3",
|
||||
"@octokit/rest": "^20.0.2",
|
||||
"@octokit/types": "^12.3.0",
|
||||
"itty-router": "^4.0.23"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
import { RequestLike } from "itty-router";
|
||||
import { Env } from "..";
|
||||
import { createGithubClient, getAllReleasesForRepo } from "../external/github";
|
||||
import { getAllReleasedVersions, emplaceReleases } from "../storage/d1";
|
||||
@@ -10,7 +11,8 @@ import { getAllReleasedVersions, emplaceReleases } from "../storage/d1";
|
||||
// is such a rare thing to happen that it shouldn't bog down the day-to-day.
|
||||
// Add a special "check everything" job that can be manually triggered.
|
||||
export async function bulkInsertReleases(
|
||||
req: any,
|
||||
req: RequestLike,
|
||||
cfRequest: Request,
|
||||
env: Env,
|
||||
ctx: ExecutionContext
|
||||
): Promise<any> {
|
||||
|
||||
21
src/routes/cors.ts
Normal file
21
src/routes/cors.ts
Normal file
@@ -0,0 +1,21 @@
|
||||
// TODO - move this into middleware
|
||||
export function appendCorsHeaders(
|
||||
origin: string | null,
|
||||
headers: Record<string, string>
|
||||
): Record<string, string> {
|
||||
if (
|
||||
origin !== null &&
|
||||
(origin === "https://pcsx2.net" ||
|
||||
origin.match("https:\\/\\/[^\\.]*\\.pcsx2-net-www.pages.dev") !== null)
|
||||
) {
|
||||
headers["Access-Control-Allow-Origin"] = origin;
|
||||
headers["Access-Control-Allow-Headers"] = "*";
|
||||
headers["Access-Control-Allow-Methods"] = "GET, POST, OPTIONS";
|
||||
return headers;
|
||||
}
|
||||
// Allow localhost for local development
|
||||
headers["Access-Control-Allow-Origin"] = "http://localhost:8080";
|
||||
headers["Access-Control-Allow-Headers"] = "*";
|
||||
headers["Access-Control-Allow-Methods"] = "GET, POST, OPTIONS";
|
||||
return headers;
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import { Router, createCors, error, json } from "itty-router";
|
||||
import { Router, createCors, error } from "itty-router";
|
||||
import { Env } from "..";
|
||||
import {
|
||||
latestReleases,
|
||||
@@ -9,11 +9,7 @@ import {
|
||||
import { githubReleaseWebhookEvent } from "./v2/webhooks";
|
||||
// import { bulkInsertReleases } from "../crons/cron-handler";
|
||||
|
||||
// TODO - create our own middleware so we can have a regex for origins (generated by cloudflare pages deploys)
|
||||
const { preflight, corsify } = createCors({
|
||||
origins: ["pcsx2.net"],
|
||||
methods: ["GET", "POST"],
|
||||
});
|
||||
const { preflight, corsify } = createCors();
|
||||
|
||||
const routerV2 = Router();
|
||||
|
||||
@@ -35,10 +31,4 @@ export const handleRequest = (
|
||||
request: Request,
|
||||
env: Env,
|
||||
ctx: ExecutionContext
|
||||
) =>
|
||||
routerV2
|
||||
.handle(request, env, ctx)
|
||||
.then(json)
|
||||
// embed corsify downstream to attach CORS headers
|
||||
.then(corsify)
|
||||
.catch(error);
|
||||
) => routerV2.handle(request, request, env, ctx).catch(error);
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
import { Request } from "itty-router";
|
||||
import { Env } from "../..";
|
||||
import { ReleaseType } from "../../lib/releases";
|
||||
import {
|
||||
@@ -7,134 +6,212 @@ import {
|
||||
queryForReleaseList,
|
||||
getReleaseNotesForVersionRange,
|
||||
} from "../../storage/d1";
|
||||
import { RequestLike } from "itty-router";
|
||||
import { appendCorsHeaders } from "../cors";
|
||||
|
||||
export async function latestReleases(
|
||||
req: Request,
|
||||
req: RequestLike,
|
||||
cfRequest: Request,
|
||||
env: Env,
|
||||
ctx: ExecutionContext
|
||||
): Promise<any> {
|
||||
// TODO - update D1 request cache
|
||||
const latestNightly = await getLatestRelease(env.DB, ReleaseType.Nightly);
|
||||
const latestStable = await getLatestRelease(env.DB, ReleaseType.Stable);
|
||||
const body = JSON.stringify({
|
||||
nightly: latestNightly,
|
||||
stable: latestStable,
|
||||
});
|
||||
const headers = { "Content-type": "application/json" };
|
||||
return new Response(body, { headers });
|
||||
// Check the cache first
|
||||
const cacheUrl = new URL(req.url);
|
||||
// Construct the cache key from the cache URL
|
||||
const cacheKey = new Request(cacheUrl.toString(), cfRequest);
|
||||
const cache = caches.default;
|
||||
const response = await cache.match(cacheKey);
|
||||
if (response) {
|
||||
// Cache hit
|
||||
return response;
|
||||
} else {
|
||||
// Cache miss, fetch from database
|
||||
const latestNightly = await getLatestRelease(env.DB, ReleaseType.Nightly);
|
||||
const latestStable = await getLatestRelease(env.DB, ReleaseType.Stable);
|
||||
const body = JSON.stringify({
|
||||
nightly: latestNightly,
|
||||
stable: latestStable,
|
||||
});
|
||||
|
||||
let headers: Record<string, string> = {
|
||||
"Content-type": "application/json",
|
||||
};
|
||||
headers = appendCorsHeaders(cfRequest.headers.get("origin"), headers);
|
||||
const newResp = new Response(body, { headers });
|
||||
// Cache for 30 mins max
|
||||
// TODO - if we had a more fancy CF tier (enterprise), we could purge the cache appropriately
|
||||
newResp.headers.append("Cache-Control", "s-maxage=1800");
|
||||
ctx.waitUntil(cache.put(cacheKey, newResp.clone()));
|
||||
return newResp;
|
||||
}
|
||||
}
|
||||
|
||||
export async function recentReleases(
|
||||
req: Request,
|
||||
req: RequestLike,
|
||||
cfRequest: Request,
|
||||
env: Env,
|
||||
ctx: ExecutionContext
|
||||
): Promise<any> {
|
||||
// TODO - update D1 request cache
|
||||
const latestNightly = await getRecentReleases(env.DB, ReleaseType.Nightly);
|
||||
const latestStable = await getRecentReleases(env.DB, ReleaseType.Stable);
|
||||
const body = JSON.stringify({
|
||||
nightly: latestNightly,
|
||||
stable: latestStable,
|
||||
});
|
||||
const headers = { "Content-type": "application/json" };
|
||||
const resp = new Response(body, { headers });
|
||||
// Check the cache first
|
||||
const cacheUrl = new URL(req.url);
|
||||
// Construct the cache key from the cache URL
|
||||
const cacheKey = new Request(cacheUrl.toString(), cfRequest);
|
||||
const cache = caches.default;
|
||||
ctx.waitUntil(
|
||||
cache.put(
|
||||
"https://cache.pcsx2.workers.dev/v1/releases/recent",
|
||||
resp.clone()
|
||||
)
|
||||
);
|
||||
return resp;
|
||||
const response = await cache.match(cacheKey);
|
||||
if (response) {
|
||||
// Cache hit
|
||||
return response;
|
||||
} else {
|
||||
const latestNightly = await getRecentReleases(env.DB, ReleaseType.Nightly);
|
||||
const latestStable = await getRecentReleases(env.DB, ReleaseType.Stable);
|
||||
const body = JSON.stringify({
|
||||
nightly: latestNightly,
|
||||
stable: latestStable,
|
||||
});
|
||||
let headers: Record<string, string> = {
|
||||
"Content-type": "application/json",
|
||||
};
|
||||
headers = appendCorsHeaders(cfRequest.headers.get("origin"), headers);
|
||||
const resp = new Response(body, { headers });
|
||||
// NOTE - cache in a custom page rule (this avoids a worker invocation)
|
||||
const cacheKey = new Request(
|
||||
"https://cache.pcsx2.net/v1/releases/recent",
|
||||
req
|
||||
);
|
||||
ctx.waitUntil(cache.put(cacheKey, resp.clone()));
|
||||
// Cache for 30 mins max
|
||||
// TODO - if we had a more fancy CF tier (enterprise), we could purge the cache appropriately
|
||||
const newResp = resp.clone();
|
||||
newResp.headers.append("Cache-Control", "s-maxage=1800");
|
||||
ctx.waitUntil(cache.put(cacheKey, newResp.clone()));
|
||||
return newResp;
|
||||
}
|
||||
}
|
||||
|
||||
export async function listReleases(
|
||||
req: Request,
|
||||
req: RequestLike,
|
||||
cfRequest: Request,
|
||||
env: Env,
|
||||
ctx: ExecutionContext
|
||||
): Promise<any> {
|
||||
let releaseType: ReleaseType = ReleaseType.Nightly;
|
||||
const type: string | undefined = req.query?.type;
|
||||
const headers = { "Content-type": "application/json" };
|
||||
if (type === undefined) {
|
||||
return new Response(
|
||||
JSON.stringify({
|
||||
error: "Invalid parameters, type must be 'nightly' or 'stable'.",
|
||||
}),
|
||||
{ headers, status: 400 }
|
||||
);
|
||||
// Check the cache first
|
||||
const cacheUrl = new URL(req.url);
|
||||
// Construct the cache key from the cache URL
|
||||
const cacheKey = new Request(cacheUrl.toString(), cfRequest);
|
||||
const cache = caches.default;
|
||||
const response = await cache.match(cacheKey);
|
||||
if (response) {
|
||||
// Cache hit
|
||||
return response;
|
||||
} else {
|
||||
if (type === "nightly") {
|
||||
releaseType = ReleaseType.Nightly;
|
||||
} else if (type === "stable") {
|
||||
releaseType = ReleaseType.Stable;
|
||||
} else {
|
||||
let releaseType: ReleaseType = ReleaseType.Nightly;
|
||||
const type: string | undefined = req.query?.type;
|
||||
let headers: Record<string, string> = {
|
||||
"Content-type": "application/json",
|
||||
};
|
||||
headers = appendCorsHeaders(cfRequest.headers.get("origin"), headers);
|
||||
if (type === undefined) {
|
||||
return new Response(
|
||||
JSON.stringify({
|
||||
error: "Invalid parameters, type must be 'nightly' or 'stable'.",
|
||||
}),
|
||||
{ headers, status: 400 }
|
||||
);
|
||||
} else {
|
||||
if (type === "nightly") {
|
||||
releaseType = ReleaseType.Nightly;
|
||||
} else if (type === "stable") {
|
||||
releaseType = ReleaseType.Stable;
|
||||
} else {
|
||||
return new Response(
|
||||
JSON.stringify({
|
||||
error: "Invalid parameters, type must be 'nightly' or 'stable'.",
|
||||
}),
|
||||
{ headers, status: 400 }
|
||||
);
|
||||
}
|
||||
}
|
||||
const lastVersion: string | undefined = req.query?.lastVersion;
|
||||
let limit: string | undefined | number = req.query?.limit;
|
||||
if (limit === undefined) {
|
||||
limit = 20;
|
||||
} else if (typeof limit === "string") {
|
||||
limit = parseInt(limit);
|
||||
}
|
||||
// Limit query params accordingly
|
||||
if (limit < 0 || limit > 200) {
|
||||
return new Response(
|
||||
JSON.stringify({
|
||||
error:
|
||||
"Invalid parameters, 'limit' must be > 0 and <= 200 and 'lastVersion' must be valid semver or omitted",
|
||||
}),
|
||||
{ headers, status: 400 }
|
||||
);
|
||||
}
|
||||
}
|
||||
let offset: string | undefined | number = req.query?.offset;
|
||||
let limit: string | undefined | number = req.query?.limit;
|
||||
if (offset === undefined) {
|
||||
offset = 0;
|
||||
} else {
|
||||
offset = parseInt(offset);
|
||||
}
|
||||
if (limit === undefined) {
|
||||
limit = 20;
|
||||
} else {
|
||||
limit = parseInt(limit);
|
||||
}
|
||||
// Limit query params accordingly
|
||||
if (offset < 0 || limit < 0 || limit > 200) {
|
||||
return new Response(
|
||||
JSON.stringify({
|
||||
error:
|
||||
"Invalid parameters, offset and limit must be > 0 and limit must be less than 200.",
|
||||
}),
|
||||
{ headers, status: 400 }
|
||||
);
|
||||
}
|
||||
|
||||
// TODO - update cache
|
||||
const releaseList = await queryForReleaseList(
|
||||
env.DB,
|
||||
releaseType,
|
||||
limit,
|
||||
offset
|
||||
);
|
||||
const body = JSON.stringify(releaseList);
|
||||
return new Response(body, { headers });
|
||||
const releaseList = await queryForReleaseList(
|
||||
env.DB,
|
||||
releaseType,
|
||||
limit,
|
||||
lastVersion
|
||||
);
|
||||
const body = JSON.stringify({
|
||||
data: releaseList,
|
||||
pageInfo: {
|
||||
curr: req.url,
|
||||
next: "TODO",
|
||||
},
|
||||
});
|
||||
// Cache for 30 hours max
|
||||
const newResp = new Response(body, { headers });
|
||||
newResp.headers.append("Cache-Control", "s-maxage=1800");
|
||||
ctx.waitUntil(cache.put(cacheKey, newResp.clone()));
|
||||
return newResp;
|
||||
}
|
||||
}
|
||||
|
||||
export async function diffReleases(
|
||||
req: Request,
|
||||
req: RequestLike,
|
||||
cfRequest: Request,
|
||||
env: Env,
|
||||
ctx: ExecutionContext
|
||||
): Promise<any> {
|
||||
// TODO - update cache
|
||||
const headers = { "Content-type": "application/json" };
|
||||
const baseVersion = req.query?.base;
|
||||
const headVersion = req.query?.head;
|
||||
if (baseVersion === undefined || headVersion === undefined) {
|
||||
return new Response(
|
||||
JSON.stringify({
|
||||
error: "Invalid parameters, base and head must be provided.",
|
||||
}),
|
||||
{ headers, status: 400 }
|
||||
// Check the cache first
|
||||
const cacheUrl = new URL(req.url);
|
||||
// Construct the cache key from the cache URL
|
||||
const cacheKey = new Request(cacheUrl.toString(), cfRequest);
|
||||
const cache = caches.default;
|
||||
const response = await cache.match(cacheKey);
|
||||
if (response) {
|
||||
// Cache hit
|
||||
return response;
|
||||
} else {
|
||||
let headers: Record<string, string> = {
|
||||
"Content-type": "application/json",
|
||||
};
|
||||
headers = appendCorsHeaders(cfRequest.headers.get("origin"), headers);
|
||||
const baseVersion = req.query?.base;
|
||||
const headVersion = req.query?.head;
|
||||
if (baseVersion === undefined || headVersion === undefined) {
|
||||
return new Response(
|
||||
JSON.stringify({
|
||||
error: "Invalid parameters, base and head must be provided.",
|
||||
}),
|
||||
{ headers, status: 400 }
|
||||
);
|
||||
}
|
||||
const diff = await getReleaseNotesForVersionRange(
|
||||
env.DB,
|
||||
baseVersion,
|
||||
headVersion
|
||||
);
|
||||
const body = JSON.stringify({
|
||||
diff,
|
||||
});
|
||||
// Cache for 24 hours max - we don't expect the diff to change very often
|
||||
const newResp = new Response(body, { headers });
|
||||
newResp.headers.append("Cache-Control", "s-maxage=86400");
|
||||
ctx.waitUntil(cache.put(cacheKey, newResp.clone()));
|
||||
return newResp;
|
||||
}
|
||||
const diff = await getReleaseNotesForVersionRange(
|
||||
env.DB,
|
||||
baseVersion,
|
||||
headVersion
|
||||
);
|
||||
const body = JSON.stringify({
|
||||
diff,
|
||||
});
|
||||
return new Response(body, { headers });
|
||||
}
|
||||
|
||||
@@ -50,7 +50,6 @@ export async function githubReleaseWebhookEvent(
|
||||
const release = serializeGithubRelease(body.release, false);
|
||||
if (release !== undefined) {
|
||||
const result = await insertNewRelease(env.DB, release);
|
||||
console.log("returned!");
|
||||
}
|
||||
} else if (releaseAction === "deleted") {
|
||||
await archiveRelease(env.DB, body.release.tag_name);
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
import {
|
||||
Release,
|
||||
ReleaseAsset,
|
||||
ReleaseType,
|
||||
semverTagToIntegral,
|
||||
} from "../lib/releases";
|
||||
import { Release, ReleaseType, semverTagToIntegral } from "../lib/releases";
|
||||
|
||||
export async function getAllReleasedVersions(
|
||||
d1: D1Database
|
||||
@@ -83,11 +78,8 @@ export async function insertNewRelease(db: D1Database, release: Release) {
|
||||
release.notes,
|
||||
JSON.stringify(release.assets)
|
||||
);
|
||||
console.log("prepared!");
|
||||
await preparedStatement.run();
|
||||
console.log("no exception!");
|
||||
} catch (e: any) {
|
||||
console.log("EXCEPTION!");
|
||||
console.error({
|
||||
message: e.message,
|
||||
});
|
||||
@@ -182,15 +174,14 @@ export async function getLatestRelease(
|
||||
export async function getRecentReleases(
|
||||
db: D1Database,
|
||||
type: ReleaseType
|
||||
): Promise<Release | undefined> {
|
||||
): Promise<Release[] | undefined> {
|
||||
const recentReleasesQuery = db.prepare(
|
||||
"SELECT * FROM releases WHERE release_type = ? AND archived = 0 ORDER BY version_integral DESC LIMIT 100;"
|
||||
);
|
||||
const queryResults: any = await recentReleasesQuery.bind(type).all();
|
||||
console.log(queryResults);
|
||||
const queryResults: D1Result = await recentReleasesQuery.bind(type).all();
|
||||
|
||||
const rows = queryResults.results;
|
||||
let releases: Release[] = [];
|
||||
const releases: Release[] = [];
|
||||
|
||||
for (const row of rows) {
|
||||
releases.push({
|
||||
@@ -212,8 +203,8 @@ export async function queryForReleaseList(
|
||||
db: D1Database,
|
||||
type: ReleaseType,
|
||||
limit: number,
|
||||
offset: number
|
||||
): Promise<Release | undefined> {
|
||||
lastVersion: string | undefined
|
||||
): Promise<Release[] | undefined> {
|
||||
const latestReleaseQuery = db.prepare(
|
||||
"SELECT * FROM releases WHERE release_type = ? AND archived = 0 ORDER BY version_integral DESC LIMIT ? OFFSET ?;"
|
||||
);
|
||||
@@ -228,20 +219,29 @@ export async function queryForReleaseList(
|
||||
releases.push({
|
||||
internalId: row.release_id,
|
||||
version: row.version,
|
||||
versionIntegral: row.published_timestamp,
|
||||
createdTimestamp: row.created_timestamp,
|
||||
versionIntegral: row.version_integral,
|
||||
publishedTimestamp: row.published_timestamp,
|
||||
githubUrl: row.github_url,
|
||||
githubReleaseId: row.github_release_id,
|
||||
releaseType: row.type,
|
||||
notes: row.notes,
|
||||
assets: JSON.parse(row.assets),
|
||||
nextAudit: row.next_audit,
|
||||
nextAuditDays: row.next_audit_days,
|
||||
});
|
||||
}
|
||||
return releases;
|
||||
}
|
||||
|
||||
export async function queryForReleaseTypeCount(
|
||||
db: D1Database,
|
||||
type: ReleaseType
|
||||
): Promise<number> {
|
||||
const latestReleaseQuery = db.prepare(
|
||||
"SELECT COUNT(*) as count FROM releases WHERE release_type = ? AND archived = 0;"
|
||||
);
|
||||
const queryResults: any = await latestReleaseQuery.bind(type).first();
|
||||
return queryResults.count;
|
||||
}
|
||||
|
||||
export async function getReleaseNotesForVersionRange(
|
||||
db: D1Database,
|
||||
base: string,
|
||||
@@ -266,9 +266,7 @@ export async function getReleaseNotesForVersionRange(
|
||||
.all();
|
||||
|
||||
const rows = queryResults.results;
|
||||
let noteDiff: string = "";
|
||||
|
||||
console.log(rows);
|
||||
let noteDiff = "";
|
||||
|
||||
for (const row of rows) {
|
||||
noteDiff += row.notes;
|
||||
|
||||
388
yarn.lock
388
yarn.lock
@@ -297,30 +297,30 @@
|
||||
dependencies:
|
||||
mime "^3.0.0"
|
||||
|
||||
"@cloudflare/workerd-darwin-64@1.20231025.0":
|
||||
version "1.20231025.0"
|
||||
resolved "https://registry.yarnpkg.com/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20231025.0.tgz#13ec8fede25271647f8e4e926a5d8bd5435fd1c8"
|
||||
integrity sha512-MYRYTbSl+tjGg6su7savlLIb8cOcKJfdGpA+WdtgqT2OF7O+89Lag0l1SA/iyVlUkT31Jc6OLHqvzsXgmg+niQ==
|
||||
"@cloudflare/workerd-darwin-64@1.20231030.0":
|
||||
version "1.20231030.0"
|
||||
resolved "https://registry.yarnpkg.com/@cloudflare/workerd-darwin-64/-/workerd-darwin-64-1.20231030.0.tgz#a5376fb484ca80c2a35d5efd1a5e9de0f4ae2a92"
|
||||
integrity sha512-J4PQ9utPxLya9yHdMMx3AZeC5M/6FxcoYw6jo9jbDDFTy+a4Gslqf4Im9We3aeOEdPXa3tgQHVQOSelJSZLhIw==
|
||||
|
||||
"@cloudflare/workerd-darwin-arm64@1.20231025.0":
|
||||
version "1.20231025.0"
|
||||
resolved "https://registry.yarnpkg.com/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20231025.0.tgz#d2644a6ef702635fb1c57a51c6503b8f411cee0d"
|
||||
integrity sha512-BszjtBDR84TVa6oWe74dePJSAukWlTmLw9zR4KeWuwZLJGV7RMm6AmwGStetjnwZrecZaaOFELfBCAHtsebV0Q==
|
||||
"@cloudflare/workerd-darwin-arm64@1.20231030.0":
|
||||
version "1.20231030.0"
|
||||
resolved "https://registry.yarnpkg.com/@cloudflare/workerd-darwin-arm64/-/workerd-darwin-arm64-1.20231030.0.tgz#a25da268440c927d9aeeb81c0c2027a04990262f"
|
||||
integrity sha512-WSJJjm11Del4hSneiNB7wTXGtBXI4QMCH9l5qf4iT5PAW8cESGcCmdHtWDWDtGAAGcvmLT04KNvmum92vRKKQQ==
|
||||
|
||||
"@cloudflare/workerd-linux-64@1.20231025.0":
|
||||
version "1.20231025.0"
|
||||
resolved "https://registry.yarnpkg.com/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20231025.0.tgz#cdb58bbebc3401c35a90ebd3320cf81d4f5f55de"
|
||||
integrity sha512-AT9dxgKXOa9xZxZ3k2a432axPJJ58KpoNWnPiPYGpuAuLoWnfcYwwh6mr9sZVcTdAdTAK9Xu9c81tp0YABanUw==
|
||||
"@cloudflare/workerd-linux-64@1.20231030.0":
|
||||
version "1.20231030.0"
|
||||
resolved "https://registry.yarnpkg.com/@cloudflare/workerd-linux-64/-/workerd-linux-64-1.20231030.0.tgz#b7fea4011db8926ca0fddfe5f3b28263594fb777"
|
||||
integrity sha512-2HUeRTvoCC17fxE0qdBeR7J9dO8j4A8ZbdcvY8pZxdk+zERU6+N03RTbk/dQMU488PwiDvcC3zZqS4gwLfVT8g==
|
||||
|
||||
"@cloudflare/workerd-linux-arm64@1.20231025.0":
|
||||
version "1.20231025.0"
|
||||
resolved "https://registry.yarnpkg.com/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20231025.0.tgz#8b17cf2a724d29377dbb4b16dbf9c0209872a3f5"
|
||||
integrity sha512-EIjex5o2k80YZWPix1btGybL/vNZ3o6vqKX9ptS0JcFkHV5aFX5/kcMwSBRjiIC+w04zVjmGQx3N1Vh3njuncg==
|
||||
"@cloudflare/workerd-linux-arm64@1.20231030.0":
|
||||
version "1.20231030.0"
|
||||
resolved "https://registry.yarnpkg.com/@cloudflare/workerd-linux-arm64/-/workerd-linux-arm64-1.20231030.0.tgz#efea5320513ac84879c854e6f511bb3475e9162c"
|
||||
integrity sha512-4/GK5zHh+9JbUI6Z5xTCM0ZmpKKHk7vu9thmHjUxtz+o8Ne9DoD7DlDvXQWgMF6XGaTubDWyp3ttn+Qv8jDFuQ==
|
||||
|
||||
"@cloudflare/workerd-windows-64@1.20231025.0":
|
||||
version "1.20231025.0"
|
||||
resolved "https://registry.yarnpkg.com/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20231025.0.tgz#a585467c9f2ffee23148f7ed7ad36e565a6b403f"
|
||||
integrity sha512-7vtq0mO22A2v0OOsKXa760r9a84Gg8CK0gDu5uNWlj6hojmt011iz7jJt76I7oo/XrVwVlVfu69GnA3ljx6U8w==
|
||||
"@cloudflare/workerd-windows-64@1.20231030.0":
|
||||
version "1.20231030.0"
|
||||
resolved "https://registry.yarnpkg.com/@cloudflare/workerd-windows-64/-/workerd-windows-64-1.20231030.0.tgz#d1aba21f13ec65f00d1009e0686a1a8ec6c1f8dd"
|
||||
integrity sha512-fb/Jgj8Yqy3PO1jLhk7mTrHMkR8jklpbQFud6rL/aMAn5d6MQbaSrYOCjzkKGp0Zng8D2LIzSl+Fc0C9Sggxjg==
|
||||
|
||||
"@cloudflare/workers-types@^4.20230307.0":
|
||||
version "4.20230307.0"
|
||||
@@ -801,14 +801,6 @@
|
||||
http-cache-semantics "^4.1.0"
|
||||
undici "5.9.1"
|
||||
|
||||
"@miniflare/cli-parser@2.11.0":
|
||||
version "2.11.0"
|
||||
resolved "https://registry.npmjs.org/@miniflare/cli-parser/-/cli-parser-2.11.0.tgz"
|
||||
integrity sha512-JUmyRzEGAS6CouvXJwBh8p44onfw3KRpfq5JGXEuHModOGjTp6li7PQyCTNPV2Hv/7StAXWnTFGXeAqyDHuTig==
|
||||
dependencies:
|
||||
"@miniflare/shared" "2.11.0"
|
||||
kleur "^4.1.4"
|
||||
|
||||
"@miniflare/core@2.11.0":
|
||||
version "2.11.0"
|
||||
resolved "https://registry.npmjs.org/@miniflare/core/-/core-2.11.0.tgz"
|
||||
@@ -853,20 +845,6 @@
|
||||
html-rewriter-wasm "^0.4.1"
|
||||
undici "5.9.1"
|
||||
|
||||
"@miniflare/http-server@2.11.0":
|
||||
version "2.11.0"
|
||||
resolved "https://registry.npmjs.org/@miniflare/http-server/-/http-server-2.11.0.tgz"
|
||||
integrity sha512-sMLcrDFzqqAvnQmAUH0hRTo8sBjW79VZYfnIH5FAGSGcKX6kdAGs9RStdYZ4CftQCBAEQScX0KBsMx5FwJRe9Q==
|
||||
dependencies:
|
||||
"@miniflare/core" "2.11.0"
|
||||
"@miniflare/shared" "2.11.0"
|
||||
"@miniflare/web-sockets" "2.11.0"
|
||||
kleur "^4.1.4"
|
||||
selfsigned "^2.0.0"
|
||||
undici "5.9.1"
|
||||
ws "^8.2.2"
|
||||
youch "^2.2.2"
|
||||
|
||||
"@miniflare/kv@2.11.0":
|
||||
version "2.11.0"
|
||||
resolved "https://registry.npmjs.org/@miniflare/kv/-/kv-2.11.0.tgz"
|
||||
@@ -896,15 +874,6 @@
|
||||
dependencies:
|
||||
"@miniflare/shared" "2.11.0"
|
||||
|
||||
"@miniflare/scheduler@2.11.0":
|
||||
version "2.11.0"
|
||||
resolved "https://registry.npmjs.org/@miniflare/scheduler/-/scheduler-2.11.0.tgz"
|
||||
integrity sha512-DPdzINhdWeS99eIicGoluMsD4pLTTAWNQbgCv3CTwgdKA3dxdvMSCkNqZzQLiALzvk9+rSfj46FlH++HE7o7/w==
|
||||
dependencies:
|
||||
"@miniflare/core" "2.11.0"
|
||||
"@miniflare/shared" "2.11.0"
|
||||
cron-schedule "^3.0.4"
|
||||
|
||||
"@miniflare/shared-test-environment@2.11.0":
|
||||
version "2.11.0"
|
||||
resolved "https://registry.npmjs.org/@miniflare/shared-test-environment/-/shared-test-environment-2.11.0.tgz"
|
||||
@@ -995,122 +964,117 @@
|
||||
"@nodelib/fs.scandir" "2.1.5"
|
||||
fastq "^1.6.0"
|
||||
|
||||
"@octokit/auth-token@^3.0.0":
|
||||
version "3.0.2"
|
||||
resolved "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-3.0.2.tgz"
|
||||
integrity sha512-pq7CwIMV1kmzkFTimdwjAINCXKTajZErLB4wMLYapR2nuB/Jpr66+05wOTZMSCBXP6n4DdDWT2W19Bm17vU69Q==
|
||||
dependencies:
|
||||
"@octokit/types" "^8.0.0"
|
||||
"@octokit/auth-token@^4.0.0":
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/auth-token/-/auth-token-4.0.0.tgz#40d203ea827b9f17f42a29c6afb93b7745ef80c7"
|
||||
integrity sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==
|
||||
|
||||
"@octokit/core@^4.1.0":
|
||||
version "4.1.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/core/-/core-4.1.0.tgz"
|
||||
integrity sha512-Czz/59VefU+kKDy+ZfDwtOIYIkFjExOKf+HA92aiTZJ6EfWpFzYQWw0l54ji8bVmyhc+mGaLUbSUmXazG7z5OQ==
|
||||
"@octokit/core@^5.0.0":
|
||||
version "5.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/core/-/core-5.0.2.tgz#ae7c5d61fdd98ba348a27c3cc510879a130b1234"
|
||||
integrity sha512-cZUy1gUvd4vttMic7C0lwPed8IYXWYp8kHIMatyhY8t8n3Cpw2ILczkV5pGMPqef7v0bLo0pOHrEHarsau2Ydg==
|
||||
dependencies:
|
||||
"@octokit/auth-token" "^3.0.0"
|
||||
"@octokit/graphql" "^5.0.0"
|
||||
"@octokit/request" "^6.0.0"
|
||||
"@octokit/request-error" "^3.0.0"
|
||||
"@octokit/types" "^8.0.0"
|
||||
"@octokit/auth-token" "^4.0.0"
|
||||
"@octokit/graphql" "^7.0.0"
|
||||
"@octokit/request" "^8.0.2"
|
||||
"@octokit/request-error" "^5.0.0"
|
||||
"@octokit/types" "^12.0.0"
|
||||
before-after-hook "^2.2.0"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/endpoint@^7.0.0":
|
||||
version "7.0.3"
|
||||
resolved "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-7.0.3.tgz"
|
||||
integrity sha512-57gRlb28bwTsdNXq+O3JTQ7ERmBTuik9+LelgcLIVfYwf235VHbN9QNo4kXExtp/h8T423cR5iJThKtFYxC7Lw==
|
||||
"@octokit/endpoint@^9.0.0":
|
||||
version "9.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/endpoint/-/endpoint-9.0.3.tgz#2a38b92766bd535775b1adc7b731458497433613"
|
||||
integrity sha512-TXVX57fJV7SA6LvRkeXPIOBr8AKvKDlhwNVBP/26O9DjIFi+CkYZGFLP9WtPdVOicRIhqGHxBCC6Fdj5AWWGgQ==
|
||||
dependencies:
|
||||
"@octokit/types" "^8.0.0"
|
||||
is-plain-object "^5.0.0"
|
||||
"@octokit/types" "^12.0.0"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/graphql@^5.0.0":
|
||||
version "5.0.4"
|
||||
resolved "https://registry.npmjs.org/@octokit/graphql/-/graphql-5.0.4.tgz"
|
||||
integrity sha512-amO1M5QUQgYQo09aStR/XO7KAl13xpigcy/kI8/N1PnZYSS69fgte+xA4+c2DISKqUZfsh0wwjc2FaCt99L41A==
|
||||
"@octokit/graphql@^7.0.0":
|
||||
version "7.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/graphql/-/graphql-7.0.2.tgz#3df14b9968192f9060d94ed9e3aa9780a76e7f99"
|
||||
integrity sha512-OJ2iGMtj5Tg3s6RaXH22cJcxXRi7Y3EBqbHTBRq+PQAqfaS8f/236fUrWhfSn8P4jovyzqucxme7/vWSSZBX2Q==
|
||||
dependencies:
|
||||
"@octokit/request" "^6.0.0"
|
||||
"@octokit/types" "^8.0.0"
|
||||
"@octokit/request" "^8.0.1"
|
||||
"@octokit/types" "^12.0.0"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/openapi-types@^14.0.0":
|
||||
version "14.0.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-14.0.0.tgz"
|
||||
integrity sha512-HNWisMYlR8VCnNurDU6os2ikx0s0VyEjDYHNS/h4cgb8DeOxQ0n72HyinUtdDVxJhFy3FWLGl0DJhfEWk3P5Iw==
|
||||
"@octokit/openapi-types@^19.0.2":
|
||||
version "19.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-19.0.2.tgz#d72778fe2f6151314b6f0201fbc771bb741276fc"
|
||||
integrity sha512-8li32fUDUeml/ACRp/njCWTsk5t17cfTM1jp9n08pBrqs5cDFJubtjsSnuz56r5Tad6jdEPJld7LxNp9dNcyjQ==
|
||||
|
||||
"@octokit/plugin-paginate-rest@^5.0.0":
|
||||
"@octokit/plugin-paginate-rest@^9.0.0":
|
||||
version "9.1.4"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-9.1.4.tgz#9eca55e3e88f15b574e072732769e933bfa88d8b"
|
||||
integrity sha512-MvZx4WvfhBnt7PtH5XE7HORsO7bBk4er1FgRIUr1qJ89NR2I6bWjGyKsxk8z42FPQ34hFQm0Baanh4gzdZR4gQ==
|
||||
dependencies:
|
||||
"@octokit/types" "^12.3.0"
|
||||
|
||||
"@octokit/plugin-request-log@^4.0.0":
|
||||
version "4.0.0"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/plugin-request-log/-/plugin-request-log-4.0.0.tgz#260fa6970aa97bbcbd91f99f3cd812e2b285c9f1"
|
||||
integrity sha512-2uJI1COtYCq8Z4yNSnM231TgH50bRkheQ9+aH8TnZanB6QilOnx8RMD2qsnamSOXtDj0ilxvevf5fGsBhBBzKA==
|
||||
|
||||
"@octokit/plugin-rest-endpoint-methods@^10.0.0":
|
||||
version "10.1.5"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-10.1.5.tgz#b03559e439f951a484c0cfb69ceac86a7eb92358"
|
||||
integrity sha512-LMEdsMV8TTMjMTqVoqMzV95XTbv0ZsWxCxQtjAunQOCdwoDH4BVF/Ke5JMSZEVCWGI2kzxnUNbFnK/MxwV7NjA==
|
||||
dependencies:
|
||||
"@octokit/types" "^12.3.0"
|
||||
|
||||
"@octokit/plugin-retry@^6.0.1":
|
||||
version "6.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/plugin-retry/-/plugin-retry-6.0.1.tgz#3257404f7cc418e1c1f13a7f2012c1db848b7693"
|
||||
integrity sha512-SKs+Tz9oj0g4p28qkZwl/topGcb0k0qPNX/i7vBKmDsjoeqnVfFUquqrE/O9oJY7+oLzdCtkiWSXLpLjvl6uog==
|
||||
dependencies:
|
||||
"@octokit/request-error" "^5.0.0"
|
||||
"@octokit/types" "^12.0.0"
|
||||
bottleneck "^2.15.3"
|
||||
|
||||
"@octokit/plugin-throttling@^8.1.3":
|
||||
version "8.1.3"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/plugin-throttling/-/plugin-throttling-8.1.3.tgz#7fb0e001c0cb9383c6be07740b8ec326ed990f6b"
|
||||
integrity sha512-pfyqaqpc0EXh5Cn4HX9lWYsZ4gGbjnSmUILeu4u2gnuM50K/wIk9s1Pxt3lVeVwekmITgN/nJdoh43Ka+vye8A==
|
||||
dependencies:
|
||||
"@octokit/types" "^12.2.0"
|
||||
bottleneck "^2.15.3"
|
||||
|
||||
"@octokit/request-error@^5.0.0":
|
||||
version "5.0.1"
|
||||
resolved "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-5.0.1.tgz"
|
||||
integrity sha512-7A+rEkS70pH36Z6JivSlR7Zqepz3KVucEFVDnSrgHXzG7WLAzYwcHZbKdfTXHwuTHbkT1vKvz7dHl1+HNf6Qyw==
|
||||
resolved "https://registry.yarnpkg.com/@octokit/request-error/-/request-error-5.0.1.tgz#277e3ce3b540b41525e07ba24c5ef5e868a72db9"
|
||||
integrity sha512-X7pnyTMV7MgtGmiXBwmO6M5kIPrntOXdyKZLigNfQWSEQzVxR4a4vo49vJjTWX70mPndj8KhfT4Dx+2Ng3vnBQ==
|
||||
dependencies:
|
||||
"@octokit/types" "^8.0.0"
|
||||
|
||||
"@octokit/plugin-request-log@^1.0.4":
|
||||
version "1.0.4"
|
||||
resolved "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.4.tgz"
|
||||
integrity sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==
|
||||
|
||||
"@octokit/plugin-rest-endpoint-methods@^6.7.0":
|
||||
version "6.7.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-6.7.0.tgz"
|
||||
integrity sha512-orxQ0fAHA7IpYhG2flD2AygztPlGYNAdlzYz8yrD8NDgelPfOYoRPROfEyIe035PlxvbYrgkfUZIhSBKju/Cvw==
|
||||
dependencies:
|
||||
"@octokit/types" "^8.0.0"
|
||||
deprecation "^2.3.1"
|
||||
|
||||
"@octokit/plugin-retry@^4.0.3":
|
||||
version "4.0.3"
|
||||
resolved "https://registry.npmjs.org/@octokit/plugin-retry/-/plugin-retry-4.0.3.tgz"
|
||||
integrity sha512-tDR+4Cs9GPPNJ7/RjTEq5ty2wqjKe1hRUV7/hch+nORow5LshlHXTT1qfYNsFPw3S9szvFFAfDEFq/xwrEpL7g==
|
||||
dependencies:
|
||||
"@octokit/types" "^8.0.0"
|
||||
bottleneck "^2.15.3"
|
||||
|
||||
"@octokit/plugin-throttling@^4.3.2":
|
||||
version "4.3.2"
|
||||
resolved "https://registry.npmjs.org/@octokit/plugin-throttling/-/plugin-throttling-4.3.2.tgz"
|
||||
integrity sha512-ZaCK599h3tzcoy0Jtdab95jgmD7X9iAk59E2E7hYKCAmnURaI4WpzwL9vckImilybUGrjY1JOWJapDs2N2D3vw==
|
||||
dependencies:
|
||||
"@octokit/types" "^8.0.0"
|
||||
bottleneck "^2.15.3"
|
||||
|
||||
"@octokit/request-error@^3.0.0":
|
||||
version "3.0.2"
|
||||
resolved "https://registry.npmjs.org/@octokit/request-error/-/request-error-3.0.2.tgz"
|
||||
integrity sha512-WMNOFYrSaX8zXWoJg9u/pKgWPo94JXilMLb2VManNOby9EZxrQaBe/QSC4a1TzpAlpxofg2X/jMnCyZgL6y7eg==
|
||||
dependencies:
|
||||
"@octokit/types" "^8.0.0"
|
||||
"@octokit/types" "^12.0.0"
|
||||
deprecation "^2.0.0"
|
||||
once "^1.4.0"
|
||||
|
||||
"@octokit/request@^6.0.0":
|
||||
version "6.2.2"
|
||||
resolved "https://registry.npmjs.org/@octokit/request/-/request-6.2.2.tgz"
|
||||
integrity sha512-6VDqgj0HMc2FUX2awIs+sM6OwLgwHvAi4KCK3mT2H2IKRt6oH9d0fej5LluF5mck1lRR/rFWN0YIDSYXYSylbw==
|
||||
"@octokit/request@^8.0.1", "@octokit/request@^8.0.2":
|
||||
version "8.1.6"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/request/-/request-8.1.6.tgz#a76a859c30421737a3918b40973c2ff369009571"
|
||||
integrity sha512-YhPaGml3ncZC1NfXpP3WZ7iliL1ap6tLkAp6MvbK2fTTPytzVUyUesBBogcdMm86uRYO5rHaM1xIWxigWZ17MQ==
|
||||
dependencies:
|
||||
"@octokit/endpoint" "^7.0.0"
|
||||
"@octokit/request-error" "^3.0.0"
|
||||
"@octokit/types" "^8.0.0"
|
||||
is-plain-object "^5.0.0"
|
||||
node-fetch "^2.6.7"
|
||||
"@octokit/endpoint" "^9.0.0"
|
||||
"@octokit/request-error" "^5.0.0"
|
||||
"@octokit/types" "^12.0.0"
|
||||
universal-user-agent "^6.0.0"
|
||||
|
||||
"@octokit/rest@^19.0.5":
|
||||
version "19.0.5"
|
||||
resolved "https://registry.npmjs.org/@octokit/rest/-/rest-19.0.5.tgz"
|
||||
integrity sha512-+4qdrUFq2lk7Va+Qff3ofREQWGBeoTKNqlJO+FGjFP35ZahP+nBenhZiGdu8USSgmq4Ky3IJ/i4u0xbLqHaeow==
|
||||
"@octokit/rest@^20.0.2":
|
||||
version "20.0.2"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/rest/-/rest-20.0.2.tgz#5cc8871ba01b14604439049e5f06c74b45c99594"
|
||||
integrity sha512-Ux8NDgEraQ/DMAU1PlAohyfBBXDwhnX2j33Z1nJNziqAfHi70PuxkFYIcIt8aIAxtRE7KVuKp8lSR8pA0J5iOQ==
|
||||
dependencies:
|
||||
"@octokit/core" "^4.1.0"
|
||||
"@octokit/plugin-paginate-rest" "^5.0.0"
|
||||
"@octokit/plugin-request-log" "^1.0.4"
|
||||
"@octokit/plugin-rest-endpoint-methods" "^6.7.0"
|
||||
"@octokit/core" "^5.0.0"
|
||||
"@octokit/plugin-paginate-rest" "^9.0.0"
|
||||
"@octokit/plugin-request-log" "^4.0.0"
|
||||
"@octokit/plugin-rest-endpoint-methods" "^10.0.0"
|
||||
|
||||
"@octokit/types@^8.0.0":
|
||||
version "8.0.0"
|
||||
resolved "https://registry.npmjs.org/@octokit/types/-/types-8.0.0.tgz"
|
||||
integrity sha512-65/TPpOJP1i3K4lBJMnWqPUJ6zuOtzhtagDvydAWbEXpbFYA0oMKKyLb95NFZZP0lSh/4b6K+DQlzvYQJQQePg==
|
||||
"@octokit/types@^12.0.0", "@octokit/types@^12.2.0", "@octokit/types@^12.3.0":
|
||||
version "12.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@octokit/types/-/types-12.3.0.tgz#e3f8bc53f65ef551e19cc1a0fea15adadec17d2d"
|
||||
integrity sha512-nJ8X2HRr234q3w/FcovDlA+ttUU4m1eJAourvfUUtwAWeqL8AsyRqfnLvVnYn3NFbUnsmzQCzLNdFerPwdmcDQ==
|
||||
dependencies:
|
||||
"@octokit/openapi-types" "^14.0.0"
|
||||
"@octokit/openapi-types" "^19.0.2"
|
||||
|
||||
"@sinclair/typebox@^0.24.1":
|
||||
version "0.24.51"
|
||||
@@ -1227,11 +1191,6 @@
|
||||
resolved "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz"
|
||||
integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==
|
||||
|
||||
"@types/stack-trace@0.0.29":
|
||||
version "0.0.29"
|
||||
resolved "https://registry.npmjs.org/@types/stack-trace/-/stack-trace-0.0.29.tgz"
|
||||
integrity sha512-TgfOX+mGY/NyNxJLIbDWrO9DjGoVSW9+aB8H2yy1fy32jsvxijhmyJI9fDFgvz3YP4lvJaq9DzdR/M1bOgVc9g==
|
||||
|
||||
"@types/stack-utils@^2.0.0":
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz"
|
||||
@@ -1733,21 +1692,11 @@ convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
|
||||
resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz"
|
||||
integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
|
||||
|
||||
cookie@^0.4.1:
|
||||
version "0.4.2"
|
||||
resolved "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz"
|
||||
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
|
||||
|
||||
cookie@^0.5.0:
|
||||
version "0.5.0"
|
||||
resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz"
|
||||
integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
|
||||
|
||||
cron-schedule@^3.0.4:
|
||||
version "3.0.6"
|
||||
resolved "https://registry.npmjs.org/cron-schedule/-/cron-schedule-3.0.6.tgz"
|
||||
integrity sha512-izfGgKyzzIyLaeb1EtZ3KbglkS6AKp9cv7LxmiyoOu+fXfol1tQDC0Cof0enVZGNtudTHW+3lfuW9ZkLQss4Wg==
|
||||
|
||||
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
|
||||
version "7.0.3"
|
||||
resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz"
|
||||
@@ -1796,7 +1745,7 @@ deepmerge@^4.2.2:
|
||||
resolved "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz"
|
||||
integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
|
||||
|
||||
deprecation@^2.0.0, deprecation@^2.3.1:
|
||||
deprecation@^2.0.0:
|
||||
version "2.3.1"
|
||||
resolved "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz"
|
||||
integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
|
||||
@@ -2468,11 +2417,6 @@ is-path-inside@^3.0.3:
|
||||
resolved "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz"
|
||||
integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==
|
||||
|
||||
is-plain-object@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz"
|
||||
integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
|
||||
|
||||
is-stream@^2.0.0:
|
||||
version "2.0.1"
|
||||
resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz"
|
||||
@@ -3142,10 +3086,10 @@ mimic-response@^3.1.0:
|
||||
resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz"
|
||||
integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
|
||||
|
||||
miniflare@3.20231025.0:
|
||||
version "3.20231025.0"
|
||||
resolved "https://registry.yarnpkg.com/miniflare/-/miniflare-3.20231025.0.tgz#1b27c21b6cdc6f927da77ddc96fe2e0a5e0fa248"
|
||||
integrity sha512-pFcr2BRaGIQ26UfdDo8BMJ6kkd/Jo/FkQ/4K7UG/eORlDepsLrR/sTJddcSSIGl07MA+MGjhzopFTPpFskkS+g==
|
||||
miniflare@3.20231030.1, miniflare@^3.20231030.1:
|
||||
version "3.20231030.1"
|
||||
resolved "https://registry.yarnpkg.com/miniflare/-/miniflare-3.20231030.1.tgz#dc67d954df54f11d0af0b3e10907880bc8726dc6"
|
||||
integrity sha512-Y+EkgV/aFg/3Y/xfFtImK36sLZGXvNS45avVEz0cUCA2pGpg4hGdPu1Udmz5b06SyeUEFVf/dEDMJwdRYVEgLw==
|
||||
dependencies:
|
||||
acorn "^8.8.0"
|
||||
acorn-walk "^8.2.0"
|
||||
@@ -3155,38 +3099,11 @@ miniflare@3.20231025.0:
|
||||
source-map-support "0.5.21"
|
||||
stoppable "^1.1.0"
|
||||
undici "^5.22.1"
|
||||
workerd "1.20231025.0"
|
||||
workerd "1.20231030.0"
|
||||
ws "^8.11.0"
|
||||
youch "^3.2.2"
|
||||
zod "^3.20.6"
|
||||
|
||||
miniflare@^2.6.0:
|
||||
version "2.11.0"
|
||||
resolved "https://registry.npmjs.org/miniflare/-/miniflare-2.11.0.tgz"
|
||||
integrity sha512-QA18I1VQXdCo4nBtPJUcUDxW8c9xbc5ex5F61jwhkGVOISSnYdEheolESmjr8MYk28xwi0XD1ozS4rLaTONd+w==
|
||||
dependencies:
|
||||
"@miniflare/cache" "2.11.0"
|
||||
"@miniflare/cli-parser" "2.11.0"
|
||||
"@miniflare/core" "2.11.0"
|
||||
"@miniflare/d1" "2.11.0"
|
||||
"@miniflare/durable-objects" "2.11.0"
|
||||
"@miniflare/html-rewriter" "2.11.0"
|
||||
"@miniflare/http-server" "2.11.0"
|
||||
"@miniflare/kv" "2.11.0"
|
||||
"@miniflare/queues" "2.11.0"
|
||||
"@miniflare/r2" "2.11.0"
|
||||
"@miniflare/runner-vm" "2.11.0"
|
||||
"@miniflare/scheduler" "2.11.0"
|
||||
"@miniflare/shared" "2.11.0"
|
||||
"@miniflare/sites" "2.11.0"
|
||||
"@miniflare/storage-file" "2.11.0"
|
||||
"@miniflare/storage-memory" "2.11.0"
|
||||
"@miniflare/web-sockets" "2.11.0"
|
||||
kleur "^4.1.4"
|
||||
semiver "^1.1.0"
|
||||
source-map-support "^0.5.20"
|
||||
undici "5.9.1"
|
||||
|
||||
minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
|
||||
version "3.1.2"
|
||||
resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
|
||||
@@ -3241,13 +3158,6 @@ node-abi@^3.3.0:
|
||||
dependencies:
|
||||
semver "^7.3.5"
|
||||
|
||||
node-fetch@^2.6.7:
|
||||
version "2.6.7"
|
||||
resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz"
|
||||
integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
|
||||
dependencies:
|
||||
whatwg-url "^5.0.0"
|
||||
|
||||
node-forge@^1:
|
||||
version "1.3.1"
|
||||
resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz"
|
||||
@@ -3639,18 +3549,13 @@ safe-buffer@^5.0.1, safe-buffer@~5.2.0:
|
||||
resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
|
||||
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
|
||||
|
||||
selfsigned@^2.0.0, selfsigned@^2.0.1:
|
||||
selfsigned@^2.0.1:
|
||||
version "2.1.1"
|
||||
resolved "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz"
|
||||
integrity sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==
|
||||
dependencies:
|
||||
node-forge "^1"
|
||||
|
||||
semiver@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.npmjs.org/semiver/-/semiver-1.1.0.tgz"
|
||||
integrity sha512-QNI2ChmuioGC1/xjyYwyZYADILWyW6AmS1UH6gDj/SFUUUS4MBAWs/7mxnkRPc/F4iHezDP+O8t0dO8WHiEOdg==
|
||||
|
||||
semver@7.x, semver@^7.0.0, semver@^7.3.5, semver@^7.3.7:
|
||||
version "7.3.8"
|
||||
resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz"
|
||||
@@ -3717,7 +3622,7 @@ source-map-support@0.5.13:
|
||||
buffer-from "^1.0.0"
|
||||
source-map "^0.6.0"
|
||||
|
||||
source-map-support@0.5.21, source-map-support@^0.5.20:
|
||||
source-map-support@0.5.21:
|
||||
version "0.5.21"
|
||||
resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz"
|
||||
integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
|
||||
@@ -3740,11 +3645,6 @@ sprintf-js@~1.0.2:
|
||||
resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz"
|
||||
integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
|
||||
|
||||
stack-trace@0.0.10:
|
||||
version "0.0.10"
|
||||
resolved "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.10.tgz"
|
||||
integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg==
|
||||
|
||||
stack-utils@^2.0.3:
|
||||
version "2.0.6"
|
||||
resolved "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz"
|
||||
@@ -3920,11 +3820,6 @@ to-regex-range@^5.0.1:
|
||||
dependencies:
|
||||
is-number "^7.0.0"
|
||||
|
||||
tr46@~0.0.3:
|
||||
version "0.0.3"
|
||||
resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
|
||||
integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==
|
||||
|
||||
ts-jest@^28.0.7:
|
||||
version "28.0.8"
|
||||
resolved "https://registry.npmjs.org/ts-jest/-/ts-jest-28.0.8.tgz"
|
||||
@@ -4060,19 +3955,6 @@ walker@^1.0.8:
|
||||
dependencies:
|
||||
makeerror "1.0.12"
|
||||
|
||||
webidl-conversions@^3.0.0:
|
||||
version "3.0.1"
|
||||
resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
|
||||
integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==
|
||||
|
||||
whatwg-url@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz"
|
||||
integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==
|
||||
dependencies:
|
||||
tr46 "~0.0.3"
|
||||
webidl-conversions "^3.0.0"
|
||||
|
||||
which@^2.0.1:
|
||||
version "2.0.2"
|
||||
resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz"
|
||||
@@ -4085,21 +3967,21 @@ word-wrap@^1.2.3:
|
||||
resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz"
|
||||
integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
|
||||
|
||||
workerd@1.20231025.0:
|
||||
version "1.20231025.0"
|
||||
resolved "https://registry.yarnpkg.com/workerd/-/workerd-1.20231025.0.tgz#de9bf6e5945c9e67eb272cec5c86232a602ac924"
|
||||
integrity sha512-W1PFtpMFfvmm+ozBf+u70TE3Pviv7WA4qzDeejHDC4z+PFDq4+3KJCkgffaGBO86h+akWO0hSsc0uXL2zAqofQ==
|
||||
workerd@1.20231030.0:
|
||||
version "1.20231030.0"
|
||||
resolved "https://registry.yarnpkg.com/workerd/-/workerd-1.20231030.0.tgz#937588da16a3fa9cc73375c1e6967d02610ee367"
|
||||
integrity sha512-+FSW+d31f8RrjHanFf/R9A+Z0csf3OtsvzdPmAKuwuZm/5HrBv83cvG9fFeTxl7/nI6irUUXIRF9xcj/NomQzQ==
|
||||
optionalDependencies:
|
||||
"@cloudflare/workerd-darwin-64" "1.20231025.0"
|
||||
"@cloudflare/workerd-darwin-arm64" "1.20231025.0"
|
||||
"@cloudflare/workerd-linux-64" "1.20231025.0"
|
||||
"@cloudflare/workerd-linux-arm64" "1.20231025.0"
|
||||
"@cloudflare/workerd-windows-64" "1.20231025.0"
|
||||
"@cloudflare/workerd-darwin-64" "1.20231030.0"
|
||||
"@cloudflare/workerd-darwin-arm64" "1.20231030.0"
|
||||
"@cloudflare/workerd-linux-64" "1.20231030.0"
|
||||
"@cloudflare/workerd-linux-arm64" "1.20231030.0"
|
||||
"@cloudflare/workerd-windows-64" "1.20231030.0"
|
||||
|
||||
wrangler@^3.15.0:
|
||||
version "3.15.0"
|
||||
resolved "https://registry.yarnpkg.com/wrangler/-/wrangler-3.15.0.tgz#8b5d6d9b01f75273b50b14ed0b1fa9013f26aa6a"
|
||||
integrity sha512-kxzK62rD+LRrDeZZzw8cP6FBub71vJCbfAAb594XobXajgXYh3pFjv18Vm8YLxHzoGMhmAOJPA5b4DHq4HEUCw==
|
||||
wrangler@^3.17.0:
|
||||
version "3.17.1"
|
||||
resolved "https://registry.yarnpkg.com/wrangler/-/wrangler-3.17.1.tgz#1fc439b8a083795366dd17108c41fc3ab4cae190"
|
||||
integrity sha512-Pr9+/tjFkthzG63uoVm1NtVvgokT6p92fy1UsOgrntHyTu0pZMC1VJzG0NC8Vhs+z/+yTT8AqVV6AiJb3w8ZOQ==
|
||||
dependencies:
|
||||
"@cloudflare/kv-asset-handler" "^0.2.0"
|
||||
"@esbuild-plugins/node-globals-polyfill" "^0.2.3"
|
||||
@@ -4107,7 +3989,7 @@ wrangler@^3.15.0:
|
||||
blake3-wasm "^2.1.5"
|
||||
chokidar "^3.5.3"
|
||||
esbuild "0.17.19"
|
||||
miniflare "3.20231025.0"
|
||||
miniflare "3.20231030.1"
|
||||
nanoid "^3.3.3"
|
||||
path-to-regexp "^6.2.0"
|
||||
resolve.exports "^2.0.2"
|
||||
@@ -4188,16 +4070,6 @@ yocto-queue@^0.1.0:
|
||||
resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz"
|
||||
integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
|
||||
|
||||
youch@^2.2.2:
|
||||
version "2.2.2"
|
||||
resolved "https://registry.npmjs.org/youch/-/youch-2.2.2.tgz"
|
||||
integrity sha512-/FaCeG3GkuJwaMR34GHVg0l8jCbafZLHiFowSjqLlqhC6OMyf2tPJBu8UirF7/NI9X/R5ai4QfEKUCOxMAGxZQ==
|
||||
dependencies:
|
||||
"@types/stack-trace" "0.0.29"
|
||||
cookie "^0.4.1"
|
||||
mustache "^4.2.0"
|
||||
stack-trace "0.0.10"
|
||||
|
||||
youch@^3.2.2:
|
||||
version "3.3.3"
|
||||
resolved "https://registry.npmjs.org/youch/-/youch-3.3.3.tgz"
|
||||
|
||||
Reference in New Issue
Block a user