Сайт

Что публикуется

При публикации Fragmenta отправляет всё содержимое папки вашего расширения — кроме того, что вы указали в .extensionignore. Этот файл работает как список блокировки: по умолчанию публикуется всё, а вы вырезаете лишнее (кэши сборки, виртуальные окружения, датасеты, секреты).

.extensionignore

Добавьте файл .extensionignore в корень расширения и перечислите то, что публиковать не нужно. Всё, что не соответствует шаблону, будет отправлено.

# Build & caches
*.log
*.map
coverage/

# Local scratch / data
factory/venv/
*.npz

# Sources you don't want in the package
src/**/*.test.ts

Новые расширения создаются с дефолтным .extensionignore, который уже исключает зависимости, систему контроля версий, секреты и tинструменты:

# Dependencies
node_modules/

# Version control
.git/

# Secrets — never publish credentials
.env
.env.*
*.pem
*.key
*.p12
*.pfx
*.keystore
id_rsa*
id_ed25519*
secrets.json

# OS / tooling
.DS_Store
.turbo/
.vscode/
.idea/
.cache/

Файл использует шаблоны в стиле gitignore, сопоставление выполняется библиотекой ignore:

  • Папка — node_modules/ — исключает папку и всё её содержимое.
  • Глоб — factory/**/*.npz — исключает только совпадающие файлы. * не пересекает /, поэтому factory/*.py соответствует одному уровеню, а factory/**/*.py — любой глубине.
  • Отдельный файл — secrets.json — исключает только этот файл.
  • Отрицание — !keep.log — повторно включает то, что было исключено ранее.

Сам файл .extensionignore никогда не публикуется.

Всегда включаемые файлы

Два файла уезжают независимо от .extensionignore — исключить их нельзя:

  • package.json — манифест.
  • Файл, указанный в main (например, dist/extension.js).

Всё остальное — включая README и LICENSE — отправляется только потому, что не исключено. Если вы хотите их убрать, перечислите их в .extensionignore.

Предупреждение о чувствительных файлах

Жёсткого списка безопасности нет. Если вы что-то не исключили, это будет отправлено, включая .env, приватные ключи или случайный node_modules. Файл .extensionignore по умолчанию покрывает это для новых расширений, но если вы удалите эти строки (или публикуете старое расширение без этого файла), эти файлы будут опубликованы.

Чтобы пользователь не упустил эти моменты при публикации, диалог публикации помечает подозрительные файлы бейджем «чувствительный» и показывает предупреждение — так вы сможете добавить их в .extensionignore до отправки. Предупреждение срабатывает на:

| Тип | Паттерны | | --- | --- | | Папки | node_modules, .turbo, .vscode, .idea, .cache, .git | | Файлы | .DS_Store, secrets.json | | Глобы | .env*, *.pem, *.key, *.p12, *.pfx, *.keystore, id_rsa*, id_ed25519* |

Предпросмотр перед публикацией

Процесс публикации показывает точный набор файлов, который будет отправлен, — так вы убедитесь, что список верный, прежде чем он попадёт в Marketplace. См. Публикация.