microcms-js-sdk
microcms-js-sdk copied to clipboard
microCMS JavaScript SDK.
SDKにリトライオプションがないためNext.jsなどでビルドを行う際にビルド全体が停止してしまうか一部のデータが不足してしまう可能性が高いです。 クライアント側でリトライ処理を書けば良いのですが、毎回その実装を行うのは手間がかかります。 # 提案 インタフェース提案を行いますがこの通りでなくても構いません。 * `client` 生成時にデフォルトのリトライ設定ができる ```js //例 const client = createClient({ serviceDomain: "YOUR_DOMAIN", // YOUR_DOMAIN is the XXXX part of XXXX.microcms.io apiKey: "YOUR_API_KEY", retry: true, //新しいパラメータ });...
日頃からお世話になっております。 本番環境では公開済みのコンテンツのみを表示したいが、テスト環境では下書き状態のコンテンツも含めて表示し、一覧ページや詳細ページなどサイト全体の表示を確認したいという状況に直面しましたので、パラメータなどで叩く先を Management API に切り替えられるようにしていただけると大変ありがたいです…!
現状では `res.json` をした結果を返しており、レスポンスヘッダーなどを利用できない。 これらを利用できるように、返却する値を変更するオプションを追加するのはどうだろうか?
Issueにしようかと思いましたが、説明するよりコードを書いた方が早かったのでPRを作ってしまいました。 感覚的にはIssueのつもりで出しているので、レスポンスが遅かったりしたら 勝手に修正してマージしてしまっても大丈夫です ## 修正内容 - エイリアスパスでインポートできるようにする - Promise.allとlimitを併用し、getAllContents関数を高速化する - limitを引数にして利用者が自由に変更できるようにする コンテンツ容量によっては、100件取得すると`最大レスポンスサイズ:約5MB`に抵触してエラーになるため - インターバルを引数にして利用者が自由に変更できるようにする 1秒間に60リクエストという、microCMSの制限ギリギリであるため。 ## 補足 テストケースを追加する必要がありそうですが、まだ対応できていないです ## help テストが通らないです。 ざっくりこんなエラーです ``` console.warn [MSW] Warning: captured a request without...
こちらのSDKを使わせていただいてTypeScriptで実装をしているのですが、`createClient` メソッド の戻り値の型定義がないので扱いづらく困っております。 取り急ぎ下記の `MicroCmsClientInterface` のように自前で定義しています。(自分がTypeScriptに精通していないので知らないだけかもしれませんが、SDKの定義をうまいこと流用したりできるのでしょうか...?) ```ts type MicroCmsClientInterface = { get: ({ endpoint, contentId, queries, customRequestInit, }: GetRequest) => Promise getList: ({ endpoint, queries, customRequestInit, }: GetListRequest) => Promise...
## 背景 `MicroCMSQuery`の`fields`にリテラル型のタプルを渡した時、以下のような型エラーが発生します。 ```ts // 型エラーの発生する最小構成 const client = createClient({ "apiKey": '', serviceDomain: "" }) client.get({ endpoint: '', queries: { fields: ['id'] as const } }) ``` ```text Type 'readonly...
AWS Lambda の Node.js にて microcms-js-sdk を利用しています。 microCMS からのデータ取得時に低頻度で `Network Error. Details: TypeError: fetch failed` エラーとなる現象に直面しています。 このエラーの発生原因そのものは microcms-js-sdk 側の問題ではなくインフラ起因だろうと考えているのですが、事象の深堀りができずに困っています。 Node.js の `fetch` の場合、`error.cause` に根本エラーの情報(e.g. `ENOTFOUND` など) が含まれているため、これをログから確認したいのですが、以下の実装で error.message のみしか参照していないため、詳細情報がわかりません。 https://github.com/microcmsio/microcms-js-sdk/blob/main/src/createClient.ts#L132-L134...