Spec-Zone.ru › Homebrew

Модуль: Language::Node::Shebang Приватный

Расширяет:
T::Helpers
Определён в:
language/node.rb

Обзор

Этот модуль является частью приватного API. Этот модуль можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого модуля, поскольку он может быть удалён или изменён без предупреждения.

Модуль-миксин для Formula, добавляющий возможности переписывания шебанга.

Краткое описание констант свернуть

NODE_SHEBANG_REGEX =

Эта константа является частью приватного API. Эту константу можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.

Регулярное выражение для сопоставления возможных вариантов шебанга.

%r{\A#! ?(?:/usr/bin/(?:env )?)?node( |$)}
NODE_SHEBANG_MAX_LENGTH =

Эта константа является частью приватного API. Эту константу можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.

Длина самого длинного шебанга, соответствующего SHEBANG_REGEX.

T.let("#! /usr/bin/env node ".length, Integer)

Краткое описание методов класса свернуть

  • .detected_node_shebang(formula = T.cast(self, Formula)) ⇒ Utils::Shebang::RewriteInfo приватный

Подробное описание методов класса

.detected_node_shebang(formula = T.cast(self, Formula)) ⇒ Utils::Shebang::RewriteInfo

Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. По возможности сторонним разработчикам следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.

Параметры:

  • formula (Formula) (по умолчанию: T.cast(self, Formula))

Возвращает:

  • (Utils::Shebang::RewriteInfo)

Вызывает исключение:

  • (ShebangDetectionError)


136
137
138
139
140
141
142
# File 'language/node.rb', line 136

def detected_node_shebang(formula = T.cast(self, Formula))
  node_deps = formula.deps.select(&:required?).map(&:name).grep(/^node(@.+)?$/)
  raise ShebangDetectionError.new("Node", "formula does not depend on Node") if node_deps.empty?
  raise ShebangDetectionError.new("Node", "formula has multiple Node dependencies") if node_deps.length > 1

  node_shebang_rewrite_info(Utils::Path.formula_opt_bin(node_deps.first)/"node")
end

© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Language/Node/Shebang.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API