strapi-cache 1.6.0-rc.1 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_chunks/de-B3bklY17.js +20 -0
- package/dist/_chunks/de-B3bklY17.js.map +1 -0
- package/dist/_chunks/de-BABI25Ju.js +18 -0
- package/dist/_chunks/de-BABI25Ju.js.map +1 -0
- package/dist/_chunks/{de-OlWEMza0.mjs → de-BqbJpOC1.mjs} +5 -2
- package/dist/_chunks/de-BqbJpOC1.mjs.map +1 -0
- package/dist/_chunks/de-Bsdys7gT.js +21 -0
- package/dist/_chunks/de-Bsdys7gT.js.map +1 -0
- package/dist/_chunks/de-CFwEGVkz.js +18 -0
- package/dist/_chunks/de-CFwEGVkz.js.map +1 -0
- package/dist/_chunks/de-CVfl6O3x.mjs +20 -0
- package/dist/_chunks/de-CVfl6O3x.mjs.map +1 -0
- package/dist/_chunks/de-CWKnuP52.js +21 -0
- package/dist/_chunks/de-CWKnuP52.js.map +1 -0
- package/dist/_chunks/de-DTmDEg-O.mjs +21 -0
- package/dist/_chunks/de-DTmDEg-O.mjs.map +1 -0
- package/dist/_chunks/de-Ddj7dv1L.mjs +21 -0
- package/dist/_chunks/de-Ddj7dv1L.mjs.map +1 -0
- package/dist/_chunks/de-Dihl3Ias.mjs +18 -0
- package/dist/_chunks/de-Dihl3Ias.mjs.map +1 -0
- package/dist/_chunks/de-Q1w36mLz.mjs +18 -0
- package/dist/_chunks/de-Q1w36mLz.mjs.map +1 -0
- package/dist/_chunks/{de-Bw-yMVQV.js → de-gJ7kdSEt.js} +5 -2
- package/dist/_chunks/de-gJ7kdSEt.js.map +1 -0
- package/dist/_chunks/en-BewDXOx6.mjs +18 -0
- package/dist/_chunks/en-BewDXOx6.mjs.map +1 -0
- package/dist/_chunks/en-CLhkAQFN.mjs +18 -0
- package/dist/_chunks/en-CLhkAQFN.mjs.map +1 -0
- package/dist/_chunks/en-CsZOiXCF.js +21 -0
- package/dist/_chunks/en-CsZOiXCF.js.map +1 -0
- package/dist/_chunks/{en-CFA1lEXn.mjs → en-D95_nZbi.mjs} +5 -2
- package/dist/_chunks/en-D95_nZbi.mjs.map +1 -0
- package/dist/_chunks/en-D9kJQSFJ.mjs +18 -0
- package/dist/_chunks/en-D9kJQSFJ.mjs.map +1 -0
- package/dist/_chunks/en-DAz6J9zn.mjs +21 -0
- package/dist/_chunks/en-DAz6J9zn.mjs.map +1 -0
- package/dist/_chunks/en-DLaUZYDS.js +18 -0
- package/dist/_chunks/en-DLaUZYDS.js.map +1 -0
- package/dist/_chunks/en-DYulQU0k.js +18 -0
- package/dist/_chunks/en-DYulQU0k.js.map +1 -0
- package/dist/_chunks/en-DnJVBcLD.js +21 -0
- package/dist/_chunks/en-DnJVBcLD.js.map +1 -0
- package/dist/_chunks/en-DoY8oT6J.mjs +20 -0
- package/dist/_chunks/en-DoY8oT6J.mjs.map +1 -0
- package/dist/_chunks/en-KBsfE-wl.js +20 -0
- package/dist/_chunks/en-KBsfE-wl.js.map +1 -0
- package/dist/_chunks/{en-3qeM6Pow.js → en-M82I7rpF.js} +5 -2
- package/dist/_chunks/en-M82I7rpF.js.map +1 -0
- package/dist/_chunks/en-ZUxemNYv.mjs +21 -0
- package/dist/_chunks/en-ZUxemNYv.mjs.map +1 -0
- package/dist/_chunks/en-qS79Ntgi.js +18 -0
- package/dist/_chunks/en-qS79Ntgi.js.map +1 -0
- package/dist/_chunks/index-0LFPz2bc.mjs +333 -0
- package/dist/_chunks/index-0LFPz2bc.mjs.map +1 -0
- package/dist/_chunks/index-14SFT3N1.mjs +51 -0
- package/dist/_chunks/index-14SFT3N1.mjs.map +1 -0
- package/dist/_chunks/index-17Ih4fSH.mjs +333 -0
- package/dist/_chunks/index-17Ih4fSH.mjs.map +1 -0
- package/dist/_chunks/index-1NUzkFkq.js +332 -0
- package/dist/_chunks/index-1NUzkFkq.js.map +1 -0
- package/dist/_chunks/index-1vN_PjV8.mjs +39 -0
- package/dist/_chunks/index-1vN_PjV8.mjs.map +1 -0
- package/dist/_chunks/index-2BotFI9v.js +332 -0
- package/dist/_chunks/index-2BotFI9v.js.map +1 -0
- package/dist/_chunks/index-2JlYEqAK.mjs +333 -0
- package/dist/_chunks/index-2JlYEqAK.mjs.map +1 -0
- package/dist/_chunks/index-3jL7fDPW.mjs +333 -0
- package/dist/_chunks/index-3jL7fDPW.mjs.map +1 -0
- package/dist/_chunks/index-5Z5QT3Uv.js +39 -0
- package/dist/_chunks/index-5Z5QT3Uv.js.map +1 -0
- package/dist/_chunks/index-6889RcyN.js +24 -0
- package/dist/_chunks/index-6889RcyN.js.map +1 -0
- package/dist/_chunks/index-6CeM3yw2.js +332 -0
- package/dist/_chunks/index-6CeM3yw2.js.map +1 -0
- package/dist/_chunks/index-6uFTRYQl.js +51 -0
- package/dist/_chunks/index-6uFTRYQl.js.map +1 -0
- package/dist/_chunks/index-749EU70b.mjs +333 -0
- package/dist/_chunks/index-749EU70b.mjs.map +1 -0
- package/dist/_chunks/index-7E4NvZ3r.js +51 -0
- package/dist/_chunks/index-7E4NvZ3r.js.map +1 -0
- package/dist/_chunks/index-8bVU_F9C.mjs +26 -0
- package/dist/_chunks/index-8bVU_F9C.mjs.map +1 -0
- package/dist/_chunks/index-9_MUcFIt.js +332 -0
- package/dist/_chunks/index-9_MUcFIt.js.map +1 -0
- package/dist/_chunks/index-B1LAs0lJ.js +332 -0
- package/dist/_chunks/index-B1LAs0lJ.js.map +1 -0
- package/dist/_chunks/index-B1S2_byk.mjs +333 -0
- package/dist/_chunks/index-B1S2_byk.mjs.map +1 -0
- package/dist/_chunks/index-B2fnq69K.mjs +333 -0
- package/dist/_chunks/index-B2fnq69K.mjs.map +1 -0
- package/dist/_chunks/index-B2uGe7jC.mjs +20 -0
- package/dist/_chunks/index-B2uGe7jC.mjs.map +1 -0
- package/dist/_chunks/index-B59MLQLw.mjs +11 -0
- package/dist/_chunks/index-B59MLQLw.mjs.map +1 -0
- package/dist/_chunks/index-B5QTbDwr.js +332 -0
- package/dist/_chunks/index-B5QTbDwr.js.map +1 -0
- package/dist/_chunks/index-B7yVxbct.mjs +27 -0
- package/dist/_chunks/index-B7yVxbct.mjs.map +1 -0
- package/dist/_chunks/index-B82A0Jo4.js +11 -0
- package/dist/_chunks/index-B82A0Jo4.js.map +1 -0
- package/dist/_chunks/index-B8nD8zgu.js +26 -0
- package/dist/_chunks/index-B8nD8zgu.js.map +1 -0
- package/dist/_chunks/index-B8xwdPE_.js +332 -0
- package/dist/_chunks/index-B8xwdPE_.js.map +1 -0
- package/dist/_chunks/index-B97dUO78.js +35 -0
- package/dist/_chunks/index-B97dUO78.js.map +1 -0
- package/dist/_chunks/index-BBLvUbHy.mjs +333 -0
- package/dist/_chunks/index-BBLvUbHy.mjs.map +1 -0
- package/dist/_chunks/index-BCPzWajZ.js +332 -0
- package/dist/_chunks/index-BCPzWajZ.js.map +1 -0
- package/dist/_chunks/index-BD4WptqA.mjs +26 -0
- package/dist/_chunks/index-BD4WptqA.mjs.map +1 -0
- package/dist/_chunks/index-BD5B6tdh.mjs +10 -0
- package/dist/_chunks/index-BD5B6tdh.mjs.map +1 -0
- package/dist/_chunks/index-BDocLncW.js +332 -0
- package/dist/_chunks/index-BDocLncW.js.map +1 -0
- package/dist/_chunks/index-BEEJXDXj.mjs +333 -0
- package/dist/_chunks/index-BEEJXDXj.mjs.map +1 -0
- package/dist/_chunks/index-BEeOtSCP.mjs +51 -0
- package/dist/_chunks/index-BEeOtSCP.mjs.map +1 -0
- package/dist/_chunks/index-BFPdll2T.mjs +333 -0
- package/dist/_chunks/index-BFPdll2T.mjs.map +1 -0
- package/dist/_chunks/index-BH9IEtJD.js +332 -0
- package/dist/_chunks/index-BH9IEtJD.js.map +1 -0
- package/dist/_chunks/index-BIr4VTT7.js +332 -0
- package/dist/_chunks/index-BIr4VTT7.js.map +1 -0
- package/dist/_chunks/index-BJSfLH7v.mjs +333 -0
- package/dist/_chunks/index-BJSfLH7v.mjs.map +1 -0
- package/dist/_chunks/index-BJTd_fc6.js +35 -0
- package/dist/_chunks/index-BJTd_fc6.js.map +1 -0
- package/dist/_chunks/index-BJuyogmx.js +26 -0
- package/dist/_chunks/index-BJuyogmx.js.map +1 -0
- package/dist/_chunks/index-BLUsbzym.mjs +333 -0
- package/dist/_chunks/index-BLUsbzym.mjs.map +1 -0
- package/dist/_chunks/index-BMs0sQ4T.js +26 -0
- package/dist/_chunks/index-BMs0sQ4T.js.map +1 -0
- package/dist/_chunks/index-BO6q3bys.mjs +333 -0
- package/dist/_chunks/index-BO6q3bys.mjs.map +1 -0
- package/dist/_chunks/index-BOD0OSIQ.js +332 -0
- package/dist/_chunks/index-BOD0OSIQ.js.map +1 -0
- package/dist/_chunks/index-BOcDcwej.js +33 -0
- package/dist/_chunks/index-BOcDcwej.js.map +1 -0
- package/dist/_chunks/index-BPBBFdba.js +51 -0
- package/dist/_chunks/index-BPBBFdba.js.map +1 -0
- package/dist/_chunks/index-BQx82NbD.mjs +39 -0
- package/dist/_chunks/index-BQx82NbD.mjs.map +1 -0
- package/dist/_chunks/index-BWdkdIMm.js +332 -0
- package/dist/_chunks/index-BWdkdIMm.js.map +1 -0
- package/dist/_chunks/index-BYo9SMUu.js +332 -0
- package/dist/_chunks/index-BYo9SMUu.js.map +1 -0
- package/dist/_chunks/index-BYvdmbO7.mjs +39 -0
- package/dist/_chunks/index-BYvdmbO7.mjs.map +1 -0
- package/dist/_chunks/index-Bb5AQTnw.mjs +51 -0
- package/dist/_chunks/index-Bb5AQTnw.mjs.map +1 -0
- package/dist/_chunks/index-BcZZJWP2.js +27 -0
- package/dist/_chunks/index-BcZZJWP2.js.map +1 -0
- package/dist/_chunks/index-BcpKQZ2P.js +26 -0
- package/dist/_chunks/index-BcpKQZ2P.js.map +1 -0
- package/dist/_chunks/index-Bd9nikDV.js +51 -0
- package/dist/_chunks/index-Bd9nikDV.js.map +1 -0
- package/dist/_chunks/index-BgVhQQ5m.mjs +333 -0
- package/dist/_chunks/index-BgVhQQ5m.mjs.map +1 -0
- package/dist/_chunks/index-BhqXxudN.js +332 -0
- package/dist/_chunks/index-BhqXxudN.js.map +1 -0
- package/dist/_chunks/index-BjfpApKO.mjs +333 -0
- package/dist/_chunks/index-BjfpApKO.mjs.map +1 -0
- package/dist/_chunks/index-Bk6rmP3r.js +35 -0
- package/dist/_chunks/index-Bk6rmP3r.js.map +1 -0
- package/dist/_chunks/index-BmytYpXA.js +332 -0
- package/dist/_chunks/index-BmytYpXA.js.map +1 -0
- package/dist/_chunks/index-Bn46vVqs.js +51 -0
- package/dist/_chunks/index-Bn46vVqs.js.map +1 -0
- package/dist/_chunks/index-BnTcvqky.js +332 -0
- package/dist/_chunks/index-BnTcvqky.js.map +1 -0
- package/dist/_chunks/index-Btk6M_fA.js +332 -0
- package/dist/_chunks/index-Btk6M_fA.js.map +1 -0
- package/dist/_chunks/index-BwUy2_un.js +332 -0
- package/dist/_chunks/index-BwUy2_un.js.map +1 -0
- package/dist/_chunks/index-C-PR86RD.mjs +26 -0
- package/dist/_chunks/index-C-PR86RD.mjs.map +1 -0
- package/dist/_chunks/index-C-PpqwIN.js +39 -0
- package/dist/_chunks/index-C-PpqwIN.js.map +1 -0
- package/dist/_chunks/index-C1EFByIA.js +332 -0
- package/dist/_chunks/index-C1EFByIA.js.map +1 -0
- package/dist/_chunks/index-C2O9LMRa.js +26 -0
- package/dist/_chunks/index-C2O9LMRa.js.map +1 -0
- package/dist/_chunks/index-C7uHEWs5.js +332 -0
- package/dist/_chunks/index-C7uHEWs5.js.map +1 -0
- package/dist/_chunks/index-CB46gX1v.js +42 -0
- package/dist/_chunks/index-CB46gX1v.js.map +1 -0
- package/dist/_chunks/index-CChFb3D5.mjs +11 -0
- package/dist/_chunks/index-CChFb3D5.mjs.map +1 -0
- package/dist/_chunks/index-CEeS79tY.js +332 -0
- package/dist/_chunks/index-CEeS79tY.js.map +1 -0
- package/dist/_chunks/index-CGXPwy0_.js +26 -0
- package/dist/_chunks/index-CGXPwy0_.js.map +1 -0
- package/dist/_chunks/index-CIkUFmSg.mjs +51 -0
- package/dist/_chunks/index-CIkUFmSg.mjs.map +1 -0
- package/dist/_chunks/index-CLFH_Mix.js +26 -0
- package/dist/_chunks/index-CLFH_Mix.js.map +1 -0
- package/dist/_chunks/index-CNdnmVNv.mjs +333 -0
- package/dist/_chunks/index-CNdnmVNv.mjs.map +1 -0
- package/dist/_chunks/index-CRQzOgeM.js +51 -0
- package/dist/_chunks/index-CRQzOgeM.js.map +1 -0
- package/dist/_chunks/index-CSgZQsU_.js +332 -0
- package/dist/_chunks/index-CSgZQsU_.js.map +1 -0
- package/dist/_chunks/index-CTCao2V6.js +52 -0
- package/dist/_chunks/index-CTCao2V6.js.map +1 -0
- package/dist/_chunks/index-CUQM3_IH.js +11 -0
- package/dist/_chunks/index-CUQM3_IH.js.map +1 -0
- package/dist/_chunks/index-CUq3KsxL.mjs +11 -0
- package/dist/_chunks/index-CUq3KsxL.mjs.map +1 -0
- package/dist/_chunks/index-CWoll-k2.mjs +52 -0
- package/dist/_chunks/index-CWoll-k2.mjs.map +1 -0
- package/dist/_chunks/index-CZco0cuK.js +51 -0
- package/dist/_chunks/index-CZco0cuK.js.map +1 -0
- package/dist/_chunks/index-CZx6-aIU.mjs +333 -0
- package/dist/_chunks/index-CZx6-aIU.mjs.map +1 -0
- package/dist/_chunks/index-C_HDOFKi.mjs +33 -0
- package/dist/_chunks/index-C_HDOFKi.mjs.map +1 -0
- package/dist/_chunks/index-Cajyonzp.js +35 -0
- package/dist/_chunks/index-Cajyonzp.js.map +1 -0
- package/dist/_chunks/index-CdYJTRXV.js +332 -0
- package/dist/_chunks/index-CdYJTRXV.js.map +1 -0
- package/dist/_chunks/index-CeJ19q5Q.mjs +35 -0
- package/dist/_chunks/index-CeJ19q5Q.mjs.map +1 -0
- package/dist/_chunks/index-CelAlD2Q.mjs +40 -0
- package/dist/_chunks/index-CelAlD2Q.mjs.map +1 -0
- package/dist/_chunks/index-Cg0WPCJs.mjs +333 -0
- package/dist/_chunks/index-Cg0WPCJs.mjs.map +1 -0
- package/dist/_chunks/index-CiJL3_26.mjs +333 -0
- package/dist/_chunks/index-CiJL3_26.mjs.map +1 -0
- package/dist/_chunks/index-ClPi2eHF.js +332 -0
- package/dist/_chunks/index-ClPi2eHF.js.map +1 -0
- package/dist/_chunks/index-Co_JvSFV.mjs +51 -0
- package/dist/_chunks/index-Co_JvSFV.mjs.map +1 -0
- package/dist/_chunks/index-CwIdvPAC.mjs +51 -0
- package/dist/_chunks/index-CwIdvPAC.mjs.map +1 -0
- package/dist/_chunks/index-D-Gptksr.js +33 -0
- package/dist/_chunks/index-D-Gptksr.js.map +1 -0
- package/dist/_chunks/index-D0yTVMeC.mjs +39 -0
- package/dist/_chunks/index-D0yTVMeC.mjs.map +1 -0
- package/dist/_chunks/index-D1A_00w5.mjs +333 -0
- package/dist/_chunks/index-D1A_00w5.mjs.map +1 -0
- package/dist/_chunks/index-D1UaYacs.mjs +27 -0
- package/dist/_chunks/index-D1UaYacs.mjs.map +1 -0
- package/dist/_chunks/index-D2zGgl2w.mjs +51 -0
- package/dist/_chunks/index-D2zGgl2w.mjs.map +1 -0
- package/dist/_chunks/index-D3-6uXvW.mjs +333 -0
- package/dist/_chunks/index-D3-6uXvW.mjs.map +1 -0
- package/dist/_chunks/index-D737t-4o.mjs +26 -0
- package/dist/_chunks/index-D737t-4o.mjs.map +1 -0
- package/dist/_chunks/index-D8-HrxmE.mjs +33 -0
- package/dist/_chunks/index-D8-HrxmE.mjs.map +1 -0
- package/dist/_chunks/index-D9aVdZ2c.js +51 -0
- package/dist/_chunks/index-D9aVdZ2c.js.map +1 -0
- package/dist/_chunks/index-DCzdJhzW.mjs +333 -0
- package/dist/_chunks/index-DCzdJhzW.mjs.map +1 -0
- package/dist/_chunks/index-DDz7JEzh.js +51 -0
- package/dist/_chunks/index-DDz7JEzh.js.map +1 -0
- package/dist/_chunks/index-DG6b_lDq.mjs +333 -0
- package/dist/_chunks/index-DG6b_lDq.mjs.map +1 -0
- package/dist/_chunks/index-DH66vQnJ.mjs +333 -0
- package/dist/_chunks/index-DH66vQnJ.mjs.map +1 -0
- package/dist/_chunks/index-DJUMPn8G.mjs +24 -0
- package/dist/_chunks/index-DJUMPn8G.mjs.map +1 -0
- package/dist/_chunks/index-DNCp3Sqv.js +35 -0
- package/dist/_chunks/index-DNCp3Sqv.js.map +1 -0
- package/dist/_chunks/index-DNDL_klT.mjs +35 -0
- package/dist/_chunks/index-DNDL_klT.mjs.map +1 -0
- package/dist/_chunks/index-DOArJxeA.mjs +333 -0
- package/dist/_chunks/index-DOArJxeA.mjs.map +1 -0
- package/dist/_chunks/index-DPCgcxx7.mjs +333 -0
- package/dist/_chunks/index-DPCgcxx7.mjs.map +1 -0
- package/dist/_chunks/index-DPcHpT6b.js +26 -0
- package/dist/_chunks/index-DPcHpT6b.js.map +1 -0
- package/dist/_chunks/index-DRZVqKtb.mjs +35 -0
- package/dist/_chunks/index-DRZVqKtb.mjs.map +1 -0
- package/dist/_chunks/index-DU2rOpse.mjs +333 -0
- package/dist/_chunks/index-DU2rOpse.mjs.map +1 -0
- package/dist/_chunks/index-DU9Ihqiu.js +26 -0
- package/dist/_chunks/index-DU9Ihqiu.js.map +1 -0
- package/dist/_chunks/index-DWAiG9eT.js +332 -0
- package/dist/_chunks/index-DWAiG9eT.js.map +1 -0
- package/dist/_chunks/index-DWwk5GLU.mjs +51 -0
- package/dist/_chunks/index-DWwk5GLU.mjs.map +1 -0
- package/dist/_chunks/index-DX3OfrDJ.js +26 -0
- package/dist/_chunks/index-DX3OfrDJ.js.map +1 -0
- package/dist/_chunks/index-DXZtG4D8.js +11 -0
- package/dist/_chunks/index-DXZtG4D8.js.map +1 -0
- package/dist/_chunks/index-DZ5lzQYz.js +11 -0
- package/dist/_chunks/index-DZ5lzQYz.js.map +1 -0
- package/dist/_chunks/index-DZMAifni.mjs +26 -0
- package/dist/_chunks/index-DZMAifni.mjs.map +1 -0
- package/dist/_chunks/index-DZnAjCBz.js +332 -0
- package/dist/_chunks/index-DZnAjCBz.js.map +1 -0
- package/dist/_chunks/index-DbAMftaP.js +332 -0
- package/dist/_chunks/index-DbAMftaP.js.map +1 -0
- package/dist/_chunks/index-Dbm0hBZC.js +332 -0
- package/dist/_chunks/index-Dbm0hBZC.js.map +1 -0
- package/dist/_chunks/index-DglOshol.js +26 -0
- package/dist/_chunks/index-DglOshol.js.map +1 -0
- package/dist/_chunks/index-Djom_nQa.mjs +333 -0
- package/dist/_chunks/index-Djom_nQa.mjs.map +1 -0
- package/dist/_chunks/index-DkG79Xua.js +332 -0
- package/dist/_chunks/index-DkG79Xua.js.map +1 -0
- package/dist/_chunks/index-DlCEVkda.js +10 -0
- package/dist/_chunks/index-DlCEVkda.js.map +1 -0
- package/dist/_chunks/index-DlrR4xk3.js +51 -0
- package/dist/_chunks/index-DlrR4xk3.js.map +1 -0
- package/dist/_chunks/index-DmWMbHrN.mjs +333 -0
- package/dist/_chunks/index-DmWMbHrN.mjs.map +1 -0
- package/dist/_chunks/index-DmtOtMph.mjs +39 -0
- package/dist/_chunks/index-DmtOtMph.mjs.map +1 -0
- package/dist/_chunks/index-DqDx3KVS.js +51 -0
- package/dist/_chunks/index-DqDx3KVS.js.map +1 -0
- package/dist/_chunks/index-DqVVRs3j.mjs +333 -0
- package/dist/_chunks/index-DqVVRs3j.mjs.map +1 -0
- package/dist/_chunks/index-DwKNBU_I.js +10 -0
- package/dist/_chunks/index-DwKNBU_I.js.map +1 -0
- package/dist/_chunks/index-DwqJrgdS.js +332 -0
- package/dist/_chunks/index-DwqJrgdS.js.map +1 -0
- package/dist/_chunks/index-Dxvy92_A.js +52 -0
- package/dist/_chunks/index-Dxvy92_A.js.map +1 -0
- package/dist/_chunks/index-DxzcHKzo.mjs +333 -0
- package/dist/_chunks/index-DxzcHKzo.mjs.map +1 -0
- package/dist/_chunks/index-Dy11_rTk.js +25 -0
- package/dist/_chunks/index-Dy11_rTk.js.map +1 -0
- package/dist/_chunks/index-Dy2qWaa2.mjs +333 -0
- package/dist/_chunks/index-Dy2qWaa2.mjs.map +1 -0
- package/dist/_chunks/index-Dz_C90Uw.mjs +25 -0
- package/dist/_chunks/index-Dz_C90Uw.mjs.map +1 -0
- package/dist/_chunks/index-EO6ncD4P.mjs +26 -0
- package/dist/_chunks/index-EO6ncD4P.mjs.map +1 -0
- package/dist/_chunks/index-F8K1BJrY.js +332 -0
- package/dist/_chunks/index-F8K1BJrY.js.map +1 -0
- package/dist/_chunks/index-FOS4mqdv.js +39 -0
- package/dist/_chunks/index-FOS4mqdv.js.map +1 -0
- package/dist/_chunks/index-FdJkKIm-.js +27 -0
- package/dist/_chunks/index-FdJkKIm-.js.map +1 -0
- package/dist/_chunks/index-IRZkd-GV.mjs +333 -0
- package/dist/_chunks/index-IRZkd-GV.mjs.map +1 -0
- package/dist/_chunks/index-Ihoq7N27.js +39 -0
- package/dist/_chunks/index-Ihoq7N27.js.map +1 -0
- package/dist/_chunks/index-Ju5-qd9f.mjs +51 -0
- package/dist/_chunks/index-Ju5-qd9f.mjs.map +1 -0
- package/dist/_chunks/index-KRsS4Q5E.js +332 -0
- package/dist/_chunks/index-KRsS4Q5E.js.map +1 -0
- package/dist/_chunks/index-O0FUr6y8.mjs +35 -0
- package/dist/_chunks/index-O0FUr6y8.mjs.map +1 -0
- package/dist/_chunks/index-O9oaphD1.mjs +26 -0
- package/dist/_chunks/index-O9oaphD1.mjs.map +1 -0
- package/dist/_chunks/index-OfmPI0qM.mjs +333 -0
- package/dist/_chunks/index-OfmPI0qM.mjs.map +1 -0
- package/dist/_chunks/index-PqxNGCPC.js +39 -0
- package/dist/_chunks/index-PqxNGCPC.js.map +1 -0
- package/dist/_chunks/index-QPw9JMM7.js +26 -0
- package/dist/_chunks/index-QPw9JMM7.js.map +1 -0
- package/dist/_chunks/index-RPgFQ8JN.js +11 -0
- package/dist/_chunks/index-RPgFQ8JN.js.map +1 -0
- package/dist/_chunks/index-RkGmI_5a.js +332 -0
- package/dist/_chunks/index-RkGmI_5a.js.map +1 -0
- package/dist/_chunks/index-RuWEiyPC.mjs +10 -0
- package/dist/_chunks/index-RuWEiyPC.mjs.map +1 -0
- package/dist/_chunks/index-Vm82ncrB.mjs +26 -0
- package/dist/_chunks/index-Vm82ncrB.mjs.map +1 -0
- package/dist/_chunks/index-Vt7G91cP.mjs +11 -0
- package/dist/_chunks/index-Vt7G91cP.mjs.map +1 -0
- package/dist/_chunks/index-YhzGM_It.mjs +35 -0
- package/dist/_chunks/index-YhzGM_It.mjs.map +1 -0
- package/dist/_chunks/index-ZqLzNBtG.mjs +26 -0
- package/dist/_chunks/index-ZqLzNBtG.mjs.map +1 -0
- package/dist/_chunks/index-fNfPzwf2.js +332 -0
- package/dist/_chunks/index-fNfPzwf2.js.map +1 -0
- package/dist/_chunks/index-g48HHxYy.mjs +26 -0
- package/dist/_chunks/index-g48HHxYy.mjs.map +1 -0
- package/dist/_chunks/index-gTgo3YNx.js +11 -0
- package/dist/_chunks/index-gTgo3YNx.js.map +1 -0
- package/dist/_chunks/index-ig6Hb9po.mjs +11 -0
- package/dist/_chunks/index-ig6Hb9po.mjs.map +1 -0
- package/dist/_chunks/index-k62BjD6g.mjs +26 -0
- package/dist/_chunks/index-k62BjD6g.mjs.map +1 -0
- package/dist/_chunks/index-keqbR8Rb.js +332 -0
- package/dist/_chunks/index-keqbR8Rb.js.map +1 -0
- package/dist/_chunks/index-lpvX9ndv.mjs +333 -0
- package/dist/_chunks/index-lpvX9ndv.mjs.map +1 -0
- package/dist/_chunks/index-mLpi6WXe.mjs +26 -0
- package/dist/_chunks/index-mLpi6WXe.mjs.map +1 -0
- package/dist/_chunks/index-rO6eiMQV.mjs +333 -0
- package/dist/_chunks/index-rO6eiMQV.mjs.map +1 -0
- package/dist/_chunks/index-t1SN83-K.mjs +51 -0
- package/dist/_chunks/index-t1SN83-K.mjs.map +1 -0
- package/dist/_chunks/index-uIh12_Oa.mjs +52 -0
- package/dist/_chunks/index-uIh12_Oa.mjs.map +1 -0
- package/dist/_chunks/index-xXDvLN5W.mjs +51 -0
- package/dist/_chunks/index-xXDvLN5W.mjs.map +1 -0
- package/dist/_chunks/index-yNivr0uw.mjs +11 -0
- package/dist/_chunks/index-yNivr0uw.mjs.map +1 -0
- package/dist/_chunks/index-z_wVLOOa.js +20 -0
- package/dist/_chunks/index-z_wVLOOa.js.map +1 -0
- package/dist/admin/index.js +2 -220
- package/dist/admin/index.js.map +1 -1
- package/dist/admin/index.mjs +2 -220
- package/dist/admin/index.mjs.map +1 -1
- package/dist/admin/src/components/SettingsPage/index.d.ts +2 -0
- package/dist/admin/src/hooks/index.d.ts +4 -0
- package/dist/admin/src/hooks/useCacheConfig.d.ts +10 -0
- package/dist/admin/src/hooks/useCacheNotifications.d.ts +7 -0
- package/dist/admin/src/hooks/useCacheOperations.d.ts +10 -0
- package/dist/admin/src/hooks/useCachePermissions.d.ts +4 -0
- package/package.json +7 -6
- package/dist/_chunks/de-Bw-yMVQV.js.map +0 -1
- package/dist/_chunks/de-OlWEMza0.mjs.map +0 -1
- package/dist/_chunks/en-3qeM6Pow.js.map +0 -1
- package/dist/_chunks/en-CFA1lEXn.mjs.map +0 -1
- package/dist/admin/src/components/PurgeModal/PurgeButton/index.d.ts +0 -4
package/dist/admin/index.js
CHANGED
|
@@ -1,222 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
const admin = require("@strapi/strapi/admin");
|
|
5
|
-
const reactIntl = require("react-intl");
|
|
6
|
-
const icons = require("@strapi/icons");
|
|
7
|
-
const designSystem = require("@strapi/design-system");
|
|
8
|
-
const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
|
|
9
|
-
const v = glob[path];
|
|
10
|
-
if (v) {
|
|
11
|
-
return typeof v === "function" ? v() : Promise.resolve(v);
|
|
12
|
-
}
|
|
13
|
-
return new Promise((_, reject) => {
|
|
14
|
-
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
|
|
15
|
-
reject.bind(
|
|
16
|
-
null,
|
|
17
|
-
new Error(
|
|
18
|
-
"Unknown variable dynamic import: " + path + (path.split("/").length !== segs ? ". Note that variables only represent file names one level deep." : "")
|
|
19
|
-
)
|
|
20
|
-
)
|
|
21
|
-
);
|
|
22
|
-
});
|
|
23
|
-
};
|
|
24
|
-
const PLUGIN_ID = "strapi-cache";
|
|
25
|
-
const Initializer = ({ setPlugin }) => {
|
|
26
|
-
const ref = react.useRef(setPlugin);
|
|
27
|
-
react.useEffect(() => {
|
|
28
|
-
ref.current(PLUGIN_ID);
|
|
29
|
-
}, []);
|
|
30
|
-
return null;
|
|
31
|
-
};
|
|
32
|
-
const pluginPermissions = {
|
|
33
|
-
purge: [{ action: "plugin::strapi-cache.purge-cache", subject: null }]
|
|
34
|
-
};
|
|
35
|
-
function PurgeButton({ onClick }) {
|
|
36
|
-
const formatMessage = reactIntl.useIntl().formatMessage;
|
|
37
|
-
return /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { onClick, children: formatMessage({
|
|
38
|
-
id: "strapi-cache.cache.confirm",
|
|
39
|
-
defaultMessage: "Yes, confirm"
|
|
40
|
-
}) });
|
|
41
|
-
}
|
|
42
|
-
function PurgeModal({ buttonText, keyToUse, buttonWidth, contentTypeName }) {
|
|
43
|
-
const { allowedActions } = admin.useRBAC(pluginPermissions);
|
|
44
|
-
const formatMessage = reactIntl.useIntl().formatMessage;
|
|
45
|
-
const { post, get } = admin.useFetchClient();
|
|
46
|
-
const { toggleNotification } = admin.useNotification();
|
|
47
|
-
const [config, setConfig] = react.useState();
|
|
48
|
-
react.useEffect(() => {
|
|
49
|
-
if (!allowedActions.canPurgeCache) {
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
const fetchConfig = async () => {
|
|
53
|
-
try {
|
|
54
|
-
const { data } = await get("/strapi-cache/config");
|
|
55
|
-
return data;
|
|
56
|
-
} catch (error) {
|
|
57
|
-
const isPermissionError = error?.response?.status === 403 || error?.response?.status === 401;
|
|
58
|
-
if (!isPermissionError && !config?.disableAdminPopups) {
|
|
59
|
-
toggleNotification({
|
|
60
|
-
type: "warning",
|
|
61
|
-
message: formatMessage({
|
|
62
|
-
id: "strapi-cache.cache.routes.fetch-error",
|
|
63
|
-
defaultMessage: "Unable to fetch cache config. Cache purge may not work correctly."
|
|
64
|
-
})
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
return void 0;
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
fetchConfig().then((data) => {
|
|
71
|
-
setConfig(data);
|
|
72
|
-
});
|
|
73
|
-
}, [allowedActions.canPurgeCache]);
|
|
74
|
-
const isCacheableRoute = () => {
|
|
75
|
-
if (!keyToUse || !config) {
|
|
76
|
-
return false;
|
|
77
|
-
}
|
|
78
|
-
const { cacheableRoutes } = config;
|
|
79
|
-
return cacheableRoutes.length === 0 || cacheableRoutes.some((route) => {
|
|
80
|
-
return route.includes(keyToUse) || contentTypeName && route.includes(contentTypeName);
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
const clearCache = () => {
|
|
84
|
-
if (!keyToUse && !config?.disableAdminPopups) {
|
|
85
|
-
toggleNotification({
|
|
86
|
-
type: "warning",
|
|
87
|
-
message: formatMessage({
|
|
88
|
-
id: "strapi-cache.cache.purge.no-content-type",
|
|
89
|
-
defaultMessage: "No content type found"
|
|
90
|
-
})
|
|
91
|
-
});
|
|
92
|
-
return;
|
|
93
|
-
}
|
|
94
|
-
post(`/strapi-cache/purge-cache/${keyToUse}`, void 0, {
|
|
95
|
-
headers: {
|
|
96
|
-
"Content-Type": "application/json"
|
|
97
|
-
}
|
|
98
|
-
}).then(() => {
|
|
99
|
-
if (!config?.disableAdminPopups) {
|
|
100
|
-
toggleNotification({
|
|
101
|
-
type: "success",
|
|
102
|
-
message: formatMessage(
|
|
103
|
-
{
|
|
104
|
-
id: "strapi-cache.cache.purge.success",
|
|
105
|
-
defaultMessage: "Cache purged successfully"
|
|
106
|
-
},
|
|
107
|
-
{
|
|
108
|
-
key: `"${keyToUse}"`
|
|
109
|
-
}
|
|
110
|
-
)
|
|
111
|
-
});
|
|
112
|
-
}
|
|
113
|
-
}).catch(() => {
|
|
114
|
-
if (!config?.disableAdminPopups) {
|
|
115
|
-
toggleNotification({
|
|
116
|
-
type: "danger",
|
|
117
|
-
message: formatMessage(
|
|
118
|
-
{
|
|
119
|
-
id: "strapi-cache.cache.purge.error",
|
|
120
|
-
defaultMessage: "Error purging cache"
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
key: `"${keyToUse}"`
|
|
124
|
-
}
|
|
125
|
-
)
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
});
|
|
129
|
-
};
|
|
130
|
-
if (!allowedActions.canPurgeCache || !isCacheableRoute()) {
|
|
131
|
-
return null;
|
|
132
|
-
}
|
|
133
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Root, { children: [
|
|
134
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Trigger, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { width: buttonWidth, startIcon: /* @__PURE__ */ jsxRuntime.jsx(icons.Archive, {}), variant: "danger", children: buttonText }) }),
|
|
135
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Content, { children: [
|
|
136
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Header, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Title, { children: buttonText }) }),
|
|
137
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Body, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Typography, { variant: "omega", children: formatMessage(
|
|
138
|
-
{
|
|
139
|
-
id: "strapi-cache.cache.purge.confirmation",
|
|
140
|
-
defaultMessage: "Are you sure you want to purge the cache?"
|
|
141
|
-
},
|
|
142
|
-
{ key: `"${keyToUse}"` }
|
|
143
|
-
) }) }),
|
|
144
|
-
/* @__PURE__ */ jsxRuntime.jsxs(designSystem.Modal.Footer, { children: [
|
|
145
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Close, { children: /* @__PURE__ */ jsxRuntime.jsx(designSystem.Button, { variant: "tertiary", children: formatMessage({
|
|
146
|
-
id: "strapi-cache.cache.cancel",
|
|
147
|
-
defaultMessage: "No, cancel"
|
|
148
|
-
}) }) }),
|
|
149
|
-
/* @__PURE__ */ jsxRuntime.jsx(designSystem.Modal.Close, { children: /* @__PURE__ */ jsxRuntime.jsx(PurgeButton, { onClick: clearCache }) })
|
|
150
|
-
] })
|
|
151
|
-
] })
|
|
152
|
-
] });
|
|
153
|
-
}
|
|
154
|
-
function PurgeCacheButton() {
|
|
155
|
-
const { contentType } = admin.unstable_useContentManagerContext();
|
|
156
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
157
|
-
const keyToUse = contentType?.info.pluralName;
|
|
158
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
159
|
-
PurgeModal,
|
|
160
|
-
{
|
|
161
|
-
buttonText: formatMessage({
|
|
162
|
-
id: "strapi-cache.cache.purge",
|
|
163
|
-
defaultMessage: "Purge Cache"
|
|
164
|
-
}),
|
|
165
|
-
keyToUse
|
|
166
|
-
}
|
|
167
|
-
);
|
|
168
|
-
}
|
|
169
|
-
function PurgeEntityButton() {
|
|
170
|
-
const { formatMessage } = reactIntl.useIntl();
|
|
171
|
-
const { id, isSingleType, contentType } = admin.unstable_useContentManagerContext();
|
|
172
|
-
const apiPath = isSingleType ? contentType?.info.singularName : id;
|
|
173
|
-
if (!apiPath) {
|
|
174
|
-
return null;
|
|
175
|
-
}
|
|
176
|
-
const keyToUse = encodeURIComponent(apiPath);
|
|
177
|
-
const contentTypeName = isSingleType ? contentType?.info.singularName : contentType?.info.pluralName;
|
|
178
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
179
|
-
PurgeModal,
|
|
180
|
-
{
|
|
181
|
-
buttonWidth: "100%",
|
|
182
|
-
buttonText: formatMessage({
|
|
183
|
-
id: "strapi-cache.cache.purge.entity",
|
|
184
|
-
defaultMessage: "Purge Entity Cache"
|
|
185
|
-
}),
|
|
186
|
-
keyToUse,
|
|
187
|
-
contentTypeName
|
|
188
|
-
}
|
|
189
|
-
);
|
|
190
|
-
}
|
|
191
|
-
const index = {
|
|
192
|
-
register(app) {
|
|
193
|
-
app.registerPlugin({
|
|
194
|
-
id: PLUGIN_ID,
|
|
195
|
-
initializer: Initializer,
|
|
196
|
-
isReady: false,
|
|
197
|
-
name: PLUGIN_ID
|
|
198
|
-
});
|
|
199
|
-
app.getPlugin("content-manager").injectComponent("listView", "actions", {
|
|
200
|
-
name: PurgeCacheButton,
|
|
201
|
-
Component: PurgeCacheButton
|
|
202
|
-
});
|
|
203
|
-
app.getPlugin("content-manager").injectComponent("editView", "right-links", {
|
|
204
|
-
name: PurgeEntityButton,
|
|
205
|
-
Component: PurgeEntityButton
|
|
206
|
-
});
|
|
207
|
-
},
|
|
208
|
-
async registerTrads({ locales }) {
|
|
209
|
-
return Promise.all(
|
|
210
|
-
locales.map(async (locale) => {
|
|
211
|
-
try {
|
|
212
|
-
const { default: data } = await __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/de.json": () => Promise.resolve().then(() => require("../_chunks/de-Bw-yMVQV.js")), "./translations/en.json": () => Promise.resolve().then(() => require("../_chunks/en-3qeM6Pow.js")) }), `./translations/${locale}.json`, 3);
|
|
213
|
-
return { data, locale };
|
|
214
|
-
} catch {
|
|
215
|
-
return { data: {}, locale };
|
|
216
|
-
}
|
|
217
|
-
})
|
|
218
|
-
);
|
|
219
|
-
}
|
|
220
|
-
};
|
|
221
|
-
module.exports = index;
|
|
2
|
+
const index = require("../_chunks/index-CEeS79tY.js");
|
|
3
|
+
module.exports = index.index;
|
|
222
4
|
//# sourceMappingURL=index.js.map
|
package/dist/admin/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../admin/src/pluginId.ts","../../admin/src/components/Initializer.tsx","../../admin/src/permission.ts","../../admin/src/components/PurgeModal/PurgeButton/index.tsx","../../admin/src/components/PurgeModal/index.tsx","../../admin/src/components/PurgeCacheButton/index.tsx","../../admin/src/components/PurgeEntityButton/index.tsx","../../admin/src/index.ts"],"sourcesContent":["export const PLUGIN_ID = 'strapi-cache';\n","import { useEffect, useRef } from 'react';\n\nimport { PLUGIN_ID } from '../pluginId';\n\ntype InitializerProps = {\n setPlugin: (id: string) => void;\n};\n\nconst Initializer = ({ setPlugin }: InitializerProps) => {\n const ref = useRef(setPlugin);\n\n useEffect(() => {\n ref.current(PLUGIN_ID);\n }, []);\n\n return null;\n};\n\nexport { Initializer };\n","export const pluginPermissions = {\n purge: [{ action: 'plugin::strapi-cache.purge-cache', subject: null }],\n};\n","import { Button } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nfunction PurgeButton({ onClick }: { onClick: () => void }) {\n const formatMessage = useIntl().formatMessage;\n\n return (\n <Button onClick={onClick}>\n {formatMessage({\n id: 'strapi-cache.cache.confirm',\n defaultMessage: 'Yes, confirm',\n })}\n </Button>\n );\n}\n\nexport default PurgeButton;\n","import { useIntl } from 'react-intl';\nimport { Archive } from '@strapi/icons';\nimport { Button, Modal } from '@strapi/design-system';\nimport { useNotification, useRBAC } from '@strapi/strapi/admin';\nimport { pluginPermissions } from '../../permission';\nimport { Typography } from '@strapi/design-system';\nimport { useFetchClient } from '@strapi/strapi/admin';\nimport { useEffect, useState } from 'react';\nimport PurgeButton from './PurgeButton';\n\ntype Config = {\n cacheableRoutes: string[];\n disableAdminPopups: boolean;\n};\n\nexport type PurgeProps = {\n buttonText: string;\n buttonWidth?: string;\n keyToUse?: string;\n contentTypeName?: string;\n};\n\nfunction PurgeModal({ buttonText, keyToUse, buttonWidth, contentTypeName }: PurgeProps) {\n const { allowedActions } = useRBAC(pluginPermissions);\n const formatMessage = useIntl().formatMessage;\n const { post, get } = useFetchClient();\n const { toggleNotification } = useNotification();\n const [config, setConfig] = useState<Config>();\n\n useEffect(() => {\n if (!allowedActions.canPurgeCache) {\n return;\n }\n const fetchConfig = async () => {\n try {\n const { data } = await get('/strapi-cache/config');\n return data;\n } catch (error: any) {\n // only show error notification if its not a permissions error and popups are not disabled\n const isPermissionError =\n error?.response?.status === 403 || error?.response?.status === 401;\n if (!isPermissionError && !config?.disableAdminPopups) {\n toggleNotification({\n type: 'warning',\n message: formatMessage({\n id: 'strapi-cache.cache.routes.fetch-error',\n defaultMessage: 'Unable to fetch cache config. Cache purge may not work correctly.',\n }),\n });\n }\n return undefined;\n }\n };\n fetchConfig().then((data) => {\n setConfig(data);\n });\n }, [allowedActions.canPurgeCache]);\n\n const isCacheableRoute = () => {\n if (!keyToUse || !config) {\n return false;\n }\n\n const { cacheableRoutes } = config;\n return (\n cacheableRoutes.length === 0 ||\n cacheableRoutes.some((route) => {\n return route.includes(keyToUse) || (contentTypeName && route.includes(contentTypeName));\n })\n );\n };\n\n const clearCache = () => {\n if (!keyToUse && !config?.disableAdminPopups) {\n toggleNotification({\n type: 'warning',\n message: formatMessage({\n id: 'strapi-cache.cache.purge.no-content-type',\n defaultMessage: 'No content type found',\n }),\n });\n return;\n }\n\n post(`/strapi-cache/purge-cache/${keyToUse}`, undefined, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .then(() => {\n if (!config?.disableAdminPopups) {\n toggleNotification({\n type: 'success',\n message: formatMessage(\n {\n id: 'strapi-cache.cache.purge.success',\n defaultMessage: 'Cache purged successfully',\n },\n {\n key: `\"${keyToUse}\"`,\n }\n ),\n });\n }\n })\n .catch(() => {\n if (!config?.disableAdminPopups) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(\n {\n id: 'strapi-cache.cache.purge.error',\n defaultMessage: 'Error purging cache',\n },\n {\n key: `\"${keyToUse}\"`,\n }\n ),\n });\n }\n });\n };\n\n if (!allowedActions.canPurgeCache || !isCacheableRoute()) {\n return null;\n }\n\n return (\n <Modal.Root>\n <Modal.Trigger>\n <Button width={buttonWidth} startIcon={<Archive />} variant=\"danger\">\n {buttonText}\n </Button>\n </Modal.Trigger>\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>{buttonText}</Modal.Title>\n </Modal.Header>\n <Modal.Body>\n <Typography variant=\"omega\">\n {formatMessage(\n {\n id: 'strapi-cache.cache.purge.confirmation',\n defaultMessage: 'Are you sure you want to purge the cache?',\n },\n { key: `\"${keyToUse}\"` }\n )}\n </Typography>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">\n {formatMessage({\n id: 'strapi-cache.cache.cancel',\n defaultMessage: 'No, cancel',\n })}\n </Button>\n </Modal.Close>\n <Modal.Close>\n <PurgeButton onClick={clearCache}></PurgeButton>\n </Modal.Close>\n </Modal.Footer>\n </Modal.Content>\n </Modal.Root>\n );\n}\n\nexport default PurgeModal;\n","import { unstable_useContentManagerContext as useContentManagerContext } from '@strapi/strapi/admin';\nimport PurgeModal from '../PurgeModal';\nimport { useIntl } from 'react-intl';\n\nfunction PurgeCacheButton() {\n const { contentType } = useContentManagerContext();\n const { formatMessage } = useIntl();\n const keyToUse = contentType?.info.pluralName;\n\n return (\n <PurgeModal\n buttonText={formatMessage({\n id: 'strapi-cache.cache.purge',\n defaultMessage: 'Purge Cache',\n })}\n keyToUse={keyToUse}\n ></PurgeModal>\n );\n}\n\nexport default PurgeCacheButton;\n","import { unstable_useContentManagerContext as useContentManagerContext } from '@strapi/strapi/admin';\nimport PurgeModal from '../PurgeModal';\nimport { useIntl } from 'react-intl';\n\nfunction PurgeEntityButton() {\n const { formatMessage } = useIntl();\n const { id, isSingleType, contentType } = useContentManagerContext();\n const apiPath = isSingleType ? contentType?.info.singularName : id;\n\n if (!apiPath) {\n return null;\n }\n\n const keyToUse = encodeURIComponent(apiPath);\n const contentTypeName = isSingleType\n ? contentType?.info.singularName\n : contentType?.info.pluralName;\n\n return (\n <PurgeModal\n buttonWidth=\"100%\"\n buttonText={formatMessage({\n id: 'strapi-cache.cache.purge.entity',\n defaultMessage: 'Purge Entity Cache',\n })}\n keyToUse={keyToUse}\n contentTypeName={contentTypeName}\n ></PurgeModal>\n );\n}\n\nexport default PurgeEntityButton;\n","import { PLUGIN_ID } from './pluginId';\nimport { Initializer } from './components/Initializer';\nimport PurgeCacheButton from './components/PurgeCacheButton';\nimport PurgeEntityButton from './components/PurgeEntityButton';\n\nexport default {\n register(app: any) {\n app.registerPlugin({\n id: PLUGIN_ID,\n initializer: Initializer,\n isReady: false,\n name: PLUGIN_ID,\n });\n\n app.getPlugin('content-manager').injectComponent('listView', 'actions', {\n name: PurgeCacheButton,\n Component: PurgeCacheButton,\n });\n\n app.getPlugin('content-manager').injectComponent('editView', 'right-links', {\n name: PurgeEntityButton,\n Component: PurgeEntityButton,\n });\n },\n\n async registerTrads({ locales }: { locales: string[] }) {\n return Promise.all(\n locales.map(async (locale) => {\n try {\n const { default: data } = await import(`./translations/${locale}.json`);\n\n return { data, locale };\n } catch {\n return { data: {}, locale };\n }\n })\n );\n },\n};\n"],"names":["useRef","useEffect","useIntl","jsx","Button","useRBAC","useFetchClient","useNotification","useState","jsxs","Modal","Archive","Typography","useContentManagerContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|
package/dist/admin/index.mjs
CHANGED
|
@@ -1,223 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { useRBAC, useFetchClient, useNotification, unstable_useContentManagerContext } from "@strapi/strapi/admin";
|
|
4
|
-
import { useIntl } from "react-intl";
|
|
5
|
-
import { Archive } from "@strapi/icons";
|
|
6
|
-
import { Button, Modal, Typography } from "@strapi/design-system";
|
|
7
|
-
const __variableDynamicImportRuntimeHelper = (glob, path, segs) => {
|
|
8
|
-
const v = glob[path];
|
|
9
|
-
if (v) {
|
|
10
|
-
return typeof v === "function" ? v() : Promise.resolve(v);
|
|
11
|
-
}
|
|
12
|
-
return new Promise((_, reject) => {
|
|
13
|
-
(typeof queueMicrotask === "function" ? queueMicrotask : setTimeout)(
|
|
14
|
-
reject.bind(
|
|
15
|
-
null,
|
|
16
|
-
new Error(
|
|
17
|
-
"Unknown variable dynamic import: " + path + (path.split("/").length !== segs ? ". Note that variables only represent file names one level deep." : "")
|
|
18
|
-
)
|
|
19
|
-
)
|
|
20
|
-
);
|
|
21
|
-
});
|
|
22
|
-
};
|
|
23
|
-
const PLUGIN_ID = "strapi-cache";
|
|
24
|
-
const Initializer = ({ setPlugin }) => {
|
|
25
|
-
const ref = useRef(setPlugin);
|
|
26
|
-
useEffect(() => {
|
|
27
|
-
ref.current(PLUGIN_ID);
|
|
28
|
-
}, []);
|
|
29
|
-
return null;
|
|
30
|
-
};
|
|
31
|
-
const pluginPermissions = {
|
|
32
|
-
purge: [{ action: "plugin::strapi-cache.purge-cache", subject: null }]
|
|
33
|
-
};
|
|
34
|
-
function PurgeButton({ onClick }) {
|
|
35
|
-
const formatMessage = useIntl().formatMessage;
|
|
36
|
-
return /* @__PURE__ */ jsx(Button, { onClick, children: formatMessage({
|
|
37
|
-
id: "strapi-cache.cache.confirm",
|
|
38
|
-
defaultMessage: "Yes, confirm"
|
|
39
|
-
}) });
|
|
40
|
-
}
|
|
41
|
-
function PurgeModal({ buttonText, keyToUse, buttonWidth, contentTypeName }) {
|
|
42
|
-
const { allowedActions } = useRBAC(pluginPermissions);
|
|
43
|
-
const formatMessage = useIntl().formatMessage;
|
|
44
|
-
const { post, get } = useFetchClient();
|
|
45
|
-
const { toggleNotification } = useNotification();
|
|
46
|
-
const [config, setConfig] = useState();
|
|
47
|
-
useEffect(() => {
|
|
48
|
-
if (!allowedActions.canPurgeCache) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
const fetchConfig = async () => {
|
|
52
|
-
try {
|
|
53
|
-
const { data } = await get("/strapi-cache/config");
|
|
54
|
-
return data;
|
|
55
|
-
} catch (error) {
|
|
56
|
-
const isPermissionError = error?.response?.status === 403 || error?.response?.status === 401;
|
|
57
|
-
if (!isPermissionError && !config?.disableAdminPopups) {
|
|
58
|
-
toggleNotification({
|
|
59
|
-
type: "warning",
|
|
60
|
-
message: formatMessage({
|
|
61
|
-
id: "strapi-cache.cache.routes.fetch-error",
|
|
62
|
-
defaultMessage: "Unable to fetch cache config. Cache purge may not work correctly."
|
|
63
|
-
})
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
return void 0;
|
|
67
|
-
}
|
|
68
|
-
};
|
|
69
|
-
fetchConfig().then((data) => {
|
|
70
|
-
setConfig(data);
|
|
71
|
-
});
|
|
72
|
-
}, [allowedActions.canPurgeCache]);
|
|
73
|
-
const isCacheableRoute = () => {
|
|
74
|
-
if (!keyToUse || !config) {
|
|
75
|
-
return false;
|
|
76
|
-
}
|
|
77
|
-
const { cacheableRoutes } = config;
|
|
78
|
-
return cacheableRoutes.length === 0 || cacheableRoutes.some((route) => {
|
|
79
|
-
return route.includes(keyToUse) || contentTypeName && route.includes(contentTypeName);
|
|
80
|
-
});
|
|
81
|
-
};
|
|
82
|
-
const clearCache = () => {
|
|
83
|
-
if (!keyToUse && !config?.disableAdminPopups) {
|
|
84
|
-
toggleNotification({
|
|
85
|
-
type: "warning",
|
|
86
|
-
message: formatMessage({
|
|
87
|
-
id: "strapi-cache.cache.purge.no-content-type",
|
|
88
|
-
defaultMessage: "No content type found"
|
|
89
|
-
})
|
|
90
|
-
});
|
|
91
|
-
return;
|
|
92
|
-
}
|
|
93
|
-
post(`/strapi-cache/purge-cache/${keyToUse}`, void 0, {
|
|
94
|
-
headers: {
|
|
95
|
-
"Content-Type": "application/json"
|
|
96
|
-
}
|
|
97
|
-
}).then(() => {
|
|
98
|
-
if (!config?.disableAdminPopups) {
|
|
99
|
-
toggleNotification({
|
|
100
|
-
type: "success",
|
|
101
|
-
message: formatMessage(
|
|
102
|
-
{
|
|
103
|
-
id: "strapi-cache.cache.purge.success",
|
|
104
|
-
defaultMessage: "Cache purged successfully"
|
|
105
|
-
},
|
|
106
|
-
{
|
|
107
|
-
key: `"${keyToUse}"`
|
|
108
|
-
}
|
|
109
|
-
)
|
|
110
|
-
});
|
|
111
|
-
}
|
|
112
|
-
}).catch(() => {
|
|
113
|
-
if (!config?.disableAdminPopups) {
|
|
114
|
-
toggleNotification({
|
|
115
|
-
type: "danger",
|
|
116
|
-
message: formatMessage(
|
|
117
|
-
{
|
|
118
|
-
id: "strapi-cache.cache.purge.error",
|
|
119
|
-
defaultMessage: "Error purging cache"
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
key: `"${keyToUse}"`
|
|
123
|
-
}
|
|
124
|
-
)
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
});
|
|
128
|
-
};
|
|
129
|
-
if (!allowedActions.canPurgeCache || !isCacheableRoute()) {
|
|
130
|
-
return null;
|
|
131
|
-
}
|
|
132
|
-
return /* @__PURE__ */ jsxs(Modal.Root, { children: [
|
|
133
|
-
/* @__PURE__ */ jsx(Modal.Trigger, { children: /* @__PURE__ */ jsx(Button, { width: buttonWidth, startIcon: /* @__PURE__ */ jsx(Archive, {}), variant: "danger", children: buttonText }) }),
|
|
134
|
-
/* @__PURE__ */ jsxs(Modal.Content, { children: [
|
|
135
|
-
/* @__PURE__ */ jsx(Modal.Header, { children: /* @__PURE__ */ jsx(Modal.Title, { children: buttonText }) }),
|
|
136
|
-
/* @__PURE__ */ jsx(Modal.Body, { children: /* @__PURE__ */ jsx(Typography, { variant: "omega", children: formatMessage(
|
|
137
|
-
{
|
|
138
|
-
id: "strapi-cache.cache.purge.confirmation",
|
|
139
|
-
defaultMessage: "Are you sure you want to purge the cache?"
|
|
140
|
-
},
|
|
141
|
-
{ key: `"${keyToUse}"` }
|
|
142
|
-
) }) }),
|
|
143
|
-
/* @__PURE__ */ jsxs(Modal.Footer, { children: [
|
|
144
|
-
/* @__PURE__ */ jsx(Modal.Close, { children: /* @__PURE__ */ jsx(Button, { variant: "tertiary", children: formatMessage({
|
|
145
|
-
id: "strapi-cache.cache.cancel",
|
|
146
|
-
defaultMessage: "No, cancel"
|
|
147
|
-
}) }) }),
|
|
148
|
-
/* @__PURE__ */ jsx(Modal.Close, { children: /* @__PURE__ */ jsx(PurgeButton, { onClick: clearCache }) })
|
|
149
|
-
] })
|
|
150
|
-
] })
|
|
151
|
-
] });
|
|
152
|
-
}
|
|
153
|
-
function PurgeCacheButton() {
|
|
154
|
-
const { contentType } = unstable_useContentManagerContext();
|
|
155
|
-
const { formatMessage } = useIntl();
|
|
156
|
-
const keyToUse = contentType?.info.pluralName;
|
|
157
|
-
return /* @__PURE__ */ jsx(
|
|
158
|
-
PurgeModal,
|
|
159
|
-
{
|
|
160
|
-
buttonText: formatMessage({
|
|
161
|
-
id: "strapi-cache.cache.purge",
|
|
162
|
-
defaultMessage: "Purge Cache"
|
|
163
|
-
}),
|
|
164
|
-
keyToUse
|
|
165
|
-
}
|
|
166
|
-
);
|
|
167
|
-
}
|
|
168
|
-
function PurgeEntityButton() {
|
|
169
|
-
const { formatMessage } = useIntl();
|
|
170
|
-
const { id, isSingleType, contentType } = unstable_useContentManagerContext();
|
|
171
|
-
const apiPath = isSingleType ? contentType?.info.singularName : id;
|
|
172
|
-
if (!apiPath) {
|
|
173
|
-
return null;
|
|
174
|
-
}
|
|
175
|
-
const keyToUse = encodeURIComponent(apiPath);
|
|
176
|
-
const contentTypeName = isSingleType ? contentType?.info.singularName : contentType?.info.pluralName;
|
|
177
|
-
return /* @__PURE__ */ jsx(
|
|
178
|
-
PurgeModal,
|
|
179
|
-
{
|
|
180
|
-
buttonWidth: "100%",
|
|
181
|
-
buttonText: formatMessage({
|
|
182
|
-
id: "strapi-cache.cache.purge.entity",
|
|
183
|
-
defaultMessage: "Purge Entity Cache"
|
|
184
|
-
}),
|
|
185
|
-
keyToUse,
|
|
186
|
-
contentTypeName
|
|
187
|
-
}
|
|
188
|
-
);
|
|
189
|
-
}
|
|
190
|
-
const index = {
|
|
191
|
-
register(app) {
|
|
192
|
-
app.registerPlugin({
|
|
193
|
-
id: PLUGIN_ID,
|
|
194
|
-
initializer: Initializer,
|
|
195
|
-
isReady: false,
|
|
196
|
-
name: PLUGIN_ID
|
|
197
|
-
});
|
|
198
|
-
app.getPlugin("content-manager").injectComponent("listView", "actions", {
|
|
199
|
-
name: PurgeCacheButton,
|
|
200
|
-
Component: PurgeCacheButton
|
|
201
|
-
});
|
|
202
|
-
app.getPlugin("content-manager").injectComponent("editView", "right-links", {
|
|
203
|
-
name: PurgeEntityButton,
|
|
204
|
-
Component: PurgeEntityButton
|
|
205
|
-
});
|
|
206
|
-
},
|
|
207
|
-
async registerTrads({ locales }) {
|
|
208
|
-
return Promise.all(
|
|
209
|
-
locales.map(async (locale) => {
|
|
210
|
-
try {
|
|
211
|
-
const { default: data } = await __variableDynamicImportRuntimeHelper(/* @__PURE__ */ Object.assign({ "./translations/de.json": () => import("../_chunks/de-OlWEMza0.mjs"), "./translations/en.json": () => import("../_chunks/en-CFA1lEXn.mjs") }), `./translations/${locale}.json`, 3);
|
|
212
|
-
return { data, locale };
|
|
213
|
-
} catch {
|
|
214
|
-
return { data: {}, locale };
|
|
215
|
-
}
|
|
216
|
-
})
|
|
217
|
-
);
|
|
218
|
-
}
|
|
219
|
-
};
|
|
1
|
+
import { i } from "../_chunks/index-CNdnmVNv.mjs";
|
|
220
2
|
export {
|
|
221
|
-
|
|
3
|
+
i as default
|
|
222
4
|
};
|
|
223
5
|
//# sourceMappingURL=index.mjs.map
|
package/dist/admin/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../admin/src/pluginId.ts","../../admin/src/components/Initializer.tsx","../../admin/src/permission.ts","../../admin/src/components/PurgeModal/PurgeButton/index.tsx","../../admin/src/components/PurgeModal/index.tsx","../../admin/src/components/PurgeCacheButton/index.tsx","../../admin/src/components/PurgeEntityButton/index.tsx","../../admin/src/index.ts"],"sourcesContent":["export const PLUGIN_ID = 'strapi-cache';\n","import { useEffect, useRef } from 'react';\n\nimport { PLUGIN_ID } from '../pluginId';\n\ntype InitializerProps = {\n setPlugin: (id: string) => void;\n};\n\nconst Initializer = ({ setPlugin }: InitializerProps) => {\n const ref = useRef(setPlugin);\n\n useEffect(() => {\n ref.current(PLUGIN_ID);\n }, []);\n\n return null;\n};\n\nexport { Initializer };\n","export const pluginPermissions = {\n purge: [{ action: 'plugin::strapi-cache.purge-cache', subject: null }],\n};\n","import { Button } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nfunction PurgeButton({ onClick }: { onClick: () => void }) {\n const formatMessage = useIntl().formatMessage;\n\n return (\n <Button onClick={onClick}>\n {formatMessage({\n id: 'strapi-cache.cache.confirm',\n defaultMessage: 'Yes, confirm',\n })}\n </Button>\n );\n}\n\nexport default PurgeButton;\n","import { useIntl } from 'react-intl';\nimport { Archive } from '@strapi/icons';\nimport { Button, Modal } from '@strapi/design-system';\nimport { useNotification, useRBAC } from '@strapi/strapi/admin';\nimport { pluginPermissions } from '../../permission';\nimport { Typography } from '@strapi/design-system';\nimport { useFetchClient } from '@strapi/strapi/admin';\nimport { useEffect, useState } from 'react';\nimport PurgeButton from './PurgeButton';\n\ntype Config = {\n cacheableRoutes: string[];\n disableAdminPopups: boolean;\n};\n\nexport type PurgeProps = {\n buttonText: string;\n buttonWidth?: string;\n keyToUse?: string;\n contentTypeName?: string;\n};\n\nfunction PurgeModal({ buttonText, keyToUse, buttonWidth, contentTypeName }: PurgeProps) {\n const { allowedActions } = useRBAC(pluginPermissions);\n const formatMessage = useIntl().formatMessage;\n const { post, get } = useFetchClient();\n const { toggleNotification } = useNotification();\n const [config, setConfig] = useState<Config>();\n\n useEffect(() => {\n if (!allowedActions.canPurgeCache) {\n return;\n }\n const fetchConfig = async () => {\n try {\n const { data } = await get('/strapi-cache/config');\n return data;\n } catch (error: any) {\n // only show error notification if its not a permissions error and popups are not disabled\n const isPermissionError =\n error?.response?.status === 403 || error?.response?.status === 401;\n if (!isPermissionError && !config?.disableAdminPopups) {\n toggleNotification({\n type: 'warning',\n message: formatMessage({\n id: 'strapi-cache.cache.routes.fetch-error',\n defaultMessage: 'Unable to fetch cache config. Cache purge may not work correctly.',\n }),\n });\n }\n return undefined;\n }\n };\n fetchConfig().then((data) => {\n setConfig(data);\n });\n }, [allowedActions.canPurgeCache]);\n\n const isCacheableRoute = () => {\n if (!keyToUse || !config) {\n return false;\n }\n\n const { cacheableRoutes } = config;\n return (\n cacheableRoutes.length === 0 ||\n cacheableRoutes.some((route) => {\n return route.includes(keyToUse) || (contentTypeName && route.includes(contentTypeName));\n })\n );\n };\n\n const clearCache = () => {\n if (!keyToUse && !config?.disableAdminPopups) {\n toggleNotification({\n type: 'warning',\n message: formatMessage({\n id: 'strapi-cache.cache.purge.no-content-type',\n defaultMessage: 'No content type found',\n }),\n });\n return;\n }\n\n post(`/strapi-cache/purge-cache/${keyToUse}`, undefined, {\n headers: {\n 'Content-Type': 'application/json',\n },\n })\n .then(() => {\n if (!config?.disableAdminPopups) {\n toggleNotification({\n type: 'success',\n message: formatMessage(\n {\n id: 'strapi-cache.cache.purge.success',\n defaultMessage: 'Cache purged successfully',\n },\n {\n key: `\"${keyToUse}\"`,\n }\n ),\n });\n }\n })\n .catch(() => {\n if (!config?.disableAdminPopups) {\n toggleNotification({\n type: 'danger',\n message: formatMessage(\n {\n id: 'strapi-cache.cache.purge.error',\n defaultMessage: 'Error purging cache',\n },\n {\n key: `\"${keyToUse}\"`,\n }\n ),\n });\n }\n });\n };\n\n if (!allowedActions.canPurgeCache || !isCacheableRoute()) {\n return null;\n }\n\n return (\n <Modal.Root>\n <Modal.Trigger>\n <Button width={buttonWidth} startIcon={<Archive />} variant=\"danger\">\n {buttonText}\n </Button>\n </Modal.Trigger>\n <Modal.Content>\n <Modal.Header>\n <Modal.Title>{buttonText}</Modal.Title>\n </Modal.Header>\n <Modal.Body>\n <Typography variant=\"omega\">\n {formatMessage(\n {\n id: 'strapi-cache.cache.purge.confirmation',\n defaultMessage: 'Are you sure you want to purge the cache?',\n },\n { key: `\"${keyToUse}\"` }\n )}\n </Typography>\n </Modal.Body>\n <Modal.Footer>\n <Modal.Close>\n <Button variant=\"tertiary\">\n {formatMessage({\n id: 'strapi-cache.cache.cancel',\n defaultMessage: 'No, cancel',\n })}\n </Button>\n </Modal.Close>\n <Modal.Close>\n <PurgeButton onClick={clearCache}></PurgeButton>\n </Modal.Close>\n </Modal.Footer>\n </Modal.Content>\n </Modal.Root>\n );\n}\n\nexport default PurgeModal;\n","import { unstable_useContentManagerContext as useContentManagerContext } from '@strapi/strapi/admin';\nimport PurgeModal from '../PurgeModal';\nimport { useIntl } from 'react-intl';\n\nfunction PurgeCacheButton() {\n const { contentType } = useContentManagerContext();\n const { formatMessage } = useIntl();\n const keyToUse = contentType?.info.pluralName;\n\n return (\n <PurgeModal\n buttonText={formatMessage({\n id: 'strapi-cache.cache.purge',\n defaultMessage: 'Purge Cache',\n })}\n keyToUse={keyToUse}\n ></PurgeModal>\n );\n}\n\nexport default PurgeCacheButton;\n","import { unstable_useContentManagerContext as useContentManagerContext } from '@strapi/strapi/admin';\nimport PurgeModal from '../PurgeModal';\nimport { useIntl } from 'react-intl';\n\nfunction PurgeEntityButton() {\n const { formatMessage } = useIntl();\n const { id, isSingleType, contentType } = useContentManagerContext();\n const apiPath = isSingleType ? contentType?.info.singularName : id;\n\n if (!apiPath) {\n return null;\n }\n\n const keyToUse = encodeURIComponent(apiPath);\n const contentTypeName = isSingleType\n ? contentType?.info.singularName\n : contentType?.info.pluralName;\n\n return (\n <PurgeModal\n buttonWidth=\"100%\"\n buttonText={formatMessage({\n id: 'strapi-cache.cache.purge.entity',\n defaultMessage: 'Purge Entity Cache',\n })}\n keyToUse={keyToUse}\n contentTypeName={contentTypeName}\n ></PurgeModal>\n );\n}\n\nexport default PurgeEntityButton;\n","import { PLUGIN_ID } from './pluginId';\nimport { Initializer } from './components/Initializer';\nimport PurgeCacheButton from './components/PurgeCacheButton';\nimport PurgeEntityButton from './components/PurgeEntityButton';\n\nexport default {\n register(app: any) {\n app.registerPlugin({\n id: PLUGIN_ID,\n initializer: Initializer,\n isReady: false,\n name: PLUGIN_ID,\n });\n\n app.getPlugin('content-manager').injectComponent('listView', 'actions', {\n name: PurgeCacheButton,\n Component: PurgeCacheButton,\n });\n\n app.getPlugin('content-manager').injectComponent('editView', 'right-links', {\n name: PurgeEntityButton,\n Component: PurgeEntityButton,\n });\n },\n\n async registerTrads({ locales }: { locales: string[] }) {\n return Promise.all(\n locales.map(async (locale) => {\n try {\n const { default: data } = await import(`./translations/${locale}.json`);\n\n return { data, locale };\n } catch {\n return { data: {}, locale };\n }\n })\n );\n },\n};\n"],"names":["useContentManagerContext"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type CacheConfig = {
|
|
2
|
+
cacheableRoutes: string[];
|
|
3
|
+
disableAdminPopups: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare const useCacheConfig: (enabled?: boolean) => {
|
|
6
|
+
config: CacheConfig | undefined;
|
|
7
|
+
isLoading: boolean;
|
|
8
|
+
error: Error | null;
|
|
9
|
+
refetch: () => void;
|
|
10
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { CacheConfig } from './useCacheConfig';
|
|
2
|
+
export declare const useCacheNotifications: (config?: CacheConfig) => {
|
|
3
|
+
showConfigFetchError: (error: Error) => void;
|
|
4
|
+
showPurgeSuccess: (key: string) => void;
|
|
5
|
+
showPurgeError: (key: string) => void;
|
|
6
|
+
showNoContentTypeWarning: () => void;
|
|
7
|
+
};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CacheConfig } from './useCacheConfig';
|
|
2
|
+
export type CacheOperationResult = {
|
|
3
|
+
success: boolean;
|
|
4
|
+
message?: string;
|
|
5
|
+
error?: Error;
|
|
6
|
+
};
|
|
7
|
+
export declare const useCacheOperations: () => {
|
|
8
|
+
isCacheableRoute: (keyToUse?: string, contentTypeName?: string, config?: CacheConfig) => boolean;
|
|
9
|
+
clearCache: (keyToUse?: string) => Promise<CacheOperationResult>;
|
|
10
|
+
};
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.6.0
|
|
2
|
+
"version": "1.6.0",
|
|
3
3
|
"keywords": [
|
|
4
4
|
"strapi cache",
|
|
5
5
|
"strapi rest cache",
|
|
@@ -37,12 +37,13 @@
|
|
|
37
37
|
"test": "vitest"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@strapi/design-system": "^2.0.
|
|
41
|
-
"@strapi/icons": "^2.0.
|
|
40
|
+
"@strapi/design-system": "^2.0.1",
|
|
41
|
+
"@strapi/icons": "^2.0.1",
|
|
42
42
|
"ioredis": "^5.6.1",
|
|
43
43
|
"lru-cache": "^11.1.0",
|
|
44
44
|
"raw-body": "^3.0.0",
|
|
45
|
-
"react-intl": "^7.1.10"
|
|
45
|
+
"react-intl": "^7.1.10",
|
|
46
|
+
"strapi-cache": "file:.yalc/strapi-cache"
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
|
48
49
|
"@strapi/sdk-plugin": "^5.3.2",
|
|
@@ -71,10 +72,10 @@
|
|
|
71
72
|
"kind": "plugin",
|
|
72
73
|
"name": "strapi-cache",
|
|
73
74
|
"displayName": "Strapi Cache",
|
|
74
|
-
"description": "
|
|
75
|
+
"description": "An LRU-Cache plugin for strapi v5"
|
|
75
76
|
},
|
|
76
77
|
"name": "strapi-cache",
|
|
77
|
-
"description": "
|
|
78
|
+
"description": "An LRU-Cache plugin for strapi v5",
|
|
78
79
|
"license": "MIT",
|
|
79
80
|
"author": "TupiC <christoph.tupi@gmail.com>",
|
|
80
81
|
"repository": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"de-Bw-yMVQV.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"de-OlWEMza0.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"en-3qeM6Pow.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"en-CFA1lEXn.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
|