diff --git a/purescript.cabal b/purescript.cabal index 27991c409c..398b1ecf4c 100644 --- a/purescript.cabal +++ b/purescript.cabal @@ -194,7 +194,6 @@ library Language.PureScript.Constants.Prelude Language.PureScript.Constants.Data.Generic.Rep Language.PureScript.Constants.Data.Newtype - Language.PureScript.Constants.Effect.Unsafe Language.PureScript.CoreFn Language.PureScript.CoreFn.Ann Language.PureScript.CoreFn.Binders diff --git a/src/Language/PureScript/Constants/Effect/Unsafe.hs b/src/Language/PureScript/Constants/Effect/Unsafe.hs deleted file mode 100644 index 52eea995cf..0000000000 --- a/src/Language/PureScript/Constants/Effect/Unsafe.hs +++ /dev/null @@ -1,9 +0,0 @@ -module Language.PureScript.Constants.Effect.Unsafe where - -import Data.String (IsString) - -effectUnsafe :: forall a. (IsString a) => a -effectUnsafe = "Effect_Unsafe" - -unsafePerformEffect :: forall a. (IsString a) => a -unsafePerformEffect = "unsafePerformEffect" diff --git a/src/Language/PureScript/Interactive/IO.hs b/src/Language/PureScript/Interactive/IO.hs index 8db87acc28..1b0ba2fc00 100644 --- a/src/Language/PureScript/Interactive/IO.hs +++ b/src/Language/PureScript/Interactive/IO.hs @@ -19,6 +19,7 @@ import System.FilePath (takeDirectory, ()) import System.Process (readProcessWithExitCode) import Text.Parsec ((), many1, parse, sepBy) import Text.Parsec.Char (char, digit) +import Protolude (note) mkdirp :: FilePath -> IO () mkdirp = createDirectoryIfMissing True . takeDirectory @@ -34,7 +35,7 @@ onFirstFileMatching f pathVariants = runMaybeT . msum $ map (MaybeT . f) pathVar -- findNodeProcess :: IO (Either String String) findNodeProcess = onFirstFileMatching findExecutable ["nodejs", "node"] <&> - maybe (throwError "Could not find node.js. Do you have node.js installed and available in your PATH?") pure + note "Could not find Node.js. Do you have Node.js installed and available in your PATH?" findNodeVersion :: String -> IO (Maybe String) findNodeVersion node = do @@ -47,16 +48,16 @@ readNodeProcessWithExitCode :: Maybe FilePath -> [String] -> String -> IO (Eithe readNodeProcessWithExitCode nodePath nodeArgs stdin = runExceptT $ do process <- maybe (ExceptT findNodeProcess) pure nodePath (major, _, _) <- lift (findNodeVersion process) >>= \case - Nothing -> throwError "Could not find node.js version." + Nothing -> throwError "Could not find Node.js version." Just version -> do let semver = do void $ char 'v' major : minor : patch : _ <- fmap (read @Int) (many1 digit) `sepBy` void (char '.') pure (major, minor, patch) - case parse (semver "Could not parse node.js version.") "" version of + case parse (semver "Could not parse Node.js version.") "" version of Left err -> throwError $ show err Right (major, minor, patch) - | major < 12 -> throwError $ "Unsupported node.js version " <> show major <> ". Required node.js version >=12." + | major < 12 -> throwError $ "Unsupported Node.js version " <> show major <> ". Required Node.js version >=12." | otherwise -> pure (major, minor, patch) let nodeArgs' = if major < 13 then "--experimental-modules" : nodeArgs else nodeArgs lift (readProcessWithExitCode process nodeArgs' stdin) <&> \case