@iconify/tools 2.0.12 → 2.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/lib/colors/attribs.cjs +30 -0
  2. package/lib/colors/attribs.d.ts +13 -10
  3. package/lib/colors/attribs.mjs +7 -13
  4. package/lib/colors/parse.cjs +269 -0
  5. package/lib/colors/parse.d.ts +15 -11
  6. package/lib/colors/parse.mjs +27 -31
  7. package/lib/colors/validate.cjs +52 -0
  8. package/lib/colors/validate.d.ts +11 -4
  9. package/lib/colors/validate.mjs +19 -6
  10. package/lib/css/parse.cjs +26 -0
  11. package/lib/css/parse.d.ts +3 -1
  12. package/lib/css/parse.mjs +8 -6
  13. package/lib/css/parser/error.cjs +25 -0
  14. package/lib/css/parser/error.d.ts +4 -2
  15. package/lib/css/parser/error.mjs +2 -4
  16. package/lib/css/parser/export.cjs +48 -0
  17. package/lib/css/parser/export.d.ts +5 -2
  18. package/lib/css/parser/export.mjs +4 -6
  19. package/lib/css/parser/strings.cjs +77 -0
  20. package/lib/css/parser/strings.d.ts +6 -3
  21. package/lib/css/parser/strings.mjs +4 -6
  22. package/lib/css/parser/text.cjs +135 -0
  23. package/lib/css/parser/text.d.ts +8 -5
  24. package/lib/css/parser/text.mjs +3 -8
  25. package/lib/css/parser/tokens.cjs +184 -0
  26. package/lib/css/parser/tokens.d.ts +6 -3
  27. package/lib/css/parser/tokens.mjs +7 -13
  28. package/lib/css/parser/tree.cjs +42 -0
  29. package/lib/css/parser/tree.d.ts +5 -2
  30. package/lib/css/parser/tree.mjs +2 -4
  31. package/lib/css/parser/types.cjs +2 -0
  32. package/lib/css/parser/types.d.ts +13 -11
  33. package/lib/css/parser/types.mjs +1 -0
  34. package/lib/download/api/cache.cjs +86 -0
  35. package/lib/download/api/cache.d.ts +8 -5
  36. package/lib/download/api/cache.mjs +14 -19
  37. package/lib/download/api/download.cjs +28 -0
  38. package/lib/download/api/download.d.ts +5 -2
  39. package/lib/download/api/download.mjs +8 -9
  40. package/lib/download/api/index.cjs +51 -0
  41. package/lib/download/api/index.d.ts +5 -2
  42. package/lib/download/api/index.mjs +8 -6
  43. package/lib/download/api/types.cjs +2 -0
  44. package/lib/download/api/types.d.ts +4 -2
  45. package/lib/download/api/types.mjs +1 -0
  46. package/lib/download/git/branch.cjs +22 -0
  47. package/lib/download/git/branch.d.ts +5 -2
  48. package/lib/download/git/branch.mjs +5 -5
  49. package/lib/download/git/hash.cjs +15 -0
  50. package/lib/download/git/hash.d.ts +5 -2
  51. package/lib/download/git/hash.mjs +5 -5
  52. package/lib/download/git/index.cjs +76 -0
  53. package/lib/download/git/index.d.ts +10 -8
  54. package/lib/download/git/index.mjs +42 -20
  55. package/lib/download/git/reset.cjs +41 -0
  56. package/lib/download/git/reset.d.ts +6 -0
  57. package/lib/download/git/reset.mjs +37 -0
  58. package/lib/download/github/hash.cjs +32 -0
  59. package/lib/download/github/hash.d.ts +5 -2
  60. package/lib/download/github/hash.mjs +10 -7
  61. package/lib/download/github/index.cjs +98 -0
  62. package/lib/download/github/index.d.ts +11 -9
  63. package/lib/download/github/index.mjs +23 -17
  64. package/lib/download/github/types.cjs +2 -0
  65. package/lib/download/github/types.d.ts +3 -1
  66. package/lib/download/github/types.mjs +1 -0
  67. package/lib/download/gitlab/hash.cjs +32 -0
  68. package/lib/download/gitlab/hash.d.ts +5 -2
  69. package/lib/download/gitlab/hash.mjs +10 -6
  70. package/lib/download/gitlab/index.cjs +98 -0
  71. package/lib/download/gitlab/index.d.ts +11 -9
  72. package/lib/download/gitlab/index.mjs +24 -18
  73. package/lib/download/gitlab/types.cjs +7 -0
  74. package/lib/download/gitlab/types.d.ts +4 -2
  75. package/lib/download/gitlab/types.mjs +3 -5
  76. package/lib/download/helpers/untar.cjs +14 -0
  77. package/lib/download/helpers/untar.d.ts +3 -1
  78. package/lib/download/helpers/untar.mjs +4 -5
  79. package/lib/download/helpers/unzip.cjs +19 -0
  80. package/lib/download/helpers/unzip.d.ts +3 -1
  81. package/lib/download/helpers/unzip.mjs +6 -7
  82. package/lib/download/index.cjs +64 -0
  83. package/lib/download/index.d.ts +18 -13
  84. package/lib/download/index.mjs +46 -19
  85. package/lib/download/npm/index.cjs +82 -0
  86. package/lib/download/npm/index.d.ts +10 -8
  87. package/lib/download/npm/index.mjs +16 -13
  88. package/lib/download/npm/types.cjs +2 -0
  89. package/lib/download/npm/types.d.ts +3 -1
  90. package/lib/download/npm/types.mjs +1 -0
  91. package/lib/download/npm/version.cjs +23 -0
  92. package/lib/download/npm/version.d.ts +7 -4
  93. package/lib/download/npm/version.mjs +8 -10
  94. package/lib/download/types/modified.cjs +2 -0
  95. package/lib/download/types/modified.d.ts +3 -1
  96. package/lib/download/types/modified.mjs +1 -0
  97. package/lib/download/types/sources.cjs +2 -0
  98. package/lib/download/types/sources.d.ts +4 -2
  99. package/lib/download/types/sources.mjs +1 -0
  100. package/lib/export/directory.cjs +45 -0
  101. package/lib/export/directory.d.ts +11 -4
  102. package/lib/export/directory.mjs +8 -8
  103. package/lib/export/helpers/custom-files.cjs +28 -0
  104. package/lib/export/helpers/custom-files.d.ts +4 -2
  105. package/lib/export/helpers/custom-files.mjs +8 -9
  106. package/lib/export/helpers/prepare.cjs +36 -0
  107. package/lib/export/helpers/prepare.d.ts +5 -3
  108. package/lib/export/helpers/prepare.mjs +7 -9
  109. package/lib/export/helpers/types-version.cjs +22 -0
  110. package/lib/export/helpers/types-version.d.ts +3 -1
  111. package/lib/export/helpers/types-version.mjs +15 -37
  112. package/lib/export/icon-package.cjs +59 -0
  113. package/lib/export/icon-package.d.ts +12 -5
  114. package/lib/export/icon-package.mjs +15 -16
  115. package/lib/export/json-package.cjs +133 -0
  116. package/lib/export/json-package.d.ts +12 -5
  117. package/lib/export/json-package.mjs +24 -22
  118. package/lib/icon-set/index.cjs +589 -0
  119. package/lib/icon-set/index.d.ts +9 -6
  120. package/lib/icon-set/index.mjs +47 -57
  121. package/lib/icon-set/match.cjs +58 -0
  122. package/lib/icon-set/match.d.ts +10 -3
  123. package/lib/icon-set/match.mjs +5 -6
  124. package/lib/icon-set/merge.cjs +83 -0
  125. package/lib/icon-set/merge.d.ts +9 -2
  126. package/lib/icon-set/merge.mjs +15 -10
  127. package/lib/icon-set/props.cjs +28 -0
  128. package/lib/icon-set/props.d.ts +8 -4
  129. package/lib/icon-set/props.mjs +9 -12
  130. package/lib/icon-set/types.cjs +2 -0
  131. package/lib/icon-set/types.d.ts +19 -17
  132. package/lib/icon-set/types.mjs +1 -0
  133. package/lib/import/directory.cjs +76 -0
  134. package/lib/import/directory.d.ts +11 -5
  135. package/lib/import/directory.mjs +36 -11
  136. package/lib/import/figma/index.cjs +105 -0
  137. package/lib/import/figma/index.d.ts +15 -5
  138. package/lib/import/figma/index.mjs +40 -13
  139. package/lib/import/figma/nodes.cjs +86 -0
  140. package/lib/import/figma/nodes.d.ts +13 -4
  141. package/lib/import/figma/nodes.mjs +6 -16
  142. package/lib/import/figma/query.cjs +218 -0
  143. package/lib/import/figma/query.d.ts +18 -9
  144. package/lib/import/figma/query.mjs +9 -12
  145. package/lib/import/figma/types/api.cjs +2 -0
  146. package/lib/import/figma/types/api.d.ts +8 -7
  147. package/lib/import/figma/types/api.mjs +1 -0
  148. package/lib/import/figma/types/nodes.cjs +2 -0
  149. package/lib/import/figma/types/nodes.d.ts +16 -9
  150. package/lib/import/figma/types/nodes.mjs +1 -0
  151. package/lib/import/figma/types/options.cjs +2 -0
  152. package/lib/import/figma/types/options.d.ts +17 -10
  153. package/lib/import/figma/types/options.mjs +1 -0
  154. package/lib/import/figma/types/result.cjs +2 -0
  155. package/lib/import/figma/types/result.d.ts +12 -5
  156. package/lib/import/figma/types/result.mjs +1 -0
  157. package/lib/index.cjs +137 -0
  158. package/lib/index.d.ts +65 -43
  159. package/lib/index.mjs +83 -92
  160. package/lib/misc/bump-version.cjs +17 -0
  161. package/lib/misc/bump-version.d.ts +3 -1
  162. package/lib/misc/bump-version.mjs +2 -4
  163. package/lib/misc/compare-dirs.cjs +75 -0
  164. package/lib/misc/compare-dirs.d.ts +4 -2
  165. package/lib/misc/compare-dirs.mjs +12 -12
  166. package/lib/misc/exec.cjs +25 -0
  167. package/lib/misc/exec.d.ts +6 -4
  168. package/lib/misc/exec.mjs +4 -5
  169. package/lib/misc/keyword.cjs +19 -0
  170. package/lib/misc/keyword.d.ts +3 -1
  171. package/lib/misc/keyword.mjs +2 -4
  172. package/lib/misc/scan.cjs +51 -0
  173. package/lib/misc/scan.d.ts +7 -6
  174. package/lib/misc/scan.mjs +6 -7
  175. package/lib/misc/write-json.cjs +11 -0
  176. package/lib/misc/write-json.d.ts +3 -1
  177. package/lib/misc/write-json.mjs +5 -6
  178. package/lib/optimise/flags.cjs +252 -0
  179. package/lib/optimise/flags.d.ts +7 -2
  180. package/lib/optimise/flags.mjs +18 -19
  181. package/lib/optimise/global-style.cjs +154 -0
  182. package/lib/optimise/global-style.d.ts +7 -2
  183. package/lib/optimise/global-style.mjs +68 -47
  184. package/lib/optimise/scale.cjs +26 -0
  185. package/lib/optimise/scale.d.ts +7 -2
  186. package/lib/optimise/scale.mjs +5 -5
  187. package/lib/optimise/svgo.cjs +83 -0
  188. package/lib/optimise/svgo.d.ts +10 -6
  189. package/lib/optimise/svgo.mjs +6 -9
  190. package/lib/svg/analyse/error.cjs +18 -0
  191. package/lib/svg/analyse/error.d.ts +5 -2
  192. package/lib/svg/analyse/error.mjs +2 -4
  193. package/lib/svg/analyse/types.cjs +2 -0
  194. package/lib/svg/analyse/types.d.ts +11 -11
  195. package/lib/svg/analyse/types.mjs +1 -0
  196. package/lib/svg/analyse.cjs +291 -0
  197. package/lib/svg/analyse.d.ts +8 -3
  198. package/lib/svg/analyse.mjs +15 -30
  199. package/lib/svg/cleanup/attribs.cjs +41 -0
  200. package/lib/svg/cleanup/attribs.d.ts +7 -2
  201. package/lib/svg/cleanup/attribs.mjs +6 -12
  202. package/lib/svg/cleanup/bad-tags.cjs +51 -0
  203. package/lib/svg/cleanup/bad-tags.d.ts +7 -2
  204. package/lib/svg/cleanup/bad-tags.mjs +10 -25
  205. package/lib/svg/cleanup/inline-style.cjs +64 -0
  206. package/lib/svg/cleanup/inline-style.d.ts +7 -2
  207. package/lib/svg/cleanup/inline-style.mjs +14 -19
  208. package/lib/svg/cleanup/root-svg.cjs +81 -0
  209. package/lib/svg/cleanup/root-svg.d.ts +7 -2
  210. package/lib/svg/cleanup/root-svg.mjs +7 -18
  211. package/lib/svg/cleanup/svgo-style.cjs +38 -0
  212. package/lib/svg/cleanup/svgo-style.d.ts +7 -2
  213. package/lib/svg/cleanup/svgo-style.mjs +16 -11
  214. package/lib/svg/cleanup.cjs +32 -0
  215. package/lib/svg/cleanup.d.ts +7 -2
  216. package/lib/svg/cleanup.mjs +21 -9
  217. package/lib/svg/data/attributes.cjs +355 -0
  218. package/lib/svg/data/attributes.d.ts +27 -25
  219. package/lib/svg/data/attributes.mjs +90 -115
  220. package/lib/svg/data/tags.cjs +137 -0
  221. package/lib/svg/data/tags.d.ts +25 -23
  222. package/lib/svg/data/tags.mjs +25 -49
  223. package/lib/svg/index.cjs +130 -0
  224. package/lib/svg/index.d.ts +16 -5
  225. package/lib/svg/index.mjs +48 -11
  226. package/lib/svg/parse-style.cjs +134 -0
  227. package/lib/svg/parse-style.d.ts +12 -8
  228. package/lib/svg/parse-style.mjs +11 -9
  229. package/lib/svg/parse.cjs +42 -0
  230. package/lib/svg/parse.d.ts +11 -7
  231. package/lib/svg/parse.mjs +2 -4
  232. package/package.json +102 -93
  233. package/lib/colors/attribs.js +0 -26
  234. package/lib/colors/parse.js +0 -341
  235. package/lib/colors/validate.js +0 -48
  236. package/lib/css/parse.js +0 -23
  237. package/lib/css/parser/error.js +0 -27
  238. package/lib/css/parser/export.js +0 -69
  239. package/lib/css/parser/strings.js +0 -93
  240. package/lib/css/parser/text.js +0 -171
  241. package/lib/css/parser/tokens.js +0 -200
  242. package/lib/css/parser/tree.js +0 -44
  243. package/lib/css/parser/types.js +0 -2
  244. package/lib/download/api/cache.js +0 -108
  245. package/lib/download/api/download.js +0 -27
  246. package/lib/download/api/index.js +0 -52
  247. package/lib/download/api/types.js +0 -2
  248. package/lib/download/git/branch.js +0 -22
  249. package/lib/download/git/hash.js +0 -14
  250. package/lib/download/git/index.js +0 -63
  251. package/lib/download/github/hash.js +0 -28
  252. package/lib/download/github/index.js +0 -116
  253. package/lib/download/github/types.js +0 -2
  254. package/lib/download/gitlab/hash.js +0 -27
  255. package/lib/download/gitlab/index.js +0 -115
  256. package/lib/download/gitlab/types.js +0 -7
  257. package/lib/download/helpers/untar.js +0 -14
  258. package/lib/download/helpers/unzip.js +0 -18
  259. package/lib/download/index.js +0 -27
  260. package/lib/download/npm/index.js +0 -91
  261. package/lib/download/npm/types.js +0 -2
  262. package/lib/download/npm/version.js +0 -27
  263. package/lib/download/types/modified.js +0 -2
  264. package/lib/download/types/sources.js +0 -2
  265. package/lib/export/directory.js +0 -52
  266. package/lib/export/helpers/custom-files.js +0 -32
  267. package/lib/export/helpers/prepare.js +0 -49
  268. package/lib/export/helpers/types-version.js +0 -12
  269. package/lib/export/icon-package.js +0 -77
  270. package/lib/export/json-package.js +0 -151
  271. package/lib/icon-set/index.js +0 -746
  272. package/lib/icon-set/match.js +0 -66
  273. package/lib/icon-set/merge.js +0 -90
  274. package/lib/icon-set/props.js +0 -33
  275. package/lib/icon-set/types.js +0 -2
  276. package/lib/import/directory.js +0 -59
  277. package/lib/import/figma/index.js +0 -90
  278. package/lib/import/figma/nodes.js +0 -108
  279. package/lib/import/figma/query.js +0 -244
  280. package/lib/import/figma/types/api.js +0 -12
  281. package/lib/import/figma/types/nodes.js +0 -2
  282. package/lib/import/figma/types/options.js +0 -2
  283. package/lib/import/figma/types/result.js +0 -2
  284. package/lib/index.js +0 -101
  285. package/lib/misc/bump-version.js +0 -19
  286. package/lib/misc/compare-dirs.js +0 -84
  287. package/lib/misc/exec.js +0 -26
  288. package/lib/misc/keyword.js +0 -31
  289. package/lib/misc/scan.js +0 -55
  290. package/lib/misc/write-json.js +0 -11
  291. package/lib/optimise/flags.js +0 -312
  292. package/lib/optimise/global-style.js +0 -158
  293. package/lib/optimise/scale.js +0 -42
  294. package/lib/optimise/svgo.js +0 -99
  295. package/lib/svg/analyse/error.js +0 -22
  296. package/lib/svg/analyse/types.js +0 -2
  297. package/lib/svg/analyse.js +0 -352
  298. package/lib/svg/cleanup/attribs.js +0 -51
  299. package/lib/svg/cleanup/bad-tags.js +0 -65
  300. package/lib/svg/cleanup/inline-style.js +0 -77
  301. package/lib/svg/cleanup/root-svg.js +0 -107
  302. package/lib/svg/cleanup/svgo-style.js +0 -35
  303. package/lib/svg/cleanup.js +0 -24
  304. package/lib/svg/data/attributes.js +0 -403
  305. package/lib/svg/data/tags.js +0 -188
  306. package/lib/svg/index.js +0 -125
  307. package/lib/svg/parse-style.js +0 -151
  308. package/lib/svg/parse.js +0 -49
@@ -1,10 +1,15 @@
1
- import type { IconSet } from '../icon-set';
2
- import type { ExportTargetOptions } from './helpers/prepare';
3
- import { ExportOptionsWithCustomFiles } from './helpers/custom-files';
1
+ import { IconSet } from '../icon-set/index.js';
2
+ import { ExportTargetOptions } from './helpers/prepare.js';
3
+ import { ExportOptionsWithCustomFiles } from './helpers/custom-files.js';
4
+ import '@iconify/types';
5
+ import '@iconify/utils/lib/customisations';
6
+ import '../icon-set/types.js';
7
+ import '../svg/index.js';
8
+
4
9
  /**
5
10
  * Options
6
11
  */
7
- export interface ExportIconPackageOptions extends ExportTargetOptions, ExportOptionsWithCustomFiles {
12
+ interface ExportIconPackageOptions extends ExportTargetOptions, ExportOptionsWithCustomFiles {
8
13
  package?: Record<string, unknown>;
9
14
  module?: boolean;
10
15
  typesContent?: string;
@@ -14,4 +19,6 @@ export interface ExportIconPackageOptions extends ExportTargetOptions, ExportOpt
14
19
  *
15
20
  * Used for exporting `@iconify-icons/{prefix}` packages
16
21
  */
17
- export declare function exportIconPackage(iconSet: IconSet, options: ExportIconPackageOptions): Promise<string[]>;
22
+ declare function exportIconPackage(iconSet: IconSet, options: ExportIconPackageOptions): Promise<string[]>;
23
+
24
+ export { ExportIconPackageOptions, exportIconPackage };
@@ -1,17 +1,17 @@
1
- // src/export/icon-package.ts
2
- import { promises as fs } from "fs";
3
- import { prepareDirectoryForExport } from "./helpers/prepare.mjs";
4
- import { writeJSONFile } from "../misc/write-json.mjs";
5
- import { getTypesVersion } from "./helpers/types-version.mjs";
6
- import {
7
- exportCustomFiles
8
- } from "./helpers/custom-files.mjs";
9
- var defaultTypesContent = `import type { IconifyIcon } from '@iconify/types';
1
+ import { promises } from 'fs';
2
+ import { prepareDirectoryForExport } from './helpers/prepare.mjs';
3
+ import { writeJSONFile } from '../misc/write-json.mjs';
4
+ import { getTypesVersion } from './helpers/types-version.mjs';
5
+ import { exportCustomFiles } from './helpers/custom-files.mjs';
6
+ import 'pathe';
7
+ import 'local-pkg';
8
+
9
+ const defaultTypesContent = `import type { IconifyIcon } from '@iconify/types';
10
10
  declare const data: IconifyIcon;
11
11
  export default data;
12
12
  `;
13
13
  async function exportIconPackage(iconSet, options) {
14
- const files = new Set();
14
+ const files = /* @__PURE__ */ new Set();
15
15
  const esm = options.module !== false;
16
16
  const dir = await prepareDirectoryForExport(options);
17
17
  const typesContent = options.typesContent || defaultTypesContent;
@@ -21,7 +21,7 @@ async function exportIconPackage(iconSet, options) {
21
21
  return;
22
22
  }
23
23
  const typesFilename = name2 + ".d.ts";
24
- await fs.writeFile(`${dir}/${typesFilename}`, typesContent, "utf8");
24
+ await promises.writeFile(`${dir}/${typesFilename}`, typesContent, "utf8");
25
25
  files.add(typesFilename);
26
26
  let content = `const data = ` + JSON.stringify(data, null, " ") + ";\n";
27
27
  if (!esm) {
@@ -30,7 +30,7 @@ async function exportIconPackage(iconSet, options) {
30
30
  content += "export default data;\n";
31
31
  }
32
32
  const contentFilename = name2 + ".js";
33
- await fs.writeFile(`${dir}/${contentFilename}`, content, "utf8");
33
+ await promises.writeFile(`${dir}/${contentFilename}`, content, "utf8");
34
34
  files.add(contentFilename);
35
35
  });
36
36
  await exportCustomFiles(dir, options, files);
@@ -44,13 +44,12 @@ async function exportIconPackage(iconSet, options) {
44
44
  iconSetInfo: info,
45
45
  ...customPackageProps,
46
46
  dependencies: dependencies || {
47
- "@iconify/types": "^" + getTypesVersion()
47
+ "@iconify/types": "^" + await getTypesVersion()
48
48
  }
49
49
  };
50
50
  await writeJSONFile(dir + "/package.json", packageJSON);
51
51
  files.add("package.json");
52
52
  return Array.from(files);
53
53
  }
54
- export {
55
- exportIconPackage
56
- };
54
+
55
+ export { exportIconPackage };
@@ -0,0 +1,133 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const fs = require('fs');
6
+ const icon = require('@iconify/utils/lib/icon');
7
+ const export_helpers_prepare = require('./helpers/prepare.cjs');
8
+ const misc_writeJson = require('../misc/write-json.cjs');
9
+ const export_helpers_typesVersion = require('./helpers/types-version.cjs');
10
+ const export_helpers_customFiles = require('./helpers/custom-files.cjs');
11
+ require('pathe');
12
+ require('local-pkg');
13
+
14
+ const exportTypes = {
15
+ icons: "IconifyJSON",
16
+ info: "IconifyInfo",
17
+ metadata: "IconifyMetaData",
18
+ chars: "IconifyChars"
19
+ };
20
+ const iconsKeys = ["aliases"].concat(Object.keys(icon.iconDefaults));
21
+ const metadataKeys = [
22
+ "categories",
23
+ "themes",
24
+ "prefixes",
25
+ "suffixes"
26
+ ];
27
+ async function exportJSONPackage(iconSet, options) {
28
+ const files = /* @__PURE__ */ new Set();
29
+ const dir = await export_helpers_prepare.prepareDirectoryForExport(options);
30
+ const exportedJSON = iconSet.export(true);
31
+ const icons = {
32
+ prefix: exportedJSON.prefix,
33
+ icons: exportedJSON.icons
34
+ };
35
+ iconsKeys.forEach((attr) => {
36
+ if (exportedJSON[attr] !== void 0) {
37
+ icons[attr] = exportedJSON[attr];
38
+ }
39
+ });
40
+ const metadata = {};
41
+ let hasMetadata = false;
42
+ metadataKeys.forEach((attr) => {
43
+ if (exportedJSON[attr]) {
44
+ metadata[attr] = exportedJSON[attr];
45
+ hasMetadata = true;
46
+ }
47
+ });
48
+ const info = exportedJSON.info ? {
49
+ prefix: iconSet.prefix,
50
+ ...exportedJSON.info
51
+ } : void 0;
52
+ const contents = {
53
+ icons,
54
+ info,
55
+ metadata: hasMetadata ? metadata : void 0,
56
+ chars: exportedJSON.chars
57
+ };
58
+ const { name, description, version, dependencies, ...customPackageProps } = options.package || {};
59
+ const packageJSONIconSet = {};
60
+ const packageJSONExports = {
61
+ "./*": "./*",
62
+ ".": {
63
+ require: "./index.js",
64
+ import: "./index.mjs"
65
+ }
66
+ };
67
+ const packageJSON = {
68
+ name: name || `@iconify-json/${iconSet.prefix}`,
69
+ description: description || `${info ? info.name : iconSet.prefix} icon set in Iconify JSON format`,
70
+ version,
71
+ iconSetVersion: info?.version,
72
+ main: "index.js",
73
+ module: "index.mjs",
74
+ types: "index.d.ts",
75
+ ...customPackageProps,
76
+ exports: packageJSONExports,
77
+ iconSet: packageJSONIconSet,
78
+ dependencies: dependencies || {
79
+ "@iconify/types": "^" + await export_helpers_typesVersion.getTypesVersion()
80
+ }
81
+ };
82
+ const dtsContent = [];
83
+ const cjsImports = [];
84
+ const cjsExports = [];
85
+ const mjsImports = [];
86
+ const mjsConsts = [];
87
+ const mjsExports = [];
88
+ for (const key in contents) {
89
+ const attr = key;
90
+ const data = contents[attr];
91
+ const type = exportTypes[attr];
92
+ const jsonFilename = attr + ".json";
93
+ const relativeFile = `./${jsonFilename}`;
94
+ dtsContent.push(`export declare const ${attr}: ${type};`);
95
+ cjsExports.push(`exports.${attr} = ${attr};`);
96
+ mjsExports.push(attr);
97
+ if (data !== void 0) {
98
+ await misc_writeJson.writeJSONFile(`${dir}/${jsonFilename}`, data);
99
+ cjsImports.push(`const ${attr} = require('${relativeFile}');`);
100
+ mjsImports.push(`import ${attr} from '${relativeFile}';`);
101
+ packageJSONIconSet[attr] = attr + ".json";
102
+ packageJSONExports[relativeFile] = relativeFile;
103
+ } else {
104
+ await misc_writeJson.writeJSONFile(`${dir}/${jsonFilename}`, {});
105
+ cjsImports.push(`const ${attr} = {};`);
106
+ mjsConsts.push(`const ${attr} = {};`);
107
+ }
108
+ files.add(jsonFilename);
109
+ }
110
+ const cjsContent = cjsImports.concat([""], cjsExports);
111
+ await fs.promises.writeFile(dir + "/index.js", cjsContent.join("\n") + "\n", "utf8");
112
+ files.add("index.js");
113
+ const mjsContent = mjsImports.concat([""], mjsConsts, [
114
+ `export { ${mjsExports.join(", ")} };`
115
+ ]);
116
+ await fs.promises.writeFile(dir + "/index.mjs", mjsContent.join("\n") + "\n", "utf8");
117
+ files.add("index.mjs");
118
+ const usedTypes = Object.values(exportTypes);
119
+ const typesData = [
120
+ `import type { ${usedTypes.join(", ")} } from '@iconify/types';`,
121
+ "",
122
+ `export { ${usedTypes.join(", ")} };`,
123
+ ""
124
+ ].concat(dtsContent);
125
+ await fs.promises.writeFile(dir + "/index.d.ts", typesData.join("\n") + "\n", "utf8");
126
+ files.add("index.d.ts");
127
+ await export_helpers_customFiles.exportCustomFiles(dir, options, files);
128
+ await misc_writeJson.writeJSONFile(dir + "/package.json", packageJSON);
129
+ files.add("package.json");
130
+ return Array.from(files);
131
+ }
132
+
133
+ exports.exportJSONPackage = exportJSONPackage;
@@ -1,10 +1,15 @@
1
- import type { IconSet } from '../icon-set';
2
- import type { ExportTargetOptions } from './helpers/prepare';
3
- import { ExportOptionsWithCustomFiles } from './helpers/custom-files';
1
+ import { IconSet } from '../icon-set/index.js';
2
+ import { ExportTargetOptions } from './helpers/prepare.js';
3
+ import { ExportOptionsWithCustomFiles } from './helpers/custom-files.js';
4
+ import '@iconify/types';
5
+ import '@iconify/utils/lib/customisations';
6
+ import '../icon-set/types.js';
7
+ import '../svg/index.js';
8
+
4
9
  /**
5
10
  * Options
6
11
  */
7
- export interface ExportJSONPackageOptions extends ExportTargetOptions, ExportOptionsWithCustomFiles {
12
+ interface ExportJSONPackageOptions extends ExportTargetOptions, ExportOptionsWithCustomFiles {
8
13
  package?: Record<string, unknown>;
9
14
  }
10
15
  /**
@@ -12,4 +17,6 @@ export interface ExportJSONPackageOptions extends ExportTargetOptions, ExportOpt
12
17
  *
13
18
  * Used for exporting `@iconify-json/{prefix}` packages
14
19
  */
15
- export declare function exportJSONPackage(iconSet: IconSet, options: ExportJSONPackageOptions): Promise<string[]>;
20
+ declare function exportJSONPackage(iconSet: IconSet, options: ExportJSONPackageOptions): Promise<string[]>;
21
+
22
+ export { ExportJSONPackageOptions, exportJSONPackage };
@@ -1,27 +1,27 @@
1
- // src/export/json-package.ts
2
- import { promises as fs } from "fs";
3
- import { iconDefaults } from "@iconify/utils/lib/icon";
4
- import { prepareDirectoryForExport } from "./helpers/prepare.mjs";
5
- import { writeJSONFile } from "../misc/write-json.mjs";
6
- import { getTypesVersion } from "./helpers/types-version.mjs";
7
- import {
8
- exportCustomFiles
9
- } from "./helpers/custom-files.mjs";
10
- var exportTypes = {
1
+ import { promises } from 'fs';
2
+ import { iconDefaults } from '@iconify/utils/lib/icon';
3
+ import { prepareDirectoryForExport } from './helpers/prepare.mjs';
4
+ import { writeJSONFile } from '../misc/write-json.mjs';
5
+ import { getTypesVersion } from './helpers/types-version.mjs';
6
+ import { exportCustomFiles } from './helpers/custom-files.mjs';
7
+ import 'pathe';
8
+ import 'local-pkg';
9
+
10
+ const exportTypes = {
11
11
  icons: "IconifyJSON",
12
12
  info: "IconifyInfo",
13
13
  metadata: "IconifyMetaData",
14
14
  chars: "IconifyChars"
15
15
  };
16
- var iconsKeys = ["aliases"].concat(Object.keys(iconDefaults));
17
- var metadataKeys = [
16
+ const iconsKeys = ["aliases"].concat(Object.keys(iconDefaults));
17
+ const metadataKeys = [
18
18
  "categories",
19
19
  "themes",
20
20
  "prefixes",
21
21
  "suffixes"
22
22
  ];
23
23
  async function exportJSONPackage(iconSet, options) {
24
- const files = new Set();
24
+ const files = /* @__PURE__ */ new Set();
25
25
  const dir = await prepareDirectoryForExport(options);
26
26
  const exportedJSON = iconSet.export(true);
27
27
  const icons = {
@@ -41,7 +41,10 @@ async function exportJSONPackage(iconSet, options) {
41
41
  hasMetadata = true;
42
42
  }
43
43
  });
44
- const info = exportedJSON.info;
44
+ const info = exportedJSON.info ? {
45
+ prefix: iconSet.prefix,
46
+ ...exportedJSON.info
47
+ } : void 0;
45
48
  const contents = {
46
49
  icons,
47
50
  info,
@@ -61,7 +64,7 @@ async function exportJSONPackage(iconSet, options) {
61
64
  name: name || `@iconify-json/${iconSet.prefix}`,
62
65
  description: description || `${info ? info.name : iconSet.prefix} icon set in Iconify JSON format`,
63
66
  version,
64
- iconSetVersion: info == null ? void 0 : info.version,
67
+ iconSetVersion: info?.version,
65
68
  main: "index.js",
66
69
  module: "index.mjs",
67
70
  types: "index.d.ts",
@@ -69,7 +72,7 @@ async function exportJSONPackage(iconSet, options) {
69
72
  exports: packageJSONExports,
70
73
  iconSet: packageJSONIconSet,
71
74
  dependencies: dependencies || {
72
- "@iconify/types": "^" + getTypesVersion()
75
+ "@iconify/types": "^" + await getTypesVersion()
73
76
  }
74
77
  };
75
78
  const dtsContent = [];
@@ -101,12 +104,12 @@ async function exportJSONPackage(iconSet, options) {
101
104
  files.add(jsonFilename);
102
105
  }
103
106
  const cjsContent = cjsImports.concat([""], cjsExports);
104
- await fs.writeFile(dir + "/index.js", cjsContent.join("\n") + "\n", "utf8");
107
+ await promises.writeFile(dir + "/index.js", cjsContent.join("\n") + "\n", "utf8");
105
108
  files.add("index.js");
106
109
  const mjsContent = mjsImports.concat([""], mjsConsts, [
107
110
  `export { ${mjsExports.join(", ")} };`
108
111
  ]);
109
- await fs.writeFile(dir + "/index.mjs", mjsContent.join("\n") + "\n", "utf8");
112
+ await promises.writeFile(dir + "/index.mjs", mjsContent.join("\n") + "\n", "utf8");
110
113
  files.add("index.mjs");
111
114
  const usedTypes = Object.values(exportTypes);
112
115
  const typesData = [
@@ -115,13 +118,12 @@ async function exportJSONPackage(iconSet, options) {
115
118
  `export { ${usedTypes.join(", ")} };`,
116
119
  ""
117
120
  ].concat(dtsContent);
118
- await fs.writeFile(dir + "/index.d.ts", typesData.join("\n") + "\n", "utf8");
121
+ await promises.writeFile(dir + "/index.d.ts", typesData.join("\n") + "\n", "utf8");
119
122
  files.add("index.d.ts");
120
123
  await exportCustomFiles(dir, options, files);
121
124
  await writeJSONFile(dir + "/package.json", packageJSON);
122
125
  files.add("package.json");
123
126
  return Array.from(files);
124
127
  }
125
- export {
126
- exportJSONPackage
127
- };
128
+
129
+ export { exportJSONPackage };