Open moltar opened 2 years ago
Actually, these types are built via this script here: https://github.com/webiny/github-actions-wac/blob/main/scripts/generateGithubActionsWorkflowTypes.ts
So, it's reading https://json.schemastore.org/github-workflow.json
and converting that into TS. No manual steps done.
When it comes to types, you can import them actually:
NormalJob['steps']
NormalJob
Workflow
So, just import from the package, like:
import { NormalJob, Workflow } from "github-actions-wac";
Hope that helps :)
First of all, a really nice package! Thanks for that. 🙌🏼
Now, to the actual issue...
Since the entire point of defining "as code" is to be able to reuse chunks of definitions. I feel like then types need to be exported for each chunk that can be reused.
For example, there is no exported type for a step, and even trying to do various TypeScript acrobatics to infer the type, it won't work, since the step type is a complicated union.
I think each composable type needs to be exported.
At least:
Or factory functions, like
createWorkflow
.At the same time, there are many types that are exported, which are not needed.