Compare commits

..

74 Commits

Author SHA1 Message Date
3cde4e693f build(deps-dev): bump @commitlint/cli from 5.2.5 to 13.1.0
Bumps [@commitlint/cli](https://github.com/conventional-changelog/commitlint) from 5.2.5 to 13.1.0.
- [Release notes](https://github.com/conventional-changelog/commitlint/releases)
- [Changelog](https://github.com/conventional-changelog/commitlint/blob/master/CHANGELOG.md)
- [Commits](https://github.com/conventional-changelog/commitlint/compare/v5.2.5...v13.1.0)

Signed-off-by: dependabot-preview[bot] <support@dependabot.com>
2021-07-26 05:32:18 +00:00
a718a7e9c3 update README, add new Related Project to list (#1021) 2020-12-24 08:05:28 -08:00
8263ca93c4 docs: Minor content edits (#924)
Removed missing link to roadmap and updated Egghead link.
2020-06-08 16:12:20 -07:00
b15b4a7535 docs: Add django-feather (#726)
Co-authored-by: Cole Bemis <colebemis@github.com>
2020-04-04 10:17:32 -07:00
9e0dcca265 feat: Add divide icons (#568)
Added 3 division icons (also knows as an obelus).  One by itself, one with a circle around it, and one with a square around it.  These are meant to compliment plus, minus, and x icons.
2020-04-04 10:05:53 -07:00
23603b8217 feat: Add dribbble icon 2020-04-04 09:56:59 -07:00
dca4f121b8 feat: Update tags.json
Thank you, @drinking-code! 🙌
2020-02-07 08:50:59 -08:00
91118a67b6 feat: Update tags.json (#797) 2019-12-10 11:57:57 -08:00
3e9da32dca docs: Remove stdlib logo 2019-11-15 19:34:45 -08:00
080262a2bf Update description 2019-11-08 02:56:50 -08:00
466b3f0494 Remove roadmap
The roadmap was out of date. Let's track future work using GitHub issues instead.
2019-11-08 02:22:14 -08:00
c05985d348 Add Svelte library to list of related projects (#772) 2019-10-30 07:36:07 -07:00
ffce177ff4 fix: Adjust dots so that they render in Figma
We use lines with 0 length to represent dots. However, lines with 0 length don't render in Figma. To
workaround this issue, we give those lines a length of 0.01 instead of 0.
2019-08-21 22:16:08 -07:00
c3b87eb62c feat: Add twitch icon 2019-08-08 08:39:01 -07:00
5047ddb568 feat: Add tool icon 2019-08-07 16:38:23 -07:00
965c0a3d47 docs: Update vue link (#713) 2019-08-07 16:26:18 -07:00
3c64e93543 fix: Update core-js to 3.1.3 2019-06-10 17:11:10 -07:00
10e4e38ae1 feat: Add framer icon 2019-06-06 09:21:49 -07:00
5a991dddea build(deps-dev): bump eslint-plugin-prettier from 2.5.0 to 2.7.0
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 2.5.0 to 2.7.0.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v2.5.0...v2.7.0)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-05-12 21:57:39 -07:00
8f658193d2 feat: Add hexagon icon 2019-03-30 10:22:17 -07:00
7b8ff33195 feat: Update package icon 2019-03-30 10:22:17 -07:00
8263c2231e feat: Update box icon 2019-03-30 10:22:17 -07:00
74aafa1b4e feat: Add codesandbox icon 2019-03-30 10:22:17 -07:00
f27d8b0f8e feat: Add columns icon 2019-03-29 17:19:46 -07:00
5d42ac8398 Merge pull request #549 from feathericons/add-x-octagon
Add x-octagon icon
2019-02-26 10:50:35 -08:00
7a17d77409 Merge pull request #548 from feathericons/add-figma-icon
Add Figma icon
2019-02-26 10:49:40 -08:00
6cdea52f27 feat: Add x-octagon icon 2019-02-25 22:35:05 -08:00
eb106953ae feat: Add figma icon 2019-02-25 22:29:30 -08:00
e6e6679596 docs: Update donate link 2019-02-24 23:26:09 -08:00
cd27b8869e build(deps): [security] bump extend from 3.0.1 to 3.0.2
Bumps [extend](https://github.com/justmoon/node-extend) from 3.0.1 to 3.0.2. **This update includes security fixes.**
- [Release notes](https://github.com/justmoon/node-extend/releases)
- [Changelog](https://github.com/justmoon/node-extend/blob/master/CHANGELOG.md)
- [Commits](https://github.com/justmoon/node-extend/compare/v3.0.1...v3.0.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2019-02-07 13:13:49 -08:00
3e4918be74 feat: Update bell-off icon 2019-02-04 20:00:41 -08:00
1889a0ab79 feat: Update bell icon 2019-02-04 20:00:41 -08:00
cbee1d1114 Merge pull request #526 from feathericons/update-edit-icons
Update edit icons
2019-02-01 15:15:38 -08:00
ee26fe5e7a docs: Update description 2019-01-30 22:21:10 -08:00
09d2db7775 feat: Update edit-3 icon 2019-01-30 18:46:34 -08:00
8f62ded210 feat: Update edit-2 icon 2019-01-30 18:46:19 -08:00
51bb931937 feat: Update edit icon 2019-01-30 18:33:25 -08:00
0a130b77e0 feat: Add pen-tool icon (#522) 2019-01-29 10:14:03 -08:00
55c84ac47c feat: Add mouse-pointer icon 2019-01-28 20:29:10 -08:00
c440ee596c Merge pull request #525 from feathericons/update-music
feat: Update `music` icon
2019-01-28 20:04:25 -08:00
51faf5738e feat: Update music icon 2019-01-27 23:18:32 -08:00
fff965df89 fix: Add tags for search icon 2019-01-27 20:31:14 -08:00
9b1fca0ded feat: Update slack icon 2019-01-24 22:33:23 -08:00
8da557c9dd feat: Add key icon 2019-01-24 22:20:34 -08:00
48735d20a0 docs: Add Figma section to README 2019-01-24 21:58:59 -08:00
fcd491c8a2 feat: Add smile, frown and meh emoji icons 2018-12-23 01:59:36 -08:00
70b1a47b56 build(deps): [security] bump https-proxy-agent from 2.1.1 to 2.2.1 (#497)
Bumps [https-proxy-agent](https://github.com/TooTallNate/node-https-proxy-agent) from 2.1.1 to 2.2.1. **This update includes security fixes.**
- [Release notes](https://github.com/TooTallNate/node-https-proxy-agent/releases)
- [Changelog](https://github.com/TooTallNate/node-https-proxy-agent/blob/master/History.md)
- [Commits](https://github.com/TooTallNate/node-https-proxy-agent/compare/2.1.1...2.2.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-26 20:41:20 -08:00
fcd9e44681 build(deps): [security] bump merge from 1.2.0 to 1.2.1 (#498)
Bumps [merge](https://github.com/yeikos/js.merge) from 1.2.0 to 1.2.1. **This update includes security fixes.**
- [Release notes](https://github.com/yeikos/js.merge/releases)
- [Commits](https://github.com/yeikos/js.merge/compare/v1.2.0...v1.2.1)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-26 20:41:08 -08:00
0bbc3f61dc build(deps): [security] bump sshpk from 1.13.1 to 1.15.2 (#499)
Bumps [sshpk](https://github.com/joyent/node-sshpk) from 1.13.1 to 1.15.2. **This update includes security fixes.**
- [Release notes](https://github.com/joyent/node-sshpk/releases)
- [Commits](https://github.com/joyent/node-sshpk/compare/v1.13.1...v1.15.2)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-26 20:40:44 -08:00
ac50475a45 build(deps): [security] bump stringstream from 0.0.5 to 0.0.6 (#500)
Bumps [stringstream](https://github.com/mhart/StringStream) from 0.0.5 to 0.0.6. **This update includes security fixes.**
- [Release notes](https://github.com/mhart/StringStream/releases)
- [Commits](https://github.com/mhart/StringStream/compare/v0.0.5...v0.0.6)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-26 20:40:26 -08:00
e105533ac1 docs: Add php-feather to related projects 2018-10-30 12:34:57 -07:00
e5d9dffac4 feat: Add trello icon 2018-10-29 13:08:31 -07:00
eced6f7414 docs: Update example 2018-10-28 10:06:21 -07:00
f949102033 fix: Fix feather icon 2018-10-28 09:40:41 -07:00
61803f2129 feat: Add coffee icon 2018-10-27 21:05:59 -07:00
8aec53b331 docs: Update issue templates
* Create icon_request.md

* Delete ISSUE_TEMPLATE.md

* Create bug_report.md

* creating an example bug report

* Using same bug report from issue template
2018-07-18 18:34:53 -07:00
156c0919c9 docs: Add info about SVG attributes 2018-05-21 14:04:00 -07:00
179b482c03 build: Use promises in algolia script 2018-05-18 19:08:46 -07:00
a23698d5be build: Initialize tmp index settings 2018-05-18 18:08:14 -07:00
fb057f1f94 build: Initialize algolia settings in script 2018-05-18 18:06:19 -07:00
21bb9fe6d6 build: Only copy settings to tmp index 2018-05-18 17:55:24 -07:00
c63f478ff5 chore: Remove console.log 2018-05-18 17:47:05 -07:00
b424fa779d build: Add logs to sync-algolia script 2018-05-18 17:41:39 -07:00
01698dea84 Merge branch 'master' of https://github.com/feathericons/feather 2018-05-18 17:23:29 -07:00
ae8e149850 build: Refactor algolia script to reindex data atomically 2018-05-18 17:23:23 -07:00
9f49fd9560 Merge pull request #415 from feathericons/dependabot/npm_and_yarn/core-js-2.5.6
build: bump core-js from 2.5.3 to 2.5.6
2018-05-18 17:01:29 -07:00
742f452232 docs: Update README.md 2018-05-18 16:59:19 -07:00
962870d51c chore: Fix security vulnerabilities 2018-05-18 16:41:56 -07:00
ba1b12a712 Merge branch 'master' of https://github.com/feathericons/feather 2018-05-18 16:35:01 -07:00
5045ec3b78 chore: Add comment to sync-algolia script 2018-05-18 16:34:56 -07:00
0d65b5761b build: Use npx in build script 2018-05-18 16:34:26 -07:00
fcf9aec131 docs: Update unpkg links 2018-05-18 16:20:16 -07:00
2ee03d261c fix: Set unpkg default to feather.min.js 2018-05-18 16:13:35 -07:00
9b157b399d build: bump core-js from 2.5.3 to 2.5.6
Bumps [core-js](https://github.com/zloirock/core-js) from 2.5.3 to 2.5.6.
- [Release notes](https://github.com/zloirock/core-js/releases)
- [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zloirock/core-js/compare/v2.5.3...v2.5.6)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-05-18 19:28:17 +00:00
59 changed files with 5233 additions and 2082 deletions

View File

@ -1,10 +0,0 @@
<!--
If you'd like to request an icon, please provide the following information:
- icon name
- at least one use case
- screenshots of similar icons
Please create one issue for each icon request.
-->

67
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@ -0,0 +1,67 @@
---
name: Bug report
about: Create a report to help us improve
---
<!--
Before reporting an issue, please search to see if someone has filed a similar issue before. If there is already an open issue, please add a 👍 and/or leave a comment with additional information.
-->
## Prerequisites
* Version:
* Are you running from source/master:
* Are you using a released build:
* Operating system:
* Bits:
## Step to reproduce
*(Type here)*
### Actual behavior
## Any message or error
*(Type here)*
## Resources
* Links
* Screenshots
Here is what a great bug report would look like:
```
## Prerequisites
Version: Release v3.1.0
Running from: Import using webpack
Operating system: Mac OSX
Bits: 64 bits
## Step to reproduce
- Import `check` icon
- Add to a React component/view
- Run the react app
- Notice that the `check` isn't rendering correctly which seems a encoding problem
### Actual behavior:
- Import `check` icon
- Add to a React component/view
- Run the react app
- Check is displayed with correct encoding (e.g UTF-8)
## Any message or error
No console output
...
## Resources
No resources
...
```

14
.github/ISSUE_TEMPLATE/icon_request.md vendored Normal file
View File

@ -0,0 +1,14 @@
---
name: Icon request
about: Suggest an new icon for this project
---
<!--
Before creating an icon request, please search to see if someone has requested the icon already. If there is an open request, please add a 👍.
-->
## Icon Request
* Icon name:
* Use case:
* Screenshots of similar icons:

View File

@ -8,10 +8,10 @@ The following is a set of guidelines for contributing to Feather. Feel free to p
> **Note:** At the moment we are not accepting pull requests containing _**icons**_. The best way to contribute an icon is to create an issue with a screenshot and link to an SVG of your icon.
Pull requests for new features, bug fixes, etc. are often appreciated. Please checkout the [project roadmap](https://github.com/colebemis/feather#roadmap) and raise an issue to discuss any of the items on the list.
Pull requests for new features, bug fixes, etc. are often appreciated.
**Working on your first Pull Request?** You can learn how from this *free* series
[How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github)
[How to Contribute to an Open Source Project on GitHub](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github)
Guidelines for pull requests:
- __Make your commit messages as descriptive as possible.__ Include as much information as you can. Explain anything that the file diffs themselves wont make apparent.
@ -37,24 +37,36 @@ When creating a new issue make sure to include the following:
- A screenshot of any visual bug.
Here is what a great bug report would look like:
```
Check not rendering properly
## Prerequisites
Version: Release v3.1.0
Downloaded from: Import using webpack
OS: Mac OSX
Running from: Import using webpack
Operating system: Mac OSX
Bits: 64 bits
## Step to reproduce
How to reproduce:
- Import `check` icon
- Add to a React component/view
- Run the react app
- Notice that the `check` isn't rendering correctly which seems a encoding problem
Actual result:
### Actual behavior:
- Import `check` icon
- Add to a React component/view
- Run the react app
- Check is displayed with correct encoding (e.g UTF-8)
## Any message or error
No console output
...
## Resources
No resources
...
```

View File

@ -5,24 +5,18 @@
[![npm downloads](https://img.shields.io/npm/dm/feather-icons.svg?style=flat-square)](https://www.npmjs.com/package/feather-icons)
[![npm version](https://img.shields.io/npm/v/feather-icons.svg?style=flat-square)](https://www.npmjs.com/package/feather-icons)
[![CDNJS version](https://img.shields.io/cdnjs/v/feather-icons.svg?style=flat-square)](https://cdnjs.com/libraries/feather-icons)
[![Donate](https://img.shields.io/badge/donate-paypal-blue.svg?style=flat-square)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&amp;business=G6CPFZ6PQRZW8&amp;lc=US&amp;item_name=Feather&amp;currency_code=USD&amp;bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted)
[![Donate](https://img.shields.io/badge/donate-paypal-blue.svg?style=flat-square)](https://www.paypal.me/colebemis/5)
## What is Feather?
Feather is a collection of simply beautiful open source icons. Each icon is designed on a 24x24 grid with an emphasis on simplicity, consistency and readability.
Feather is a collection of simply beautiful open source icons. Each icon is designed on a 24x24 grid with an emphasis on simplicity, consistency, and flexibility.
https://feathericons.com
```sh
```shell
npm install feather-icons
```
**Sponsored by**
<a href="https://stdlib.com">
<img src="https://stdlib.com/static/images/stdlib-logo-wordmark-128.png" width="128" />
</a>
## Table of Contents
* [Quick Start](#quick-start)
@ -30,12 +24,12 @@ npm install feather-icons
* [Client-side JavaScript](#client-side-javascript)
* [Node](#node)
* [SVG Sprite](#svg-sprite)
* [Figma](#figma)
* [API Reference](#api-reference)
* [`feather.icons`](#feathericons)
* [`feather.icons[name].toSvg()`](#feathericonsnametosvgattrs)
* [`feather.replace()`](#featherreplaceattrs)
* [(DEPRECATED) `feather.toSvg()`](#deprecated-feathertosvgname-attrs)
* [Roadmap](#roadmap)
* [Contributing](#contributing)
* [Related Projects](#related-projects)
* [License](#license)
@ -50,7 +44,7 @@ Or copy and paste the following code snippet into a blank `html` file.
<!DOCTYPE html>
<html lang="en">
<title></title>
<script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons"></script>
<body>
<!-- example icon -->
@ -77,7 +71,7 @@ The following are additional ways you can use Feather.
Install with [npm](https://docs.npmjs.com/getting-started/what-is-npm).
```
```shell
npm install feather-icons --save
```
@ -85,25 +79,27 @@ Or just copy [`feather.js`](https://unpkg.com/feather-icons/dist/feather.js) or
#### 2. Include
Include `feather.js` or `feather.min.js` with a `<script>` tag. These files are located in the `dist` directory of the npm package.
Include `feather.js` or `feather.min.js` with a `<script>` tag:
```html
<script src="path/to/dist/feather.js"></script>
```
Or load the script from a CDN provider.
> **Note:** `feather.js` and `feather.min.js` are located in the `dist` directory of the npm package.
Or load the script from a CDN provider:
```html
<!-- choose one -->
<script src="https://unpkg.com/feather-icons"></script>
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
<script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script>
```
After including the script, `feather` will be available as a global variable.
#### 3. Use
To use an icon on your page, add a `data-feather` attribute with the icon name to an element.
To use an icon on your page, add a `data-feather` attribute with the icon name to an element:
```html
<i data-feather="circle"></i>
@ -113,7 +109,7 @@ See the complete list of icons at [feathericons.com](https://feathericons.com).
#### 4. Replace
Call the `feather.replace()` method.
Call the `feather.replace()` method:
```html
<script>
@ -126,15 +122,15 @@ All elements that have a `data-feather` attribute will be replaced with SVG mark
### Node
#### 1. Install
Install with [npm](https://docs.npmjs.com/getting-started/what-is-npm).
Install with [npm](https://docs.npmjs.com/getting-started/what-is-npm):
```
```shell
npm install feather-icons --save
```
#### 2. Require
```javascript
```js
const feather = require('feather-icons')
```
@ -157,7 +153,8 @@ feather.icons.x
// 'stroke-width': 2,
// 'stroke-linecap': 'round',
// 'stroke-linejoin': 'round',
// }
// },
// toSvg: [Function],
// }
feather.icons.x.toSvg()
@ -177,7 +174,7 @@ See the [API Reference](#api-reference) for more information about the available
Install with [npm](https://docs.npmjs.com/getting-started/what-is-npm).
```
```shell
npm install feather-icons --save
```
@ -185,7 +182,7 @@ Or just copy [`feather-sprite.svg`](https://unpkg.com/feather-icons/dist/feather
#### 2. Use
In your HTML, you can include an icon like so:
Include an icon on your page with the following markup:
```html
<svg
@ -203,7 +200,7 @@ In your HTML, you can include an icon like so:
> **Note:** `circle` in the above example can be replaced with any valid icon name. See the complete list of icon names at [feathericons.com](https://feathericons.com).
However, this markup can be simplified using a simple CSS class to avoid repetition of SVG attributes between icons.
However, this markup can be simplified using a simple CSS class to avoid repetition of SVG attributes between icons:
```css
.feather {
@ -222,6 +219,8 @@ However, this markup can be simplified using a simple CSS class to avoid repetit
<use xlink:href="path/to/dist/feather-sprite.svg#circle"/>
</svg>
```
### Figma
Feather is available as a [Figma component library](https://www.figma.com/file/dyJRSFTIajik4cdkcXN8yA3K/Feather-Component-Library). To use the components, log in to your Figma account and **duplicate** the file to your drafts.
## API Reference
@ -248,7 +247,8 @@ feather.icons.x
// 'stroke-width': 2,
// 'stroke-linecap': 'round',
// 'stroke-linejoin': 'round',
// }
// },
// toSvg: [Function],
// }
feather.icons.x.toString()
@ -271,9 +271,17 @@ Returns an SVG string.
| --------- | ------ | ----------- |
| `attrs` (optional) | Object | Key-value pairs in the `attrs` object will be mapped to HTML attributes on the `<svg>` tag (e.g. `{ foo: 'bar' }` maps to `foo="bar"`). All default attributes on the `<svg>` tag can be overridden with the `attrs` object. |
> **Hint:** You might find these SVG attributes helpful for manipulating icons:
> * [`color`](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/color)
> * [`width`](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/width)
> * [`height`](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/height)
> * [`stroke-width`](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-width)
> * [`stroke-linecap`](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linecap)
> * [`stroke-linejoin`](https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/stroke-linejoin)
#### Usage
```javascript
```js
feather.icons.circle.toSvg()
// '<svg class="feather feather-circle" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle></svg>'
@ -361,7 +369,7 @@ Returns an SVG string.
#### Usage
```javascript
```js
feather.toSvg('circle')
// '<svg class="feather feather-circle" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="10"></circle></svg>'
@ -374,14 +382,6 @@ feather.toSvg('circle', { class: 'foo bar' })
[View Source](https://github.com/colebemis/feather/blob/master/src/to-svg.js)
## Roadmap
- [ ] Write icon design guidelines
- [ ] Improve SVG accessibility
- [ ] Handle usage of custom icons
- [ ] Add usage examples
- [ ] Make `<feather-icon>` web component
## Contributing
For more info on how to contribute please see the [contribution guidelines](https://github.com/colebemis/feather/blob/master/CONTRIBUTING.md).
@ -394,7 +394,11 @@ Caught a mistake or want to contribute to the documentation? [Edit this page on
- [elm-feather](https://github.com/1602/elm-feather) - Feather icons for Elm applications
- [react-feather](https://github.com/carmelopullara/react-feather) - Feather icons as React components
- [sketch-feather](https://github.com/odmln/sketch-feather) - Feather icons as a Sketch library
- [vue-feather-icon](https://github.com/mage3k/vue-feather-icon) - Feather icons as Vue components
- [vue-feather-icons](https://github.com/egoist/vue-feather-icons) - Feather icons as Vue components
- [php-feather](https://github.com/Pixelrobin/php-feather) - Feather icons as a PHP Library
- [wp-php-feather](https://github.com/reatlat/wp-php-feather) - Feather icons as a WordPress template tag
- [django-feather](https://pypi.org/project/django-feather/) - Feather icons as Django Template Tag
- [svelte-feather-icons](https://github.com/dylanblokhuis/svelte-feather-icons) - Feather icons as Svelte components
## License

View File

@ -1,25 +1,25 @@
#!/bin/bash
# Process SVG files
./node_modules/.bin/babel-node bin/process-svgs.js
npx babel-node bin/process-svgs.js
# Create dist directory
./node_modules/.bin/rimraf dist
npx rimraf dist
mkdir dist
# Build icons.json
./node_modules/.bin/babel-node bin/build-icons-json.js
npx babel-node bin/build-icons-json.js
# Build SVG sprite
./node_modules/.bin/babel-node bin/build-sprite.js
npx babel-node bin/build-sprite.js
# Create dist/icons directory
./node_modules/.bin/rimraf dist/icons
npx rimraf dist/icons
mkdir dist/icons
# Build SVG icons
./node_modules/.bin/babel-node bin/build-svgs.js
npx babel-node bin/build-svgs.js
# Build JavaScript library
./node_modules/.bin/webpack --output-filename feather.js --mode development
./node_modules/.bin/webpack --output-filename feather.min.js --mode production
npx webpack --output-filename feather.js --mode development
npx webpack --output-filename feather.min.js --mode production

View File

@ -8,29 +8,66 @@ if (
process.env.TRAVIS_PULL_REQUEST === 'false' &&
process.env.TRAVIS_BRANCH === 'master'
) {
console.log('Syncing Algolia records...');
syncAlgolia();
} else {
console.log('Skipped Algolia sync.');
}
function syncAlgolia() {
// ALGOLIA_ADMIN_KEY must be added as an environment variable in Travis CI
const client = algolia(ALGOLIA_APP_ID, process.env.ALGOLIA_ADMIN_KEY);
console.log('Initializing target and temporary indexes...');
const index = client.initIndex('icons');
const indexTmp = client.initIndex('icons_tmp');
const records = Object.keys(icons).map(name => ({
name,
tags: tags[name] || [],
}));
console.log(
"Copying target index's settings, synonyms and rules into temporary index...",
);
scopedCopyIndex(client, index.indexName, indexTmp.indexName)
.then(() => {
const objects = Object.keys(icons).map(name => ({
name,
tags: tags[name] || [],
}));
index.clearIndex((err, content) => {
if (err) throw err;
console.log(content);
console.log('Adding objects to the temporary index...');
return addObjects(indexTmp, objects);
})
.then(() => {
console.log('Moving temporary index to target index...');
return moveIndex(client, indexTmp.indexName, index.indexName);
});
}
index.addObjects(records, (err, content) => {
if (err) throw err;
console.log(content);
function scopedCopyIndex(
client,
indexNameSrc,
indexNameDest,
scope = ['settings', 'synonyms', 'rules'],
) {
return new Promise((resolve, reject) => {
client.copyIndex(indexNameSrc, indexNameDest, scope, (error, contents) => {
if (error) reject(error);
resolve(contents);
});
});
}
function addObjects(index, objects) {
return new Promise((resolve, reject) => {
index.addObjects(objects, (error, contents) => {
if (error) reject(error);
resolve(contents);
});
});
}
function moveIndex(client, indexNameSrc, indexNameDest) {
return new Promise((resolve, reject) => {
client.moveIndex(indexNameSrc, indexNameDest, (error, contents) => {
if (error) reject(error);
resolve(contents);
});
});
}

View File

@ -3,20 +3,13 @@
<head>
<meta charset="UTF-8">
<title>Feather</title>
<!--
To build feather.min.js run
$ npm run build
in the root directory, or use the already built package available on unpkg.com.
-->
<script src="../dist/feather.min.js"></script>
<!-- <script src="https://unpkg.com/feather-icons/dist/feather.min.js"></script> -->
</head>
<body>
<i data-feather="eye"></i>
<i data-feather="heart"></i>
<i data-feather="feather"></i>
<script src="https://unpkg.com/feather-icons"></script>
<script>
feather.replace()
</script>

View File

@ -11,5 +11,5 @@
>
<circle cx="12" cy="12" r="10" />
<line x1="12" y1="8" x2="12" y2="12" />
<line x1="12" y1="16" x2="12" y2="16" />
<line x1="12" y1="16" x2="12.01" y2="16" />
</svg>

Before

Width:  |  Height:  |  Size: 329 B

After

Width:  |  Height:  |  Size: 332 B

View File

@ -11,5 +11,5 @@
>
<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2" />
<line x1="12" y1="8" x2="12" y2="12" />
<line x1="12" y1="16" x2="12" y2="16" />
<line x1="12" y1="16" x2="12.01" y2="16" />
</svg>

Before

Width:  |  Height:  |  Size: 387 B

After

Width:  |  Height:  |  Size: 390 B

View File

@ -11,5 +11,5 @@
>
<path d="M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" />
<line x1="12" y1="9" x2="12" y2="13" />
<line x1="12" y1="17" x2="12" y2="17" />
<line x1="12" y1="17" x2="12.01" y2="17" />
</svg>

Before

Width:  |  Height:  |  Size: 397 B

After

Width:  |  Height:  |  Size: 400 B

View File

@ -9,6 +9,9 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M8.56 2.9A7 7 0 0 1 19 9v4m-2 4H2a3 3 0 0 0 3-3V9a7 7 0 0 1 .78-3.22M13.73 21a2 2 0 0 1-3.46 0" />
<path d="M13.73 21a2 2 0 0 1-3.46 0" />
<path d="M18.63 13A17.89 17.89 0 0 1 18 8" />
<path d="M6.26 6.26A5.86 5.86 0 0 0 6 8c0 7-3 9-3 9h14" />
<path d="M18 8a6 6 0 0 0-9.33-5" />
<line x1="1" y1="1" x2="23" y2="23" />
</svg>

Before

Width:  |  Height:  |  Size: 359 B

After

Width:  |  Height:  |  Size: 438 B

View File

@ -9,5 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M22 17H2a3 3 0 0 0 3-3V9a7 7 0 0 1 14 0v5a3 3 0 0 0 3 3zm-8.27 4a2 2 0 0 1-3.46 0" />
<path d="M18 8A6 6 0 0 0 6 8c0 7-3 9-3 9h18s-3-2-3-9" />
<path d="M13.73 21a2 2 0 0 1-3.46 0" />
</svg>

Before

Width:  |  Height:  |  Size: 305 B

After

Width:  |  Height:  |  Size: 309 B

View File

@ -9,7 +9,7 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12.89 1.45l8 4A2 2 0 0 1 22 7.24v9.53a2 2 0 0 1-1.11 1.79l-8 4a2 2 0 0 1-1.79 0l-8-4a2 2 0 0 1-1.1-1.8V7.24a2 2 0 0 1 1.11-1.79l8-4a2 2 0 0 1 1.78 0z" />
<polyline points="2.32 6.16 12 11 21.68 6.16" />
<line x1="12" y1="22.76" x2="12" y2="11" />
<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" />
<polyline points="3.27 6.96 12 12.01 20.73 6.96" />
<line x1="12" y1="22.08" x2="12" y2="12" />
</svg>

Before

Width:  |  Height:  |  Size: 471 B

After

Width:  |  Height:  |  Size: 445 B

View File

@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<path d="M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6" />
<line x1="2" y1="20" x2="2" y2="20" />
<line x1="2" y1="20" x2="2.01" y2="20" />
</svg>

Before

Width:  |  Height:  |  Size: 372 B

After

Width:  |  Height:  |  Size: 375 B

View File

@ -10,10 +10,10 @@
stroke-linejoin="round"
>
<path d="M20 17.58A5 5 0 0 0 18 8h-1.26A8 8 0 1 0 4 16.25" />
<line x1="8" y1="16" x2="8" y2="16" />
<line x1="8" y1="20" x2="8" y2="20" />
<line x1="12" y1="18" x2="12" y2="18" />
<line x1="12" y1="22" x2="12" y2="22" />
<line x1="16" y1="16" x2="16" y2="16" />
<line x1="16" y1="20" x2="16" y2="20" />
<line x1="8" y1="16" x2="8.01" y2="16" />
<line x1="8" y1="20" x2="8.01" y2="20" />
<line x1="12" y1="18" x2="12.01" y2="18" />
<line x1="12" y1="22" x2="12.01" y2="22" />
<line x1="16" y1="16" x2="16.01" y2="16" />
<line x1="16" y1="20" x2="16.01" y2="20" />
</svg>

Before

Width:  |  Height:  |  Size: 526 B

After

Width:  |  Height:  |  Size: 544 B

18
icons/codesandbox.svg Normal file
View File

@ -0,0 +1,18 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" />
<polyline points="7.5 4.21 12 6.81 16.5 4.21" />
<polyline points="7.5 19.79 7.5 14.6 3 12" />
<polyline points="21 12 16.5 14.6 16.5 19.79" />
<polyline points="3.27 6.96 12 12.01 20.73 6.96" />
<line x1="12" y1="22.08" x2="12" y2="12" />
</svg>

After

Width:  |  Height:  |  Size: 595 B

17
icons/coffee.svg Normal file
View File

@ -0,0 +1,17 @@
<svg
viewBox="0 0 24 24"
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M18 8h1a4 4 0 0 1 0 8h-1" />
<path d="M2 8h16v9a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V8z" />
<line x1="6" y1="1" x2="6" y2="4" />
<line x1="10" y1="1" x2="10" y2="4" />
<line x1="14" y1="1" x2="14" y2="4" />
</svg>

After

Width:  |  Height:  |  Size: 427 B

13
icons/columns.svg Normal file
View File

@ -0,0 +1,13 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 3h7a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-7m0-18H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h7m0-18v18" />
</svg>

After

Width:  |  Height:  |  Size: 313 B

16
icons/divide-circle.svg Normal file
View File

@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<line x1="8" y1="12" x2="16" y2="12" />
<line x1="12" y1="16" x2="12" y2="16" />
<line x1="12" y1="8" x2="12" y2="8" />
<circle cx="12" cy="12" r="10" />
</svg>

After

Width:  |  Height:  |  Size: 370 B

16
icons/divide-square.svg Normal file
View File

@ -0,0 +1,16 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
<line x1="8" y1="12" x2="16" y2="12" />
<line x1="12" y1="16" x2="12" y2="16" />
<line x1="12" y1="8" x2="12" y2="8" />
</svg>

After

Width:  |  Height:  |  Size: 394 B

15
icons/divide.svg Normal file
View File

@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="6" r="2" />
<line x1="5" y1="12" x2="19" y2="12" />
<circle cx="12" cy="18" r="2" />
</svg>

After

Width:  |  Height:  |  Size: 319 B

14
icons/dribbble.svg Normal file
View File

@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="10" />
<path d="M8.56 2.75c4.37 6.03 6.02 9.42 8.03 17.72m2.54-15.38c-3.72 4.35-8.94 5.66-16.88 5.85m19.5 1.9c-3.5-.93-6.63-.82-8.94 0-2.58.92-5.01 2.86-7.44 6.32" />
</svg>

After

Width:  |  Height:  |  Size: 406 B

View File

@ -1,13 +1,13 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<polygon points="16 3 21 8 8 21 3 21 3 16 16 3" />
<path d="M17 3a2.828 2.828 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5L17 3z" />
</svg>

Before

Width:  |  Height:  |  Size: 261 B

After

Width:  |  Height:  |  Size: 279 B

View File

@ -1,14 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<polygon points="14 2 18 6 7 17 3 17 3 13 14 2" />
<line x1="3" y1="22" x2="21" y2="22" />
<path d="M12 20h9" />
<path d="M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4L16.5 3.5z" />
</svg>

Before

Width:  |  Height:  |  Size: 303 B

After

Width:  |  Height:  |  Size: 303 B

View File

@ -1,14 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M20 14.66V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.34" />
<polygon points="18 2 22 6 12 16 8 16 8 12 18 2" />
<path d="M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7" />
<path d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z" />
</svg>

Before

Width:  |  Height:  |  Size: 341 B

After

Width:  |  Height:  |  Size: 353 B

View File

@ -11,5 +11,5 @@
>
<path d="M20.24 12.24a6 6 0 0 0-8.49-8.49L5 10.5V19h8.5z" />
<line x1="16" y1="8" x2="2" y2="22" />
<line x1="17" y1="15" x2="9" y2="15" />
<line x1="17.5" y1="15" x2="9" y2="15" />
</svg>

Before

Width:  |  Height:  |  Size: 354 B

After

Width:  |  Height:  |  Size: 356 B

17
icons/figma.svg Normal file
View File

@ -0,0 +1,17 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 5.5A3.5 3.5 0 0 1 8.5 2H12v7H8.5A3.5 3.5 0 0 1 5 5.5z" />
<path d="M12 2h3.5a3.5 3.5 0 1 1 0 7H12V2z" />
<path d="M12 12.5a3.5 3.5 0 1 1 7 0 3.5 3.5 0 1 1-7 0z" />
<path d="M5 19.5A3.5 3.5 0 0 1 8.5 16H12v3.5a3.5 3.5 0 1 1-7 0z" />
<path d="M5 12.5A3.5 3.5 0 0 1 8.5 9H12v7H8.5A3.5 3.5 0 0 1 5 12.5z" />
</svg>

After

Width:  |  Height:  |  Size: 534 B

13
icons/framer.svg Normal file
View File

@ -0,0 +1,13 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M5 16V9h14V2H5l14 14h-7m-7 0l7 7v-7m-7 0h7" />
</svg>

After

Width:  |  Height:  |  Size: 266 B

16
icons/frown.svg Normal file
View File

@ -0,0 +1,16 @@
<svg
viewBox="0 0 24 24"
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="10" />
<path d="M16 16s-1.5-2-4-2-4 2-4 2" />
<line x1="9" y1="9" x2="9.01" y2="9" />
<line x1="15" y1="9" x2="15.01" y2="9" />
</svg>

After

Width:  |  Height:  |  Size: 371 B

View File

@ -11,6 +11,6 @@
>
<line x1="22" y1="12" x2="2" y2="12" />
<path d="M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z" />
<line x1="6" y1="16" x2="6" y2="16" />
<line x1="10" y1="16" x2="10" y2="16" />
<line x1="6" y1="16" x2="6.01" y2="16" />
<line x1="10" y1="16" x2="10.01" y2="16" />
</svg>

Before

Width:  |  Height:  |  Size: 456 B

After

Width:  |  Height:  |  Size: 462 B

View File

@ -11,5 +11,5 @@
>
<circle cx="12" cy="12" r="10" />
<path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3" />
<line x1="12" y1="17" x2="12" y2="17" />
<line x1="12" y1="17" x2="12.01" y2="17" />
</svg>

Before

Width:  |  Height:  |  Size: 339 B

After

Width:  |  Height:  |  Size: 342 B

13
icons/hexagon.svg Normal file
View File

@ -0,0 +1,13 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" />
</svg>

After

Width:  |  Height:  |  Size: 345 B

View File

@ -11,5 +11,5 @@
>
<circle cx="12" cy="12" r="10" />
<line x1="12" y1="16" x2="12" y2="12" />
<line x1="12" y1="8" x2="12" y2="8" />
<line x1="12" y1="8" x2="12.01" y2="8" />
</svg>

Before

Width:  |  Height:  |  Size: 328 B

After

Width:  |  Height:  |  Size: 331 B

View File

@ -11,5 +11,5 @@
>
<rect x="2" y="2" width="20" height="20" rx="5" ry="5" />
<path d="M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z" />
<line x1="17.5" y1="6.5" x2="17.5" y2="6.5" />
<line x1="17.5" y1="6.5" x2="17.51" y2="6.5" />
</svg>

Before

Width:  |  Height:  |  Size: 380 B

After

Width:  |  Height:  |  Size: 381 B

13
icons/key.svg Normal file
View File

@ -0,0 +1,13 @@
<svg
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4" />
</svg>

After

Width:  |  Height:  |  Size: 343 B

View File

@ -12,7 +12,7 @@
<line x1="8" y1="6" x2="21" y2="6" />
<line x1="8" y1="12" x2="21" y2="12" />
<line x1="8" y1="18" x2="21" y2="18" />
<line x1="3" y1="6" x2="3" y2="6" />
<line x1="3" y1="12" x2="3" y2="12" />
<line x1="3" y1="18" x2="3" y2="18" />
<line x1="3" y1="6" x2="3.01" y2="6" />
<line x1="3" y1="12" x2="3.01" y2="12" />
<line x1="3" y1="18" x2="3.01" y2="18" />
</svg>

Before

Width:  |  Height:  |  Size: 453 B

After

Width:  |  Height:  |  Size: 462 B

16
icons/meh.svg Normal file
View File

@ -0,0 +1,16 @@
<svg
viewBox="0 0 24 24"
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="10" />
<line x1="8" y1="15" x2="16" y2="15" />
<line x1="9" y1="9" x2="9.01" y2="9" />
<line x1="15" y1="9" x2="15.01" y2="9" />
</svg>

After

Width:  |  Height:  |  Size: 372 B

14
icons/mouse-pointer.svg Normal file
View File

@ -0,0 +1,14 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M3 3l7.07 16.97 2.51-7.39 7.39-2.51L3 3z" />
<path d="M13 13l6 6" />
</svg>

After

Width:  |  Height:  |  Size: 290 B

View File

@ -1,14 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M9 17H5a2 2 0 0 0-2 2 2 2 0 0 0 2 2h2a2 2 0 0 0 2-2zm12-2h-4a2 2 0 0 0-2 2 2 2 0 0 0 2 2h2a2 2 0 0 0 2-2z" />
<polyline points="9 17 9 5 21 3 21 15" />
<path d="M9 18V5l12-2v13" />
<circle cx="6" cy="18" r="3" />
<circle cx="18" cy="16" r="3" />
</svg>

Before

Width:  |  Height:  |  Size: 373 B

After

Width:  |  Height:  |  Size: 308 B

View File

@ -9,8 +9,8 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12.89 1.45l8 4A2 2 0 0 1 22 7.24v9.53a2 2 0 0 1-1.11 1.79l-8 4a2 2 0 0 1-1.79 0l-8-4a2 2 0 0 1-1.1-1.8V7.24a2 2 0 0 1 1.11-1.79l8-4a2 2 0 0 1 1.78 0z" />
<polyline points="2.32 6.16 12 11 21.68 6.16" />
<line x1="12" y1="22.76" x2="12" y2="11" />
<line x1="7" y1="3.5" x2="17" y2="8.5" />
<line x1="16.5" y1="9.4" x2="7.5" y2="4.21" />
<path d="M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z" />
<polyline points="3.27 6.96 12 12.01 20.73 6.96" />
<line x1="12" y1="22.08" x2="12" y2="12" />
</svg>

Before

Width:  |  Height:  |  Size: 515 B

After

Width:  |  Height:  |  Size: 494 B

16
icons/pen-tool.svg Normal file
View File

@ -0,0 +1,16 @@
<svg
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M12 19l7-7 3 3-7 7-3-3z" />
<path d="M18 13l-1.5-7.5L2 2l3.5 14.5L13 18l5-5z" />
<path d="M2 2l7.586 7.586" />
<circle cx="11" cy="11" r="2" />
</svg>

After

Width:  |  Height:  |  Size: 369 B

View File

@ -11,6 +11,6 @@
>
<rect x="2" y="2" width="20" height="8" rx="2" ry="2" />
<rect x="2" y="14" width="20" height="8" rx="2" ry="2" />
<line x1="6" y1="6" x2="6" y2="6" />
<line x1="6" y1="18" x2="6" y2="18" />
<line x1="6" y1="6" x2="6.01" y2="6" />
<line x1="6" y1="18" x2="6.01" y2="18" />
</svg>

Before

Width:  |  Height:  |  Size: 407 B

After

Width:  |  Height:  |  Size: 413 B

View File

@ -9,9 +9,12 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M22.08 9C19.81 1.41 16.54-.35 9 1.92S-.35 7.46 1.92 15 7.46 24.35 15 22.08 24.35 16.54 22.08 9z" />
<line x1="12.57" y1="5.99" x2="16.15" y2="16.39" />
<line x1="7.85" y1="7.61" x2="11.43" y2="18.01" />
<line x1="16.39" y1="7.85" x2="5.99" y2="11.43" />
<line x1="18.01" y1="12.57" x2="7.61" y2="16.15" />
<path d="M14.5 10c-.83 0-1.5-.67-1.5-1.5v-5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5z" />
<path d="M20.5 10H19V8.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5-.67 1.5-1.5 1.5z" />
<path d="M9.5 14c.83 0 1.5.67 1.5 1.5v5c0 .83-.67 1.5-1.5 1.5S8 21.33 8 20.5v-5c0-.83.67-1.5 1.5-1.5z" />
<path d="M3.5 14H5v1.5c0 .83-.67 1.5-1.5 1.5S2 16.33 2 15.5 2.67 14 3.5 14z" />
<path d="M14 14.5c0-.83.67-1.5 1.5-1.5h5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5h-5c-.83 0-1.5-.67-1.5-1.5z" />
<path d="M15.5 19H14v1.5c0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5-.67-1.5-1.5-1.5z" />
<path d="M10 9.5C10 8.67 9.33 8 8.5 8h-5C2.67 8 2 8.67 2 9.5S2.67 11 3.5 11h5c.83 0 1.5-.67 1.5-1.5z" />
<path d="M8.5 5H10V3.5C10 2.67 9.33 2 8.5 2S7 2.67 7 3.5 7.67 5 8.5 5z" />
</svg>

Before

Width:  |  Height:  |  Size: 533 B

After

Width:  |  Height:  |  Size: 974 B

View File

@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<rect x="5" y="2" width="14" height="20" rx="2" ry="2" />
<line x1="12" y1="18" x2="12" y2="18" />
<line x1="12" y1="18" x2="12.01" y2="18" />
</svg>

Before

Width:  |  Height:  |  Size: 311 B

After

Width:  |  Height:  |  Size: 314 B

16
icons/smile.svg Normal file
View File

@ -0,0 +1,16 @@
<svg
viewBox="0 0 24 24"
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<circle cx="12" cy="12" r="10" />
<path d="M8 14s1.5 2 4 2 4-2 4-2" />
<line x1="9" y1="9" x2="9.01" y2="9" />
<line x1="15" y1="9" x2="15.01" y2="9" />
</svg>

After

Width:  |  Height:  |  Size: 369 B

View File

@ -11,5 +11,5 @@
>
<rect x="4" y="2" width="16" height="20" rx="2" ry="2" />
<circle cx="12" cy="14" r="4" />
<line x1="12" y1="6" x2="12" y2="6" />
<line x1="12" y1="6" x2="12.01" y2="6" />
</svg>

Before

Width:  |  Height:  |  Size: 344 B

After

Width:  |  Height:  |  Size: 347 B

View File

@ -9,14 +9,6 @@
stroke-linecap="round"
stroke-linejoin="round"
>
<rect
x="4"
y="2"
width="16"
height="20"
rx="2"
ry="2"
transform="rotate(180 12 12)"
/>
<line x1="12" y1="18" x2="12" y2="18" />
<rect x="4" y="2" width="16" height="20" rx="2" ry="2" />
<line x1="12" y1="18" x2="12.01" y2="18" />
</svg>

Before

Width:  |  Height:  |  Size: 371 B

After

Width:  |  Height:  |  Size: 314 B

View File

@ -10,5 +10,5 @@
stroke-linejoin="round"
>
<path d="M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z" />
<line x1="7" y1="7" x2="7" y2="7" />
<line x1="7" y1="7" x2="7.01" y2="7" />
</svg>

Before

Width:  |  Height:  |  Size: 341 B

After

Width:  |  Height:  |  Size: 344 B

13
icons/tool.svg Normal file
View File

@ -0,0 +1,13 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z" />
</svg>

After

Width:  |  Height:  |  Size: 376 B

15
icons/trello.svg Normal file
View File

@ -0,0 +1,15 @@
<svg
viewBox="0 0 24 24"
width="24"
height="24"
xmlns="http://www.w3.org/2000/svg"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<rect x="3" y="3" width="18" height="18" rx="2" ry="2" />
<rect x="7" y="7" width="3" height="9" />
<rect x="14" y="7" width="3" height="5" />
</svg>

After

Width:  |  Height:  |  Size: 357 B

13
icons/twitch.svg Normal file
View File

@ -0,0 +1,13 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<path d="M21 2H3v16h5v4l4-4h5l4-4V2zM11 11V7M16 11V7" />
</svg>

After

Width:  |  Height:  |  Size: 267 B

View File

@ -15,5 +15,5 @@
<path d="M10.71 5.05A16 16 0 0 1 22.58 9" />
<path d="M1.42 9a15.91 15.91 0 0 1 4.7-2.88" />
<path d="M8.53 16.11a6 6 0 0 1 6.95 0" />
<line x1="12" y1="20" x2="12" y2="20" />
<line x1="12" y1="20" x2="12.01" y2="20" />
</svg>

Before

Width:  |  Height:  |  Size: 540 B

After

Width:  |  Height:  |  Size: 543 B

View File

@ -12,5 +12,5 @@
<path d="M5 12.55a11 11 0 0 1 14.08 0" />
<path d="M1.42 9a16 16 0 0 1 21.16 0" />
<path d="M8.53 16.11a6 6 0 0 1 6.95 0" />
<line x1="12" y1="20" x2="12" y2="20" />
<line x1="12" y1="20" x2="12.01" y2="20" />
</svg>

Before

Width:  |  Height:  |  Size: 382 B

After

Width:  |  Height:  |  Size: 385 B

15
icons/x-octagon.svg Normal file
View File

@ -0,0 +1,15 @@
<svg
xmlns="http://www.w3.org/2000/svg"
width="24"
height="24"
viewBox="0 0 24 24"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round"
>
<polygon points="7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2" />
<line x1="15" y1="9" x2="9" y2="15" />
<line x1="9" y1="9" x2="15" y2="15" />
</svg>

After

Width:  |  Height:  |  Size: 384 B

6427
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -3,6 +3,7 @@
"version": "0.0.0-development",
"description": "Simply beautiful open source icons",
"main": "dist/feather.js",
"unpkg": "dist/feather.min.js",
"files": [
"dist"
],
@ -28,10 +29,10 @@
},
"dependencies": {
"classnames": "^2.2.5",
"core-js": "^2.5.3"
"core-js": "^3.1.3"
},
"devDependencies": {
"@commitlint/cli": "^5.2.5",
"@commitlint/cli": "^13.1.0",
"@commitlint/config-conventional": "^6.1.3",
"algoliasearch": "^3.27.1",
"babel-cli": "^6.24.1",
@ -41,18 +42,17 @@
"cheerio": "^1.0.0-rc.2",
"commitizen": "^2.9.6",
"cz-conventional-changelog": "^2.1.0",
"eslint": "^4.15.0",
"eslint": "^4.19.1",
"eslint-config-airbnb-base": "^12.1.0",
"eslint-config-prettier": "^2.9.0",
"eslint-plugin-import": "^2.5.0",
"eslint-plugin-prettier": "^2.5.0",
"html-minifier": "^3.5.8",
"husky": "^0.14.3",
"jest": "^21.2.1",
"jest": "^22.4.4",
"lint-staged": "^6.0.0",
"npm-run-all": "^4.1.2",
"prettier": "^1.8.2",
"rimraf": "^2.6.2",
"semantic-release": "^12.2.2",
"svgo": "^0.7.2",
"webpack": "^4.8.3",

View File

@ -1,19 +1,34 @@
{
"activity": ["pulse", "health", "action", "motion"],
"airplay": ["stream", "cast", "mirroring"],
"alert-circle": ["warning"],
"alert-octagon": ["warning"],
"alert-triangle": ["warning"],
"at-sign": ["mention"],
"alert-circle": ["warning", "alert", "danger"],
"alert-octagon": ["warning", "alert", "danger"],
"alert-triangle": ["warning", "alert", "danger"],
"align-center": ["text alignment", "center"],
"align-justify": ["text alignment", "justified"],
"align-left": ["text alignment", "left"],
"align-right": ["text alignment", "right"],
"anchor": [],
"archive": ["index", "box"],
"at-sign": ["mention", "at", "email", "message"],
"award": ["achievement", "badge"],
"aperture": ["camera", "photo"],
"bell": ["alarm", "notification"],
"bar-chart": ["statistics", "diagram", "graph"],
"bar-chart-2": ["statistics", "diagram", "graph"],
"battery": ["power", "electricity"],
"battery-charging": ["power", "electricity"],
"bell": ["alarm", "notification", "sound"],
"bell-off": ["alarm", "notification", "silent"],
"bluetooth": ["wireless"],
"book-open": ["read"],
"book": ["read", "dictionary", "booklet", "magazine"],
"book-open": ["read", "library"],
"book": ["read", "dictionary", "booklet", "magazine", "library"],
"bookmark": ["read", "clip", "marker", "tag"],
"box": ["cube"],
"briefcase": ["work", "bag", "baggage", "folder"],
"calendar": ["date"],
"camera": ["photo"],
"cast": ["chromecast", "airplay"],
"circle": ["off", "zero", "record"],
"clipboard": ["copy"],
"clock": ["time", "watch", "alarm"],
"cloud-drizzle": ["weather", "shower"],
@ -22,10 +37,14 @@
"cloud-snow": ["weather", "blizzard"],
"cloud": ["weather"],
"codepen": ["logo"],
"command": ["keyboard", "cmd"],
"compass": ["navigation", "safari", "travel"],
"codesandbox": ["logo"],
"code": ["source", "programming"],
"coffee": ["drink", "cup", "mug", "tea", "cafe", "hot", "beverage"],
"columns": ["layout"],
"command": ["keyboard", "cmd", "terminal", "prompt"],
"compass": ["navigation", "safari", "travel", "direction"],
"copy": ["clone", "duplicate"],
"corner-down-left": ["arrow"],
"corner-down-left": ["arrow", "return"],
"corner-down-right": ["arrow"],
"corner-left-down": ["arrow"],
"corner-left-up": ["arrow"],
@ -33,10 +52,11 @@
"corner-right-up": ["arrow"],
"corner-up-left": ["arrow"],
"corner-up-right": ["arrow"],
"cpu": ["processor", "technology"],
"credit-card": ["purchase", "payment", "cc"],
"crop": ["photo", "image"],
"crosshair": ["aim", "target"],
"database": ["storage"],
"database": ["storage", "memory"],
"delete": ["remove"],
"disc": ["album", "cd", "dvd", "music"],
"dollar-sign": ["currency", "money", "payment"],
@ -45,14 +65,22 @@
"edit-2": ["pencil", "change"],
"edit-3": ["pencil", "change"],
"eye": ["view", "watch"],
"eye-off": ["view", "watch"],
"eye-off": ["view", "watch", "hide", "hidden"],
"external-link": ["outbound"],
"facebook": ["logo"],
"facebook": ["logo", "social"],
"fast-forward": ["music"],
"figma": ["logo", "design", "tool"],
"file-minus": ["delete", "remove", "erase"],
"file-plus": ["add", "create", "new"],
"file-text": ["data", "txt", "pdf"],
"film": ["movie", "video"],
"filter": ["funnel", "hopper"],
"flag": ["report"],
"folder-minus": ["directory"],
"folder-plus": ["directory"],
"folder": ["directory"],
"framer": ["logo", "design", "tool"],
"frown": ["emoji", "face", "bad", "sad", "emotion"],
"gift": ["present", "box", "birthday", "party"],
"git-branch": ["code", "version control"],
"git-commit": ["code", "version control"],
@ -60,85 +88,132 @@
"git-pull-request": ["code", "version control"],
"github": ["logo", "version control"],
"gitlab": ["logo", "version control"],
"global": ["world", "browser", "language", "translate"],
"hard-drive": ["computer", "server"],
"globe": ["world", "browser", "language", "translate"],
"hard-drive": ["computer", "server", "memory", "data"],
"hash": ["hashtag", "number", "pound"],
"headphones": ["music", "audio"],
"heart": ["like", "love"],
"headphones": ["music", "audio", "sound"],
"heart": ["like", "love", "emotion"],
"help-circle": ["question mark"],
"home": ["house"],
"hexagon": ["shape", "node.js", "logo"],
"home": ["house", "living"],
"image": ["picture"],
"inbox": ["email"],
"instagram": ["logo", "camera"],
"key": ["password", "login", "authentication", "secure"],
"layers": ["stack"],
"layout": ["window", "webpage"],
"life-bouy": ["help", "life ring", "support"],
"linkedin": ["logo"],
"lock": ["security", "password"],
"log-in": ["sign in", "arrow"],
"log-out": ["sign out", "arrow"],
"mail": ["email"],
"link": ["chain", "url"],
"link-2": ["chain", "url"],
"linkedin": ["logo", "social media"],
"list": ["options"],
"lock": ["security", "password", "secure"],
"log-in": ["sign in", "arrow", "enter"],
"log-out": ["sign out", "arrow", "exit"],
"mail": ["email", "message"],
"map-pin": ["location", "navigation", "travel", "marker"],
"map": ["location", "navigation", "travel"],
"maximize": ["fullscreen"],
"maximize-2": ["fullscreen", "arrows"],
"maximize-2": ["fullscreen", "arrows", "expand"],
"meh": ["emoji", "face", "neutral", "emotion"],
"menu": ["bars", "navigation", "hamburger"],
"message-circle": ["comment", "chat"],
"message-square": ["comment", "chat"],
"mic-off": ["record"],
"mic": ["record"],
"minimize": ["exit fullscreen"],
"minimize-2": ["exit fullscreen", "arrows"],
"monitor": ["tv"],
"mic-off": ["record", "sound", "mute"],
"mic": ["record", "sound", "listen"],
"minimize": ["exit fullscreen", "close"],
"minimize-2": ["exit fullscreen", "arrows", "close"],
"minus": ["subtract"],
"monitor": ["tv", "screen", "display"],
"moon": ["dark", "night"],
"more-horizontal": ["ellipsis"],
"more-vertical": ["ellipsis"],
"mouse-pointer": ["arrow", "cursor"],
"move": ["arrows"],
"music": ["note"],
"navigation": ["location", "travel"],
"navigation-2": ["location", "travel"],
"octagon": ["stop"],
"package": ["box"],
"package": ["box", "container"],
"paperclip": ["attachment"],
"pause": ["music", "stop"],
"pause-circle": ["music", "stop"],
"pause-circle": ["music", "audio", "stop"],
"pen-tool": ["vector", "drawing"],
"percent": ["discount"],
"phone-call": ["ring"],
"phone-forwarded": ["call"],
"phone-incoming": ["call"],
"phone-missed": ["call"],
"phone-off": ["call", "mute"],
"phone-outgoing": ["call"],
"phone": ["call"],
"play": ["music", "start"],
"pie-chart": ["statistics", "diagram"],
"play-circle": ["music", "start"],
"plus": ["add", "new"],
"plus-circle": ["add", "new"],
"plus-square": ["add", "new"],
"pocket": ["logo", "save"],
"power": ["on", "off"],
"printer": ["fax", "office", "device"],
"radio": ["signal"],
"refresh-cw": ["synchronise", "arrows"],
"refresh-ccw": ["arrows"],
"repeat": ["loop", "arrows"],
"rewind": ["music"],
"rotate-ccw": ["arrow"],
"rotate-cw": ["arrow"],
"rss": ["feed", "subscribe"],
"save": ["floppy disk"],
"send": ["message", "mail", "paper airplane"],
"scissors": ["cut"],
"search": ["find", "magnifier", "magnifying glass"],
"send": ["message", "mail", "email", "paper airplane", "paper aeroplane"],
"settings": ["cog", "edit", "gear", "preferences"],
"shield": ["security"],
"shield-off": ["security"],
"share-2": ["network", "connections"],
"shield": ["security", "secure"],
"shield-off": ["security", "insecure"],
"shopping-bag": ["ecommerce", "cart", "purchase", "store"],
"shopping-cart": ["ecommerce", "cart", "purchase", "store"],
"shuffle": ["music"],
"skip-back": ["music"],
"skip-forward": ["music"],
"slack": ["logo"],
"slash": ["ban", "no"],
"sliders": ["settings", "controls"],
"speaker": ["music"],
"smartphone": ["cellphone", "device"],
"smile": ["emoji", "face", "happy", "good", "emotion"],
"speaker": ["audio", "music"],
"star": ["bookmark", "favorite", "like"],
"stop-circle": ["media", "music"],
"sun": ["brightness", "weather", "light"],
"sunrise": ["weather"],
"sunset": ["weather"],
"sunrise": ["weather", "time", "morning", "day"],
"sunset": ["weather", "time", "evening", "night"],
"tablet": ["device"],
"tag": ["label"],
"target": ["bullseye"],
"terminal": ["code", "command line"],
"thumbs-down": ["dislike", "bad"],
"thumbs-up": ["like", "good"],
"target": ["logo", "bullseye"],
"terminal": ["code", "command line", "prompt"],
"thermometer": ["temperature", "celsius", "fahrenheit", "weather"],
"thumbs-down": ["dislike", "bad", "emotion"],
"thumbs-up": ["like", "good", "emotion"],
"toggle-left": ["on", "off", "switch"],
"toggle-right": ["on", "off", "switch"],
"trash": ["garbage", "delete", "remove"],
"trash-2": ["garbage", "delete", "remove"],
"tool": ["settings", "spanner"],
"trash": ["garbage", "delete", "remove", "bin"],
"trash-2": ["garbage", "delete", "remove", "bin"],
"triangle": ["delta"],
"truck": ["delivery", "van", "shipping"],
"twitter": ["logo"],
"truck": ["delivery", "van", "shipping", "transport", "lorry"],
"tv": ["television", "stream"],
"twitch": ["logo"],
"twitter": ["logo", "social"],
"type": ["text"],
"umbrella": ["rain", "weather"],
"unlock": ["security"],
"user-check": ["followed", "subscribed"],
"user-minus": ["delete", "remove", "unfollow", "unsubscribe"],
"user-plus": ["new", "add", "create", "follow", "subscribe"],
"user-x": ["delete", "remove", "unfollow", "unsubscribe", "unavailable"],
"user": ["person", "account"],
"users": ["group"],
"video-off": ["camera", "movie", "film"],
"video": ["camera", "movie", "film"],
"voicemail": ["phone"],
@ -147,11 +222,16 @@
"volume-2": ["music", "sound"],
"volume-x": ["music", "sound", "mute"],
"watch": ["clock", "time"],
"wifi-off": ["disabled"],
"wifi": ["connection", "signal", "wireless"],
"wind": ["weather", "air"],
"x-circle": ["cancel", "close", "delete", "remove", "times"],
"x-square": ["cancel", "close", "delete", "remove", "times"],
"x": ["cancel", "close", "delete", "remove", "times"],
"x-circle": ["cancel", "close", "delete", "remove", "times", "clear"],
"x-octagon": ["delete", "stop", "alert", "warning", "times", "clear"],
"x-square": ["cancel", "close", "delete", "remove", "times", "clear"],
"x": ["cancel", "close", "delete", "remove", "times", "clear"],
"youtube": ["logo", "video", "play"],
"zap-off": ["flash", "camera", "lightning"],
"zap": ["flash", "camera", "lightning"]
"zap": ["flash", "camera", "lightning"],
"zoom-in": ["magnifying glass"],
"zoom-out": ["magnifying glass"]
}

View File

@ -1,7 +1,7 @@
const path = require('path');
module.exports = {
entry: ['core-js/fn/array/from', path.resolve(__dirname, 'src/index.js')],
entry: ['core-js/es/array/from', path.resolve(__dirname, 'src/index.js')],
output: {
path: path.resolve(__dirname, 'dist'),
libraryTarget: 'umd',