Code review fixes for #1404
This commit is contained in:
parent
ded136513c
commit
274b5445a1
@ -1,3 +1,8 @@
|
|||||||
|
## 1.5.3
|
||||||
|
|
||||||
|
* Add `staticFilesMap` function
|
||||||
|
* Add `staticFilesMergeMap` function
|
||||||
|
|
||||||
## 1.5.2
|
## 1.5.2
|
||||||
|
|
||||||
* Fix test case for CRLF line endings
|
* Fix test case for CRLF line endings
|
||||||
|
|||||||
@ -276,8 +276,10 @@ staticFilesList dir fs =
|
|||||||
publicFiles :: FilePath -> Q [Dec]
|
publicFiles :: FilePath -> Q [Dec]
|
||||||
publicFiles dir = mkStaticFiles' dir False
|
publicFiles dir = mkStaticFiles' dir False
|
||||||
|
|
||||||
-- | Similar to 'staticFilesList', but takes a manifest mapping
|
-- | Similar to 'staticFilesList', but takes a mapping of
|
||||||
-- unmunged names to fingerprinted file names.
|
-- unmunged names to fingerprinted file names.
|
||||||
|
--
|
||||||
|
-- @since 1.5.3
|
||||||
staticFilesMap :: FilePath -> M.Map FilePath FilePath -> Q [Dec]
|
staticFilesMap :: FilePath -> M.Map FilePath FilePath -> Q [Dec]
|
||||||
staticFilesMap fp m = mkStaticFilesList' fp (map splitBoth mapList) True
|
staticFilesMap fp m = mkStaticFilesList' fp (map splitBoth mapList) True
|
||||||
where
|
where
|
||||||
@ -289,6 +291,11 @@ staticFilesMap fp m = mkStaticFilesList' fp (map splitBoth mapList) True
|
|||||||
let (a, b) = break (== '/') x
|
let (a, b) = break (== '/') x
|
||||||
in a : split (drop 1 b)
|
in a : split (drop 1 b)
|
||||||
|
|
||||||
|
-- | Similar to 'staticFilesMergeMap', but also generates identifiers
|
||||||
|
-- for all files in the specified directory that don't have a
|
||||||
|
-- fingerprinted version.
|
||||||
|
--
|
||||||
|
-- @since 1.5.3
|
||||||
staticFilesMergeMap :: FilePath -> M.Map FilePath FilePath -> Q [Dec]
|
staticFilesMergeMap :: FilePath -> M.Map FilePath FilePath -> Q [Dec]
|
||||||
staticFilesMergeMap fp m = do
|
staticFilesMergeMap fp m = do
|
||||||
fs <- qRunIO $ getFileListPieces fp
|
fs <- qRunIO $ getFileListPieces fp
|
||||||
@ -305,6 +312,9 @@ staticFilesMergeMap fp m = do
|
|||||||
split x =
|
split x =
|
||||||
let (a, b) = break (== '/') x
|
let (a, b) = break (== '/') x
|
||||||
in a : split (drop 1 b)
|
in a : split (drop 1 b)
|
||||||
|
-- We want to keep mappings for all files that are pre-fingerprinted,
|
||||||
|
-- so this function checks against all of the existing fingerprinted files and
|
||||||
|
-- only inserts a new mapping if it's not a fingerprinted file.
|
||||||
checkedInsert
|
checkedInsert
|
||||||
:: M.Map FilePath FilePath -- inverted dictionary
|
:: M.Map FilePath FilePath -- inverted dictionary
|
||||||
-> M.Map FilePath FilePath -- accumulating state
|
-> M.Map FilePath FilePath -- accumulating state
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
name: yesod-static
|
name: yesod-static
|
||||||
version: 1.5.2
|
version: 1.5.3
|
||||||
license: MIT
|
license: MIT
|
||||||
license-file: LICENSE
|
license-file: LICENSE
|
||||||
author: Michael Snoyman <michael@snoyman.com>
|
author: Michael Snoyman <michael@snoyman.com>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user