That actually works already! Target definitions are additive so parent target properties are automatically inherited.
// base_controller.js
import { Controller } from "stimulus"
export default class extends Controller {
static targets = [ "alpha", "beta" ]
}
// child_controller.js
import BaseController from "./base_controller"
export default class extends BaseController {
static targets = [ "gamma" ]
connect() {
console.log(this.alphaTarget, this.betaTarget, this.gammaTarget) // 👍
}
}