diff --git a/package.json b/package.json index 2260110..b0f5ebd 100644 --- a/package.json +++ b/package.json @@ -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": { diff --git a/src/config/app.ts b/src/config/app.ts index b6dceb5..f217fec 100644 --- a/src/config/app.ts +++ b/src/config/app.ts @@ -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 diff --git a/src/config/icon-sets.ts b/src/config/icon-sets.ts index d38c894..572c688 100644 --- a/src/config/icon-sets.ts +++ b/src/config/icon-sets.ts @@ -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 diff --git a/src/config/importers/full-package.ts b/src/config/importers/full-package.ts index 7ca87c0..1f30d37 100644 --- a/src/config/importers/full-package.ts +++ b/src/config/importers/full-package.ts @@ -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 diff --git a/src/config/importers/split-packages.ts b/src/config/importers/split-packages.ts index 49f0265..a25e946 100644 --- a/src/config/importers/split-packages.ts +++ b/src/config/importers/split-packages.ts @@ -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; diff --git a/src/data/icon-set/lists/icons-v2.ts b/src/data/icon-set/lists/icons-v2.ts index 9306d9b..30777bd 100644 --- a/src/data/icon-set/lists/icons-v2.ts +++ b/src/data/icon-set/lists/icons-v2.ts @@ -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 diff --git a/src/data/icon-set/lists/icons.ts b/src/data/icon-set/lists/icons.ts index 7bed86e..7f63195 100644 --- a/src/data/icon-set/lists/icons.ts +++ b/src/data/icon-set/lists/icons.ts @@ -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)[]; diff --git a/src/data/icon-set/lists/style.ts b/src/data/icon-set/lists/style.ts index 84a7e0f..b6a2168 100644 --- a/src/data/icon-set/lists/style.ts +++ b/src/data/icon-set/lists/style.ts @@ -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 + '="'); diff --git a/src/data/icon-set/lists/validate.ts b/src/data/icon-set/lists/validate.ts index 6b64318..e00ee29 100644 --- a/src/data/icon-set/lists/validate.ts +++ b/src/data/icon-set/lists/validate.ts @@ -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 diff --git a/src/data/icon-set/store/split.ts b/src/data/icon-set/store/split.ts index 2ac4b57..e560c53 100644 --- a/src/data/icon-set/store/split.ts +++ b/src/data/icon-set/store/split.ts @@ -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)[]; diff --git a/src/data/icon-set/store/storage.ts b/src/data/icon-set/store/storage.ts index ad44093..154e58a 100644 --- a/src/data/icon-set/store/storage.ts +++ b/src/data/icon-set/store/storage.ts @@ -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 diff --git a/src/data/icon-set/store/themes.ts b/src/data/icon-set/store/themes.ts index b5688c8..8c39126 100644 --- a/src/data/icon-set/store/themes.ts +++ b/src/data/icon-set/store/themes.ts @@ -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 diff --git a/src/data/icon-set/utils/get-icon.ts b/src/data/icon-set/utils/get-icon.ts index 34c62bb..27022bb 100644 --- a/src/data/icon-set/utils/get-icon.ts +++ b/src/data/icon-set/utils/get-icon.ts @@ -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 diff --git a/src/data/icon-set/utils/get-icons.ts b/src/data/icon-set/utils/get-icons.ts index 7e6c20d..5aedde5 100644 --- a/src/data/icon-set/utils/get-icons.ts +++ b/src/data/icon-set/utils/get-icons.ts @@ -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 diff --git a/src/data/icon-sets.ts b/src/data/icon-sets.ts index eb6f493..2b781f1 100644 --- a/src/data/icon-sets.ts +++ b/src/data/icon-sets.ts @@ -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 diff --git a/src/data/search.ts b/src/data/search.ts index 29432b7..b73215c 100644 --- a/src/data/search.ts +++ b/src/data/search.ts @@ -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; diff --git a/src/data/search/index.ts b/src/data/search/index.ts index adf990a..bf54fad 100644 --- a/src/data/search/index.ts +++ b/src/data/search/index.ts @@ -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 diff --git a/src/data/search/partial.ts b/src/data/search/partial.ts index 8cc3643..1ede864 100644 --- a/src/data/search/partial.ts +++ b/src/data/search/partial.ts @@ -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; diff --git a/src/data/search/prefixes.ts b/src/data/search/prefixes.ts index 5aad2f5..64f0468 100644 --- a/src/data/search/prefixes.ts +++ b/src/data/search/prefixes.ts @@ -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 diff --git a/src/data/search/split.ts b/src/data/search/split.ts index 246c7d2..3e3259f 100644 --- a/src/data/search/split.ts +++ b/src/data/search/split.ts @@ -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 diff --git a/src/data/storage/callbacks.ts b/src/data/storage/callbacks.ts index a6ccd9c..22c7d46 100644 --- a/src/data/storage/callbacks.ts +++ b/src/data/storage/callbacks.ts @@ -1,4 +1,4 @@ -import type { MemoryStorageItem, MemoryStorageCallback } from '../../types/storage'; +import type { MemoryStorageItem, MemoryStorageCallback } from '../../types/storage.js'; /** * Run all callbacks from storage diff --git a/src/data/storage/cleanup.ts b/src/data/storage/cleanup.ts index 5dde6d0..f32d584 100644 --- a/src/data/storage/cleanup.ts +++ b/src/data/storage/cleanup.ts @@ -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 diff --git a/src/data/storage/create.ts b/src/data/storage/create.ts index 31e2da8..cc729e6 100644 --- a/src/data/storage/create.ts +++ b/src/data/storage/create.ts @@ -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 diff --git a/src/data/storage/get.ts b/src/data/storage/get.ts index 6da1326..f241693 100644 --- a/src/data/storage/get.ts +++ b/src/data/storage/get.ts @@ -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 diff --git a/src/data/storage/load.ts b/src/data/storage/load.ts index c6f80f6..183af82 100644 --- a/src/data/storage/load.ts +++ b/src/data/storage/load.ts @@ -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 diff --git a/src/data/storage/split.ts b/src/data/storage/split.ts index 3f9efd4..a221892 100644 --- a/src/data/storage/split.ts +++ b/src/data/storage/split.ts @@ -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 diff --git a/src/data/storage/startup.ts b/src/data/storage/startup.ts index 697fa77..7dac074 100644 --- a/src/data/storage/startup.ts +++ b/src/data/storage/startup.ts @@ -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 diff --git a/src/data/storage/write.ts b/src/data/storage/write.ts index eae7ea2..c1e6c19 100644 --- a/src/data/storage/write.ts +++ b/src/data/storage/write.ts @@ -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 = new Set(); diff --git a/src/downloaders/base.ts b/src/downloaders/base.ts index 4029574..168af12 100644 --- a/src/downloaders/base.ts +++ b/src/downloaders/base.ts @@ -1,4 +1,4 @@ -import type { DownloaderStatus, DownloaderType } from '../types/downloaders/base'; +import type { DownloaderStatus, DownloaderType } from '../types/downloaders/base.js'; /** * loadDataFromDirectory() diff --git a/src/downloaders/custom.ts b/src/downloaders/custom.ts index d0af53a..2215fc4 100644 --- a/src/downloaders/custom.ts +++ b/src/downloaders/custom.ts @@ -1,4 +1,4 @@ -import { BaseDownloader } from './base'; +import { BaseDownloader } from './base.js'; /** * Custom downloader diff --git a/src/downloaders/directory.ts b/src/downloaders/directory.ts index 4747ea8..dcce682 100644 --- a/src/downloaders/directory.ts +++ b/src/downloaders/directory.ts @@ -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 diff --git a/src/downloaders/remote.ts b/src/downloaders/remote.ts index d8185c6..409db87 100644 --- a/src/downloaders/remote.ts +++ b/src/downloaders/remote.ts @@ -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 diff --git a/src/downloaders/remote/check-update.ts b/src/downloaders/remote/check-update.ts index 41b21ab..09be5db 100644 --- a/src/downloaders/remote/check-update.ts +++ b/src/downloaders/remote/check-update.ts @@ -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 diff --git a/src/downloaders/remote/download.ts b/src/downloaders/remote/download.ts index 1de6d65..e09de4a 100644 --- a/src/downloaders/remote/download.ts +++ b/src/downloaders/remote/download.ts @@ -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 diff --git a/src/downloaders/remote/key.ts b/src/downloaders/remote/key.ts index c4120b3..7af4445 100644 --- a/src/downloaders/remote/key.ts +++ b/src/downloaders/remote/key.ts @@ -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 diff --git a/src/downloaders/remote/target.ts b/src/downloaders/remote/target.ts index 065e0d2..5fa59c8 100644 --- a/src/downloaders/remote/target.ts +++ b/src/downloaders/remote/target.ts @@ -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 diff --git a/src/downloaders/remote/versions.ts b/src/downloaders/remote/versions.ts index 4db042f..a947a3c 100644 --- a/src/downloaders/remote/versions.ts +++ b/src/downloaders/remote/versions.ts @@ -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; diff --git a/src/http/index.ts b/src/http/index.ts index 7486dd2..d979580 100644 --- a/src/http/index.ts +++ b/src/http/index.ts @@ -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 diff --git a/src/http/responses/collection-v1.ts b/src/http/responses/collection-v1.ts index 0fd7fc2..22feb8d 100644 --- a/src/http/responses/collection-v1.ts +++ b/src/http/responses/collection-v1.ts @@ -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 diff --git a/src/http/responses/collection-v2.ts b/src/http/responses/collection-v2.ts index b5c5fb9..f056c1b 100644 --- a/src/http/responses/collection-v2.ts +++ b/src/http/responses/collection-v2.ts @@ -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 diff --git a/src/http/responses/collections.ts b/src/http/responses/collections.ts index fe90065..8306328 100644 --- a/src/http/responses/collections.ts +++ b/src/http/responses/collections.ts @@ -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 diff --git a/src/http/responses/css.ts b/src/http/responses/css.ts index ec39b21..d1abb56 100644 --- a/src/http/responses/css.ts +++ b/src/http/responses/css.ts @@ -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 diff --git a/src/http/responses/icons.ts b/src/http/responses/icons.ts index 46e4fd6..38fe2aa 100644 --- a/src/http/responses/icons.ts +++ b/src/http/responses/icons.ts @@ -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 diff --git a/src/http/responses/keywords.ts b/src/http/responses/keywords.ts index 19bc2ea..9c6b230 100644 --- a/src/http/responses/keywords.ts +++ b/src/http/responses/keywords.ts @@ -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 diff --git a/src/http/responses/modified.ts b/src/http/responses/modified.ts index 6d2963b..cce3055 100644 --- a/src/http/responses/modified.ts +++ b/src/http/responses/modified.ts @@ -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 diff --git a/src/http/responses/search.ts b/src/http/responses/search.ts index 815014d..6276fa9 100644 --- a/src/http/responses/search.ts +++ b/src/http/responses/search.ts @@ -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; diff --git a/src/http/responses/svg.ts b/src/http/responses/svg.ts index 96c6fae..4faceea 100644 --- a/src/http/responses/svg.ts +++ b/src/http/responses/svg.ts @@ -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 diff --git a/src/http/responses/update.ts b/src/http/responses/update.ts index 3a1e9ea..484d496 100644 --- a/src/http/responses/update.ts +++ b/src/http/responses/update.ts @@ -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; diff --git a/src/http/responses/version.ts b/src/http/responses/version.ts index 093f02c..4494c27 100644 --- a/src/http/responses/version.ts +++ b/src/http/responses/version.ts @@ -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; diff --git a/src/importers/collections/base.ts b/src/importers/collections/base.ts index 538170f..56cdffe 100644 --- a/src/importers/collections/base.ts +++ b/src/importers/collections/base.ts @@ -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 diff --git a/src/importers/collections/collections.ts b/src/importers/collections/collections.ts index 24bac46..fb48d0d 100644 --- a/src/importers/collections/collections.ts +++ b/src/importers/collections/collections.ts @@ -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 diff --git a/src/importers/collections/list.ts b/src/importers/collections/list.ts index f14c9ee..3e06ae3 100644 --- a/src/importers/collections/list.ts +++ b/src/importers/collections/list.ts @@ -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 diff --git a/src/importers/common/icon-set-json.ts b/src/importers/common/icon-set-json.ts index ec20292..6566475 100644 --- a/src/importers/common/icon-set-json.ts +++ b/src/importers/common/icon-set-json.ts @@ -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? diff --git a/src/importers/common/json-package.ts b/src/importers/common/json-package.ts index 6a9816b..adaf2d6 100644 --- a/src/importers/common/json-package.ts +++ b/src/importers/common/json-package.ts @@ -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? diff --git a/src/importers/full/_directory-json.ts b/src/importers/full/_directory-json.ts index 616f2ba..bc1435a 100644 --- a/src/importers/full/_directory-json.ts +++ b/src/importers/full/_directory-json.ts @@ -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 diff --git a/src/importers/full/_json.ts b/src/importers/full/_json.ts index b69849d..f3a0a1a 100644 --- a/src/importers/full/_json.ts +++ b/src/importers/full/_json.ts @@ -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 diff --git a/src/importers/full/base.ts b/src/importers/full/base.ts index 75f3b4d..d52212b 100644 --- a/src/importers/full/base.ts +++ b/src/importers/full/base.ts @@ -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 diff --git a/src/importers/full/directory-json.ts b/src/importers/full/directory-json.ts index 380172b..302be1e 100644 --- a/src/importers/full/directory-json.ts +++ b/src/importers/full/directory-json.ts @@ -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 diff --git a/src/importers/full/json.ts b/src/importers/full/json.ts index 7878eca..1b7c8f6 100644 --- a/src/importers/full/json.ts +++ b/src/importers/full/json.ts @@ -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 diff --git a/src/importers/icon-set/json-package.ts b/src/importers/icon-set/json-package.ts index 13f60da..0efe5e5 100644 --- a/src/importers/icon-set/json-package.ts +++ b/src/importers/icon-set/json-package.ts @@ -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 diff --git a/src/importers/icon-set/json.ts b/src/importers/icon-set/json.ts index 3471f1e..f2406cb 100644 --- a/src/importers/icon-set/json.ts +++ b/src/importers/icon-set/json.ts @@ -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 diff --git a/src/index.ts b/src/index.ts index 5caa3b3..e6ee12f 100644 --- a/src/index.ts +++ b/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 diff --git a/src/misc/files.ts b/src/misc/files.ts index 8f07c35..6e01975 100644 --- a/src/misc/files.ts +++ b/src/misc/files.ts @@ -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 diff --git a/src/misc/load-config.ts b/src/misc/load-config.ts index 68bc5bc..d296bcd 100644 --- a/src/misc/load-config.ts +++ b/src/misc/load-config.ts @@ -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; diff --git a/src/types/collections/storage.ts b/src/types/collections/storage.ts index 12fdca0..c14aeb2 100644 --- a/src/types/collections/storage.ts +++ b/src/types/collections/storage.ts @@ -1,4 +1,4 @@ -import type { StoredIconSet } from '../icon-set/storage'; +import type { StoredIconSet } from '../icon-set/storage.js'; /** * Generated data diff --git a/src/types/icon-set/storage.ts b/src/types/icon-set/storage.ts index 66df420..2c86916 100644 --- a/src/types/icon-set/storage.ts +++ b/src/types/icon-set/storage.ts @@ -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 diff --git a/src/types/importers.ts b/src/types/importers.ts index 50521fa..2ee24a7 100644 --- a/src/types/importers.ts +++ b/src/types/importers.ts @@ -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 diff --git a/src/types/importers/collections.ts b/src/types/importers/collections.ts index f9b4b64..369e2c5 100644 --- a/src/types/importers/collections.ts +++ b/src/types/importers/collections.ts @@ -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 diff --git a/src/types/importers/common.ts b/src/types/importers/common.ts index c5d15c8..768d3b0 100644 --- a/src/types/importers/common.ts +++ b/src/types/importers/common.ts @@ -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 diff --git a/src/types/importers/full.ts b/src/types/importers/full.ts index f1ea876..bf19bbe 100644 --- a/src/types/importers/full.ts +++ b/src/types/importers/full.ts @@ -1,4 +1,4 @@ -import type { BaseMainImporter, IconSetImportedData } from './common'; +import type { BaseMainImporter, IconSetImportedData } from './common.js'; /** * Base full importer diff --git a/src/types/importers/icon-set.ts b/src/types/importers/icon-set.ts index 174bdf2..af1051e 100644 --- a/src/types/importers/icon-set.ts +++ b/src/types/importers/icon-set.ts @@ -1,4 +1,4 @@ -import type { BaseImporter, IconSetImportedData } from './common'; +import type { BaseImporter, IconSetImportedData } from './common.js'; /** * Base icon set importer interface diff --git a/src/types/search.ts b/src/types/search.ts index eac2393..916e65f 100644 --- a/src/types/search.ts +++ b/src/types/search.ts @@ -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 diff --git a/tsconfig-base.json b/tsconfig-base.json index c64aa56..9fad5a6 100644 --- a/tsconfig-base.json +++ b/tsconfig-base.json @@ -1,7 +1,7 @@ { "compilerOptions": { "target": "ESNext", - "module": "CommonJS", + "module": "ESNext", "strict": true, "skipLibCheck": true, "moduleResolution": "node",