mirror of
https://github.com/ivabus/pantry
synced 2024-11-14 04:25:08 +03:00
abb0921f3d
* don’t need cli checkouts anymore * tidy Co-authored-by: Jacob Heider <jacob@tea.xyz>
40 lines
876 B
TypeScript
Executable file
40 lines
876 B
TypeScript
Executable file
#!/usr/bin/env -S tea -E
|
|
|
|
/*---
|
|
args:
|
|
- deno
|
|
- run
|
|
- --allow-read
|
|
- --allow-env
|
|
---*/
|
|
|
|
// sorts input for building
|
|
// does a full hydration, but only returns ordered, dry packages
|
|
|
|
|
|
import { pkg } from "utils"
|
|
import { usePantry, useFlags } from "hooks"
|
|
import { hydrate } from "prefab"
|
|
import * as ARGV from "./utils/args.ts"
|
|
import { set_output } from "./utils/gha.ts";
|
|
|
|
// const flags = useFlags()
|
|
const pantry = usePantry()
|
|
|
|
const dry = await ARGV.toArray(ARGV.pkgs())
|
|
|
|
const wet = await hydrate(dry, async (pkg, dry) => {
|
|
const deps = await pantry.getDeps(pkg)
|
|
return dry ? [...deps.build, ...deps.runtime] : deps.runtime
|
|
})
|
|
|
|
if (Deno.env.get("GITHUB_ACTIONS")) {
|
|
await set_output('pkgs', wet.dry.map(pkg.str))
|
|
} else {
|
|
const gas = wet.dry.map(pkg.str)
|
|
// if (flags.json) {
|
|
// console.log(gas)
|
|
// } else {
|
|
console.log(gas.join("\n"))
|
|
// }
|
|
}
|