@constructor-io/constructorio-connect-cli 1.18.0 → 1.18.1

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/README.md CHANGED
@@ -108,6 +108,10 @@ EXAMPLES
108
108
 
109
109
  $ constructorio-connect-cli execute --template-path=item/item.jsonata
110
110
 
111
+ $ constructorio-connect-cli execute --template-path=item/item.js
112
+
113
+ $ constructorio-connect-cli execute --template-path=item/item.ts
114
+
111
115
  $ constructorio-connect-cli execute --template-path=variation/variation.jsonata
112
116
 
113
117
  $ constructorio-connect-cli execute --template-path=item_group/item_group.jsonata --fixture-path=item_group.json
@@ -164,7 +164,7 @@ By running `npm run test`, Jest will search for all files with the `.test.js` or
164
164
  in the project and execute the corresponding tests.
165
165
 
166
166
  As a best practice, you should have at least one snapshot test to ensure the result of your template.
167
- You cna also add any logical tests to cover any rules you add to your templates,
167
+ You can also add any logical tests to cover any rules you add to your templates,
168
168
  such as "calculating the average price of your variations".
169
169
  If you need to, you can update your snapshots with the `--updateSnapshot` flag.
170
170
 
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/commands/execute.ts"],"names":[],"mappings":"AAyBA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAC;AAEX;;;GAGG;AACH,UAAU,iBAAiB;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB;AAaD,qBAAa,OAAQ,SAAQ,yBAAyB;IACpD,MAAM,CAAC,KAAK;;;;;;MAoBV;IAEF,MAAM,CAAC,WAAW,SACkK;IAEpL,MAAM,CAAC,QAAQ,WAOb;IAEF,KAAK,EAAE,iBAAiB,CAAM;IAExB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAmCnB,UAAU;YA0BV,oBAAoB;YAqDpB,wBAAwB;YA2BxB,wBAAwB;CAevC"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/commands/execute.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAElE,eAAO,MAAM,qBAAqB;;;;;CAKxB,CAAC;AAEX;;;GAGG;AACH,UAAU,iBAAiB;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB;AAaD,qBAAa,OAAQ,SAAQ,yBAAyB;IACpD,MAAM,CAAC,KAAK;;;;;;MAoBV;IAEF,MAAM,CAAC,WAAW,SACkK;IAEpL,MAAM,CAAC,QAAQ,WASb;IAEF,KAAK,EAAE,iBAAiB,CAAM;IAExB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;YAoCnB,UAAU;YA0BV,oBAAoB;YAqDpB,wBAAwB;YA2BxB,wBAAwB;CAevC"}
@@ -4,6 +4,7 @@ exports.Execute = exports.executePromptMessages = void 0;
4
4
  const core_1 = require("@oclif/core");
5
5
  const errors_1 = require("@oclif/core/errors");
6
6
  const file_loaders_1 = require("../helpers/file-loaders");
7
+ const extract_template_engine_1 = require("../helpers/extract-template-engine");
7
8
  const get_connections_request_1 = require("../http/get-connections-request");
8
9
  const send_template_execute_request_1 = require("../http/send-template-execute-request");
9
10
  const filter_connections_by_template_1 = require("../prompt-data/filter-connections-by-template");
@@ -48,6 +49,8 @@ class Execute extends refresh_connections_1.RefreshConnectionsCommand {
48
49
  static examples = [
49
50
  "$ <%= config.bin %> execute",
50
51
  "$ <%= config.bin %> execute --template-path=item/item.jsonata",
52
+ "$ <%= config.bin %> execute --template-path=item/item.js",
53
+ "$ <%= config.bin %> execute --template-path=item/item.ts",
51
54
  "$ <%= config.bin %> execute --template-path=variation/variation.jsonata",
52
55
  "$ <%= config.bin %> execute --template-path=item_group/item_group.jsonata --fixture-path=item_group.json",
53
56
  "$ <%= config.bin %> execute --template-path=grouping/grouping.jsonata --connection-id=example-connection-id",
@@ -61,7 +64,7 @@ class Execute extends refresh_connections_1.RefreshConnectionsCommand {
61
64
  return await (0, config_1.getRepositoryConfigFile)();
62
65
  })();
63
66
  const result = await (0, send_template_execute_request_1.sendTemplateExecuteRequest)({
64
- template: (0, file_loaders_1.getJSONataTemplate)(templateInput.templatePath).toString(),
67
+ template: (0, file_loaders_1.getTemplate)(templateInput.templatePath).toString(),
65
68
  helpers: (await (0, template_source_code_1.getHelpersSourceCode)(config.helpers)) ?? "",
66
69
  data: (0, file_loaders_1.getCatalogFixture)(templateInput.fixturePath),
67
70
  external: templateInput.externalPath
@@ -70,6 +73,7 @@ class Execute extends refresh_connections_1.RefreshConnectionsCommand {
70
73
  connectionId: templateInput.connectionId,
71
74
  templateType: (0, extract_template_type_1.extractTemplateType)(templateInput.templatePath),
72
75
  overrideDate: templateInput.overrideDate,
76
+ engine: (0, extract_template_engine_1.extractTemplateEngine)(templateInput.templatePath),
73
77
  });
74
78
  (0, render_template_result_1.renderTemplateResult)(result);
75
79
  if (result.warnings.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"execute-template.d.ts","sourceRoot":"","sources":["../../src/functions/execute-template.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,YAAY,qEAMf,CAAC;AAEX,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,mBAAmB,gCAwBjE"}
1
+ {"version":3,"file":"execute-template.d.ts","sourceRoot":"","sources":["../../src/functions/execute-template.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,YAAY,qEAMf,CAAC;AAEX,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,CAAC,OAAO,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,mBAAmB,gCAyBjE"}
@@ -9,6 +9,7 @@ const os_1 = __importDefault(require("os"));
9
9
  const path_1 = __importDefault(require("path"));
10
10
  const config_1 = require("../customer/config");
11
11
  const template_source_code_1 = require("../customer/template-source-code");
12
+ const extract_template_engine_1 = require("../helpers/extract-template-engine");
12
13
  const file_loaders_1 = require("../helpers/file-loaders");
13
14
  const print_warnings_1 = require("../helpers/print-warnings");
14
15
  const get_connections_request_1 = require("../http/get-connections-request");
@@ -37,7 +38,7 @@ async function executeTemplate(options) {
37
38
  const connection = await getConnection(options);
38
39
  const config = await (0, config_1.getRepositoryConfigFile)();
39
40
  const result = await (0, send_template_execute_request_1.sendTemplateExecuteRequest)({
40
- template: (0, file_loaders_1.getJSONataTemplate)(name).toString(),
41
+ template: (0, file_loaders_1.getTemplate)(name).toString(),
41
42
  helpers: (await (0, template_source_code_1.getHelpersSourceCode)(config.helpers)) ?? "",
42
43
  connectionId: connection.id,
43
44
  templateType: options.type,
@@ -45,6 +46,7 @@ async function executeTemplate(options) {
45
46
  showLogs: false,
46
47
  external,
47
48
  overrideDate,
49
+ engine: (0, extract_template_engine_1.extractTemplateEngine)(name),
48
50
  });
49
51
  if (!result.success) {
50
52
  throw new Error(`Error executing template: ${result.error.message}`);
@@ -0,0 +1,8 @@
1
+ import { type TemplatePath, type TemplateExecutionEngine } from "../types";
2
+ /**
3
+ * Extracts the template execution engine from the file extension.
4
+ * Throws if the extension is not a supported engine.
5
+ * Falls back to "jsonata" for files without an extension.
6
+ */
7
+ export declare function extractTemplateEngine(templatePath: TemplatePath): TemplateExecutionEngine;
8
+ //# sourceMappingURL=extract-template-engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extract-template-engine.d.ts","sourceRoot":"","sources":["../../src/helpers/extract-template-engine.ts"],"names":[],"mappings":"AAIA,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,uBAAuB,EAC7B,MAAM,UAAU,CAAC;AAMlB;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,YAAY,GACzB,uBAAuB,CAsBzB"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.extractTemplateEngine = extractTemplateEngine;
7
+ const path_1 = __importDefault(require("path"));
8
+ const errors_1 = require("@oclif/core/errors");
9
+ const types_1 = require("../types");
10
+ function isSupportedEngine(ext) {
11
+ return types_1.SupportedTemplateExecutionEngines.includes(ext);
12
+ }
13
+ /**
14
+ * Extracts the template execution engine from the file extension.
15
+ * Throws if the extension is not a supported engine.
16
+ * Falls back to "jsonata" for files without an extension.
17
+ */
18
+ function extractTemplateEngine(templatePath) {
19
+ const ext = path_1.default.extname(templatePath).slice(1);
20
+ const basename = path_1.default.basename(templatePath);
21
+ const isDotfile = !ext && basename.startsWith(".");
22
+ if (isDotfile) {
23
+ throw new errors_1.CLIError(`Dotfiles are not supported as template paths: "${templatePath}".`);
24
+ }
25
+ if (!ext) {
26
+ return "jsonata";
27
+ }
28
+ if (isSupportedEngine(ext)) {
29
+ return ext;
30
+ }
31
+ throw new errors_1.CLIError(`Unsupported template engine: "${ext}". Supported engines: ${types_1.SupportedTemplateExecutionEngines.join(", ")}`);
32
+ }
@@ -1,7 +1,7 @@
1
1
  import fs from "fs-extra";
2
2
  export declare const getCatalogFixture: (name: string, options?: fs.JsonReadOptions) => any;
3
3
  export declare const getExternalFixture: (name: string, options?: fs.JsonReadOptions) => any;
4
- export declare const getJSONataTemplate: (name: string, options?: BufferEncoding | (fs.ObjectEncodingOptions & {
4
+ export declare const getTemplate: (name: string, options?: BufferEncoding | (fs.ObjectEncodingOptions & {
5
5
  flag?: string | undefined;
6
6
  }) | null | undefined) => string | Buffer<ArrayBufferLike>;
7
7
  export declare function createFileLoader<T, S extends any[]>({ prefix, fileLoader, suggestions, }: Args<T, S>): (name: string, ...args: S) => T;
@@ -1 +1 @@
1
- {"version":3,"file":"file-loaders.d.ts","sourceRoot":"","sources":["../../src/helpers/file-loaders.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,UAAU,CAAC;AAI1B,eAAO,MAAM,iBAAiB,SAqBP,MAAM,sCAjB3B,CAAC;AAEH,eAAO,MAAM,kBAAkB,SAeR,MAAM,sCAX3B,CAAC;AAEH,eAAO,MAAM,kBAAkB,SASR,MAAM;;0DAN3B,CAAC;AAEH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EACnD,MAAM,EACN,UAAU,EACV,WAAgB,GACjB,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAkB9C;AAED,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB"}
1
+ {"version":3,"file":"file-loaders.d.ts","sourceRoot":"","sources":["../../src/helpers/file-loaders.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,UAAU,CAAC;AAI1B,eAAO,MAAM,iBAAiB,SAqBP,MAAM,sCAjB3B,CAAC;AAEH,eAAO,MAAM,kBAAkB,SAeR,MAAM,sCAX3B,CAAC;AAEH,eAAO,MAAM,WAAW,SASD,MAAM;;0DAN3B,CAAC;AAEH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE,EAAE,EACnD,MAAM,EACN,UAAU,EACV,WAAgB,GACjB,EAAE,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAkB9C;AAED,UAAU,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,GAAG,EAAE;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB"}
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getJSONataTemplate = exports.getExternalFixture = exports.getCatalogFixture = void 0;
6
+ exports.getTemplate = exports.getExternalFixture = exports.getCatalogFixture = void 0;
7
7
  exports.createFileLoader = createFileLoader;
8
8
  const path_1 = __importDefault(require("path"));
9
9
  const errors_1 = require("@oclif/core/errors");
@@ -19,7 +19,7 @@ exports.getExternalFixture = createFileLoader({
19
19
  fileLoader: fs_extra_1.default.readJSONSync,
20
20
  suggestions: ["Ensure the file is a valid JSON file"],
21
21
  });
22
- exports.getJSONataTemplate = createFileLoader({
22
+ exports.getTemplate = createFileLoader({
23
23
  prefix: path_1.default.join("src", "templates"),
24
24
  fileLoader: fs_extra_1.default.readFileSync,
25
25
  });
@@ -1,5 +1,5 @@
1
- import { type TemplateExecutionSuccessResponse, type TemplateExecutionErrorResponse } from "../types";
2
- export declare function sendTemplateExecuteRequest({ template, helpers, data, external, connectionId, templateType, showLogs, overrideDate, }: Args): Promise<TemplateExecutionSuccessResponse | TemplateExecutionErrorResponse>;
1
+ import { type TemplateExecutionSuccessResponse, type TemplateExecutionErrorResponse, type TemplateExecutionEngine } from "../types";
2
+ export declare function sendTemplateExecuteRequest({ template, helpers, data, external, connectionId, templateType, showLogs, overrideDate, engine, }: Args): Promise<TemplateExecutionSuccessResponse | TemplateExecutionErrorResponse>;
3
3
  interface Args {
4
4
  template: string;
5
5
  helpers: string;
@@ -9,6 +9,7 @@ interface Args {
9
9
  templateType: string;
10
10
  showLogs?: boolean;
11
11
  overrideDate?: Date;
12
+ engine: TemplateExecutionEngine;
12
13
  }
13
14
  export {};
14
15
  //# sourceMappingURL=send-template-execute-request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"send-template-execute-request.d.ts","sourceRoot":"","sources":["../../src/http/send-template-execute-request.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,gCAAgC,EACrC,KAAK,8BAA8B,EACpC,MAAM,UAAU,CAAC;AAIlB,wBAAsB,0BAA0B,CAAC,EAC/C,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,QAAe,EACf,YAAY,GACb,EAAE,IAAI,GAAG,OAAO,CACf,gCAAgC,GAAG,8BAA8B,CAClE,CA+BA;AAED,UAAU,IAAI;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,GAAG,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,IAAI,CAAC;CACrB"}
1
+ {"version":3,"file":"send-template-execute-request.d.ts","sourceRoot":"","sources":["../../src/http/send-template-execute-request.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,KAAK,gCAAgC,EACrC,KAAK,8BAA8B,EACnC,KAAK,uBAAuB,EAC7B,MAAM,UAAU,CAAC;AAIlB,wBAAsB,0BAA0B,CAAC,EAC/C,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,QAAe,EACf,YAAY,EACZ,MAAM,GACP,EAAE,IAAI,GAAG,OAAO,CACf,gCAAgC,GAAG,8BAA8B,CAClE,CAgCA;AAED,UAAU,IAAI;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,QAAQ,EAAE,GAAG,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,MAAM,EAAE,uBAAuB,CAAC;CACjC"}
@@ -5,7 +5,7 @@ const axios_1 = require("axios");
5
5
  const errors_1 = require("@oclif/core/errors");
6
6
  const ux_action_1 = require("../helpers/ux-action");
7
7
  const http_client_1 = require("./http-client");
8
- async function sendTemplateExecuteRequest({ template, helpers, data, external, connectionId, templateType, showLogs = true, overrideDate, }) {
8
+ async function sendTemplateExecuteRequest({ template, helpers, data, external, connectionId, templateType, showLogs = true, overrideDate, engine, }) {
9
9
  const client = await (0, http_client_1.getHttpClient)();
10
10
  const httpRequest = async () => {
11
11
  return (await client.patch("templates/standalone/execute", {
@@ -15,7 +15,8 @@ async function sendTemplateExecuteRequest({ template, helpers, data, external, c
15
15
  external,
16
16
  connection_id: connectionId,
17
17
  template_type: templateType,
18
- ...(overrideDate ? { override_date: overrideDate.toISOString() } : {}),
18
+ override_date: overrideDate?.toISOString(),
19
+ engine,
19
20
  })).data;
20
21
  };
21
22
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"get-template-files.d.ts","sourceRoot":"","sources":["../../src/prompt-data/get-template-files.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAG9C;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAgBvE"}
1
+ {"version":3,"file":"get-template-files.d.ts","sourceRoot":"","sources":["../../src/prompt-data/get-template-files.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,KAAK,aAAa,EAEnB,MAAM,UAAU,CAAC;AAWlB;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAevE"}
@@ -6,14 +6,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.getTemplateFiles = getTemplateFiles;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const find_deep_files_1 = require("../helpers/find-deep-files");
9
+ const types_1 = require("../types");
9
10
  const path_2 = require("../customer/path");
11
+ const TEMPLATE_EXTENSIONS = new Set(types_1.SupportedTemplateExecutionEngines.map((ext) => `.${ext}`));
12
+ function hasSupportedExtension(file) {
13
+ return TEMPLATE_EXTENSIONS.has(path_1.default.extname(file));
14
+ }
10
15
  /**
11
16
  * Get a prompt-ready list of template files in the user repository
12
17
  */
13
18
  async function getTemplateFiles() {
14
19
  const filePath = path_1.default.join("src", "templates");
15
20
  const files = getTemplatePaths(filePath);
16
- const filteredFiles = files.filter((file) => file.endsWith(".jsonata") && !file.includes("helpers"));
21
+ const filteredFiles = files.filter((file) => hasSupportedExtension(file) && !file.includes("helpers"));
17
22
  return filteredFiles.map((file) => {
18
23
  const relativePath = (0, path_2.cleanupPath)(file);
19
24
  return {
package/dist/types.d.ts CHANGED
@@ -65,6 +65,9 @@ export declare enum CatalogFixtureType {
65
65
  MAPPING = "mapping"
66
66
  }
67
67
  export declare const TemplateTypes: readonly ["item", "variation", "item_group", "grouping", "mapping"];
68
+ /** The supported template execution engines. The backend uses these to determine how to evaluate a template. */
69
+ export declare const SupportedTemplateExecutionEngines: readonly ["jsonata", "js", "ts"];
70
+ export type TemplateExecutionEngine = (typeof SupportedTemplateExecutionEngines)[number];
68
71
  /**
69
72
  * The unix relative path of a given template.
70
73
  * With NO prefixed "/" or "./".
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,KAAK,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,KAAK,CAAC;YACf,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7C,cAAc,EAAE,MAAM,EAAE,CAAC;SAC1B,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAErE,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAEjE,UAAU,aAAa;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AACD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAED,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,aAAa,qEAMhB,CAAC;AAEX;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,MAAM;IACrB,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,YAAY,EAAE,KAAK,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,KAAK,CAAC;YACf,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7C,cAAc,EAAE,MAAM,EAAE,CAAC;SAC1B,CAAC,CAAC;KACJ,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;IACf,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAErE,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC;AAEjE,UAAU,aAAa;IACrB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AACD,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,gCAAgC;IAC/C,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAED,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,aAAa,CAAC;IACrB,QAAQ,EAAE,wBAAwB,EAAE,CAAC;CACtC;AAED,oBAAY,kBAAkB;IAC5B,IAAI,SAAS;IACb,SAAS,cAAc;IACvB,UAAU,eAAe;IACzB,aAAa,kBAAkB;IAC/B,OAAO,YAAY;CACpB;AAED,eAAO,MAAM,aAAa,qEAMhB,CAAC;AAEX,gHAAgH;AAChH,eAAO,MAAM,iCAAiC,kCAIpC,CAAC;AAEX,MAAM,MAAM,uBAAuB,GACjC,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,CAAC;AAElC,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC"}
package/dist/types.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TemplateTypes = exports.CatalogFixtureType = void 0;
3
+ exports.SupportedTemplateExecutionEngines = exports.TemplateTypes = exports.CatalogFixtureType = void 0;
4
4
  var CatalogFixtureType;
5
5
  (function (CatalogFixtureType) {
6
6
  CatalogFixtureType["ITEM"] = "item";
@@ -16,3 +16,9 @@ exports.TemplateTypes = [
16
16
  "grouping",
17
17
  "mapping",
18
18
  ];
19
+ /** The supported template execution engines. The backend uses these to determine how to evaluate a template. */
20
+ exports.SupportedTemplateExecutionEngines = [
21
+ "jsonata",
22
+ "js",
23
+ "ts",
24
+ ];
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
- declare const _default: "1.18.0";
1
+ declare const _default: "1.18.1";
2
2
  export default _default;
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = '1.18.0';
3
+ exports.default = '1.18.1';
@@ -53,6 +53,8 @@
53
53
  "examples": [
54
54
  "$ <%= config.bin %> execute",
55
55
  "$ <%= config.bin %> execute --template-path=item/item.jsonata",
56
+ "$ <%= config.bin %> execute --template-path=item/item.js",
57
+ "$ <%= config.bin %> execute --template-path=item/item.ts",
56
58
  "$ <%= config.bin %> execute --template-path=variation/variation.jsonata",
57
59
  "$ <%= config.bin %> execute --template-path=item_group/item_group.jsonata --fixture-path=item_group.json",
58
60
  "$ <%= config.bin %> execute --template-path=grouping/grouping.jsonata --connection-id=example-connection-id",
@@ -277,5 +279,5 @@
277
279
  ]
278
280
  }
279
281
  },
280
- "version": "1.18.0"
282
+ "version": "1.18.1"
281
283
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@constructor-io/constructorio-connect-cli",
3
- "version": "1.18.0",
3
+ "version": "1.18.1",
4
4
  "description": "CLI tool to enable users to interface with the Constructor Connect Ecosystem",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -92,7 +92,7 @@
92
92
  "globals": "^16.0.0",
93
93
  "jest": "^29.7.0",
94
94
  "license-checker": "^25.0.1",
95
- "markdownlint-cli2": "^0.21.0",
95
+ "markdownlint-cli2": "^0.22.0",
96
96
  "mock-fs": "^5.2.0",
97
97
  "nock": "14.0.11",
98
98
  "oclif": "^4.17.42",