The Metal.js npm Portlet sample provides a portlet that uses the Metal.js framework to render its output.
Figure 1: Clicking the button returns displays a dialog window.
This portlet displays a Metal.js based dialog that has been rendered using SOY templates.
What API(s) and/or code components does this sample highlight?
This sample leverages the npm development workflow support.
How does this sample leverage the API(s) and/or code component?
This sample uses the npm registry to download project dependencies and uses the liferay-npm-bundler tool to bundle the project dependencies inside the OSGi bundle JAR file.
To accomplish the bundling, the project’s build process relies on a build
script inside its package.json
file:
"scripts": {
"build": "metalsoy && babel --source-maps -d build/resources/main/META-INF/resources src/main/resources/META-INF/resources && liferay-npm-bundler"
},
Where Is This Sample?
There are two different versions of this sample, each built with a different build tool: