You've already forked simple-icons
mirror of
https://github.com/simple-icons/simple-icons.git
synced 2025-11-23 21:34:49 +02:00
Drop icons property from icons data file (#12415)
This commit is contained in:
committed by
GitHub
parent
4d0957c1c2
commit
8ade661642
@@ -159,14 +159,6 @@
|
||||
"pattern": "^https://[^\\s]+$"
|
||||
}
|
||||
},
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"icons": {
|
||||
"description": "A list of brands",
|
||||
"type": "array",
|
||||
"items": {"$ref": "#/definitions/brand"}
|
||||
}
|
||||
},
|
||||
"additionalProperties": false,
|
||||
"required": ["icons"]
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
{
|
||||
"icons": [
|
||||
[
|
||||
{
|
||||
"title": ".ENV",
|
||||
"hex": "ECD53F",
|
||||
@@ -18381,5 +18380,4 @@
|
||||
"hex": "B02CCE",
|
||||
"source": "https://www.zyte.com"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -27,7 +27,7 @@ import {
|
||||
writeIconsData,
|
||||
} from './utils.js';
|
||||
|
||||
/** @type {{icons: import('../sdk.js').IconData[]}} */
|
||||
/** @type {import('../sdk.js').IconData[]} */
|
||||
const iconsData = JSON.parse(await getIconsDataString());
|
||||
const jsonSchema = await getJsonSchemaData();
|
||||
|
||||
@@ -65,7 +65,7 @@ const isValidHexColor = (input) =>
|
||||
* @returns {boolean} Whether the icon is new.
|
||||
*/
|
||||
const isNewIcon = (input) =>
|
||||
!iconsData.icons.some(
|
||||
!iconsData.some(
|
||||
(icon) =>
|
||||
icon.title === input || titleToSlug(icon.title) === titleToSlug(input),
|
||||
);
|
||||
@@ -169,8 +169,8 @@ try {
|
||||
message: 'Is this OK?',
|
||||
})
|
||||
) {
|
||||
iconsData.icons.push(answers);
|
||||
iconsData.icons.sort(sortIconsCompare);
|
||||
iconsData.push(answers);
|
||||
iconsData.sort(sortIconsCompare);
|
||||
await writeIconsData(iconsData);
|
||||
process.stdout.write(chalk.green('\nData written successfully.\n'));
|
||||
} else {
|
||||
|
||||
@@ -6,5 +6,5 @@ import {getIconsDataString} from '../sdk.mjs';
|
||||
import {sortIconsCompare, writeIconsData} from './utils.js';
|
||||
|
||||
const iconsData = JSON.parse(await getIconsDataString());
|
||||
iconsData.icons.sort(sortIconsCompare);
|
||||
iconsData.sort(sortIconsCompare);
|
||||
writeIconsData(iconsData);
|
||||
|
||||
@@ -13,7 +13,7 @@ const icons = await getIconsData();
|
||||
const schema = await getJsonSchemaData();
|
||||
|
||||
const validator = new Validator();
|
||||
const result = validator.validate({icons}, schema);
|
||||
const result = validator.validate(icons, schema);
|
||||
if (result.errors.length > 0) {
|
||||
for (const error of result.errors) console.error(error);
|
||||
console.error(`Found ${result.errors.length} error(s) in simple-icons.json`);
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
/**
|
||||
* @typedef {import("../../sdk.mjs").IconData} IconData
|
||||
* @typedef {import("../../types.js").CustomLicense} CustomLicense
|
||||
* @typedef {IconData[]} IconsData
|
||||
*/
|
||||
|
||||
import path from 'node:path';
|
||||
@@ -23,15 +22,15 @@ import {getSpdxLicenseIds, sortIconsCompare} from '../utils.js';
|
||||
|
||||
/**
|
||||
* Contains our tests so they can be isolated from each other.
|
||||
* @type {{[k: string]: (data: {icons: IconsData}, dataString: string) => Promise<string | undefined> | string | undefined}}
|
||||
* @type {{[k: string]: (data: IconData[], dataString: string) => Promise<string | undefined> | string | undefined}}
|
||||
*/
|
||||
const TESTS = {
|
||||
/**
|
||||
* Tests whether our icons are in alphabetical order.
|
||||
* @param {{icons: IconsData}} data Icons data.
|
||||
* @param {IconData[]} icons Icons data.
|
||||
* @returns {string|undefined} Error message or undefined.
|
||||
*/
|
||||
alphabetical({icons}) {
|
||||
alphabetical(icons) {
|
||||
/**
|
||||
* Collects invalid alphabet ordered icons.
|
||||
* @param {IconData[]} invalidEntries Invalid icons reference.
|
||||
@@ -111,7 +110,7 @@ ${invalids.map((icon) => `${format(icon)} ${findPositon(expectedOrder, icon)}`).
|
||||
},
|
||||
|
||||
/* Check redundant trailing slash in URL */
|
||||
checkUrl({icons}) {
|
||||
checkUrl(icons) {
|
||||
/**
|
||||
* Check if an URL has a redundant trailing slash.
|
||||
* @param {URL} $url URL instance.
|
||||
@@ -226,7 +225,7 @@ ${invalids.map((icon) => `${format(icon)} ${findPositon(expectedOrder, icon)}`).
|
||||
},
|
||||
|
||||
/* Check if all licenses are valid SPDX identifiers */
|
||||
async checkLicense({icons}) {
|
||||
async checkLicense(icons) {
|
||||
const spdxLicenseIds = new Set(await getSpdxLicenseIds());
|
||||
const badLicenses = [];
|
||||
for (const {title, slug, license} of icons) {
|
||||
@@ -247,7 +246,7 @@ ${invalids.map((icon) => `${format(icon)} ${findPositon(expectedOrder, icon)}`).
|
||||
},
|
||||
|
||||
/* Ensure that fields are sorted in the same way for all icons */
|
||||
fieldsSorted({icons}) {
|
||||
fieldsSorted(icons) {
|
||||
const expectedOrder = [
|
||||
'title',
|
||||
'slug',
|
||||
|
||||
@@ -6,4 +6,4 @@ import {getIconsData} from '../../sdk.mjs';
|
||||
import {writeIconsData} from '../utils.js';
|
||||
|
||||
const icons = await getIconsData();
|
||||
await writeIconsData({icons}, undefined, true);
|
||||
await writeIconsData(icons, undefined, true);
|
||||
|
||||
@@ -34,7 +34,7 @@ export const getJsonSchemaData = async (
|
||||
|
||||
/**
|
||||
* Write icons data to _data/simple-icons.json.
|
||||
* @param {{icons: IconData[]}} iconsData Icons data object.
|
||||
* @param {IconData[]} iconsData Icons data array.
|
||||
* @param {string} rootDirectory Path to the root directory of the project.
|
||||
* @param {boolean} minify Whether to minify the JSON output.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user