node-tao 0.0.2 → 0.0.3

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
@@ -17,6 +17,7 @@
17
17
  - 💻 Developer experience
18
18
  - 🧩 Support for local and global helpers
19
19
  - 🛡️ Security by design
20
+ - 🟦 [Official VS Code Extension](#vscode)
20
21
 
21
22
  ## Get Started
22
23
 
@@ -159,6 +160,12 @@ tao.helpersStore.remove('myHelperFn');
159
160
 
160
161
  By default, `TAO` assume you are running your app in production, so no error will be thrown, such that error stack traces are not visible in your browser. Errors will be displayed in your editor console, and visual error representation (see developer experience) is available in your browser by setting `debug: true` at option initialisation.
161
162
 
163
+ <a id="vscode"></a>
164
+
165
+ ## 🟦 Official VS Code Extension
166
+
167
+ [![VS Code Marketplace](https://img.shields.io/visual-studio-marketplace/v/ManuC.tao-vscode-extension?style=for-the-badge&logo=visualstudiocode&label=VS%20Code%20Marketplace)](https://marketplace.visualstudio.com/items?itemName=ManuC.tao-vscode-extension)
168
+
162
169
  ## Developer experience
163
170
 
164
171
  All methods, properties are correctly typed and documented, so you should get help from your editor.
@@ -227,6 +234,8 @@ _If you think those features are absolutely necessary, please open a new discuss
227
234
 
228
235
  V0.0.2: Fix node modules exclusion in files matching for the error template.
229
236
 
237
+ V0.0.3: Data exchange for the official extension, and various improvements.
238
+
230
239
  ## Credits
231
240
 
232
241
  - Syntax and some parts of compilation are based on `eta`.
package/const.d.ts CHANGED
@@ -11,14 +11,11 @@ declare const HELPER_WITH_PREFIX: string;
11
11
  declare const DYNAMICAL_TEMPLATE_PREFIX = "@";
12
12
  declare const PLACEHOLDER_VAR_START = "\"<injected-var-start>\";";
13
13
  declare const PLACEHOLDER_VAR_END = "\"<injected-var-end>\";";
14
- declare const LITERAL_REGEX: RegExp;
15
- declare const SINGLE_QUOTE_REGEX: RegExp;
16
- declare const DOUBLE_QUOTE_REGEX: RegExp;
17
14
  /**
18
15
  * A map of special HTML characters to their XML-escaped equivalents
19
16
  */
20
17
  declare const ESC_MAP: {
21
18
  [key: string]: string;
22
19
  };
23
- export { DEFAULT_EXTENSION, LITERAL_REGEX, SINGLE_QUOTE_REGEX, DOUBLE_QUOTE_REGEX, ESC_MAP, TEMPLATE_VARNAME, DYNAMICAL_TEMPLATE_PREFIX, TP_VARNAME_WITH_PREFIX, HELPER_WITH_PREFIX, HELPER_VARNAME, DEFAULT_CLOSING, DEFAULT_OPENING, DEFAULT_EXEC, DEFAULT_INTERPOLATE, DEFAULT_RAW, PLACEHOLDER_VAR_START, PLACEHOLDER_VAR_END, };
20
+ export { DEFAULT_EXTENSION, ESC_MAP, TEMPLATE_VARNAME, DYNAMICAL_TEMPLATE_PREFIX, TP_VARNAME_WITH_PREFIX, HELPER_WITH_PREFIX, HELPER_VARNAME, DEFAULT_CLOSING, DEFAULT_OPENING, DEFAULT_EXEC, DEFAULT_INTERPOLATE, DEFAULT_RAW, PLACEHOLDER_VAR_START, PLACEHOLDER_VAR_END, };
24
21
  //# sourceMappingURL=const.d.ts.map
package/const.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB,SAAS,CAAC;AACjC,QAAA,MAAM,eAAe,OAAO,CAAC;AAC7B,QAAA,MAAM,eAAe,OAAO,CAAC;AAE7B,QAAA,MAAM,YAAY,KAAK,CAAC;AACxB,QAAA,MAAM,mBAAmB,MAAM,CAAC;AAChC,QAAA,MAAM,WAAW,MAAM,CAAC;AAExB,QAAA,MAAM,gBAAgB,OAAO,CAAC;AAC9B,QAAA,MAAM,cAAc,OAAO,CAAC;AAO5B,QAAA,MAAM,sBAAsB,QAAuC,CAAC;AACpE,QAAA,MAAM,kBAAkB,QAAqC,CAAC;AAC9D,QAAA,MAAM,yBAAyB,MAAM,CAAC;AAEtC,QAAA,MAAM,qBAAqB,8BAA4B,CAAC;AACxD,QAAA,MAAM,mBAAmB,4BAA0B,CAAC;AAEpD,QAAA,MAAM,aAAa,QAAuE,CAAC;AAC3F,QAAA,MAAM,kBAAkB,QAAsC,CAAC;AAC/D,QAAA,MAAM,kBAAkB,QAAsC,CAAC;AAE/D;;GAEG;AACH,QAAA,MAAM,OAAO,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAMrC,CAAC;AAEF,OAAO,EACL,iBAAiB,EACjB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,OAAO,EACP,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,mBAAmB,GACpB,CAAC"}
1
+ {"version":3,"file":"const.d.ts","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,iBAAiB,SAAS,CAAC;AACjC,QAAA,MAAM,eAAe,OAAO,CAAC;AAC7B,QAAA,MAAM,eAAe,OAAO,CAAC;AAE7B,QAAA,MAAM,YAAY,KAAK,CAAC;AACxB,QAAA,MAAM,mBAAmB,MAAM,CAAC;AAChC,QAAA,MAAM,WAAW,MAAM,CAAC;AAExB,QAAA,MAAM,gBAAgB,OAAO,CAAC;AAC9B,QAAA,MAAM,cAAc,OAAO,CAAC;AAO5B,QAAA,MAAM,sBAAsB,QAAuC,CAAC;AACpE,QAAA,MAAM,kBAAkB,QAAqC,CAAC;AAC9D,QAAA,MAAM,yBAAyB,MAAM,CAAC;AAEtC,QAAA,MAAM,qBAAqB,8BAA4B,CAAC;AACxD,QAAA,MAAM,mBAAmB,4BAA0B,CAAC;AAEpD;;GAEG;AACH,QAAA,MAAM,OAAO,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAMrC,CAAC;AAEF,OAAO,EACL,iBAAiB,EACjB,OAAO,EACP,gBAAgB,EAChB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,cAAc,EACd,eAAe,EACf,eAAe,EACf,YAAY,EACZ,mBAAmB,EACnB,WAAW,EACX,qBAAqB,EACrB,mBAAmB,GACpB,CAAC"}
package/const.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PLACEHOLDER_VAR_END = exports.PLACEHOLDER_VAR_START = exports.DEFAULT_RAW = exports.DEFAULT_INTERPOLATE = exports.DEFAULT_EXEC = exports.DEFAULT_OPENING = exports.DEFAULT_CLOSING = exports.HELPER_VARNAME = exports.HELPER_WITH_PREFIX = exports.TP_VARNAME_WITH_PREFIX = exports.DYNAMICAL_TEMPLATE_PREFIX = exports.TEMPLATE_VARNAME = exports.ESC_MAP = exports.DOUBLE_QUOTE_REGEX = exports.SINGLE_QUOTE_REGEX = exports.LITERAL_REGEX = exports.DEFAULT_EXTENSION = void 0;
3
+ exports.PLACEHOLDER_VAR_END = exports.PLACEHOLDER_VAR_START = exports.DEFAULT_RAW = exports.DEFAULT_INTERPOLATE = exports.DEFAULT_EXEC = exports.DEFAULT_OPENING = exports.DEFAULT_CLOSING = exports.HELPER_VARNAME = exports.HELPER_WITH_PREFIX = exports.TP_VARNAME_WITH_PREFIX = exports.DYNAMICAL_TEMPLATE_PREFIX = exports.TEMPLATE_VARNAME = exports.ESC_MAP = exports.DEFAULT_EXTENSION = void 0;
4
4
  const DEFAULT_EXTENSION = 'html';
5
5
  exports.DEFAULT_EXTENSION = DEFAULT_EXTENSION;
6
6
  const DEFAULT_OPENING = '<%';
@@ -31,12 +31,6 @@ const PLACEHOLDER_VAR_START = '"<injected-var-start>";';
31
31
  exports.PLACEHOLDER_VAR_START = PLACEHOLDER_VAR_START;
32
32
  const PLACEHOLDER_VAR_END = '"<injected-var-end>";';
33
33
  exports.PLACEHOLDER_VAR_END = PLACEHOLDER_VAR_END;
34
- const LITERAL_REGEX = /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g;
35
- exports.LITERAL_REGEX = LITERAL_REGEX;
36
- const SINGLE_QUOTE_REGEX = /'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g;
37
- exports.SINGLE_QUOTE_REGEX = SINGLE_QUOTE_REGEX;
38
- const DOUBLE_QUOTE_REGEX = /"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g;
39
- exports.DOUBLE_QUOTE_REGEX = DOUBLE_QUOTE_REGEX;
40
34
  /**
41
35
  * A map of special HTML characters to their XML-escaped equivalents
42
36
  */
package/const.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;AAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAuC/B,8CAAiB;AAtCnB,MAAM,eAAe,GAAG,IAAI,CAAC;AAiD3B,0CAAe;AAhDjB,MAAM,eAAe,GAAG,IAAI,CAAC;AA+C3B,0CAAe;AA7CjB,MAAM,YAAY,GAAG,EAAE,CAAC;AA+CtB,oCAAY;AA9Cd,MAAM,mBAAmB,GAAG,GAAG,CAAC;AA+C9B,kDAAmB;AA9CrB,MAAM,WAAW,GAAG,GAAG,CAAC;AA+CtB,kCAAW;AA7Cb,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAoC5B,4CAAgB;AAnClB,MAAM,cAAc,GAAG,IAAI,CAAC;AAuC1B,wCAAc;AArChB;;GAEG;AACH,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,MAAM,sBAAsB,GAAG,GAAG,YAAY,GAAG,gBAAgB,EAAE,CAAC;AA8BlE,wDAAsB;AA7BxB,MAAM,kBAAkB,GAAG,GAAG,YAAY,GAAG,cAAc,EAAE,CAAC;AA8B5D,gDAAkB;AA7BpB,MAAM,yBAAyB,GAAG,GAAG,CAAC;AA2BpC,8DAAyB;AAzB3B,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AAkCtD,sDAAqB;AAjCvB,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AAkClD,kDAAmB;AAhCrB,MAAM,aAAa,GAAG,oEAAoE,CAAC;AAiBzF,sCAAa;AAhBf,MAAM,kBAAkB,GAAG,mCAAmC,CAAC;AAiB7D,gDAAkB;AAhBpB,MAAM,kBAAkB,GAAG,mCAAmC,CAAC;AAiB7D,gDAAkB;AAfpB;;GAEG;AACH,MAAM,OAAO,GAA8B;IACzC,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;CACb,CAAC;AAOA,0BAAO"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;AAAA,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAmC/B,8CAAiB;AAlCnB,MAAM,eAAe,GAAG,IAAI,CAAC;AA0C3B,0CAAe;AAzCjB,MAAM,eAAe,GAAG,IAAI,CAAC;AAwC3B,0CAAe;AAtCjB,MAAM,YAAY,GAAG,EAAE,CAAC;AAwCtB,oCAAY;AAvCd,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAwC9B,kDAAmB;AAvCrB,MAAM,WAAW,GAAG,GAAG,CAAC;AAwCtB,kCAAW;AAtCb,MAAM,gBAAgB,GAAG,IAAI,CAAC;AA6B5B,4CAAgB;AA5BlB,MAAM,cAAc,GAAG,IAAI,CAAC;AAgC1B,wCAAc;AA9BhB;;GAEG;AACH,MAAM,YAAY,GAAG,IAAI,CAAC;AAE1B,MAAM,sBAAsB,GAAG,GAAG,YAAY,GAAG,gBAAgB,EAAE,CAAC;AAuBlE,wDAAsB;AAtBxB,MAAM,kBAAkB,GAAG,GAAG,YAAY,GAAG,cAAc,EAAE,CAAC;AAuB5D,gDAAkB;AAtBpB,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAoBpC,8DAAyB;AAlB3B,MAAM,qBAAqB,GAAG,yBAAyB,CAAC;AA2BtD,sDAAqB;AA1BvB,MAAM,mBAAmB,GAAG,uBAAuB,CAAC;AA2BlD,kDAAmB;AAzBrB;;GAEG;AACH,MAAM,OAAO,GAA8B;IACzC,GAAG,EAAE,OAAO;IACZ,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,MAAM;IACX,GAAG,EAAE,QAAQ;IACb,GAAG,EAAE,OAAO;CACb,CAAC;AAIA,0BAAO"}
package/interfaces.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { Store } from './store';
1
2
  export type ErrorType = 'Parse Error' | 'ReadFile Error' | 'Compilation Error' | 'Execution Error' | 'Inclusion Error' | 'Precompilation Error' | 'Template Type Error' | 'Not Found Error';
2
3
  export interface DebugData {
3
4
  compiledAnonymousFnContent: string;
@@ -167,4 +168,26 @@ export interface DefinitiveOptions {
167
168
  extension: string;
168
169
  fileResolution: FileResolution;
169
170
  }
171
+ export interface VariableData {
172
+ name: string;
173
+ type: string;
174
+ }
175
+ export interface HelperData {
176
+ name: string;
177
+ params: string;
178
+ }
179
+ export interface UserData {
180
+ template: string;
181
+ variables: VariableData[];
182
+ helpers: HelperData[];
183
+ lastUpdate: string;
184
+ }
185
+ export interface InjectedData {
186
+ development: boolean;
187
+ templatePaths: string[];
188
+ fullPath: string;
189
+ data: Data;
190
+ helpers: Helpers;
191
+ helpersStore: Store<HelperFunction>;
192
+ }
170
193
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-tao",
3
- "version": "0.0.2",
3
+ "version": "0.0.3",
4
4
  "description": "Lightweight, fast, and powerful embedded JS template engine",
5
5
  "keywords": [
6
6
  "template engine",
@@ -25,7 +25,7 @@
25
25
  "test": "jest",
26
26
  "build": "rimraf dist && tsc && cpx src/public/**/* dist/public && cpx \"src/templates/**/*\" dist/templates && cpx src/error/**/* dist/error",
27
27
  "build-for-publish": "rimraf dist && tsc && cpx src/error/error.html dist/error && cpx package.json dist/ && cpx README.md dist/",
28
- "startNodemon": "nodemon --ext ts,js,json,css,html --watch src --exec \"tsc && cpx src/templates/**/* dist/templates && cpx src/error/**/* dist/error && node dist/server.js\""
28
+ "start": "nodemon --ext ts,js,json,css,html --watch src --exec \"tsc && cpx src/templates/**/* dist/templates && cpx src/error/**/* dist/error && node dist/server.js\""
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/jest": "29.4.0",
@@ -1 +1 @@
1
- {"version":3,"file":"parsing-helpers.d.ts","sourceRoot":"","sources":["../src/parsing-helpers.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,iBAAS,sBAAsB,CAC7B,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,EAC1B,WAAW,EAAE,MAAM,QAYpB;AAED;;GAEG;AACH,iBAAS,YAAY,CACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,UAgBpB;AAuED,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
1
+ {"version":3,"file":"parsing-helpers.d.ts","sourceRoot":"","sources":["../src/parsing-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAE5C,iBAAS,sBAAsB,CAC7B,YAAY,EAAE,YAAY,GAAG,SAAS,EACtC,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,kBAAkB,EAAE,MAAM,EAC1B,WAAW,EAAE,MAAM,QAYpB;AAED;;GAEG;AACH,iBAAS,YAAY,CACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,UAgBpB;AA0ED,OAAO,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC"}
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkForUnclosedPrefix = exports.handleQuotes = void 0;
4
- const const_1 = require("./const");
5
4
  const error_utils_1 = require("./error-utils");
6
5
  function checkForUnclosedPrefix(templateData, expression, originalOpen, openingResultIndex, fileContent) {
7
6
  if (templateData)
@@ -31,30 +30,33 @@ function handleQuotes(expression, original, closeResultIndex, fileContent) {
31
30
  }
32
31
  exports.handleQuotes = handleQuotes;
33
32
  function handleSingleQuote(expression, original, closeResultIndex, fileContent) {
34
- const_1.SINGLE_QUOTE_REGEX.lastIndex = closeResultIndex;
35
- const singleQuoteMatch = const_1.SINGLE_QUOTE_REGEX.exec(expression);
33
+ const SINGLE_QUOTE_REGEX = /'(?:\\[\s\w"'\\`]|[^\n\r'\\])*?'/g;
34
+ SINGLE_QUOTE_REGEX.lastIndex = closeResultIndex;
35
+ const singleQuoteMatch = SINGLE_QUOTE_REGEX.exec(expression);
36
36
  if (!singleQuoteMatch) {
37
37
  const error = (0, error_utils_1.getParsingErrorData)(expression, closeResultIndex, `Unclosed string " ${original} "`, fileContent);
38
38
  throw error;
39
39
  }
40
- return const_1.SINGLE_QUOTE_REGEX.lastIndex;
40
+ return SINGLE_QUOTE_REGEX.lastIndex;
41
41
  }
42
42
  function handleDoubleQuote(expression, original, closeResultIndex, fileContent) {
43
- const_1.DOUBLE_QUOTE_REGEX.lastIndex = closeResultIndex;
44
- const doubleQuoteMatch = const_1.DOUBLE_QUOTE_REGEX.exec(expression);
43
+ const DOUBLE_QUOTE_REGEX = /"(?:\\[\s\w"'\\`]|[^\n\r"\\])*?"/g;
44
+ DOUBLE_QUOTE_REGEX.lastIndex = closeResultIndex;
45
+ const doubleQuoteMatch = DOUBLE_QUOTE_REGEX.exec(expression);
45
46
  if (!doubleQuoteMatch) {
46
47
  const error = (0, error_utils_1.getParsingErrorData)(expression, closeResultIndex, `Unclosed string " ${original} "`, fileContent);
47
48
  throw error;
48
49
  }
49
- return const_1.DOUBLE_QUOTE_REGEX.lastIndex;
50
+ return DOUBLE_QUOTE_REGEX.lastIndex;
50
51
  }
51
52
  function handleLiteralQuote(expression, original, closeResultIndex, fileContent) {
52
- const_1.LITERAL_REGEX.lastIndex = closeResultIndex;
53
- const templateLitMatch = const_1.LITERAL_REGEX.exec(expression);
53
+ const LITERAL_REGEX = /`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})*}|(?!\${)[^\\`])*`/g;
54
+ LITERAL_REGEX.lastIndex = closeResultIndex;
55
+ const templateLitMatch = LITERAL_REGEX.exec(expression);
54
56
  if (!templateLitMatch) {
55
57
  const error = (0, error_utils_1.getParsingErrorData)(expression, closeResultIndex, `Unclosed string " ${original} "`, fileContent);
56
58
  throw error;
57
59
  }
58
- return const_1.LITERAL_REGEX.lastIndex;
60
+ return LITERAL_REGEX.lastIndex;
59
61
  }
60
62
  //# sourceMappingURL=parsing-helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parsing-helpers.js","sourceRoot":"","sources":["../src/parsing-helpers.ts"],"names":[],"mappings":";;;AAAA,mCAAgF;AAChF,+CAAoD;AAGpD,SAAS,sBAAsB,CAC7B,YAAsC,EACtC,UAAkB,EAClB,YAAoB,EACpB,kBAA0B,EAC1B,WAAmB;IAEnB,IAAI,YAAY;QAAE,OAAO;IAEzB,MAAM,KAAK,GAAG,IAAA,iCAAmB,EAC/B,UAAU,EACV,kBAAkB,EAClB,qBAAqB,YAAY,IAAI,EACrC,WAAW,CACZ,CAAC;IAEF,MAAM,KAAK,CAAC;AACd,CAAC;AAgGsB,wDAAsB;AA9F7C;;GAEG;AACH,SAAS,YAAY,CACnB,UAAkB,EAClB,QAAgB,EAChB,gBAAwB,EACxB,WAAmB;IAEnB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,YAAY,GAAG,GAAG,CAAC;IACzB,MAAM,YAAY,GAAG,GAAG,CAAC;IACzB,MAAM,aAAa,GAAG,GAAG,CAAC;IAE1B,IAAI,QAAQ,KAAK,YAAY,EAAE;QAC7B,SAAS,GAAG,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;KACpF;SAAM,IAAI,QAAQ,KAAK,YAAY,EAAE;QACpC,SAAS,GAAG,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;KACpF;SAAM,IAAI,QAAQ,KAAK,aAAa,EAAE;QACrC,SAAS,GAAG,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;KACrF;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAuEQ,oCAAY;AArErB,SAAS,iBAAiB,CACxB,UAAkB,EAClB,QAAgB,EAChB,gBAAwB,EACxB,WAAmB;IAEnB,0BAAkB,CAAC,SAAS,GAAG,gBAAgB,CAAC;IAEhD,MAAM,gBAAgB,GAAG,0BAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,KAAK,GAAG,IAAA,iCAAmB,EAC/B,UAAU,EACV,gBAAgB,EAChB,qBAAqB,QAAQ,IAAI,EACjC,WAAW,CACZ,CAAC;QAEF,MAAM,KAAK,CAAC;KACb;IAED,OAAO,0BAAkB,CAAC,SAAS,CAAC;AACtC,CAAC;AAED,SAAS,iBAAiB,CACxB,UAAkB,EAClB,QAAgB,EAChB,gBAAwB,EACxB,WAAmB;IAEnB,0BAAkB,CAAC,SAAS,GAAG,gBAAgB,CAAC;IAChD,MAAM,gBAAgB,GAAG,0BAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE7D,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,KAAK,GAAG,IAAA,iCAAmB,EAC/B,UAAU,EACV,gBAAgB,EAChB,qBAAqB,QAAQ,IAAI,EACjC,WAAW,CACZ,CAAC;QAEF,MAAM,KAAK,CAAC;KACb;IAED,OAAO,0BAAkB,CAAC,SAAS,CAAC;AACtC,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAkB,EAClB,QAAgB,EAChB,gBAAwB,EACxB,WAAmB;IAEnB,qBAAa,CAAC,SAAS,GAAG,gBAAgB,CAAC;IAC3C,MAAM,gBAAgB,GAAG,qBAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAExD,IAAI,CAAC,gBAAgB,EAAE;QACrB,MAAM,KAAK,GAAG,IAAA,iCAAmB,EAC/B,UAAU,EACV,gBAAgB,EAChB,qBAAqB,QAAQ,IAAI,EACjC,WAAW,CACZ,CAAC;QAEF,MAAM,KAAK,CAAC;KACb;IAED,OAAO,qBAAa,CAAC,SAAS,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"parsing-helpers.js","sourceRoot":"","sources":["../src/parsing-helpers.ts"],"names":[],"mappings":"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"}
package/tao.d.ts CHANGED
@@ -9,7 +9,7 @@ export declare class Tao {
9
9
  */
10
10
  compiledStore: Store<string>;
11
11
  /**
12
- * Stores dynamically defined templates.
12
+ * Stores dynamically loaded templates.
13
13
  */
14
14
  dynamictemplatesStore: Store<string>;
15
15
  /**
@@ -31,7 +31,7 @@ export declare class Tao {
31
31
  /**
32
32
  * Render a template with data and helpers.
33
33
  * @param template The path of your template to render.
34
- * @param data The data to inject.
34
+ * @param data The variables to inject.
35
35
  * @param helpers The helpers functions to inject.
36
36
  */
37
37
  render(template: string, data?: Data, helpers?: Helpers): string;
package/tao.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tao.d.ts","sourceRoot":"","sources":["../src/tao.ts"],"names":[],"mappings":"AA2BA,OAAO,EAGL,IAAI,EACJ,OAAO,EACP,cAAc,EAId,OAAO,EASR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAchC,qBAAa,GAAG;IACd,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAM;IAEzB;;OAEG;IACI,aAAa,gBAAuB;IAC3C;;OAEG;IACI,qBAAqB,gBAAuB;IACnD;;OAEG;IACI,YAAY,wBAA+B;IAGlD,OAAO,CAAC,cAAc,CAAM;IAE5B,OAAO,CAAC,aAAa,CAAyB;gBAElC,YAAY,GAAE,OAAY;IAMtC,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,IAAI,WAAW,aAEd;IAED,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,OAAO;IA4Bf,OAAO,CAAC,KAAK;IAmEb;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,IAAS,EAAE,OAAO,GAAE,OAAY,GAAG,MAAM;IAgGxE;;OAEG;IACH,OAAO,CAAC,WAAW;IAiFnB,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,6BAA6B;IAuBrC,OAAO,CAAC,wBAAwB;IAuBhC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAWhB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,yBAAyB;IAkBjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,0BAA0B;IAgBlC;;;OAGG;IACH,aAAa,CAAC,OAAO,GAAE,OAAY;IAanC;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAc5C"}
1
+ {"version":3,"file":"tao.d.ts","sourceRoot":"","sources":["../src/tao.ts"],"names":[],"mappings":"AA2BA,OAAO,EAGL,IAAI,EACJ,OAAO,EACP,cAAc,EAId,OAAO,EAUR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAchC,qBAAa,GAAG;IACd,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAM;IAEzB;;OAEG;IACI,aAAa,gBAAuB;IAC3C;;OAEG;IACI,qBAAqB,gBAAuB;IACnD;;OAEG;IACI,YAAY,wBAA+B;IAGlD,OAAO,CAAC,cAAc,CAAM;IAE5B,OAAO,CAAC,aAAa,CAAyB;gBAElC,YAAY,GAAE,OAAY;IAMtC,OAAO,CAAC,gBAAgB;IAaxB;;OAEG;IACH,IAAI,WAAW,aAEd;IAED,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;IAmBpB,OAAO,CAAC,OAAO;IA4Bf,OAAO,CAAC,KAAK;IAmEb;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,IAAS,EAAE,OAAO,GAAE,OAAY,GAAG,MAAM;IA0GxE;;OAEG;IACH,OAAO,CAAC,WAAW;IA0FnB,OAAO,CAAC,sBAAsB;IAsB9B,OAAO,CAAC,iBAAiB;IAwBzB,OAAO,CAAC,WAAW;IAWnB,OAAO,CAAC,oBAAoB;IAuB5B,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,eAAe;IAyBvB,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,oBAAoB;IAU5B,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,6BAA6B;IAuBrC,OAAO,CAAC,wBAAwB;IAuBhC;;;OAGG;IACH,OAAO,CAAC,QAAQ;IAWhB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B,OAAO,CAAC,yBAAyB;IAkBjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAe7B,OAAO,CAAC,0BAA0B;IAgBlC;;;OAGG;IACH,aAAa,CAAC,OAAO,GAAE,OAAY;IAanC;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;CAc5C"}
package/tao.js CHANGED
@@ -26,7 +26,7 @@ class Tao {
26
26
  */
27
27
  this.compiledStore = new store_1.Store();
28
28
  /**
29
- * Stores dynamically defined templates.
29
+ * Stores dynamically loaded templates.
30
30
  */
31
31
  this.dynamictemplatesStore = new store_1.Store();
32
32
  /**
@@ -147,7 +147,7 @@ class Tao {
147
147
  /**
148
148
  * Render a template with data and helpers.
149
149
  * @param template The path of your template to render.
150
- * @param data The data to inject.
150
+ * @param data The variables to inject.
151
151
  * @param helpers The helpers functions to inject.
152
152
  */
153
153
  render(template, data = {}, helpers = {}) {
@@ -157,15 +157,25 @@ class Tao {
157
157
  const { errorHTML } = this.manageError(error, template, debugData);
158
158
  return errorHTML;
159
159
  }
160
- let filename = (0, utils_1.normalizeFilesPath)(template);
161
- const { views, extension, fileResolution } = this.config;
160
+ const { views, extension, fileResolution, development } = this.config;
162
161
  const ɵɵstart = node_perf_hooks_1.performance.now();
163
162
  let ɵɵcacheHit = false;
164
- const pathWithExtension = (0, checks_1.getPathWithExtension)(filename, extension);
165
- this.parentTemplate = (0, utils_1.getFileName)(pathWithExtension);
163
+ const pathWithExtension = (0, checks_1.getPathWithExtension)(template, extension);
164
+ const filename = (0, utils_1.getFileName)(pathWithExtension);
165
+ const fullPath = (0, utils_1.getResolvedPath)(views, pathWithExtension, fileResolution);
166
+ this.parentTemplate = filename;
166
167
  this.childrenStore.remove(this.parentTemplate);
167
- if ((0, checks_1.isTemplateDynamicallyDefined)(filename)) {
168
- const cachedTemplate = this.compiledStore.get(filename);
168
+ const injectedData = {
169
+ development,
170
+ fullPath,
171
+ data,
172
+ helpers,
173
+ helpersStore: this.helpersStore,
174
+ templatePaths: this.templatePaths,
175
+ };
176
+ (0, utils_1.injectUserDataForVSCodeExtension)(injectedData);
177
+ if ((0, checks_1.isTemplateDynamicallyDefined)(template)) {
178
+ const cachedTemplate = this.compiledStore.get(template);
169
179
  if (cachedTemplate) {
170
180
  ɵɵcacheHit = true;
171
181
  const executeData = {
@@ -173,15 +183,15 @@ class Tao {
173
183
  data,
174
184
  helpers,
175
185
  ɵɵstart,
176
- filename,
186
+ filename: template,
177
187
  ɵɵcacheHit,
178
188
  };
179
189
  return this.executeFunction(executeData, debugData);
180
190
  }
181
- const templateLoaded = this.dynamictemplatesStore.get(filename);
191
+ const templateLoaded = this.dynamictemplatesStore.get(template);
182
192
  if (!templateLoaded) {
183
- const error = (0, error_utils_1.handleNotFoundDynamicTemplate)(filename);
184
- const { errorHTML } = this.manageError(error, filename, debugData);
193
+ const error = (0, error_utils_1.handleNotFoundDynamicTemplate)(template);
194
+ const { errorHTML } = this.manageError(error, template, debugData);
185
195
  return errorHTML;
186
196
  }
187
197
  const templateData = {
@@ -189,7 +199,7 @@ class Tao {
189
199
  data,
190
200
  helpers,
191
201
  ɵɵstart,
192
- filename,
202
+ filename: template,
193
203
  ɵɵcacheHit,
194
204
  };
195
205
  return this.handleLoadedTemplate(templateData, debugData);
@@ -199,8 +209,6 @@ class Tao {
199
209
  const { errorHTML } = this.manageError(error, filename, debugData);
200
210
  return errorHTML;
201
211
  }
202
- const fullPath = (0, utils_1.getFullPath)(views, pathWithExtension, fileResolution);
203
- filename = (0, utils_1.getFileName)(fullPath);
204
212
  const files = (0, templates_access_1.checkAccessPermission)(this.templatePaths, fullPath);
205
213
  if (!(0, templates_access_1.fileIsUnique)(files)) {
206
214
  const error = (0, error_utils_1.handleNonUniqueFile)(files, filename);
@@ -220,6 +228,7 @@ class Tao {
220
228
  };
221
229
  return this.executeFunction(executeData, debugData);
222
230
  }
231
+ // mapped fullPath template file
223
232
  const file = files[0];
224
233
  const compileData = {
225
234
  filename,
@@ -241,11 +250,20 @@ class Tao {
241
250
  const errorData = this.handleChildError(error, template, debugData);
242
251
  return errorData;
243
252
  }
244
- template = (0, utils_1.normalizeFilesPath)(template);
245
- const { views, extension, fileResolution } = this.config;
246
- let filename = template;
253
+ const { views, extension, fileResolution, development } = this.config;
247
254
  const pathWithExtension = (0, checks_1.getPathWithExtension)(template, extension);
255
+ const filename = (0, utils_1.getFileName)(pathWithExtension);
256
+ const fullPath = (0, utils_1.getResolvedPath)(views, pathWithExtension, fileResolution);
248
257
  (0, metrics_1.updateChildrenStore)(this.childrenStore, filename, this.parentTemplate, this.config.development);
258
+ const injectedData = {
259
+ development,
260
+ fullPath,
261
+ data,
262
+ helpers,
263
+ helpersStore: this.helpersStore,
264
+ templatePaths: this.templatePaths,
265
+ };
266
+ (0, utils_1.injectUserDataForVSCodeExtension)(injectedData);
249
267
  if ((0, checks_1.isTemplateDynamicallyDefined)(template)) {
250
268
  const cachedTemplate = this.compiledStore.get(template);
251
269
  if (cachedTemplate) {
@@ -253,7 +271,7 @@ class Tao {
253
271
  compiledContent: cachedTemplate,
254
272
  data,
255
273
  helpers,
256
- filename,
274
+ filename: template,
257
275
  };
258
276
  return this.executeChildFunction(executeData, debugData);
259
277
  }
@@ -267,12 +285,10 @@ class Tao {
267
285
  templateLoaded,
268
286
  data,
269
287
  helpers,
270
- filename,
288
+ filename: template,
271
289
  };
272
290
  return this.handleLoadedChildTemplate(templateData, debugData);
273
291
  }
274
- const fullPath = (0, utils_1.getFullPath)(views, pathWithExtension, fileResolution);
275
- filename = (0, utils_1.getFileName)(fullPath);
276
292
  const files = (0, templates_access_1.checkAccessPermission)(this.templatePaths, fullPath);
277
293
  if (!(0, templates_access_1.fileIsUnique)(files)) {
278
294
  const error = (0, error_utils_1.handleNonUniqueFile)(files, filename);
package/tao.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tao.js","sourceRoot":"","sources":["../src/tao.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tao.js","sourceRoot":"","sources":["../src/tao.ts"],"names":[],"mappings":"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"}
@@ -5,11 +5,11 @@ import { normalizeFilesPath } from './utils';
5
5
  * Normalize paths on Windows.
6
6
  */
7
7
  declare function getFilesFromDirectory(directory: string, extension: string): string[];
8
+ declare function findTemplateInMappedTemplates(templatePaths: string[], templateFile: string): string[];
8
9
  /**
9
- * Security measure to allow access to only files in given directory that has been previously mapped.
10
+ * Security measure to restrict access only to files within a previously mapped directory.
10
11
  */
11
- declare function isTemplateFileInsideGivenDirectory(templatePaths: string[], templateFile: string): string[];
12
12
  declare function checkAccessPermission(templatePaths: string[], templateFile: string): string[];
13
13
  declare function fileIsUnique(files: string[]): boolean;
14
- export { getFilesFromDirectory, checkAccessPermission, isTemplateFileInsideGivenDirectory, normalizeFilesPath, fileIsUnique, };
14
+ export { getFilesFromDirectory, checkAccessPermission, normalizeFilesPath, fileIsUnique, findTemplateInMappedTemplates, };
15
15
  //# sourceMappingURL=templates-access.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates-access.d.ts","sourceRoot":"","sources":["../src/templates-access.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;GAIG;AACH,iBAAS,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,YAQlE;AAED;;GAEG;AACH,iBAAS,kCAAkC,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,YAExF;AAED,iBAAS,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,YAI3E;AAED,iBAAS,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,WAEpC;AAED,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kCAAkC,EAClC,kBAAkB,EAClB,YAAY,GACb,CAAC"}
1
+ {"version":3,"file":"templates-access.d.ts","sourceRoot":"","sources":["../src/templates-access.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C;;;;GAIG;AACH,iBAAS,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,YAQlE;AAED,iBAAS,6BAA6B,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,YAEnF;AAED;;GAEG;AACH,iBAAS,qBAAqB,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,MAAM,YAI3E;AAED,iBAAS,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,WAEpC;AAED,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,6BAA6B,GAC9B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fileIsUnique = exports.normalizeFilesPath = exports.isTemplateFileInsideGivenDirectory = exports.checkAccessPermission = exports.getFilesFromDirectory = void 0;
3
+ exports.findTemplateInMappedTemplates = exports.fileIsUnique = exports.normalizeFilesPath = exports.checkAccessPermission = exports.getFilesFromDirectory = void 0;
4
4
  const glob_1 = require("glob");
5
5
  const utils_1 = require("./utils");
6
6
  Object.defineProperty(exports, "normalizeFilesPath", { enumerable: true, get: function () { return utils_1.normalizeFilesPath; } });
@@ -10,7 +10,7 @@ Object.defineProperty(exports, "normalizeFilesPath", { enumerable: true, get: fu
10
10
  * Normalize paths on Windows.
11
11
  */
12
12
  function getFilesFromDirectory(directory, extension) {
13
- const files = (0, glob_1.globSync)(`${directory}/**/*${extension}`, {
13
+ const files = (0, glob_1.globSync)(`${directory}/**/*.${extension}`, {
14
14
  absolute: true,
15
15
  nodir: true,
16
16
  });
@@ -18,15 +18,15 @@ function getFilesFromDirectory(directory, extension) {
18
18
  return normalizedPaths;
19
19
  }
20
20
  exports.getFilesFromDirectory = getFilesFromDirectory;
21
- /**
22
- * Security measure to allow access to only files in given directory that has been previously mapped.
23
- */
24
- function isTemplateFileInsideGivenDirectory(templatePaths, templateFile) {
21
+ function findTemplateInMappedTemplates(templatePaths, templateFile) {
25
22
  return templatePaths.filter((path) => path.endsWith(templateFile));
26
23
  }
27
- exports.isTemplateFileInsideGivenDirectory = isTemplateFileInsideGivenDirectory;
24
+ exports.findTemplateInMappedTemplates = findTemplateInMappedTemplates;
25
+ /**
26
+ * Security measure to restrict access only to files within a previously mapped directory.
27
+ */
28
28
  function checkAccessPermission(templatePaths, templateFile) {
29
- const files = isTemplateFileInsideGivenDirectory(templatePaths, templateFile);
29
+ const files = findTemplateInMappedTemplates(templatePaths, templateFile);
30
30
  return files;
31
31
  }
32
32
  exports.checkAccessPermission = checkAccessPermission;
@@ -1 +1 @@
1
- {"version":3,"file":"templates-access.js","sourceRoot":"","sources":["../src/templates-access.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAChC,mCAA6C;AAsC3C,mGAtCO,0BAAkB,OAsCP;AApCpB;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,SAAiB,EAAE,SAAiB;IACjE,MAAM,KAAK,GAAG,IAAA,eAAQ,EAAC,GAAG,SAAS,QAAQ,SAAS,EAAE,EAAE;QACtD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAkB,EAAC,IAAI,CAAC,CAAC,CAAC;IACtE,OAAO,eAAe,CAAC;AACzB,CAAC;AAoBC,sDAAqB;AAlBvB;;GAEG;AACH,SAAS,kCAAkC,CAAC,aAAuB,EAAE,YAAoB;IACvF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AACrE,CAAC;AAeC,gFAAkC;AAbpC,SAAS,qBAAqB,CAAC,aAAuB,EAAE,YAAoB;IAC1E,MAAM,KAAK,GAAG,kCAAkC,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAE9E,OAAO,KAAK,CAAC;AACf,CAAC;AAQC,sDAAqB;AANvB,SAAS,YAAY,CAAC,KAAe;IACnC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5B,CAAC;AAOC,oCAAY"}
1
+ {"version":3,"file":"templates-access.js","sourceRoot":"","sources":["../src/templates-access.ts"],"names":[],"mappings":";;;AAAA,+BAAgC;AAChC,mCAA6C;AAqC3C,mGArCO,0BAAkB,OAqCP;AAnCpB;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,SAAiB,EAAE,SAAiB;IACjE,MAAM,KAAK,GAAG,IAAA,eAAQ,EAAC,GAAG,SAAS,SAAS,SAAS,EAAE,EAAE;QACvD,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;KACZ,CAAC,CAAC;IAEH,MAAM,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,0BAAkB,EAAC,IAAI,CAAC,CAAC,CAAC;IACtE,OAAO,eAAe,CAAC;AACzB,CAAC;AAoBC,sDAAqB;AAlBvB,SAAS,6BAA6B,CAAC,aAAuB,EAAE,YAAoB;IAClF,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;AACrE,CAAC;AAoBC,sEAA6B;AAlB/B;;GAEG;AACH,SAAS,qBAAqB,CAAC,aAAuB,EAAE,YAAoB;IAC1E,MAAM,KAAK,GAAG,6BAA6B,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;IAEzE,OAAO,KAAK,CAAC;AACf,CAAC;AAQC,sDAAqB;AANvB,SAAS,YAAY,CAAC,KAAe;IACnC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AAC5B,CAAC;AAMC,oCAAY"}
package/utils.d.ts CHANGED
@@ -1,7 +1,11 @@
1
- import { AstObject, ChildTemplateFunction, Data, DefinitiveOptions, ErrorData, FileResolution, HelperFunction, Helpers, Parse, TagType, TemplateFunction } from './interfaces';
1
+ import { AstObject, ChildTemplateFunction, Data, DefinitiveOptions, ErrorData, FileResolution, HelperFunction, Helpers, InjectedData, Parse, TagType, TemplateFunction } from './interfaces';
2
2
  import { Store } from './store';
3
3
  declare function initVariablesAndHelpers(dataOrHelpers: Data | Helpers): string;
4
4
  declare function valueIsAFunction(value: Function): boolean;
5
+ /**
6
+ * Extract injected template data (variables & helpers) to make them available through a json file for the vscode extension.
7
+ */
8
+ declare function injectUserDataForVSCodeExtension(injectedData: InjectedData): void;
5
9
  declare function includeFn(): string;
6
10
  declare function isAChildError(error: any): error is ErrorData;
7
11
  /**
@@ -11,7 +15,6 @@ declare function escapeJSLiteral(value: string): string;
11
15
  declare function getCurrentPrefixType(prefix: string, parse: DefinitiveOptions['parse']): TagType;
12
16
  declare function compileBody(templateValues: AstObject[], config: DefinitiveOptions): string;
13
17
  declare function compileContent(type: TagType, content: string, config: DefinitiveOptions): string | undefined;
14
- declare function getPathWithExtension(filePath: string, extension: string): string;
15
18
  /**
16
19
  * Inject data and helpers at every template execution.
17
20
  * Always keep placeholders.
@@ -19,10 +22,11 @@ declare function getPathWithExtension(filePath: string, extension: string): stri
19
22
  declare function injectDataAndHelpersInTemplate(data: Data, helpers: Helpers, helpersStore: Store<HelperFunction>, executableContent: string): string;
20
23
  declare function compileChildToFunction(contentReplaced: string): ChildTemplateFunction;
21
24
  declare function compileToFunction(contentReplaced: string): TemplateFunction;
25
+ declare function getPathWithExtension(filePath: string, extension: string): string;
22
26
  /**
23
27
  * If path resolution is set to "flexible", do not return the full path, it's usefull for providing only unique end path.
24
28
  */
25
- declare function getFullPath(views: string, pathWithExtension: string, fileResolution: FileResolution): string;
29
+ declare function getResolvedPath(views: string, pathWithExtension: string, fileResolution: FileResolution): string;
26
30
  /**
27
31
  * Normalize file path on windows.
28
32
  */
@@ -31,7 +35,7 @@ declare function getFileName(filename: string): string;
31
35
  declare function buildPrefixRegex(parseOptions: Parse): string;
32
36
  /**
33
37
  * Escape special regular expression characters inside a string
34
- * MDN
38
+ * $& means the whole matched string
35
39
  */
36
40
  declare function escapeRegExp(string: string): string;
37
41
  /**
@@ -41,5 +45,5 @@ declare function escapeRegExp(string: string): string;
41
45
  * @returns XML-escaped string
42
46
  */
43
47
  declare function XMLEscape(input: unknown): string;
44
- export { XMLEscape, escapeJSLiteral, getCurrentPrefixType, compileContent, buildPrefixRegex, compileBody, includeFn, initVariablesAndHelpers, getFullPath, escapeRegExp, getPathWithExtension, normalizeFilesPath, getFileName, valueIsAFunction, injectDataAndHelpersInTemplate, compileToFunction, compileChildToFunction, isAChildError, };
48
+ export { XMLEscape, escapeJSLiteral, getCurrentPrefixType, compileContent, buildPrefixRegex, compileBody, includeFn, initVariablesAndHelpers, getResolvedPath, escapeRegExp, getPathWithExtension, normalizeFilesPath, getFileName, valueIsAFunction, injectDataAndHelpersInTemplate, compileToFunction, compileChildToFunction, isAChildError, injectUserDataForVSCodeExtension, };
45
49
  //# sourceMappingURL=utils.d.ts.map
package/utils.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,IAAI,EACJ,iBAAiB,EACjB,SAAS,EAET,cAAc,EACd,cAAc,EACd,OAAO,EACP,KAAK,EACL,OAAO,EACP,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,iBAAS,uBAAuB,CAAC,aAAa,EAAE,IAAI,GAAG,OAAO,UAS7D;AAiCD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,QAAQ,WAExC;AAMD,iBAAS,SAAS,WAQjB;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,SAAS,CAErD;AAED;;GAEG;AACH,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,UAErC;AAED,iBAAS,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,WAS9E;AAED,iBAAS,WAAW,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,iBAAiB,UAe1E;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,sBAmBhF;AAED,iBAAS,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAOhE;AAED;;;GAGG;AACH,iBAAS,8BAA8B,CACrC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,EACnC,iBAAiB,EAAE,MAAM,UAkB1B;AAED,iBAAS,sBAAsB,CAAC,eAAe,EAAE,MAAM,yBAQtD;AAED,iBAAS,iBAAiB,CAAC,eAAe,EAAE,MAAM,oBAcjD;AAED;;GAEG;AACH,iBAAS,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,UAQ5F;AAED;;GAEG;AACH,iBAAS,kBAAkB,CAAC,IAAI,EAAE,MAAM,UAEvC;AAED,iBAAS,WAAW,CAAC,QAAQ,EAAE,MAAM,UAEpC;AAED,iBAAS,gBAAgB,CAAC,YAAY,EAAE,KAAK,UAW5C;AAMD;;;GAGG;AACH,iBAAS,YAAY,CAAC,MAAM,EAAE,MAAM,UAGnC;AAED;;;;;GAKG;AACH,iBAAS,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKzC;AAED,OAAO,EACL,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,uBAAuB,EACvB,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,8BAA8B,EAC9B,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,GACd,CAAC"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AASA,OAAO,EACL,SAAS,EACT,qBAAqB,EACrB,IAAI,EACJ,iBAAiB,EACjB,SAAS,EAET,cAAc,EAEd,cAAc,EACd,OAAO,EACP,YAAY,EACZ,KAAK,EACL,OAAO,EACP,gBAAgB,EAGjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAIhC,iBAAS,uBAAuB,CAAC,aAAa,EAAE,IAAI,GAAG,OAAO,UAS7D;AAiCD,iBAAS,gBAAgB,CAAC,KAAK,EAAE,QAAQ,WAExC;AAED;;GAEG;AACH,iBAAS,gCAAgC,CAAC,YAAY,EAAE,YAAY,QA6BnE;AAoDD,iBAAS,SAAS,WAQjB;AAED,iBAAS,aAAa,CAAC,KAAK,EAAE,GAAG,GAAG,KAAK,IAAI,SAAS,CAErD;AAED;;GAEG;AACH,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,UAErC;AAED,iBAAS,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,WAS9E;AAED,iBAAS,WAAW,CAAC,cAAc,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,iBAAiB,UAe1E;AAED,iBAAS,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,sBAmBhF;AAED;;;GAGG;AACH,iBAAS,8BAA8B,CACrC,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,KAAK,CAAC,cAAc,CAAC,EACnC,iBAAiB,EAAE,MAAM,UAkB1B;AAED,iBAAS,sBAAsB,CAAC,eAAe,EAAE,MAAM,yBAQtD;AAED,iBAAS,iBAAiB,CAAC,eAAe,EAAE,MAAM,oBAcjD;AAED,iBAAS,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,UAOhE;AAED;;GAEG;AACH,iBAAS,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,UAQhG;AAED;;GAEG;AACH,iBAAS,kBAAkB,CAAC,IAAI,EAAE,MAAM,UAEvC;AAED,iBAAS,WAAW,CAAC,QAAQ,EAAE,MAAM,UAEpC;AAED,iBAAS,gBAAgB,CAAC,YAAY,EAAE,KAAK,UAW5C;AAMD;;;GAGG;AACH,iBAAS,YAAY,CAAC,MAAM,EAAE,MAAM,UAEnC;AAED;;;;;GAKG;AACH,iBAAS,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKzC;AAED,OAAO,EACL,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,SAAS,EACT,uBAAuB,EACvB,eAAe,EACf,YAAY,EACZ,oBAAoB,EACpB,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,8BAA8B,EAC9B,iBAAiB,EACjB,sBAAsB,EACtB,aAAa,EACb,gCAAgC,GACjC,CAAC"}
package/utils.js CHANGED
@@ -3,10 +3,12 @@ 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.isAChildError = exports.compileChildToFunction = exports.compileToFunction = exports.injectDataAndHelpersInTemplate = exports.valueIsAFunction = exports.getFileName = exports.normalizeFilesPath = exports.getPathWithExtension = exports.escapeRegExp = exports.getFullPath = exports.initVariablesAndHelpers = exports.includeFn = exports.compileBody = exports.buildPrefixRegex = exports.compileContent = exports.getCurrentPrefixType = exports.escapeJSLiteral = exports.XMLEscape = void 0;
6
+ exports.injectUserDataForVSCodeExtension = exports.isAChildError = exports.compileChildToFunction = exports.compileToFunction = exports.injectDataAndHelpersInTemplate = exports.valueIsAFunction = exports.getFileName = exports.normalizeFilesPath = exports.getPathWithExtension = exports.escapeRegExp = exports.getResolvedPath = exports.initVariablesAndHelpers = exports.includeFn = exports.compileBody = exports.buildPrefixRegex = exports.compileContent = exports.getCurrentPrefixType = exports.escapeJSLiteral = exports.XMLEscape = void 0;
7
7
  const checks_1 = require("./checks");
8
8
  const const_1 = require("./const");
9
9
  const node_path_1 = __importDefault(require("node:path"));
10
+ const fs_1 = __importDefault(require("fs"));
11
+ const templates_access_1 = require("./templates-access");
10
12
  function initVariablesAndHelpers(dataOrHelpers) {
11
13
  const dataEntries = Object.entries(dataOrHelpers);
12
14
  let variables = '';
@@ -50,10 +52,75 @@ function valueIsAFunction(value) {
50
52
  return typeof value === 'function';
51
53
  }
52
54
  exports.valueIsAFunction = valueIsAFunction;
53
- // il faudra un autre render pour les enfants que le principal
54
- // le renderChild renverra un objet avec error (réelle) et content
55
- // si error alors throw new Error(error)
56
- // sur error toutes les props mises
55
+ /**
56
+ * Extract injected template data (variables & helpers) to make them available through a json file for the vscode extension.
57
+ */
58
+ function injectUserDataForVSCodeExtension(injectedData) {
59
+ const { data, development, fullPath, helpers, helpersStore, templatePaths } = injectedData;
60
+ if (!development)
61
+ return;
62
+ if ((0, checks_1.isTemplateDynamicallyDefined)(fullPath))
63
+ return;
64
+ const files = (0, templates_access_1.findTemplateInMappedTemplates)(templatePaths, fullPath);
65
+ if (!(0, templates_access_1.fileIsUnique)(files))
66
+ return;
67
+ const templateFilePath = files[0];
68
+ const userDataFilePath = node_path_1.default.join(process.cwd(), '.vscode/tao-user-data.json');
69
+ const userData = buildUserData(templateFilePath, data, helpers, helpersStore);
70
+ try {
71
+ fs_1.default.mkdirSync('.vscode', { recursive: true });
72
+ const data = fs_1.default.readFileSync(userDataFilePath, 'utf8');
73
+ const dataParsed = JSON.parse(data);
74
+ const datas = getAllOtherUserDatas(templateFilePath, dataParsed);
75
+ datas.push(userData);
76
+ const allUserDataStringified = JSON.stringify(datas);
77
+ fs_1.default.writeFileSync(userDataFilePath, allUserDataStringified);
78
+ }
79
+ catch (error) {
80
+ if (error.code === 'ENOENT') {
81
+ const userDataToArrayStringified = JSON.stringify([userData]);
82
+ fs_1.default.writeFileSync(userDataFilePath, userDataToArrayStringified);
83
+ }
84
+ }
85
+ }
86
+ exports.injectUserDataForVSCodeExtension = injectUserDataForVSCodeExtension;
87
+ function getAllOtherUserDatas(fileName, userDatas) {
88
+ return userDatas.filter((data) => data.template !== fileName);
89
+ }
90
+ function buildUserData(fileName, data, helpers, helpersStore) {
91
+ const variables = Object.entries(data);
92
+ const helpersName = Object.entries(helpers);
93
+ const globalHelpersName = Object.entries(helpersStore.getAll());
94
+ const allHelpers = [...helpersName, ...globalHelpersName];
95
+ const variablesData = [];
96
+ for (const [key, value] of variables) {
97
+ variablesData.push({
98
+ name: key,
99
+ type: typeof value,
100
+ });
101
+ }
102
+ const helpersData = [];
103
+ for (const [key, fn] of allHelpers) {
104
+ const source = getFunctionSignatureParams(fn);
105
+ helpersData.push({
106
+ name: key,
107
+ params: source,
108
+ });
109
+ }
110
+ const userData = {
111
+ template: fileName,
112
+ variables: variablesData,
113
+ helpers: helpersData,
114
+ lastUpdate: new Date().toISOString(),
115
+ };
116
+ return userData;
117
+ }
118
+ function getFunctionSignatureParams(fn) {
119
+ const fnToString = fn.toString();
120
+ const allParamsRegex = /\([^\)]*\)/i;
121
+ const matchingResult = fnToString.match(allParamsRegex);
122
+ return (matchingResult === null || matchingResult === void 0 ? void 0 : matchingResult[0]) || '';
123
+ }
57
124
  function includeFn() {
58
125
  return `const include = (templatePath, data, helpers) => {
59
126
  data = {...${const_1.TEMPLATE_VARNAME}, ...data};
@@ -117,15 +184,6 @@ function compileContent(type, content, config) {
117
184
  }
118
185
  }
119
186
  exports.compileContent = compileContent;
120
- function getPathWithExtension(filePath, extension) {
121
- if ((0, checks_1.isTemplateDynamicallyDefined)(filePath))
122
- return filePath;
123
- const pathContainsExtension = node_path_1.default.extname(filePath);
124
- if (pathContainsExtension)
125
- return filePath;
126
- return `${filePath}.${extension}`;
127
- }
128
- exports.getPathWithExtension = getPathWithExtension;
129
187
  /**
130
188
  * Inject data and helpers at every template execution.
131
189
  * Always keep placeholders.
@@ -165,10 +223,18 @@ function compileToFunction(contentReplaced) {
165
223
  }
166
224
  }
167
225
  exports.compileToFunction = compileToFunction;
226
+ function getPathWithExtension(filePath, extension) {
227
+ if ((0, checks_1.isTemplateDynamicallyDefined)(filePath))
228
+ return filePath;
229
+ const normalizedFilePath = normalizeFilesPath(filePath);
230
+ const pathWithoutExtension = normalizedFilePath.replace(`.${extension}`, '');
231
+ return `${pathWithoutExtension}.${extension}`;
232
+ }
233
+ exports.getPathWithExtension = getPathWithExtension;
168
234
  /**
169
235
  * If path resolution is set to "flexible", do not return the full path, it's usefull for providing only unique end path.
170
236
  */
171
- function getFullPath(views, pathWithExtension, fileResolution) {
237
+ function getResolvedPath(views, pathWithExtension, fileResolution) {
172
238
  if (fileResolution === 'flexible')
173
239
  return pathWithExtension;
174
240
  const isAbsolutePath = node_path_1.default.isAbsolute(pathWithExtension);
@@ -177,7 +243,7 @@ function getFullPath(views, pathWithExtension, fileResolution) {
177
243
  const fullPath = node_path_1.default.join(views, pathWithExtension);
178
244
  return normalizeFilesPath(fullPath);
179
245
  }
180
- exports.getFullPath = getFullPath;
246
+ exports.getResolvedPath = getResolvedPath;
181
247
  /**
182
248
  * Normalize file path on windows.
183
249
  */
@@ -205,10 +271,9 @@ function replaceChar(input) {
205
271
  }
206
272
  /**
207
273
  * Escape special regular expression characters inside a string
208
- * MDN
274
+ * $& means the whole matched string
209
275
  */
210
276
  function escapeRegExp(string) {
211
- // $& means the whole matched string
212
277
  return string.replace(/[.*+\-?^${}()|[\]\\]/g, '\\$&');
213
278
  }
214
279
  exports.escapeRegExp = escapeRegExp;
package/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}