mirror of https://github.com/iconify/api.git
chore: switch to es modules
This commit is contained in:
parent
32582d8dae
commit
6471e051e9
|
|
@ -5,6 +5,7 @@
|
|||
"license": "MIT",
|
||||
"private": true,
|
||||
"version": "3.0.2",
|
||||
"type": "module",
|
||||
"bugs": "https://github.com/iconify/api/issues",
|
||||
"homepage": "https://github.com/iconify/api",
|
||||
"repository": {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { AppConfig } from '../types/config/app';
|
||||
import type { SplitIconSetConfig } from '../types/config/split';
|
||||
import type { MemoryStorageConfig } from '../types/storage';
|
||||
import type { AppConfig } from '../types/config/app.js';
|
||||
import type { SplitIconSetConfig } from '../types/config/split.js';
|
||||
import type { MemoryStorageConfig } from '../types/storage.js';
|
||||
|
||||
/**
|
||||
* Main configuration
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import { DirectoryDownloader } from '../downloaders/directory';
|
||||
import { createJSONDirectoryImporter } from '../importers/full/directory-json';
|
||||
import { directoryExists } from '../misc/files';
|
||||
import type { Importer } from '../types/importers';
|
||||
import type { ImportedData } from '../types/importers/common';
|
||||
import { fullPackageImporter } from './importers/full-package';
|
||||
import { splitPackagesImporter } from './importers/split-packages';
|
||||
import { DirectoryDownloader } from '../downloaders/directory.js';
|
||||
import { createJSONDirectoryImporter } from '../importers/full/directory-json.js';
|
||||
import { directoryExists } from '../misc/files.js';
|
||||
import type { Importer } from '../types/importers.js';
|
||||
import type { ImportedData } from '../types/importers/common.js';
|
||||
import { fullPackageImporter } from './importers/full-package.js';
|
||||
import { splitPackagesImporter } from './importers/split-packages.js';
|
||||
|
||||
/**
|
||||
* Sources
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { RemoteDownloader } from '../../downloaders/remote';
|
||||
import { createIconSetsPackageImporter } from '../../importers/full/json';
|
||||
import type { RemoteDownloaderOptions } from '../../types/downloaders/remote';
|
||||
import type { ImportedData } from '../../types/importers/common';
|
||||
import { RemoteDownloader } from '../../downloaders/remote.js';
|
||||
import { createIconSetsPackageImporter } from '../../importers/full/json.js';
|
||||
import type { RemoteDownloaderOptions } from '../../types/downloaders/remote.js';
|
||||
import type { ImportedData } from '../../types/importers/common.js';
|
||||
|
||||
/**
|
||||
* Importer for all icon sets from `@iconify/json` package
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { RemoteDownloader } from '../../downloaders/remote';
|
||||
import { createJSONCollectionsListImporter } from '../../importers/collections/collections';
|
||||
import { createJSONPackageIconSetImporter } from '../../importers/icon-set/json-package';
|
||||
import type { IconSetImportedData, ImportedData } from '../../types/importers/common';
|
||||
import { RemoteDownloader } from '../../downloaders/remote.js';
|
||||
import { createJSONCollectionsListImporter } from '../../importers/collections/collections.js';
|
||||
import { createJSONPackageIconSetImporter } from '../../importers/icon-set/json-package.js';
|
||||
import type { IconSetImportedData, ImportedData } from '../../types/importers/common.js';
|
||||
|
||||
// Automatically update on startup: boolean
|
||||
const autoUpdate = true;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { IconifyJSON } from '@iconify/types';
|
||||
import type { IconSetIconsListIcons, IconSetAPIv2IconsList } from '../../../types/icon-set/extra';
|
||||
import type { IconSetIconsListIcons, IconSetAPIv2IconsList } from '../../../types/icon-set/extra.js';
|
||||
|
||||
/**
|
||||
* Prepare data for icons list API v2 response
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
import type { IconifyAliases, IconifyJSON, IconifyOptional } from '@iconify/types';
|
||||
import { defaultIconProps } from '@iconify/utils/lib/icon/defaults';
|
||||
import { appConfig } from '../../../config/app';
|
||||
import { appConfig } from '../../../config/app.js';
|
||||
import type {
|
||||
IconSetIconNames,
|
||||
IconSetIconsListIcons,
|
||||
IconSetIconsListTag,
|
||||
IconStyle,
|
||||
} from '../../../types/icon-set/extra';
|
||||
import { getIconStyle } from './style';
|
||||
} from '../../../types/icon-set/extra.js';
|
||||
import { getIconStyle } from './style.js';
|
||||
|
||||
const customisableProps = Object.keys(defaultIconProps) as (keyof IconifyOptional)[];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { IconStyle } from '../../../types/icon-set/extra';
|
||||
import type { IconStyle } from '../../../types/icon-set/extra.js';
|
||||
|
||||
function getValues(body: string, prop: string): string[] {
|
||||
const chunks = body.split(prop + '="');
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { IconifyJSON } from '@iconify/types';
|
||||
import type { IconSetIconsListIcons } from '../../../types/icon-set/extra';
|
||||
import type { IconSetIconsListIcons } from '../../../types/icon-set/extra.js';
|
||||
|
||||
/**
|
||||
* Removes bad items
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { IconifyIcons, IconifyJSON } from '@iconify/types';
|
||||
import { defaultIconDimensions } from '@iconify/utils/lib/icon/defaults';
|
||||
import type { SplitIconSetConfig } from '../../../types/config/split';
|
||||
import type { SplitIconifyJSONMainData } from '../../../types/icon-set/split';
|
||||
import type { SplitIconSetConfig } from '../../../types/config/split.js';
|
||||
import type { SplitIconifyJSONMainData } from '../../../types/icon-set/split.js';
|
||||
|
||||
const iconDimensionProps = Object.keys(defaultIconDimensions) as (keyof typeof defaultIconDimensions)[];
|
||||
|
||||
|
|
|
|||
|
|
@ -1,17 +1,16 @@
|
|||
import type { IconifyIcons, IconifyJSON } from '@iconify/types';
|
||||
import { appConfig, splitIconSetConfig, storageConfig } from '../../../config/app';
|
||||
import type { SplitIconSetConfig } from '../../../types/config/split';
|
||||
import type { StorageIconSetThemes, StoredIconSet, StoredIconSetDone } from '../../../types/icon-set/storage';
|
||||
import type { SplitRecord } from '../../../types/split';
|
||||
import type { MemoryStorage, MemoryStorageItem } from '../../../types/storage';
|
||||
import { createSplitRecordsTree, splitRecords } from '../../storage/split';
|
||||
import { createStorage, createStoredItem } from '../../storage/create';
|
||||
import { getIconSetSplitChunksCount, splitIconSetMainData } from './split';
|
||||
import { removeBadIconSetItems } from '../lists/validate';
|
||||
import { prepareAPIv2IconsList } from '../lists/icons-v2';
|
||||
import { generateIconSetIconsTree } from '../lists/icons';
|
||||
import { themeKeys } from './themes';
|
||||
import { findIconSetThemes } from './themes';
|
||||
import { appConfig, splitIconSetConfig, storageConfig } from '../../../config/app.js';
|
||||
import type { SplitIconSetConfig } from '../../../types/config/split.js';
|
||||
import type { StorageIconSetThemes, StoredIconSet, StoredIconSetDone } from '../../../types/icon-set/storage.js';
|
||||
import type { SplitRecord } from '../../../types/split.js';
|
||||
import type { MemoryStorage, MemoryStorageItem } from '../../../types/storage.js';
|
||||
import { createSplitRecordsTree, splitRecords } from '../../storage/split.js';
|
||||
import { createStorage, createStoredItem } from '../../storage/create.js';
|
||||
import { getIconSetSplitChunksCount, splitIconSetMainData } from './split.js';
|
||||
import { removeBadIconSetItems } from '../lists/validate.js';
|
||||
import { prepareAPIv2IconsList } from '../lists/icons-v2.js';
|
||||
import { generateIconSetIconsTree } from '../lists/icons.js';
|
||||
import { themeKeys, findIconSetThemes } from './themes.js';
|
||||
|
||||
/**
|
||||
* Storage
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { IconifyJSON } from '@iconify/types';
|
||||
import { StorageIconSetThemes } from '../../../types/icon-set/storage';
|
||||
import { StorageIconSetThemes } from '../../../types/icon-set/storage.js';
|
||||
|
||||
/**
|
||||
* Themes to copy
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import type { ExtendedIconifyAlias, ExtendedIconifyIcon, IconifyIcons } from '@iconify/types';
|
||||
import { mergeIconData } from '@iconify/utils/lib/icon/merge';
|
||||
import type { SplitIconifyJSONMainData } from '../../../types/icon-set/split';
|
||||
import type { StoredIconSet } from '../../../types/icon-set/storage';
|
||||
import { searchSplitRecordsTree } from '../../storage/split';
|
||||
import { getStoredItem } from '../../storage/get';
|
||||
import type { SplitIconifyJSONMainData } from '../../../types/icon-set/split.js';
|
||||
import type { StoredIconSet } from '../../../types/icon-set/storage.js';
|
||||
import { searchSplitRecordsTree } from '../../storage/split.js';
|
||||
import { getStoredItem } from '../../storage/get.js';
|
||||
|
||||
interface PrepareResult {
|
||||
// Merged properties
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { IconifyJSON, IconifyAliases, IconifyIcons } from '@iconify/types';
|
||||
import type { StoredIconSet } from '../../../types/icon-set/storage';
|
||||
import { searchSplitRecordsTreeForSet } from '../../storage/split';
|
||||
import { getStoredItem } from '../../storage/get';
|
||||
import type { StoredIconSet } from '../../../types/icon-set/storage.js';
|
||||
import { searchSplitRecordsTreeForSet } from '../../storage/split.js';
|
||||
import { getStoredItem } from '../../storage/get.js';
|
||||
|
||||
/**
|
||||
* Get list of icons that must be retrieved
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { StoredIconSet } from '../types/icon-set/storage';
|
||||
import type { IconSetEntry, Importer } from '../types/importers';
|
||||
import { updateSearchIndex } from './search';
|
||||
import type { StoredIconSet } from '../types/icon-set/storage.js';
|
||||
import type { IconSetEntry, Importer } from '../types/importers.js';
|
||||
import { updateSearchIndex } from './search.js';
|
||||
|
||||
/**
|
||||
* All importers
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { appConfig } from '../config/app';
|
||||
import type { IconSetEntry } from '../types/importers';
|
||||
import type { SearchIndexData } from '../types/search';
|
||||
import { appConfig } from '../config/app.js';
|
||||
import type { IconSetEntry } from '../types/importers.js';
|
||||
import type { SearchIndexData } from '../types/search.js';
|
||||
|
||||
interface SearchIndex {
|
||||
data?: SearchIndexData;
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import { appConfig } from '../../config/app';
|
||||
import type { IconSetIconNames } from '../../types/icon-set/extra';
|
||||
import type { IconSetEntry } from '../../types/importers';
|
||||
import type { SearchIndexData, SearchKeywordsEntry, SearchParams, SearchResultsData } from '../../types/search';
|
||||
import { getPartialKeywords } from './partial';
|
||||
import { filterSearchPrefixes, filterSearchPrefixesList } from './prefixes';
|
||||
import { splitKeyword } from './split';
|
||||
import { appConfig } from '../../config/app.js';
|
||||
import type { IconSetIconNames } from '../../types/icon-set/extra.js';
|
||||
import type { IconSetEntry } from '../../types/importers.js';
|
||||
import type { SearchIndexData, SearchKeywordsEntry, SearchParams, SearchResultsData } from '../../types/search.js';
|
||||
import { getPartialKeywords } from './partial.js';
|
||||
import { filterSearchPrefixes, filterSearchPrefixesList } from './prefixes.js';
|
||||
import { splitKeyword } from './split.js';
|
||||
|
||||
/**
|
||||
* Run search
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { PartialKeywords, SearchIndexData } from '../../types/search';
|
||||
import { searchIndex } from '../search';
|
||||
import type { PartialKeywords, SearchIndexData } from '../../types/search.js';
|
||||
import { searchIndex } from '../search.js';
|
||||
|
||||
export const minPartialKeywordLength = 2;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { appConfig } from '../../config/app';
|
||||
import type { IconSetEntry } from '../../types/importers';
|
||||
import type { SearchIndexData, SearchParams } from '../../types/search';
|
||||
import { appConfig } from '../../config/app.js';
|
||||
import type { IconSetEntry } from '../../types/importers.js';
|
||||
import type { SearchIndexData, SearchParams } from '../../types/search.js';
|
||||
|
||||
/**
|
||||
* Filter prefixes by keyword
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { matchIconName } from '@iconify/utils/lib/icon/name';
|
||||
import { paramToBoolean } from '../../misc/bool';
|
||||
import type { IconStyle } from '../../types/icon-set/extra';
|
||||
import type { SearchKeywords, SearchKeywordsEntry } from '../../types/search';
|
||||
import { minPartialKeywordLength } from './partial';
|
||||
import { paramToBoolean } from '../../misc/bool.js';
|
||||
import type { IconStyle } from '../../types/icon-set/extra.js';
|
||||
import type { SearchKeywords, SearchKeywordsEntry } from '../../types/search.js';
|
||||
import { minPartialKeywordLength } from './partial.js';
|
||||
|
||||
interface SplitOptions {
|
||||
// Can include prefix
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { MemoryStorageItem, MemoryStorageCallback } from '../../types/storage';
|
||||
import type { MemoryStorageItem, MemoryStorageCallback } from '../../types/storage.js';
|
||||
|
||||
/**
|
||||
* Run all callbacks from storage
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { MemoryStorage, MemoryStorageItem } from '../../types/storage';
|
||||
import { runStorageCallbacks } from './callbacks';
|
||||
import type { MemoryStorage, MemoryStorageItem } from '../../types/storage.js';
|
||||
import { runStorageCallbacks } from './callbacks.js';
|
||||
|
||||
/**
|
||||
* Stop timer
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { appConfig } from '../../config/app';
|
||||
import type { MemoryStorage, MemoryStorageConfig, MemoryStorageItem } from '../../types/storage';
|
||||
import { cleanupStoredItem } from './cleanup';
|
||||
import { writeStoredItem } from './write';
|
||||
import { appConfig } from '../../config/app.js';
|
||||
import type { MemoryStorage, MemoryStorageConfig, MemoryStorageItem } from '../../types/storage.js';
|
||||
import { cleanupStoredItem } from './cleanup.js';
|
||||
import { writeStoredItem } from './write.js';
|
||||
|
||||
/**
|
||||
* Create storage
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { MemoryStorageItem, MemoryStorageCallback, MemoryStorage } from '../../types/storage';
|
||||
import { loadStoredItem } from './load';
|
||||
import type { MemoryStorageItem, MemoryStorageCallback, MemoryStorage } from '../../types/storage.js';
|
||||
import { loadStoredItem } from './load.js';
|
||||
|
||||
/**
|
||||
* Get storage data when ready
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { readFile, readFileSync } from 'node:fs';
|
||||
import type { MemoryStorage, MemoryStorageItem } from '../../types/storage';
|
||||
import { runStorageCallbacks } from './callbacks';
|
||||
import { addStorageToCleanup } from './cleanup';
|
||||
import type { MemoryStorage, MemoryStorageItem } from '../../types/storage.js';
|
||||
import { runStorageCallbacks } from './callbacks.js';
|
||||
import { addStorageToCleanup } from './cleanup.js';
|
||||
|
||||
/**
|
||||
* Load data
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { SplitDataTree, SplitRecord, SplitRecordCallback } from '../../types/split';
|
||||
import type { SplitDataTree, SplitRecord, SplitRecordCallback } from '../../types/split.js';
|
||||
|
||||
/**
|
||||
* Split records into `count` chunks
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { rm } from 'node:fs/promises';
|
||||
import { appConfig } from '../../config/app';
|
||||
import type { MemoryStorage } from '../../types/storage';
|
||||
import { appConfig } from '../../config/app.js';
|
||||
import type { MemoryStorage } from '../../types/storage.js';
|
||||
|
||||
/**
|
||||
* Remove old cache
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { writeFile, mkdir } from 'node:fs';
|
||||
import { dirname } from 'node:path';
|
||||
import type { MemoryStorage, MemoryStorageItem } from '../../types/storage';
|
||||
import { addStorageToCleanup } from './cleanup';
|
||||
import type { MemoryStorage, MemoryStorageItem } from '../../types/storage.js';
|
||||
import { addStorageToCleanup } from './cleanup.js';
|
||||
|
||||
const createdDirs: Set<string> = new Set();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { DownloaderStatus, DownloaderType } from '../types/downloaders/base';
|
||||
import type { DownloaderStatus, DownloaderType } from '../types/downloaders/base.js';
|
||||
|
||||
/**
|
||||
* loadDataFromDirectory()
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import { BaseDownloader } from './base';
|
||||
import { BaseDownloader } from './base.js';
|
||||
|
||||
/**
|
||||
* Custom downloader
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { directoryExists, hashFiles, listFilesInDirectory } from '../misc/files';
|
||||
import { BaseDownloader } from './base';
|
||||
import { directoryExists, hashFiles, listFilesInDirectory } from '../misc/files.js';
|
||||
import { BaseDownloader } from './base.js';
|
||||
|
||||
/**
|
||||
* Directory downloader
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { directoryExists } from '../misc/files';
|
||||
import type { RemoteDownloaderOptions, RemoteDownloaderVersion } from '../types/downloaders/remote';
|
||||
import { BaseDownloader } from './base';
|
||||
import { downloadRemoteArchive } from './remote/download';
|
||||
import { getRemoteDownloaderCacheKey } from './remote/key';
|
||||
import { getDownloaderVersion, saveDownloaderVersion } from './remote/versions';
|
||||
import { directoryExists } from '../misc/files.js';
|
||||
import type { RemoteDownloaderOptions, RemoteDownloaderVersion } from '../types/downloaders/remote.js';
|
||||
import { BaseDownloader } from './base.js';
|
||||
import { downloadRemoteArchive } from './remote/download.js';
|
||||
import { getRemoteDownloaderCacheKey } from './remote/key.js';
|
||||
import { getDownloaderVersion, saveDownloaderVersion } from './remote/versions.js';
|
||||
|
||||
/**
|
||||
* Remote downloader
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { execAsync } from '@iconify/tools/lib/misc/exec';
|
|||
import { getGitHubRepoHash } from '@iconify/tools/lib/download/github/hash';
|
||||
import { getGitLabRepoHash } from '@iconify/tools/lib/download/gitlab/hash';
|
||||
import { getNPMVersion, getPackageVersion } from '@iconify/tools/lib/download/npm/version';
|
||||
import { directoryExists } from '../../misc/files';
|
||||
import { directoryExists } from '../../misc/files.js';
|
||||
import type {
|
||||
GitDownloaderOptions,
|
||||
GitDownloaderVersion,
|
||||
|
|
@ -12,7 +12,7 @@ import type {
|
|||
GitLabDownloaderVersion,
|
||||
NPMDownloaderOptions,
|
||||
NPMDownloaderVersion,
|
||||
} from '../../types/downloaders/remote';
|
||||
} from '../../types/downloaders/remote.js';
|
||||
|
||||
/**
|
||||
* Check git repo for update
|
||||
|
|
|
|||
|
|
@ -2,15 +2,15 @@ import { downloadGitRepo } from '@iconify/tools/lib/download/git';
|
|||
import { downloadGitHubRepo } from '@iconify/tools/lib/download/github';
|
||||
import { downloadGitLabRepo } from '@iconify/tools/lib/download/gitlab';
|
||||
import { downloadNPMPackage } from '@iconify/tools/lib/download/npm';
|
||||
import { appConfig } from '../../config/app';
|
||||
import type { RemoteDownloaderOptions, RemoteDownloaderVersion } from '../../types/downloaders/remote';
|
||||
import { appConfig } from '../../config/app.js';
|
||||
import type { RemoteDownloaderOptions, RemoteDownloaderVersion } from '../../types/downloaders/remote.js';
|
||||
import {
|
||||
isGitHubUpdateAvailable,
|
||||
isGitLabUpdateAvailable,
|
||||
isGitUpdateAvailable,
|
||||
isNPMUpdateAvailable,
|
||||
} from './check-update';
|
||||
import { getDownloadDirectory } from './target';
|
||||
} from './check-update.js';
|
||||
import { getDownloadDirectory } from './target.js';
|
||||
|
||||
/**
|
||||
* Download files from remote archive
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { hashString } from '../../misc/hash';
|
||||
import type { RemoteDownloaderOptions } from '../../types/downloaders/remote';
|
||||
import { hashString } from '../../misc/hash.js';
|
||||
import type { RemoteDownloaderOptions } from '../../types/downloaders/remote.js';
|
||||
|
||||
/**
|
||||
* Get cache key
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { appConfig } from '../../config/app';
|
||||
import type { RemoteDownloaderOptions } from '../../types/downloaders/remote';
|
||||
import { getRemoteDownloaderCacheKey } from './key';
|
||||
import { appConfig } from '../../config/app.js';
|
||||
import type { RemoteDownloaderOptions } from '../../types/downloaders/remote.js';
|
||||
import { getRemoteDownloaderCacheKey } from './key.js';
|
||||
|
||||
/**
|
||||
* Get directory
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import { readFile, writeFile, mkdir } from 'node:fs/promises';
|
||||
import { dirname } from 'node:path';
|
||||
import { appConfig } from '../../config/app';
|
||||
import { appConfig } from '../../config/app.js';
|
||||
import type {
|
||||
RemoteDownloaderType,
|
||||
RemoteDownloaderVersion,
|
||||
RemoteDownloaderVersionMixin,
|
||||
} from '../../types/downloaders/remote';
|
||||
} from '../../types/downloaders/remote.js';
|
||||
|
||||
// Storage
|
||||
type StoredVersions = Record<string, RemoteDownloaderVersion>;
|
||||
|
|
|
|||
|
|
@ -1,19 +1,19 @@
|
|||
import fastify from 'fastify';
|
||||
import fastifyFormBody from '@fastify/formbody';
|
||||
import { appConfig, httpHeaders } from '../config/app';
|
||||
import { runWhenLoaded } from '../data/loading';
|
||||
import { iconNameRoutePartialRegEx, iconNameRouteRegEx, splitIconName } from '../misc/name';
|
||||
import { generateAPIv1IconsListResponse } from './responses/collection-v1';
|
||||
import { generateAPIv2CollectionResponse } from './responses/collection-v2';
|
||||
import { generateCollectionsListResponse } from './responses/collections';
|
||||
import { generateIconsDataResponse } from './responses/icons';
|
||||
import { generateKeywordsResponse } from './responses/keywords';
|
||||
import { generateLastModifiedResponse } from './responses/modified';
|
||||
import { generateAPIv2SearchResponse } from './responses/search';
|
||||
import { generateSVGResponse } from './responses/svg';
|
||||
import { generateUpdateResponse } from './responses/update';
|
||||
import { initVersionResponse, versionResponse } from './responses/version';
|
||||
import { generateIconsStyleResponse } from './responses/css';
|
||||
import { appConfig, httpHeaders } from '../config/app.js';
|
||||
import { runWhenLoaded } from '../data/loading.js';
|
||||
import { iconNameRoutePartialRegEx, iconNameRouteRegEx, splitIconName } from '../misc/name.js';
|
||||
import { generateAPIv1IconsListResponse } from './responses/collection-v1.js';
|
||||
import { generateAPIv2CollectionResponse } from './responses/collection-v2.js';
|
||||
import { generateCollectionsListResponse } from './responses/collections.js';
|
||||
import { generateIconsDataResponse } from './responses/icons.js';
|
||||
import { generateKeywordsResponse } from './responses/keywords.js';
|
||||
import { generateLastModifiedResponse } from './responses/modified.js';
|
||||
import { generateAPIv2SearchResponse } from './responses/search.js';
|
||||
import { generateSVGResponse } from './responses/svg.js';
|
||||
import { generateUpdateResponse } from './responses/update.js';
|
||||
import { initVersionResponse, versionResponse } from './responses/version.js';
|
||||
import { generateIconsStyleResponse } from './responses/css.js';
|
||||
|
||||
/**
|
||||
* Start HTTP server
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
import type { FastifyReply, FastifyRequest } from 'fastify';
|
||||
import { getPrefixes, iconSets } from '../../data/icon-sets';
|
||||
import type { IconSetAPIv2IconsList } from '../../types/icon-set/extra';
|
||||
import type { StoredIconSet } from '../../types/icon-set/storage';
|
||||
import { getPrefixes, iconSets } from '../../data/icon-sets.js';
|
||||
import type { IconSetAPIv2IconsList } from '../../types/icon-set/extra.js';
|
||||
import type { StoredIconSet } from '../../types/icon-set/storage.js';
|
||||
import type {
|
||||
APIv1ListIconsBaseResponse,
|
||||
APIv1ListIconsCategorisedResponse,
|
||||
APIv1ListIconsResponse,
|
||||
} from '../../types/server/v1';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json';
|
||||
import { filterPrefixesByPrefix } from '../helpers/prefixes';
|
||||
} from '../../types/server/v1.js';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json.js';
|
||||
import { filterPrefixesByPrefix } from '../helpers/prefixes.js';
|
||||
|
||||
/**
|
||||
* Send API v2 response
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { FastifyReply, FastifyRequest } from 'fastify';
|
||||
import { iconSets } from '../../data/icon-sets';
|
||||
import type { APIv2CollectionResponse } from '../../types/server/v2';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json';
|
||||
import { iconSets } from '../../data/icon-sets.js';
|
||||
import type { APIv2CollectionResponse } from '../../types/server/v2.js';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json.js';
|
||||
|
||||
/**
|
||||
* Send API v2 response
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import type { FastifyReply, FastifyRequest } from 'fastify';
|
||||
import { getPrefixes, iconSets } from '../../data/icon-sets';
|
||||
import type { APIv2CollectionsResponse } from '../../types/server/v2';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json';
|
||||
import { filterPrefixesByPrefix } from '../helpers/prefixes';
|
||||
import { getPrefixes, iconSets } from '../../data/icon-sets.js';
|
||||
import type { APIv2CollectionsResponse } from '../../types/server/v2.js';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json.js';
|
||||
import { filterPrefixesByPrefix } from '../helpers/prefixes.js';
|
||||
|
||||
/**
|
||||
* Send response
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import type { FastifyReply, FastifyRequest } from 'fastify';
|
||||
import { stringToColor } from '@iconify/utils/lib/colors';
|
||||
import { getIconsCSS } from '@iconify/utils/lib/css/icons';
|
||||
import { getStoredIconsData } from '../../data/icon-set/utils/get-icons';
|
||||
import { iconSets } from '../../data/icon-sets';
|
||||
import type { IconCSSIconSetOptions } from '@iconify/utils/lib/css/types';
|
||||
import { paramToBoolean } from '../../misc/bool';
|
||||
import { getStoredIconsData } from '../../data/icon-set/utils/get-icons.js';
|
||||
import { iconSets } from '../../data/icon-sets.js';
|
||||
import { paramToBoolean } from '../../misc/bool.js';
|
||||
|
||||
/**
|
||||
* Check selector for weird stuff
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { FastifyReply, FastifyRequest } from 'fastify';
|
||||
import { getStoredIconsData } from '../../data/icon-set/utils/get-icons';
|
||||
import { iconSets } from '../../data/icon-sets';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json';
|
||||
import { getStoredIconsData } from '../../data/icon-set/utils/get-icons.js';
|
||||
import { iconSets } from '../../data/icon-sets.js';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json.js';
|
||||
|
||||
/**
|
||||
* Generate icons data
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
import { matchIconName } from '@iconify/utils';
|
||||
import { matchIconName } from '@iconify/utils/lib/icon/name';
|
||||
import type { FastifyReply, FastifyRequest } from 'fastify';
|
||||
import { searchIndex } from '../../data/search';
|
||||
import { getPartialKeywords } from '../../data/search/partial';
|
||||
import type { APIv3KeywordsQuery, APIv3KeywordsResponse } from '../../types/server/keywords';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json';
|
||||
import { searchIndex } from '../../data/search.js';
|
||||
import { getPartialKeywords } from '../../data/search/partial.js';
|
||||
import type { APIv3KeywordsQuery, APIv3KeywordsResponse } from '../../types/server/keywords.js';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json.js';
|
||||
|
||||
/**
|
||||
* Generate icons data
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import type { FastifyReply, FastifyRequest } from 'fastify';
|
||||
import { getPrefixes, iconSets } from '../../data/icon-sets';
|
||||
import type { APIv3LastModifiedResponse } from '../../types/server/modified';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json';
|
||||
import { filterPrefixesByPrefix } from '../helpers/prefixes';
|
||||
import { getPrefixes, iconSets } from '../../data/icon-sets.js';
|
||||
import type { APIv3LastModifiedResponse } from '../../types/server/modified.js';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json.js';
|
||||
import { filterPrefixesByPrefix } from '../helpers/prefixes.js';
|
||||
|
||||
/**
|
||||
* Generate icons data
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import type { FastifyReply, FastifyRequest } from 'fastify';
|
||||
import { iconSets } from '../../data/icon-sets';
|
||||
import { searchIndex } from '../../data/search';
|
||||
import { search } from '../../data/search/index';
|
||||
import { paramToBoolean } from '../../misc/bool';
|
||||
import type { SearchParams } from '../../types/search';
|
||||
import type { APIv2SearchParams, APIv2SearchResponse } from '../../types/server/v2';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json';
|
||||
import { iconSets } from '../../data/icon-sets.js';
|
||||
import { searchIndex } from '../../data/search.js';
|
||||
import { search } from '../../data/search/index.js';
|
||||
import { paramToBoolean } from '../../misc/bool.js';
|
||||
import type { SearchParams } from '../../types/search.js';
|
||||
import type { APIv2SearchParams, APIv2SearchResponse } from '../../types/server/v2.js';
|
||||
import { checkJSONPQuery, sendJSONResponse } from '../helpers/json.js';
|
||||
|
||||
const minSearchLimit = 32;
|
||||
const maxSearchLimit = 999;
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
import { defaultIconDimensions, flipFromString, iconToHTML, iconToSVG, rotateFromString } from '@iconify/utils';
|
||||
import { iconToHTML } from '@iconify/utils/lib/svg/html';
|
||||
import { iconToSVG } from '@iconify/utils/lib/svg/build';
|
||||
import { flipFromString } from '@iconify/utils/lib/customisations/flip';
|
||||
import { rotateFromString } from '@iconify/utils/lib/customisations/rotate';
|
||||
import { defaultIconDimensions } from '@iconify/utils/lib/icon/defaults';
|
||||
import { defaultIconCustomisations, IconifyIconCustomisations } from '@iconify/utils/lib/customisations/defaults';
|
||||
import type { FastifyReply, FastifyRequest } from 'fastify';
|
||||
import { getStoredIconData } from '../../data/icon-set/utils/get-icon';
|
||||
import { iconSets } from '../../data/icon-sets';
|
||||
import { getStoredIconData } from '../../data/icon-set/utils/get-icon.js';
|
||||
import { iconSets } from '../../data/icon-sets.js';
|
||||
|
||||
/**
|
||||
* Generate SVG
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { FastifyReply, FastifyRequest } from 'fastify';
|
||||
import { appConfig } from '../../config/app';
|
||||
import { triggerIconSetsUpdate } from '../../data/icon-sets';
|
||||
import { runWhenLoaded } from '../../data/loading';
|
||||
import { appConfig } from '../../config/app.js';
|
||||
import { triggerIconSetsUpdate } from '../../data/icon-sets.js';
|
||||
import { runWhenLoaded } from '../../data/loading.js';
|
||||
|
||||
let pendingUpdate = false;
|
||||
let lastError = 0;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import { readFile } from 'node:fs/promises';
|
||||
import type { FastifyReply, FastifyRequest } from 'fastify';
|
||||
import { appConfig } from '../../config/app';
|
||||
import { appConfig } from '../../config/app.js';
|
||||
|
||||
let version: string | undefined;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import type { BaseDownloader } from '../../downloaders/base';
|
||||
import { maybeAwait } from '../../misc/async';
|
||||
import type { BaseDownloader } from '../../downloaders/base.js';
|
||||
import { maybeAwait } from '../../misc/async.js';
|
||||
import type {
|
||||
BaseCollectionsImporter,
|
||||
CreateIconSetImporter,
|
||||
CreateIconSetImporterResult,
|
||||
} from '../../types/importers/collections';
|
||||
import type { ImportedData } from '../../types/importers/common';
|
||||
} from '../../types/importers/collections.js';
|
||||
import type { ImportedData } from '../../types/importers/common.js';
|
||||
|
||||
/**
|
||||
* Base collections list importer
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import { readFile } from 'node:fs/promises';
|
||||
import { matchIconName } from '@iconify/utils/lib/icon/name';
|
||||
import type { BaseDownloader } from '../../downloaders/base';
|
||||
import type { BaseCollectionsImporter, CreateIconSetImporter } from '../../types/importers/collections';
|
||||
import type { ImportedData } from '../../types/importers/common';
|
||||
import { createBaseCollectionsListImporter } from './base';
|
||||
import type { IconifyInfo } from '@iconify/types';
|
||||
import { matchIconName } from '@iconify/utils/lib/icon/name';
|
||||
import type { BaseDownloader } from '../../downloaders/base.js';
|
||||
import type { BaseCollectionsImporter, CreateIconSetImporter } from '../../types/importers/collections.js';
|
||||
import type { ImportedData } from '../../types/importers/common.js';
|
||||
import { createBaseCollectionsListImporter } from './base.js';
|
||||
|
||||
interface JSONCollectionsListImporterOptions {
|
||||
// File to load
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { CustomDownloader } from '../../downloaders/custom';
|
||||
import type { BaseCollectionsImporter, CreateIconSetImporter } from '../../types/importers/collections';
|
||||
import type { ImportedData } from '../../types/importers/common';
|
||||
import { createBaseCollectionsListImporter } from './base';
|
||||
import { CustomDownloader } from '../../downloaders/custom.js';
|
||||
import type { BaseCollectionsImporter, CreateIconSetImporter } from '../../types/importers/collections.js';
|
||||
import type { ImportedData } from '../../types/importers/common.js';
|
||||
import { createBaseCollectionsListImporter } from './base.js';
|
||||
|
||||
/**
|
||||
* Create importer for hardcoded list of icon sets
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { readFile } from 'node:fs/promises';
|
||||
import { quicklyValidateIconSet } from '@iconify/utils/lib/icon-set/validate-basic';
|
||||
import { asyncStoreLoadedIconSet } from '../../data/icon-set/store/storage';
|
||||
import type { StoredIconSet } from '../../types/icon-set/storage';
|
||||
import { prependSlash } from '../../misc/files';
|
||||
import { asyncStoreLoadedIconSet } from '../../data/icon-set/store/storage.js';
|
||||
import type { StoredIconSet } from '../../types/icon-set/storage.js';
|
||||
import { prependSlash } from '../../misc/files.js';
|
||||
|
||||
export interface IconSetJSONOptions {
|
||||
// Ignore bad prefix?
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import { readFile } from 'node:fs/promises';
|
||||
import { quicklyValidateIconSet } from '@iconify/utils/lib/icon-set/validate-basic';
|
||||
import { asyncStoreLoadedIconSet } from '../../data/icon-set/store/storage';
|
||||
import type { StoredIconSet } from '../../types/icon-set/storage';
|
||||
import { appConfig } from '../../config/app';
|
||||
import { asyncStoreLoadedIconSet } from '../../data/icon-set/store/storage.js';
|
||||
import type { StoredIconSet } from '../../types/icon-set/storage.js';
|
||||
import { appConfig } from '../../config/app.js';
|
||||
|
||||
export interface IconSetJSONPackageOptions {
|
||||
// Ignore bad prefix?
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { readdir, stat } from 'node:fs/promises';
|
||||
import { matchIconName } from '@iconify/utils/lib/icon/name';
|
||||
import type { BaseDownloader } from '../../downloaders/base';
|
||||
import { DirectoryDownloader } from '../../downloaders/directory';
|
||||
import type { StoredIconSet } from '../../types/icon-set/storage';
|
||||
import type { BaseCollectionsImporter, CreateIconSetImporter } from '../../types/importers/collections';
|
||||
import type { ImportedData } from '../../types/importers/common';
|
||||
import { createJSONIconSetImporter } from '../icon-set/json';
|
||||
import { createBaseCollectionsListImporter } from '../collections/base';
|
||||
import type { BaseDownloader } from '../../downloaders/base.js';
|
||||
import { DirectoryDownloader } from '../../downloaders/directory.js';
|
||||
import type { StoredIconSet } from '../../types/icon-set/storage.js';
|
||||
import type { BaseCollectionsImporter, CreateIconSetImporter } from '../../types/importers/collections.js';
|
||||
import type { ImportedData } from '../../types/importers/common.js';
|
||||
import { createJSONIconSetImporter } from '../icon-set/json.js';
|
||||
import { createBaseCollectionsListImporter } from '../collections/base.js';
|
||||
|
||||
interface JSONDirectoryImporterOptions {
|
||||
// Icon set filter
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
import { readFile } from 'node:fs/promises';
|
||||
import { matchIconName } from '@iconify/utils/lib/icon/name';
|
||||
import type { BaseDownloader } from '../../downloaders/base';
|
||||
import { DirectoryDownloader } from '../../downloaders/directory';
|
||||
import type { StoredIconSet } from '../../types/icon-set/storage';
|
||||
import type { BaseCollectionsImporter, CreateIconSetImporter } from '../../types/importers/collections';
|
||||
import type { ImportedData } from '../../types/importers/common';
|
||||
import { createJSONIconSetImporter } from '../icon-set/json';
|
||||
import { createBaseCollectionsListImporter } from '../collections/base';
|
||||
import type { BaseDownloader } from '../../downloaders/base.js';
|
||||
import { DirectoryDownloader } from '../../downloaders/directory.js';
|
||||
import type { StoredIconSet } from '../../types/icon-set/storage.js';
|
||||
import type { BaseCollectionsImporter, CreateIconSetImporter } from '../../types/importers/collections.js';
|
||||
import type { ImportedData } from '../../types/importers/common.js';
|
||||
import { createJSONIconSetImporter } from '../icon-set/json.js';
|
||||
import { createBaseCollectionsListImporter } from '../collections/base.js';
|
||||
|
||||
interface IconSetsPackageImporterOptions {
|
||||
// Icon set filter
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { BaseDownloader } from '../../downloaders/base';
|
||||
import type { StoredIconSet } from '../../types/icon-set/storage';
|
||||
import type { ImportedData } from '../../types/importers/common';
|
||||
import type { BaseFullImporter } from '../../types/importers/full';
|
||||
import type { BaseDownloader } from '../../downloaders/base.js';
|
||||
import type { StoredIconSet } from '../../types/icon-set/storage.js';
|
||||
import type { ImportedData } from '../../types/importers/common.js';
|
||||
import type { BaseFullImporter } from '../../types/importers/full.js';
|
||||
|
||||
/**
|
||||
* Base full importer
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
import { readdir, stat } from 'node:fs/promises';
|
||||
import { matchIconName } from '@iconify/utils/lib/icon/name';
|
||||
import type { BaseDownloader } from '../../downloaders/base';
|
||||
import type { ImportedData } from '../../types/importers/common';
|
||||
import type { BaseFullImporter } from '../../types/importers/full';
|
||||
import { createBaseImporter } from './base';
|
||||
import { IconSetJSONOptions, importIconSetFromJSON } from '../common/icon-set-json';
|
||||
import type { BaseDownloader } from '../../downloaders/base.js';
|
||||
import type { ImportedData } from '../../types/importers/common.js';
|
||||
import type { BaseFullImporter } from '../../types/importers/full.js';
|
||||
import { createBaseImporter } from './base.js';
|
||||
import { type IconSetJSONOptions, importIconSetFromJSON } from '../common/icon-set-json.js';
|
||||
|
||||
interface JSONDirectoryImporterOptions extends IconSetJSONOptions {
|
||||
// Icon set filter
|
||||
|
|
|
|||
|
|
@ -1,11 +1,11 @@
|
|||
import { readFile } from 'node:fs/promises';
|
||||
import { matchIconName } from '@iconify/utils/lib/icon/name';
|
||||
import type { BaseDownloader } from '../../downloaders/base';
|
||||
import type { ImportedData } from '../../types/importers/common';
|
||||
import type { BaseFullImporter } from '../../types/importers/full';
|
||||
import { createBaseImporter } from './base';
|
||||
import { IconSetJSONOptions, importIconSetFromJSON } from '../common/icon-set-json';
|
||||
import type { IconifyInfo } from '@iconify/types';
|
||||
import { matchIconName } from '@iconify/utils/lib/icon/name';
|
||||
import type { BaseDownloader } from '../../downloaders/base.js';
|
||||
import type { ImportedData } from '../../types/importers/common.js';
|
||||
import type { BaseFullImporter } from '../../types/importers/full.js';
|
||||
import { createBaseImporter } from './base.js';
|
||||
import { IconSetJSONOptions, importIconSetFromJSON } from '../common/icon-set-json.js';
|
||||
|
||||
interface IconSetsPackageImporterOptions extends IconSetJSONOptions {
|
||||
// Icon set filter
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { BaseDownloader } from '../../downloaders/base';
|
||||
import type { BaseIconSetImporter } from '../../types/importers/icon-set';
|
||||
import type { IconSetImportedData } from '../../types/importers/common';
|
||||
import { IconSetJSONPackageOptions, importIconSetFromJSONPackage } from '../common/json-package';
|
||||
import type { BaseDownloader } from '../../downloaders/base.js';
|
||||
import type { BaseIconSetImporter } from '../../types/importers/icon-set.js';
|
||||
import type { IconSetImportedData } from '../../types/importers/common.js';
|
||||
import { IconSetJSONPackageOptions, importIconSetFromJSONPackage } from '../common/json-package.js';
|
||||
|
||||
interface JSONPackageIconSetImporterOptions extends IconSetJSONPackageOptions {
|
||||
// Icon set prefix
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { BaseDownloader } from '../../downloaders/base';
|
||||
import type { BaseIconSetImporter } from '../../types/importers/icon-set';
|
||||
import type { IconSetImportedData } from '../../types/importers/common';
|
||||
import { IconSetJSONOptions, importIconSetFromJSON } from '../common/icon-set-json';
|
||||
import type { BaseDownloader } from '../../downloaders/base.js';
|
||||
import type { BaseIconSetImporter } from '../../types/importers/icon-set.js';
|
||||
import type { IconSetImportedData } from '../../types/importers/common.js';
|
||||
import { IconSetJSONOptions, importIconSetFromJSON } from '../common/icon-set-json.js';
|
||||
|
||||
interface JSONIconSetImporterOptions extends IconSetJSONOptions {
|
||||
// Icon set prefix
|
||||
|
|
|
|||
14
src/index.ts
14
src/index.ts
|
|
@ -1,11 +1,11 @@
|
|||
import { config } from 'dotenv';
|
||||
import { getImporters } from './config/icon-sets';
|
||||
import { iconSetsStorage } from './data/icon-set/store/storage';
|
||||
import { setImporters, updateIconSets } from './data/icon-sets';
|
||||
import { loaded } from './data/loading';
|
||||
import { cleanupStorageCache } from './data/storage/startup';
|
||||
import { startHTTPServer } from './http';
|
||||
import { loadEnvConfig } from './misc/load-config';
|
||||
import { getImporters } from './config/icon-sets.js';
|
||||
import { iconSetsStorage } from './data/icon-set/store/storage.js';
|
||||
import { setImporters, updateIconSets } from './data/icon-sets.js';
|
||||
import { loaded } from './data/loading.js';
|
||||
import { cleanupStorageCache } from './data/storage/startup.js';
|
||||
import { startHTTPServer } from './http/index.js';
|
||||
import { loadEnvConfig } from './misc/load-config.js';
|
||||
|
||||
(async () => {
|
||||
// Configure environment
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import { stat } from 'node:fs/promises';
|
||||
import { scanDirectory } from '@iconify/tools/lib/misc/scan';
|
||||
import type { FileEntry } from '../types/files';
|
||||
import { hashString } from './hash';
|
||||
import type { FileEntry } from '../types/files.js';
|
||||
import { hashString } from './hash.js';
|
||||
|
||||
/**
|
||||
* List all files in directory
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { appConfig, splitIconSetConfig, storageConfig } from '../config/app';
|
||||
import { paramToBoolean } from './bool';
|
||||
import { appConfig, splitIconSetConfig, storageConfig } from '../config/app.js';
|
||||
import { paramToBoolean } from './bool.js';
|
||||
|
||||
interface ConfigurableItem {
|
||||
config: unknown;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { StoredIconSet } from '../icon-set/storage';
|
||||
import type { StoredIconSet } from '../icon-set/storage.js';
|
||||
|
||||
/**
|
||||
* Generated data
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
import type { IconifyIcons, IconifyInfo, IconifyJSON, IconifyMetaData } from '@iconify/types';
|
||||
import type { SplitDataTree } from '../split';
|
||||
import type { MemoryStorage, MemoryStorageItem } from '../storage';
|
||||
import type { IconSetIconsListIcons, IconSetAPIv2IconsList } from './extra';
|
||||
import type { SplitIconifyJSONMainData } from './split';
|
||||
import type { IconifyIcons, IconifyInfo, IconifyMetaData } from '@iconify/types';
|
||||
import type { SplitDataTree } from '../split.js';
|
||||
import type { MemoryStorage, MemoryStorageItem } from '../storage.js';
|
||||
import type { IconSetIconsListIcons, IconSetAPIv2IconsList } from './extra.js';
|
||||
import type { SplitIconifyJSONMainData } from './split.js';
|
||||
|
||||
/**
|
||||
* Themes
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import type { BaseDownloader } from '../downloaders/base';
|
||||
import type { StoredIconSet } from './icon-set/storage';
|
||||
import type { ImportedData } from './importers/common';
|
||||
import type { BaseDownloader } from '../downloaders/base.js';
|
||||
import type { StoredIconSet } from './icon-set/storage.js';
|
||||
import type { ImportedData } from './importers/common.js';
|
||||
|
||||
/**
|
||||
* Importer
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
import type { BaseDownloader } from '../../downloaders/base';
|
||||
import type { MaybeAsync } from '../async';
|
||||
import type { BaseMainImporter, IconSetImportedData } from './common';
|
||||
import type { BaseIconSetImporter } from './icon-set';
|
||||
import type { BaseDownloader } from '../../downloaders/base.js';
|
||||
import type { MaybeAsync } from '../async.js';
|
||||
import type { BaseMainImporter, IconSetImportedData } from './common.js';
|
||||
import type { BaseIconSetImporter } from './icon-set.js';
|
||||
|
||||
/**
|
||||
* Loader for child element
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import type { DownloaderType } from '../downloaders/base';
|
||||
import type { StoredIconSet } from '../icon-set/storage';
|
||||
import type { DownloaderType } from '../downloaders/base.js';
|
||||
import type { StoredIconSet } from '../icon-set/storage.js';
|
||||
|
||||
/**
|
||||
* Base icon set importer interface
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { BaseMainImporter, IconSetImportedData } from './common';
|
||||
import type { BaseMainImporter, IconSetImportedData } from './common.js';
|
||||
|
||||
/**
|
||||
* Base full importer
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { BaseImporter, IconSetImportedData } from './common';
|
||||
import type { BaseImporter, IconSetImportedData } from './common.js';
|
||||
|
||||
/**
|
||||
* Base icon set importer interface
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
import type { IconStyle } from './icon-set/extra';
|
||||
import type { IconStyle } from './icon-set/extra.js';
|
||||
|
||||
/**
|
||||
* List of keywords that can be used to autocomplete keyword
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"compilerOptions": {
|
||||
"target": "ESNext",
|
||||
"module": "CommonJS",
|
||||
"module": "ESNext",
|
||||
"strict": true,
|
||||
"skipLibCheck": true,
|
||||
"moduleResolution": "node",
|
||||
|
|
|
|||
Loading…
Reference in New Issue