2022-09-25 03:04:58 +02:00
|
|
|
import fs from 'node:fs/promises';
|
2024-03-24 19:38:18 +02:00
|
|
|
import path from 'node:path';
|
|
|
|
import {getDirnameFromImportMeta, getIconDataPath} from '../sdk.mjs';
|
2022-09-28 04:11:27 +02:00
|
|
|
|
|
|
|
const __dirname = getDirnameFromImportMeta(import.meta.url);
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get JSON schema data.
|
2024-03-24 19:38:18 +02:00
|
|
|
* @param {String} rootDirectory Path to the root directory of the project.
|
2022-09-28 04:11:27 +02:00
|
|
|
*/
|
|
|
|
export const getJsonSchemaData = async (
|
2024-03-24 19:38:18 +02:00
|
|
|
rootDirectory = path.resolve(__dirname, '..'),
|
2022-09-28 04:11:27 +02:00
|
|
|
) => {
|
2024-03-24 19:38:18 +02:00
|
|
|
const jsonSchemaPath = path.resolve(rootDirectory, '.jsonschema.json');
|
2022-09-28 04:11:27 +02:00
|
|
|
const jsonSchemaString = await fs.readFile(jsonSchemaPath, 'utf8');
|
|
|
|
return JSON.parse(jsonSchemaString);
|
|
|
|
};
|
|
|
|
|
2022-09-25 03:04:58 +02:00
|
|
|
/**
|
|
|
|
* Write icons data to _data/simple-icons.json.
|
|
|
|
* @param {Object} iconsData Icons data object.
|
2024-03-24 19:38:18 +02:00
|
|
|
* @param {String} rootDirectory Path to the root directory of the project.
|
2022-09-25 03:04:58 +02:00
|
|
|
*/
|
2023-04-19 15:23:13 +02:00
|
|
|
export const writeIconsData = async (
|
|
|
|
iconsData,
|
2024-03-24 19:38:18 +02:00
|
|
|
rootDirectory = path.resolve(__dirname, '..'),
|
2023-04-19 15:23:13 +02:00
|
|
|
) => {
|
2023-08-08 06:38:52 +02:00
|
|
|
await fs.writeFile(
|
2024-03-24 19:38:18 +02:00
|
|
|
getIconDataPath(rootDirectory),
|
2022-09-25 03:04:58 +02:00
|
|
|
`${JSON.stringify(iconsData, null, 4)}\n`,
|
|
|
|
'utf8',
|
|
|
|
);
|
|
|
|
};
|