4.1.0 • Published 6 days ago

@vkontakte/icons-scripts v4.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
6 days ago

@vkontakte/icons-scripts

Этот пакет содержит скрипты, используемые для сборки SVG-иконок в React-компоненты.

Создание своей библиотеки иконок

Для этого необходимо организовать иконки по папкам: в каждой папке-категории должны быть только иконки. Например, здесь показаны категории иконок по размеру, а также дополнительная папка Unsorted с иконками, не подошедшими к другим категориями.

Обязательно должна быть папка svg, в которой размещены категории.

src/
  svg/
    12/
      add_12.svg
      smile_12.svg
    28/
      add_28.svg
      smile_28.svg
    Unsorted/
      icon_with_different_sizes.svg

Добавляем нужные зависимости:

{
  "name": "@scope/react-icons-library",
  "version": "0.0.0",
  "files": ["dist", "src/svg"],
  "main": "dist/index.js",
  "module": "dist/es6/index.js",
  "typings": "dist/typings/index.d.ts",
  "sideEffects": ["*.css"],
  "scripts": {
    "build-icons": "node scripts/build-icons.js"
  },
  "dependencies": {
    "svg-baker-runtime": "1.4.7"
  },
  "peerDependencies": {
    "react": "^18.0.0"
  },
  "devDependencies": {
    "@types/react": "^18.0.0",
    "@vkontakte/icons-scripts": "latest",
    "react": "^18.0.0"
  }
}

scripts/build-icons.js:

const { generateIcons } = require('@vkontakte/icons-scripts');

generateIcons({
  srcDirectory: './src',
  distDirectory: './dist',
  extraCategories: ['Unsorted', 'Foo'],
  deprecatedIcons: {
    deprecated_icon_24: null,
    deprecated_icon_28: 'replacement_icon_28',
  },
});

Опции скрипта

srcDirectory {string} Директория с иконками. В ней должна быть папка svg с категориями.

distDirectory {string} Папка для сгенерированных компонентов.

extraCategories {string[]} Дополнительные категории. По умолчанию скрипт будет искать иконки в svg/[0-9][0-9] и svg/Unsorted.

Может быть паттерном для glob.

deprecatedIcons {Record<string, string | null>>} Список устаревших иконок.

Объект, в котором свойство — это имя файла устаревшей иконки, а значение этого свойства — имя файла иконки на замену устаревшей (или null, если такой нет).

4.1.0

6 days ago

4.0.1

1 month ago

4.0.0

9 months ago

3.0.1

10 months ago

4.0.0-alpha.0

11 months ago

3.0.0

11 months ago

2.2.1

11 months ago

2.2.0

11 months ago

2.1.0

11 months ago

2.0.0

1 year ago

1.1.0

1 year ago

1.0.0

1 year ago

0.8.4

1 year ago

1.0.0-alpha.3

1 year ago

1.0.0-alpha.2

1 year ago

1.0.0-alpha.1

1 year ago

1.0.0-alpha.0

1 year ago

0.8.1

2 years ago

0.8.0

2 years ago

0.8.3

1 year ago

0.8.2

1 year ago

0.7.0

2 years ago

0.0.6

2 years ago