1.10.0 • Published 23 days ago

@ordergroove/smi-precompile v1.10.0

Weekly downloads
-
License
ISC
Repository
github
Last release
23 days ago

smi-precompile

Precompiles a liquid style template into smi function generator. Precompile returns code as a string

Precompilers for smi-core

Usage

resultCode = precompile(source, partials, locales, settings, (defaultLocale = 'en'));

Example

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

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
  };
}
1.10.0

23 days ago

1.9.1

3 months ago

1.9.0

3 months ago

1.8.1

4 months ago

1.8.0

4 months ago

1.7.10

5 months ago

1.7.9

6 months ago

1.7.8

8 months ago

1.7.7

8 months ago

1.7.6

8 months ago

1.7.5

2 years ago

1.7.4

2 years ago

1.7.3

2 years ago

1.7.2

2 years ago

1.7.1

2 years ago

1.7.0

2 years ago

1.6.1

3 years ago

1.6.0

3 years ago

1.5.15

3 years ago

1.5.14

3 years ago

1.5.13

3 years ago

1.5.4

3 years ago

1.5.2

3 years ago

1.5.1

3 years ago

1.5.0

3 years ago

1.2.0

3 years ago

1.4.0

3 years ago

1.3.0

3 years ago

1.2.1

3 years ago

1.1.9

3 years ago

1.1.8

3 years ago

1.1.7

3 years ago

1.1.6

3 years ago

1.1.5

3 years ago

1.1.4

3 years ago

1.1.3

3 years ago

1.1.10

3 years ago

1.1.1

3 years ago

1.1.0

3 years ago

1.1.2

3 years ago

1.0.1-0

3 years ago

1.0.0-17

3 years ago

1.0.0-16

3 years ago

1.0.0-15

3 years ago

1.0.0-14

3 years ago

1.0.0-13

3 years ago

1.0.0-12

3 years ago

1.0.0-11

3 years ago

1.0.0-10

3 years ago

1.0.0-9

3 years ago

1.0.0-8

3 years ago

1.0.0-7

3 years ago

1.0.0-6

3 years ago

1.0.0-5

3 years ago

1.0.0-4

3 years ago

1.0.0-3

3 years ago

1.0.0-2

3 years ago

1.0.0-1

3 years ago

1.0.0-0

3 years ago