summaryrefslogtreecommitdiff
path: root/dev/lib/handlebars/index.ts
diff options
context:
space:
mode:
authorDarius Jahandarie <djahandarie@gmail.com>2023-11-04 18:45:57 +0900
committerDarius Jahandarie <djahandarie@gmail.com>2023-11-04 18:45:57 +0900
commitef79eab44bfd000792c610b968b5ceefd41e76a0 (patch)
tree48b04f30f6248caedbd880801aa49402a9e8066a /dev/lib/handlebars/index.ts
parent376151096431d4362e4baaacf0cef4a534e169f7 (diff)
Modernize codebase
- Use ES modules - Remove vendored libs and build them from npm using esbuild - Switch from JSZip to zip.js
Diffstat (limited to 'dev/lib/handlebars/index.ts')
-rw-r--r--dev/lib/handlebars/index.ts33
1 files changed, 33 insertions, 0 deletions
diff --git a/dev/lib/handlebars/index.ts b/dev/lib/handlebars/index.ts
new file mode 100644
index 00000000..16030445
--- /dev/null
+++ b/dev/lib/handlebars/index.ts
@@ -0,0 +1,33 @@
+/*
+ * Elasticsearch B.V licenses this file to you under the MIT License.
+ * See `packages/kbn-handlebars/LICENSE` for more information.
+ */
+
+import { Handlebars } from './src/handlebars';
+import { allowUnsafeEval } from './src/utils';
+
+// The handlebars module uses `export =`, so it can't be re-exported using `export *`.
+// However, because of Babel, we're not allowed to use `export =` ourselves.
+// So we have to resort to using `exports default` even though eslint doesn't like it.
+//
+// eslint-disable-next-line import/no-default-export
+globalThis.Handlebars = Handlebars;
+
+/**
+ * If the `unsafe-eval` CSP is set, this string constant will be `compile`,
+ * otherwise `compileAST`.
+ *
+ * This can be used to call the more optimized `compile` function in
+ * environments that support it, or fall back to `compileAST` on environments
+ * that don't.
+ */
+globalThis.handlebarsCompileFnName = allowUnsafeEval() ? 'compile' : 'compileAST';
+
+export type {
+ CompileOptions,
+ RuntimeOptions,
+ HelperDelegate,
+ TemplateDelegate,
+ DecoratorDelegate,
+ HelperOptions,
+} from './src/types';