From 2fe810118c6068abc3cc7e876faef7e1213ecb76 Mon Sep 17 00:00:00 2001 From: Yuchen Pei Date: Wed, 23 Nov 2022 10:41:07 +1100 Subject: adding librejs --- .gitignore | 3 ++- app/Main.hs | 11 +++++++++-- build.sh | 7 +++++++ librejserver.cabal | 2 +- 4 files changed, 19 insertions(+), 4 deletions(-) create mode 100755 build.sh diff --git a/.gitignore b/.gitignore index dc18e40..7f891d7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ *~ -dist-newstyle \ No newline at end of file +dist-newstyle +librejs \ No newline at end of file diff --git a/app/Main.hs b/app/Main.hs index 94da226..fa816ae 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -16,6 +16,7 @@ import Servant ( (:>) , Server , serve ) +import System.Process ( readProcess ) type API = GetPageCompliance @@ -25,10 +26,16 @@ server :: Server API server = getPageCompliance getPageCompliance :: [Text] -> Handler Text -getPageCompliance url = +getPageCompliance urlPieces = return $ "You have requested librejs-compliance info for " - <> T.intercalate "/" url + <> T.intercalate "/" urlPieces + +runCompliance :: Text -> IO Text +runCompliance url = T.pack <$> readProcess + "bin/node" + ["~/source/librejserver/librejs/utilities/compliance.js", T.unpack url] + "" app :: Application app = serve api server diff --git a/build.sh b/build.sh new file mode 100755 index 0000000..ff62f95 --- /dev/null +++ b/build.sh @@ -0,0 +1,7 @@ +set -eux + +git clone https://git.savannah.gnu.org/git/librejs.git +cd librejs +npm install acorn@"<=8.7.1" jssha browserify selenium-webdriver geckodriver +export PATH=$PATH:./node_modules/.bin +./build.sh diff --git a/librejserver.cabal b/librejserver.cabal index 581d36f..3048390 100644 --- a/librejserver.cabal +++ b/librejserver.cabal @@ -11,6 +11,6 @@ extra-source-files: CHANGELOG.md executable librejserver main-is: Main.hs - build-depends: base, servant-server, text, warp + build-depends: base, servant-server, text, warp, process hs-source-dirs: app default-language: Haskell2010 -- cgit v1.2.3