@@ -181,6 +181,14 @@ install pkgName = do
181 writePackageFile pkg'
181 writePackageFile pkg'
182 echo "psc-package.json file was updated"
182 echo "psc-package.json file was updated"
184+uninstall :: String -> IO ()
185+uninstall pkgName = do
186+ pkg <- readPackageFile
187+ let pkg' = pkg { depends = filter (/= pack pkgName) $ depends pkg }
189+ writePackageFile pkg'
190+ echo "psc-package.json file was updated"
184listDependencies :: IO ()
192listDependencies :: IO ()
185listDependencies = do
193listDependencies = do
186 pkg@PackageConfig{ depends } <- readPackageFile
194 pkg@PackageConfig{ depends } <- readPackageFile
@@ -249,6 +257,9 @@ main = do
249 , Opts.command "update"
257 , Opts.command "update"
250 (Opts.info (pure update)
258 (Opts.info (pure update)
251 (Opts.progDesc "Update dependencies"))
259 (Opts.progDesc "Update dependencies"))
260+ , Opts.command "uninstall"
261+ (Opts.info (uninstall <$> pkg)
262+ (Opts.progDesc "Uninstall the named package"))
252 , Opts.command "install"
263 , Opts.command "install"
253 (Opts.info (install <$> pkg)
264 (Opts.info (install <$> pkg)
254 (Opts.progDesc "Install the named package"))
265 (Opts.progDesc "Install the named package"))