@iconify/tools 4.2.0 → 5.0.0-beta.2
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.
- package/lib/colors/attribs.d.ts +2 -4
- package/lib/colors/attribs.js +33 -0
- package/lib/colors/detect.d.ts +2 -10
- package/lib/colors/detect.js +36 -0
- package/lib/colors/parse.d.ts +12 -19
- package/lib/colors/parse.js +241 -0
- package/lib/colors/validate.d.ts +3 -13
- package/lib/colors/validate.js +31 -0
- package/lib/css/parse.d.ts +1 -2
- package/lib/css/parse.js +18 -0
- package/lib/css/parser/error.d.ts +6 -7
- package/lib/css/parser/error.js +24 -0
- package/lib/css/parser/export.d.ts +2 -4
- package/lib/css/parser/export.js +34 -0
- package/lib/css/parser/strings.d.ts +2 -4
- package/lib/css/parser/strings.js +66 -0
- package/lib/css/parser/text.d.ts +2 -4
- package/lib/css/parser/text.js +103 -0
- package/lib/css/parser/tokens.d.ts +3 -5
- package/lib/css/parser/tokens.js +169 -0
- package/lib/css/parser/tree.d.ts +2 -4
- package/lib/css/parser/tree.js +35 -0
- package/lib/css/parser/types.d.ts +21 -22
- package/lib/css/parser/types.js +1 -0
- package/lib/download/api/cache.d.ts +2 -4
- package/lib/download/api/cache.js +84 -0
- package/lib/download/api/config.d.ts +6 -8
- package/lib/download/api/config.js +10 -0
- package/lib/download/api/download.d.ts +2 -4
- package/lib/download/api/download.js +26 -0
- package/lib/download/api/fetch.d.ts +1 -2
- package/lib/download/api/fetch.js +15 -0
- package/lib/download/api/index.d.ts +2 -4
- package/lib/download/api/index.js +50 -0
- package/lib/download/api/queue.d.ts +9 -10
- package/lib/download/api/queue.js +94 -0
- package/lib/download/api/types.d.ts +6 -7
- package/lib/download/api/types.js +1 -0
- package/lib/download/git/branch.d.ts +2 -4
- package/lib/download/git/branch.js +15 -0
- package/lib/download/git/hash.d.ts +2 -4
- package/lib/download/git/hash.js +10 -0
- package/lib/download/git/index.d.ts +10 -12
- package/lib/download/git/index.js +39 -0
- package/lib/download/git/reset.d.ts +1 -2
- package/lib/download/git/reset.js +12 -0
- package/lib/download/github/hash.d.ts +2 -4
- package/lib/download/github/hash.js +20 -0
- package/lib/download/github/index.d.ts +12 -14
- package/lib/download/github/index.js +66 -0
- package/lib/download/github/types.d.ts +5 -6
- package/lib/download/github/types.js +1 -0
- package/lib/download/gitlab/hash.d.ts +2 -4
- package/lib/download/gitlab/hash.js +19 -0
- package/lib/download/gitlab/index.d.ts +12 -14
- package/lib/download/gitlab/index.js +64 -0
- package/lib/download/gitlab/types.d.ts +5 -6
- package/lib/download/gitlab/types.js +6 -0
- package/lib/download/helpers/untar.d.ts +1 -2
- package/lib/download/helpers/untar.js +13 -0
- package/lib/download/helpers/unzip.d.ts +1 -2
- package/lib/download/helpers/unzip.js +39 -0
- package/lib/download/index.d.ts +15 -20
- package/lib/download/index.js +19 -0
- package/lib/download/npm/index.d.ts +11 -13
- package/lib/download/npm/index.js +51 -0
- package/lib/download/npm/types.d.ts +3 -4
- package/lib/download/npm/types.js +1 -0
- package/lib/download/npm/version.d.ts +4 -6
- package/lib/download/npm/version.js +23 -0
- package/lib/download/types/modified.d.ts +1 -2
- package/lib/download/types/modified.js +1 -0
- package/lib/download/types/sources.d.ts +2 -3
- package/lib/download/types/sources.js +1 -0
- package/lib/export/directory.d.ts +7 -15
- package/lib/export/directory.js +37 -0
- package/lib/export/helpers/custom-files.d.ts +2 -3
- package/lib/export/helpers/custom-files.js +23 -0
- package/lib/export/helpers/prepare.d.ts +3 -4
- package/lib/export/helpers/prepare.js +31 -0
- package/lib/export/helpers/types-version.d.ts +1 -2
- package/lib/export/helpers/types-version.js +19 -0
- package/lib/export/icon-package.d.ts +8 -15
- package/lib/export/icon-package.js +55 -0
- package/lib/export/json-package.d.ts +7 -14
- package/lib/export/json-package.js +129 -0
- package/lib/icon-set/index.d.ts +144 -147
- package/lib/icon-set/index.js +595 -0
- package/lib/icon-set/match.d.ts +3 -11
- package/lib/icon-set/match.js +45 -0
- package/lib/icon-set/merge.d.ts +2 -10
- package/lib/icon-set/merge.js +68 -0
- package/lib/icon-set/modified.d.ts +2 -10
- package/lib/icon-set/modified.js +20 -0
- package/lib/icon-set/props.d.ts +2 -5
- package/lib/icon-set/props.js +19 -0
- package/lib/icon-set/tags.d.ts +7 -15
- package/lib/icon-set/tags.js +53 -0
- package/lib/icon-set/types.d.ts +16 -21
- package/lib/icon-set/types.js +1 -0
- package/lib/import/directory.d.ts +11 -20
- package/lib/import/directory.js +101 -0
- package/lib/import/figma/index.d.ts +4 -15
- package/lib/import/figma/index.js +61 -0
- package/lib/import/figma/nodes.d.ts +4 -14
- package/lib/import/figma/nodes.js +80 -0
- package/lib/import/figma/query.d.ts +9 -19
- package/lib/import/figma/query.js +183 -0
- package/lib/import/figma/types/api.d.ts +26 -27
- package/lib/import/figma/types/api.js +1 -0
- package/lib/import/figma/types/nodes.d.ts +12 -21
- package/lib/import/figma/types/nodes.js +1 -0
- package/lib/import/figma/types/options.d.ts +23 -32
- package/lib/import/figma/types/options.js +1 -0
- package/lib/import/figma/types/result.d.ts +16 -24
- package/lib/import/figma/types/result.js +1 -0
- package/lib/index.d.ts +55 -80
- package/lib/index.js +56 -0
- package/lib/misc/bump-version.d.ts +1 -2
- package/lib/misc/bump-version.js +13 -0
- package/lib/misc/compare-dirs.d.ts +4 -5
- package/lib/misc/compare-dirs.js +65 -0
- package/lib/misc/exec.d.ts +4 -6
- package/lib/misc/exec.js +23 -0
- package/lib/misc/keyword.d.ts +1 -2
- package/lib/misc/keyword.js +12 -0
- package/lib/misc/scan.d.ts +2 -4
- package/lib/misc/scan.js +87 -0
- package/lib/misc/write-json.d.ts +1 -2
- package/lib/misc/write-json.js +10 -0
- package/lib/optimise/figma.d.ts +2 -7
- package/lib/optimise/figma.js +189 -0
- package/lib/optimise/flags.d.ts +2 -7
- package/lib/optimise/flags.js +231 -0
- package/lib/optimise/global-style.d.ts +2 -7
- package/lib/optimise/global-style.js +114 -0
- package/lib/optimise/mask.d.ts +9 -14
- package/lib/optimise/mask.js +83 -0
- package/lib/optimise/origin.d.ts +2 -7
- package/lib/optimise/origin.js +22 -0
- package/lib/optimise/scale.d.ts +2 -7
- package/lib/optimise/scale.js +24 -0
- package/lib/optimise/svgo.d.ts +10 -15
- package/lib/optimise/svgo.js +90 -0
- package/lib/optimise/unwrap.d.ts +2 -7
- package/lib/optimise/unwrap.js +25 -0
- package/lib/svg/analyse/error.d.ts +2 -7
- package/lib/svg/analyse/error.js +12 -0
- package/lib/svg/analyse/types.d.ts +31 -35
- package/lib/svg/analyse/types.js +1 -0
- package/lib/svg/analyse.d.ts +3 -10
- package/lib/svg/analyse.js +256 -0
- package/lib/svg/cleanup/attribs.d.ts +2 -7
- package/lib/svg/cleanup/attribs.js +37 -0
- package/lib/svg/cleanup/bad-tags.d.ts +3 -8
- package/lib/svg/cleanup/bad-tags.js +57 -0
- package/lib/svg/cleanup/inline-style.d.ts +2 -7
- package/lib/svg/cleanup/inline-style.js +80 -0
- package/lib/svg/cleanup/root-style.d.ts +4 -9
- package/lib/svg/cleanup/root-style.js +27 -0
- package/lib/svg/cleanup/root-svg.d.ts +2 -7
- package/lib/svg/cleanup/root-svg.js +73 -0
- package/lib/svg/cleanup/svgo-style.d.ts +2 -7
- package/lib/svg/cleanup/svgo-style.js +24 -0
- package/lib/svg/cleanup.d.ts +3 -8
- package/lib/svg/cleanup.js +20 -0
- package/lib/svg/data/attributes.d.ts +1 -2
- package/lib/svg/data/attributes.js +451 -0
- package/lib/svg/data/tags.d.ts +1 -2
- package/lib/svg/data/tags.js +182 -0
- package/lib/svg/index.d.ts +38 -47
- package/lib/svg/index.js +117 -0
- package/lib/svg/parse-style.d.ts +21 -28
- package/lib/svg/parse-style.js +199 -0
- package/lib/svg/parse.d.ts +8 -16
- package/lib/svg/parse.js +32 -0
- package/package.json +116 -222
- package/lib/colors/attribs.cjs +0 -33
- package/lib/colors/attribs.d.cts +0 -27
- package/lib/colors/attribs.d.mts +0 -27
- package/lib/colors/attribs.mjs +0 -26
- package/lib/colors/detect.cjs +0 -66
- package/lib/colors/detect.d.cts +0 -16
- package/lib/colors/detect.d.mts +0 -16
- package/lib/colors/detect.mjs +0 -64
- package/lib/colors/parse.cjs +0 -300
- package/lib/colors/parse.d.cts +0 -61
- package/lib/colors/parse.d.mts +0 -61
- package/lib/colors/parse.mjs +0 -297
- package/lib/colors/validate.cjs +0 -56
- package/lib/colors/validate.d.cts +0 -21
- package/lib/colors/validate.d.mts +0 -21
- package/lib/colors/validate.mjs +0 -54
- package/lib/css/parse.cjs +0 -24
- package/lib/css/parse.d.cts +0 -6
- package/lib/css/parse.d.mts +0 -6
- package/lib/css/parse.mjs +0 -22
- package/lib/css/parser/error.cjs +0 -23
- package/lib/css/parser/error.d.cts +0 -13
- package/lib/css/parser/error.d.mts +0 -13
- package/lib/css/parser/error.mjs +0 -21
- package/lib/css/parser/export.cjs +0 -37
- package/lib/css/parser/export.d.cts +0 -8
- package/lib/css/parser/export.d.mts +0 -8
- package/lib/css/parser/export.mjs +0 -35
- package/lib/css/parser/strings.cjs +0 -83
- package/lib/css/parser/strings.d.cts +0 -16
- package/lib/css/parser/strings.d.mts +0 -16
- package/lib/css/parser/strings.mjs +0 -80
- package/lib/css/parser/text.cjs +0 -114
- package/lib/css/parser/text.d.cts +0 -20
- package/lib/css/parser/text.d.mts +0 -20
- package/lib/css/parser/text.mjs +0 -109
- package/lib/css/parser/tokens.cjs +0 -206
- package/lib/css/parser/tokens.d.cts +0 -9
- package/lib/css/parser/tokens.d.mts +0 -9
- package/lib/css/parser/tokens.mjs +0 -204
- package/lib/css/parser/tree.cjs +0 -40
- package/lib/css/parser/tree.d.cts +0 -8
- package/lib/css/parser/tree.d.mts +0 -8
- package/lib/css/parser/tree.mjs +0 -38
- package/lib/css/parser/types.cjs +0 -2
- package/lib/css/parser/types.d.cts +0 -52
- package/lib/css/parser/types.d.mts +0 -52
- package/lib/css/parser/types.mjs +0 -1
- package/lib/download/api/cache.cjs +0 -91
- package/lib/download/api/cache.d.cts +0 -20
- package/lib/download/api/cache.d.mts +0 -20
- package/lib/download/api/cache.mjs +0 -86
- package/lib/download/api/config.cjs +0 -11
- package/lib/download/api/config.d.cts +0 -18
- package/lib/download/api/config.d.mts +0 -18
- package/lib/download/api/config.mjs +0 -8
- package/lib/download/api/download.cjs +0 -26
- package/lib/download/api/download.d.cts +0 -8
- package/lib/download/api/download.d.mts +0 -8
- package/lib/download/api/download.mjs +0 -24
- package/lib/download/api/fetch.cjs +0 -12
- package/lib/download/api/fetch.d.cts +0 -10
- package/lib/download/api/fetch.d.mts +0 -10
- package/lib/download/api/fetch.mjs +0 -9
- package/lib/download/api/index.cjs +0 -57
- package/lib/download/api/index.d.cts +0 -8
- package/lib/download/api/index.d.mts +0 -8
- package/lib/download/api/index.mjs +0 -55
- package/lib/download/api/queue.cjs +0 -104
- package/lib/download/api/queue.d.cts +0 -32
- package/lib/download/api/queue.d.mts +0 -32
- package/lib/download/api/queue.mjs +0 -101
- package/lib/download/api/types.cjs +0 -2
- package/lib/download/api/types.d.cts +0 -17
- package/lib/download/api/types.d.mts +0 -17
- package/lib/download/api/types.mjs +0 -1
- package/lib/download/git/branch.cjs +0 -19
- package/lib/download/git/branch.d.cts +0 -8
- package/lib/download/git/branch.d.mts +0 -8
- package/lib/download/git/branch.mjs +0 -17
- package/lib/download/git/hash.cjs +0 -14
- package/lib/download/git/hash.d.cts +0 -8
- package/lib/download/git/hash.d.mts +0 -8
- package/lib/download/git/hash.mjs +0 -12
- package/lib/download/git/index.cjs +0 -76
- package/lib/download/git/index.d.cts +0 -29
- package/lib/download/git/index.d.mts +0 -29
- package/lib/download/git/index.mjs +0 -74
- package/lib/download/git/reset.cjs +0 -36
- package/lib/download/git/reset.d.cts +0 -6
- package/lib/download/git/reset.d.mts +0 -6
- package/lib/download/git/reset.mjs +0 -34
- package/lib/download/github/hash.cjs +0 -31
- package/lib/download/github/hash.d.cts +0 -8
- package/lib/download/github/hash.d.mts +0 -8
- package/lib/download/github/hash.mjs +0 -29
- package/lib/download/github/index.cjs +0 -105
- package/lib/download/github/index.d.cts +0 -31
- package/lib/download/github/index.d.mts +0 -31
- package/lib/download/github/index.mjs +0 -103
- package/lib/download/github/types.cjs +0 -2
- package/lib/download/github/types.d.cts +0 -11
- package/lib/download/github/types.d.mts +0 -11
- package/lib/download/github/types.mjs +0 -1
- package/lib/download/gitlab/hash.cjs +0 -33
- package/lib/download/gitlab/hash.d.cts +0 -8
- package/lib/download/gitlab/hash.d.mts +0 -8
- package/lib/download/gitlab/hash.mjs +0 -31
- package/lib/download/gitlab/index.cjs +0 -105
- package/lib/download/gitlab/index.d.cts +0 -31
- package/lib/download/gitlab/index.d.mts +0 -31
- package/lib/download/gitlab/index.mjs +0 -103
- package/lib/download/gitlab/types.cjs +0 -5
- package/lib/download/gitlab/types.d.cts +0 -15
- package/lib/download/gitlab/types.d.mts +0 -15
- package/lib/download/gitlab/types.mjs +0 -3
- package/lib/download/helpers/untar.cjs +0 -12
- package/lib/download/helpers/untar.d.cts +0 -6
- package/lib/download/helpers/untar.d.mts +0 -6
- package/lib/download/helpers/untar.mjs +0 -10
- package/lib/download/helpers/unzip.cjs +0 -17
- package/lib/download/helpers/unzip.d.cts +0 -6
- package/lib/download/helpers/unzip.d.mts +0 -6
- package/lib/download/helpers/unzip.mjs +0 -11
- package/lib/download/index.cjs +0 -64
- package/lib/download/index.d.cts +0 -48
- package/lib/download/index.d.mts +0 -48
- package/lib/download/index.mjs +0 -62
- package/lib/download/npm/index.cjs +0 -85
- package/lib/download/npm/index.d.cts +0 -30
- package/lib/download/npm/index.d.mts +0 -30
- package/lib/download/npm/index.mjs +0 -83
- package/lib/download/npm/types.cjs +0 -2
- package/lib/download/npm/types.d.cts +0 -9
- package/lib/download/npm/types.d.mts +0 -9
- package/lib/download/npm/types.mjs +0 -1
- package/lib/download/npm/version.cjs +0 -29
- package/lib/download/npm/version.d.cts +0 -16
- package/lib/download/npm/version.d.mts +0 -16
- package/lib/download/npm/version.mjs +0 -26
- package/lib/download/types/modified.cjs +0 -2
- package/lib/download/types/modified.d.cts +0 -6
- package/lib/download/types/modified.d.mts +0 -6
- package/lib/download/types/modified.mjs +0 -1
- package/lib/download/types/sources.cjs +0 -2
- package/lib/download/types/sources.d.cts +0 -12
- package/lib/download/types/sources.d.mts +0 -12
- package/lib/download/types/sources.mjs +0 -1
- package/lib/export/directory.cjs +0 -43
- package/lib/export/directory.d.cts +0 -26
- package/lib/export/directory.d.mts +0 -26
- package/lib/export/directory.mjs +0 -41
- package/lib/export/helpers/custom-files.cjs +0 -26
- package/lib/export/helpers/custom-files.d.cts +0 -12
- package/lib/export/helpers/custom-files.d.mts +0 -12
- package/lib/export/helpers/custom-files.mjs +0 -24
- package/lib/export/helpers/prepare.cjs +0 -34
- package/lib/export/helpers/prepare.d.cts +0 -19
- package/lib/export/helpers/prepare.d.mts +0 -19
- package/lib/export/helpers/prepare.mjs +0 -31
- package/lib/export/helpers/types-version.cjs +0 -12
- package/lib/export/helpers/types-version.d.cts +0 -6
- package/lib/export/helpers/types-version.d.mts +0 -6
- package/lib/export/helpers/types-version.mjs +0 -10
- package/lib/export/icon-package.cjs +0 -56
- package/lib/export/icon-package.d.cts +0 -26
- package/lib/export/icon-package.d.mts +0 -26
- package/lib/export/icon-package.mjs +0 -54
- package/lib/export/json-package.cjs +0 -144
- package/lib/export/json-package.d.cts +0 -25
- package/lib/export/json-package.d.mts +0 -25
- package/lib/export/json-package.mjs +0 -142
- package/lib/icon-set/index.cjs +0 -720
- package/lib/icon-set/index.d.cts +0 -162
- package/lib/icon-set/index.d.mts +0 -162
- package/lib/icon-set/index.mjs +0 -716
- package/lib/icon-set/match.cjs +0 -56
- package/lib/icon-set/match.d.cts +0 -15
- package/lib/icon-set/match.d.mts +0 -15
- package/lib/icon-set/match.mjs +0 -54
- package/lib/icon-set/merge.cjs +0 -87
- package/lib/icon-set/merge.d.cts +0 -14
- package/lib/icon-set/merge.d.mts +0 -14
- package/lib/icon-set/merge.mjs +0 -85
- package/lib/icon-set/modified.cjs +0 -25
- package/lib/icon-set/modified.d.cts +0 -16
- package/lib/icon-set/modified.d.mts +0 -16
- package/lib/icon-set/modified.mjs +0 -23
- package/lib/icon-set/props.cjs +0 -16
- package/lib/icon-set/props.d.cts +0 -13
- package/lib/icon-set/props.d.mts +0 -13
- package/lib/icon-set/props.mjs +0 -13
- package/lib/icon-set/tags.cjs +0 -95
- package/lib/icon-set/tags.d.cts +0 -25
- package/lib/icon-set/tags.d.mts +0 -25
- package/lib/icon-set/tags.mjs +0 -91
- package/lib/icon-set/types.cjs +0 -2
- package/lib/icon-set/types.d.cts +0 -75
- package/lib/icon-set/types.d.mts +0 -75
- package/lib/icon-set/types.mjs +0 -1
- package/lib/import/directory.cjs +0 -169
- package/lib/import/directory.d.cts +0 -52
- package/lib/import/directory.d.mts +0 -52
- package/lib/import/directory.mjs +0 -166
- package/lib/import/figma/index.cjs +0 -115
- package/lib/import/figma/index.d.cts +0 -20
- package/lib/import/figma/index.d.mts +0 -20
- package/lib/import/figma/index.mjs +0 -113
- package/lib/import/figma/nodes.cjs +0 -90
- package/lib/import/figma/nodes.d.cts +0 -18
- package/lib/import/figma/nodes.d.mts +0 -18
- package/lib/import/figma/nodes.mjs +0 -88
- package/lib/import/figma/query.cjs +0 -260
- package/lib/import/figma/query.d.cts +0 -42
- package/lib/import/figma/query.d.mts +0 -42
- package/lib/import/figma/query.mjs +0 -256
- package/lib/import/figma/types/api.cjs +0 -2
- package/lib/import/figma/types/api.d.cts +0 -53
- package/lib/import/figma/types/api.d.mts +0 -53
- package/lib/import/figma/types/api.mjs +0 -1
- package/lib/import/figma/types/nodes.cjs +0 -2
- package/lib/import/figma/types/nodes.d.cts +0 -44
- package/lib/import/figma/types/nodes.d.mts +0 -44
- package/lib/import/figma/types/nodes.mjs +0 -1
- package/lib/import/figma/types/options.cjs +0 -2
- package/lib/import/figma/types/options.d.cts +0 -59
- package/lib/import/figma/types/options.d.mts +0 -59
- package/lib/import/figma/types/options.mjs +0 -1
- package/lib/import/figma/types/result.cjs +0 -2
- package/lib/import/figma/types/result.d.cts +0 -44
- package/lib/import/figma/types/result.d.mts +0 -44
- package/lib/import/figma/types/result.mjs +0 -1
- package/lib/index.cjs +0 -157
- package/lib/index.d.cts +0 -80
- package/lib/index.d.mts +0 -80
- package/lib/index.mjs +0 -91
- package/lib/misc/bump-version.cjs +0 -15
- package/lib/misc/bump-version.d.cts +0 -6
- package/lib/misc/bump-version.d.mts +0 -6
- package/lib/misc/bump-version.mjs +0 -13
- package/lib/misc/cheerio.cjs +0 -2
- package/lib/misc/cheerio.d.cts +0 -10
- package/lib/misc/cheerio.d.mts +0 -10
- package/lib/misc/cheerio.d.ts +0 -10
- package/lib/misc/cheerio.mjs +0 -1
- package/lib/misc/compare-dirs.cjs +0 -75
- package/lib/misc/compare-dirs.d.cts +0 -11
- package/lib/misc/compare-dirs.d.mts +0 -11
- package/lib/misc/compare-dirs.mjs +0 -73
- package/lib/misc/exec.cjs +0 -27
- package/lib/misc/exec.d.cts +0 -12
- package/lib/misc/exec.d.mts +0 -12
- package/lib/misc/exec.mjs +0 -25
- package/lib/misc/keyword.cjs +0 -20
- package/lib/misc/keyword.d.cts +0 -6
- package/lib/misc/keyword.d.mts +0 -6
- package/lib/misc/keyword.mjs +0 -18
- package/lib/misc/scan.cjs +0 -114
- package/lib/misc/scan.d.cts +0 -33
- package/lib/misc/scan.d.mts +0 -33
- package/lib/misc/scan.mjs +0 -111
- package/lib/misc/write-json.cjs +0 -9
- package/lib/misc/write-json.d.cts +0 -6
- package/lib/misc/write-json.d.mts +0 -6
- package/lib/misc/write-json.mjs +0 -7
- package/lib/optimise/figma.cjs +0 -232
- package/lib/optimise/figma.d.cts +0 -14
- package/lib/optimise/figma.d.mts +0 -14
- package/lib/optimise/figma.mjs +0 -230
- package/lib/optimise/flags.cjs +0 -256
- package/lib/optimise/flags.d.cts +0 -11
- package/lib/optimise/flags.d.mts +0 -11
- package/lib/optimise/flags.mjs +0 -254
- package/lib/optimise/global-style.cjs +0 -158
- package/lib/optimise/global-style.d.cts +0 -11
- package/lib/optimise/global-style.d.mts +0 -11
- package/lib/optimise/global-style.mjs +0 -156
- package/lib/optimise/mask.cjs +0 -110
- package/lib/optimise/mask.d.cts +0 -24
- package/lib/optimise/mask.d.mts +0 -24
- package/lib/optimise/mask.mjs +0 -108
- package/lib/optimise/origin.cjs +0 -23
- package/lib/optimise/origin.d.cts +0 -11
- package/lib/optimise/origin.d.mts +0 -11
- package/lib/optimise/origin.mjs +0 -21
- package/lib/optimise/scale.cjs +0 -27
- package/lib/optimise/scale.d.cts +0 -11
- package/lib/optimise/scale.d.mts +0 -11
- package/lib/optimise/scale.mjs +0 -25
- package/lib/optimise/svgo.cjs +0 -107
- package/lib/optimise/svgo.d.cts +0 -37
- package/lib/optimise/svgo.d.mts +0 -37
- package/lib/optimise/svgo.mjs +0 -104
- package/lib/optimise/unwrap.cjs +0 -31
- package/lib/optimise/unwrap.d.cts +0 -11
- package/lib/optimise/unwrap.d.mts +0 -11
- package/lib/optimise/unwrap.mjs +0 -29
- package/lib/svg/analyse/error.cjs +0 -16
- package/lib/svg/analyse/error.d.cts +0 -11
- package/lib/svg/analyse/error.d.mts +0 -11
- package/lib/svg/analyse/error.mjs +0 -14
- package/lib/svg/analyse/types.cjs +0 -2
- package/lib/svg/analyse/types.d.cts +0 -93
- package/lib/svg/analyse/types.d.mts +0 -93
- package/lib/svg/analyse/types.mjs +0 -1
- package/lib/svg/analyse.cjs +0 -303
- package/lib/svg/analyse.d.cts +0 -16
- package/lib/svg/analyse.d.mts +0 -16
- package/lib/svg/analyse.mjs +0 -301
- package/lib/svg/cleanup/attribs.cjs +0 -39
- package/lib/svg/cleanup/attribs.d.cts +0 -11
- package/lib/svg/cleanup/attribs.d.mts +0 -11
- package/lib/svg/cleanup/attribs.mjs +0 -37
- package/lib/svg/cleanup/bad-tags.cjs +0 -69
- package/lib/svg/cleanup/bad-tags.d.cts +0 -17
- package/lib/svg/cleanup/bad-tags.d.mts +0 -17
- package/lib/svg/cleanup/bad-tags.mjs +0 -67
- package/lib/svg/cleanup/inline-style.cjs +0 -97
- package/lib/svg/cleanup/inline-style.d.cts +0 -11
- package/lib/svg/cleanup/inline-style.d.mts +0 -11
- package/lib/svg/cleanup/inline-style.mjs +0 -95
- package/lib/svg/cleanup/root-style.cjs +0 -34
- package/lib/svg/cleanup/root-style.d.cts +0 -17
- package/lib/svg/cleanup/root-style.d.mts +0 -17
- package/lib/svg/cleanup/root-style.mjs +0 -32
- package/lib/svg/cleanup/root-svg.cjs +0 -84
- package/lib/svg/cleanup/root-svg.d.cts +0 -11
- package/lib/svg/cleanup/root-svg.d.mts +0 -11
- package/lib/svg/cleanup/root-svg.mjs +0 -82
- package/lib/svg/cleanup/svgo-style.cjs +0 -43
- package/lib/svg/cleanup/svgo-style.d.cts +0 -11
- package/lib/svg/cleanup/svgo-style.d.mts +0 -11
- package/lib/svg/cleanup/svgo-style.mjs +0 -41
- package/lib/svg/cleanup.cjs +0 -33
- package/lib/svg/cleanup.d.cts +0 -16
- package/lib/svg/cleanup.d.mts +0 -16
- package/lib/svg/cleanup.mjs +0 -31
- package/lib/svg/data/attributes.cjs +0 -373
- package/lib/svg/data/attributes.d.cts +0 -77
- package/lib/svg/data/attributes.d.mts +0 -77
- package/lib/svg/data/attributes.mjs +0 -346
- package/lib/svg/data/tags.cjs +0 -141
- package/lib/svg/data/tags.d.cts +0 -95
- package/lib/svg/data/tags.d.mts +0 -95
- package/lib/svg/data/tags.mjs +0 -117
- package/lib/svg/index.cjs +0 -178
- package/lib/svg/index.d.cts +0 -52
- package/lib/svg/index.d.mts +0 -52
- package/lib/svg/index.mjs +0 -162
- package/lib/svg/parse-style.cjs +0 -243
- package/lib/svg/parse-style.d.cts +0 -59
- package/lib/svg/parse-style.d.mts +0 -59
- package/lib/svg/parse-style.mjs +0 -241
- package/lib/svg/parse.cjs +0 -46
- package/lib/svg/parse.d.cts +0 -31
- package/lib/svg/parse.d.mts +0 -31
- package/lib/svg/parse.mjs +0 -44
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { unpackTar } from "modern-tar/fs";
|
|
2
|
+
import { createReadStream } from "node:fs";
|
|
3
|
+
import { createGunzip } from "node:zlib";
|
|
4
|
+
import { pipeline } from "node:stream/promises";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Unpack .tgz archive
|
|
8
|
+
*/
|
|
9
|
+
async function untar(file, path) {
|
|
10
|
+
await pipeline(createReadStream(file, { highWaterMark: 256 * 1024 }), createGunzip(), unpackTar(path));
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export { untar };
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
2
|
+
import { dirname, join, normalize } from "pathe";
|
|
3
|
+
import { unzip as unzip$1 } from "fflate";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Unzip archive
|
|
7
|
+
*/
|
|
8
|
+
async function unzip(source, path) {
|
|
9
|
+
const dir = normalize(path);
|
|
10
|
+
const data = await readFile(source);
|
|
11
|
+
async function writeFiles(data$1) {
|
|
12
|
+
const createdDirs = /* @__PURE__ */ new Set();
|
|
13
|
+
for (const name in data$1) {
|
|
14
|
+
const filePath = normalize(join(dir, name));
|
|
15
|
+
if (filePath.startsWith("/") || filePath.includes("..") || filePath.includes(":")) throw new Error("Invalid file path in zip: " + filePath);
|
|
16
|
+
if (filePath.includes("/._")) continue;
|
|
17
|
+
const isDir = filePath.endsWith("/");
|
|
18
|
+
const fileDir = isDir ? filePath.slice(0, filePath.length - 1) : dirname(filePath);
|
|
19
|
+
if (!createdDirs.has(fileDir)) {
|
|
20
|
+
createdDirs.add(fileDir);
|
|
21
|
+
try {
|
|
22
|
+
await mkdir(fileDir, { recursive: true });
|
|
23
|
+
} catch {}
|
|
24
|
+
}
|
|
25
|
+
if (!isDir) await writeFile(filePath, data$1[name]);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return new Promise((resolve$1, reject) => {
|
|
29
|
+
unzip$1(data, (err, unzipped) => {
|
|
30
|
+
if (err) {
|
|
31
|
+
reject(err);
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
writeFiles(unzipped).then(() => resolve$1()).catch((err$1) => reject(err$1));
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { unzip };
|
package/lib/download/index.d.ts
CHANGED
|
@@ -1,31 +1,27 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import '../export/helpers/prepare.js';
|
|
8
|
-
import './github/types.js';
|
|
9
|
-
import './gitlab/types.js';
|
|
10
|
-
|
|
1
|
+
import { DocumentNotModified } from "./types/modified.js";
|
|
2
|
+
import { DownloadSourceMixin, DownloadSourceType } from "./types/sources.js";
|
|
3
|
+
import { DownloadGitRepoOptions, DownloadGitRepoResult } from "./git/index.js";
|
|
4
|
+
import { DownloadGitHubRepoOptions, DownloadGitHubRepoResult } from "./github/index.js";
|
|
5
|
+
import { DownloadGitLabRepoOptions, DownloadGitLabRepoResult } from "./gitlab/index.js";
|
|
6
|
+
import { DownloadNPMPackageOptions, DownloadNPMPackageResult } from "./npm/index.js";
|
|
11
7
|
/**
|
|
12
8
|
* Options and result combinations
|
|
13
9
|
*/
|
|
14
10
|
interface DownloadGitRepo {
|
|
15
|
-
|
|
16
|
-
|
|
11
|
+
options: DownloadGitRepoOptions & DownloadSourceMixin<'git'>;
|
|
12
|
+
result: DownloadGitRepoResult;
|
|
17
13
|
}
|
|
18
14
|
interface DownloadGitHubRepo {
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
options: DownloadGitHubRepoOptions & DownloadSourceMixin<'github'>;
|
|
16
|
+
result: DownloadGitHubRepoResult;
|
|
21
17
|
}
|
|
22
18
|
interface DownloadGitLabRepo {
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
options: DownloadGitLabRepoOptions & DownloadSourceMixin<'gitlab'>;
|
|
20
|
+
result: DownloadGitLabRepoResult;
|
|
25
21
|
}
|
|
26
22
|
interface DownloadNPMPackage {
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
options: DownloadNPMPackageOptions & DownloadSourceMixin<'npm'>;
|
|
24
|
+
result: DownloadNPMPackageResult;
|
|
29
25
|
}
|
|
30
26
|
/**
|
|
31
27
|
* Combinations based on type
|
|
@@ -44,5 +40,4 @@ declare function downloadPackage<T extends 'git'>(options: DownloadOptions<T>):
|
|
|
44
40
|
declare function downloadPackage<T extends 'github'>(options: DownloadOptions<T>): DownloadResult<T>;
|
|
45
41
|
declare function downloadPackage<T extends 'gitlab'>(options: DownloadOptions<T>): DownloadResult<T>;
|
|
46
42
|
declare function downloadPackage<T extends 'npm'>(options: DownloadOptions<T>): DownloadResult<T>;
|
|
47
|
-
|
|
48
|
-
export { type DownloadParams, type DownloadParamsMixin, downloadPackage };
|
|
43
|
+
export { DownloadParams, DownloadParamsMixin, downloadPackage };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { downloadGitRepo } from "./git/index.js";
|
|
2
|
+
import { downloadGitHubRepo } from "./github/index.js";
|
|
3
|
+
import { downloadGitLabRepo } from "./gitlab/index.js";
|
|
4
|
+
import { downloadNPMPackage } from "./npm/index.js";
|
|
5
|
+
|
|
6
|
+
function assertNever(v) {}
|
|
7
|
+
function downloadPackage(options) {
|
|
8
|
+
switch (options.downloadType) {
|
|
9
|
+
case "git": return downloadGitRepo(options);
|
|
10
|
+
case "github": return downloadGitHubRepo(options);
|
|
11
|
+
case "gitlab": return downloadGitLabRepo(options);
|
|
12
|
+
case "npm": return downloadNPMPackage(options);
|
|
13
|
+
default:
|
|
14
|
+
assertNever(options);
|
|
15
|
+
throw new Error(`Invalid download type: ${options.downloadType}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { downloadPackage };
|
|
@@ -1,30 +1,28 @@
|
|
|
1
|
-
import { ExportTargetOptions } from
|
|
2
|
-
import { DocumentNotModified } from
|
|
3
|
-
import { DownloadSourceMixin } from
|
|
4
|
-
|
|
1
|
+
import { ExportTargetOptions } from "../../export/helpers/prepare.js";
|
|
2
|
+
import { DocumentNotModified } from "../types/modified.js";
|
|
3
|
+
import { DownloadSourceMixin } from "../types/sources.js";
|
|
5
4
|
interface IfModifiedSinceOption {
|
|
6
|
-
|
|
5
|
+
ifModifiedSince: string | true | DownloadNPMPackageResult;
|
|
7
6
|
}
|
|
8
7
|
/**
|
|
9
8
|
* Options for downloadNPMPackage()
|
|
10
9
|
*/
|
|
11
10
|
interface DownloadNPMPackageOptions extends ExportTargetOptions, Partial<IfModifiedSinceOption> {
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
package: string;
|
|
12
|
+
tag?: string;
|
|
13
|
+
log?: boolean;
|
|
15
14
|
}
|
|
16
15
|
/**
|
|
17
16
|
* Result
|
|
18
17
|
*/
|
|
19
18
|
interface DownloadNPMPackageResult extends DownloadSourceMixin<'npm'> {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
rootDir: string;
|
|
20
|
+
contentsDir: string;
|
|
21
|
+
version: string;
|
|
23
22
|
}
|
|
24
23
|
/**
|
|
25
24
|
* Download NPM package
|
|
26
25
|
*/
|
|
27
26
|
declare function downloadNPMPackage<T extends IfModifiedSinceOption & DownloadNPMPackageOptions>(options: T): Promise<DownloadNPMPackageResult | DocumentNotModified>;
|
|
28
27
|
declare function downloadNPMPackage(options: DownloadNPMPackageOptions): Promise<DownloadNPMPackageResult>;
|
|
29
|
-
|
|
30
|
-
export { type DownloadNPMPackageOptions, type DownloadNPMPackageResult, downloadNPMPackage };
|
|
28
|
+
export { DownloadNPMPackageOptions, DownloadNPMPackageResult, downloadNPMPackage };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { normalizeDir, prepareDirectoryForExport } from "../../export/helpers/prepare.js";
|
|
2
|
+
import { downloadFile } from "../api/download.js";
|
|
3
|
+
import { untar } from "../helpers/untar.js";
|
|
4
|
+
import { getNPMVersion, getPackageVersion } from "./version.js";
|
|
5
|
+
import { promises } from "fs";
|
|
6
|
+
|
|
7
|
+
async function downloadNPMPackage(options) {
|
|
8
|
+
const rootDir = options.target = normalizeDir(options.target);
|
|
9
|
+
const contentsDir = rootDir + "/package";
|
|
10
|
+
const versionInfo = await getNPMVersion(options);
|
|
11
|
+
const version = versionInfo.version;
|
|
12
|
+
const ifModifiedSince = options.ifModifiedSince;
|
|
13
|
+
if (ifModifiedSince) try {
|
|
14
|
+
let expectedVersion;
|
|
15
|
+
if (typeof ifModifiedSince === "object") if (ifModifiedSince.downloadType === "npm" && ifModifiedSince.rootDir === rootDir && ifModifiedSince.contentsDir === contentsDir) expectedVersion = ifModifiedSince.version;
|
|
16
|
+
else expectedVersion = null;
|
|
17
|
+
else expectedVersion = ifModifiedSince === true ? await getPackageVersion(contentsDir) : ifModifiedSince;
|
|
18
|
+
if (version === expectedVersion) return "not_modified";
|
|
19
|
+
} catch (err) {
|
|
20
|
+
options.cleanup = true;
|
|
21
|
+
}
|
|
22
|
+
const archiveURL = versionInfo.file;
|
|
23
|
+
if (!archiveURL) throw new Error(`NPM registry did not provide link to package archive.`);
|
|
24
|
+
const archiveTarget = rootDir + "/" + version + ".tgz";
|
|
25
|
+
await prepareDirectoryForExport(options);
|
|
26
|
+
let archiveExists = false;
|
|
27
|
+
try {
|
|
28
|
+
archiveExists = (await promises.stat(archiveTarget)).isFile();
|
|
29
|
+
} catch (err) {}
|
|
30
|
+
if (!archiveExists) {
|
|
31
|
+
if (options.log) console.log(`Downloading ${archiveURL}`);
|
|
32
|
+
await downloadFile({
|
|
33
|
+
uri: archiveURL,
|
|
34
|
+
headers: { Accept: "application/tar+gzip" }
|
|
35
|
+
}, archiveTarget);
|
|
36
|
+
}
|
|
37
|
+
await prepareDirectoryForExport({
|
|
38
|
+
target: contentsDir,
|
|
39
|
+
cleanup: true
|
|
40
|
+
});
|
|
41
|
+
if (options.log) console.log(`Unpacking ${archiveTarget}`);
|
|
42
|
+
await untar(archiveTarget, rootDir);
|
|
43
|
+
return {
|
|
44
|
+
downloadType: "npm",
|
|
45
|
+
rootDir,
|
|
46
|
+
contentsDir,
|
|
47
|
+
version
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export { downloadNPMPackage };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { NPMPackageOptions } from
|
|
2
|
-
|
|
1
|
+
import { NPMPackageOptions } from "./types.js";
|
|
3
2
|
interface GetNPMVersionResult {
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
version: string;
|
|
4
|
+
file?: string;
|
|
6
5
|
}
|
|
7
6
|
/**
|
|
8
7
|
* Get version of package from NPM registry
|
|
@@ -12,5 +11,4 @@ declare function getNPMVersion(options: NPMPackageOptions): Promise<GetNPMVersio
|
|
|
12
11
|
* Get version of package from filename
|
|
13
12
|
*/
|
|
14
13
|
declare function getPackageVersion(target: string): Promise<string>;
|
|
15
|
-
|
|
16
|
-
export { type GetNPMVersionResult, getNPMVersion, getPackageVersion };
|
|
14
|
+
export { GetNPMVersionResult, getNPMVersion, getPackageVersion };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { execAsync } from "../../misc/exec.js";
|
|
2
|
+
import { promises } from "fs";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Get version of package from NPM registry
|
|
6
|
+
*/
|
|
7
|
+
async function getNPMVersion(options) {
|
|
8
|
+
const tag = options.tag || "latest";
|
|
9
|
+
const result = await execAsync(`npm view ${options.package}@${tag} --json`, { maxBuffer: 1024 * 1024 * 8 });
|
|
10
|
+
const data = JSON.parse(result.stdout);
|
|
11
|
+
return {
|
|
12
|
+
version: data.version,
|
|
13
|
+
file: data.dist?.tarball
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get version of package from filename
|
|
18
|
+
*/
|
|
19
|
+
async function getPackageVersion(target) {
|
|
20
|
+
return JSON.parse(await promises.readFile(target + "/package.json", "utf8")).version;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { getNPMVersion, getPackageVersion };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -6,7 +6,6 @@ type DownloadSourceType = 'git' | 'github' | 'gitlab' | 'npm';
|
|
|
6
6
|
* Type in other objects
|
|
7
7
|
*/
|
|
8
8
|
interface DownloadSourceMixin<T extends DownloadSourceType> {
|
|
9
|
-
|
|
9
|
+
downloadType: T;
|
|
10
10
|
}
|
|
11
|
-
|
|
12
|
-
export type { DownloadSourceMixin, DownloadSourceType };
|
|
11
|
+
export { DownloadSourceMixin, DownloadSourceType };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { };
|
|
@@ -1,20 +1,13 @@
|
|
|
1
|
-
import { IconSet } from
|
|
2
|
-
import { ExportTargetOptions } from
|
|
3
|
-
import '@iconify/types';
|
|
4
|
-
import '@iconify/utils/lib/customisations/defaults';
|
|
5
|
-
import '../icon-set/types.js';
|
|
6
|
-
import '../svg/index.js';
|
|
7
|
-
import 'cheerio';
|
|
8
|
-
import '@iconify/utils/lib/icon-set/tree';
|
|
9
|
-
|
|
1
|
+
import { IconSet } from "../icon-set/index.js";
|
|
2
|
+
import { ExportTargetOptions } from "./helpers/prepare.js";
|
|
10
3
|
/**
|
|
11
4
|
* Options
|
|
12
5
|
*/
|
|
13
6
|
interface ExportToDirectoryOptions extends ExportTargetOptions {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
7
|
+
autoHeight?: boolean;
|
|
8
|
+
includeAliases?: boolean;
|
|
9
|
+
includeChars?: boolean;
|
|
10
|
+
log?: boolean;
|
|
18
11
|
}
|
|
19
12
|
/**
|
|
20
13
|
* Export icon set to directory
|
|
@@ -22,5 +15,4 @@ interface ExportToDirectoryOptions extends ExportTargetOptions {
|
|
|
22
15
|
* Returns list of stored files
|
|
23
16
|
*/
|
|
24
17
|
declare function exportToDirectory(iconSet: IconSet, options: ExportToDirectoryOptions): Promise<string[]>;
|
|
25
|
-
|
|
26
|
-
export { type ExportToDirectoryOptions, exportToDirectory };
|
|
18
|
+
export { ExportToDirectoryOptions, exportToDirectory };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { prepareDirectoryForExport } from "./helpers/prepare.js";
|
|
2
|
+
import { promises } from "fs";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Export icon set to directory
|
|
6
|
+
*
|
|
7
|
+
* Returns list of stored files
|
|
8
|
+
*/
|
|
9
|
+
async function exportToDirectory(iconSet, options) {
|
|
10
|
+
const dir = await prepareDirectoryForExport(options);
|
|
11
|
+
const storedFiles = /* @__PURE__ */ new Set();
|
|
12
|
+
const customisations = options.autoHeight === false ? { height: "1em" } : {
|
|
13
|
+
width: "auto",
|
|
14
|
+
height: "auto"
|
|
15
|
+
};
|
|
16
|
+
const store = async (name, target) => {
|
|
17
|
+
const svg = iconSet.toString(name, customisations);
|
|
18
|
+
if (!svg) return;
|
|
19
|
+
await promises.writeFile(target, svg, "utf8");
|
|
20
|
+
storedFiles.add(target);
|
|
21
|
+
if (options.log) console.log(`Saved ${target} (${svg.length} bytes)`);
|
|
22
|
+
};
|
|
23
|
+
if (options.includeChars) {
|
|
24
|
+
const chars = iconSet.chars();
|
|
25
|
+
for (const char in chars) {
|
|
26
|
+
const name = chars[char];
|
|
27
|
+
await store(name, `${dir}/${char}.svg`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
await iconSet.forEach(async (name, type) => {
|
|
31
|
+
if (type === "alias" && options.includeAliases === false) return;
|
|
32
|
+
await store(name, `${dir}/${name}.svg`);
|
|
33
|
+
});
|
|
34
|
+
return Array.from(storedFiles);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export { exportToDirectory };
|
|
@@ -2,11 +2,10 @@
|
|
|
2
2
|
* Options
|
|
3
3
|
*/
|
|
4
4
|
interface ExportOptionsWithCustomFiles {
|
|
5
|
-
|
|
5
|
+
customFiles?: Record<string, string | Record<string, unknown> | null>;
|
|
6
6
|
}
|
|
7
7
|
/**
|
|
8
8
|
* Write custom files
|
|
9
9
|
*/
|
|
10
10
|
declare function exportCustomFiles(dir: string, options: ExportOptionsWithCustomFiles, result?: Set<string>): Promise<void>;
|
|
11
|
-
|
|
12
|
-
export { type ExportOptionsWithCustomFiles, exportCustomFiles };
|
|
11
|
+
export { ExportOptionsWithCustomFiles, exportCustomFiles };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { writeJSONFile } from "../../misc/write-json.js";
|
|
2
|
+
import { promises } from "fs";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Write custom files
|
|
6
|
+
*/
|
|
7
|
+
async function exportCustomFiles(dir, options, result) {
|
|
8
|
+
const customFiles = options.customFiles || {};
|
|
9
|
+
for (const filename in customFiles) {
|
|
10
|
+
const content = customFiles[filename];
|
|
11
|
+
if (content === null) {
|
|
12
|
+
try {
|
|
13
|
+
await promises.unlink(dir + "/" + filename);
|
|
14
|
+
} catch (err) {}
|
|
15
|
+
continue;
|
|
16
|
+
}
|
|
17
|
+
if (typeof content === "string") await promises.writeFile(dir + "/" + filename, content, "utf8");
|
|
18
|
+
else if (typeof content === "object") await writeJSONFile(dir + "/" + filename, content);
|
|
19
|
+
result?.add(filename);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { exportCustomFiles };
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Common options for all functions that export to directory
|
|
3
3
|
*/
|
|
4
4
|
interface ExportTargetOptions {
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
target: string;
|
|
6
|
+
cleanup?: boolean;
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
9
|
* Normalize directory
|
|
@@ -15,5 +15,4 @@ declare function normalizeDir(dir: string): string;
|
|
|
15
15
|
* Also normalizes directory and returns normalized value
|
|
16
16
|
*/
|
|
17
17
|
declare function prepareDirectoryForExport(options: ExportTargetOptions): Promise<string>;
|
|
18
|
-
|
|
19
|
-
export { type ExportTargetOptions, normalizeDir, prepareDirectoryForExport };
|
|
18
|
+
export { ExportTargetOptions, normalizeDir, prepareDirectoryForExport };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { mkdir, rm } from "node:fs/promises";
|
|
2
|
+
import { normalize } from "pathe";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Normalize directory
|
|
6
|
+
*/
|
|
7
|
+
function normalizeDir(dir) {
|
|
8
|
+
dir = normalize(dir);
|
|
9
|
+
if (dir.slice(-1) === "/") dir = dir.slice(0, -1);
|
|
10
|
+
return dir;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Prepare directory for export
|
|
14
|
+
*
|
|
15
|
+
* Also normalizes directory and returns normalized value
|
|
16
|
+
*/
|
|
17
|
+
async function prepareDirectoryForExport(options) {
|
|
18
|
+
const dir = normalizeDir(options.target);
|
|
19
|
+
if (options.cleanup) try {
|
|
20
|
+
await rm(dir, {
|
|
21
|
+
recursive: true,
|
|
22
|
+
force: true
|
|
23
|
+
});
|
|
24
|
+
} catch {}
|
|
25
|
+
try {
|
|
26
|
+
await mkdir(dir, { recursive: true });
|
|
27
|
+
} catch {}
|
|
28
|
+
return dir;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { normalizeDir, prepareDirectoryForExport };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { uniquePromise } from "@cyberalien/svg-utils";
|
|
2
|
+
import { readFile } from "node:fs/promises";
|
|
3
|
+
|
|
4
|
+
let cache;
|
|
5
|
+
async function getVersion() {
|
|
6
|
+
const packageName = "@iconify/types/package.json";
|
|
7
|
+
return cache = (await uniquePromise(packageName, async () => {
|
|
8
|
+
const filename = import.meta.resolve(packageName);
|
|
9
|
+
return JSON.parse(await readFile(filename.replace("file://", ""), "utf8"));
|
|
10
|
+
})).version;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Get current version of Iconify Types package
|
|
14
|
+
*/
|
|
15
|
+
async function getTypesVersion() {
|
|
16
|
+
return cache || await getVersion();
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { getTypesVersion };
|
|
@@ -1,20 +1,14 @@
|
|
|
1
|
-
import { IconSet } from
|
|
2
|
-
import { ExportTargetOptions } from
|
|
3
|
-
import { ExportOptionsWithCustomFiles } from
|
|
4
|
-
import '@iconify/types';
|
|
5
|
-
import '@iconify/utils/lib/customisations/defaults';
|
|
6
|
-
import '../icon-set/types.js';
|
|
7
|
-
import '../svg/index.js';
|
|
8
|
-
import 'cheerio';
|
|
9
|
-
import '@iconify/utils/lib/icon-set/tree';
|
|
10
|
-
|
|
1
|
+
import { IconSet } from "../icon-set/index.js";
|
|
2
|
+
import { ExportTargetOptions } from "./helpers/prepare.js";
|
|
3
|
+
import { ExportOptionsWithCustomFiles } from "./helpers/custom-files.js";
|
|
11
4
|
/**
|
|
12
5
|
* Options
|
|
13
6
|
*/
|
|
14
7
|
interface ExportIconPackageOptions extends ExportTargetOptions, ExportOptionsWithCustomFiles {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
8
|
+
package?: Record<string, unknown>;
|
|
9
|
+
module?: boolean;
|
|
10
|
+
typesContent?: string;
|
|
11
|
+
wildcardTypesVersion?: boolean;
|
|
18
12
|
}
|
|
19
13
|
/**
|
|
20
14
|
* Export icon set as single icon packages
|
|
@@ -22,5 +16,4 @@ interface ExportIconPackageOptions extends ExportTargetOptions, ExportOptionsWit
|
|
|
22
16
|
* Was used for exporting `@iconify-icons/{prefix}` packages
|
|
23
17
|
*/
|
|
24
18
|
declare function exportIconPackage(iconSet: IconSet, options: ExportIconPackageOptions): Promise<string[]>;
|
|
25
|
-
|
|
26
|
-
export { type ExportIconPackageOptions, exportIconPackage };
|
|
19
|
+
export { ExportIconPackageOptions, exportIconPackage };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { prepareDirectoryForExport } from "./helpers/prepare.js";
|
|
2
|
+
import { writeJSONFile } from "../misc/write-json.js";
|
|
3
|
+
import { exportCustomFiles } from "./helpers/custom-files.js";
|
|
4
|
+
import { getTypesVersion } from "./helpers/types-version.js";
|
|
5
|
+
import { promises } from "fs";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Content for .d.ts files
|
|
9
|
+
*/
|
|
10
|
+
const defaultTypesContent = `import type { IconifyIcon } from '@iconify/types';
|
|
11
|
+
declare const data: IconifyIcon;
|
|
12
|
+
export default data;
|
|
13
|
+
`;
|
|
14
|
+
/**
|
|
15
|
+
* Export icon set as single icon packages
|
|
16
|
+
*
|
|
17
|
+
* Was used for exporting `@iconify-icons/{prefix}` packages
|
|
18
|
+
*/
|
|
19
|
+
async function exportIconPackage(iconSet, options) {
|
|
20
|
+
const files = /* @__PURE__ */ new Set();
|
|
21
|
+
const esm = options.module !== false;
|
|
22
|
+
const dir = await prepareDirectoryForExport(options);
|
|
23
|
+
const typesContent = options.typesContent || defaultTypesContent;
|
|
24
|
+
await iconSet.forEach(async (name$1) => {
|
|
25
|
+
const data = iconSet.resolve(name$1, false);
|
|
26
|
+
if (!data) return;
|
|
27
|
+
const typesFilename = name$1 + ".d.ts";
|
|
28
|
+
await promises.writeFile(`${dir}/${typesFilename}`, typesContent, "utf8");
|
|
29
|
+
files.add(typesFilename);
|
|
30
|
+
let content = `const data = ` + JSON.stringify(data, null, " ") + ";\n";
|
|
31
|
+
if (!esm) content += "exports.__esModule = true;\nexports.default = data;\n";
|
|
32
|
+
else content += "export default data;\n";
|
|
33
|
+
const contentFilename = name$1 + ".js";
|
|
34
|
+
await promises.writeFile(`${dir}/${contentFilename}`, content, "utf8");
|
|
35
|
+
files.add(contentFilename);
|
|
36
|
+
});
|
|
37
|
+
await exportCustomFiles(dir, options, files);
|
|
38
|
+
const typesVersion = options.wildcardTypesVersion === false ? "^" + await getTypesVersion() : "*";
|
|
39
|
+
const info = iconSet.info;
|
|
40
|
+
const { name, description, version, dependencies, ...customPackageProps } = options.package || {};
|
|
41
|
+
const packageJSON = {
|
|
42
|
+
name: name || (esm ? `@iconify-icons/${iconSet.prefix}` : `@iconify/icons-${iconSet.prefix}`),
|
|
43
|
+
description: description || `Iconify icon components for ${info ? info.name : iconSet.prefix}`,
|
|
44
|
+
version,
|
|
45
|
+
type: esm ? "module" : void 0,
|
|
46
|
+
iconSetInfo: info,
|
|
47
|
+
...customPackageProps,
|
|
48
|
+
dependencies: dependencies || { "@iconify/types": typesVersion }
|
|
49
|
+
};
|
|
50
|
+
await writeJSONFile(dir + "/package.json", packageJSON);
|
|
51
|
+
files.add("package.json");
|
|
52
|
+
return Array.from(files);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export { exportIconPackage };
|
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
import { IconSet } from
|
|
2
|
-
import { ExportTargetOptions } from
|
|
3
|
-
import { ExportOptionsWithCustomFiles } from
|
|
4
|
-
import '@iconify/types';
|
|
5
|
-
import '@iconify/utils/lib/customisations/defaults';
|
|
6
|
-
import '../icon-set/types.js';
|
|
7
|
-
import '../svg/index.js';
|
|
8
|
-
import 'cheerio';
|
|
9
|
-
import '@iconify/utils/lib/icon-set/tree';
|
|
10
|
-
|
|
1
|
+
import { IconSet } from "../icon-set/index.js";
|
|
2
|
+
import { ExportTargetOptions } from "./helpers/prepare.js";
|
|
3
|
+
import { ExportOptionsWithCustomFiles } from "./helpers/custom-files.js";
|
|
11
4
|
/**
|
|
12
5
|
* Options
|
|
13
6
|
*/
|
|
14
7
|
interface ExportJSONPackageOptions extends ExportTargetOptions, ExportOptionsWithCustomFiles {
|
|
15
|
-
|
|
16
|
-
|
|
8
|
+
package?: Record<string, unknown>;
|
|
9
|
+
customisePackage?: (contents: Record<string, unknown>) => void;
|
|
10
|
+
wildcardTypesVersion?: boolean;
|
|
17
11
|
}
|
|
18
12
|
/**
|
|
19
13
|
* Export icon set as JSON package
|
|
@@ -21,5 +15,4 @@ interface ExportJSONPackageOptions extends ExportTargetOptions, ExportOptionsWit
|
|
|
21
15
|
* Used for exporting `@iconify-json/{prefix}` packages
|
|
22
16
|
*/
|
|
23
17
|
declare function exportJSONPackage(iconSet: IconSet, options: ExportJSONPackageOptions): Promise<string[]>;
|
|
24
|
-
|
|
25
|
-
export { type ExportJSONPackageOptions, exportJSONPackage };
|
|
18
|
+
export { ExportJSONPackageOptions, exportJSONPackage };
|