in index.js [356:428]
async generateResources(config) {
const validationErrors = this.checkVisualInfo(config);
if (validationErrors.length) return Promise.reject(validationErrors);
const operations = [];
const dropPath = this.options.packageOutPath;
const resourcePath = path.join(dropPath, "resources");
const prodConfig = cloneDeepFunc(config);
prodConfig.visual.guid = `${config.visual.guid}`; // prod version of visual should not contaings _DEBUG postfix
prodConfig.visual.gitHubUrl = prodConfig.visual.gitHubUrl || "";
let packageJSONContent = await this.generatePackageJson(prodConfig);
prodConfig.externalJS = [];
prodConfig.assets = {
icon: "assets/icon.png",
};
operations.push(
fs.outputFile(
path.join(dropPath, "package.json"),
packageJSONContent,
{
encoding: ENCODING,
}
)
);
if (this.options.generateResources) {
operations.push(
fs.outputFile(
path.join(resourcePath, "visual.js"),
config.content.js,
{
encoding: ENCODING,
}
),
fs.outputFile(
path.join(
resourcePath,
`${prodConfig.visual.guid}.pbiviz.json`
),
JSON.stringify(prodConfig),
{
encoding: ENCODING,
}
),
fs.outputFile(
path.join(resourcePath, "visual.prod.js"),
config.content.js,
{
encoding: ENCODING,
}
),
fs.outputFile(
path.join(resourcePath, "visual.prod.css"),
config.content.css,
{
encoding: ENCODING,
}
)
);
}
if (this.options.generatePbiviz) {
operations.push(
this.generatePbiviz(prodConfig, packageJSONContent, dropPath)
);
}
return Promise.all(operations).catch((err) => {
throw err;
});
}