mirror of https://github.com/iconify/api.git
Support all versions of iconify/json package, use latest version
This commit is contained in:
parent
5687184ccb
commit
155c66cc96
|
|
@ -8,6 +8,7 @@
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
|
"@iconify/json": "^2.0.32",
|
||||||
"@iconify/json-tools": "^1.0.10",
|
"@iconify/json-tools": "^1.0.10",
|
||||||
"express": "^4.17.2"
|
"express": "^4.17.2"
|
||||||
},
|
},
|
||||||
|
|
@ -16,21 +17,31 @@
|
||||||
"mocha": "^9.2.0"
|
"mocha": "^9.2.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@iconify/json": "*",
|
"@iconify/json": "^2.0.32",
|
||||||
"nodemailer": "^6.7.2"
|
"nodemailer": "^6.7.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@iconify/json": {
|
"node_modules/@iconify/json": {
|
||||||
"version": "1.0.17",
|
"version": "2.0.32",
|
||||||
"resolved": "https://registry.npmjs.org/@iconify/json/-/json-1.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/@iconify/json/-/json-2.0.32.tgz",
|
||||||
"integrity": "sha512-yCQAHsnlz3ZnkRcsnoBJHKI+AFbxch9/B8Le0GMfTwa0U3ThrBsn5nTpOXZkaZaAr0ae8itrAAvp6NhqZ8BxkA==",
|
"integrity": "sha512-ipv6PolWbDlSrC420BD0oshzhSMchDuREXOigkXaIDgjRyefnx7LXJ92ASQY98Vh8MyyGpYTcdW3FEFbv6h83Q==",
|
||||||
"optional": true
|
"optional": true,
|
||||||
|
"dependencies": {
|
||||||
|
"@iconify/types": "^1.0.9",
|
||||||
|
"pathe": "^0.0.2"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@iconify/json-tools": {
|
"node_modules/@iconify/json-tools": {
|
||||||
"version": "1.0.10",
|
"version": "1.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/@iconify/json-tools/-/json-tools-1.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/@iconify/json-tools/-/json-tools-1.0.10.tgz",
|
||||||
"integrity": "sha512-LFelJDOLZ6JHlmlAkgrvmcu4hpNPB91KYcr4f60D/exzU1eNOb4/KCVHIydGHIQFaOacIOD+Xy+B7P1z812cZg=="
|
"integrity": "sha512-LFelJDOLZ6JHlmlAkgrvmcu4hpNPB91KYcr4f60D/exzU1eNOb4/KCVHIydGHIQFaOacIOD+Xy+B7P1z812cZg=="
|
||||||
},
|
},
|
||||||
|
"node_modules/@iconify/types": {
|
||||||
|
"version": "1.0.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@iconify/types/-/types-1.0.12.tgz",
|
||||||
|
"integrity": "sha512-6er6wSGF3hgc1JEZqiGpg21CTCjHBYOUwqLmb2Idzkjiw6ogalGP0ZMLVutCzah+0WB4yP+Zd2oVPN8jvJ+Ftg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"node_modules/@ungap/promise-all-settled": {
|
"node_modules/@ungap/promise-all-settled": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
|
||||||
|
|
@ -1099,6 +1110,12 @@
|
||||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||||
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
|
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
|
||||||
},
|
},
|
||||||
|
"node_modules/pathe": {
|
||||||
|
"version": "0.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/pathe/-/pathe-0.0.2.tgz",
|
||||||
|
"integrity": "sha512-mmK20YtPb4yXHlaPuOD/uPIpRu7iIK45GA/GiRSlNpIdfWDG5aEQmFT1HHtBmJB+t/6DvFOtOsEipsPA8Bx2cw==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"node_modules/pathval": {
|
"node_modules/pathval": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
|
||||||
|
|
@ -1511,16 +1528,26 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@iconify/json": {
|
"@iconify/json": {
|
||||||
"version": "1.0.17",
|
"version": "2.0.32",
|
||||||
"resolved": "https://registry.npmjs.org/@iconify/json/-/json-1.0.17.tgz",
|
"resolved": "https://registry.npmjs.org/@iconify/json/-/json-2.0.32.tgz",
|
||||||
"integrity": "sha512-yCQAHsnlz3ZnkRcsnoBJHKI+AFbxch9/B8Le0GMfTwa0U3ThrBsn5nTpOXZkaZaAr0ae8itrAAvp6NhqZ8BxkA==",
|
"integrity": "sha512-ipv6PolWbDlSrC420BD0oshzhSMchDuREXOigkXaIDgjRyefnx7LXJ92ASQY98Vh8MyyGpYTcdW3FEFbv6h83Q==",
|
||||||
"optional": true
|
"optional": true,
|
||||||
|
"requires": {
|
||||||
|
"@iconify/types": "^1.0.9",
|
||||||
|
"pathe": "^0.0.2"
|
||||||
|
}
|
||||||
},
|
},
|
||||||
"@iconify/json-tools": {
|
"@iconify/json-tools": {
|
||||||
"version": "1.0.10",
|
"version": "1.0.10",
|
||||||
"resolved": "https://registry.npmjs.org/@iconify/json-tools/-/json-tools-1.0.10.tgz",
|
"resolved": "https://registry.npmjs.org/@iconify/json-tools/-/json-tools-1.0.10.tgz",
|
||||||
"integrity": "sha512-LFelJDOLZ6JHlmlAkgrvmcu4hpNPB91KYcr4f60D/exzU1eNOb4/KCVHIydGHIQFaOacIOD+Xy+B7P1z812cZg=="
|
"integrity": "sha512-LFelJDOLZ6JHlmlAkgrvmcu4hpNPB91KYcr4f60D/exzU1eNOb4/KCVHIydGHIQFaOacIOD+Xy+B7P1z812cZg=="
|
||||||
},
|
},
|
||||||
|
"@iconify/types": {
|
||||||
|
"version": "1.0.12",
|
||||||
|
"resolved": "https://registry.npmjs.org/@iconify/types/-/types-1.0.12.tgz",
|
||||||
|
"integrity": "sha512-6er6wSGF3hgc1JEZqiGpg21CTCjHBYOUwqLmb2Idzkjiw6ogalGP0ZMLVutCzah+0WB4yP+Zd2oVPN8jvJ+Ftg==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"@ungap/promise-all-settled": {
|
"@ungap/promise-all-settled": {
|
||||||
"version": "1.1.2",
|
"version": "1.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/@ungap/promise-all-settled/-/promise-all-settled-1.1.2.tgz",
|
||||||
|
|
@ -2306,6 +2333,12 @@
|
||||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||||
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
|
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
|
||||||
},
|
},
|
||||||
|
"pathe": {
|
||||||
|
"version": "0.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/pathe/-/pathe-0.0.2.tgz",
|
||||||
|
"integrity": "sha512-mmK20YtPb4yXHlaPuOD/uPIpRu7iIK45GA/GiRSlNpIdfWDG5aEQmFT1HHtBmJB+t/6DvFOtOsEipsPA8Bx2cw==",
|
||||||
|
"optional": true
|
||||||
|
},
|
||||||
"pathval": {
|
"pathval": {
|
||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz",
|
||||||
|
|
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
"mocha": "^9.2.0"
|
"mocha": "^9.2.0"
|
||||||
},
|
},
|
||||||
"optionalDependencies": {
|
"optionalDependencies": {
|
||||||
"@iconify/json": "*",
|
"@iconify/json": "^2.0.32",
|
||||||
"nodemailer": "^6.7.2"
|
"nodemailer": "^6.7.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
16
src/dirs.js
16
src/dirs.js
|
|
@ -10,6 +10,7 @@
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
const fs = require('fs');
|
const fs = require('fs');
|
||||||
|
const { dirname } = require('path');
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Directories storage.
|
* Directories storage.
|
||||||
|
|
@ -18,7 +19,7 @@ const fs = require('fs');
|
||||||
* @param app
|
* @param app
|
||||||
* @returns {object}
|
* @returns {object}
|
||||||
*/
|
*/
|
||||||
module.exports = app => {
|
module.exports = (app) => {
|
||||||
let functions = Object.create(null),
|
let functions = Object.create(null),
|
||||||
dirs = Object.create(null),
|
dirs = Object.create(null),
|
||||||
custom = Object.create(null),
|
custom = Object.create(null),
|
||||||
|
|
@ -32,7 +33,7 @@ module.exports = app => {
|
||||||
* @param {string} repo
|
* @param {string} repo
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
functions.rootDir = repo => (dirs[repo] === void 0 ? '' : dirs[repo]);
|
functions.rootDir = (repo) => (dirs[repo] === void 0 ? '' : dirs[repo]);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get storage directory
|
* Get storage directory
|
||||||
|
|
@ -47,7 +48,7 @@ module.exports = app => {
|
||||||
* @param {string} repo
|
* @param {string} repo
|
||||||
* @returns {string}
|
* @returns {string}
|
||||||
*/
|
*/
|
||||||
functions.iconsDir = repo => {
|
functions.iconsDir = (repo) => {
|
||||||
let dir;
|
let dir;
|
||||||
|
|
||||||
switch (repo) {
|
switch (repo) {
|
||||||
|
|
@ -129,7 +130,7 @@ module.exports = app => {
|
||||||
* @param {string} repo
|
* @param {string} repo
|
||||||
* @return {boolean}
|
* @return {boolean}
|
||||||
*/
|
*/
|
||||||
functions.synchronized = repo => custom[repo] === true;
|
functions.synchronized = (repo) => custom[repo] === true;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Initialize
|
* Initialize
|
||||||
|
|
@ -168,11 +169,12 @@ module.exports = app => {
|
||||||
repos.push(key);
|
repos.push(key);
|
||||||
functions.setSynchronizedRepoDir(key, cached[key], false);
|
functions.setSynchronizedRepoDir(key, cached[key], false);
|
||||||
} else {
|
} else {
|
||||||
let icons;
|
|
||||||
try {
|
try {
|
||||||
icons = require('@iconify/json');
|
const iconDir = dirname(
|
||||||
|
require.resolve('@iconify/json/package.json')
|
||||||
|
);
|
||||||
repos.push(key);
|
repos.push(key);
|
||||||
dirs[key] = icons.rootDir();
|
dirs[key] = iconDir;
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
app.error(
|
app.error(
|
||||||
'Cannot load Iconify icons because @iconify/json package is not installed'
|
'Cannot load Iconify icons because @iconify/json package is not installed'
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue