From cb14b7e6d3fb29dca3d0a88c731f44b461ed3e07 Mon Sep 17 00:00:00 2001 From: sethvincent Date: Fri, 16 Sep 2022 15:47:29 -0700 Subject: [PATCH] account for ajv.opts.code.esm option in addFormats --- src/index.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/index.ts b/src/index.ts index 8fd944a..e273107 100644 --- a/src/index.ts +++ b/src/index.ts @@ -52,7 +52,12 @@ formatsPlugin.get = (name: FormatName, mode: FormatMode = "full"): Format => { } function addFormats(ajv: Ajv, list: FormatName[], fs: DefinedFormats, exportName: Name): void { - ajv.opts.code.formats ??= _`require("ajv-formats/dist/formats").${exportName}` + if (ajv.opts.code.esm) { + ajv.opts.code.formats ??= _`(await import("ajv-formats/dist/formats.js"))['${exportName}']` + } else { + ajv.opts.code.formats ??= _`require("ajv-formats/dist/formats").${exportName}` + } + for (const f of list) ajv.addFormat(f, fs[f]) }