esbuild-plugin-handlebars
Advanced tools
Comparing version 1.0.1 to 1.0.2
{ | ||
"name": "esbuild-plugin-handlebars", | ||
"description": "an esbuild plugin to handle ... handlebars!", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"main": "dist/index.js", | ||
@@ -6,0 +6,0 @@ "author": "Inqnuam", |
@@ -35,2 +35,3 @@ # esbuild-plugin-handlebars | ||
additionalHelpers: {}, | ||
additionalPartials: {}, | ||
precompileOptions: {} | ||
@@ -37,0 +38,0 @@ } |
@@ -1,3 +0,1 @@ | ||
//const handlebars = require("handlebars"); | ||
import handlebars from "handlebars"; | ||
@@ -8,2 +6,3 @@ import { PluginBuild, OnLoadOptions } from "esbuild"; | ||
let foundHelpers: string[] = []; | ||
const fileCache = new Map(); | ||
// @ts-ignore | ||
@@ -19,3 +18,3 @@ class ESBuildHandlebarsJSCompiler extends handlebars.JavaScriptCompiler { | ||
} | ||
function hbs(options: { additionalHelpers: any; precompileOptions: any } = { additionalHelpers: {}, precompileOptions: {} }) { | ||
function hbs(options: { additionalHelpers: any; additionalPartials: any; precompileOptions: any } = { additionalHelpers: {}, additionalPartials: {}, precompileOptions: {} }) { | ||
const onloadOpt: OnLoadOptions = { | ||
@@ -25,7 +24,6 @@ filter: /\.(hbs|handlebars)$/i, | ||
const { additionalHelpers = {}, precompileOptions = {} } = options; | ||
const { additionalHelpers = {}, additionalPartials = {}, precompileOptions = {} } = options; | ||
return { | ||
name: "handlebars", | ||
setup(build: PluginBuild) { | ||
const fileCache = new Map(); | ||
const hb = handlebars.create(); | ||
@@ -57,3 +55,2 @@ // @ts-ignore | ||
const source = await readFile(filename, "utf-8"); | ||
//const foundHelpers: string[] = []; | ||
const knownHelpers = Object.keys(additionalHelpers).reduce((prev: any, helper: string) => { | ||
@@ -73,3 +70,3 @@ prev[helper] = true; | ||
const foundAndMatchedHelpers = foundHelpers.filter((helper) => additionalHelpers[helper] !== undefined); | ||
const contents = ["import * as Handlebars from 'handlebars/runtime';", ...foundAndMatchedHelpers.map((helper) => `import ${helper} from '${additionalHelpers[helper]}';`), `Handlebars.registerHelper({${foundAndMatchedHelpers.join()}});`, `export default Handlebars.template(${template});`].join("\n"); | ||
const contents = ["import * as Handlebars from 'handlebars/runtime';", ...foundAndMatchedHelpers.map((helper) => `import ${helper} from '${additionalHelpers[helper]}';`), ...Object.entries(additionalPartials).map(([name, path]) => `import ${name} from '${path}';`), `Handlebars.registerHelper({${foundAndMatchedHelpers.join()}});`, `Handlebars.registerPartial({${Object.keys(additionalPartials).join()}});`, `export default Handlebars.template(${template});`].join("\n"); | ||
return { contents }; | ||
@@ -76,0 +73,0 @@ } catch (err: any) { |
Sorry, the diff of this file is too big to display
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
114334
47
528