# API генератора

# cliVersion

Тип: string

Строка глобальной версии @vue/cli, вызывающей подключаемый плагин.

# assertCliVersion

  • Аргументы

    • {integer | string} range — semver диапазон, которому должна соответствовать @vue/cli
  • Использование

    Хотя api.version и может быть полезным, иногда приятнее просто объявить требуемую версию. Данный API предоставляет простой способ сделать это.

    Ничего не произойдёт, если предоставленная версия устраивает. В противном случае, будет выдана ошибка.

# cliServiceVersion

Тип: string

Строка локальной для проекта версии @vue/cli-service, вызывающей подключаемый плагин.

# assertCliServiceVersion

  • Аргументы

    • {integer | string} range — semver диапазон, которому должна соответствовать @vue/cli-service
  • Использование

    Данный API предоставляет простой способ указания требуемой локальной версии @vue/cli-service.

    Ничего не произойдёт, если предоставленная версия устраивает. В противном случае, будет выдана ошибка.

    Примечание: Рекомендуется использовать поле peerDependencies в файле package.json (opens new window) в большинстве случаев.

# resolve

  • Аргументы

    • {string} ..._paths — Последовательность относительных путей или сегментов пути
  • Возвращает

    • {string} — разрешённый (resolved) абсолютный путь, вычисленный на основе текущего корня проекта
  • Использование: Разрешение пути для текущего проекта

# hasPlugin

  • Аргументы

    • {string} id — идентификатор плагина, можно опустить префикс (@vue/|vue-|@scope/vue)-cli-plugin-
    • {string} version — semver диапазон, опционально
  • Возвращает

    • {boolean}
  • Использование: Проверяет есть ли в проекте плагин с указанным идентификатором. Если указан диапазон версий, то версия плагина должна соответствовать ему.

# addConfigTransform

  • Аргументы

    • {string} key — ключ конфигурации в package.json
    • {object} options — настройки
    • {object} options.file — дескриптор файла. Используется для поиска существующего файла. Каждый ключ определяет тип файла (возможные значения: ['js', 'json', 'yaml', 'lines']). Значение представляет собой список имён файлов. Например:
    {
      js: ['.eslintrc.js'],
      json: ['.eslintrc.json', '.eslintrc']
    }
    

    По умолчанию первое имя файла будет использоваться для создания файла конфигурации.

  • Возвращает

    • {boolean}
  • Использование: Настройка способа извлечения конфигурации.

# extendPackage

  • Аргументы

    • {object | () => object} fields — поля для объединения
  • Использование: Расширение package.json проекта. Вложенные поля объединяются, если не передавалось { merge: false }. Также используется для разрешения конфликтов зависимостей между плагинами. Поля конфигурации инструмента могут быть извлечены в отдельные файлы до того, как файлы будут записаны на диск.

# render

  • Аргументы

    • {string | object | FileMiddleware} source — может быть одним из
      • относительный путь к каталогу;
      • хэш объект соответствий { sourceTemplate: targetFile };
      • пользовательский файл с middleware функцией
    • {object} [additionalData] — дополнительные данные, доступные для шаблонов
    • {object} [ejsOptions] — настройки для ejs
  • Использование: Рендер файлов шаблонов в дерево виртуальных файлов.

# postProcessFiles

  • Аргументы

    • {FileMiddleware} cb — файл middleware
  • Использование: Добавление файла middleware, который будет выполняться после того, как все обычные middleware были выполнены.

# onCreateComplete

  • Аргументы

    • {function} cb
  • Использование: Добавление коллбэка, который будет вызываться после записи файлов на диск.

# exitLog

  • Аргументы

    • {} msg — строка или значение для отображения после завершения генерации;
    • {('log'|'info'|'done'|'warn'|'error')} [type='log'] — тип сообщения.
  • Использование: Добавление сообщения для отображения по завершении генерации (после любых других стандартных сообщений).

# genJSConfig

  • Аргументы

    • {any} value
  • Использование: Удобный способ создания JS файла конфигурации из JSON

# makeJSOnlyValue

  • Аргументы

    • {any} str — JS выражение в виде строки
  • Использование: Преобразует строковое выражение в исполняемый JS для конфигурационных .js файлов

# injectImports

  • Аргументы

    • {string} file — целевой файл для добавления импорта
    • {string | [string]} imports — строка/массив импортов
  • Использование: Добавление импортов в файл.

# injectRootOptions

  • Аргументы

    • {string} file — целевой файл для добавления опций
    • {string | [string]} options — строка/массив опций
  • Использование: Добавление опций в корневой экземпляр Vue (определяемый по new Vue).

# entryFile

  • Возвращает

    • {('src/main.ts'|'src/main.js')}
  • Использование: Получение входного файла, с учётом использования typescript.

# invoking

  • Возвращает

    • {boolean}
  • Использование: Проверка, вызван ли плагин.