takomo 6.3.5 → 6.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/templating/handlebars/handlebars-helper-provider.d.ts +13 -0
- package/dist/templating/handlebars/handlebars-template-engine-provider.js +6 -1
- package/dist/templating/handlebars/handlebars-template-engine-provider.js.map +1 -1
- package/dist/templating/handlebars/handlebars-template-engine.d.ts +53 -0
- package/dist/templating/handlebars/handlebars-template-engine.js +20 -0
- package/dist/templating/handlebars/handlebars-template-engine.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -26,6 +26,7 @@ export { HandlebarsHelperProvider, InitHandlebarsHelperProps, } from "./templati
|
|
|
26
26
|
export { HandlebarsHelper } from "./templating/handlebars/handlebars-helper.js";
|
|
27
27
|
export { HandlebarsTemplateEngineProvider, HandlebarsTemplateEngineProviderProps, } from "./templating/handlebars/handlebars-template-engine-provider.js";
|
|
28
28
|
export { TemplateEngineProps, TemplateEngineProvider, } from "./templating/template-engine-provider.js";
|
|
29
|
+
export { HandlebarsSafeString, HandlebarsCompileOptions, HandlebarsHelperOptions, HandlebarsTemplateDelegate, } from "./templating/handlebars/handlebars-template-engine.js";
|
|
29
30
|
export { RenderTemplateFileProps, RenderTemplateProps, TemplateEngine, } from "./templating/template-engine.js";
|
|
30
31
|
export { FilePath } from "./utils/files.js";
|
|
31
32
|
export { LogLevel, TkmLogger } from "./utils/logging.js";
|
package/dist/index.js
CHANGED
|
@@ -2,4 +2,5 @@ import "source-map-support/register.js";
|
|
|
2
2
|
export { run } from "./cli/index.js";
|
|
3
3
|
export { EjsTemplateEngineProvider } from "./templating/ejs/ejs-template-engine-provider.js";
|
|
4
4
|
export { HandlebarsTemplateEngineProvider, } from "./templating/handlebars/handlebars-template-engine-provider.js";
|
|
5
|
+
export { HandlebarsSafeString, } from "./templating/handlebars/handlebars-template-engine.js";
|
|
5
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAA;AAavC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AA0DpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAA;AAM5F,OAAO,EACL,gCAAgC,GAEjC,MAAM,gEAAgE,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,gCAAgC,CAAA;AAavC,OAAO,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAA;AA0DpC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kDAAkD,CAAA;AAM5F,OAAO,EACL,gCAAgC,GAEjC,MAAM,gEAAgE,CAAA;AAKvE,OAAO,EACL,oBAAoB,GAIrB,MAAM,uDAAuD,CAAA"}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import { FilePath } from "../../utils/files.js";
|
|
5
5
|
import { TkmLogger } from "../../utils/logging.js";
|
|
6
6
|
import { HandlebarsHelper } from "./handlebars-helper.js";
|
|
7
|
+
import { HandlebarsCompileOptions, HandlebarsSafeString, HandlebarsTemplateDelegate } from "./handlebars-template-engine.js";
|
|
7
8
|
export interface InitHandlebarsHelperProps {
|
|
8
9
|
/**
|
|
9
10
|
* Current project directory.
|
|
@@ -13,7 +14,19 @@ export interface InitHandlebarsHelperProps {
|
|
|
13
14
|
* Logger instance.
|
|
14
15
|
*/
|
|
15
16
|
readonly logger: TkmLogger;
|
|
17
|
+
/**
|
|
18
|
+
* Compile template string
|
|
19
|
+
*/
|
|
20
|
+
readonly compile: (templateString: string, options?: HandlebarsCompileOptions) => HandlebarsTemplateDelegate;
|
|
21
|
+
/**
|
|
22
|
+
* Create Handlebars SafeString instance. Handlebars will not perform
|
|
23
|
+
* html escape for SafeStrings.
|
|
24
|
+
*/
|
|
25
|
+
readonly safeString: (str: string) => HandlebarsSafeString;
|
|
16
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* Allows more customization to helper.
|
|
29
|
+
*/
|
|
17
30
|
export interface HandlebarsHelperProvider {
|
|
18
31
|
/**
|
|
19
32
|
* Initialize a Handlebars helper
|
|
@@ -27,7 +27,12 @@ export class HandlebarsTemplateEngineProvider {
|
|
|
27
27
|
this.#helpers.forEach((helper) => {
|
|
28
28
|
te.registerHelper(helper.name, helper.fn);
|
|
29
29
|
});
|
|
30
|
-
const helpers = await Promise.all(this.#helperProviders.map((provider) => provider.init({
|
|
30
|
+
const helpers = await Promise.all(this.#helperProviders.map((provider) => provider.init({
|
|
31
|
+
projectDir,
|
|
32
|
+
logger,
|
|
33
|
+
safeString: te.safeString,
|
|
34
|
+
compile: te.compile,
|
|
35
|
+
})));
|
|
31
36
|
helpers.forEach((helper) => {
|
|
32
37
|
te.registerHelper(helper.name, helper.fn);
|
|
33
38
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlebars-template-engine-provider.js","sourceRoot":"","sources":["../../../src/templating/handlebars/handlebars-template-engine-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAY,MAAM,sBAAsB,CAAA;AAQ/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAyBtE;;GAEG;AACH,MAAM,OAAO,gCAAgC;IAGlC,aAAa,CAAyB;IACtC,YAAY,CAAyB;IACrC,QAAQ,CAAiC;IACzC,gBAAgB,CAAyC;IAElE,YAAY,QAA+C,EAAE;QAC3D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,IAAI,EAAE,CAAA;QAC7C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAA;QACnC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,eAAe,IAAI,EAAE,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EACT,UAAU,EACV,MAAM,GACc;QACpB,MAAM,EAAE,GAAG,IAAI,wBAAwB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;QAE/D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAChD,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAChC,CAAA;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAClD,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAChC,CAAA;QAED,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC;YAC9C,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC;SACjD,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACrC,QAAQ,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"handlebars-template-engine-provider.js","sourceRoot":"","sources":["../../../src/templating/handlebars/handlebars-template-engine-provider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAY,MAAM,sBAAsB,CAAA;AAQ/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAA;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAA;AAyBtE;;GAEG;AACH,MAAM,OAAO,gCAAgC;IAGlC,aAAa,CAAyB;IACtC,YAAY,CAAyB;IACrC,QAAQ,CAAiC;IACzC,gBAAgB,CAAyC;IAElE,YAAY,QAA+C,EAAE;QAC3D,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,IAAI,EAAE,CAAA;QAC7C,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,WAAW,IAAI,EAAE,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAA;QACnC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,eAAe,IAAI,EAAE,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EACT,UAAU,EACV,MAAM,GACc;QACpB,MAAM,EAAE,GAAG,IAAI,wBAAwB,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAA;QAE/D,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAChD,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAChC,CAAA;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAClD,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAChC,CAAA;QAED,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC;YAC9C,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,EAAE,CAAC;SACjD,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CACrC,QAAQ,CAAC,IAAI,CAAC;YACZ,UAAU;YACV,MAAM;YACN,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,OAAO,EAAE,EAAE,CAAC,OAAO;SACpB,CAAC,CACH,CACF,CAAA;QAED,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,CAAC,CAAA;QAC3C,CAAC,CAAC,CAAA;QAEF,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
|
|
@@ -9,9 +9,62 @@ interface HandlebarsTemplateEngineProps {
|
|
|
9
9
|
readonly projectDir: FilePath;
|
|
10
10
|
readonly logger: TkmLogger;
|
|
11
11
|
}
|
|
12
|
+
/**
|
|
13
|
+
* See https://handlebarsjs.com/api-reference/compilation.html#handlebars-compile-template-options
|
|
14
|
+
*/
|
|
15
|
+
export interface HandlebarsCompileOptions {
|
|
16
|
+
data?: boolean;
|
|
17
|
+
compat?: boolean;
|
|
18
|
+
knownHelpersOnly?: boolean;
|
|
19
|
+
noEscape?: boolean;
|
|
20
|
+
strict?: boolean;
|
|
21
|
+
assumeObjects?: boolean;
|
|
22
|
+
preventIndent?: boolean;
|
|
23
|
+
ignoreStandalone?: boolean;
|
|
24
|
+
explicitPartialContext?: boolean;
|
|
25
|
+
}
|
|
26
|
+
export type HandlebarsTemplateDelegate = (context: any, options?: any) => string;
|
|
27
|
+
/**
|
|
28
|
+
* Optional last argument for Hanblebars helpers.
|
|
29
|
+
*/
|
|
30
|
+
export interface HandlebarsHelperOptions {
|
|
31
|
+
/**
|
|
32
|
+
* Helper name
|
|
33
|
+
*/
|
|
34
|
+
name: string;
|
|
35
|
+
/**
|
|
36
|
+
* Hash options
|
|
37
|
+
*/
|
|
38
|
+
hash: any;
|
|
39
|
+
/**
|
|
40
|
+
* Data
|
|
41
|
+
*/
|
|
42
|
+
data: any;
|
|
43
|
+
/**
|
|
44
|
+
* Helper location in the template
|
|
45
|
+
*/
|
|
46
|
+
loc: {
|
|
47
|
+
start: {
|
|
48
|
+
line: number;
|
|
49
|
+
column: number;
|
|
50
|
+
};
|
|
51
|
+
end: {
|
|
52
|
+
line: number;
|
|
53
|
+
column: number;
|
|
54
|
+
};
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
export declare class HandlebarsSafeString {
|
|
58
|
+
#private;
|
|
59
|
+
constructor(str: string);
|
|
60
|
+
toString(): string;
|
|
61
|
+
toHTML(): string;
|
|
62
|
+
}
|
|
12
63
|
export declare class HandlebarsTemplateEngine implements TemplateEngine {
|
|
13
64
|
#private;
|
|
14
65
|
constructor({ logger, projectDir }: HandlebarsTemplateEngineProps);
|
|
66
|
+
compile(templateString: string, options?: HandlebarsCompileOptions): HandlebarsTemplateDelegate;
|
|
67
|
+
safeString(str: string): HandlebarsSafeString;
|
|
15
68
|
registerHelper(name: string, fn: any): void;
|
|
16
69
|
registerPartial(name: string, pathToFile: FilePath): Promise<void>;
|
|
17
70
|
renderTemplate({ templateString, variables, sourceDescription, }: RenderTemplateProps): Promise<string>;
|
|
@@ -11,6 +11,18 @@ export class PartialAlreadyRegisteredError extends TakomoError {
|
|
|
11
11
|
});
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
+
export class HandlebarsSafeString {
|
|
15
|
+
#str;
|
|
16
|
+
constructor(str) {
|
|
17
|
+
this.#str = str;
|
|
18
|
+
}
|
|
19
|
+
toString() {
|
|
20
|
+
return this.#str;
|
|
21
|
+
}
|
|
22
|
+
toHTML() {
|
|
23
|
+
return this.#str;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
14
26
|
export class HandlebarsTemplateEngine {
|
|
15
27
|
#instance = hb.create();
|
|
16
28
|
#registeredPartials = new Map();
|
|
@@ -20,6 +32,13 @@ export class HandlebarsTemplateEngine {
|
|
|
20
32
|
this.#projectDir = projectDir;
|
|
21
33
|
this.#logger = logger;
|
|
22
34
|
}
|
|
35
|
+
compile(templateString, options) {
|
|
36
|
+
return this.#instance.compile(templateString, options);
|
|
37
|
+
}
|
|
38
|
+
safeString(str) {
|
|
39
|
+
return new HandlebarsSafeString(str);
|
|
40
|
+
}
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
23
42
|
registerHelper(name, fn) {
|
|
24
43
|
this.#instance.registerHelper(name, fn);
|
|
25
44
|
}
|
|
@@ -47,6 +66,7 @@ export class HandlebarsTemplateEngine {
|
|
|
47
66
|
const renderedTemplate = template(variables);
|
|
48
67
|
this.#logger.traceText("Template body after rendering:", () => renderedTemplate);
|
|
49
68
|
return renderedTemplate;
|
|
69
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
50
70
|
}
|
|
51
71
|
catch (e) {
|
|
52
72
|
this.#logger.error(`An error occurred while rendering template from ${sourceDescription}`, e);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlebars-template-engine.js","sourceRoot":"","sources":["../../../src/templating/handlebars/handlebars-template-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AACnD,OAAO,EACL,cAAc,EACd,UAAU,EAEV,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAO7D,MAAM,OAAO,6BAA8B,SAAQ,WAAW;IAC5D,YACE,IAAY,EACZ,iBAA2B,EAC3B,yBAAmC;QAEnC,MAAM,OAAO,GAAG,sBAAsB,IAAI,6BAA6B,yBAAyB,EAAE,CAAA;QAClG,KAAK,CAAC,OAAO,EAAE;YACb,IAAI,EAAE,8BAA8B,IAAI,SAAS,iBAAiB,6DAA6D;YAC/H,YAAY,EAAE,CAAC,2CAA2C,CAAC;SAC5D,CAAC,CAAA;IACJ,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"handlebars-template-engine.js","sourceRoot":"","sources":["../../../src/templating/handlebars/handlebars-template-engine.ts"],"names":[],"mappings":"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"}
|