πŸš€ DAY 5 OF LAUNCH WEEK: Introducing Socket Firewall Enterprise.Learn more β†’
Socket
Book a DemoInstallSign in
Socket

@vkontakte/icons-scripts

Package Overview
Dependencies
Maintainers
11
Versions
34
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vkontakte/icons-scripts

Tools for building SVG icons

latest
Source
npmnpm
Version
5.1.2
Version published
Maintainers
11
Created
Source

@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"],
  "type": "module",
  "main": "dist/index.js",
  "module": "dist/index.js",
  "typings": "dist/typings/index.d.ts",
  "exports": {
    ".": {
      "types": "./dist/typings/index.d.ts",
      "default": "./dist/index.js"
    }
  },
  "scripts": {
    "build-icons": "node scripts/build-icons.js"
  },
  "dependencies": {
    "@vkontakte/icons-sprite": "^3.0.0",
    "@swc/helpers": "^0.5.15"
  },
  "peerDependencies": {
    "react": "^19.0.0"
  },
  "devDependencies": {
    "@types/react": "^19.0.0",
    "@vkontakte/icons-scripts": "latest",
    "react": "^19.0.0"
  }
}

scripts/build-icons.js:

import { generateIcons } from '@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, Ссли Ρ‚Π°ΠΊΠΎΠΉ Π½Π΅Ρ‚).

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ сабкомпонСнтов для ΠΈΠΊΠΎΠ½ΠΎΠΊ

ΠœΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² покраскС Ρ€Π°Π·Π½Ρ‹Ρ… частСй ΠΈΠΊΠΎΠ½ΠΎΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ, для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ этой Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ· ΠΊΠΎΡ€ΠΎΠ±ΠΊΠΈ доступна Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ количСства ΠΏΠΎΠ΄ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² для Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΈ, Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ каТдая Ρ‡Π°ΡΡ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈΠΌΠ΅Π»Π° part суффикс Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ своСго Ρ„Π°ΠΉΠ»Π°.

НапримСр, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° ΠΈΠΊΠΎΠ½ΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΠΌΠ΅Ρ€Ρ‹ синСго Ρ†Π²Π΅Ρ‚Π° с ΠΏΠ΅Ρ€Π΅Ρ‡Π΅Ρ€ΠΊΠ½ΡƒΡ‚ΠΎΠΉ красной Π»ΠΈΠ½ΠΈΠ΅ΠΉ, ΠΏΡ€ΠΈ этом Ρ†Π²Π΅Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ динамичСски ΠΈ Π½Π΅ Π·Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² сам svg Ρ„Π°ΠΉΠ»:

  • НарСзаСм ΠΈΠΊΠΎΠ½ΠΊΡƒ Π½Π° Π½ΡƒΠΆΠ½Ρ‹Π΅ части:

  • ΠŸΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ для Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΈ, Π² нашСм случаС videocam, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ эта ΠΈΠΊΠΎΠ½ΠΊΠ° собираСтся ΠΏΠΎ частям, Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ part суффикс Π² Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅: videocam_part, ΠΈ добавляСм сам Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΊΠΎΠ½ΠΊΠΈ: videocam_part_28.svg.

  • ΠŸΡ€ΠΈΠ΄ΡƒΠΌΡ‹Π²Π°Π΅ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ для части ΠΎΡ‚ Π±Π°Π·ΠΎΠ²ΠΎΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΈ, базовая ΠΈΠΊΠΎΠ½ΠΊΠ° называСтся videocam, Ρ‡Π°ΡΡ‚ΡŒ с Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΌΡ‹ Π½Π°Π·Π²Π°Π»ΠΈ slash: videocam_slash. Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ эта ΠΈΠΊΠΎΠ½ΠΊΠ° собираСтся ΠΏΠΎ частям, Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ part суффикс Π² Π΅Π΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅: videocam_slash_part, ΠΈ добавляСм сам Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π² Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° Π² ΠΊΠΎΠ½Ρ†Π΅: videocam_slash_part_28.svg.

  • ΠšΠ»Π°Π΄Ρ‘ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ²ΡˆΠΈΠ΅ΡΡ Ρ„Π°ΠΉΠ»Ρ‹ Π² ΠΏΠ°ΠΏΠΊΡƒ с Π½ΡƒΠΆΠ½ΠΎΠΉ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠ΅ΠΉ, ΠΊΠ°ΠΊ описано Π² шагС ΠΏΡ€ΠΎ созданиС своСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ПослС этого ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΏΠΎ частям Π² ΠΊΠΎΠ΄Π΅:

<Icon28VideocamPart>
  <Icon28VideocamPart.SlashPart />
</Icon28VideocamPart>

Π‘Π°ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ ΠΈΠΊΠΎΠ½ΠΊΠΈ ΠΈ всС Π΅Π³ΠΎ сабкомпонСнты ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², поэтому ΠΊΠ°ΠΆΠ΄ΡƒΡŽ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΊΡ€Π°ΡΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‡Π΅Ρ€Π΅Π· fill.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ своСй Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ растровых ΠΈΠΊΠΎΠ½ΠΎΠΊ

ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Π² создании растровых ΠΈΠΊΠΎΠ½ΠΎΠΊ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ Π²Π΅ΠΊΡ‚ΠΎΡ€Π½Ρ‹Π΅ Ρ‚Π΅Π½ΠΈ ΠΈ Π³Ρ€Π°Π΄ΠΈΠ΅Π½Ρ‚Ρ‹, Π»ΠΈΠ±ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»ΠΎΠ² с Ρ‚Π°ΠΊΠΈΠΌΠΈ эффСктами Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС растрового Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΈΠ· ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΊΠ°ΠΊ для Π²Π΅ΠΊΡ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°, Ρ‚Π°ΠΊ ΠΈ для растрового - png.

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΠ°ΠΏΠΊΡƒ png, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ с Ρ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΌΠΈ. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ изобраТСния ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Π΅ плотности пиксСлСй экранов.

НапримСр, ΠΈΠΊΠΎΠ½ΠΊΠ° 24 Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ Π½Π° retina-экранС, для Ρ‚Π°ΠΊΠΈΡ… экранов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Для ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ имСнования ΠΈΠ· πŸ”— Android, названия Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ€Π°Π·Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ для ΠΎΠ΄Π½ΠΎΠΉ ΠΈ Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅, Π½ΠΎ Ρ€Π°Π·Π½ΠΎΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅:

image
src/
  png/
    12/
      drawable-mdpi/
        lock_shadow_12.png // 1x, 12px/12px
      drawable-hdpi/
        lock_shadow_12.png // 1.5x 18px/18px
      drawable-xhdpi/
        lock_shadow_12.png // 2x, 24px/24px
      drawable-xxhdpi/
        lock_shadow_12.png // 3x, 36px/36px
      drawable-xxxhdpi/
        lock_shadow_12.png // 4x, 48px/48px
    28/
      drawable-mdpi/
        verified_dark_28.png // 1x, 28px/28px
      drawable-hdpi/
        verified_dark_28.png // 1.5x 42px/42px
      drawable-xhdpi/
        verified_dark_28.png // 2x, 56px/56px
      drawable-xxhdpi/
        verified_dark_28.png // 3x, 84px/84px
      drawable-xxxhdpi/
        verified_dark_28.png // 4x, 112px/112px

FAQs

Package last updated on 14 Jul 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts