🚀 DAY 5 OF LAUNCH WEEK: Introducing Socket Firewall Enterprise.Learn more →
Socket
Book a DemoInstallSign in
Socket

@vtex/render-extension-loader

Package Overview
Dependencies
Maintainers
53
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vtex/render-extension-loader

VTEX IO Render Extension Loader

latest
Source
npmnpm
Version
0.2.2
Version published
Weekly downloads
77
-80.85%
Maintainers
53
Weekly downloads
 
Created
Source

:construction: DEPRECATED - Please contact guilherme@vtex.com if you need to use this. :upside_down_face:

render-extension-loader

Use render components from the comfort of your client-side code.

Quickstart

Create an app that serves a page under /legacy-extensions/ path on myvtex.com.

// pages/pages.json
{
    "pages": {
        "legacy-getting-started": {
            "path": "/legacy-extensions/render-example",
            "theme": "theme"
        },
    },
    "extensions": {
        "legacy-getting-started": {
            "component": "index"
        },
    }
}

Assuming you're logged in the account basedevmkp and workspace loader with this app installed, you can use window.RenderExtensionLoader to load and render that extension point.

<div id="getting-started"></div>
<script>
var loader = new RenderExtensionLoader({
    account: 'basedevmkp',
    workspace: 'loader',
    path: '/render-example',
    locale: 'pt-BR',
    verbose: true,
})
loader.load().then(function (data) {
    console.log(data) // runtime
    loader.render('legacy-getting-started', document.getElementById('getting-started'))
})
</script>

You can call loader.render passing a third argument, props, which will trigger a re-render of your extension point.

Important: setting publicEndpoint when developing on staging

If you're logged in the toolbelt with a @vtex.com.br email address, you are automatically configured to use the staging environment, which serves all traffic through the alternate myvtexdev.com (as opposed to myvtex.com for prod traffic).

This means that during development, if you are linking your app in the staging environment, you must pass the publicEndpoint option to RenderExtensionLoader with the value of myvtexdev.com. Otherwise, your assets will be fetched from the production env and there might be inconsistencies during development, i.e. you will not see changes immediately.

So, during development simply pass this option to guarantee the loader will point towards the correct public endpoint:

var loader = new RenderExtensionLoader({
    account: 'basedevmkp',
    workspace: 'loader',
    path: '/render-example',
    locale: 'pt-BR',
    publicEndpoint: 'myvtexdev.com',
    verbose: true,
})

Getting context and assets only

You can get assets and context without actually fetching files in case you want only the runtime context before loading extension points.

<div id="getting-started"></div>
<script>
var loader = new RenderExtensionLoader({
    account: 'basedevmkp',
    workspace: 'loader',
    path: '/render-example',
    locale: 'pt-BR',
    verbose: true,
})
loader.getRuntimeContext().then(function (data) {
    console.log(data) // { runtime, styles, scripts }
})
</script>

Install

From vtexassets.com:

https://vtex.vtexassets.com/_v/public/assets/v1/npm/@vtex/render-extension-loader@0.1.6/lib/render-extension-loader.js

FAQs

Package last updated on 06 Aug 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts