Ċ import Ġcom . intellij . javascript . nodejs . interpreter . Node Js Interpreter Ref Ċ import Ġcom . intellij . javascript . nodejs . util . Node Package Ċ import Ġcom . intellij . javascript . nodejs . util . Node Package Ref Ċ import Ġcom . intellij . lang . javascript . linter . JS N pm L inter State Ċ import Ġkotlin . test . assertNotNull Ċ Ċ class ĠTemplate Lint State ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġmy Interpreter Ref : ĠNode Js Interpreter Ref , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġmy Template Lint Package : ĠNode Package , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġmy Package Ref : ĠNode Package Ref Ġ= ĠNode Package Ref . create ( my Template Lint Package ) Ċ ) Ġ: ĠJS N pm L inter State < Template Lint State > Ġ{ ĊĊĠĠĠ Ġconstructor () Ġ: Ġthis ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNode Js Interpreter Ref . create Project Ref (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠNode Package ("") ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun Ġwith L inter Package ( package Ref : ĠNode Package Ref ): ĠTemplate Lint State Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġconstant Package Ġ= Ġpackage Ref . constant Package ĊĊĠĠĠĠĠĠĠ ĠassertNotNull ( constant Package Ġ!= Ġnull , Ġthis . java Class . simple Name Ġ+ Ġ" Ġdoes Ġnot Ġsupport Ġnon - constant Ġpackage Ġrefs ") ĊĊĠĠĠĠĠĠĠ Ġreturn ĠTemplate Lint State ( this . my Interpreter Ref , Ġconstant Package !! ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġget Interpreter Ref (): ĠNode Js Interpreter Ref Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . my Interpreter Ref ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠgetNode Package Ref (): ĠNode Package Ref Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . my Package Ref ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwith Interpreter Ref ( interpreter Ref : ĠNode Js Interpreter Ref ): ĠTemplate Lint State Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTemplate Lint State ( interpreter Ref , Ġthis . my Template Lint Package ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġtemplate Lint Package : ĠNode Package ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġthis . my Template Lint Package ĊĠĠĠĠĠĠĠ Ġ} Ċ }