node-tao 0.0.3 → 0.0.5

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
@@ -156,6 +156,17 @@ const rendered = tao.render('@header', { title: 'Computer shop' });
156
156
  tao.helpersStore.remove('myHelperFn');
157
157
  ```
158
158
 
159
+ ## Providing optionnal data into the template
160
+
161
+ If you wish to provide optional data to the template, prefix your data with `tao`:
162
+
163
+ ```html
164
+ // template.html
165
+ <p><%= tao.error?.firstName %></p>
166
+ ```
167
+
168
+ `tao` is an object containing all the provided data and is always defined. This is particularly useful when providing optional validation error data (data that you don’t always pass into the template).
169
+
159
170
  ## Security by design
160
171
 
161
172
  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.
@@ -186,6 +197,60 @@ If you want to inspect the data provided to the template, it is available direct
186
197
 
187
198
  NB: _set `metrics: true` to activate this option. Do not activate this option in production._
188
199
 
200
+ ## Integration with Web Framework
201
+
202
+ Fastify:
203
+
204
+ ```typescript
205
+ import { Tao } from 'node-tao';
206
+ import Fastify from 'fastify';
207
+ const fastify = Fastify();
208
+
209
+ const tao = new Tao({ views: 'src', development: true });
210
+
211
+ declare module 'fastify' {
212
+ interface FastifyReply {
213
+ html(payload: string): FastifyReply;
214
+ }
215
+ }
216
+
217
+ fastify.decorateReply('html', function (payload: string) {
218
+ return this.type('text/html').send(payload);
219
+ });
220
+
221
+ fastify.get('/tao', (request, reply) => {
222
+ const result = tao.render('test', { name: 'Fastify' });
223
+ return reply.html(result);
224
+ });
225
+
226
+ try {
227
+ await fastify.listen({ port: 3000 });
228
+ } catch (err) {
229
+ fastify.log.error(err);
230
+ process.exit(1);
231
+ }
232
+ ```
233
+
234
+ Express:
235
+
236
+ ```typescript
237
+ import express from 'express';
238
+ import { Tao } from 'node-tao';
239
+ export const app = express();
240
+ app.use(express.json());
241
+
242
+ const tao = new Tao({ views: 'src', development: true });
243
+
244
+ app.get('/tao', (req, res) => {
245
+ const result = tao.render('test', { name: 'Express' });
246
+ res.send(result);
247
+ });
248
+
249
+ app.listen(3000, () => {
250
+ console.log('listening on *:3000');
251
+ });
252
+ ```
253
+
189
254
  ## FAQs
190
255
 
191
256
  <details>
@@ -209,7 +274,9 @@ It started as a fork of `eta`, but became a dedicated library because the change
209
274
  - **Clearer template syntax**: No prefix are needed.
210
275
  - **Helpers**: Global and local helpers, which are clearer and more suitable for little template logic.
211
276
  - **Flexible template path resolution**: With `fileResolution` mode set to `flexible`, only end unique paths can be provided, which increases file path readability (aka. `namespaces`).
277
+ - **Vscode extension**: Official vscode extension.
212
278
  - **Performance**: Various performance optimization.
279
+ - **Testing**: Modern and up to date numerous tests.
213
280
 
214
281
  </details>
215
282
 
@@ -236,6 +303,10 @@ V0.0.2: Fix node modules exclusion in files matching for the error template.
236
303
 
237
304
  V0.0.3: Data exchange for the official extension, and various improvements.
238
305
 
306
+ V0.0.4: Fix NaN or Infinity value provided inside an object into the template.
307
+
308
+ V0.0.5: Fix character escape triggering an invalid js syntax.
309
+
239
310
  ## Credits
240
311
 
241
312
  - Syntax and some parts of compilation are based on `eta`.
package/const.d.ts CHANGED
@@ -4,7 +4,7 @@ declare const DEFAULT_CLOSING = "%>";
4
4
  declare const DEFAULT_EXEC = "";
5
5
  declare const DEFAULT_INTERPOLATE = "=";
6
6
  declare const DEFAULT_RAW = "~";
7
- declare const TEMPLATE_VARNAME = "it";
7
+ declare const TEMPLATE_VARNAME = "tao";
8
8
  declare const HELPER_VARNAME = "hp";
9
9
  declare const TP_VARNAME_WITH_PREFIX: string;
10
10
  declare const HELPER_WITH_PREFIX: string;
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;;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"}
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,QAAQ,CAAC;AAC/B,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
@@ -13,7 +13,7 @@ const DEFAULT_INTERPOLATE = '=';
13
13
  exports.DEFAULT_INTERPOLATE = DEFAULT_INTERPOLATE;
14
14
  const DEFAULT_RAW = '~';
15
15
  exports.DEFAULT_RAW = DEFAULT_RAW;
16
- const TEMPLATE_VARNAME = 'it';
16
+ const TEMPLATE_VARNAME = 'tao';
17
17
  exports.TEMPLATE_VARNAME = TEMPLATE_VARNAME;
18
18
  const HELPER_VARNAME = 'hp';
19
19
  exports.HELPER_VARNAME = HELPER_VARNAME;
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;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"}
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,KAAK,CAAC;AA6B7B,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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "node-tao",
3
- "version": "0.0.3",
3
+ "version": "0.0.5",
4
4
  "description": "Lightweight, fast, and powerful embedded JS template engine",
5
5
  "keywords": [
6
6
  "template engine",
@@ -23,8 +23,7 @@
23
23
  },
24
24
  "scripts": {
25
25
  "test": "jest",
26
- "build": "rimraf dist && tsc && cpx src/public/**/* dist/public && cpx \"src/templates/**/*\" dist/templates && cpx src/error/**/* dist/error",
27
- "build-for-publish": "rimraf dist && tsc && cpx src/error/error.html dist/error && cpx package.json dist/ && cpx README.md dist/",
26
+ "build": "rimraf dist && tsc && cpx src/error/error.html dist/error && cpx package.json dist/ && cpx README.md dist/",
28
27
  "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
28
  },
30
29
  "devDependencies": {
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,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"}
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;AAKhC,iBAAS,uBAAuB,CAAC,aAAa,EAAE,IAAI,GAAG,OAAO,UAS7D;AAoDD,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
@@ -29,8 +29,27 @@ function getValueType(value) {
29
29
  return value;
30
30
  if (valueIsInfinity(value))
31
31
  return value;
32
+ const objectTransformed = valueIsAnObject(value);
33
+ if (objectTransformed)
34
+ return objectTransformed;
32
35
  return JSON.stringify(value);
33
36
  }
37
+ function valueIsAnObject(value) {
38
+ if (typeof value !== 'object')
39
+ return false;
40
+ return (JSON.stringify(value, (_key, val) => {
41
+ if (typeof val !== 'number')
42
+ return val;
43
+ // avoid stringify replacement NaN / Infinity with "null"
44
+ if (isNaN(val) || !isFinite(val))
45
+ return val.toString();
46
+ return val;
47
+ })
48
+ // string should be converted with real value
49
+ .replace(/"NaN"/g, 'NaN')
50
+ .replace(/"Infinity"/g, 'Infinity')
51
+ .replace(/"-Infinity"/g, '-Infinity'));
52
+ }
34
53
  function valueIsNaN(value) {
35
54
  if (typeof value !== 'number')
36
55
  return false;
@@ -39,8 +58,7 @@ function valueIsNaN(value) {
39
58
  function valueIsInfinity(value) {
40
59
  if (typeof value !== 'number')
41
60
  return false;
42
- const plusOrMinus = Math.abs(value);
43
- return plusOrMinus === Infinity;
61
+ return Math.abs(value) === Infinity;
44
62
  }
45
63
  function valueIsASymbol(value) {
46
64
  return typeof value === 'symbol';
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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"}