diff --git a/src/bin/tools/grant-exec-perms.ts b/src/bin/tools/grant-exec-perms.ts index ad8cf395..6131c240 100644 --- a/src/bin/tools/grant-exec-perms.ts +++ b/src/bin/tools/grant-exec-perms.ts @@ -1,8 +1,9 @@ import { getProjectRoot } from "./getProjectRoot"; import { join as pathJoin } from "path"; import child_process from "child_process"; +import * as fs from "fs"; -Object.entries(require(pathJoin(getProjectRoot(), "package.json"))["bin"]).forEach(([, scriptPath]) => +Object.entries(JSON.parse(fs.readFileSync(pathJoin(getProjectRoot(), "package.json")).toString("utf8"))["bin"]).forEach(([, scriptPath]) => child_process.execSync(`chmod +x ${scriptPath}`, { "cwd": getProjectRoot(), }), diff --git a/src/lib/components/Error.tsx b/src/lib/components/Error.tsx index 1de141e5..32f73fda 100644 --- a/src/lib/components/Error.tsx +++ b/src/lib/components/Error.tsx @@ -1,10 +1,10 @@ import { memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; -export const Error = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Error } & KcProps) => { +const Error = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Error } & KcProps) => { const { msg } = getMsg(kcContext); const { message, client } = kcContext; @@ -30,3 +30,5 @@ export const Error = memo(({ kcContext, ...props }: { kcContext: KcContextBase.E /> ); }); + +export default Error; diff --git a/src/lib/components/Info.tsx b/src/lib/components/Info.tsx index 0199b092..328dd2b2 100644 --- a/src/lib/components/Info.tsx +++ b/src/lib/components/Info.tsx @@ -1,11 +1,11 @@ import { memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import { assert } from "../tools/assert"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; -export const Info = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Info } & KcProps) => { +const Info = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Info } & KcProps) => { const { msg, msgStr } = getMsg(kcContext); assert(kcContext.message !== undefined); @@ -47,3 +47,5 @@ export const Info = memo(({ kcContext, ...props }: { kcContext: KcContextBase.In /> ); }); + +export default Info; diff --git a/src/lib/components/KcApp.tsx b/src/lib/components/KcApp.tsx index cb149415..7c233f8d 100644 --- a/src/lib/components/KcApp.tsx +++ b/src/lib/components/KcApp.tsx @@ -1,56 +1,65 @@ -import { memo } from "react"; +import { lazy, memo, Suspense } from "react"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import type { KcProps } from "./KcProps"; -import { Login } from "./Login"; -import { Register } from "./Register"; -import { RegisterUserProfile } from "./RegisterUserProfile"; -import { Info } from "./Info"; -import { Error } from "./Error"; -import { LoginResetPassword } from "./LoginResetPassword"; -import { LoginVerifyEmail } from "./LoginVerifyEmail"; -import { Terms } from "./Terms"; -import { LoginOtp } from "./LoginOtp"; -import { LoginUpdatePassword } from "./LoginUpdatePassword"; -import { LoginUpdateProfile } from "./LoginUpdateProfile"; -import { LoginIdpLinkConfirm } from "./LoginIdpLinkConfirm"; -import { LoginPageExpired } from "./LoginPageExpired"; -import { LoginIdpLinkEmail } from "./LoginIdpLinkEmail"; -import { LoginConfigTotp } from "./LoginConfigTotp"; -import { LogoutConfirm } from "./LogoutConfirm"; -export const KcApp = memo(({ kcContext, ...props }: { kcContext: KcContextBase } & KcProps) => { - switch (kcContext.pageId) { - case "login.ftl": - return ; - case "register.ftl": - return ; - case "register-user-profile.ftl": - return ; - case "info.ftl": - return ; - case "error.ftl": - return ; - case "login-reset-password.ftl": - return ; - case "login-verify-email.ftl": - return ; - case "terms.ftl": - return ; - case "login-otp.ftl": - return ; - case "login-update-password.ftl": - return ; - case "login-update-profile.ftl": - return ; - case "login-idp-link-confirm.ftl": - return ; - case "login-idp-link-email.ftl": - return ; - case "login-page-expired.ftl": - return ; - case "login-config-totp.ftl": - return ; - case "logout-confirm.ftl": - return ; - } +const Login = lazy(() => import("./Login")); +const Register = lazy(() => import("./Register")); +const RegisterUserProfile = lazy(() => import("./RegisterUserProfile")); +const Info = lazy(() => import("./Info")); +const Error = lazy(() => import("./Error")); +const LoginResetPassword = lazy(() => import("./LoginResetPassword")); +const LoginVerifyEmail = lazy(() => import("./LoginVerifyEmail")); +const Terms = lazy(() => import("./Terms")); +const LoginOtp = lazy(() => import("./LoginOtp")); +const LoginUpdatePassword = lazy(() => import("./LoginUpdatePassword")); +const LoginUpdateProfile = lazy(() => import("./LoginUpdateProfile")); +const LoginIdpLinkConfirm = lazy(() => import("./LoginIdpLinkConfirm")); +const LoginPageExpired = lazy(() => import("./LoginPageExpired")); +const LoginIdpLinkEmail = lazy(() => import("./LoginIdpLinkEmail")); +const LoginConfigTotp = lazy(() => import("./LoginConfigTotp")); +const LogoutConfirm = lazy(() => import("./LogoutConfirm")); + +const KcApp = memo(({ kcContext, ...props }: { kcContext: KcContextBase } & KcProps) => { + return ( + + {(() => { + switch (kcContext.pageId) { + case "login.ftl": + return ; + case "register.ftl": + return ; + case "register-user-profile.ftl": + return ; + case "info.ftl": + return ; + case "error.ftl": + return ; + case "login-reset-password.ftl": + return ; + case "login-verify-email.ftl": + return ; + case "terms.ftl": + return ; + case "login-otp.ftl": + return ; + case "login-update-password.ftl": + return ; + case "login-update-profile.ftl": + return ; + case "login-idp-link-confirm.ftl": + return ; + case "login-idp-link-email.ftl": + return ; + case "login-page-expired.ftl": + return ; + case "login-config-totp.ftl": + return ; + case "logout-confirm.ftl": + return ; + } + })()} + + ); }); + +export default KcApp; diff --git a/src/lib/components/Login.tsx b/src/lib/components/Login.tsx index de807e9e..2120680d 100644 --- a/src/lib/components/Login.tsx +++ b/src/lib/components/Login.tsx @@ -1,5 +1,5 @@ import { useState, memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; @@ -7,7 +7,7 @@ import { useCssAndCx } from "tss-react"; import { useConstCallback } from "powerhooks/useConstCallback"; import type { FormEventHandler } from "react"; -export const Login = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Login } & KcProps) => { +const Login = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Login } & KcProps) => { const { social, realm, url, usernameEditDisabled, login, auth, registrationDisabled } = kcContext; const { msg, msgStr } = getMsg(kcContext); @@ -191,3 +191,5 @@ export const Login = memo(({ kcContext, ...props }: { kcContext: KcContextBase.L /> ); }); + +export default Login; diff --git a/src/lib/components/LoginConfigTotp.tsx b/src/lib/components/LoginConfigTotp.tsx index 6e7d8787..89263c26 100644 --- a/src/lib/components/LoginConfigTotp.tsx +++ b/src/lib/components/LoginConfigTotp.tsx @@ -1,11 +1,11 @@ import { memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; import { useCssAndCx } from "tss-react"; -export const LoginConfigTotp = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginConfigTotp } & KcProps) => { +const LoginConfigTotp = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginConfigTotp } & KcProps) => { const { url, isAppInitiatedAction, totp, mode, messagesPerField } = kcContext; const { cx } = useCssAndCx(); @@ -181,3 +181,5 @@ export const LoginConfigTotp = memo(({ kcContext, ...props }: { kcContext: KcCon /> ); }); + +export default LoginConfigTotp; diff --git a/src/lib/components/LoginIdpLinkConfirm.tsx b/src/lib/components/LoginIdpLinkConfirm.tsx index 658aa7ac..a9dfe30a 100644 --- a/src/lib/components/LoginIdpLinkConfirm.tsx +++ b/src/lib/components/LoginIdpLinkConfirm.tsx @@ -1,11 +1,11 @@ import { memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; import { useCssAndCx } from "tss-react"; -export const LoginIdpLinkConfirm = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginIdpLinkConfirm } & KcProps) => { +const LoginIdpLinkConfirm = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginIdpLinkConfirm } & KcProps) => { const { url, idpAlias } = kcContext; const { msg } = getMsg(kcContext); @@ -44,3 +44,5 @@ export const LoginIdpLinkConfirm = memo(({ kcContext, ...props }: { kcContext: K /> ); }); + +export default LoginIdpLinkConfirm; diff --git a/src/lib/components/LoginIdpLinkEmail.tsx b/src/lib/components/LoginIdpLinkEmail.tsx index 5ddecf4d..f2b0daf1 100644 --- a/src/lib/components/LoginIdpLinkEmail.tsx +++ b/src/lib/components/LoginIdpLinkEmail.tsx @@ -1,10 +1,10 @@ import { memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; -export const LoginIdpLinkEmail = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginIdpLinkEmail } & KcProps) => { +const LoginIdpLinkEmail = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginIdpLinkEmail } & KcProps) => { const { url, realm, brokerContext, idpAlias } = kcContext; const { msg } = getMsg(kcContext); @@ -30,3 +30,5 @@ export const LoginIdpLinkEmail = memo(({ kcContext, ...props }: { kcContext: KcC /> ); }); + +export default LoginIdpLinkEmail; diff --git a/src/lib/components/LoginOtp.tsx b/src/lib/components/LoginOtp.tsx index 5bc9d341..d8caa460 100644 --- a/src/lib/components/LoginOtp.tsx +++ b/src/lib/components/LoginOtp.tsx @@ -1,5 +1,5 @@ import { useEffect, memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; @@ -7,7 +7,7 @@ import { headInsert } from "../tools/headInsert"; import { pathJoin } from "../tools/pathJoin"; import { useCssAndCx } from "tss-react"; -export const LoginOtp = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginOtp } & KcProps) => { +const LoginOtp = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginOtp } & KcProps) => { const { otpLogin, url } = kcContext; const { cx } = useCssAndCx(); @@ -109,3 +109,5 @@ function evaluateInlineScript() { } }); } + +export default LoginOtp; diff --git a/src/lib/components/LoginPageExpired.tsx b/src/lib/components/LoginPageExpired.tsx index 3f64bec5..2f864e40 100644 --- a/src/lib/components/LoginPageExpired.tsx +++ b/src/lib/components/LoginPageExpired.tsx @@ -1,10 +1,10 @@ import { memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; -export const LoginPageExpired = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginPageExpired } & KcProps) => { +const LoginPageExpired = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginPageExpired } & KcProps) => { const { url } = kcContext; const { msg } = getMsg(kcContext); @@ -34,3 +34,5 @@ export const LoginPageExpired = memo(({ kcContext, ...props }: { kcContext: KcCo /> ); }); + +export default LoginPageExpired; diff --git a/src/lib/components/LoginResetPassword.tsx b/src/lib/components/LoginResetPassword.tsx index a2dcec33..d62ebf2e 100644 --- a/src/lib/components/LoginResetPassword.tsx +++ b/src/lib/components/LoginResetPassword.tsx @@ -1,11 +1,11 @@ import { memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; import { useCssAndCx } from "tss-react"; -export const LoginResetPassword = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginResetPassword } & KcProps) => { +const LoginResetPassword = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginResetPassword } & KcProps) => { const { url, realm, auth } = kcContext; const { msg, msgStr } = getMsg(kcContext); @@ -64,3 +64,5 @@ export const LoginResetPassword = memo(({ kcContext, ...props }: { kcContext: Kc /> ); }); + +export default LoginResetPassword; diff --git a/src/lib/components/LoginUpdatePassword.tsx b/src/lib/components/LoginUpdatePassword.tsx index a45383b8..ba0ee575 100644 --- a/src/lib/components/LoginUpdatePassword.tsx +++ b/src/lib/components/LoginUpdatePassword.tsx @@ -1,11 +1,11 @@ import { memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; import { useCssAndCx } from "tss-react"; -export const LoginUpdatePassword = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginUpdatePassword } & KcProps) => { +const LoginUpdatePassword = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginUpdatePassword } & KcProps) => { const { cx } = useCssAndCx(); const { msg, msgStr } = getMsg(kcContext); @@ -115,3 +115,5 @@ export const LoginUpdatePassword = memo(({ kcContext, ...props }: { kcContext: K /> ); }); + +export default LoginUpdatePassword; diff --git a/src/lib/components/LoginUpdateProfile.tsx b/src/lib/components/LoginUpdateProfile.tsx index 3d2c1027..e4d2a2cd 100644 --- a/src/lib/components/LoginUpdateProfile.tsx +++ b/src/lib/components/LoginUpdateProfile.tsx @@ -1,11 +1,11 @@ import { memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; import { useCssAndCx } from "tss-react"; -export const LoginUpdateProfile = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginUpdateProfile } & KcProps) => { +const LoginUpdateProfile = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginUpdateProfile } & KcProps) => { const { cx } = useCssAndCx(); const { msg, msgStr } = getMsg(kcContext); @@ -118,3 +118,5 @@ export const LoginUpdateProfile = memo(({ kcContext, ...props }: { kcContext: Kc /> ); }); + +export default LoginUpdateProfile; diff --git a/src/lib/components/LoginVerifyEmail.tsx b/src/lib/components/LoginVerifyEmail.tsx index 68083926..ae344c5e 100644 --- a/src/lib/components/LoginVerifyEmail.tsx +++ b/src/lib/components/LoginVerifyEmail.tsx @@ -1,10 +1,10 @@ import { memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; -export const LoginVerifyEmail = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginVerifyEmail } & KcProps) => { +const LoginVerifyEmail = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LoginVerifyEmail } & KcProps) => { const { msg } = getMsg(kcContext); const { url, user } = kcContext; @@ -30,3 +30,5 @@ export const LoginVerifyEmail = memo(({ kcContext, ...props }: { kcContext: KcCo /> ); }); + +export default LoginVerifyEmail; diff --git a/src/lib/components/LogoutConfirm.tsx b/src/lib/components/LogoutConfirm.tsx index 820a0f46..de615183 100644 --- a/src/lib/components/LogoutConfirm.tsx +++ b/src/lib/components/LogoutConfirm.tsx @@ -1,12 +1,12 @@ import { memo } from "react"; import { useCssAndCx } from "tss-react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; -export const LogoutConfirm = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LogoutConfirm } & KcProps) => { +const LogoutConfirm = memo(({ kcContext, ...props }: { kcContext: KcContextBase.LogoutConfirm } & KcProps) => { const { url, client, logoutConfirm } = kcContext; const { cx } = useCssAndCx(); @@ -59,3 +59,5 @@ export const LogoutConfirm = memo(({ kcContext, ...props }: { kcContext: KcConte /> ); }); + +export default LogoutConfirm; diff --git a/src/lib/components/Register.tsx b/src/lib/components/Register.tsx index dd9826b8..97c69544 100644 --- a/src/lib/components/Register.tsx +++ b/src/lib/components/Register.tsx @@ -1,11 +1,11 @@ import { memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; import { useCssAndCx } from "tss-react"; -export const Register = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Register } & KcProps) => { +const Register = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Register } & KcProps) => { const { url, messagesPerField, register, realm, passwordRequired, recaptchaRequired, recaptchaSiteKey } = kcContext; const { msg, msgStr } = getMsg(kcContext); @@ -154,3 +154,5 @@ export const Register = memo(({ kcContext, ...props }: { kcContext: KcContextBas /> ); }); + +export default Register; diff --git a/src/lib/components/RegisterUserProfile.tsx b/src/lib/components/RegisterUserProfile.tsx index 03916209..c064cac9 100644 --- a/src/lib/components/RegisterUserProfile.tsx +++ b/src/lib/components/RegisterUserProfile.tsx @@ -1,5 +1,5 @@ import { useMemo, memo, useEffect, useState, Fragment } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase, Attribute } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; @@ -8,7 +8,7 @@ import type { ReactComponent } from "../tools/ReactComponent"; import { useCallbackFactory } from "powerhooks/useCallbackFactory"; import { useFormValidationSlice } from "../useFormValidationSlice"; -export const RegisterUserProfile = memo(({ kcContext, ...props_ }: { kcContext: KcContextBase.RegisterUserProfile } & KcProps) => { +const RegisterUserProfile = memo(({ kcContext, ...props_ }: { kcContext: KcContextBase.RegisterUserProfile } & KcProps) => { const { url, messagesPerField, recaptchaRequired, recaptchaSiteKey } = kcContext; const { msg, msgStr } = getMsg(kcContext); @@ -215,3 +215,5 @@ const UserProfileFormFields = memo(({ kcContext, onIsFormSubmittableValueChange, ); }); + +export default RegisterUserProfile; diff --git a/src/lib/components/Template.tsx b/src/lib/components/Template.tsx index 46b1ca91..44dafa93 100644 --- a/src/lib/components/Template.tsx +++ b/src/lib/components/Template.tsx @@ -27,7 +27,7 @@ export type TemplateProps = { doFetchDefaultThemeResources: boolean; } & { kcContext: KcContextBase } & KcTemplateProps; -export const Template = memo((props: TemplateProps) => { +const Template = memo((props: TemplateProps) => { const { displayInfo = false, displayMessage = true, @@ -256,3 +256,5 @@ export const Template = memo((props: TemplateProps) => { ); }); + +export default Template; diff --git a/src/lib/components/Terms.tsx b/src/lib/components/Terms.tsx index ac6fd63b..5b025bc7 100644 --- a/src/lib/components/Terms.tsx +++ b/src/lib/components/Terms.tsx @@ -1,5 +1,5 @@ import { useReducer, useEffect, memo } from "react"; -import { Template } from "./Template"; +import Template from "./Template"; import type { KcProps } from "./KcProps"; import type { KcContextBase } from "../getKcContext/KcContextBase"; import { getMsg } from "../i18n"; @@ -26,7 +26,7 @@ export function useDownloadTerms(params: { }, []); } -export const Terms = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Terms } & KcProps) => { +const Terms = memo(({ kcContext, ...props }: { kcContext: KcContextBase.Terms } & KcProps) => { const { msg, msgStr } = getMsg(kcContext); const { cx } = useCssAndCx(); @@ -70,3 +70,5 @@ export const Terms = memo(({ kcContext, ...props }: { kcContext: KcContextBase.T /> ); }); + +export default Terms; diff --git a/src/test/bin/main.ts b/src/test/bin/main.ts index 5f658dc6..7dc07270 100644 --- a/src/test/bin/main.ts +++ b/src/test/bin/main.ts @@ -2,7 +2,7 @@ import "./replaceImportFromStatic"; import { setupSampleReactProject, sampleReactProjectDirPath } from "./setupSampleReactProject"; import * as st from "scripting-tools"; import { join as pathJoin } from "path"; -import { getProjectRoot } from "../../bin/tools/getProjectRoot"; +import { getProjectRoot } from "../../bin/tools/getProjectRoot.js"; setupSampleReactProject(); diff --git a/src/test/bin/setupSampleReactProject.ts b/src/test/bin/setupSampleReactProject.ts index b865b10e..8b9f7af3 100644 --- a/src/test/bin/setupSampleReactProject.ts +++ b/src/test/bin/setupSampleReactProject.ts @@ -1,4 +1,4 @@ -import { getProjectRoot } from "../../bin/tools/getProjectRoot"; +import { getProjectRoot } from "../../bin/tools/getProjectRoot.js"; import { join as pathJoin } from "path"; import { downloadAndUnzip } from "../../bin/tools/downloadAndUnzip"; diff --git a/tsconfig.json b/tsconfig.json index f7be1215..5f74a07a 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,8 +1,9 @@ { "compilerOptions": { - "module": "CommonJS", - "target": "es5", + "module": "ES2020", + "target": "ES2020", "lib": ["es2015", "DOM", "ES2019.Object"], + "moduleResolution": "node", "esModuleInterop": true, "declaration": true, "outDir": "./dist",