"""Enable ESM Modules for generated Web API"""
from json import loads, dumps

TSCONFIG_ESM = {
  "compilerOptions": {
    "declaration": True,
    "target": "es6",
    "module": "esnext",
    "moduleResolution": "node",
    "outDir": "./dist/esm",
    "typeRoots": [
      "node_modules/@types"
    ]
  },
  "exclude": [
    "dist",
    "node_modules"
  ]
}


with open("web-api/package.json", encoding="utf-8") as _package:
    package = loads(_package.read())
    package["license"] = "GPL-3.0-only"
    package["module"] = "./dist/esm/index.js"
    package["sideEffects"] = False
    package["scripts"]["build"] =  "tsc && tsc --project tsconfig.esm.json"

open("web-api/package.json", "w+", encoding="utf-8").write(dumps(package))
open("web-api/tsconfig.esm.json", "w+", encoding="utf-8").write(dumps(TSCONFIG_ESM))