shake-minify 0.1.1 → 0.1.2
raw patch · 2 files changed
+20/−6 lines, 2 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Development.Shake.Minify: minifyCss' :: (FilePath -> FilePath) -> FilePath -> Action ()
+ Development.Shake.Minify: minifyJs' :: (FilePath -> FilePath) -> FilePath -> Action ()
Files
- shake-minify.cabal +1/−1
- src/Development/Shake/Minify.hs +19/−5
shake-minify.cabal view
@@ -1,5 +1,5 @@ name: shake-minify-version: 0.1.1+version: 0.1.2 synopsis: Shake Minify Rules description: Shake rules to minify CSS and JS files. @shake-minify@ doesn't require any external tools to be on the @$PATH@ and uses
src/Development/Shake/Minify.hs view
@@ -24,17 +24,31 @@ -- | Given a @.min.js@ path, find the @.js@ file and minify it into the specified file name. minifyJs :: FilePath -- ^ Desired minified JS files (ex: @"//*.min.js"@) -> Action ()-minifyJs minJs = do- let js = dropExtension minJs -<.> "js"+minifyJs = minifyCss' ((-<.> "js") . dropExtension)+++-- | Same as `minifyJs` except take a function for custom file path mapping.+minifyJs' :: (FilePath -> FilePath) -- ^ Given a target minified JS file path, return the source JS file path.+ -> FilePath -- ^ Desired minified JS file (ex: @"//*.min.js"@)+ -> Action ()+minifyJs' fromMin minJs = do+ let js = fromMin minJs need [js] liftIO $ BS.writeFile minJs =<< JS.minifyFile js -- | Given a @.min.css@ path, find the @.css@ file and minify it into the specified file name.-minifyCss :: FilePath -- ^ Desired minified CSS files (ex: @"//*.min.css"@)+minifyCss :: FilePath -- ^ Desired minified CSS file (ex: @"//*.min.css"@) -> Action ()-minifyCss minCss = do- let css = dropExtension minCss -<.> "css"+minifyCss = minifyCss' ((-<.> "css") . dropExtension)+++-- | Same as `minifyCss` except take a function for custom file path mapping.+minifyCss' :: (FilePath -> FilePath) -- ^ Given a target minified CSS file path, return the source CSS file path.+ -> FilePath -- ^ Target minified CSS file (ex: @"//*.min.css"@)+ -> Action ()+minifyCss' fromMin minCss = do+ let css = fromMin minCss need [css] liftIO $ TIO.writeFile minCss . LT.toStrict . LTB.toLazyText . minify =<< TIO.readFile css where minify = either error CSS.renderNestedBlocks . CSS.parseNestedBlocks