У меня есть функции firebase, настроенные для нескольких файлов. По какой-то причине, когда я развертываю, изменения не применяются, как если бы они были кэшированы или что-то в этом роде.
Моя структура папок выглядит следующим образом:
функции/
скр/
index.ts
auth.ts
inventory.ts
Вот мой index.ts:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const functions = require("firebase-functions");
const admin = require("firebase-admin");
exports.auth = require("./auth");
exports.inventory = require("./inventory");
admin.initializeApp();
авт.тс:
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const auth_functions = require("firebase-functions");
exports.login = auth_functions.https.onRequest(
(request: any, response: any) => {
response.send("login");
}
);
exports.logout = auth_functions.https.onRequest(
(request: any, response: any) => {
response.send("logout");
}
);
inventory.ts
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const inventory_functions = require("firebase-functions");
exports.getByLocation = inventory_functions.https.onRequest(
async (request: any, response: any) => {
response.send("inventory");
});
после того, как я бегу
firebase deploy --only functions
Все показывает успешно, но я не вижу изменений в эмуляторе или при развертывании. Я также пытался переименовать/удалить функцию, но cli проигнорировал ее и просто показал успех. Это очень расстраивает, учитывая, что журналы ничего мне не сообщают и ошибок не возникает.
Проблема была в моем package.json, где путь к index.js был неправильным. По сути, я собирался в каталог, который отличался от того, откуда я развертывал. Просто нужно было обновить до
"main": "lib/index.js",