Какова цель файла fetch.json в папке плагинов cordova?

Файл fetch.json, созданный в папке плагинов после первого добавления плагина cordova. Этот файл также изменяется каждый раз, когда я добавляю / удаляю плагины.

  • Какова цель этого файла точно?
  • Какие инструменты используют этот файл, когда и почему?
  • Есть ли способ восстановить плагины с помощью fetch.json (постарайтесь не помещать плагины в репозиторий)?
  • Где я могу найти некоторые документы о содержании этого файла?

Содержание fetch.json:

{
    "com.phonegap.plugins.PushPlugin": {
        "source": {
            "type": "git",
            "url": "https://github.com/phonegap-build/PushPlugin.git",
            "subdir": "."
        },
        "is_top_level": true,
        "variables": {}
    },
    "cordova-plugin-file": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-file"
        },
        "is_top_level": true,
        "variables": {}
    }
}

1 ответ

Решение

Похоже, этот файл отслеживает установленные плагины, их происхождение и ревизию, как это делают зависимости npm package.json, но для plugman. Я предполагаю и надеюсь, что это скоро должно перейти на стандарт npm.

Этот файл обновляется для добавления / удаления плагинов cordova ( https://github.com/apache/cordova-lib/blob/e4e5904619bab05705d62bce92a4c4cd0d45bb82/cordova-lib/src/cordova/plugin.js#L272)

Когда мы cordova prepareКордова читает список плагинов из plugins/ios.json (для ios), то для каждого:

  • получить информацию о плагине от plugins/fetch.json
  • попробуйте найти плагин локально

похоже, что невозможно восстановить плагины с этим файлом. Мой рабочий процесс:

  • определить зависимости плагинов в config.xml
  • удаленные платформы и пустая папка плагинов
  • бежать cordova platform add xxx

это перезапустит плагины, как определено в config.xml

Похоже, единственным документом является исходный код: https://github.com/apache/cordova-lib/search?utf8=%E2%9C%93&q=fetch

Другие вопросы по тегам