mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-01-11 19:58:28 +01:00
* Moved all extensions into modules that are using them, rather than globally, since they mess up ghci session and introduce conflicts among packages. Removed those from `.ghci` file as well * Redesigned the schema to use Pantry and moved it into it's own module * Switched all of the db and cron related stuff to RIO. Yesod part is still on classy-prelude * Got pantry to update stackage-server database from hackage * Got import of stackage-snapshots implemented * Moved some logic from all-cabal-tool * Switched everything to `PackageNameP`, `VersionP`, etc. from a la Text. * Fixed haddock, so it now does proper redirects and pipes the docs correctly. Also implemented piping of json files from S3 bucket, so index-doc.json is also served by stackage-server thus making Ctrl+S feature work properly on haddock. Fix for commercialhaskell/stackage#4301 * Import of modules is done through cabal file parsing, which slows down the initial import process drastically, but incremental update is not a problem. * Just as with modules, dependencies are also imported from cabal file. * In general improved type safety by introducing a few data types: eg. `ModuleNameP`, `HackageCabalInfo`, and many more. * Implemented pulling of deprecation map from hackages and storing it in db * Implementation of forward/backward dependencies within a snapshot only. * Drastically improved performance of cron import job, by checking which snapshots are not up to date * Implemented pulling haddock list from S3 bucket. Modules that have documentation are marked from the availability of actual haddock. This process happens concurrently with snapshots loading. * Rearranged modules a bit: * github related functions went into it's own module * cron related functions where moved from Database to Cron module * Split up some functions to reduce individual complexity * Parallelized package loading in cron job * Implemented parsed cabal file caching. * All queries where reqritten with esqueleto * Syntactic improvements: * Added stylish-haskell config * Formatted all imports and extensions with stylish-haskell. * Fixed inconsistent indentation across all modules * Many improvements to the package page as well as few others. * Reimplemented hoogledb creation. * Dropped dependency on tar in favor of tar-conduit * Added cli for stackage-server-cron * Add cabal sha and size to the package page * Fixed links in hoogle searches. Improved type safety for a hoogle handler * satckage-server-cron is customizable with cli arguments Final adjustments for the new stackage server release: * Upgrade to lts-13.16. * Stackage server related code has been merged to pantry. Made the code compatible with the newer version pantry * Added cli '--snapshots-repo' * Add readme to package page * Adjust snapshots expected format: * Added `publish-time` * Removed name `field` * `compiler` field is now in the `resolver` field with fallback to the root
63 lines
1.7 KiB
Plaintext
63 lines
1.7 KiB
Plaintext
!/#SnapshotBranch/*Texts OldSnapshotBranchR GET
|
|
|
|
/static StaticR Static appStatic
|
|
/reload WebsiteContentR GitRepo-WebsiteContent appWebsiteContent
|
|
|
|
/favicon.ico FaviconR GET
|
|
/robots.txt RobotsR GET
|
|
/sitemap.xml SitemapR GET
|
|
|
|
/ HomeR GET
|
|
/snapshots AllSnapshotsR GET
|
|
|
|
/snapshot/#Text/*Texts OldSnapshotR GET
|
|
|
|
!/#SnapName SnapshotR:
|
|
/ StackageHomeR GET
|
|
/cabal.config StackageCabalConfigR GET
|
|
/00-index.tar.gz StackageIndexR GET
|
|
/package/#PackageNameVersion StackageSdistR GET
|
|
/package/#PackageNameVersion/deps SnapshotPackageDepsR GET
|
|
/package/#PackageNameVersion/revdeps SnapshotPackageRevDepsR GET
|
|
/packages SnapshotPackagesR GET
|
|
/docs DocsR GET
|
|
/hoogle HoogleR GET
|
|
/db.hoo HoogleDatabaseR GET
|
|
/build-plan BuildPlanR GET
|
|
/ghc-major-version GhcMajorVersionR GET
|
|
|
|
/diff/#SnapName/#SnapName StackageDiffR GET
|
|
|
|
/system SystemR GET
|
|
/haddock/#SnapName/*Texts HaddockR GET
|
|
!/haddock/*Texts HaddockBackupR GET
|
|
/package/#PackageNameP PackageR GET
|
|
/package/#PackageNameP/snapshots PackageSnapshotsR GET
|
|
/package/#PackageNameP/badge/#SnapshotBranch PackageBadgeR GET
|
|
/package PackageListR GET
|
|
/package/#PackageNameP/deps PackageDepsR GET
|
|
/package/#PackageNameP/revdeps PackageRevDepsR GET
|
|
|
|
/authors AuthorsR GET
|
|
/install InstallR GET
|
|
/older-releases OlderReleasesR GET
|
|
|
|
/build-version BuildVersionR GitRev appGitRev
|
|
|
|
/download DownloadR GET
|
|
/download/snapshots.json DownloadSnapshotsJsonR GET
|
|
/download/lts-snapshots.json DownloadLtsSnapshotsJsonR GET
|
|
/download/#SupportedArch/#Text DownloadGhcLinksR GET
|
|
|
|
/feed FeedR GET
|
|
/feed/#SnapshotBranch BranchFeedR GET
|
|
|
|
/stack DownloadStackListR GET
|
|
/stack/#Text DownloadStackR GET
|
|
|
|
/status/mirror MirrorStatusR GET
|
|
|
|
/blog BlogHomeR GET
|
|
/blog/#Year/#Month/#Text BlogPostR GET
|
|
/blog/feed BlogFeedR GET
|