Как настроить плагин для пожарного магазина GatsbyJS? timestampsInSnapshots изменить - PullRequest
0 голосов
/ 04 сентября 2018

Я установил и настроил плагин gatsby-source-firestore. Когда я запускаю «gatsby development», приложение запускается. Однако в терминале появляется следующее предупреждение:

The behavior for Date objects stored in Firestore is going to change
AND YOUR APP MAY BREAK.
To hide this warning and ensure your app does not break, you need to 
add the following code to your app before calling any other Cloud 
Firestore methods:

  const firestore = new Firestore();
  const settings = {/* your settings... */ timestampsInSnapshots: 
  true};
  firestore.settings(settings);

With this change, timestamps stored in Cloud Firestore will be read 
back as Firebase Timestamp objects instead of as system Date objects. 
So you will also need to update code expecting a Date to instead 
expect a Timestamp...

Вопрос в том, как мне реализовать это требование об изменениях в моем плагине FireStore Gatsby?

1 Ответ

0 голосов
/ 16 марта 2019

Это обрабатывается на уровне плагина. Это поведение также упоминается на Github здесь: https://github.com/taessina/gatsby-source-firestore/issues/12

Репозиторий Github был обновлен, чтобы избежать предупреждения, но сопровождающий не обновил плагин на npm. Я предложил временное решение, пока он не сделает. Вы можете установить плагин из мастер ветки на Github с

yarn add taessina/gatsby-source-firestore#master

или

npm i taessina/gatsby-source-firestore#master

Убедитесь, что правильно обрабатываете метки времени. Мой конфиг gatsby выглядит примерно так:

    {
      resolve: 'gatsby-source-firestore',
      options: {
        credential: firestoreCredential,
        types: [
          {
            type: 'FirestoreEvent',
            collection: 'events',
            map: ({
              timeStart,
            }) => ({
              timeStart: timeStart.toDate(),
            }),
          },
        ],
      },
    },
...