Socket
Socket
Sign inDemoInstall

esbuild-plugin-handlebars

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

esbuild-plugin-handlebars - npm Package Compare versions

Comparing version 1.0.1 to 1.0.2

2

package.json
{
"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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc