@hren/add-copyright
v1.0.5
Published
Добавляет информацию об авторских правах в начало файла
Readme
Add-Copyright CLI Documentation
📦 Установка
npm install -g @hren/add-copyrightИли для локальной установки из исходного кода:
npm run local_install🚀 Назначение
Утилита add-copyright добавляет информацию об авторских правах в начало файлов. Поддерживает автоматическую генерацию шапок на основе данных из package.json или использование пользовательских шаблонов.
📋 Основное использование
Базовый синтаксис
add-copyright [ОПЦИИ] ФАЙЛЫ...Примеры
1. Автоматическая генерация с годом и лицензией:
add-copyright --year 2025 --add-license src/*.ts2. Указание диапазона годов
add-copyright --year 2024-2025 --add-license src/*.ts3. Использование пользовательского текста:
add-copyright --text "/* My Custom Copyright */" src/**/*.js4. Использование файла-шаблона:
add-copyright --file copyright.txt src/*.ts test/*.ts5. Удаление существующих комментариев:
add-copyright --remove-the-beginning --year 2024 src/*.ts⚙️ Опции командной строки
Основные параметры
| Параметр | Короткая версия | Тип | Описание | Пример |
|----------|----------------|-----|----------|--------|
| ФАЙЛЫ | - | string[] | Файлы для обработки (поддерживаются glob-шаблоны) | src/*.ts test/**/*.js |
| --file | -f | string | Файл с текстом авторского права для вставки | --file header.txt |
| --text | -t | string | Текст авторского права для вставки | --text "/* Copyright */" |
| --year | -y | string | Год для автоматической генерации шапки | --year 2024 |
| --add-license | -l | flag | Добавить информацию о лицензии в сгенерированную шапку | --add-license |
| --json | -j | string | Путь к файлу package.json | --json ../package.json |
| --remove-the-beginning | -r | flag | Удалить существующий многострочный комментарий | --remove-the-beginning |
| --version | -v | flag | Показать версию программы | --version |
| --russian | --ru | flag | Изменить язык интерфейса на русский | --russian |
Взаимоисключающие группы параметров
| Группа | Параметры | Описание |
|--------|-----------|----------|
| Источник текста | --file, --text | Только один из этих параметров может быть использован |
| Генерация шапки | --year, --add-license | Используются вместе для автоматической генерации |
| Конфликтующие | --file/--text vs --year/--add-license | Нельзя использовать вместе |
Значения по умолчанию
| Параметр | Значение по умолчанию |
|----------|----------------------|
| --json | ./package.json |
| --year | Текущий год |
| Язык | Английский (en) |
Особенности использования
1. Взаимоисключающие опции:
- Группа
--file/--textвзаимоисключающая с группой--year/--add-license - Нельзя одновременно использовать
--textи--file
2. Автоматическая генерация:
- Использует данные из
package.json(название, версия, автор, лицензия) - Для репозиториев Git автоматически генерирует ссылку на LICENSE файл
📄 Форматы вывода
Автоматически сгенерированный заголовок (пример)
/*
* add-copyright 1.0.0
* Copyright (c) 2024-2025, Маг Ильяс DOMA (MagIlyasDOMA)
* Licensed under GPL-3.0 (https://github.com/MagIlyasDOMA/add-copyright/blob/main/LICENSE)
*/Пользовательский текст
add-copyright --text "/* My Custom Header */" file.js🌐 Поддерживаемые языки интерфейса
- Английский (по умолчанию)
- Русский (
--russianили--ru)
🔧 Требования к данным
package.json должен содержать:
{
"name": "...",
"version": "...",
"license": "...",
"author": "...",
"repository": {
"type": "git",
"url": "..."
}
}⚠️ Ограничения и особенности
- Типы репозиториев: Поддерживаются только Git репозитории
- Формат комментариев: Работает только с многострочными комментариями (
/* ... */) - Обработка файлов: Поддерживаются все файлы, читаемые как текст
- Кодировка: UTF-8
🐛 Отладка и логирование
Утилита выводит информацию о ходе выполнения:
- Загруженные данные из
package.json - Источник текста для вставки (аргумент, файл или авто-генерация)
- Список обновленных файлов
📁 Структура проекта
add-copyright/
├── index.ts # Основной файл CLI
├── locale.ts # Локализации (en/ru)
├── parser.ts # Парсер аргументов
├── types.d.ts # TypeScript типы
├── package.json # Метаданные пакета
└── README.md # Эта документация🔗 Ссылки
📄 Лицензия
GPL-3.0 © Маг Ильяс DOMA (MagIlyasDOMA)
Для получения справки по конкретной команде используйте:
add-copyright --help