mirror of
https://github.com/toeverything/AFFiNE.git
synced 2024-12-22 20:41:53 +03:00
46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
const path = require('path');
|
|
const process = require('process');
|
|
const downloadIcons = require('./figma');
|
|
const patchStyles = require('./patch-styles');
|
|
|
|
/**
|
|
* @param {*} options
|
|
* @param {array} options.assets
|
|
* @param {string} options.assets.fileId
|
|
* @param {string} options.assets.nodeId
|
|
* @param {string} options.assets.folder
|
|
* @param {*} context
|
|
* @returns
|
|
*/
|
|
exports['default'] = async function downloadFigmaRes(options, context) {
|
|
const libRoot = context.workspace.projects[context.projectName].root;
|
|
const token = process.env.FIGMA_TOKEN;
|
|
if (!token) {
|
|
throw new Error(
|
|
'FIGMA_TOKEN is not defined. Please set it in your .env.local file.'
|
|
);
|
|
}
|
|
await Promise.allSettled(
|
|
(options.assets || []).map(async (asset, index) => {
|
|
const fileId = asset.fileId;
|
|
const nodeId = asset.nodeId;
|
|
const folder =
|
|
asset.folder || `./src/icon${index > 0 ? index : ''}`;
|
|
if (!token || !fileId || !nodeId) {
|
|
const message = `Please check if token/fileId/nodeId exists (No.${index}).`;
|
|
console.error(message);
|
|
throw new Error(message);
|
|
}
|
|
await downloadIcons({
|
|
token,
|
|
fileId,
|
|
nodeId,
|
|
folder: path.resolve(libRoot, folder),
|
|
patchStyles,
|
|
});
|
|
})
|
|
);
|
|
|
|
return { success: true };
|
|
};
|