Dear GitHub: no YAML anchors, please
https://blog.yossarian.net/2025/09/22/dear-github-no-yaml-anchors
Dear GitHub: no YAML anchors, please
https://blog.yossarian.net/2025/09/22/dear-github-no-yaml-anchors
@yossarian > Furthermore, this is the reality for every YAML parser in wide use: all widespread YAML parsers choose (reasonably) to copy anchored values into each location where they’re referenced, meaning that the analyzing tool cannot “see” the original element for source location purposes.
This is not universally true. In JavaScript:
import { isAlias, parseDocument } from 'yaml'
const src = `jobs:
job1:
env: &env_vars
NODE_ENV: production
job2:
env: *env_vars`
const doc = parseDocument(src)
const alias = doc.getIn(['jobs', 'job2', 'env'])
// Alias { source: 'env_vars', range: [ 77, 86, 86 ] }
isAlias(alias) // true
src.substring(77, 86) === '*env_vars'
const envNode = doc.getIn(['jobs', 'job1', 'env'])
alias.resolve(doc) === envNode // true
See docs here: https://eemeli.org/yaml/#alias-nodes