Compare commits

..
15 Commits
Author SHA1 Message Date
semantic-release-bot 6502984b50 chore(release): 9.4.2 [skip ci]
## [9.4.2](https://github.com/harttle/liquidjs/compare/v9.4.1...v9.4.2) (2019-11-15)

### Bug Fixes

* reading .first, .last of Array, closes [#175](https://github.com/harttle/liquidjs/issues/175) ([f82da11](https://github.com/harttle/liquidjs/commit/f82da11))
2019-11-15 17:19:40 +00:00
harttle f82da11f5a fix: reading .first, .last of Array, closes #175 2019-11-16 01:14:09 +08:00
semantic-release-bot ef289039fb chore(release): 9.4.1 [skip ci]
## [9.4.1](https://github.com/harttle/liquidjs/compare/v9.4.0...v9.4.1) (2019-11-15)

### Bug Fixes

* remove node dependencies for esm bundle, see [#173](https://github.com/harttle/liquidjs/issues/173) ([04df929](https://github.com/harttle/liquidjs/commit/04df929))
2019-11-15 02:58:48 +00:00
harttle 04df9294b5 fix: remove node dependencies for esm bundle, see #173 2019-11-15 10:53:54 +08:00
semantic-release-bot 79892f6b72 chore(release): 9.4.0 [skip ci]
# [9.4.0](https://github.com/harttle/liquidjs/compare/v9.3.1...v9.4.0) (2019-11-14)

### Features

* add ability to pass JSON context to CLI ([9504e4e](https://github.com/harttle/liquidjs/commit/9504e4e))
2019-11-14 13:18:08 +00:00
allcontributors[bot]andJun Yang 19f3e23b27 docs: update .all-contributorsrc 2019-11-14 07:08:21 -06:00
allcontributors[bot]andJun Yang 993ea20b80 docs: update README.md 2019-11-14 07:08:21 -06:00
harttle 08cbb12228 chore: introduce commit message lint 2019-11-14 21:01:55 +08:00
Brandon Pittmanandharttle 9504e4e45b feat: add ability to pass JSON context to CLI
If you pass a JSON file or JSON string as the first argument to the CLI, you can use variables in your templates that get parsed by the CLI.
2019-11-14 21:01:37 +08:00
semantic-release-bot 0b9b50c5d7 chore(release): 9.3.1 [skip ci]
## [9.3.1](https://github.com/harttle/liquidjs/compare/v9.3.0...v9.3.1) (2019-11-09)

### Bug Fixes

* liquidjs command in /bin/liquid.js, fixes [#169](https://github.com/harttle/liquidjs/issues/169) ([0073b90](https://github.com/harttle/liquidjs/commit/0073b90))
2019-11-09 16:17:47 +00:00
harttle 0073b90b31 fix: liquidjs command in /bin/liquid.js, fixes #169 2019-11-10 00:13:18 +08:00
Jun YangandGitHub 081c432334 docs: update readme 2019-11-09 10:26:58 +08:00
semantic-release-bot 390cd23f5f chore(release): 9.3.0 [skip ci]
# [9.3.0](https://github.com/harttle/liquidjs/compare/v9.2.0...v9.3.0) (2019-11-07)

### Features

* support require.resolve for lookup, see [#168](https://github.com/harttle/liquidjs/issues/168) ([2dd4355](https://github.com/harttle/liquidjs/commit/2dd4355))
2019-11-07 10:51:46 +00:00
harttle 2dd43559b5 feat: support require.resolve for lookup, see #168 2019-11-07 18:46:37 +08:00
dependabot[bot]andJun Yang 5492fb0b17 chore(deps): bump eslint-utils from 1.4.0 to 1.4.3
Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils) from 1.4.0 to 1.4.3.
- [Release notes](https://github.com/mysticatea/eslint-utils/releases)
- [Commits](https://github.com/mysticatea/eslint-utils/compare/v1.4.0...v1.4.3)

Signed-off-by: dependabot[bot] <[email protected]>
2019-11-03 07:51:34 -06:00
21 changed files with 884 additions and 42 deletions
+9
View File
@@ -214,6 +214,15 @@
"contributions": [
"code"
]
},
{
"login": "brandonpittman",
"name": "Brandon Pittman",
"avatar_url": "https://avatars0.githubusercontent.com/u/967145?v=4",
"profile": "https://brandonpittman.net",
"contributions": [
"code"
]
}
],
"contributorsPerLine": 7
+3 -1
View File
@@ -6,7 +6,9 @@ jobs:
include:
- stage: test
name: 'Linting'
script: npm run lint
script:
- npm run lint
- commitlint-travis
- name: 'Coverage'
script: npm run coverage-coveralls
- stage: release
+35
View File
@@ -1,3 +1,38 @@
## [9.4.2](https://github.com/harttle/liquidjs/compare/v9.4.1...v9.4.2) (2019-11-15)
### Bug Fixes
* reading .first, .last of Array, closes [#175](https://github.com/harttle/liquidjs/issues/175) ([f82da11](https://github.com/harttle/liquidjs/commit/f82da11))
## [9.4.1](https://github.com/harttle/liquidjs/compare/v9.4.0...v9.4.1) (2019-11-15)
### Bug Fixes
* remove node dependencies for esm bundle, see [#173](https://github.com/harttle/liquidjs/issues/173) ([04df929](https://github.com/harttle/liquidjs/commit/04df929))
# [9.4.0](https://github.com/harttle/liquidjs/compare/v9.3.1...v9.4.0) (2019-11-14)
### Features
* add ability to pass JSON context to CLI ([9504e4e](https://github.com/harttle/liquidjs/commit/9504e4e))
## [9.3.1](https://github.com/harttle/liquidjs/compare/v9.3.0...v9.3.1) (2019-11-09)
### Bug Fixes
* liquidjs command in /bin/liquid.js, fixes [#169](https://github.com/harttle/liquidjs/issues/169) ([0073b90](https://github.com/harttle/liquidjs/commit/0073b90))
# [9.3.0](https://github.com/harttle/liquidjs/compare/v9.2.0...v9.3.0) (2019-11-07)
### Features
* support require.resolve for lookup, see [#168](https://github.com/harttle/liquidjs/issues/168) ([2dd4355](https://github.com/harttle/liquidjs/commit/2dd4355))
## [9.1.1](https://github.com/harttle/liquidjs/compare/v9.1.0...v9.1.1) (2019-10-10)
+1 -1
View File
@@ -4,7 +4,6 @@
[![Build Status](https://travis-ci.org/harttle/liquidjs.svg?branch=master)](https://travis-ci.org/harttle/liquidjs)
[![Coveralls](https://img.shields.io/coveralls/harttle/liquidjs.svg)](https://coveralls.io/github/harttle/liquidjs?branch=master)
[![dependencies](https://img.shields.io/david/harttle/liquidjs.svg)](https://david-dm.org/harttle/liquidjs)
[![All Contributors](https://img.shields.io/badge/all_contributors-20-orange.svg?style=flat-square)](#contributors-)
[![semantic-release](https://img.shields.io/badge/%20%20%F0%9F%93%A6%F0%9F%9A%80-semantic--release-e10079.svg)](https://github.com/harttle/liquidjs)
[![GitHub issues](https://img.shields.io/github/issues-closed/harttle/liquidjs.svg)](https://github.com/harttle/liquidjs/issues)
[![GitHub contributors](https://img.shields.io/github/contributors/harttle/liquidjs.svg)](https://github.com/harttle/liquidjs/graphs/contributors)
@@ -118,6 +117,7 @@ Thanks goes to these wonderful people:
</tr>
<tr>
<td align="center"><a href="https://github.com/jamelait"><img src="https://avatars1.githubusercontent.com/u/14369255?v=4" width="100px;" alt="Jamel A."/><br /><sub><b>Jamel A.</b></sub></a><br /><a href="https://github.com/harttle/liquidjs/commits?author=jamelait" title="Code">💻</a></td>
<td align="center"><a href="https://brandonpittman.net"><img src="https://avatars0.githubusercontent.com/u/967145?v=4" width="100px;" alt="Brandon Pittman"/><br /><sub><b>Brandon Pittman</b></sub></a><br /><a href="https://github.com/harttle/liquidjs/commits?author=brandonpittman" title="Code">💻</a></td>
</tr>
</table>
+14 -3
View File
@@ -1,6 +1,17 @@
#!/usr/bin/env node
const Liquid = require('..')
const Liquid = require('..').Liquid
var contextArg = process.argv.slice(2)[0]
var context = {}
if (contextArg) {
if (contextArg.endsWith('.json')) {
const fs = require('fs')
context = JSON.parse(fs.readFileSync(contextArg, 'utf8'))
} else {
context = JSON.parse(contextArg)
}
}
let tpl = ''
process.stdin.on('data', chunk => (tpl += chunk))
@@ -8,6 +19,6 @@ process.stdin.on('end', () => render(tpl))
async function render (tpl) {
const liquid = new Liquid()
const html = await liquid.parseAndRender(tpl)
const html = await liquid.parseAndRender(tpl, context)
console.log(html)
}
}
+1
View File
@@ -0,0 +1 @@
module.exports = {extends: ['@commitlint/config-conventional']};
File diff suppressed because one or more lines are too long
@@ -494,6 +494,12 @@
<li class=" tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<a href="../modules/_context_context_.html#matchrightbracket" class="tsd-kind-icon">match<wbr>Right<wbr>Bracket</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<a href="../modules/_context_context_.html#readfirst" class="tsd-kind-icon">read<wbr>First</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<a href="../modules/_context_context_.html#readlast" class="tsd-kind-icon">read<wbr>Last</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<a href="../modules/_context_context_.html#readproperty" class="tsd-kind-icon">read<wbr>Property</a>
</li>
+14 -14
View File
@@ -229,7 +229,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L95">liquid.ts:95</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L99">liquid.ts:99</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -348,7 +348,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L99">liquid.ts:99</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L103">liquid.ts:103</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -374,7 +374,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L102">liquid.ts:102</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L106">liquid.ts:106</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -400,7 +400,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L115">liquid.ts:115</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L119">liquid.ts:119</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">(Anonymous function)</span></h4>
@@ -417,7 +417,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L133">liquid.ts:133</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L137">liquid.ts:137</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -450,7 +450,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L139">liquid.ts:139</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L143">liquid.ts:143</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
@@ -483,7 +483,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L123">liquid.ts:123</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L127">liquid.ts:127</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -593,7 +593,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L79">liquid.ts:79</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L83">liquid.ts:83</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -619,7 +619,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L82">liquid.ts:82</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L86">liquid.ts:86</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -645,7 +645,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L112">liquid.ts:112</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L116">liquid.ts:116</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -689,7 +689,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L106">liquid.ts:106</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L110">liquid.ts:110</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -715,7 +715,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L109">liquid.ts:109</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L113">liquid.ts:113</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -770,7 +770,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L85">liquid.ts:85</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L89">liquid.ts:89</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -799,7 +799,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L89">liquid.ts:89</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/liquid.ts#L93">liquid.ts:93</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
+14
View File
@@ -86,6 +86,7 @@
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_fs_ifs_.ifs.html#exists" class="tsd-kind-icon">exists</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_fs_ifs_.ifs.html#existssync" class="tsd-kind-icon">exists<wbr>Sync</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_fs_ifs_.ifs.html#fallback" class="tsd-kind-icon">fallback</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_fs_ifs_.ifs.html#readfile" class="tsd-kind-icon">read<wbr>File</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_fs_ifs_.ifs.html#readfilesync" class="tsd-kind-icon">read<wbr>File<wbr>Sync</a></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><a href="_fs_ifs_.ifs.html#resolve" class="tsd-kind-icon">resolve</a></li>
@@ -158,6 +159,16 @@
</ul>
</div>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="fallback" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagOptional">Optional</span> fallback</h3>
<div class="tsd-signature tsd-kind-icon">fallback<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">function</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/fs/ifs.ts#L7">fs/ifs.ts:7</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
<a name="readfile" class="tsd-anchor"></a>
<h3>read<wbr>File</h3>
@@ -283,6 +294,9 @@
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="_fs_ifs_.ifs.html#existssync" class="tsd-kind-icon">exists<wbr>Sync</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="_fs_ifs_.ifs.html#fallback" class="tsd-kind-icon">fallback</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-interface">
<a href="_fs_ifs_.ifs.html#readfile" class="tsd-kind-icon">read<wbr>File</a>
</li>
+56 -2
View File
@@ -80,6 +80,8 @@
<h3>Functions</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported"><a href="_context_context_.html#matchrightbracket" class="tsd-kind-icon">match<wbr>Right<wbr>Bracket</a></li>
<li class="tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported"><a href="_context_context_.html#readfirst" class="tsd-kind-icon">read<wbr>First</a></li>
<li class="tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported"><a href="_context_context_.html#readlast" class="tsd-kind-icon">read<wbr>Last</a></li>
<li class="tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported"><a href="_context_context_.html#readproperty" class="tsd-kind-icon">read<wbr>Property</a></li>
<li class="tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported"><a href="_context_context_.html#readsize" class="tsd-kind-icon">read<wbr>Size</a></li>
</ul>
@@ -99,7 +101,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/context/context.ts#L135">context/context.ts:135</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/context/context.ts#L147">context/context.ts:147</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -115,6 +117,52 @@
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<a name="readfirst" class="tsd-anchor"></a>
<h3>read<wbr>First</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon">read<wbr>First<span class="tsd-signature-symbol">(</span>obj<span class="tsd-signature-symbol">: </span><a href="_context_scope_.html#scope" class="tsd-signature-type">Scope</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/context/context.ts#L132">context/context.ts:132</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>obj: <a href="_context_scope_.html#scope" class="tsd-signature-type">Scope</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<a name="readlast" class="tsd-anchor"></a>
<h3>read<wbr>Last</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon">read<wbr>Last<span class="tsd-signature-symbol">(</span>obj<span class="tsd-signature-symbol">: </span><a href="_context_scope_.html#scope" class="tsd-signature-type">Scope</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/context/context.ts#L137">context/context.ts:137</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>obj: <a href="_context_scope_.html#scope" class="tsd-signature-type">Scope</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">any</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<a name="readproperty" class="tsd-anchor"></a>
<h3>read<wbr>Property</h3>
@@ -151,7 +199,7 @@
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/context/context.ts#L129">context/context.ts:129</a></li>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/context/context.ts#L142">context/context.ts:142</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
@@ -185,6 +233,12 @@
<li class=" tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_context_context_.html#matchrightbracket" class="tsd-kind-icon">match<wbr>Right<wbr>Bracket</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_context_context_.html#readfirst" class="tsd-kind-icon">read<wbr>First</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_context_context_.html#readlast" class="tsd-kind-icon">read<wbr>Last</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-external-module tsd-is-not-exported">
<a href="_context_context_.html#readproperty" class="tsd-kind-icon">read<wbr>Property</a>
</li>
+26
View File
@@ -211,6 +211,32 @@
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-object-literal">
<a name="fs.fallback" class="tsd-anchor"></a>
<h3>fallback</h3>
<ul class="tsd-signatures tsd-kind-function tsd-parent-kind-object-literal">
<li class="tsd-signature tsd-kind-icon">fallback<span class="tsd-signature-symbol">(</span>file<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/harttle/liquidjs/blob/master/src/fs/node.ts#L31">fs/node.ts:31</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>file: <span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">undefined</span>
<span class="tsd-signature-symbol"> | </span>
<span class="tsd-signature-type">string</span>
</h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-function tsd-parent-kind-object-literal">
<a name="fs.readfile" class="tsd-anchor"></a>
<h3>read<wbr>File</h3>
+627 -4
View File
@@ -136,6 +136,359 @@
"to-fast-properties": "^2.0.0"
}
},
"@commitlint/cli": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/cli/-/cli-8.2.0.tgz",
"integrity": "sha512-8fJ5pmytc38yw2QWbTTJmXLfSiWPwMkHH4govo9zJ/+ERPBF2jvlxD/dQvk24ezcizjKc6LFka2edYC4OQ+Dgw==",
"dev": true,
"requires": {
"@commitlint/format": "^8.2.0",
"@commitlint/lint": "^8.2.0",
"@commitlint/load": "^8.2.0",
"@commitlint/read": "^8.2.0",
"babel-polyfill": "6.26.0",
"chalk": "2.4.2",
"get-stdin": "7.0.0",
"lodash": "4.17.14",
"meow": "5.0.0",
"resolve-from": "5.0.0",
"resolve-global": "1.0.0"
},
"dependencies": {
"get-stdin": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
"integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
"dev": true
},
"lodash": {
"version": "4.17.14",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
"integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==",
"dev": true
},
"meow": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/meow/-/meow-5.0.0.tgz",
"integrity": "sha512-CbTqYU17ABaLefO8vCU153ZZlprKYWDljcndKKDCFcYQITzWCXZAVk4QMFZPgvzrnUQ3uItnIE/LoUOwrT15Ig==",
"dev": true,
"requires": {
"camelcase-keys": "^4.0.0",
"decamelize-keys": "^1.0.0",
"loud-rejection": "^1.0.0",
"minimist-options": "^3.0.1",
"normalize-package-data": "^2.3.4",
"read-pkg-up": "^3.0.0",
"redent": "^2.0.0",
"trim-newlines": "^2.0.0",
"yargs-parser": "^10.0.0"
}
},
"yargs-parser": {
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz",
"integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==",
"dev": true,
"requires": {
"camelcase": "^4.1.0"
}
}
}
},
"@commitlint/config-conventional": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-8.2.0.tgz",
"integrity": "sha512-HuwlHQ3DyVhpK9GHgTMhJXD8Zp8PGIQVpQGYh/iTrEU6TVxdRC61BxIDZvfWatCaiG617Z/U8maRAFrqFM4TqA==",
"dev": true
},
"@commitlint/ensure": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-8.2.0.tgz",
"integrity": "sha512-XZZih/kcRrqK7lEORbSYCfqQw6byfsFbLygRGVdJMlCPGu9E2MjpwCtoj5z7y/lKfUB3MJaBhzn2muJqS1gC6A==",
"dev": true,
"requires": {
"lodash": "4.17.14"
},
"dependencies": {
"lodash": {
"version": "4.17.14",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
"integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==",
"dev": true
}
}
},
"@commitlint/execute-rule": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-8.2.0.tgz",
"integrity": "sha512-9MBRthHaulbWTa8ReG2Oii2qc117NuvzhZdnkuKuYLhker7sUXGFcVhLanuWUKGyfyI2o9zVr/NHsNbCCsTzAA==",
"dev": true
},
"@commitlint/format": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/format/-/format-8.2.0.tgz",
"integrity": "sha512-sA77agkDEMsEMrlGhrLtAg8vRexkOofEEv/CZX+4xlANyAz2kNwJvMg33lcL65CBhqKEnRRJRxfZ1ZqcujdKcQ==",
"dev": true,
"requires": {
"chalk": "^2.0.1"
}
},
"@commitlint/is-ignored": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-8.2.0.tgz",
"integrity": "sha512-ADaGnKfbfV6KD1pETp0Qf7XAyc75xTy3WJlbvPbwZ4oPdBMsXF0oXEEGMis6qABfU2IXan5/KAJgAFX3vdd0jA==",
"dev": true,
"requires": {
"@types/semver": "^6.0.1",
"semver": "6.2.0"
},
"dependencies": {
"semver": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz",
"integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==",
"dev": true
}
}
},
"@commitlint/lint": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-8.2.0.tgz",
"integrity": "sha512-ch9JN8aR37ufdjoWv50jLfvFz9rWMgLW5HEkMGLsM/51gjekmQYS5NJg8S2+6F5+jmralAO7VkUMI6FukXKX0A==",
"dev": true,
"requires": {
"@commitlint/is-ignored": "^8.2.0",
"@commitlint/parse": "^8.2.0",
"@commitlint/rules": "^8.2.0",
"babel-runtime": "^6.23.0",
"lodash": "4.17.14"
},
"dependencies": {
"lodash": {
"version": "4.17.14",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
"integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==",
"dev": true
}
}
},
"@commitlint/load": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/load/-/load-8.2.0.tgz",
"integrity": "sha512-EV6PfAY/p83QynNd1llHxJiNxKmp43g8+7dZbyfHFbsGOdokrCnoelAVZ+WGgktXwLN/uXyfkcIAxwac015UYw==",
"dev": true,
"requires": {
"@commitlint/execute-rule": "^8.2.0",
"@commitlint/resolve-extends": "^8.2.0",
"babel-runtime": "^6.23.0",
"chalk": "2.4.2",
"cosmiconfig": "^5.2.0",
"lodash": "4.17.14",
"resolve-from": "^5.0.0"
},
"dependencies": {
"lodash": {
"version": "4.17.14",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
"integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==",
"dev": true
}
}
},
"@commitlint/message": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/message/-/message-8.2.0.tgz",
"integrity": "sha512-LNsSwDLIFgE3nb/Sb1PIluYNy4Q8igdf4tpJCdv5JJDf7CZCZt3ZTglj0YutZZorpRRuHJsVIB2+dI4bVH3bFw==",
"dev": true
},
"@commitlint/parse": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/parse/-/parse-8.2.0.tgz",
"integrity": "sha512-vzouqroTXG6QXApkrps0gbeSYW6w5drpUk7QAeZIcaCSPsQXDM8eqqt98ZzlzLJHo5oPNXPX1AAVSTrssvHemA==",
"dev": true,
"requires": {
"conventional-changelog-angular": "^1.3.3",
"conventional-commits-parser": "^2.1.0",
"lodash": "^4.17.11"
},
"dependencies": {
"conventional-changelog-angular": {
"version": "1.6.6",
"resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.6.6.tgz",
"integrity": "sha512-suQnFSqCxRwyBxY68pYTsFkG0taIdinHLNEAX5ivtw8bCRnIgnpvcHmlR/yjUyZIrNPYAoXlY1WiEKWgSE4BNg==",
"dev": true,
"requires": {
"compare-func": "^1.3.1",
"q": "^1.5.1"
}
},
"conventional-commits-parser": {
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.1.7.tgz",
"integrity": "sha512-BoMaddIEJ6B4QVMSDu9IkVImlGOSGA1I2BQyOZHeLQ6qVOJLcLKn97+fL6dGbzWEiqDzfH4OkcveULmeq2MHFQ==",
"dev": true,
"requires": {
"JSONStream": "^1.0.4",
"is-text-path": "^1.0.0",
"lodash": "^4.2.1",
"meow": "^4.0.0",
"split2": "^2.0.0",
"through2": "^2.0.0",
"trim-off-newlines": "^1.0.0"
}
}
}
},
"@commitlint/read": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/read/-/read-8.2.0.tgz",
"integrity": "sha512-1tBai1VuSQmsOTsvJr3Fi/GZqX3zdxRqYe/yN4i3cLA5S2Y4QGJ5I3l6nGZlKgm/sSelTCVKHltrfWU8s5H7SA==",
"dev": true,
"requires": {
"@commitlint/top-level": "^8.2.0",
"@marionebl/sander": "^0.6.0",
"babel-runtime": "^6.23.0",
"git-raw-commits": "^1.3.0"
}
},
"@commitlint/resolve-extends": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-8.2.0.tgz",
"integrity": "sha512-cwi0HUsDcD502HBP8huXfTkVuWmeo1Fiz3GKxNwMBBsJV4+bKa7QrtxbNpXhVuarX7QjWfNTvmW6KmFS7YK9uw==",
"dev": true,
"requires": {
"@types/node": "^12.0.2",
"import-fresh": "^3.0.0",
"lodash": "4.17.14",
"resolve-from": "^5.0.0",
"resolve-global": "^1.0.0"
},
"dependencies": {
"lodash": {
"version": "4.17.14",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.14.tgz",
"integrity": "sha512-mmKYbW3GLuJeX+iGP+Y7Gp1AiGHGbXHCOh/jZmrawMmsE7MS4znI3RL2FsjbqOyMayHInjOeykW7PEajUk1/xw==",
"dev": true
}
}
},
"@commitlint/rules": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/rules/-/rules-8.2.0.tgz",
"integrity": "sha512-FlqSBBP2Gxt5Ibw+bxdYpzqYR6HI8NIBpaTBhAjSEAduQtdWFMOhF0zsgkwH7lHN7opaLcnY2fXxAhbzTmJQQA==",
"dev": true,
"requires": {
"@commitlint/ensure": "^8.2.0",
"@commitlint/message": "^8.2.0",
"@commitlint/to-lines": "^8.2.0",
"babel-runtime": "^6.23.0"
}
},
"@commitlint/to-lines": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-8.2.0.tgz",
"integrity": "sha512-LXTYG3sMenlN5qwyTZ6czOULVcx46uMy+MEVqpvCgptqr/MZcV/C2J+S2o1DGwj1gOEFMpqrZaE3/1R2Q+N8ng==",
"dev": true
},
"@commitlint/top-level": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/top-level/-/top-level-8.2.0.tgz",
"integrity": "sha512-Yaw4KmYNy31/HhRUuZ+fupFcDalnfpdu4JGBgGAqS9aBHdMSSWdWqtAaDaxdtWjTZeN3O0sA2gOhXwvKwiDwvw==",
"dev": true,
"requires": {
"find-up": "^4.0.0"
},
"dependencies": {
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"requires": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
}
},
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
"p-locate": "^4.1.0"
}
},
"p-limit": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
"integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": {
"p-limit": "^2.2.0"
}
},
"p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
},
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true
}
}
},
"@commitlint/travis-cli": {
"version": "8.2.0",
"resolved": "https://registry.npmjs.org/@commitlint/travis-cli/-/travis-cli-8.2.0.tgz",
"integrity": "sha512-SXZh9qpAWwvzW2KlG5HOxnci1KMkUZOqr2wKMzgXuV+BS5jhkZaPsKvrrs85FZtUWdJuqFNHTVXKoetgWgMXpQ==",
"dev": true,
"requires": {
"@commitlint/cli": "^8.2.0",
"babel-runtime": "6.26.0",
"execa": "0.11.0"
},
"dependencies": {
"execa": {
"version": "0.11.0",
"resolved": "https://registry.npmjs.org/execa/-/execa-0.11.0.tgz",
"integrity": "sha512-k5AR22vCt1DcfeiRixW46U5tMLtBg44ssdJM9PiXw3D8Bn5qyxFCSnKY/eR22y+ctFDGPqafpaXg2G4Emyua4A==",
"dev": true,
"requires": {
"cross-spawn": "^6.0.0",
"get-stream": "^4.0.0",
"is-stream": "^1.1.0",
"npm-run-path": "^2.0.0",
"p-finally": "^1.0.0",
"signal-exit": "^3.0.0",
"strip-eof": "^1.0.0"
}
}
}
},
"@marionebl/sander": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/@marionebl/sander/-/sander-0.6.1.tgz",
"integrity": "sha1-GViWWHTyS8Ub5Ih1/rUNZC/EH3s=",
"dev": true,
"requires": {
"graceful-fs": "^4.1.3",
"mkdirp": "^0.5.1",
"rimraf": "^2.5.2"
}
},
"@nodelib/fs.scandir": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.1.tgz",
@@ -700,6 +1053,12 @@
"integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
"dev": true
},
"@types/semver": {
"version": "6.2.0",
"resolved": "https://registry.npmjs.org/@types/semver/-/semver-6.2.0.tgz",
"integrity": "sha512-1OzrNb4RuAzIT7wHSsgZRlMBlNsJl+do6UblR7JMW4oB7bbR+uBEYtUh7gEc/jM84GGilh68lSOokyM/zNUlBA==",
"dev": true
},
"@types/serve-static": {
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.2.tgz",
@@ -1610,6 +1969,43 @@
}
}
},
"babel-polyfill": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-polyfill/-/babel-polyfill-6.26.0.tgz",
"integrity": "sha1-N5k3q8Z9eJWXCtxiHyhM2WbPIVM=",
"dev": true,
"requires": {
"babel-runtime": "^6.26.0",
"core-js": "^2.5.0",
"regenerator-runtime": "^0.10.5"
},
"dependencies": {
"regenerator-runtime": {
"version": "0.10.5",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz",
"integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg=",
"dev": true
}
}
},
"babel-runtime": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz",
"integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=",
"dev": true,
"requires": {
"core-js": "^2.4.0",
"regenerator-runtime": "^0.11.0"
},
"dependencies": {
"regenerator-runtime": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
"dev": true
}
}
},
"backbone": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/backbone/-/backbone-1.4.0.tgz",
@@ -2207,6 +2603,12 @@
"tslib": "^1.9.0"
}
},
"ci-info": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz",
"integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==",
"dev": true
},
"cipher-base": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
@@ -2534,6 +2936,12 @@
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=",
"dev": true
},
"core-js": {
"version": "2.6.10",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.10.tgz",
"integrity": "sha512-I39t74+4t+zau64EN1fE5v2W31Adtc/REhzWN+gWRRXg6WH5qAsZm62DHpQ1+Yhe4047T55jvzz7MUqF/dBBlA==",
"dev": true
},
"core-util-is": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz",
@@ -2699,6 +3107,15 @@
"integrity": "sha512-CBCRqFnpu715iPmw1KrdOrzRqbdFwQTwAWyyyYS42+iAgHCuXZ+/TdMgQkUENPomxEz9z1BEzuQU2Xw0kUuAgA==",
"dev": true
},
"dargs": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/dargs/-/dargs-4.1.0.tgz",
"integrity": "sha1-A6nbtLXC8Tm/FK5T8LiipqhvThc=",
"dev": true,
"requires": {
"number-is-nan": "^1.0.0"
}
},
"dashdash": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz",
@@ -3670,12 +4087,20 @@
}
},
"eslint-utils": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.0.tgz",
"integrity": "sha512-7ehnzPaP5IIEh1r1tkjuIrxqhNkzUJa9z3R92tLJdZIVdWaczEhr3EbhGtsMrVxi1KeR8qA7Off6SWc5WNQqyQ==",
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz",
"integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==",
"dev": true,
"requires": {
"eslint-visitor-keys": "^1.0.0"
"eslint-visitor-keys": "^1.1.0"
},
"dependencies": {
"eslint-visitor-keys": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz",
"integrity": "sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==",
"dev": true
}
}
},
"eslint-visitor-keys": {
@@ -4933,6 +5358,19 @@
}
}
},
"git-raw-commits": {
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.6.tgz",
"integrity": "sha512-svsK26tQ8vEKnMshTDatSIQSMDdz8CxIIqKsvPqbtV23Etmw6VNaFAitu8zwZ0VrOne7FztwPyRLxK7/DIUTQg==",
"dev": true,
"requires": {
"dargs": "^4.0.1",
"lodash.template": "^4.0.2",
"meow": "^4.0.0",
"split2": "^2.0.0",
"through2": "^2.0.0"
}
},
"glob": {
"version": "7.1.4",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz",
@@ -4956,6 +5394,15 @@
"is-glob": "^4.0.1"
}
},
"global-dirs": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz",
"integrity": "sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU=",
"dev": true,
"requires": {
"ini": "^1.3.4"
}
},
"globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -5244,6 +5691,115 @@
}
}
},
"husky": {
"version": "3.0.9",
"resolved": "https://registry.npmjs.org/husky/-/husky-3.0.9.tgz",
"integrity": "sha512-Yolhupm7le2/MqC1VYLk/cNmYxsSsqKkTyBhzQHhPK1jFnC89mmmNVuGtLNabjDI6Aj8UNIr0KpRNuBkiC4+sg==",
"dev": true,
"requires": {
"chalk": "^2.4.2",
"ci-info": "^2.0.0",
"cosmiconfig": "^5.2.1",
"execa": "^1.0.0",
"get-stdin": "^7.0.0",
"opencollective-postinstall": "^2.0.2",
"pkg-dir": "^4.2.0",
"please-upgrade-node": "^3.2.0",
"read-pkg": "^5.2.0",
"run-node": "^1.0.0",
"slash": "^3.0.0"
},
"dependencies": {
"find-up": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
"integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
"dev": true,
"requires": {
"locate-path": "^5.0.0",
"path-exists": "^4.0.0"
}
},
"get-stdin": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-7.0.0.tgz",
"integrity": "sha512-zRKcywvrXlXsA0v0i9Io4KDRaAw7+a1ZpjRwl9Wox8PFlVCCHra7E9c4kqXCoCM9nR5tBkaTTZRBoCm60bFqTQ==",
"dev": true
},
"locate-path": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
"integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
"dev": true,
"requires": {
"p-locate": "^4.1.0"
}
},
"p-limit": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.1.tgz",
"integrity": "sha512-85Tk+90UCVWvbDavCLKPOLC9vvY8OwEX/RtKF+/1OADJMVlFfEHOiMTPVyxg7mk/dKa+ipdHm0OUkTvCpMTuwg==",
"dev": true,
"requires": {
"p-try": "^2.0.0"
}
},
"p-locate": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
"integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
"dev": true,
"requires": {
"p-limit": "^2.2.0"
}
},
"p-try": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"dev": true
},
"parse-json": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.0.0.tgz",
"integrity": "sha512-OOY5b7PAEFV0E2Fir1KOkxchnZNCdowAJgQ5NuxjpBKTRP3pQhwkrkxqQjeoKJ+fO7bCpmIZaogI4eZGDMEGOw==",
"dev": true,
"requires": {
"@babel/code-frame": "^7.0.0",
"error-ex": "^1.3.1",
"json-parse-better-errors": "^1.0.1",
"lines-and-columns": "^1.1.6"
}
},
"path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
"integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
"dev": true
},
"pkg-dir": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
"integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
"dev": true,
"requires": {
"find-up": "^4.0.0"
}
},
"read-pkg": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz",
"integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==",
"dev": true,
"requires": {
"@types/normalize-package-data": "^2.4.0",
"normalize-package-data": "^2.5.0",
"parse-json": "^5.0.0",
"type-fest": "^0.6.0"
}
}
}
},
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
@@ -5948,6 +6504,12 @@
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
},
"lodash._reinterpolate": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
"integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=",
"dev": true
},
"lodash.capitalize": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz",
@@ -5996,6 +6558,25 @@
"integrity": "sha1-7dFMgk4sycHgsKG0K7UhBRakJDg=",
"dev": true
},
"lodash.template": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
"integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
"dev": true,
"requires": {
"lodash._reinterpolate": "^3.0.0",
"lodash.templatesettings": "^4.0.0"
}
},
"lodash.templatesettings": {
"version": "4.2.0",
"resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
"integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
"dev": true,
"requires": {
"lodash._reinterpolate": "^3.0.0"
}
},
"lodash.toarray": {
"version": "4.4.0",
"resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
@@ -10093,6 +10674,12 @@
"path-key": "^2.0.0"
}
},
"number-is-nan": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz",
"integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=",
"dev": true
},
"nwsapi": {
"version": "2.1.4",
"resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.1.4.tgz",
@@ -11281,6 +11868,12 @@
"mimic-fn": "^1.0.0"
}
},
"opencollective-postinstall": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.2.tgz",
"integrity": "sha512-pVOEP16TrAO2/fjej1IdOyupJY8KDUM1CvsaScRbw6oddvpQoOfGk4ywha0HKKVAD6RkW4x6Q+tNBwhf3Bgpuw==",
"dev": true
},
"optimist": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
@@ -11609,6 +12202,15 @@
"integrity": "sha512-TuvHS8AOIZNAlE77WUDiR4rySV/VMptyMfcfeoMgs4P8apaZM3JrnbzBiixKUv+XR6i+BXrQh8WAnjaSPFO65Q==",
"dev": true
},
"please-upgrade-node": {
"version": "3.2.0",
"resolved": "https://registry.npmjs.org/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz",
"integrity": "sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==",
"dev": true,
"requires": {
"semver-compare": "^1.0.0"
}
},
"pn": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/pn/-/pn-1.1.0.tgz",
@@ -12133,6 +12735,15 @@
"integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
"dev": true
},
"resolve-global": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz",
"integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==",
"dev": true,
"requires": {
"global-dirs": "^0.1.1"
}
},
"resolve-url": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz",
@@ -12390,6 +13001,12 @@
"is-promise": "^2.1.0"
}
},
"run-node": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/run-node/-/run-node-1.0.0.tgz",
"integrity": "sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==",
"dev": true
},
"run-parallel": {
"version": "1.1.9",
"resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.9.tgz",
@@ -12619,6 +13236,12 @@
"integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==",
"dev": true
},
"semver-compare": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz",
"integrity": "sha1-De4hahyUGrN+nvsXiPavxf9VN/w=",
"dev": true
},
"semver-regex": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-2.0.0.tgz",
+11 -1
View File
@@ -51,6 +51,9 @@
},
"homepage": "https://github.com/harttle/liquidjs#readme",
"devDependencies": {
"@commitlint/cli": "^8.2.0",
"@commitlint/config-conventional": "^8.2.0",
"@commitlint/travis-cli": "^8.2.0",
"@semantic-release/changelog": "^3.0.2",
"@semantic-release/commit-analyzer": "^6.1.0",
"@semantic-release/git": "^7.0.8",
@@ -81,6 +84,7 @@
"eslint-plugin-promise": "^4.0.1",
"eslint-plugin-standard": "^4.0.0",
"express": "^4.16.4",
"husky": "^3.0.9",
"jsdom": "^13.2.0",
"mocha": "^5.2.0",
"nyc": "^13.1.0",
@@ -109,7 +113,8 @@
"@semantic-release/git",
{
"assets": [
"docs"
"docs",
"CHANGELOG.md"
],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
@@ -122,5 +127,10 @@
".ts"
]
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"dependencies": {}
}
+21 -9
View File
@@ -43,16 +43,28 @@ const esm = {
banner
}],
external: ['path', 'fs'],
plugins: [typescript({
tsconfigOverride: {
include: [ 'src' ],
exclude: [ 'test', 'benchmark' ],
compilerOptions: {
target: 'ES2017',
module: 'ES2015'
plugins: [
replace({
include: './src/liquid.ts',
delimiters: ['', ''],
'./fs/node': './fs/browser'
}),
replace({
include: './src/parser/tokenizer.ts',
delimiters: ['', ''],
'./flatten/node': './flatten/browser'
}),
typescript({
tsconfigOverride: {
include: [ 'src' ],
exclude: [ 'test', 'benchmark' ],
compilerOptions: {
target: 'ES2017',
module: 'ES2015'
}
}
}
})],
})
],
treeshake,
input
}
+14 -2
View File
@@ -123,11 +123,23 @@ function readProperty (obj: Scope, key: string) {
if (obj.hasOwnProperty(key)) return obj[key]
return obj.liquidMethodMissing(key)
}
return key === 'size' ? readSize(obj) : obj[key]
if (key === 'size') return readSize(obj)
if (key === 'first') return readFirst(obj)
if (key === 'last') return readLast(obj)
return obj[key]
}
function readFirst (obj: Scope) {
if (_.isArray(obj)) return obj[0]
return obj['first']
}
function readLast (obj: Scope) {
if (_.isArray(obj)) return obj[obj.length - 1]
return obj['last']
}
function readSize (obj: Scope) {
if (!_.isNil(obj['size'])) return obj['size']
if (_.isArray(obj) || _.isString(obj)) return obj.length
return obj['size']
}
+1
View File
@@ -4,4 +4,5 @@ export default interface IFS {
existsSync: (filepath: string) => boolean;
readFileSync: (filepath: string) => string;
resolve: (root: string, file: string, ext: string) => string;
fallback?: (file: string) => string | undefined;
}
+5
View File
@@ -27,6 +27,11 @@ const fs: IFS = {
resolve: (root: string, file: string, ext: string) => {
if (!extname(file)) file += ext
return resolve(root, file)
},
fallback: (file: string) => {
try {
return require.resolve(file)
} catch (e) {}
}
}
+4
View File
@@ -67,6 +67,10 @@ export class Liquid {
public * _parseFile (file: string, opts?: LiquidOptions, sync?: boolean) {
const options = { ...this.options, ...normalize(opts) }
const paths = options.root.map(root => this.fs.resolve(root, file, options.extname))
if (fs.fallback !== undefined) {
const filepath = fs.fallback(file)
if (filepath !== undefined) paths.push(filepath)
}
for (const filepath of paths) {
if (this.options.cache && this.cache[filepath]) return this.cache[filepath]
+5 -4
View File
@@ -86,13 +86,14 @@ describe('Liquid', function () {
return expect(engine.parseFile('/not/exist.html')).to
.be.rejectedWith(/Failed to lookup "\/not\/exist.html" in "\/boo,\/root\/"/)
})
it('should throw with lookup list when file not exist', function () {
it('should fallback to require.resolve in Node.js', async function () {
const engine = new Liquid({
root: ['/boo', '/root/'],
root: ['/root/'],
extname: '.html'
})
return expect(engine.getTemplate('/not/exist.html')).to
.be.rejectedWith(/Failed to lookup "\/not\/exist.html" in "\/boo,\/root\/"/)
const tpls = await engine.getTemplate('mocha')
expect(tpls.length).to.gte(1)
expect(tpls[0].token.raw).to.contain('module.exports')
})
})
describe('#evalValue', function () {
+16
View File
@@ -11,6 +11,10 @@ describe('Context', function () {
foo: 'zoo',
one: 1,
zoo: { size: 4 },
obj: {
first: 'f',
last: 'l'
},
bar: {
zoo: 'coo',
'Mr.Smith': 'John',
@@ -124,6 +128,18 @@ describe('Context', function () {
it('should return undefined if do not have size and length', async function () {
expect(ctx.get('one.size')).to.equal(undefined)
})
it('should read .first of array', async function () {
expect(ctx.get('bar.arr.first')).to.equal('a')
})
it('should read .first of object', async function () {
expect(ctx.get('obj.first')).to.equal('f')
})
it('should read .last of array', async function () {
expect(ctx.get('bar.arr.last')).to.equal('b')
})
it('should read .last of object', async function () {
expect(ctx.get('obj.last')).to.equal('l')
})
})
describe('strictVariables', async function () {
let ctx: Context