@nakedcreativity/cee-ms-node 1.0.121 → 2.0.0-beta.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.
Files changed (55) hide show
  1. package/README.md +81 -0
  2. package/lib/draft.d.ts +20 -0
  3. package/lib/draft.js +109 -0
  4. package/lib/draft.js.map +1 -0
  5. package/lib/filters/active.js +1 -2
  6. package/lib/filters/active.js.map +1 -1
  7. package/lib/filters/index.js +5 -1
  8. package/lib/filters/index.js.map +1 -1
  9. package/lib/filters/slugify.js +3 -4
  10. package/lib/filters/slugify.js.map +1 -1
  11. package/lib/index.d.ts +51 -10
  12. package/lib/index.js +262 -323
  13. package/lib/index.js.map +1 -1
  14. package/lib/interfaces.d.ts +55 -16
  15. package/lib/interfaces.js +1 -1
  16. package/lib/interfaces.js.map +1 -1
  17. package/lib/preview-token.d.ts +21 -0
  18. package/lib/preview-token.js +37 -0
  19. package/lib/preview-token.js.map +1 -0
  20. package/lib/state.d.ts +17 -0
  21. package/lib/state.js +44 -0
  22. package/lib/state.js.map +1 -0
  23. package/lib/storage.d.ts +6 -0
  24. package/lib/storage.js +24 -0
  25. package/lib/storage.js.map +1 -0
  26. package/lib/tags/blog.d.ts +5 -2
  27. package/lib/tags/blog.js +25 -41
  28. package/lib/tags/blog.js.map +1 -1
  29. package/lib/tags/breadcrumb.d.ts +2 -1
  30. package/lib/tags/breadcrumb.js +13 -15
  31. package/lib/tags/breadcrumb.js.map +1 -1
  32. package/lib/tags/image.d.ts +2 -0
  33. package/lib/tags/image.js +25 -68
  34. package/lib/tags/image.js.map +1 -1
  35. package/lib/tags/index.js +5 -1
  36. package/lib/tags/index.js.map +1 -1
  37. package/lib/tags/module.d.ts +1 -0
  38. package/lib/tags/module.js +6 -6
  39. package/lib/tags/module.js.map +1 -1
  40. package/lib/tags/navigation.d.ts +5 -2
  41. package/lib/tags/navigation.js +14 -217
  42. package/lib/tags/navigation.js.map +1 -1
  43. package/lib/tags/page.d.ts +5 -2
  44. package/lib/tags/page.js +9 -21
  45. package/lib/tags/page.js.map +1 -1
  46. package/lib/tags/region.d.ts +1 -0
  47. package/lib/tags/region.js +6 -7
  48. package/lib/tags/region.js.map +1 -1
  49. package/package.json +25 -26
  50. package/lib/test-tags.d.ts +0 -3
  51. package/lib/test-tags.js +0 -125
  52. package/lib/test-tags.js.map +0 -1
  53. package/lib/test.d.ts +0 -1
  54. package/lib/test.js +0 -52
  55. package/lib/test.js.map +0 -1
package/lib/tags/image.js CHANGED
@@ -1,87 +1,44 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerImageUrlTag = exports.registerImageTag = void 0;
3
+ exports.registerImageTag = registerImageTag;
4
+ exports.registerImageUrlTag = registerImageUrlTag;
5
+ /** Picks the `variant` URL of an image value, falling back to its `src`. */
6
+ function imageSrc(image, variant) {
7
+ if (variant && image.variants && image.variants[variant]) {
8
+ return image.variants[variant];
9
+ }
10
+ return image.src;
11
+ }
12
+ /** `{% image <value> [variant] %}` renders an `<img>`. */
4
13
  function registerImageTag(engine) {
5
14
  engine.registerTag('image', {
6
- parse: (tagToken, remainTokens) => {
15
+ // A regular function, not an arrow: an arrow kept `args` on the module, so every `image` tag in a site
16
+ // used the arguments of whichever one was parsed last.
17
+ parse: function (tagToken) {
7
18
  this.args = tagToken.args.split(' ');
8
19
  },
9
- render: (scope, hash) => {
10
- //console.log('scope image tag', scope);
11
- return engine.evalValue(this.args[0], scope).then((image) => {
12
- if (!image) {
13
- return Promise.resolve('');
14
- }
15
- if (this.args[1] && image.variants && image.variants[this.args[1]]) {
16
- var src = image.variants[this.args[1]];
17
- }
18
- else {
19
- var src = image.src;
20
- }
21
- var alt = image.alt || '';
22
- return Promise.resolve('<img src="' + src + '" alt="' + alt + '"/>');
23
- });
20
+ render: async function (context) {
21
+ const image = await engine.evalValue(this.args[0], context);
22
+ if (!image) {
23
+ return '';
24
+ }
25
+ return '<img src="' + imageSrc(image, this.args[1]) + '" alt="' + (image.alt || '') + '"/>';
24
26
  },
25
27
  });
26
28
  }
27
- exports.registerImageTag = registerImageTag;
29
+ /** `{% imageurl <value> [variant] %}` outputs an image URL. */
28
30
  function registerImageUrlTag(engine) {
29
31
  engine.registerTag('imageurl', {
30
- parse: function (tagToken, remainTokens) {
32
+ parse: function (tagToken) {
31
33
  this.args = tagToken.args.split(' ');
32
34
  },
33
- render: function (scope, hash) {
34
- var image = engine.evalValueSync(this.args[0], scope);
35
+ render: function (context) {
36
+ const image = engine.evalValueSync(this.args[0], context);
35
37
  if (!image) {
36
- return Promise.resolve('');
37
- }
38
- //console.log(image)
39
- if (this.args[1] && image.variants && image.variants[this.args[1]]) {
40
- var src = image.variants[this.args[1]];
38
+ return '';
41
39
  }
42
- else {
43
- var src = image.src;
44
- }
45
- return Promise.resolve(src);
40
+ return imageSrc(image, this.args[1]);
46
41
  },
47
42
  });
48
43
  }
49
- exports.registerImageUrlTag = registerImageUrlTag;
50
- // this.engine.registerTag('image', {
51
- // parse: function (tagToken, remainTokens) {
52
- // this.args = tagToken.args.split(' ');
53
- // },
54
- // render: function (scope, hash) {
55
- // var image = Liquid.evalExp(this.args[0], scope);
56
- // //console.log(image)
57
- // if (!image) {
58
- // return Promise.resolve('');
59
- // }
60
- // if (this.args[1] && image.variants && image.variants[this.args[1]]) {
61
- // var src = image.variants[this.args[1]];
62
- // } else {
63
- // var src = image.src;
64
- // }
65
- // var alt = image.alt || '';
66
- // return Promise.resolve('<img src="' + src + '" alt="' + alt + '"/>');
67
- // },
68
- // });
69
- // this.engine.registerTag('imageurl', {
70
- // parse: function (tagToken, remainTokens) {
71
- // this.args = tagToken.args.split(' ');
72
- // },
73
- // render: function (scope, hash) {
74
- // var image = Liquid.evalExp(this.args[0], scope);
75
- // if (!image) {
76
- // return Promise.resolve('');
77
- // }
78
- // //console.log(image)
79
- // if (this.args[1] && image.variants && image.variants[this.args[1]]) {
80
- // var src = image.variants[this.args[1]];
81
- // } else {
82
- // var src = image.src;
83
- // }
84
- // return Promise.resolve(src);
85
- // },
86
- // });
87
44
  //# sourceMappingURL=image.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/tags/image.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/tags/image.ts"],"names":[],"mappings":";;AAWA,4CAeC;AAGD,kDAaC;AAxCD,4EAA4E;AAC5E,SAAS,QAAQ,CAAC,KAAU,EAAE,OAAgB;IAC1C,IAAI,OAAO,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,OAAO,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC;AACrB,CAAC;AAED,0DAA0D;AAC1D,SAAgB,gBAAgB,CAAC,MAAc;IAC3C,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE;QACxB,uGAAuG;QACvG,uDAAuD;QACvD,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,EAAE,KAAK,WAAW,OAAO;YAC3B,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO,YAAY,GAAG,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC;QAChG,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAED,+DAA+D;AAC/D,SAAgB,mBAAmB,CAAC,MAAc;IAC9C,MAAM,CAAC,WAAW,CAAC,UAAU,EAAE;QAC3B,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,EAAE,UAAU,OAAO;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,EAAE,CAAC;YACd,CAAC;YACD,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
package/lib/tags/index.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tags/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AACxB,+CAA6B;AAC7B,+CAA6B;AAC7B,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tags/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,2CAAyB;AACzB,yCAAuB;AACvB,0CAAwB;AACxB,+CAA6B;AAC7B,+CAA6B;AAC7B,yCAAuB"}
@@ -1,2 +1,3 @@
1
1
  import { Liquid } from 'liquidjs';
2
+ /** `{% module <name> %}` outputs a rendered module that is not in a region. */
2
3
  export declare function registerModuleTag(engine: Liquid): void;
@@ -1,15 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerModuleTag = void 0;
3
+ exports.registerModuleTag = registerModuleTag;
4
+ /** `{% module <name> %}` outputs a rendered module that is not in a region. */
4
5
  function registerModuleTag(engine) {
5
6
  engine.registerTag('module', {
6
- parse: function (tagToken, remainTokens) {
7
- this.name = tagToken.args; // name
7
+ parse: function (tagToken) {
8
+ this.name = tagToken.args;
8
9
  },
9
- render: function (scope, hash) {
10
- return engine.evalValue('modules.' + this.name, scope);
10
+ render: function (context) {
11
+ return engine.evalValue('modules.' + this.name, context);
11
12
  },
12
13
  });
13
14
  }
14
- exports.registerModuleTag = registerModuleTag;
15
15
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/tags/module.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAC,MAAc;IAC5C,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;QACzB,KAAK,EAAE,UAAU,QAAQ,EAAE,YAAY;YACnC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO;QACtC,CAAC;QACD,MAAM,EAAE,UAAU,KAAK,EAAE,IAAI;YACzB,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AATD,8CASC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../src/tags/module.ts"],"names":[],"mappings":";;AAGA,8CASC;AAVD,+EAA+E;AAC/E,SAAgB,iBAAiB,CAAC,MAAc;IAC5C,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;QACzB,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC9B,CAAC;QACD,MAAM,EAAE,UAAU,OAAO;YACrB,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -1,3 +1,6 @@
1
1
  import { Liquid } from 'liquidjs';
2
- import { CeemsPage, CeemsSite } from '../interfaces';
3
- export declare function registerNavigationTag(engine: Liquid, site: CeemsSite, page: CeemsPage): void;
2
+ /**
3
+ * `{% navigation <name> <template> %}` renders a menu from `site.json` `navigation`. The name `page.path[0]` or
4
+ * `page.path[1]` picks the menu named after the current page's first or second path segment.
5
+ */
6
+ export declare function registerNavigationTag(engine: Liquid): void;
@@ -1,16 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerNavigationTag = void 0;
4
- function registerNavigationTag(engine, site, page) {
3
+ exports.registerNavigationTag = registerNavigationTag;
4
+ const state_1 = require("../state");
5
+ /**
6
+ * `{% navigation <name> <template> %}` renders a menu from `site.json` `navigation`. The name `page.path[0]` or
7
+ * `page.path[1]` picks the menu named after the current page's first or second path segment.
8
+ */
9
+ function registerNavigationTag(engine) {
5
10
  engine.registerTag('navigation', {
6
- parse: function (tagToken, remainTokens) {
7
- this.match = tagToken.args.split(' '); // name // path[0] == navigation name
11
+ parse: function (tagToken) {
12
+ this.match = tagToken.args.split(' ');
8
13
  },
9
- render: function (scope, hash) {
10
- var value = engine.evalValueSync(this.match[0], scope);
11
- // if (!value) {
12
- // value = Liquid.lexical.parseLiteral(this.match[0]);
13
- // }
14
+ render: function (context) {
15
+ const { site, page } = (0, state_1.renderState)(context);
16
+ const value = engine.evalValueSync(this.match[0], context);
14
17
  let nav;
15
18
  if (page.path && this.match[0] == 'page.path[0]' && site.navigation[page.path[0]]) {
16
19
  nav = site.navigation[page.path[0]];
@@ -24,218 +27,12 @@ function registerNavigationTag(engine, site, page) {
24
27
  else {
25
28
  return;
26
29
  }
27
- var template = engine.evalValueSync(this.match[1], scope);
30
+ let template = engine.evalValueSync(this.match[1], context);
28
31
  if (!template) {
29
32
  template = this.match[1];
30
33
  }
31
- return engine.renderFile(template + '.liquid', Object.assign(Object.assign({}, nav), { page: Object.assign({}, page) }));
32
- // .handleCache(template + '.liquid')
33
- // .then((templates) => {
34
- // return engine.renderer.renderTemplates(templates, scope);
35
- // })
36
- // .then((html) => {
37
- // scope.pop();
38
- // return html;
39
- // });
34
+ return engine.renderFile(template + '.liquid', { ...nav, page: { ...page } }, (0, state_1.nestedRenderOptions)(context));
40
35
  },
41
36
  });
42
37
  }
43
- exports.registerNavigationTag = registerNavigationTag;
44
- // export function navigation(engine: Liquid, site){
45
- // return {
46
- // var value = engine.evalValue(this.match[0], scope);
47
- // if (!value) {
48
- // value = engine.parseLiteral(this.match[0]);
49
- // }
50
- // var page = scope.scopes[0];
51
- // if (page.path && this.match[0] == 'page.path[0]' && site.navigation[page.path[0]]) {
52
- // scope.push(site.navigation[page.path[0]]);
53
- // } else if (page.path && this.match[0] == 'page.path[1]' && site.navigation[page.path[1]]) {
54
- // scope.push(site.navigation[page.path[1]]);
55
- // } else if (site.navigation[value]) {
56
- // scope.push(site.navigation[value]);
57
- // } else {
58
- // return;
59
- // }
60
- // var template = Liquid.lexical.parseLiteral(this.match[1]);
61
- // if (!template) {
62
- // template = this.match[1];
63
- // }
64
- // return engine
65
- // .handleCache(template + '.liquid')
66
- // .then((templates) => {
67
- // return engine.renderer.renderTemplates(templates, scope);
68
- // })
69
- // .then((html) => {
70
- // scope.pop();
71
- // return html;
72
- // });
73
- // }
74
- // }
75
- // }
76
- // this.engine.registerTag('data', {
77
- // parse: function (tagToken, remainTokens) {
78
- // this.match = tagToken.args.split(' '); // name // path[0] == navigation name
79
- // },
80
- // render: function (scope, hash) {
81
- // // var filepath = Liquid.evalValue(this.match[1]+'.liquid', scope);
82
- // if (this.match[2]) {
83
- // var itemsPerPage = this.match[2];
84
- // } else {
85
- // var itemsPerPage = 10;
86
- // }
87
- // var collectionName = Liquid.evalValue(this.match[0], scope);
88
- // if (site.collections[collectionName]) {
89
- // //console.log(site.collections[collection]._id)
90
- // var collection = JSON.parse(
91
- // fs.readFileSync('./data/' + site.collections[collectionName]._id + '.json', 'utf8'),
92
- // );
93
- // var scopeObj = {};
94
- // scopeObj['collection'] = collection;
95
- // if (scope.scopes[0].page && scope.scopes[0].page.pagination) {
96
- // scopeObj.pagination = scope.scopes[0].page.pagination;
97
- // } else {
98
- // scopeObj.pagination = 1;
99
- // }
100
- // scopeObj.itemsPerPage = parseInt(itemsPerPage);
101
- // scopeObj.start = itemsPerPage * (scopeObj.pagination - 1);
102
- // scopeObj.end = scopeObj.start + itemsPerPage;
103
- // scopeObj.lastPage = Math.ceil(collection.data.length / itemsPerPage);
104
- // scope.push(scopeObj);
105
- // //console.log(scope)
106
- // var template = Liquid.lexical.parseLiteral(this.match[1]);
107
- // if (!template) {
108
- // template = this.match[1];
109
- // }
110
- // return engine
111
- // .handleCache(template + '.liquid')
112
- // .then((templates) => {
113
- // return engine.renderer.renderTemplates(templates, scope);
114
- // })
115
- // .then((html) => {
116
- // scope.pop();
117
- // return html;
118
- // });
119
- // } else {
120
- // return;
121
- // }
122
- // },
123
- // });
124
- // this.engine.registerTag('external', {
125
- // parse: function (tagToken, remainTokens) {
126
- // this.match = tagToken.args.split(' '); // name // path[0] == navigation name
127
- // },
128
- // render: function (scope, hash) {
129
- // var filepath = Liquid.evalValue(this.match[0], scope);
130
- // if (!filepath) {
131
- // filepath = Liquid.lexical.parseLiteral(this.match[0]);
132
- // }
133
- // var jsonData = JSON.parse(fs.readFileSync(filepath, 'utf8'));
134
- // var scopeObj = {};
135
- // scopeObj['external'] = jsonData;
136
- // scope.push(scopeObj);
137
- // //console.log(scope)
138
- // var template = Liquid.lexical.parseLiteral(this.match[1]);
139
- // if (!template) {
140
- // template = this.match[1];
141
- // }
142
- // return engine
143
- // .handleCache(template + '.liquid')
144
- // .then((templates) => {
145
- // return engine.renderer.renderTemplates(templates, scope);
146
- // })
147
- // .then((html) => {
148
- // scope.pop();
149
- // return html;
150
- // });
151
- // },
152
- // });
153
- // this.engine.registerFilter('active', (path, match, cssClass) => {
154
- // var regex = new RegExp('^' + match + '(?!([a-z0-9-_]+))');
155
- // if (regex.test(path)) {
156
- // return cssClass;
157
- // } else {
158
- // return '';
159
- // }
160
- // });
161
- // this.engine.registerFilter('url', (url) => {
162
- // return this.site.site.url + url;
163
- // });
164
- // //console.log(image)
165
- // if (this.args[1] && image.variants && image.variants[this.args[1]]) {
166
- // var src = image.variants[this.args[1]];
167
- // } else {
168
- // var src = image.src;
169
- // }
170
- // return Promise.resolve(src);
171
- // },
172
- // });
173
- // this.engine.registerTag('blog', {
174
- // parse: function (tagToken, remainTokens) {
175
- // this.match = tagToken.args.split(' ');
176
- // },
177
- // render: function (scope, hash) {
178
- // // get the blog set
179
- // var siteblog = Liquid.evalValue(this.match[0], scope);
180
- // if (!siteblog) {
181
- // siteblog = this.match[0];
182
- // }
183
- // if (!site.blogs[siteblog]) {
184
- // return;
185
- // }
186
- // // loop over articles, push articles that match tag or pagination, into array
187
- // var blog = site.blogs[siteblog];
188
- // var articles = [];
189
- // // if tag set, create filtered array of articles
190
- // if (this.match[3]) {
191
- // var tag = Liquid.evalValue(this.match[3], scope);
192
- // if (!tag) {
193
- // tag = Liquid.lexical.parseLiteral(this.match[3]);
194
- // }
195
- // blog.articles.forEach((article) => {
196
- // if (article.tags && article.tags.indexOf(tag) > -1) {
197
- // articles.push(article);
198
- // }
199
- // });
200
- // } else {
201
- // articles = blog.articles;
202
- // }
203
- // //check if articles per page is set
204
- // if (this.match[2]) {
205
- // var articlesPerPage = this.match[2];
206
- // } else {
207
- // var articlesPerPage = 10;
208
- // }
209
- // var pagination = 1;
210
- // if (scope.scopes[0].page && scope.scopes[0].page.pagination) {
211
- // pagination = scope.scopes[0].page.pagination;
212
- // }
213
- // articlesPerPage = parseInt(articlesPerPage);
214
- // var start = articlesPerPage * (pagination - 1);
215
- // var end = start + articlesPerPage;
216
- // var lastPage = Math.ceil(articles.length / articlesPerPage);
217
- // // is page greater than the number of articles?
218
- // // throw a 404
219
- // if (start >= articles.length) {
220
- // throw new Error('This page does not exist');
221
- // }
222
- // // slice original blog array to send just current page of articles to liquid
223
- // blog.articles = articles.slice(start, end);
224
- // blog.pagination = pagination;
225
- // blog.lastPage = lastPage;
226
- // scope.push(blog);
227
- // return engine
228
- // .handleCache(this.match[1] + '.liquid')
229
- // .then((templates) => {
230
- // return engine.renderer.renderTemplates(templates, scope);
231
- // })
232
- // .then((html) => {
233
- // scope.pop();
234
- // return html;
235
- // })
236
- // .catch((error) => {
237
- // throw error;
238
- // });
239
- // },
240
- //});
241
38
  //# sourceMappingURL=navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tags/navigation.ts"],"names":[],"mappings":";;;AAIA,SAAgB,qBAAqB,CAAC,MAAc,EAAE,IAAe,EAAE,IAAe;IAClF,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE;QAC7B,KAAK,EAAE,UAAU,QAAQ,EAAE,YAAY;YACnC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,qCAAqC;QAChF,CAAC;QACD,MAAM,EAAE,UAAU,KAAK,EAAE,IAAI;YACzB,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAEvD,gBAAgB;YAChB,wDAAwD;YACxD,IAAI;YAEJ,IAAI,GAAG,CAAC;YAER,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBAC/E,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;iBAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;gBACtF,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACvC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;gBAC/B,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aAChC;iBAAM;gBACH,OAAO;aACV;YACD,IAAI,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;YAE1D,IAAI,CAAC,QAAQ,EAAE;gBACX,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;aAC5B;YAED,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,kCACtC,GAAG,KACN,IAAI,oBACG,IAAI,KAEb,CAAC;YACH,qCAAqC;YACrC,yBAAyB;YACzB,8DAA8D;YAC9D,KAAK;YACL,oBAAoB;YACpB,iBAAiB;YACjB,iBAAiB;YACjB,MAAM;QACV,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AA7CD,sDA6CC;AAED,oDAAoD;AACpD,eAAe;AAEf,4DAA4D;AAC5D,sBAAsB;AACtB,sDAAsD;AACtD,UAAU;AACV,oCAAoC;AAEpC,6FAA6F;AAC7F,qDAAqD;AACrD,oGAAoG;AACpG,qDAAqD;AACrD,6CAA6C;AAC7C,8CAA8C;AAC9C,iBAAiB;AACjB,kBAAkB;AAClB,UAAU;AACV,mEAAmE;AACnE,yBAAyB;AACzB,oCAAoC;AACpC,UAAU;AAEV,sBAAsB;AACtB,6CAA6C;AAC7C,iCAAiC;AACjC,sEAAsE;AACtE,aAAa;AACb,4BAA4B;AAC5B,yBAAyB;AACzB,yBAAyB;AACzB,cAAc;AACd,QAAQ;AACR,MAAM;AACN,IAAI;AAEJ,oCAAoC;AACpC,+CAA+C;AAC/C,mFAAmF;AACnF,OAAO;AACP,qCAAqC;AACrC,0EAA0E;AAE1E,2BAA2B;AAC3B,0CAA0C;AAC1C,eAAe;AACf,+BAA+B;AAC/B,QAAQ;AAER,mEAAmE;AAEnE,8CAA8C;AAC9C,wDAAwD;AACxD,qCAAqC;AACrC,+FAA+F;AAC/F,WAAW;AAEX,2BAA2B;AAC3B,6CAA6C;AAE7C,uEAAuE;AACvE,iEAAiE;AACjE,iBAAiB;AACjB,mCAAmC;AACnC,UAAU;AAEV,wDAAwD;AAExD,mEAAmE;AACnE,sDAAsD;AAEtD,8EAA8E;AAE9E,8BAA8B;AAE9B,6BAA6B;AAC7B,mEAAmE;AACnE,yBAAyB;AACzB,oCAAoC;AACpC,UAAU;AAEV,sBAAsB;AACtB,6CAA6C;AAC7C,iCAAiC;AACjC,sEAAsE;AACtE,aAAa;AACb,4BAA4B;AAC5B,yBAAyB;AACzB,yBAAyB;AACzB,cAAc;AACd,eAAe;AACf,gBAAgB;AAChB,QAAQ;AACR,OAAO;AACP,MAAM;AAEN,wCAAwC;AACxC,+CAA+C;AAC/C,mFAAmF;AACnF,OAAO;AACP,qCAAqC;AACrC,6DAA6D;AAC7D,uBAAuB;AACvB,+DAA+D;AAC/D,QAAQ;AACR,oEAAoE;AAEpE,yBAAyB;AACzB,uCAAuC;AACvC,4BAA4B;AAE5B,2BAA2B;AAC3B,iEAAiE;AACjE,uBAAuB;AACvB,kCAAkC;AAClC,QAAQ;AAER,oBAAoB;AACpB,2CAA2C;AAC3C,+BAA+B;AAC/B,oEAAoE;AACpE,WAAW;AACX,0BAA0B;AAC1B,uBAAuB;AACvB,uBAAuB;AACvB,YAAY;AACZ,OAAO;AACP,MAAM;AAEN,oEAAoE;AACpE,+DAA+D;AAE/D,4BAA4B;AAC5B,uBAAuB;AACvB,aAAa;AACb,iBAAiB;AACjB,MAAM;AACN,MAAM;AAEN,+CAA+C;AAC/C,qCAAqC;AACrC,MAAM;AAEN,2BAA2B;AAC3B,4EAA4E;AAC5E,gDAAgD;AAChD,eAAe;AACf,6BAA6B;AAC7B,QAAQ;AACR,mCAAmC;AACnC,OAAO;AACP,MAAM;AAEN,oCAAoC;AACpC,+CAA+C;AAC/C,6CAA6C;AAC7C,OAAO;AACP,qCAAqC;AACrC,0BAA0B;AAC1B,6DAA6D;AAC7D,uBAAuB;AACvB,kCAAkC;AAClC,QAAQ;AACR,mCAAmC;AACnC,gBAAgB;AAChB,QAAQ;AACR,oFAAoF;AACpF,uCAAuC;AACvC,yBAAyB;AACzB,uDAAuD;AACvD,2BAA2B;AAC3B,0DAA0D;AAC1D,oBAAoB;AACpB,4DAA4D;AAC5D,UAAU;AACV,6CAA6C;AAC7C,gEAAgE;AAChE,oCAAoC;AACpC,YAAY;AACZ,YAAY;AACZ,eAAe;AACf,kCAAkC;AAClC,QAAQ;AACR,0CAA0C;AAC1C,2BAA2B;AAC3B,6CAA6C;AAC7C,eAAe;AACf,kCAAkC;AAClC,QAAQ;AACR,0BAA0B;AAC1B,qEAAqE;AACrE,sDAAsD;AACtD,QAAQ;AACR,mDAAmD;AACnD,sDAAsD;AACtD,yCAAyC;AACzC,mEAAmE;AACnE,sDAAsD;AACtD,qBAAqB;AACrB,sCAAsC;AACtC,qDAAqD;AACrD,QAAQ;AACR,mFAAmF;AACnF,kDAAkD;AAClD,oCAAoC;AACpC,gCAAgC;AAChC,wBAAwB;AACxB,oBAAoB;AACpB,gDAAgD;AAChD,+BAA+B;AAC/B,oEAAoE;AACpE,WAAW;AACX,0BAA0B;AAC1B,uBAAuB;AACvB,uBAAuB;AACvB,WAAW;AACX,4BAA4B;AAC5B,uBAAuB;AACvB,YAAY;AACZ,OAAO;AACP,KAAK"}
1
+ {"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../src/tags/navigation.ts"],"names":[],"mappings":";;AAOA,sDA4BC;AAlCD,oCAA4D;AAE5D;;;GAGG;AACH,SAAgB,qBAAqB,CAAC,MAAc;IAChD,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE;QAC7B,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,EAAE,UAAU,OAAO;YACrB,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAE3D,IAAI,GAAG,CAAC;YACR,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChF,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvF,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChC,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;iBAAM,CAAC;gBACJ,OAAO;YACX,CAAC;YAED,IAAI,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC7B,CAAC;YAED,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,GAAG,SAAS,EAAE,EAAE,GAAG,GAAG,EAAE,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,IAAA,2BAAmB,EAAC,OAAO,CAAC,CAAC,CAAC;QAChH,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -1,2 +1,5 @@
1
- import { CeemsSite } from '../interfaces';
2
- export declare function registerPageTag(engine: any, ceems: any, site: CeemsSite): void;
1
+ import { Liquid } from 'liquidjs';
2
+ /** `{% page <path> as <name> %}` loads another published page's JSON into the scope as `<name>`. */
3
+ export declare function registerPageTag(engine: Liquid, ceems: {
4
+ loadPageFile(id: string): Promise<any>;
5
+ }): void;
package/lib/tags/page.js CHANGED
@@ -1,34 +1,22 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerPageTag = void 0;
4
- const interfaces_1 = require("../interfaces");
5
- function registerPageTag(engine, ceems, site) {
3
+ exports.registerPageTag = registerPageTag;
4
+ const state_1 = require("../state");
5
+ /** `{% page <path> as <name> %}` loads another published page's JSON into the scope as `<name>`. */
6
+ function registerPageTag(engine, ceems) {
6
7
  engine.registerTag('page', {
7
8
  parse: function (tagToken) {
8
9
  this.match = tagToken.args.split(' as ');
9
10
  },
10
11
  render: async function (context) {
11
- // find the path
12
- let path = engine.evalValueSync(this.match[0], context);
13
- console.log('page path to load', path);
14
- this.scopeName = engine.evalValueSync(this.match[1], context);
15
- // load the page
16
- let page = site.pages[path];
12
+ const { site } = (0, state_1.renderState)(context);
13
+ const path = engine.evalValueSync(this.match[0], context);
14
+ const scopeName = engine.evalValueSync(this.match[1], context);
15
+ const page = site.pages[path];
17
16
  if (page) {
18
- let pageObj;
19
- if (ceems.config.cacheSource == interfaces_1.CacheSource.Local) {
20
- pageObj = ceems.loadLocalFile(`${ceems.config.cacheFolder}pages/${page._id}.json`);
21
- }
22
- if (ceems.config.cacheSource == interfaces_1.CacheSource.S3) {
23
- pageObj = await ceems.loadS3File(`pages/${page._id}.json`);
24
- }
25
- let newScope = {};
26
- newScope[this.scopeName] = pageObj;
27
- context.push(newScope);
17
+ context.push({ [scopeName]: await ceems.loadPageFile(page._id) });
28
18
  }
29
- return;
30
19
  },
31
20
  });
32
21
  }
33
- exports.registerPageTag = registerPageTag;
34
22
  //# sourceMappingURL=page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/tags/page.ts"],"names":[],"mappings":";;;AACA,8CAAuD;AAEvD,SAAgB,eAAe,CAAC,MAAM,EAAE,KAAU,EAAE,IAAc;IAC9D,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;QACvB,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,EAAE,KAAK,WAAW,OAAe;YAEnC,gBAAgB;YAChB,IAAI,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAExD,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAAC,CAAA;YACtC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAE9D,gBAAgB;YAChB,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YAE3B,IAAG,IAAI,EAAC;gBAEJ,IAAI,OAAO,CAAA;gBACX,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,wBAAW,CAAC,KAAK,EAAE;oBAC/C,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,WAAW,SAAS,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;iBACrF;gBAED,IAAI,KAAK,CAAC,MAAM,CAAC,WAAW,IAAI,wBAAW,CAAC,EAAE,EAAE;oBAC5C,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,GAAG,OAAO,CAAC,CAAA;iBAC7D;gBAED,IAAI,QAAQ,GAAO,EAAE,CAAA;gBACrB,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;gBAClC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;aACzB;YAED,OAAM;QAGV,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AArCD,0CAqCC"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/tags/page.ts"],"names":[],"mappings":";;AAIA,0CAgBC;AAnBD,oCAAuC;AAEvC,oGAAoG;AACpG,SAAgB,eAAe,CAAC,MAAc,EAAE,KAAiD;IAC7F,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE;QACvB,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7C,CAAC;QACD,MAAM,EAAE,KAAK,WAAW,OAAO;YAC3B,MAAM,EAAE,IAAI,EAAE,GAAG,IAAA,mBAAW,EAAC,OAAO,CAAC,CAAC;YACtC,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YAE/D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAI,EAAE,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,MAAM,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
@@ -1,2 +1,3 @@
1
1
  import { Liquid } from 'liquidjs';
2
+ /** `{% region <key> %}` outputs a region's rendered modules. */
2
3
  export declare function registerRegionTag(engine: Liquid): void;
@@ -1,16 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.registerRegionTag = void 0;
3
+ exports.registerRegionTag = registerRegionTag;
4
+ /** `{% region <key> %}` outputs a region's rendered modules. */
4
5
  function registerRegionTag(engine) {
5
6
  engine.registerTag('region', {
6
- parse: function (tagToken, remainTokens) {
7
- this.name = tagToken.args; // name
7
+ parse: function (tagToken) {
8
+ this.name = tagToken.args;
8
9
  },
9
- render: function (scope, hash) {
10
- //console.log('render region', this.name);
11
- return engine.evalValue('regions.' + this.name, scope);
10
+ render: function (context) {
11
+ return engine.evalValue('regions.' + this.name, context);
12
12
  },
13
13
  });
14
14
  }
15
- exports.registerRegionTag = registerRegionTag;
16
15
  //# sourceMappingURL=region.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"region.js","sourceRoot":"","sources":["../../src/tags/region.ts"],"names":[],"mappings":";;;AAEA,SAAgB,iBAAiB,CAAC,MAAc;IAC5C,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;QACzB,KAAK,EAAE,UAAU,QAAQ,EAAE,YAAY;YACnC,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO;QACtC,CAAC;QACD,MAAM,EAAE,UAAU,KAAK,EAAE,IAAI;YACzB,0CAA0C;YAC1C,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC3D,CAAC;KACJ,CAAC,CAAC;AACP,CAAC;AAVD,8CAUC"}
1
+ {"version":3,"file":"region.js","sourceRoot":"","sources":["../../src/tags/region.ts"],"names":[],"mappings":";;AAGA,8CASC;AAVD,gEAAgE;AAChE,SAAgB,iBAAiB,CAAC,MAAc;IAC5C,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE;QACzB,KAAK,EAAE,UAAU,QAAQ;YACrB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC9B,CAAC;QACD,MAAM,EAAE,UAAU,OAAO;YACrB,OAAO,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC7D,CAAC;KACJ,CAAC,CAAC;AACP,CAAC"}
package/package.json CHANGED
@@ -1,40 +1,39 @@
1
1
  {
2
2
  "name": "@nakedcreativity/cee-ms-node",
3
- "version": "1.0.121",
4
- "description": "Cee.ms for Node.js",
3
+ "version": "2.0.0-beta.0",
4
+ "description": "Cee.ms for Node.js: renders Cee.ms sites from their published JSON with Liquid templates",
5
5
  "main": "./lib/index.js",
6
+ "types": "./lib/index.d.ts",
7
+ "engines": {
8
+ "node": ">=22"
9
+ },
6
10
  "scripts": {
7
- "test": "echo \"Error: no test specified\" && exit 1",
8
- "build": "tsc",
9
- "format": "prettier --write \"src/**/*.ts\"",
10
- "lint": "tslint -p tsconfig.json",
11
- "start": "PORT=3030 nodemon lib/test.js localhost 3030",
12
- "api": "sam local start-api --region eu-west-2 --warm-containers eager 2>&1 | tr \"\r\" \"\n\"",
13
- "prepare": "npm version patch"
11
+ "build": "tsc -p tsconfig.build.json",
12
+ "typecheck": "tsc -p tsconfig.json --noEmit",
13
+ "test": "vitest run",
14
+ "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"",
15
+ "dev": "tsx watch dev/server.ts",
16
+ "prepublishOnly": "npm run typecheck && npm test && npm run build"
14
17
  },
15
18
  "author": "Naked Creativity",
16
19
  "license": "ISC",
17
20
  "dependencies": {
18
- "@vendia/serverless-express": "^4.3.8",
19
- "aws-lambda": "^1.0.6",
20
- "aws-sdk": "^2.922.0",
21
- "cheerio": "^0.22.0",
22
- "express": "^4.14.0",
23
- "liquidjs": "^10.12.0",
24
- "slugify": "^1.6.0",
25
- "underscore": "^1.13.1"
21
+ "@aws-sdk/client-s3": "^3.1156.0",
22
+ "cheerio": "^1.2.0",
23
+ "express": "^4.22.3",
24
+ "liquidjs": "^10.30.0",
25
+ "slugify": "^1.6.6"
26
26
  },
27
27
  "devDependencies": {
28
- "@types/express": "github:types/npm-express",
29
- "@types/node": "^15.0.2",
30
- "nodemon": "^2.0.7",
31
- "prettier": "^2.3.0",
32
- "tslint": "^6.1.3",
33
- "tslint-config-prettier": "^1.18.0",
34
- "typescript": "^4.2.4"
28
+ "@types/express": "^4.17.25",
29
+ "@types/node": "^22.19.0",
30
+ "@vendia/serverless-express": "^4.12.6",
31
+ "prettier": "^3.9.10",
32
+ "tsx": "^4.23.15",
33
+ "typescript": "~5.9.3",
34
+ "vitest": "^5.0.5"
35
35
  },
36
36
  "files": [
37
37
  "lib/**/*"
38
- ],
39
- "types": "./lib/index.d.ts"
38
+ ]
40
39
  }
@@ -1,3 +0,0 @@
1
- import { LiquidTag } from './interfaces';
2
- export declare const InvestorTag: LiquidTag;
3
- export declare const CardsTag: LiquidTag;