Commit graph

26 commits

Author SHA1 Message Date
Álvaro Mondéjar f6bd00315a
Optimize package getter (#4356)
Remove redundant truthy check for properties of icons in index.js

We test if all icon scan be retrieved anyway, if any icon is missing these properties we would find out during testing.
2020-12-14 16:37:15 +01:00
Álvaro Mondéjar 45583efadd
Add lint to check JSON data file prettification (#4320)
* Add test for check JSON data file prettification

* Move prettification test to out linting script

* Add other newline in error message to improve readability

* Invert the diff to show the solution to the user

* Add 'jest-diff' as direct dependency

* Remove annotations and colors

* Replace CRLF newlines with LFs in JSON prettification lint

* Restore colors in JSON prettification lint
2020-12-13 21:17:41 +01:00
Eric Cornelissen 7fb4ff6395
Fix low severity issues in the JavaScript (#3342) 2020-07-28 11:33:40 +01:00
Eric Cornelissen 412ccc0a6d
Escape icon title for object key (#2710) 2020-03-02 10:49:56 +00:00
Eric Cornelissen 7ebf7f71fa
Add documentation and tooling for SVG filenames (#2601)
* Create simple CLI tool to get the filename from a brandname

https://github.com/simple-icons/simple-icons/pull/2589#issuecomment-585902427

* Update contributing guidelines on new SVGs' filenames

* Fix incorrect filename in package.json script

* Add file header to get-filename script

* Update contributing guidelines' section on SVG filenames

Co-Authored-By: YoussefRaafatNasry <youssefraafatnasry@gmail.com>
2020-02-26 17:54:54 +01:00
Peter Noble 1afbec2d84
Additional Replacements for Filenames (#2625)
* Strip colons from filenames

* Add global matching for accented characters

* Add more replacements

* Added more diacritics

Namely: č,ć, ň, ń, ś, ž, ź

Co-authored-by: Lucas Becker <runxel@users.noreply.github.com>
2020-02-21 11:01:41 +00:00
Johan Fagerberg 7b69d16efb Add CI step for ensuring alphabetical order of icons (#2334)
* Add a script for the linting that cannot be accomplished by our other linters

Currently this only contains linting for whether our icons are alphabetically sorted

* Add our own linting to Travis

* Fix Let's Encrypt being incorrectly sorted

* Intentionally break sorting to test CI

* Revert "Intentionally break sorting to test CI"

This reverts commit 55e4070b3c.

* Explain in CONTRIBUTION.md how to sort metadata
2020-01-16 12:40:46 +02:00
Eric Cornelissen 93425f8aa0 No longer require no final newline in SVGs (#1682)
* Introduce newline into a SVG

for testing purposes

* Remove potential newlines from SVGs when building the package

* Don't lint SVG files

... so it is neither required to have, or not have, a final newline

* Remove both Windows and Unix style newlines in build script

* Rever 3372ca3
2019-09-30 18:34:42 +02:00
Eric Cornelissen 87ab9c43a7 Refactor prepublish script to use template file for icon objects (#1547)
* Refactor prepublish script to use template file for icon objects

... to hopefully increase readability

* Fix build and test issues

* Add missing semi-colon

* Explicitly check for errors when writing individual static .js files
2019-08-15 13:23:35 +02:00
Eric Cornelissen ddc3fe09d4 Fix name of "enumerable" property in Object.defineProperty
As discussed in https://github.com/simple-icons/simple-icons/pull/1555
2019-07-25 23:27:15 +01:00
Eric Cornelissen b1b2f339b8 Don't enumerate the get method (#1555)
* Test that all elements when iterating simpleIcons are objects

* Refactor index template to hide .get method from enumeration
2019-07-24 21:17:46 +02:00
Eric Cornelissen 11cdbd7073 Add a "build" and "clean" NPM script (#1548) 2019-07-22 09:58:51 -07:00
Eric Cornelissen 77b4be945d Add error logging to prepublish script 2019-07-21 19:46:37 +01:00
Eric Cornelissen 7672bfb2db Reduce package size by replacing JSON.stringify (#1519)
* Reduce package size by replacing JSON.stringify by custom stringify func

* Escape icon's title and SVG value

... as pointed out by @birjolaxew, if they contain a "'" it will break 
the resulting object.
2019-07-14 21:15:26 +02:00
Eric Cornelissen c6a9346985 Generic get icon function for easier access to brands with "difficult" names (#1522)
* Add URL friendy/slug/file name as property to package icon objects

* Test new property

* Build index from template

* Add .get function to index.js export

* Test new .get function in index.js export

* Use Uglify-JS to minify the code in the package's index.js

* Update API in README.md

* Renaem test using "slug" instead of "name"
2019-07-14 21:05:38 +02:00
Eric Cornelissen 9ebc626ab5 Add URL friendy/slugged name as property to package icon objects (#1520)
* Add URL friendy/slug/file name as property to package icon objects

* Test new property

* Add 'name' property to examples in README

* Rename "name" property to "slug"
2019-07-14 20:09:34 +02:00
Eric Cornelissen 39b8fdfa85 Reduce impact of path value on package size (#1521)
* Reduce package size by replacing JSON.stringify by custom stringify func

* Replace path data by getter

* Replace getter by Object.defineProperty

* Remove icon.path definition

* Revert 801c07d4

Apperantly getters have better support then Objct.defineProperty...
2019-07-14 17:07:24 +02:00
Eric Cornelissen 287317b7b6 Lint the SVG's title content (#1508)
* Add custom SVGLint rule to lint the general <title> format

i.e. the <title> should be "[ICON_NAME] icon"

* Check if there exists an entry in simple-icons.json with the icon name

... found in the <title>

* Normalize all icons <title> value

* Fix mismatch between HTML's icon title and simple-icons.json title

... due to HTML special entities (such as `&amp;`). Affected icons:

- AT&T (AT&amp;T)
- Let's Encrypt (Let&apos;s Encrypt)

* Refactor .svglintrc.js

to make the code style more in line with scripts/prepublish.js

* Add SVG with invalid <title> format

* Add SVG with unknown title

* Revert 6912816 and f002504
2019-07-03 23:33:03 +02:00
Eric Cornelissen 01b84bc2c2 Version bump
Bumped the second digit instead of the third to indicate a not backwards 
compatible change: removing the icon named Adobe Lightroom.
2019-06-30 11:55:57 +01:00
Eric Cornelissen 30cd9ecc99 Add "path" key with raw path data to NPM package (#1472)
* Update prepublish script to add path to generated .js files

* Test generated path values

* Fix Furry Network icon

The Furry Network icon used to have "e"s in the path, however the 
official SVG definition does not specify the E command.

source: https://www.w3schools.com/graphics/svg_path.asp
2019-06-15 22:31:23 +02:00
David Klebanoff 1fb7581c55 Handle accented brand names (#1439)
* Handle accented brand names.

* Update order of replacement (alphabetic).
2019-05-28 23:56:20 +02:00
Eric Cornelissen 0794f0186a Add backwards compatability for Adobe Lightroom
Because it was renamed it may result in unexpected errors --> breaking 
changes.

This is a temporary solution to circumvent the problem. This can be 
removed once some other breaking changes are also present and a major 
new version is released. I propose removing this change when 
https://github.com/simple-icons/simple-icons/issues/1362 is implemented
2019-05-03 17:16:52 +03:00
Eric Cornelissen 579d439e60
Lint file formatting (primarily whitespace) (#1349)
* Add editorconfig-checker and .editorconfig

* Fix wslint errors
2019-04-17 12:59:44 +03:00
Aaron Benjamin 038c558fab Add Apple Pay, AT&T, T-Mobile, Sprint, Verizon, Boost, Framer (#973)
* add new icons

- add icon for AT&T
- add icon for T-mobile
- add icon for Sprint
- add icon for Cricket
- add icon for Verizon
- add icon for Boost
- add icon for Framer
- add icon for Sketch
- Update _data/simple-icons.json with new icon data

* remove `<g>` from svg files

- remove `<g>` from svg files to address svglint error

* add apple pay

- Add apple pay
- Update simple-icons.json

* make changes per review

Changes were made based on review 9/9/18.

* fixed AT&T naming
2018-09-11 08:42:29 +02:00
Eric Cornelissen b339df0b61 Update filemapping, ampersand (#977)
* Replace ampersand to avoid problems with filenames

Together with some examples as test

* Revert filename changes for testing purposes
2018-09-10 17:53:59 +02:00
Johan Fagerberg 6ee6ba977c
Add prepublish script (#942)
* Add prepublish script

Compiles icons into both static js files (icons/{filename}.js) and
into a static index.js. The latter is not tree-shakeable.

Closes #941, closes #751

* Add information on tree-shaking to README

* Remove index.js after publishing

* Change 'prepublish' to 'prepublishOnly'

* Link to webpack in README

* Simplify postpublish cleanup

Thanks @ericcornelissen

* Fix quote usage in prepublish.js

* Fix quote usage in utils.js

* Optimized file size of prepublish output

* Improved readability of prepublish script
2018-08-26 23:23:57 +02:00