├── .github └── workflows │ └── npmpublish.yml ├── .gitignore ├── LICENSE ├── README.md ├── build.js ├── package-lock.json ├── package.json └── rollup.config.js /.github/workflows/npmpublish.yml: -------------------------------------------------------------------------------- 1 | name: Node.js Package 2 | 3 | on: 4 | push: 5 | tags: 6 | - 'v*' 7 | 8 | jobs: 9 | build: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - uses: actions/checkout@v1 13 | - uses: actions/setup-node@v1 14 | with: 15 | node-version: 12 16 | - run: npm ci 17 | - run: npm run build 18 | 19 | publish-npm: 20 | needs: build 21 | runs-on: ubuntu-latest 22 | steps: 23 | - uses: actions/checkout@v1 24 | - uses: actions/setup-node@v1 25 | with: 26 | node-version: 12 27 | registry-url: https://registry.npmjs.org/ 28 | - run: npm ci 29 | - run: npm run build 30 | - run: npm publish 31 | env: 32 | NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | index.js 4 | index.mjs 5 | src -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Dylan Blokhuis 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 2 |
3 |
4 | 5 |
6 |
7 |
8 | 9 | ## Svelte Simple Icons 10 | 11 | [![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](http://standardjs.com) [![svelte-v3](https://img.shields.io/badge/svelte-v3-blueviolet.svg)](https://svelte.dev) 12 | 13 | Based on [Svelte Eva Icons](https://github.com/dylanblokhuis/svelte-eva-icons) 14 | 15 | ## Install 16 | 17 | ```bash 18 | yarn add --dev svelte-simple-icons 19 | ``` 20 | or use NPM 21 | ```bash 22 | npm install --save-dev svelte-simple-icons 23 | ``` 24 | 25 | ## Usage 26 | Unused icons will get removed with tree shaking in bundlers like webpack and rollup. 27 | ```html 28 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | ``` 39 | 40 | Use the svg name when importing, and convert it to {PascalCase}Icon. 41 | For instance, `.NET` on the creators site has an SVG name of `dot-net.svg`, so should be imported as `` 42 | See all icons here: https://simpleicons.org/ 43 | 44 | ### Exceptions 45 | 46 | The one notable exception to the rule above is the 500px icon: 47 | 48 | ```html 49 | 52 | 53 | 54 | ``` 55 | 56 | ### Styling 57 | You can add CSS classes icons by passing a `styleClass` attribute: 58 | 59 | ```html 60 | 61 | ``` 62 | -------------------------------------------------------------------------------- /build.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const simpleIcons = require('simple-icons') 3 | const pascalCase = require('pascal-case') 4 | const fs = require('fs-extra') 5 | 6 | const componentTemplate = (name, svg) => ` 7 | ${svg.replace(' 9 | export let styleClass = '' 10 | 11 | ` 12 | const handleComponentName = slug => slug === '500px' ? 'five-hundred-px' : slug.replace(/\-(\d+)/, '$1') 13 | 14 | const icons = Object.entries(simpleIcons).map(([ name, { slug, svg } ]) => ({ 15 | name, 16 | svg, 17 | pascalCasedComponentName: pascalCase(`${handleComponentName(slug)}-icon`), 18 | kebabCasedComponentName: `${handleComponentName(slug)}-icon` 19 | })) 20 | 21 | Promise.all(icons.map(icon => { 22 | const component = componentTemplate(icon.kebabCasedComponentName, icon.svg) 23 | const filepath = `./src/icons/${icon.pascalCasedComponentName}.svelte` 24 | return fs.ensureDir(path.dirname(filepath)) 25 | .then(() => fs.writeFile(filepath, component, 'utf8')) 26 | })).then(() => { 27 | const main = icons 28 | .map(icon => `export { default as ${icon.pascalCasedComponentName} } from './icons/${icon.pascalCasedComponentName}.svelte'`) 29 | .join('\n\n') 30 | return fs.outputFile('./src/index.js', main, 'utf8') 31 | }) -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "svelte-simple-icons", 3 | "version": "1.0.3", 4 | "lockfileVersion": 1, 5 | "requires": true, 6 | "dependencies": { 7 | "@babel/code-frame": { 8 | "version": "7.5.5", 9 | "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.5.5.tgz", 10 | "integrity": "sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==", 11 | "dev": true, 12 | "requires": { 13 | "@babel/highlight": "^7.0.0" 14 | } 15 | }, 16 | "@babel/highlight": { 17 | "version": "7.5.0", 18 | "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", 19 | "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", 20 | "dev": true, 21 | "requires": { 22 | "chalk": "^2.0.0", 23 | "esutils": "^2.0.2", 24 | "js-tokens": "^4.0.0" 25 | } 26 | }, 27 | "@types/estree": { 28 | "version": "0.0.39", 29 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", 30 | "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", 31 | "dev": true 32 | }, 33 | "@types/node": { 34 | "version": "12.12.0", 35 | "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.0.tgz", 36 | "integrity": "sha512-6N8Sa5AaENRtJnpKXZgvc119PKxT1Lk9VPy4kfT8JF23tIe1qDfaGkBR2DRKJFIA7NptMz+fps//C6aLi1Uoug==", 37 | "dev": true 38 | }, 39 | "@types/resolve": { 40 | "version": "0.0.8", 41 | "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", 42 | "integrity": "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==", 43 | "dev": true, 44 | "requires": { 45 | "@types/node": "*" 46 | } 47 | }, 48 | "acorn": { 49 | "version": "7.1.0", 50 | "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.0.tgz", 51 | "integrity": "sha512-kL5CuoXA/dgxlBbVrflsflzQ3PAas7RYZB52NOm/6839iVYJgKMJ3cQJD+t2i5+qFa8h3MDpEOJiS64E8JLnSQ==", 52 | "dev": true 53 | }, 54 | "ansi-styles": { 55 | "version": "3.2.1", 56 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", 57 | "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", 58 | "dev": true, 59 | "requires": { 60 | "color-convert": "^1.9.0" 61 | } 62 | }, 63 | "buffer-from": { 64 | "version": "1.1.1", 65 | "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", 66 | "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", 67 | "dev": true 68 | }, 69 | "builtin-modules": { 70 | "version": "3.1.0", 71 | "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", 72 | "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", 73 | "dev": true 74 | }, 75 | "camel-case": { 76 | "version": "3.0.0", 77 | "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", 78 | "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", 79 | "dev": true, 80 | "requires": { 81 | "no-case": "^2.2.0", 82 | "upper-case": "^1.1.1" 83 | } 84 | }, 85 | "chalk": { 86 | "version": "2.4.2", 87 | "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", 88 | "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", 89 | "dev": true, 90 | "requires": { 91 | "ansi-styles": "^3.2.1", 92 | "escape-string-regexp": "^1.0.5", 93 | "supports-color": "^5.3.0" 94 | } 95 | }, 96 | "color-convert": { 97 | "version": "1.9.3", 98 | "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", 99 | "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", 100 | "dev": true, 101 | "requires": { 102 | "color-name": "1.1.3" 103 | } 104 | }, 105 | "color-name": { 106 | "version": "1.1.3", 107 | "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", 108 | "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", 109 | "dev": true 110 | }, 111 | "commander": { 112 | "version": "2.20.3", 113 | "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", 114 | "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", 115 | "dev": true 116 | }, 117 | "escape-string-regexp": { 118 | "version": "1.0.5", 119 | "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", 120 | "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", 121 | "dev": true 122 | }, 123 | "estree-walker": { 124 | "version": "0.6.1", 125 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-0.6.1.tgz", 126 | "integrity": "sha512-SqmZANLWS0mnatqbSfRP5g8OXZC12Fgg1IwNtLsyHDzJizORW4khDfjPqJZsemPWBB2uqykUah5YpQ6epsqC/w==", 127 | "dev": true 128 | }, 129 | "esutils": { 130 | "version": "2.0.3", 131 | "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", 132 | "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", 133 | "dev": true 134 | }, 135 | "fs-extra": { 136 | "version": "8.1.0", 137 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", 138 | "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", 139 | "dev": true, 140 | "requires": { 141 | "graceful-fs": "^4.2.0", 142 | "jsonfile": "^4.0.0", 143 | "universalify": "^0.1.0" 144 | } 145 | }, 146 | "graceful-fs": { 147 | "version": "4.2.3", 148 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.3.tgz", 149 | "integrity": "sha512-a30VEBm4PEdx1dRB7MFK7BejejvCvBronbLjht+sHuGYj8PHs7M/5Z+rt5lw551vZ7yfTCj4Vuyy3mSJytDWRQ==", 150 | "dev": true 151 | }, 152 | "has-flag": { 153 | "version": "3.0.0", 154 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", 155 | "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", 156 | "dev": true 157 | }, 158 | "inherits": { 159 | "version": "2.0.3", 160 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", 161 | "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", 162 | "dev": true 163 | }, 164 | "is-module": { 165 | "version": "1.0.0", 166 | "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", 167 | "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", 168 | "dev": true 169 | }, 170 | "jest-worker": { 171 | "version": "24.9.0", 172 | "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-24.9.0.tgz", 173 | "integrity": "sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw==", 174 | "dev": true, 175 | "requires": { 176 | "merge-stream": "^2.0.0", 177 | "supports-color": "^6.1.0" 178 | }, 179 | "dependencies": { 180 | "supports-color": { 181 | "version": "6.1.0", 182 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", 183 | "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", 184 | "dev": true, 185 | "requires": { 186 | "has-flag": "^3.0.0" 187 | } 188 | } 189 | } 190 | }, 191 | "js-tokens": { 192 | "version": "4.0.0", 193 | "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", 194 | "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", 195 | "dev": true 196 | }, 197 | "jsonfile": { 198 | "version": "4.0.0", 199 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 200 | "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", 201 | "dev": true, 202 | "requires": { 203 | "graceful-fs": "^4.1.6" 204 | } 205 | }, 206 | "lower-case": { 207 | "version": "1.1.4", 208 | "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", 209 | "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", 210 | "dev": true 211 | }, 212 | "merge-stream": { 213 | "version": "2.0.0", 214 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 215 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 216 | "dev": true 217 | }, 218 | "no-case": { 219 | "version": "2.3.2", 220 | "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", 221 | "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", 222 | "dev": true, 223 | "requires": { 224 | "lower-case": "^1.1.1" 225 | } 226 | }, 227 | "pascal-case": { 228 | "version": "2.0.1", 229 | "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-2.0.1.tgz", 230 | "integrity": "sha1-LVeNNFX2YNpl7KGO+VtODekSdh4=", 231 | "dev": true, 232 | "requires": { 233 | "camel-case": "^3.0.0", 234 | "upper-case-first": "^1.1.0" 235 | } 236 | }, 237 | "path": { 238 | "version": "0.12.7", 239 | "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", 240 | "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", 241 | "dev": true, 242 | "requires": { 243 | "process": "^0.11.1", 244 | "util": "^0.10.3" 245 | } 246 | }, 247 | "path-parse": { 248 | "version": "1.0.6", 249 | "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", 250 | "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", 251 | "dev": true 252 | }, 253 | "process": { 254 | "version": "0.11.10", 255 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", 256 | "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", 257 | "dev": true 258 | }, 259 | "require-relative": { 260 | "version": "0.8.7", 261 | "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", 262 | "integrity": "sha1-eZlTn8ngR6N5KPoZb44VY9q9Nt4=", 263 | "dev": true 264 | }, 265 | "resolve": { 266 | "version": "1.12.0", 267 | "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.12.0.tgz", 268 | "integrity": "sha512-B/dOmuoAik5bKcD6s6nXDCjzUKnaDvdkRyAk6rsmsKLipWj4797iothd7jmmUhWTfinVMU+wc56rYKsit2Qy4w==", 269 | "dev": true, 270 | "requires": { 271 | "path-parse": "^1.0.6" 272 | } 273 | }, 274 | "rollup": { 275 | "version": "1.26.0", 276 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-1.26.0.tgz", 277 | "integrity": "sha512-5HljNYn9icFvXX+Oe97qY5TWvnWhKqgGT0HGeWWqFPx7w7+Anzg7dfHMtUif7YYy6QxAgynDSwK6uxbgcrVUxw==", 278 | "dev": true, 279 | "requires": { 280 | "@types/estree": "*", 281 | "@types/node": "*", 282 | "acorn": "^7.1.0" 283 | } 284 | }, 285 | "rollup-plugin-node-resolve": { 286 | "version": "5.2.0", 287 | "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-5.2.0.tgz", 288 | "integrity": "sha512-jUlyaDXts7TW2CqQ4GaO5VJ4PwwaV8VUGA7+km3n6k6xtOEacf61u0VXwN80phY/evMcaS+9eIeJ9MOyDxt5Zw==", 289 | "dev": true, 290 | "requires": { 291 | "@types/resolve": "0.0.8", 292 | "builtin-modules": "^3.1.0", 293 | "is-module": "^1.0.0", 294 | "resolve": "^1.11.1", 295 | "rollup-pluginutils": "^2.8.1" 296 | } 297 | }, 298 | "rollup-plugin-svelte": { 299 | "version": "5.1.0", 300 | "resolved": "https://registry.npmjs.org/rollup-plugin-svelte/-/rollup-plugin-svelte-5.1.0.tgz", 301 | "integrity": "sha512-4MRZG29dAWDpoxEs5uIHzDnYafQEOLaKIJAuDYUtFIzEm1F1IGSTlFyjd8/qk4wltlHdu6V7YfZY53+CKryhMg==", 302 | "dev": true, 303 | "requires": { 304 | "require-relative": "^0.8.7", 305 | "rollup-pluginutils": "^2.3.3", 306 | "sourcemap-codec": "^1.4.4" 307 | } 308 | }, 309 | "rollup-plugin-terser": { 310 | "version": "5.1.2", 311 | "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-5.1.2.tgz", 312 | "integrity": "sha512-sWKBCOS+vUkRtHtEiJPAf+WnBqk/C402fBD9AVHxSIXMqjsY7MnYWKYEUqGixtr0c8+1DjzUEPlNgOYQPVrS1g==", 313 | "dev": true, 314 | "requires": { 315 | "@babel/code-frame": "^7.0.0", 316 | "jest-worker": "^24.6.0", 317 | "rollup-pluginutils": "^2.8.1", 318 | "serialize-javascript": "^1.7.0", 319 | "terser": "^4.1.0" 320 | } 321 | }, 322 | "rollup-pluginutils": { 323 | "version": "2.8.2", 324 | "resolved": "https://registry.npmjs.org/rollup-pluginutils/-/rollup-pluginutils-2.8.2.tgz", 325 | "integrity": "sha512-EEp9NhnUkwY8aif6bxgovPHMoMoNr2FulJziTndpt5H9RdwC47GSGuII9XxpSdzVGM0GWrNPHV6ie1LTNJPaLQ==", 326 | "dev": true, 327 | "requires": { 328 | "estree-walker": "^0.6.1" 329 | } 330 | }, 331 | "serialize-javascript": { 332 | "version": "1.9.1", 333 | "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", 334 | "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", 335 | "dev": true 336 | }, 337 | "simple-icons": { 338 | "version": "1.19.0", 339 | "resolved": "https://registry.npmjs.org/simple-icons/-/simple-icons-1.19.0.tgz", 340 | "integrity": "sha512-BsV3jdhckw3J5GxcPRlEeqWlQh4zzi2aWA2NZeOlK+F6Dz+yFYmtZl9lDQF9uBbw0xbBqrlt194cvOX4C5XQQg==", 341 | "dev": true 342 | }, 343 | "source-map": { 344 | "version": "0.6.1", 345 | "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", 346 | "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", 347 | "dev": true 348 | }, 349 | "source-map-support": { 350 | "version": "0.5.16", 351 | "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", 352 | "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", 353 | "dev": true, 354 | "requires": { 355 | "buffer-from": "^1.0.0", 356 | "source-map": "^0.6.0" 357 | } 358 | }, 359 | "sourcemap-codec": { 360 | "version": "1.4.6", 361 | "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.6.tgz", 362 | "integrity": "sha512-1ZooVLYFxC448piVLBbtOxFcXwnymH9oUF8nRd3CuYDVvkRBxRl6pB4Mtas5a4drtL+E8LDgFkQNcgIw6tc8Hg==", 363 | "dev": true 364 | }, 365 | "supports-color": { 366 | "version": "5.5.0", 367 | "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", 368 | "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", 369 | "dev": true, 370 | "requires": { 371 | "has-flag": "^3.0.0" 372 | } 373 | }, 374 | "svelte": { 375 | "version": "3.12.1", 376 | "resolved": "https://registry.npmjs.org/svelte/-/svelte-3.12.1.tgz", 377 | "integrity": "sha512-t29WJNjHIqfrdMcVXqIyRfgLEaNz7MihKXTpb8qHlbzvf0WyOOIhIlwIGvl6ahJ9+9CLJwz0sjhFNAmPgo8BHg==", 378 | "dev": true 379 | }, 380 | "terser": { 381 | "version": "4.3.9", 382 | "resolved": "https://registry.npmjs.org/terser/-/terser-4.3.9.tgz", 383 | "integrity": "sha512-NFGMpHjlzmyOtPL+fDw3G7+6Ueh/sz4mkaUYa4lJCxOPTNzd0Uj0aZJOmsDYoSQyfuVoWDMSWTPU3huyOm2zdA==", 384 | "dev": true, 385 | "requires": { 386 | "commander": "^2.20.0", 387 | "source-map": "~0.6.1", 388 | "source-map-support": "~0.5.12" 389 | } 390 | }, 391 | "universalify": { 392 | "version": "0.1.2", 393 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 394 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 395 | "dev": true 396 | }, 397 | "upper-case": { 398 | "version": "1.1.3", 399 | "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", 400 | "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", 401 | "dev": true 402 | }, 403 | "upper-case-first": { 404 | "version": "1.1.2", 405 | "resolved": "https://registry.npmjs.org/upper-case-first/-/upper-case-first-1.1.2.tgz", 406 | "integrity": "sha1-XXm+3P8UQZUY/S7bCgUHybaFkRU=", 407 | "dev": true, 408 | "requires": { 409 | "upper-case": "^1.1.1" 410 | } 411 | }, 412 | "util": { 413 | "version": "0.10.4", 414 | "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", 415 | "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", 416 | "dev": true, 417 | "requires": { 418 | "inherits": "2.0.3" 419 | } 420 | } 421 | } 422 | } 423 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "svelte-simple-icons", 3 | "description": "Simple icons for Svelte", 4 | "version": "1.0.3", 5 | "author": "antony ", 6 | "repository": { 7 | "url": "beyonk-adventures/svelte-simple-icons", 8 | "type": "git" 9 | }, 10 | "svelte": "src/index.js", 11 | "module": "index.mjs", 12 | "main": "index.js", 13 | "files": [ 14 | "src", 15 | "index.mjs", 16 | "index.js" 17 | ], 18 | "license": "MIT", 19 | "scripts": { 20 | "build:icons": "node build", 21 | "build:dist": "rollup -c", 22 | "build": "npm run build:icons && npm run build:dist", 23 | "prepublishOnly": "npm run build" 24 | }, 25 | "devDependencies": { 26 | "fs-extra": "^8.0.1", 27 | "pascal-case": "^2.0.1", 28 | "path": "^0.12.7", 29 | "rollup": "latest", 30 | "rollup-plugin-node-resolve": "^5.1.0", 31 | "rollup-plugin-svelte": "latest", 32 | "rollup-plugin-terser": "^5.0.0", 33 | "simple-icons": "^1.19.0", 34 | "svelte": "latest" 35 | }, 36 | "keywords": [ 37 | "svelte", 38 | "simple-icons", 39 | "fa", 40 | "feather", 41 | "brands" 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /rollup.config.js: -------------------------------------------------------------------------------- 1 | import svelte from 'rollup-plugin-svelte'; 2 | import { terser } from 'rollup-plugin-terser'; 3 | import resolve from 'rollup-plugin-node-resolve'; 4 | 5 | import pkg from './package.json'; 6 | 7 | const name = pkg.name 8 | .replace(/^(@\S+\/)?(svelte-)?(\S+)/, '$3') 9 | .replace(/^\w/, m => m.toUpperCase()) 10 | .replace(/-\w/g, m => m[1].toUpperCase()); 11 | 12 | export default { 13 | input: 'src/index.js', 14 | output: [ 15 | { file: pkg.module, 'format': 'es' }, 16 | { file: pkg.main, 'format': 'umd', name } 17 | ], 18 | plugins: [ 19 | svelte({ 20 | customElement: true 21 | }), 22 | resolve(), 23 | terser() 24 | ] 25 | }; 26 | --------------------------------------------------------------------------------