1
0
mirror of https://github.com/simple-icons/simple-icons.git synced 2024-12-16 01:10:30 +02:00
simple-icons/scripts/utils.js

34 lines
1003 B
JavaScript
Raw Normal View History

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';
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.
*/
export const getJsonSchemaData = async (
2024-03-24 19:38:18 +02:00
rootDirectory = path.resolve(__dirname, '..'),
) => {
2024-03-24 19:38:18 +02:00
const jsonSchemaPath = path.resolve(rootDirectory, '.jsonschema.json');
const jsonSchemaString = await fs.readFile(jsonSchemaPath, 'utf8');
return JSON.parse(jsonSchemaString);
};
/**
* 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.
*/
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
) => {
await fs.writeFile(
2024-03-24 19:38:18 +02:00
getIconDataPath(rootDirectory),
`${JSON.stringify(iconsData, null, 4)}\n`,
'utf8',
);
};