ecto
Advanced tools
Comparing version 3.0.1 to 3.0.2
@@ -1,2 +0,2 @@ | ||
import * as fs from 'fs-extra'; | ||
import fs from 'node:fs'; | ||
import { EngineMap } from './engine-map.js'; | ||
@@ -115,3 +115,3 @@ import { Markdown } from './engines/markdown.js'; | ||
// Get the source | ||
const source = await fs.readFile(filePath, 'utf8'); | ||
const source = await fs.promises.readFile(filePath, 'utf8'); | ||
result = await this.render(source, data, engineName, rootTemplatePath, filePathOutput); | ||
@@ -136,3 +136,3 @@ return result; | ||
if (!fs.existsSync(directory)) { | ||
await fs.ensureDir(directory); | ||
fs.mkdirSync(directory, { recursive: true }); | ||
} | ||
@@ -145,3 +145,3 @@ } | ||
if (!fs.existsSync(directory)) { | ||
fs.ensureDirSync(directory); | ||
fs.mkdirSync(directory, { recursive: true }); | ||
} | ||
@@ -162,3 +162,3 @@ } | ||
let result = ''; | ||
const files = await fs.readdir(path); | ||
const files = await fs.promises.readdir(path); | ||
for (const file of files) { | ||
@@ -236,3 +236,3 @@ if (file.startsWith(templateName + '.')) { | ||
await this.ensureFilePath(filePath); | ||
await fs.writeFile(filePath, source); | ||
await fs.promises.writeFile(filePath, source); | ||
} | ||
@@ -239,0 +239,0 @@ } |
@@ -1,4 +0,5 @@ | ||
import * as handlebars from '@jaredwray/fumanchu'; | ||
import * as fs from 'fs-extra'; | ||
/* eslint-disable @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-argument */ | ||
import fs from 'node:fs'; | ||
import * as _ from 'underscore'; | ||
import fumanchu from '@jaredwray/fumanchu'; | ||
import { BaseEngine } from '../base-engine.js'; | ||
@@ -11,3 +12,3 @@ export class Handlebars extends BaseEngine { | ||
this.opts = options; | ||
this.engine = handlebars; | ||
this.engine = fumanchu; | ||
this.setExtensions(['hbs', 'hjs', 'handlebars', 'mustache']); | ||
@@ -20,5 +21,3 @@ } | ||
} | ||
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument | ||
const template = handlebars.compile(source, this.opts); | ||
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument | ||
const template = this.engine.compile(source, this.opts); | ||
let result = template(data, this.opts); | ||
@@ -33,5 +32,3 @@ result = _.unescape(result); | ||
} | ||
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument | ||
const template = handlebars.compile(source, this.opts); | ||
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument | ||
const template = this.engine.compile(source, this.opts); | ||
let result = template(data, this.opts); | ||
@@ -49,22 +46,17 @@ result = _.unescape(result); | ||
let result = false; | ||
if (fs.pathExistsSync(partialsPath)) { | ||
const partials = fs.readdirSync(partialsPath); | ||
if (fs.existsSync(partialsPath)) { | ||
const partials = fs.readdirSync(partialsPath, { recursive: true, encoding: 'utf8' }); | ||
for (const p of partials) { | ||
if (fs.statSync(partialsPath + '/' + p).isDirectory()) { | ||
const directoryPartials = fs.readdirSync(partialsPath + '/' + p); | ||
const directoryPartials = fs.readdirSync(partialsPath + '/' + p, { recursive: true, encoding: 'utf8' }); | ||
for (const dp of directoryPartials) { | ||
const source = fs.readFileSync(partialsPath + '/' + p + '/' + dp).toString(); | ||
const name = p + '/' + dp.split('.')[0]; | ||
// eslint-disable-next-line max-depth | ||
if (handlebars.partials[name] === undefined) { | ||
handlebars.registerPartial(name, handlebars.compile(source)); | ||
} | ||
this.engine.registerPartial(name, this.engine.compile(source)); | ||
} | ||
} | ||
else { | ||
const source = fs.readFileSync(partialsPath + '/' + p).toString(); | ||
const source = fs.readFileSync(partialsPath + '/' + p, 'utf8'); | ||
const name = p.split('.')[0]; | ||
if (handlebars.partials[name] === undefined) { | ||
handlebars.registerPartial(name, handlebars.compile(source)); | ||
} | ||
this.engine.registerPartial(name, this.engine.compile(source)); | ||
} | ||
@@ -71,0 +63,0 @@ } |
{ | ||
"name": "ecto", | ||
"version": "3.0.1", | ||
"version": "3.0.2", | ||
"description": "Modern Template Consolidation Engine for EJS, Markdown, Pug, Nunjucks, Liquid, and Handlebars", | ||
@@ -48,6 +48,7 @@ "type": "module", | ||
"dependencies": { | ||
"@jaredwray/fumanchu": "^1.1.3", | ||
"@jaredwray/fumanchu": "^1.2.1", | ||
"@markdoc/markdoc": "^0.4.0", | ||
"ejs": "^3.1.9", | ||
"fs-extra": "^11.2.0", | ||
"handlebars": "^4.7.8", | ||
"handlebars-helpers": "^0.10.0", | ||
"helper-date": "^1.0.1", | ||
@@ -64,3 +65,3 @@ "liquidjs": "^10.10.1", | ||
"@types/express": "^4.17.21", | ||
"@types/fs-extra": "^11.0.4", | ||
"@types/handlebars-helpers": "^0.5.6", | ||
"@types/mustache": "^4.2.5", | ||
@@ -67,0 +68,0 @@ "@types/node": "^20.11.25", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Filesystem access
Supply chain riskAccesses the file system, and could potentially read sensitive data.
Found 1 instance in 1 package
0
76105
12
644
+ Addedhandlebars@^4.7.8
+ Addedhandlebars-helpers@^0.10.0
+ Addedarr-diff@4.0.0(transitive)
+ Addedarr-union@3.1.0(transitive)
+ Addedarray-sort@0.1.4(transitive)
+ Addedarray-unique@0.3.2(transitive)
+ Addedassign-symbols@1.0.0(transitive)
+ Addedatob@2.1.2(transitive)
+ Addedbase@0.11.2(transitive)
+ Addedbraces@2.3.2(transitive)
+ Addedcache-base@1.0.1(transitive)
+ Addedclass-utils@0.3.6(transitive)
+ Addedcollection-visit@1.0.0(transitive)
+ Addedcomponent-emitter@1.3.1(transitive)
+ Addedcopy-descriptor@0.1.1(transitive)
+ Addeddebug@2.6.9(transitive)
+ Addeddecode-uri-component@0.2.2(transitive)
+ Addeddefine-property@1.0.0(transitive)
+ Addedexpand-brackets@2.1.4(transitive)
+ Addedextend-shallow@3.0.2(transitive)
+ Addedextglob@2.0.4(transitive)
+ Addedfalsey@0.3.2(transitive)
+ Addedfill-range@4.0.0(transitive)
+ Addedfragment-cache@0.2.1(transitive)
+ Addedhandlebars-helpers@0.10.0(transitive)
+ Addedhas-value@0.3.11.0.0(transitive)
+ Addedhas-values@0.1.41.0.0(transitive)
+ Addedhelper-markdown@1.0.0(transitive)
+ Addedhighlight.js@9.18.5(transitive)
+ Addedis-extendable@1.0.1(transitive)
+ Addedis-number@4.0.0(transitive)
+ Addedis-plain-object@2.0.4(transitive)
+ Addedis-windows@1.0.2(transitive)
+ Addedkind-of@4.0.0(transitive)
+ Addedmap-cache@0.2.2(transitive)
+ Addedmap-visit@1.0.0(transitive)
+ Addedmicromatch@3.1.10(transitive)
+ Addedmixin-deep@1.3.2(transitive)
+ Addednanomatch@1.2.13(transitive)
+ Addedobject-copy@0.1.0(transitive)
+ Addedobject-visit@1.0.1(transitive)
+ Addedobject.pick@1.3.0(transitive)
+ Addedpascalcase@0.1.1(transitive)
+ Addedposix-character-classes@0.1.1(transitive)
+ Addedregex-not@1.0.2(transitive)
+ Addedrepeat-element@1.1.4(transitive)
+ Addedrepeat-string@1.6.1(transitive)
+ Addedresolve-url@0.2.1(transitive)
+ Addedret@0.1.15(transitive)
+ Addedsafe-regex@1.1.0(transitive)
+ Addedset-value@2.0.1(transitive)
+ Addedsnapdragon@0.8.2(transitive)
+ Addedsnapdragon-node@2.1.1(transitive)
+ Addedsnapdragon-util@3.0.1(transitive)
+ Addedsource-map@0.5.7(transitive)
+ Addedsource-map-resolve@0.5.3(transitive)
+ Addedsource-map-url@0.4.1(transitive)
+ Addedsplit-string@3.1.0(transitive)
+ Addedstatic-extend@0.1.2(transitive)
+ Addedto-regex@3.0.2(transitive)
+ Addedto-regex-range@2.1.1(transitive)
+ Addedunion-value@1.0.1(transitive)
+ Addedunset-value@1.0.0(transitive)
+ Addedurix@0.1.0(transitive)
+ Addeduse@3.1.1(transitive)
- Removedfs-extra@^11.2.0
- Removedfs-extra@11.2.0(transitive)
- Removedgraceful-fs@4.2.11(transitive)
- Removedjsonfile@6.1.0(transitive)
- Removeduniversalify@2.0.1(transitive)
Updated@jaredwray/fumanchu@^1.2.1