@skeptools/skep-organization-project 0.0.14 → 0.0.15

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 (186) hide show
  1. package/.jsii +2047 -5
  2. package/API.md +2084 -1758
  3. package/lib/index.js +7 -3
  4. package/lib/skep-organization-project.js +6 -6
  5. package/node_modules/commander/LICENSE +22 -0
  6. package/node_modules/commander/Readme.md +1134 -0
  7. package/node_modules/commander/esm.mjs +16 -0
  8. package/node_modules/commander/index.js +27 -0
  9. package/node_modules/commander/lib/argument.js +147 -0
  10. package/node_modules/commander/lib/command.js +2179 -0
  11. package/node_modules/commander/lib/error.js +45 -0
  12. package/node_modules/commander/lib/help.js +464 -0
  13. package/node_modules/commander/lib/option.js +331 -0
  14. package/node_modules/commander/lib/suggestSimilar.js +100 -0
  15. package/node_modules/commander/package-support.json +16 -0
  16. package/node_modules/commander/package.json +80 -0
  17. package/node_modules/commander/typings/index.d.ts +889 -0
  18. package/node_modules/liquidjs/README.md +125 -72
  19. package/node_modules/liquidjs/bin/liquid.js +128 -13
  20. package/node_modules/liquidjs/dist/build/fs-impl-browser.spec.d.ts +1 -0
  21. package/node_modules/liquidjs/dist/{emitters → build}/streamed-emitter-browser.d.ts +1 -1
  22. package/node_modules/liquidjs/dist/build/streamed-emitter-browser.spec.d.ts +1 -0
  23. package/node_modules/liquidjs/dist/cache/cache.d.ts +1 -1
  24. package/node_modules/liquidjs/dist/cache/index.d.ts +2 -0
  25. package/node_modules/liquidjs/dist/cache/lru.spec.d.ts +1 -0
  26. package/node_modules/liquidjs/dist/context/block-mode.d.ts +1 -2
  27. package/node_modules/liquidjs/dist/context/context.d.ts +5 -3
  28. package/node_modules/liquidjs/dist/context/context.spec.d.ts +1 -0
  29. package/node_modules/liquidjs/dist/context/index.d.ts +3 -0
  30. package/node_modules/liquidjs/dist/context/scope.d.ts +3 -3
  31. package/node_modules/liquidjs/dist/drop/blank-drop.d.ts +1 -1
  32. package/node_modules/liquidjs/dist/drop/index.d.ts +7 -0
  33. package/node_modules/liquidjs/dist/emitters/index.d.ts +4 -0
  34. package/node_modules/liquidjs/dist/emitters/keeping-type-emitter.d.ts +1 -1
  35. package/node_modules/liquidjs/dist/filters/array.d.ts +26 -0
  36. package/node_modules/liquidjs/dist/filters/date.d.ts +6 -0
  37. package/node_modules/liquidjs/dist/filters/html.d.ts +5 -0
  38. package/node_modules/liquidjs/dist/filters/index.d.ts +2 -0
  39. package/node_modules/liquidjs/dist/{builtin/filters → filters}/math.d.ts +3 -3
  40. package/node_modules/liquidjs/dist/filters/misc.d.ts +18 -0
  41. package/node_modules/liquidjs/dist/{builtin/filters → filters}/string.d.ts +13 -3
  42. package/node_modules/liquidjs/dist/filters/url.d.ts +14 -0
  43. package/node_modules/liquidjs/dist/fs/fs-impl.spec.d.ts +1 -0
  44. package/node_modules/liquidjs/dist/fs/index.d.ts +2 -0
  45. package/node_modules/liquidjs/dist/fs/loader.spec.d.ts +1 -0
  46. package/node_modules/liquidjs/dist/fs/node-require.d.ts +1 -1
  47. package/node_modules/liquidjs/dist/index.d.ts +15 -0
  48. package/node_modules/liquidjs/dist/liquid-options.d.ts +13 -10
  49. package/node_modules/liquidjs/dist/liquid-options.spec.d.ts +1 -0
  50. package/node_modules/liquidjs/dist/liquid.browser.esm.js +2836 -2359
  51. package/node_modules/liquidjs/dist/liquid.browser.min.js +1 -1
  52. package/node_modules/liquidjs/dist/liquid.browser.min.js.map +1 -1
  53. package/node_modules/liquidjs/dist/liquid.browser.umd.js +3921 -3156
  54. package/node_modules/liquidjs/dist/liquid.browser.umd.js.map +1 -1
  55. package/node_modules/liquidjs/dist/liquid.d.ts +22 -26
  56. package/node_modules/liquidjs/dist/liquid.node.cjs.js +3289 -4062
  57. package/node_modules/liquidjs/dist/liquid.node.esm.js +2841 -2372
  58. package/node_modules/liquidjs/dist/parser/filter-arg.d.ts +2 -2
  59. package/node_modules/liquidjs/dist/parser/index.d.ts +4 -0
  60. package/node_modules/liquidjs/dist/parser/parse-stream.d.ts +3 -4
  61. package/node_modules/liquidjs/dist/parser/parse-stream.spec.d.ts +1 -0
  62. package/node_modules/liquidjs/dist/parser/parser.d.ts +6 -9
  63. package/node_modules/liquidjs/dist/parser/token-kind.d.ts +1 -0
  64. package/node_modules/liquidjs/dist/parser/tokenizer.d.ts +21 -25
  65. package/node_modules/liquidjs/dist/parser/tokenizer.spec.d.ts +1 -0
  66. package/node_modules/liquidjs/dist/parser/whitespace-ctrl.d.ts +1 -1
  67. package/node_modules/liquidjs/dist/render/boolean.spec.d.ts +1 -0
  68. package/node_modules/liquidjs/dist/render/expression.d.ts +4 -8
  69. package/node_modules/liquidjs/dist/render/expression.spec.d.ts +1 -0
  70. package/node_modules/liquidjs/dist/render/index.d.ts +4 -0
  71. package/node_modules/liquidjs/dist/render/operator.d.ts +6 -4
  72. package/node_modules/liquidjs/dist/render/render.d.ts +3 -3
  73. package/node_modules/liquidjs/dist/render/render.spec.d.ts +1 -0
  74. package/node_modules/liquidjs/dist/render/string.spec.d.ts +1 -0
  75. package/node_modules/liquidjs/dist/tags/assign.d.ts +7 -0
  76. package/node_modules/liquidjs/dist/tags/block.d.ts +8 -0
  77. package/node_modules/liquidjs/dist/tags/break.d.ts +4 -0
  78. package/node_modules/liquidjs/dist/tags/capture.d.ts +8 -0
  79. package/node_modules/liquidjs/dist/tags/case.d.ts +11 -0
  80. package/node_modules/liquidjs/dist/tags/comment.d.ts +5 -0
  81. package/node_modules/liquidjs/dist/tags/continue.d.ts +4 -0
  82. package/node_modules/liquidjs/dist/tags/cycle.d.ts +7 -0
  83. package/node_modules/liquidjs/dist/tags/decrement.d.ts +6 -0
  84. package/node_modules/liquidjs/dist/tags/echo.d.ts +6 -0
  85. package/node_modules/liquidjs/dist/tags/for.d.ts +10 -0
  86. package/node_modules/liquidjs/dist/tags/if.d.ts +10 -0
  87. package/node_modules/liquidjs/dist/tags/include.d.ts +7 -0
  88. package/node_modules/liquidjs/dist/tags/increment.d.ts +6 -0
  89. package/node_modules/liquidjs/dist/tags/index.d.ts +24 -0
  90. package/node_modules/liquidjs/dist/tags/inline-comment.d.ts +5 -0
  91. package/node_modules/liquidjs/dist/tags/layout.d.ts +9 -0
  92. package/node_modules/liquidjs/dist/tags/liquid.d.ts +6 -0
  93. package/node_modules/liquidjs/dist/tags/raw.d.ts +6 -0
  94. package/node_modules/liquidjs/dist/tags/render.d.ts +17 -0
  95. package/node_modules/liquidjs/dist/tags/tablerow.d.ts +9 -0
  96. package/node_modules/liquidjs/dist/tags/unless.d.ts +11 -0
  97. package/node_modules/liquidjs/dist/template/filter-impl-options.d.ts +12 -0
  98. package/node_modules/liquidjs/dist/template/filter.d.ts +13 -0
  99. package/node_modules/liquidjs/dist/template/filter.spec.d.ts +1 -0
  100. package/node_modules/liquidjs/dist/template/{tag/hash.d.ts → hash.d.ts} +6 -6
  101. package/node_modules/liquidjs/dist/template/hash.spec.d.ts +1 -0
  102. package/node_modules/liquidjs/dist/template/html.d.ts +4 -5
  103. package/node_modules/liquidjs/dist/template/index.d.ts +10 -0
  104. package/node_modules/liquidjs/dist/template/output.d.ts +3 -3
  105. package/node_modules/liquidjs/dist/template/output.spec.d.ts +1 -0
  106. package/node_modules/liquidjs/dist/template/tag-options-adapter.d.ts +10 -0
  107. package/node_modules/liquidjs/dist/template/tag.d.ts +18 -0
  108. package/node_modules/liquidjs/dist/template/value.d.ts +8 -6
  109. package/node_modules/liquidjs/dist/template/value.spec.d.ts +1 -0
  110. package/node_modules/liquidjs/dist/tokens/delimited-token.d.ts +4 -3
  111. package/node_modules/liquidjs/dist/tokens/filtered-value-token.d.ts +17 -0
  112. package/node_modules/liquidjs/dist/tokens/index.d.ts +18 -0
  113. package/node_modules/liquidjs/dist/tokens/liquid-tag-token.d.ts +5 -0
  114. package/node_modules/liquidjs/dist/tokens/literal-token.d.ts +2 -0
  115. package/node_modules/liquidjs/dist/tokens/number-token.d.ts +6 -4
  116. package/node_modules/liquidjs/dist/tokens/operator-token.d.ts +18 -1
  117. package/node_modules/liquidjs/dist/tokens/property-access-token.d.ts +7 -4
  118. package/node_modules/liquidjs/dist/tokens/quoted-token.d.ts +1 -0
  119. package/node_modules/liquidjs/dist/tokens/tag-token.d.ts +4 -2
  120. package/node_modules/liquidjs/dist/tokens/token.d.ts +1 -1
  121. package/node_modules/liquidjs/dist/tokens/top-level-token.d.ts +4 -0
  122. package/node_modules/liquidjs/dist/tokens/value-token.d.ts +2 -1
  123. package/node_modules/liquidjs/dist/util/assert.spec.d.ts +1 -0
  124. package/node_modules/liquidjs/dist/util/async.d.ts +0 -1
  125. package/node_modules/liquidjs/dist/util/async.spec.d.ts +1 -0
  126. package/node_modules/liquidjs/dist/util/character.d.ts +3 -1
  127. package/node_modules/liquidjs/dist/util/error.d.ts +3 -2
  128. package/node_modules/liquidjs/dist/util/index.d.ts +11 -0
  129. package/node_modules/liquidjs/dist/util/liquid-date.d.ts +1 -0
  130. package/node_modules/liquidjs/dist/util/literal.d.ts +3 -3
  131. package/node_modules/liquidjs/dist/util/operator-trie.d.ts +13 -4
  132. package/node_modules/liquidjs/dist/util/strftime.d.ts +1 -1
  133. package/node_modules/liquidjs/dist/util/strftime.spec.d.ts +1 -0
  134. package/node_modules/liquidjs/dist/util/timezone-date.d.ts +6 -1
  135. package/node_modules/liquidjs/dist/util/timezone-date.spec.d.ts +1 -0
  136. package/node_modules/liquidjs/dist/util/type-guards.d.ts +1 -11
  137. package/node_modules/liquidjs/dist/util/underscore.d.ts +6 -8
  138. package/node_modules/liquidjs/dist/util/underscore.spec.d.ts +1 -0
  139. package/node_modules/liquidjs/package.json +33 -37
  140. package/package.json +29 -28
  141. package/.gitattributes +0 -23
  142. package/.projenrc.ts +0 -31
  143. package/node_modules/liquidjs/CHANGELOG.md +0 -1015
  144. package/node_modules/liquidjs/dist/builtin/filters/array.d.ts +0 -15
  145. package/node_modules/liquidjs/dist/builtin/filters/date.d.ts +0 -2
  146. package/node_modules/liquidjs/dist/builtin/filters/html.d.ts +0 -4
  147. package/node_modules/liquidjs/dist/builtin/filters/index.d.ts +0 -7
  148. package/node_modules/liquidjs/dist/builtin/filters/misc.d.ts +0 -5
  149. package/node_modules/liquidjs/dist/builtin/filters/url.d.ts +0 -2
  150. package/node_modules/liquidjs/dist/builtin/tags/assign.d.ts +0 -3
  151. package/node_modules/liquidjs/dist/builtin/tags/block.d.ts +0 -8
  152. package/node_modules/liquidjs/dist/builtin/tags/break.d.ts +0 -5
  153. package/node_modules/liquidjs/dist/builtin/tags/capture.d.ts +0 -3
  154. package/node_modules/liquidjs/dist/builtin/tags/case.d.ts +0 -3
  155. package/node_modules/liquidjs/dist/builtin/tags/comment.d.ts +0 -3
  156. package/node_modules/liquidjs/dist/builtin/tags/continue.d.ts +0 -5
  157. package/node_modules/liquidjs/dist/builtin/tags/cycle.d.ts +0 -3
  158. package/node_modules/liquidjs/dist/builtin/tags/decrement.d.ts +0 -3
  159. package/node_modules/liquidjs/dist/builtin/tags/echo.d.ts +0 -3
  160. package/node_modules/liquidjs/dist/builtin/tags/for.d.ts +0 -3
  161. package/node_modules/liquidjs/dist/builtin/tags/if.d.ts +0 -3
  162. package/node_modules/liquidjs/dist/builtin/tags/include.d.ts +0 -3
  163. package/node_modules/liquidjs/dist/builtin/tags/increment.d.ts +0 -3
  164. package/node_modules/liquidjs/dist/builtin/tags/index.d.ts +0 -5
  165. package/node_modules/liquidjs/dist/builtin/tags/inline-comment.d.ts +0 -3
  166. package/node_modules/liquidjs/dist/builtin/tags/layout.d.ts +0 -3
  167. package/node_modules/liquidjs/dist/builtin/tags/liquid.d.ts +0 -3
  168. package/node_modules/liquidjs/dist/builtin/tags/raw.d.ts +0 -3
  169. package/node_modules/liquidjs/dist/builtin/tags/render.d.ts +0 -13
  170. package/node_modules/liquidjs/dist/builtin/tags/tablerow.d.ts +0 -3
  171. package/node_modules/liquidjs/dist/builtin/tags/unless.d.ts +0 -3
  172. package/node_modules/liquidjs/dist/parser/match-operator.d.ts +0 -2
  173. package/node_modules/liquidjs/dist/template/filter/filter-impl-options.d.ts +0 -4
  174. package/node_modules/liquidjs/dist/template/filter/filter-impl.d.ts +0 -6
  175. package/node_modules/liquidjs/dist/template/filter/filter-map.d.ts +0 -13
  176. package/node_modules/liquidjs/dist/template/filter/filter.d.ts +0 -12
  177. package/node_modules/liquidjs/dist/template/tag/tag-impl-options.d.ts +0 -10
  178. package/node_modules/liquidjs/dist/template/tag/tag-impl.d.ts +0 -6
  179. package/node_modules/liquidjs/dist/template/tag/tag-map.d.ts +0 -6
  180. package/node_modules/liquidjs/dist/template/tag/tag.d.ts +0 -10
  181. package/node_modules/liquidjs/dist/tokens/toplevel-token.d.ts +0 -4
  182. package/node_modules/liquidjs/dist/types.d.ts +0 -30
  183. package/node_modules/liquidjs/dist/util/collection.d.ts +0 -2
  184. /package/node_modules/liquidjs/dist/{fs/browser.d.ts → build/fs-impl-browser.d.ts} +0 -0
  185. /package/node_modules/liquidjs/dist/fs/{node.d.ts → fs-impl.d.ts} +0 -0
  186. /package/node_modules/liquidjs/dist/{parser/parse-string-literal.d.ts → render/string.d.ts} +0 -0
@@ -0,0 +1,17 @@
1
+ import { Token } from './token';
2
+ import { FilterToken } from './filter-token';
3
+ import { Expression } from '../render';
4
+ /**
5
+ * value expression with optional filters
6
+ * e.g.
7
+ * {% assign foo="bar" | append: "coo" %}
8
+ */
9
+ export declare class FilteredValueToken extends Token {
10
+ initial: Expression;
11
+ filters: FilterToken[];
12
+ input: string;
13
+ begin: number;
14
+ end: number;
15
+ file?: string | undefined;
16
+ constructor(initial: Expression, filters: FilterToken[], input: string, begin: number, end: number, file?: string | undefined);
17
+ }
@@ -0,0 +1,18 @@
1
+ export * from './top-level-token';
2
+ export * from './tag-token';
3
+ export * from './output-token';
4
+ export * from './html-token';
5
+ export * from './number-token';
6
+ export * from './identifier-token';
7
+ export * from './literal-token';
8
+ export * from './operator-token';
9
+ export * from './property-access-token';
10
+ export * from './filter-token';
11
+ export * from './hash-token';
12
+ export * from './quoted-token';
13
+ export * from './token';
14
+ export * from './range-token';
15
+ export * from './value-token';
16
+ export * from './liquid-tag-token';
17
+ export * from './delimited-token';
18
+ export * from './filtered-value-token';
@@ -1,7 +1,12 @@
1
1
  import { DelimitedToken } from './delimited-token';
2
2
  import { NormalizedFullOptions } from '../liquid-options';
3
+ import { Tokenizer } from '../parser';
4
+ /**
5
+ * LiquidTagToken is different from TagToken by not having delimiters `{%` or `%}`
6
+ */
3
7
  export declare class LiquidTagToken extends DelimitedToken {
4
8
  name: string;
5
9
  args: string;
10
+ tokenizer: Tokenizer;
6
11
  constructor(input: string, begin: number, end: number, options: NormalizedFullOptions, file?: string);
7
12
  }
@@ -1,9 +1,11 @@
1
1
  import { Token } from './token';
2
+ import { LiteralValue } from '../util';
2
3
  export declare class LiteralToken extends Token {
3
4
  input: string;
4
5
  begin: number;
5
6
  end: number;
6
7
  file?: string | undefined;
8
+ content: LiteralValue;
7
9
  literal: string;
8
10
  constructor(input: string, begin: number, end: number, file?: string | undefined);
9
11
  }
@@ -1,7 +1,9 @@
1
1
  import { Token } from './token';
2
- import { IdentifierToken } from './identifier-token';
3
2
  export declare class NumberToken extends Token {
4
- whole: IdentifierToken;
5
- decimal?: IdentifierToken | undefined;
6
- constructor(whole: IdentifierToken, decimal?: IdentifierToken | undefined);
3
+ input: string;
4
+ begin: number;
5
+ end: number;
6
+ file?: string | undefined;
7
+ content: number;
8
+ constructor(input: string, begin: number, end: number, file?: string | undefined);
7
9
  }
@@ -1,5 +1,9 @@
1
1
  import { Token } from './token';
2
- export declare const precedence: {
2
+ export declare const enum OperatorType {
3
+ Binary = 0,
4
+ Unary = 1
5
+ }
6
+ export declare const operatorPrecedences: {
3
7
  '==': number;
4
8
  '!=': number;
5
9
  '>': number;
@@ -7,9 +11,22 @@ export declare const precedence: {
7
11
  '>=': number;
8
12
  '<=': number;
9
13
  contains: number;
14
+ not: number;
10
15
  and: number;
11
16
  or: number;
12
17
  };
18
+ export declare const operatorTypes: {
19
+ '==': OperatorType;
20
+ '!=': OperatorType;
21
+ '>': OperatorType;
22
+ '<': OperatorType;
23
+ '>=': OperatorType;
24
+ '<=': OperatorType;
25
+ contains: OperatorType;
26
+ not: OperatorType;
27
+ and: OperatorType;
28
+ or: OperatorType;
29
+ };
13
30
  export declare class OperatorToken extends Token {
14
31
  input: string;
15
32
  begin: number;
@@ -1,9 +1,12 @@
1
1
  import { Token } from './token';
2
+ import { LiteralToken } from './literal-token';
3
+ import { ValueToken } from './value-token';
2
4
  import { IdentifierToken } from './identifier-token';
5
+ import { NumberToken } from './number-token';
6
+ import { RangeToken } from './range-token';
3
7
  import { QuotedToken } from './quoted-token';
4
8
  export declare class PropertyAccessToken extends Token {
5
- variable: IdentifierToken | QuotedToken;
6
- props: (IdentifierToken | QuotedToken | PropertyAccessToken)[];
7
- propertyName: string;
8
- constructor(variable: IdentifierToken | QuotedToken, props: (IdentifierToken | QuotedToken | PropertyAccessToken)[], end: number);
9
+ variable: QuotedToken | RangeToken | LiteralToken | NumberToken | undefined;
10
+ props: (ValueToken | IdentifierToken)[];
11
+ constructor(variable: QuotedToken | RangeToken | LiteralToken | NumberToken | undefined, props: (ValueToken | IdentifierToken)[], input: string, begin: number, end: number, file?: string);
9
12
  }
@@ -4,5 +4,6 @@ export declare class QuotedToken extends Token {
4
4
  begin: number;
5
5
  end: number;
6
6
  file?: string | undefined;
7
+ readonly content: string;
7
8
  constructor(input: string, begin: number, end: number, file?: string | undefined);
8
9
  }
@@ -1,7 +1,9 @@
1
1
  import { DelimitedToken } from './delimited-token';
2
- import { NormalizedFullOptions } from '../liquid-options';
2
+ import { Tokenizer } from '../parser';
3
+ import type { NormalizedFullOptions } from '../liquid-options';
3
4
  export declare class TagToken extends DelimitedToken {
4
5
  name: string;
5
- args: string;
6
+ tokenizer: Tokenizer;
6
7
  constructor(input: string, begin: number, end: number, options: NormalizedFullOptions, file?: string);
8
+ get args(): string;
7
9
  }
@@ -1,4 +1,4 @@
1
- import { TokenKind } from '../parser/token-kind';
1
+ import { TokenKind } from '../parser';
2
2
  export declare abstract class Token {
3
3
  kind: TokenKind;
4
4
  input: string;
@@ -0,0 +1,4 @@
1
+ import type { TagToken } from './tag-token';
2
+ import type { HTMLToken } from './html-token';
3
+ import type { OutputToken } from './output-token';
4
+ export type TopLevelToken = TagToken | OutputToken | HTMLToken;
@@ -1,5 +1,6 @@
1
1
  import { RangeToken } from './range-token';
2
2
  import { LiteralToken } from './literal-token';
3
+ import { NumberToken } from './number-token';
3
4
  import { QuotedToken } from './quoted-token';
4
5
  import { PropertyAccessToken } from './property-access-token';
5
- export declare type ValueToken = RangeToken | LiteralToken | QuotedToken | PropertyAccessToken;
6
+ export type ValueToken = RangeToken | LiteralToken | QuotedToken | PropertyAccessToken | NumberToken;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,3 +1,2 @@
1
1
  export declare function toPromise<T>(val: Generator<unknown, T, unknown> | Promise<T> | T): Promise<T>;
2
2
  export declare function toValueSync<T>(val: Generator<unknown, T, unknown> | T): T;
3
- export declare const toThenable: typeof toPromise;
@@ -0,0 +1 @@
1
+ export {};
@@ -1,8 +1,10 @@
1
1
  export declare const TYPES: number[];
2
- export declare const IDENTIFIER = 1;
2
+ export declare const WORD = 1;
3
3
  export declare const OPERATOR = 2;
4
4
  export declare const BLANK = 4;
5
5
  export declare const QUOTE = 8;
6
6
  export declare const INLINE_BLANK = 16;
7
7
  export declare const NUMBER = 32;
8
8
  export declare const SIGN = 64;
9
+ export declare const PUNCTUATION = 128;
10
+ export declare function isWord(char: string): boolean;
@@ -3,9 +3,10 @@ import { Template } from '../template/template';
3
3
  export declare abstract class LiquidError extends Error {
4
4
  private token;
5
5
  context: string;
6
- private originalError;
7
- constructor(err: Error, token: Token);
6
+ private originalError?;
7
+ constructor(err: Error | string, token: Token);
8
8
  protected update(): void;
9
+ static is(obj: unknown): obj is LiquidError;
9
10
  }
10
11
  export declare class TokenizationError extends LiquidError {
11
12
  constructor(message: string, token: Token);
@@ -0,0 +1,11 @@
1
+ export * from './error';
2
+ export * from './character';
3
+ export * from './assert';
4
+ export * from './literal';
5
+ export * from './underscore';
6
+ export * from './operator-trie';
7
+ export * from './type-guards';
8
+ export * from './async';
9
+ export * from './strftime';
10
+ export * from './liquid-date';
11
+ export * from './timezone-date';
@@ -14,6 +14,7 @@ export interface LiquidDate {
14
14
  getMonth(): number;
15
15
  getFullYear(): number;
16
16
  getTimezoneOffset(): number;
17
+ getTimezoneName?(): string;
17
18
  toLocaleTimeString(): string;
18
19
  toLocaleDateString(): string;
19
20
  }
@@ -1,6 +1,4 @@
1
- import { NullDrop } from '../drop/null-drop';
2
- import { EmptyDrop } from '../drop/empty-drop';
3
- import { BlankDrop } from '../drop/blank-drop';
1
+ import { BlankDrop, EmptyDrop, NullDrop } from '../drop';
4
2
  export declare const literalValues: {
5
3
  true: boolean;
6
4
  false: boolean;
@@ -9,3 +7,5 @@ export declare const literalValues: {
9
7
  empty: EmptyDrop;
10
8
  blank: BlankDrop;
11
9
  };
10
+ export type LiteralKey = keyof typeof literalValues;
11
+ export type LiteralValue = typeof literalValues[LiteralKey];
@@ -1,5 +1,14 @@
1
- import { Operators } from '../render/operator';
2
- export interface Trie {
3
- [key: string]: any;
1
+ interface TrieInput<T> {
2
+ [key: string]: T;
4
3
  }
5
- export declare function createTrie(operators: Operators): Trie;
4
+ interface TrieLeafNode<T> {
5
+ data: T;
6
+ end: true;
7
+ needBoundary?: true;
8
+ }
9
+ export interface Trie<T> {
10
+ [key: string]: Trie<T> | TrieLeafNode<T>;
11
+ }
12
+ export type TrieNode<T> = Trie<T> | TrieLeafNode<T>;
13
+ export declare function createTrie<T = any>(input: TrieInput<T>): Trie<T>;
14
+ export {};
@@ -1,2 +1,2 @@
1
1
  import { LiquidDate } from './liquid-date';
2
- export default function (d: LiquidDate, formatStr: string): string;
2
+ export declare function strftime(d: LiquidDate, formatStr: string): string;
@@ -0,0 +1 @@
1
+ export {};
@@ -8,8 +8,10 @@ import { LiquidDate } from './liquid-date';
8
8
  */
9
9
  export declare class TimezoneDate implements LiquidDate {
10
10
  private timezoneOffset;
11
+ private timezoneName;
11
12
  private date;
12
- constructor(init: string | number | Date | TimezoneDate, timezoneOffset: number);
13
+ private displayDate;
14
+ constructor(init: string | number | Date | TimezoneDate, timezone: number | string);
13
15
  getTime(): number;
14
16
  getMilliseconds(): number;
15
17
  getSeconds(): number;
@@ -19,9 +21,11 @@ export declare class TimezoneDate implements LiquidDate {
19
21
  getDate(): number;
20
22
  getMonth(): number;
21
23
  getFullYear(): number;
24
+ toLocaleString(locale?: string, init?: any): string;
22
25
  toLocaleTimeString(locale?: string): string;
23
26
  toLocaleDateString(locale?: string): string;
24
27
  getTimezoneOffset(): number;
28
+ getTimezoneName(): string;
25
29
  /**
26
30
  * Create a Date object fixed to it's declared Timezone. Both
27
31
  * - 2021-08-06T02:29:00.000Z and
@@ -36,4 +40,5 @@ export declare class TimezoneDate implements LiquidDate {
36
40
  * Given that a template is expected to be parsed fewer times than rendered.
37
41
  */
38
42
  static createDateFixedToTimezone(dateString: string): LiquidDate;
43
+ private static getTimezoneOffset;
39
44
  }
@@ -1,14 +1,4 @@
1
- import { OperatorToken } from '../tokens/operator-token';
2
- import { DelimitedToken } from '../tokens/delimited-token';
3
- import { IdentifierToken } from '../tokens/identifier-token';
4
- import { TagToken } from '../tokens/tag-token';
5
- import { HTMLToken } from '../tokens/html-token';
6
- import { OutputToken } from '../tokens/output-token';
7
- import { PropertyAccessToken } from '../tokens/property-access-token';
8
- import { LiteralToken } from '../tokens/literal-token';
9
- import { QuotedToken } from '../tokens/quoted-token';
10
- import { NumberToken } from '../tokens/number-token';
11
- import { RangeToken } from '../tokens/range-token';
1
+ import { RangeToken, NumberToken, QuotedToken, LiteralToken, PropertyAccessToken, OutputToken, HTMLToken, TagToken, IdentifierToken, DelimitedToken, OperatorToken } from '../tokens';
12
2
  export declare function isDelimitedToken(val: any): val is DelimitedToken;
13
3
  export declare function isOperatorToken(val: any): val is OperatorToken;
14
4
  export declare function isHTMLToken(val: any): val is HTMLToken;
@@ -8,19 +8,18 @@ export declare function escapeRegex(str: string): string;
8
8
  export declare function promisify<T1, T2>(fn: (arg1: T1, cb: (err: Error | null, result: T2) => void) => void): (arg1: T1) => Promise<T2>;
9
9
  export declare function promisify<T1, T2, T3>(fn: (arg1: T1, arg2: T2, cb: (err: Error | null, result: T3) => void) => void): (arg1: T1, arg2: T2) => Promise<T3>;
10
10
  export declare function stringify(value: any): string;
11
+ export declare function toEnumerable<T = unknown>(val: any): T[];
12
+ export declare function toArray(val: any): any[];
11
13
  export declare function toValue(value: any): any;
12
14
  export declare function isNumber(value: any): value is number;
13
15
  export declare function toLiquid(value: any): any;
14
16
  export declare function isNil(value: any): boolean;
17
+ export declare function isUndefined(value: any): boolean;
15
18
  export declare function isArray(value: any): value is any[];
16
19
  export declare function isIterable(value: any): value is Iterable<any>;
17
- export declare function forOwn<T>(obj: {
20
+ export declare function forOwn<T>(obj: Record<string, T> | undefined, iteratee: ((val: T, key: string, obj: {
18
21
  [key: string]: T;
19
- } | undefined, iteratee: ((val: T, key: string, obj: {
20
- [key: string]: T;
21
- }) => boolean | void)): {
22
- [key: string]: T;
23
- };
22
+ }) => boolean | void)): Record<string, T>;
24
23
  export declare function last<T>(arr: T[]): T;
25
24
  export declare function last(arr: string): string;
26
25
  export declare function isObject(value: any): value is object;
@@ -29,9 +28,8 @@ export declare function padStart(str: any, length: number, ch?: string): any;
29
28
  export declare function padEnd(str: any, length: number, ch?: string): any;
30
29
  export declare function pad(str: any, length: number, ch: string, add: (str: string, ch: string) => string): any;
31
30
  export declare function identify<T>(val: T): T;
32
- export declare function snakeCase(str: string): string;
33
31
  export declare function changeCase(str: string): string;
34
32
  export declare function ellipsis(str: string, N: number): string;
35
- export declare function caseInsensitiveCompare(a: any, b: any): 1 | 0 | -1;
33
+ export declare function caseInsensitiveCompare(a: any, b: any): 0 | 1 | -1;
36
34
  export declare function argumentsToValue<F extends (...args: any) => any>(fn: F): (...args: Parameters<F>) => any;
37
35
  export declare function escapeRegExp(text: string): string;
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "liquidjs",
3
- "version": "9.43.0",
3
+ "version": "10.13.0",
4
4
  "description": "A simple, expressive and safe Shopify / Github Pages compatible template engine in pure JavaScript.",
5
5
  "main": "dist/liquid.node.cjs.js",
6
6
  "module": "dist/liquid.node.esm.js",
@@ -9,18 +9,24 @@
9
9
  "./dist/liquid.node.cjs.js": "./dist/liquid.browser.umd.js",
10
10
  "./dist/liquid.node.esm.js": "./dist/liquid.browser.esm.js"
11
11
  },
12
- "types": "dist/liquid.d.ts",
12
+ "types": "dist/index.d.ts",
13
+ "engines": {
14
+ "node": ">=14"
15
+ },
13
16
  "scripts": {
14
17
  "lint": "eslint \"**/*.mjs\" \"**/*.ts\" .",
15
- "check": "npm run build && npm test && npm run lint && npm run perf:diff",
16
- "test": "nyc mocha \"test/**/*.ts\"",
17
- "test:e2e": "mocha \"test/e2e/**/*.ts\"",
18
- "perf": "cd benchmark && npm ci && npm start",
18
+ "check": "npm run build && npm run build:docs && npm test && npm run lint && npm run perf:diff",
19
+ "test": "jest",
20
+ "test:coverage": "jest --coverage src test/integration",
21
+ "test:e2e": "jest test/e2e",
19
22
  "perf:diff": "bin/perf-diff.sh",
20
23
  "perf:engines": "cd benchmark && npm run engines",
21
- "postversion": "npm run build:dist",
22
- "build": "npm run build:dist && npm run build:docs",
23
- "build:dist": "rollup -c rollup.config.mjs",
24
+ "version": "npm run build && npm test",
25
+ "build": "rollup -c rollup.config.mjs",
26
+ "build:cjs": "BUNDLES=cjs rollup -c rollup.config.mjs",
27
+ "build:min": "BUNDLES=min rollup -c rollup.config.mjs",
28
+ "build:umd": "BUNDLES=umd rollup -c rollup.config.mjs",
29
+ "build:charmap": "./bin/character-gen.js > src/util/character.ts",
24
30
  "build:docs": "bin/build-docs.sh"
25
31
  },
26
32
  "bin": {
@@ -41,9 +47,6 @@
41
47
  "LICENSE",
42
48
  "README.md"
43
49
  ],
44
- "engines": {
45
- "node": ">=4.8.7"
46
- },
47
50
  "keywords": [
48
51
  "liquid",
49
52
  "template engine",
@@ -60,57 +63,51 @@
60
63
  "devDependencies": {
61
64
  "@commitlint/cli": "^12.1.4",
62
65
  "@commitlint/config-conventional": "^8.2.0",
63
- "@semantic-release/changelog": "^3.0.2",
64
- "@semantic-release/commit-analyzer": "^6.1.0",
65
- "@semantic-release/git": "^7.0.8",
66
- "@semantic-release/npm": "^5.1.8",
67
- "@semantic-release/release-notes-generator": "^7.1.4",
66
+ "@semantic-release/changelog": "^6.0.2",
67
+ "@semantic-release/commit-analyzer": "^9.0.2",
68
+ "@semantic-release/git": "^10.0.1",
69
+ "@semantic-release/npm": "^9.0.2",
70
+ "@semantic-release/release-notes-generator": "^10.0.3",
68
71
  "@types/benchmark": "^1.0.31",
69
- "@types/chai": "^4.1.7",
70
- "@types/chai-as-promised": "^7.1.0",
71
72
  "@types/express": "^4.17.2",
73
+ "@types/jest": "^29.4.0",
72
74
  "@types/jsdom": "^12.2.2",
73
- "@types/mocha": "^5.2.6",
74
- "@types/sinon": "^7.0.6",
75
- "@types/sinon-chai": "^3.2.2",
75
+ "@types/sinon": "^10.0.13",
76
76
  "@types/supertest": "^2.0.7",
77
77
  "@typescript-eslint/eslint-plugin": "^5.6.0",
78
78
  "@typescript-eslint/parser": "^5.6.0",
79
- "all-contributors-cli": "^6.20.0",
79
+ "all-contributors-cli": "^6.24.0",
80
80
  "benchmark": "^2.1.4",
81
- "chai": "^4.2.0",
82
- "chai-as-promised": "^7.1.1",
83
81
  "coveralls": "^3.0.2",
84
82
  "cross-env": "^5.2.0",
85
83
  "eslint": "^7.32.0",
86
84
  "eslint-config-standard": "^12.0.0",
87
85
  "eslint-plugin-deprecation": "^1.3.2",
88
- "eslint-plugin-import": "^2.15.0",
86
+ "eslint-plugin-import": "^2.27.5",
89
87
  "eslint-plugin-mocha": "^5.3.0",
90
88
  "eslint-plugin-node": "^8.0.1",
91
89
  "eslint-plugin-promise": "^4.0.1",
92
90
  "eslint-plugin-standard": "^4.0.0",
93
91
  "express": "^4.16.4",
94
92
  "husky": "^4.2.5",
93
+ "jest": "^29.5.0",
95
94
  "jsdom": "^16.5.0",
96
- "mocha": "^9.0.1",
97
- "nyc": "^15.1.0",
98
- "regenerator-runtime": "^0.12.1",
99
- "rollup": "^2.61.0",
95
+ "rollup": "^1.26.3",
100
96
  "rollup-plugin-replace": "^2.1.0",
101
97
  "rollup-plugin-typescript2": "^0.31.1",
102
98
  "rollup-plugin-uglify": "^6.0.4",
103
99
  "rollup-plugin-version-injector": "^1.3.3",
104
100
  "semantic-release": "^19.0.3",
105
- "sinon": "^7.5.0",
106
- "sinon-chai": "^3.3.0",
101
+ "sinon": "^15.0.2",
107
102
  "supertest": "^3.4.2",
108
- "ts-node": "^8.0.2",
103
+ "ts-jest": "^29.0.5",
109
104
  "tslib": "^2.3.1",
110
- "typedoc": "^0.19.2",
111
- "typedoc-plugin-markdown": "^2.2.17",
105
+ "typedoc": "^0.23.26",
112
106
  "typescript": "^4.5.3"
113
107
  },
108
+ "dependencies": {
109
+ "commander": "^10.0.0"
110
+ },
114
111
  "release": {
115
112
  "branch": "master",
116
113
  "plugins": [
@@ -160,6 +157,5 @@
160
157
  "pre-commit": "npm run check",
161
158
  "commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
162
159
  }
163
- },
164
- "dependencies": {}
160
+ }
165
161
  }
package/package.json CHANGED
@@ -35,55 +35,54 @@
35
35
  "organization": false
36
36
  },
37
37
  "devDependencies": {
38
- "@types/jest": "^27",
39
- "@types/node": "^16",
40
- "@typescript-eslint/eslint-plugin": "^5",
41
- "@typescript-eslint/parser": "^5",
38
+ "@types/jest": "29",
39
+ "@types/node": "^20",
40
+ "@typescript-eslint/eslint-plugin": "^6",
41
+ "@typescript-eslint/parser": "^6",
42
+ "constructs": "^10.0.0",
42
43
  "eslint": "^8",
43
- "eslint-import-resolver-node": "^0.3.7",
44
- "eslint-import-resolver-typescript": "^3.5.5",
45
- "eslint-plugin-import": "^2.27.5",
46
- "jest": "^27",
44
+ "eslint-import-resolver-typescript": "^3.6.1",
45
+ "eslint-plugin-import": "^2.29.1",
46
+ "jest": "29",
47
47
  "jest-junit": "^15",
48
- "jsii": "1.x",
49
- "jsii-diff": "^1.80.0",
50
- "jsii-docgen": "^7.2.1",
51
- "jsii-pacmak": "^1.80.0",
52
- "npm-check-updates": "^16",
48
+ "jsii": "~5",
49
+ "jsii-diff": "^1.93.0",
50
+ "jsii-docgen": "^7.2.9",
51
+ "jsii-pacmak": "^1.93.0",
52
+ "jsii-rosetta": "~5",
53
53
  "projen": "^0.65.58",
54
54
  "standard-version": "^9",
55
- "ts-jest": "^27",
56
- "ts-node": "^10.9.1",
55
+ "ts-jest": "29",
56
+ "ts-node": "^10.9.2",
57
57
  "typescript": "^4.9.5"
58
58
  },
59
59
  "peerDependencies": {
60
- "@rlmartin-projen/cdktf-project": "~0",
60
+ "@rlmartin-projen/cdktf-project": "~4",
61
61
  "@rlmartin-projen/projen-project": "~0",
62
62
  "projen": "~0"
63
63
  },
64
64
  "dependencies": {
65
- "@rlmartin-projen/cdktf-project": "~0",
65
+ "@rlmartin-projen/cdktf-project": "~4",
66
66
  "@rlmartin-projen/projen-project": "~0",
67
- "liquidjs": "~9",
67
+ "liquidjs": "~10",
68
68
  "projen": "~0"
69
69
  },
70
70
  "bundledDependencies": [
71
71
  "liquidjs"
72
72
  ],
73
- "resolutions": {
74
- "@types/prettier": "2.6.0",
75
- "@types/babel__traverse": "7.18.2"
73
+ "engines": {
74
+ "node": ">= 20.0.0"
76
75
  },
77
76
  "main": "lib/index.js",
78
77
  "license": "Apache-2.0",
79
78
  "publishConfig": {
80
79
  "access": "public"
81
80
  },
82
- "version": "0.0.14",
81
+ "version": "0.0.15",
83
82
  "jest": {
84
83
  "testMatch": [
85
84
  "<rootDir>/src/**/__tests__/**/*.ts?(x)",
86
- "<rootDir>/(test|src)/**/*(*.)@(spec|test).ts?(x)"
85
+ "<rootDir>/@(test|src)/**/*(*.)@(spec|test).ts?(x)"
87
86
  ],
88
87
  "clearMocks": true,
89
88
  "collectCoverage": true,
@@ -113,11 +112,13 @@
113
112
  }
114
113
  ]
115
114
  ],
116
- "preset": "ts-jest",
117
- "globals": {
118
- "ts-jest": {
119
- "tsconfig": "tsconfig.dev.json"
120
- }
115
+ "transform": {
116
+ "^.+\\.[t]sx?$": [
117
+ "ts-jest",
118
+ {
119
+ "tsconfig": "tsconfig.dev.json"
120
+ }
121
+ ]
121
122
  }
122
123
  },
123
124
  "types": "lib/index.d.ts",
package/.gitattributes DELETED
@@ -1,23 +0,0 @@
1
- # ~~ Generated by projen. To modify, edit .projenrc.ts and run "npx projen".
2
-
3
- *.snap linguist-generated
4
- /.eslintrc.json linguist-generated
5
- /.gitattributes linguist-generated
6
- /.github/pull_request_template.md linguist-generated
7
- /.github/workflows/build.yml linguist-generated
8
- /.github/workflows/pull-request-lint.yml linguist-generated
9
- /.github/workflows/release-dev.yml linguist-generated
10
- /.github/workflows/release.yml linguist-generated
11
- /.github/workflows/upgrade-main.yml linguist-generated
12
- /.gitignore linguist-generated
13
- /.mergify.yml linguist-generated
14
- /.npmignore linguist-generated
15
- /.projen/** linguist-generated
16
- /.projen/deps.json linguist-generated
17
- /.projen/files.json linguist-generated
18
- /.projen/tasks.json linguist-generated
19
- /API.md linguist-generated
20
- /LICENSE linguist-generated
21
- /package.json linguist-generated
22
- /tsconfig.dev.json linguist-generated
23
- /yarn.lock linguist-generated