Extends Webpack Builder, copy additional q2g-extension files, like q2g-ext-{EXTENSION_NAME}.qext, wbfolder.wbl. And create a zip file into dist folder.
Generate .qext file by parsing the package.json file, this will only happens for q2g-extension builder.
Add extension informations will defined in package.json under qext
// package.json
{
author: "q2g team",
...
qext: {
author: "q2g extension team",
dependencies: {
"qlik-sense": ">=3.2.x"
},
description: "q2g demo extension",
name: "q2gDemoExtension",
homepage: "",
icon: "filterpane",
id: "q2g-awesome-extension',
keywords: "qlik-sense, viszualization",
license: "MIT",
repository: "https://github.com/q2g/q2g-demo-extension",
preview: "preview.png",
type: "visualization",
version: "1.0.0",
}
}
You could define all properties for qext file in the qext part from package.json, but some properties got a fallback and will taken directly from package.json if not defined in qext section.
Required Properties needs to get defined and have an value, otherwise extension files will not created anymore.
Configuration Values read from package.json
Name | Mandatory | type | description | has fallback |
---|---|---|---|---|
author | ✅ | string | author of the extension | ✅ |
description | ✅ | string | description of the extension | ✅ |
name | ✅ | string | name of the extension | ✅ |
icon | ✅ | string | - | |
id | ✅ | string | would be taken as qext filename, and also used as outFilename | |
type | ✅ | string | - | |
version | ✅ | string | version number of the extension like 1.0.0 | ✅ |
preview | - | string | preview image filename | - |
license | - | string | license for the extension | ✅ |
repository | - | string | repository | ✅ |
keywords | - | string | ✅ | |
homepage | - | string | ✅ | |
dependencies | - | object | dependencies for extension | - |