1.10.4 • Published 10 months ago

@ordergroove/smi-precompile v1.10.4

Weekly downloads
-
License
ISC
Repository
github
Last release
10 months 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.4

10 months ago

1.10.3

10 months ago

1.10.2

11 months ago

1.10.1

11 months ago

1.10.0

1 year ago

1.9.1

1 year ago

1.9.0

1 year ago

1.8.1

1 year ago

1.8.0

1 year ago

1.7.10

2 years ago

1.7.9

2 years ago

1.7.8

2 years ago

1.7.7

2 years ago

1.7.6

2 years ago

1.7.5

3 years ago

1.7.4

3 years ago

1.7.3

3 years ago

1.7.2

3 years ago

1.7.1

3 years ago

1.7.0

4 years ago

1.6.1

4 years ago

1.6.0

4 years ago

1.5.15

4 years ago

1.5.14

4 years ago

1.5.13

4 years ago

1.5.4

4 years ago

1.5.2

4 years ago

1.5.1

4 years ago

1.5.0

4 years ago

1.2.0

4 years ago

1.4.0

4 years ago

1.3.0

4 years ago

1.2.1

4 years ago

1.1.9

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.10

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.1.2

4 years ago

1.0.1-0

4 years ago

1.0.0-17

4 years ago

1.0.0-16

4 years ago

1.0.0-15

4 years ago

1.0.0-14

4 years ago

1.0.0-13

4 years ago

1.0.0-12

4 years ago

1.0.0-11

4 years ago

1.0.0-10

4 years ago

1.0.0-9

4 years ago

1.0.0-8

4 years ago

1.0.0-7

4 years ago

1.0.0-6

4 years ago

1.0.0-5

4 years ago

1.0.0-4

4 years ago

1.0.0-3

4 years ago

1.0.0-2

4 years ago

1.0.0-1

4 years ago

1.0.0-0

4 years ago