pantry/scripts/filter.ts

34 lines
639 B
TypeScript
Raw Normal View History

2022-09-02 17:51:31 +03:00
#!/usr/bin/env -S tea -E
/*---
args:
- deno
- run
- --allow-read
- --allow-env
---*/
2022-09-20 14:53:40 +03:00
import { useCellar, useFlags } from "hooks"
2022-09-30 16:03:03 +03:00
import * as ARGV from "./utils/args.ts"
2022-09-02 17:51:31 +03:00
useFlags()
/// filters out everything that is already installed
const cellar = useCellar()
const desired_filter = !!Deno.env.get("INVERT")
const rv: string[] = []
2022-09-30 16:03:03 +03:00
for await (const pkg of ARGV.pkgs()) {
2022-09-21 10:46:24 +03:00
const isInstalled = !!await cellar.has(pkg)
2022-09-02 17:51:31 +03:00
if (isInstalled == desired_filter) {
rv.push(pkg.project)
}
}
if (Deno.env.get("GITHUB_ACTIONS")) {
console.log(`::set-output name=pkgs::${rv.join(" ")}\n`)
} else {
console.log(rv.join("\n"))
}