You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

@ordergroove/smi-precompile

Package Overview
Dependencies
Maintainers
20
Versions
82
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@ordergroove/smi-precompile - npm Package Compare versions

Comparing version

to
1.1.0

CHANGELOG.md

11

package.json
{
"name": "@ordergroove/smi-precompile",
"version": "1.0.1-0",
"version": "1.1.0",
"description": "Prcompilers for smi-core",

@@ -8,10 +8,6 @@ "author": "Brian Lewis <brian.lewis@ordergroove.com>",

"license": "ISC",
"main": "index.js",
"main": "precompile.js",
"files": [
"lib"
],
"directories": {
"lib": "lib",
"test": "__tests__"
},
"repository": {

@@ -32,3 +28,4 @@ "type": "git",

"lit-nunjucks": "^1.0.5"
}
},
"gitHead": "53fbd386c20b7e6bcf4414a621a6760a2bb54f74"
}

@@ -1,3 +0,6 @@

# `smi-templates`
# `smi-precompile`
Precompiles a liquid style template into smi function generator.
Precompile returns code as string
> Precompilers for smi-core

@@ -7,5 +10,71 @@

```js
resultCode = precompile(source, partials, locales, settings, (defaultLocale = 'en'));
```
Example
```js
const precompile = require('@ordergroove/smi-precompile');
const result = precompile(
`
{% set some_value = 'yes' %}
{% if some_value == ('some_setting' | setting) %}
{% include 'some-include' %}
{% endif %}`,
{
'some-include.liquid': `{{ 'my_custom_text' | t }}`
},
[
{
locale: 'en',
translations: { my_custom_text: 'Hello world' }
},
{
locale: 'es',
translations: { my_custom_text: 'Hola mundo' }
}
],
{
some_setting: 'yes'
}
);
```
** outputs **
```js
function template(html, repeat, unsafeHTML) {
function template_en({}, _F) {
var some_value;
return html`
${(() => {
some_value = 'yes';
})()} ${some_value == 'yes'
? html`
Hello world
`
: ''}
`;
}
function template_es({}, _F) {
var some_value;
return html`
${(() => {
some_value = 'yes';
})()} ${some_value == 'yes'
? html`
Hola mundo
`
: ''}
`;
}
return {
en: template_en,
es: template_es
};
}
```