1.11.0 • Published 8 months ago

@ordergroove/smi-precompile v1.11.0

Weekly downloads
-
License
ISC
Repository
github
Last release
8 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.5

12 months ago

1.10.8

11 months ago

1.10.7

12 months ago

1.11.0

8 months ago

1.10.4

1 year ago

1.10.3

1 year ago

1.10.2

1 year ago

1.10.1

1 year ago

1.10.0

2 years ago

1.9.1

2 years ago

1.9.0

2 years ago

1.8.1

2 years ago

1.8.0

2 years 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

4 years ago

1.7.4

4 years ago

1.7.3

4 years ago

1.7.2

4 years ago

1.7.1

4 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

5 years ago

1.5.2

5 years ago

1.5.1

5 years ago

1.5.0

5 years ago

1.2.0

5 years ago

1.4.0

5 years ago

1.3.0

5 years ago

1.2.1

5 years ago

1.1.9

5 years ago

1.1.8

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.10

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.1.2

5 years ago

1.0.1-0

5 years ago

1.0.0-17

5 years ago

1.0.0-16

5 years ago

1.0.0-15

5 years ago

1.0.0-14

5 years ago

1.0.0-13

5 years ago

1.0.0-12

5 years ago

1.0.0-11

5 years ago

1.0.0-10

5 years ago

1.0.0-9

5 years ago

1.0.0-8

5 years ago

1.0.0-7

5 years ago

1.0.0-6

5 years ago

1.0.0-5

5 years ago

1.0.0-4

5 years ago

1.0.0-3

5 years ago

1.0.0-2

5 years ago

1.0.0-1

5 years ago

1.0.0-0

5 years ago