takomo 6.0.0 → 6.1.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 +4 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/takomo-config-repository-fs/context/create-file-system-command-context.js +1 -0
- package/dist/takomo-config-repository-fs/context/create-file-system-command-context.js.map +1 -1
- package/dist/takomo-config-repository-fs/stacks/config-repository.js +2 -2
- package/dist/takomo-config-repository-fs/stacks/config-repository.js.map +1 -1
- package/dist/templating/handlebars/handlebars-helper-provider.d.ts +22 -0
- package/dist/templating/handlebars/handlebars-helper-provider.js +2 -0
- package/dist/templating/handlebars/handlebars-helper-provider.js.map +1 -0
- package/dist/templating/handlebars/handlebars-helper.d.ts +13 -0
- package/dist/templating/handlebars/handlebars-helper.js +2 -0
- package/dist/templating/handlebars/handlebars-helper.js.map +1 -0
- package/dist/templating/handlebars/handlebars-template-engine-provider.d.ts +23 -9
- package/dist/templating/handlebars/handlebars-template-engine-provider.js +24 -41
- package/dist/templating/handlebars/handlebars-template-engine-provider.js.map +1 -1
- package/dist/templating/handlebars/internal-handlebars-template-engine-provider.d.ts +17 -0
- package/dist/templating/handlebars/internal-handlebars-template-engine-provider.js +54 -0
- package/dist/templating/handlebars/internal-handlebars-template-engine-provider.js.map +1 -0
- package/dist/templating/template-engine-provider.d.ts +6 -0
- package/package.json +13 -13
package/dist/index.d.ts
CHANGED
|
@@ -22,6 +22,10 @@ export { CommandRole, OutputFormat } from "./takomo-core/command.js";
|
|
|
22
22
|
export { InitSchemaProps, SchemaProvider, } from "./takomo-stacks-model/schemas.js";
|
|
23
23
|
export { DeploymentStatus, Label } from "./targets/targets-model.js";
|
|
24
24
|
export { EjsTemplateEngineProvider } from "./templating/ejs/ejs-template-engine-provider.js";
|
|
25
|
+
export { HandlebarsHelperProvider, InitHandlebarsHelperProps, } from "./templating/handlebars/handlebars-helper-provider.js";
|
|
26
|
+
export { HandlebarsHelper } from "./templating/handlebars/handlebars-helper.js";
|
|
27
|
+
export { HandlebarsTemplateEngineProvider, HandlebarsTemplateEngineProviderProps, } from "./templating/handlebars/handlebars-template-engine-provider.js";
|
|
28
|
+
export { TemplateEngineProps, TemplateEngineProvider, } from "./templating/template-engine-provider.js";
|
|
25
29
|
export { RenderTemplateFileProps, RenderTemplateProps, TemplateEngine, } from "./templating/template-engine.js";
|
|
26
30
|
export { FilePath } from "./utils/files.js";
|
|
27
31
|
export { LogLevel, TkmLogger } from "./utils/logging.js";
|
package/dist/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
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
|
+
export { HandlebarsTemplateEngineProvider, } from "./templating/handlebars/handlebars-template-engine-provider.js";
|
|
4
5
|
//# 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"}
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-file-system-command-context.js","sourceRoot":"","sources":["../../../src/takomo-config-repository-fs/context/create-file-system-command-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAO/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,UAAU,EAAY,MAAM,sBAAsB,CAAA;AAG3D,OAAO,EAAE,sBAAsB,EAAoB,MAAM,iBAAiB,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AA0BrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,EACjD,KAA0C,EACP,EAAE;IACrC,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,gCAAgC,EAChC,sCAAsC,EACtC,WAAW,EACX,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,MAAM,GACP,GAAG,KAAK,CAAA;IAET,MAAM,SAAS,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAA;IAEpD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAC3C,UAAU,EACV,SAAS,CAAC,iBAAiB,EAC3B,gBAAgB,CACjB,CAAA;IAED,MAAM,CAAC,WAAW,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;IAEpD,IAAI,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE;QAC1D,IAAI,MAAM,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACtD,MAAM,CAAC,KAAK,CACV,2CAA2C,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,CAC9E,CAAA;YAED,MAAM,KAAK,CAAC;gBACV,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO;gBACtC,WAAW,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC/C,qDAAqD;gBACrD,MAAM,EAAE;oBACN,EAAE,EAAE,yFAAyF;iBAC9F;aACF,CAAC,CAAA;SACH;aAAM;YACL,MAAM,CAAC,KAAK,CACV,oDAAoD,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,CACvF,CAAA;SACF;KACF;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAE7C,MAAM,mBAAmB,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpE,QAAQ;KACT,CAAC,CAAC,CAAA;IAEH,MAAM,eAAe,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,YAAY,CAAC,CAAA;IAEjE,MAAM,SAAS,GAAG,MAAM,cAAc,CACpC,UAAU,EACV,eAAe,EACf,IAAI,EACJ,YAAY,CACb,CAAA;IAED,OAAO;QACL,SAAS;QACT,UAAU;QACV,KAAK;QACL,UAAU;QACV,YAAY;QACZ,QAAQ;QACR,kBAAkB;QAClB,iBAAiB;QACjB,sCAAsC;QACtC,gCAAgC;QAChC,WAAW;QACX,SAAS;QACT,iBAAiB;QACjB,aAAa;QACb,OAAO;QACP,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"create-file-system-command-context.js","sourceRoot":"","sources":["../../../src/takomo-config-repository-fs/context/create-file-system-command-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAO/B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uCAAuC,CAAA;AAEzE,OAAO,EAAE,UAAU,EAAY,MAAM,sBAAsB,CAAA;AAG3D,OAAO,EAAE,sBAAsB,EAAoB,MAAM,iBAAiB,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AA0BrD,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,EACjD,KAA0C,EACP,EAAE;IACrC,MAAM,EACJ,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,iBAAiB,EACjB,gCAAgC,EAChC,sCAAsC,EACtC,WAAW,EACX,SAAS,EACT,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,MAAM,GACP,GAAG,KAAK,CAAA;IAET,MAAM,SAAS,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAA;IAEpD,MAAM,aAAa,GAAG,MAAM,iBAAiB,CAC3C,UAAU,EACV,SAAS,CAAC,iBAAiB,EAC3B,gBAAgB,CACjB,CAAA;IAED,MAAM,CAAC,WAAW,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAA;IAEpD,IAAI,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE;QAC1D,IAAI,MAAM,UAAU,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACtD,MAAM,CAAC,KAAK,CACV,2CAA2C,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,CAC9E,CAAA;YAED,MAAM,KAAK,CAAC;gBACV,KAAK,EAAE,IAAI;gBACX,MAAM,EAAE,IAAI;gBACZ,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,UAAU;gBACpB,QAAQ,EAAE,MAAM;gBAChB,QAAQ,EAAE,OAAO;gBACjB,MAAM,EAAE,aAAa;gBACrB,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,OAAO;gBACtC,WAAW,EAAE,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC;gBAC/C,qDAAqD;gBACrD,MAAM,EAAE;oBACN,EAAE,EAAE,yFAAyF;iBAC9F;aACF,CAAC,CAAA;SACH;aAAM;YACL,MAAM,CAAC,KAAK,CACV,oDAAoD,aAAa,CAAC,OAAO,CAAC,UAAU,EAAE,CACvF,CAAA;SACF;KACF;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IAE7C,MAAM,mBAAmB,GAAG,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACpE,QAAQ;KACT,CAAC,CAAC,CAAA;IAEH,MAAM,eAAe,GAAG,CAAC,GAAG,mBAAmB,EAAE,GAAG,YAAY,CAAC,CAAA;IAEjE,MAAM,SAAS,GAAG,MAAM,cAAc,CACpC,UAAU,EACV,eAAe,EACf,IAAI,EACJ,YAAY,CACb,CAAA;IAED,OAAO;QACL,SAAS;QACT,UAAU;QACV,KAAK;QACL,UAAU;QACV,YAAY;QACZ,QAAQ;QACR,kBAAkB;QAClB,iBAAiB;QACjB,sCAAsC;QACtC,gCAAgC;QAChC,WAAW;QACX,SAAS;QACT,iBAAiB;QACjB,aAAa;QACb,OAAO;QACP,SAAS;KACV,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import path from "path";
|
|
2
2
|
import { ROOT_STACK_GROUP_PATH } from "../../takomo-stacks-model/constants.js";
|
|
3
3
|
import { EjsTemplateEngineProvider } from "../../templating/ejs/ejs-template-engine-provider.js";
|
|
4
|
-
import {
|
|
4
|
+
import { InternalHandlebarsTemplateEngineProvider } from "../../templating/handlebars/internal-handlebars-template-engine-provider.js";
|
|
5
5
|
import { dirExists, fileExists, readFileContents, } from "../../utils/files.js";
|
|
6
6
|
import { buildStackGroupConfigNode } from "./config-tree.js";
|
|
7
7
|
import { loadCustomHooks, loadCustomResolvers, loadCustomSchemas, } from "./extensions.js";
|
|
@@ -26,7 +26,7 @@ const getTemplateEngineProvider = (takomoConfig, projectConfig, logger, partials
|
|
|
26
26
|
}
|
|
27
27
|
return projectConfig.templateEngine === "ejs"
|
|
28
28
|
? new EjsTemplateEngineProvider({ logger })
|
|
29
|
-
: new
|
|
29
|
+
: new InternalHandlebarsTemplateEngineProvider({
|
|
30
30
|
logger,
|
|
31
31
|
partialsDir,
|
|
32
32
|
helpersDir,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-repository.js","sourceRoot":"","sources":["../../../src/takomo-config-repository-fs/stacks/config-repository.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAavB,OAAO,EAAE,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AAE9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sDAAsD,CAAA;AAChG,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"config-repository.js","sourceRoot":"","sources":["../../../src/takomo-config-repository-fs/stacks/config-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handlebars helper provider
|
|
3
|
+
*/
|
|
4
|
+
import { FilePath } from "../../utils/files.js";
|
|
5
|
+
import { TkmLogger } from "../../utils/logging.js";
|
|
6
|
+
import { HandlebarsHelper } from "./handlebars-helper.js";
|
|
7
|
+
export interface InitHandlebarsHelperProps {
|
|
8
|
+
/**
|
|
9
|
+
* Current project directory.
|
|
10
|
+
*/
|
|
11
|
+
readonly projectDir: FilePath;
|
|
12
|
+
/**
|
|
13
|
+
* Logger instance.
|
|
14
|
+
*/
|
|
15
|
+
readonly logger: TkmLogger;
|
|
16
|
+
}
|
|
17
|
+
export interface HandlebarsHelperProvider {
|
|
18
|
+
/**
|
|
19
|
+
* Initialize a Handlebars helper
|
|
20
|
+
*/
|
|
21
|
+
readonly init: (props: InitHandlebarsHelperProps) => Promise<HandlebarsHelper>;
|
|
22
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlebars-helper-provider.js","sourceRoot":"","sources":["../../../src/templating/handlebars/handlebars-helper-provider.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Handlebars helper
|
|
3
|
+
*/
|
|
4
|
+
export interface HandlebarsHelper {
|
|
5
|
+
/**
|
|
6
|
+
* Name which to refer to the helper from a Handlebars template.
|
|
7
|
+
*/
|
|
8
|
+
readonly name: string;
|
|
9
|
+
/**
|
|
10
|
+
* Helper function to be invoked when a Handlebars template is rendered.
|
|
11
|
+
*/
|
|
12
|
+
readonly fn: (...args: any) => unknown;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handlebars-helper.js","sourceRoot":"","sources":["../../../src/templating/handlebars/handlebars-helper.ts"],"names":[],"mappings":""}
|
|
@@ -1,17 +1,31 @@
|
|
|
1
|
-
import { InternalTakomoProjectConfig } from "../../config/project-config.js";
|
|
2
1
|
import { FilePath } from "../../utils/files.js";
|
|
3
|
-
import { TkmLogger } from "../../utils/logging.js";
|
|
4
2
|
import { TemplateEngineProps, TemplateEngineProvider } from "../template-engine-provider.js";
|
|
5
3
|
import { TemplateEngine } from "../template-engine.js";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
import { HandlebarsHelperProvider } from "./handlebars-helper-provider.js";
|
|
5
|
+
import { HandlebarsHelper } from "./handlebars-helper.js";
|
|
6
|
+
export interface HandlebarsTemplateEngineProviderProps {
|
|
7
|
+
/**
|
|
8
|
+
* List of directories from where to load Handlebars partial files.
|
|
9
|
+
*/
|
|
10
|
+
readonly partialsDirs?: ReadonlyArray<FilePath>;
|
|
11
|
+
/**
|
|
12
|
+
* List of directories from where to load Handlebars helpers implemented with plain JavaScript.
|
|
13
|
+
*/
|
|
14
|
+
readonly helpersDirs?: ReadonlyArray<FilePath>;
|
|
15
|
+
/**
|
|
16
|
+
* List of helpers.
|
|
17
|
+
*/
|
|
18
|
+
readonly helpers?: ReadonlyArray<HandlebarsHelper>;
|
|
19
|
+
/**
|
|
20
|
+
* List of helper providers.
|
|
21
|
+
*/
|
|
22
|
+
readonly helperProviders?: ReadonlyArray<HandlebarsHelperProvider>;
|
|
11
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* Handlebars template engine provider.
|
|
26
|
+
*/
|
|
12
27
|
export declare class HandlebarsTemplateEngineProvider implements TemplateEngineProvider {
|
|
13
28
|
#private;
|
|
14
|
-
constructor(props
|
|
29
|
+
constructor(props?: HandlebarsTemplateEngineProviderProps);
|
|
15
30
|
init({ projectDir, logger, }: TemplateEngineProps): Promise<TemplateEngine>;
|
|
16
31
|
}
|
|
17
|
-
export {};
|
|
@@ -1,53 +1,36 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { dirExists } from "../../utils/files.js";
|
|
1
|
+
import { expandFilePath } from "../../utils/files.js";
|
|
3
2
|
import { HandlebarsTemplateEngine } from "./handlebars-template-engine.js";
|
|
4
3
|
import { loadHandlebarsHelpers } from "./load-handlebars-helpers.js";
|
|
5
4
|
import { loadHandlebarsPartials } from "./load-handlebars-partials.js";
|
|
5
|
+
/**
|
|
6
|
+
* Handlebars template engine provider.
|
|
7
|
+
*/
|
|
6
8
|
export class HandlebarsTemplateEngineProvider {
|
|
7
|
-
#
|
|
8
|
-
#
|
|
9
|
-
#
|
|
10
|
-
#
|
|
11
|
-
constructor(props) {
|
|
12
|
-
this.#
|
|
13
|
-
this.#
|
|
14
|
-
this.#
|
|
15
|
-
this.#
|
|
9
|
+
#partialsDirs;
|
|
10
|
+
#helpersDirs;
|
|
11
|
+
#helpers;
|
|
12
|
+
#helperProviders;
|
|
13
|
+
constructor(props = {}) {
|
|
14
|
+
this.#partialsDirs = props.partialsDirs ?? [];
|
|
15
|
+
this.#helpersDirs = props.helpersDirs ?? [];
|
|
16
|
+
this.#helpers = props.helpers ?? [];
|
|
17
|
+
this.#helperProviders = props.helperProviders ?? [];
|
|
16
18
|
}
|
|
17
19
|
async init({ projectDir, logger, }) {
|
|
18
20
|
const te = new HandlebarsTemplateEngine({ projectDir, logger });
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
const helperPackage = await import(config.package);
|
|
22
|
-
if (!helperPackage.default) {
|
|
23
|
-
throw new TakomoError(`Handlebars helper loaded from an NPM package ${config.package} does not have default export`);
|
|
24
|
-
}
|
|
25
|
-
const helper = helperPackage.default;
|
|
26
|
-
const helperWithName = config.name
|
|
27
|
-
? { ...helper, name: config.name }
|
|
28
|
-
: helper;
|
|
29
|
-
if (typeof helperWithName.fn !== "function") {
|
|
30
|
-
throw new TakomoError(`Handlebars helper loaded from an NPM package ${config.package} does not export property 'fn' of type function`);
|
|
31
|
-
}
|
|
32
|
-
if (typeof helperWithName.name !== "string") {
|
|
33
|
-
throw new TakomoError(`Handlebars helper loaded from an NPM package ${config.package} does not export property 'name' of type string`);
|
|
34
|
-
}
|
|
35
|
-
te.registerHelper(helperWithName.name, helperWithName.fn);
|
|
36
|
-
}
|
|
37
|
-
const defaultHelpersDirExists = await dirExists(this.#helpersDir);
|
|
38
|
-
const additionalHelpersDirs = this.#projectConfig.helpersDir;
|
|
39
|
-
const helpersDirs = defaultHelpersDirExists
|
|
40
|
-
? [this.#helpersDir, ...additionalHelpersDirs]
|
|
41
|
-
: additionalHelpersDirs;
|
|
42
|
-
const defaultPartialsDirExists = await dirExists(this.#partialsDir);
|
|
43
|
-
const additionalPartialsDirs = this.#projectConfig.partialsDir;
|
|
44
|
-
const partialsDirs = defaultPartialsDirExists
|
|
45
|
-
? [this.#partialsDir, ...additionalPartialsDirs]
|
|
46
|
-
: additionalPartialsDirs;
|
|
21
|
+
const helpersDirs = this.#helpersDirs.map((dir) => expandFilePath(projectDir, dir));
|
|
22
|
+
const partialsDirs = this.#partialsDirs.map((dir) => expandFilePath(projectDir, dir));
|
|
47
23
|
await Promise.all([
|
|
48
|
-
loadHandlebarsHelpers(helpersDirs,
|
|
49
|
-
loadHandlebarsPartials(partialsDirs,
|
|
24
|
+
loadHandlebarsHelpers(helpersDirs, logger, te),
|
|
25
|
+
loadHandlebarsPartials(partialsDirs, logger, te),
|
|
50
26
|
]);
|
|
27
|
+
this.#helpers.forEach((helper) => {
|
|
28
|
+
te.registerHelper(helper.name, helper.fn);
|
|
29
|
+
});
|
|
30
|
+
const helpers = await Promise.all(this.#helperProviders.map((provider) => provider.init({ projectDir, logger })));
|
|
31
|
+
helpers.forEach((helper) => {
|
|
32
|
+
te.registerHelper(helper.name, helper.fn);
|
|
33
|
+
});
|
|
51
34
|
return te;
|
|
52
35
|
}
|
|
53
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlebars-template-engine-provider.js","sourceRoot":"","sources":["../../../src/templating/handlebars/handlebars-template-engine-provider.ts"],"names":[],"mappings":"
|
|
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;AAsBtE;;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,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CACtC,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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { InternalTakomoProjectConfig } from "../../config/project-config.js";
|
|
2
|
+
import { FilePath } from "../../utils/files.js";
|
|
3
|
+
import { TkmLogger } from "../../utils/logging.js";
|
|
4
|
+
import { TemplateEngineProps, TemplateEngineProvider } from "../template-engine-provider.js";
|
|
5
|
+
import { TemplateEngine } from "../template-engine.js";
|
|
6
|
+
interface InternalHandlebarsTemplateEngineProviderProps {
|
|
7
|
+
readonly partialsDir: FilePath;
|
|
8
|
+
readonly helpersDir: FilePath;
|
|
9
|
+
readonly projectConfig: InternalTakomoProjectConfig;
|
|
10
|
+
readonly logger: TkmLogger;
|
|
11
|
+
}
|
|
12
|
+
export declare class InternalHandlebarsTemplateEngineProvider implements TemplateEngineProvider {
|
|
13
|
+
#private;
|
|
14
|
+
constructor(props: InternalHandlebarsTemplateEngineProviderProps);
|
|
15
|
+
init({ projectDir, logger, }: TemplateEngineProps): Promise<TemplateEngine>;
|
|
16
|
+
}
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { TakomoError } from "../../utils/errors.js";
|
|
2
|
+
import { dirExists } from "../../utils/files.js";
|
|
3
|
+
import { HandlebarsTemplateEngine } from "./handlebars-template-engine.js";
|
|
4
|
+
import { loadHandlebarsHelpers } from "./load-handlebars-helpers.js";
|
|
5
|
+
import { loadHandlebarsPartials } from "./load-handlebars-partials.js";
|
|
6
|
+
export class InternalHandlebarsTemplateEngineProvider {
|
|
7
|
+
#partialsDir;
|
|
8
|
+
#helpersDir;
|
|
9
|
+
#projectConfig;
|
|
10
|
+
#logger;
|
|
11
|
+
constructor(props) {
|
|
12
|
+
this.#partialsDir = props.partialsDir;
|
|
13
|
+
this.#helpersDir = props.helpersDir;
|
|
14
|
+
this.#projectConfig = props.projectConfig;
|
|
15
|
+
this.#logger = props.logger;
|
|
16
|
+
}
|
|
17
|
+
async init({ projectDir, logger, }) {
|
|
18
|
+
const te = new HandlebarsTemplateEngine({ projectDir, logger });
|
|
19
|
+
for (const config of this.#projectConfig.helpers) {
|
|
20
|
+
this.#logger.debug(`Register Handlebars helper from NPM package: ${config.package}`);
|
|
21
|
+
const helperPackage = await import(config.package);
|
|
22
|
+
if (!helperPackage.default) {
|
|
23
|
+
throw new TakomoError(`Handlebars helper loaded from an NPM package ${config.package} does not have default export`);
|
|
24
|
+
}
|
|
25
|
+
const helper = helperPackage.default;
|
|
26
|
+
const helperWithName = config.name
|
|
27
|
+
? { ...helper, name: config.name }
|
|
28
|
+
: helper;
|
|
29
|
+
if (typeof helperWithName.fn !== "function") {
|
|
30
|
+
throw new TakomoError(`Handlebars helper loaded from an NPM package ${config.package} does not export property 'fn' of type function`);
|
|
31
|
+
}
|
|
32
|
+
if (typeof helperWithName.name !== "string") {
|
|
33
|
+
throw new TakomoError(`Handlebars helper loaded from an NPM package ${config.package} does not export property 'name' of type string`);
|
|
34
|
+
}
|
|
35
|
+
te.registerHelper(helperWithName.name, helperWithName.fn);
|
|
36
|
+
}
|
|
37
|
+
const defaultHelpersDirExists = await dirExists(this.#helpersDir);
|
|
38
|
+
const additionalHelpersDirs = this.#projectConfig.helpersDir;
|
|
39
|
+
const helpersDirs = defaultHelpersDirExists
|
|
40
|
+
? [this.#helpersDir, ...additionalHelpersDirs]
|
|
41
|
+
: additionalHelpersDirs;
|
|
42
|
+
const defaultPartialsDirExists = await dirExists(this.#partialsDir);
|
|
43
|
+
const additionalPartialsDirs = this.#projectConfig.partialsDir;
|
|
44
|
+
const partialsDirs = defaultPartialsDirExists
|
|
45
|
+
? [this.#partialsDir, ...additionalPartialsDirs]
|
|
46
|
+
: additionalPartialsDirs;
|
|
47
|
+
await Promise.all([
|
|
48
|
+
loadHandlebarsHelpers(helpersDirs, this.#logger, te),
|
|
49
|
+
loadHandlebarsPartials(partialsDirs, this.#logger, te),
|
|
50
|
+
]);
|
|
51
|
+
return te;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=internal-handlebars-template-engine-provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal-handlebars-template-engine-provider.js","sourceRoot":"","sources":["../../../src/templating/handlebars/internal-handlebars-template-engine-provider.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,13 @@ import { FilePath } from "../utils/files.js";
|
|
|
2
2
|
import { TkmLogger } from "../utils/logging.js";
|
|
3
3
|
import { TemplateEngine } from "./template-engine.js";
|
|
4
4
|
export interface TemplateEngineProps {
|
|
5
|
+
/**
|
|
6
|
+
* Current project directory.
|
|
7
|
+
*/
|
|
5
8
|
readonly projectDir: FilePath;
|
|
9
|
+
/**
|
|
10
|
+
* Logger instance.
|
|
11
|
+
*/
|
|
6
12
|
readonly logger: TkmLogger;
|
|
7
13
|
}
|
|
8
14
|
export interface TemplateEngineProvider {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "takomo",
|
|
3
|
-
"version": "6.
|
|
3
|
+
"version": "6.1.0",
|
|
4
4
|
"description": "Organize, configure and deploy CloudFormation stacks.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"aws",
|
|
@@ -72,10 +72,10 @@
|
|
|
72
72
|
}
|
|
73
73
|
},
|
|
74
74
|
"devDependencies": {
|
|
75
|
-
"ts-jest": "29.0
|
|
75
|
+
"ts-jest": "29.1.0",
|
|
76
76
|
"@jest/globals": "29.5.0",
|
|
77
77
|
"@aws-sdk/client-ec2": "3.292.0",
|
|
78
|
-
"@commitlint/cli": "17.
|
|
78
|
+
"@commitlint/cli": "17.5.1",
|
|
79
79
|
"@commitlint/config-conventional": "17.4.4",
|
|
80
80
|
"@jest/console": "29.5.0",
|
|
81
81
|
"@takomo/test-custom-helper-lowercase": "0.0.1",
|
|
@@ -83,10 +83,10 @@
|
|
|
83
83
|
"@takomo/test-custom-resolver-code": "0.0.1",
|
|
84
84
|
"@takomo/test-custom-resolver-name": "0.0.1",
|
|
85
85
|
"@types/date-and-time": "0.13.0",
|
|
86
|
-
"@types/diff": "
|
|
86
|
+
"@types/diff": "5.0.3",
|
|
87
87
|
"@types/folder-hash": "4.0.2",
|
|
88
88
|
"@types/inquirer": "9.0.3",
|
|
89
|
-
"@types/jest": "29.
|
|
89
|
+
"@types/jest": "29.5.0",
|
|
90
90
|
"@types/jmespath": "0.15.0",
|
|
91
91
|
"@types/js-yaml": "4.0.5",
|
|
92
92
|
"@types/json-stable-stringify": "1.0.34",
|
|
@@ -108,15 +108,15 @@
|
|
|
108
108
|
"husky": "8.0.3",
|
|
109
109
|
"jest": "29.5.0",
|
|
110
110
|
"jest-environment-testenv-recycler": "0.0.21",
|
|
111
|
-
"jest-mock-extended": "3.0.
|
|
111
|
+
"jest-mock-extended": "3.0.4",
|
|
112
112
|
"prettier": "2.8.4",
|
|
113
113
|
"prettier-plugin-organize-imports": "3.2.2",
|
|
114
114
|
"pretty-quick": "3.1.3",
|
|
115
115
|
"ts-node": "10.9.1",
|
|
116
|
-
"typedoc": "0.23.
|
|
116
|
+
"typedoc": "0.23.28",
|
|
117
117
|
"typescript": "4.9.5",
|
|
118
|
-
"semantic-release": "
|
|
119
|
-
"npm-check-updates": "16.
|
|
118
|
+
"semantic-release": "21.0.1",
|
|
119
|
+
"npm-check-updates": "16.10.0"
|
|
120
120
|
},
|
|
121
121
|
"dependencies": {
|
|
122
122
|
"@aws-sdk/client-cloudformation": "3.292.0",
|
|
@@ -132,14 +132,14 @@
|
|
|
132
132
|
"@aws-sdk/types": "3.292.0",
|
|
133
133
|
"chalk": "5.2.0",
|
|
134
134
|
"cockatiel": "2.0.1",
|
|
135
|
-
"date-and-time": "2.
|
|
136
|
-
"diff": "5.
|
|
135
|
+
"date-and-time": "2.4.3",
|
|
136
|
+
"diff": "5.1.0",
|
|
137
137
|
"dotenv": "16.0.3",
|
|
138
138
|
"dotenv-expand": "10.0.0",
|
|
139
139
|
"easy-table": "1.2.0",
|
|
140
140
|
"folder-hash": "4.0.4",
|
|
141
141
|
"handlebars": "4.7.7",
|
|
142
|
-
"inquirer": "9.1.
|
|
142
|
+
"inquirer": "9.1.5",
|
|
143
143
|
"inquirer-autocomplete-prompt": "3.0.0",
|
|
144
144
|
"jmespath": "0.16.0",
|
|
145
145
|
"joi": "17.8.3",
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
"lodash.takerightwhile": "4.6.0",
|
|
150
150
|
"neverthrow": "4.3.1",
|
|
151
151
|
"p-queue": "7.3.4",
|
|
152
|
-
"pretty-ms": "
|
|
152
|
+
"pretty-ms": "8.0.0",
|
|
153
153
|
"ramda": "0.28.0",
|
|
154
154
|
"readdirp": "3.6.0",
|
|
155
155
|
"semver": "7.3.8",
|