`module Fragment : sig ... end`
`val reset : unit -> unit`
`val load_files : target_env:Target_env.t -> string list -> unit`
`val load_fragments : target_env:Target_env.t -> filename:string -> Fragment.t list -> unit`
`val check_deps : unit -> unit`
`type state`
`type always_required = {`

1. `filename : string;`
2. `program : Javascript.program;`
3. `requires : string list;`

`}`
`type output = {`

1. `runtime_code : Javascript.program;`
2. `always_required_codes : always_required list;`

`}`
`val list_all : ?from:string list -> unit -> Stdlib.StringSet.t`
`val init : ?from:string list -> unit -> state`
`val resolve_deps : ?check_missing:bool -> state -> Stdlib.StringSet.t -> state * Stdlib.StringSet.t`
`val link : ?check_missing:bool -> Javascript.program -> state -> output`
`val all : state -> string list`
`val missing : state -> string list`
`val origin : name:string -> string option`
`val deprecated : name:string -> bool`