TranspileOptions
Defined in: packages/core/src/transpile.ts:30
Properties
actionlintRunner?
optional actionlintRunner?: ActionlintRunner;Defined in: packages/core/src/transpile.ts:46
Injectable actionlint runner (tests provide this to avoid the real binary).
annotate?
optional annotate?: boolean;Defined in: packages/core/src/transpile.ts:55
Append the actio-annotate job that maps runtime failures back to source.
Requires sourceMap; ignored (with a warning) without it. Default false.
artifacts?
optional artifacts?: object;Defined in: packages/core/src/transpile.ts:103
Inline step-level artifacts: macro config. uploader is the action ref
emitted for the trailing upload step (pinned downstream like any other ref).
Default "actions/upload-artifact@v4".
uploader?
optional uploader?: string;coercion?
optional coercion?: CoercionMode;Defined in: packages/core/src/transpile.ts:90
YAML type-coercion guard mode. fix force-quotes emitted string scalars
that a YAML-1.1 consumer (per-action action.yml parsing, the on: key,
downstream tooling) would coerce (e.g. no→false, 1:30→90,
2024-01-01→Date, 1_000→1000); warn leaves them unquoted and emits a
yaml-coercion-trap warning; off disables the guard. An in-source root
coercion: key overrides this. Default "fix".
fileName?
optional fileName?: string;Defined in: packages/core/src/transpile.ts:32
File name used in diagnostics and the generated banner. Default "<input>".
header?
optional header?: boolean;Defined in: packages/core/src/transpile.ts:34
Prepend the "generated by Actio" banner. Default true.
injectionHoist?
optional injectionHoist?: "off" | "warn" | "error" | "fix";Defined in: packages/core/src/transpile.ts:67
Global default mode for the injection-hoist security pass. Per-block
injection-hoist: knobs (root/job/step) override this. Default "fix".
lint?
optional lint?: LintMode;Defined in: packages/core/src/transpile.ts:44
Lint the generated workflow with actionlint and surface findings on the
.actio.yml source. off skips it (default); warn reports warnings;
error escalates findings to build failures. Distinct from validate,
which gates the schema check. A missing actionlint binary is skipped
gracefully with an informational note.
modules?
optional modules?: ModuleResolver;Defined in: packages/core/src/transpile.ts:120
Cross-file import seam (#161). Resolves inject: ./lib#name selectors to
module sources. Keeps transpile() pure string->string: when omitted, local
cross-file injects error with import-module-not-found. The CLI/build layer
supplies a filesystem resolver; tests inject an in-memory one.
nativeDependencies?
optional nativeDependencies?: NativeDependencies;Defined in: packages/core/src/transpile.ts:62
Native workflow lock data emitted as top-level dependencies: for preview
targets. The resolver that computes this data lives in the CLI/build layer.
passes?
optional passes?: Pass[];Defined in: packages/core/src/transpile.ts:48
Extra transform passes merged into the built-in pipeline (ordered by runsAfter).
permissions?
optional permissions?:
| PermissionsMode
| PermissionsConfig;Defined in: packages/core/src/transpile.ts:108
Least-privilege permissions policy (string sugar or granular config). Default
off. Resolved into ctx.internal.permissions for the late permissions pass.
permissionsStrict?
optional permissionsStrict?: boolean;Defined in: packages/core/src/transpile.ts:113
Escalate check-mode over-grant diagnostics from warning to error. Set by the
CLI under actio check so a too-broad declared block fails CI.
pin?
optional pin?: PinOptions;Defined in: packages/core/src/transpile.ts:97
Pin-on-compile request. When set, pinnable uses: literals are rewritten to
their resolved digest after all passes run (so inline {{ }} refs are final);
resolutions seeds known digests and discovered targets surface in the result.
Network resolution lives in the CLI/build layer.
sourceMap?
optional sourceMap?: boolean;Defined in: packages/core/src/transpile.ts:50
Produce a source map and remap schema diagnostics back to source. Default false.
strict?
optional strict?: boolean;Defined in: packages/core/src/transpile.ts:81
Opt-in strict YAML 1.2.2 source lint. When true, every YAML 1.1 merge key
(<<) in source is reported as a yaml-merge-key warning so repos can keep
.actio.yml to a pure 1.2.2 style. Default false (permissive). Lint-only:
<< is still resolved and erased at parse, so emitted YAML is unchanged.
target?
optional target?: ActioTarget;Defined in: packages/core/src/transpile.ts:57
Output target capability profile. Defaults to legacy behavior.
unusedSymbols?
optional unusedSymbols?: UnusedSymbolsMode;Defined in: packages/core/src/transpile.ts:74
Severity for dead-code diagnostics on declared-but-unreferenced params,
fragments, and executors. off disables the check; warn reports
warnings (default); error escalates them to build failures. Suppress a
single symbol with a # actio-keep comment on its declaration.
validate?
optional validate?: boolean;Defined in: packages/core/src/transpile.ts:36
Validate generated YAML against GitHub's workflow schema. Default true.