support `sourcesContent` section #37
more type-safe in SourceNode