git.fiddlerwoaroof.com
Raw Blame History
let CO =
      { Target =
          < es3
          | es5
          | es6
          | es2015
          | es2016
          | es2017
          | es2018
          | es2019
          | es2020
          | esnext
          >
      , JSX = < preserve | react | react-native >
      , Module =
          < commonJS
          | amd
          | umd
          | system
          | es6
          | es2015
          | es2020
          | esnext
          | none
          >
      , Lib =
          < es5
          | es6
          | es7
          | es2015
          | es2016
          | es2017
          | es2018
          | es2019
          | es2020
          | esnext
          | dom
          | scripthost
          | webworker
          >
      }

let JSConfigType =
      { compilerOptions :
          { target : CO.Target
          , jsx : CO.JSX
          , module : CO.Module
          , baseUrl : Text
          , allowSyntheticDefaultImports : Bool
          , noEmit : Bool
          , lib : List CO.Lib
          , rootDirs : List Text
          }
      , exclude : List Text
      }

let JSConfig =
      { Type = JSConfigType
      , default =
          { compilerOptions =
              { target = CO.Target.es6
              , jsx = CO.JSX.preserve
              , module = CO.Module.es6
              , baseUrl = "src"
              , allowSyntheticDefaultImports = False
              , noEmit = True
              , rootDirs = [ "src" ]
              , lib = [ CO.Lib.dom ]
              }
          , exclude = [ "node_modules" ]
          }
      }

in  JSConfig::{
    , compilerOptions = JSConfig.default.compilerOptions::{
      , rootDirs = [ "src" ]
      }
    }