├── .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 | [](http://standardjs.com) [](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 |
--------------------------------------------------------------------------------