115 Commits

Author SHA1 Message Date
Arthur Fiorette
286b2c0296
fix: rejected response deadlocks (#685) 2023-09-30 15:44:37 -03:00
Arthur Fiorette
dd8f634d75
feat: testing with tsx and c8 2023-09-30 14:57:22 -03:00
arthurfiorette
130ef0d306
fix: infinite loading states when a restart occurs in the middle of a request. (#612) 2023-09-03 18:53:26 -03:00
arthurfiorette
4dbfea2a03
fix: moved to native source map support 2023-09-03 16:00:43 -03:00
arthurfiorette
2cc948d531
feat: moved tests to node:test (#628) 2023-09-03 15:53:58 -03:00
José
e2b73e1c3a
fix: avoid RangeError: Maximum call stack size exceeded on streams and other objects (#616)
* refactor: change id generation location

* fix: lint

* refactor: ensures id will be created only if cache is not false

* chore(deps-dev): bump vitepress from 1.0.0-beta.5 to 1.0.0-beta.6 (#618)

* chore(deps-dev): bump @types/node from 18.16.19 to 18.17.0 (#617)

* chore(deps-dev): bump tslib from 2.6.0 to 2.6.1 (#619)

* chore(deps-dev): bump @types/node from 18.17.0 to 18.17.1 (#620)

* chore: dependabot

* ci: dependabot

* feat: handle non axios errors rejections (#609)

* fix: correct config re throw

* chore(deps-dev): bump eslint-config-prettier from 8.8.0 to 8.9.0 (#624)

* chore(deps-dev): bump jest from 29.6.1 to 29.6.2 (#622)

* feat: turn most types into interfaces (#615)

* Turn most types into interfaces

* Turn 'CacheAxiosResponse' into a interface

* Update docs

* Change docs to be more didactic

* chore(deps-dev): bump jest-environment-jsdom from 29.6.1 to 29.6.2 (#623)

* chore: removed unused eslint comment

* feat: handle errors on object-code

* feat: bring back ids

* chore: lint

---------

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Arthur Fiorette <arthur.fiorette@gmail.com>
Co-authored-by: Denis Rossati <denis.rossatiramos@gmail.com>
2023-07-30 03:39:36 -03:00
arthurfiorette
ddcac5f58f
fix: correct config re throw 2023-07-30 00:05:15 -03:00
arthurfiorette
929054e83f
feat: handle non axios errors rejections (#609) 2023-07-28 01:25:53 -03:00
Benjamin Hallion
6407cadb0f
feat: 'cloneData' option to buildMemoryStorage (#581)
* Add 'storeClone' option to buildMemoryStorage function

* fix lint issue

* fix lint issue

* add test for new storeClone option

* fix linter issue

* update comment

* update code according to review

* fix test

* Update src/storage/memory.ts

Add this comment to code coverage skip the structuredClone test

Co-authored-by: Arthur Fiorette <github@arthur.place>

* Update test/storage/memory.test.ts

Co-authored-by: Arthur Fiorette <github@arthur.place>

* fix test

* fix indent

* Update src/storage/memory.ts

* Update test/storage/memory.test.ts

* Update test/storage/memory.test.ts

* Update test/storage/memory.test.ts

* Update test/storage/memory.test.ts

* refactor: docs and more

---------

Co-authored-by: Arthur Fiorette <github@arthur.place>
Co-authored-by: arthurfiorette <arthur.fiorette@gmail.com>
2023-07-01 19:35:53 -03:00
arthurfiorette
c7dab4fa57
chore: updated dependencies 2023-06-09 13:22:44 -03:00
arthurfiorette
a5f071dbd9
style: formatted code 2023-06-09 13:14:47 -03:00
arthurfiorette
683dbe0f22
fix: support max-stale on header interpreter (#543) 2023-06-09 13:10:06 -03:00
arthurfiorette
82182bf7f8
fix: correct canStale checks (#543) 2023-06-09 13:10:06 -03:00
arthurfiorette
7e5ca7e68a
fix: correct lowercase test 2023-06-08 13:21:29 -03:00
arthurfiorette
ebd400bfa4
feat: max entries on memory storage #539 2023-05-25 13:14:11 -03:00
arthurfiorette
ee9a7deeae
fix: flaky network test and improved redis documentation 2023-05-25 12:23:35 -03:00
arthurfiorette
22870d7d72 fix: canStale should return false if Cache-Control: must-revalidate is present #507 2023-04-09 12:51:52 -03:00
arthurfiorette
9bb2918607 fix: lint again 2023-04-09 12:37:05 -03:00
arthurfiorette
a2dbb5f100 test: transform response test 2023-04-09 12:21:53 -03:00
arthurfiorette
7731d7e52b fix: lint 2023-04-09 12:09:28 -03:00
arthurfiorette
083f4b7f4d fix: test open handles 2023-03-27 19:31:42 -03:00
arthurfiorette
72de39c4d3 feat: memory storage cleanup 2023-03-19 19:30:19 -03:00
arthurfiorette
360ba57348 feat: handle response interceptor errors 2023-03-19 17:30:02 -03:00
Richard Garnier
2ae4d28878
fix: Support stale-while-revalidate (#514)
* implement stale-while-revalidate

* Backward compatibility

* Fix review comments

* chore: isExpired check comment

---------

Co-authored-by: Arthur Fiorette <github@arthur.place>
2023-03-19 16:54:24 -03:00
Guilherme Mazoni
ee8b6b36a1
feat: staleIfError using stale-if-error directive (#506)
* Fix #506

* fix fmt
2023-02-24 11:25:39 -03:00
arthurfiorette
384c6b59ee
feat: hydrate option #469 2023-02-17 12:09:00 -03:00
arthurfiorette
a5ebad3d14
fix: eslint warnings 2023-02-02 20:29:21 -03:00
arthurfiorette
eddff579c5
fix: axios headers 2023-02-02 20:14:46 -03:00
Dimitris-Rafail Katsampas
7ea3023e95
fix: prevent response storage calls if method is not supported (#464)
* fix: Prevent response storage calls if method is not supported

* fix: Added missing import

* chore: File formatting

* fix: Ensure updateCache gets called before method check

* chore: Removed unnecessary optional chaining

* fix: Added methods check for reject callback

* test: Added tests that cover cache.methods cases

* test: Added assertions to axios rejecting tests

* chore: Added more details to debugging logs
2023-01-18 08:33:28 -03:00
arthurfiorette
002e065695
fix: double registration check and interceptors tests 2023-01-04 09:15:27 -03:00
arthurfiorette
7d82c5a46f
feat: cache takeover #437 2022-12-25 16:56:25 -03:00
Dimitris-Rafail Katsampas
ee25b394da
chore: default prefix parameter for web storage (#425)
* chore: Added default prefix param for web storage

* chore: Minor default prefix correction

* test: add test

Co-authored-by: arthurfiorette <arthur.fiorette@gmail.com>
2022-12-11 19:00:32 -03:00
Arthur Fiorette
88c9655ba3
Axios cache interceptor v1 roadmap (#368)
* chore(deps-dev): bump axios from 0.27.2 to 1.0.0

Bumps [axios](https://github.com/axios/axios) from 0.27.2 to 1.0.0.
- [Release notes](https://github.com/axios/axios/releases)
- [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md)
- [Commits](https://github.com/axios/axios/compare/v0.27.2...v1.0.0)

---
updated-dependencies:
- dependency-name: axios
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* feat: initial changes

* feat: more docs

* docs: global config

* feat: comparison

* chore: more docs

* docs: migrate docs generator to vitepress (#403)

* chore(vitepress): add basic files

* chore(vitepress): add dev deps & scripts for use

* chore(vitepress config): change to ts for type checks

* chore(vitepress config): remove js file

* chore(vitepress theme): add custom theme css

* chore(vitepress docs): add simple home page

* chore(gitignore): ignore doc dist

* chore(favicon): add icon to head

* feat(doc-features): add features spotlight

* chore(doc footer): made with ❤️

* chore(structure): move md files into `./src`

* chore(config): re-organise

* chore: custom dev port

* feat: documentation pages

* refactor: modified config

* feat: social links

* style: formatted code

* feat: removed code groups temporarily

* fix: fixed bundlephobia svg

* docs: general documentation remake

* docs: more rewritting

Co-authored-by: arthurfiorette <arthur.fiorette@gmail.com>

* fix: change headers usage

* fix: adapters exporting changes

* fix: request doesnt execute after abortion

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Cain <75994858+cainthebest@users.noreply.github.com>
2022-12-05 22:36:31 -03:00
arthurfiorette
491fb011a3
test: added #317 test 2022-08-17 23:03:22 -03:00
dependabot[bot]
ed17fa2683
chore(deps-dev): bump prettier-plugin-organize-imports from 3.0.0 to 3.0.1 (#310)
* chore(deps-dev): bump prettier-plugin-organize-imports

Bumps [prettier-plugin-organize-imports](https://github.com/simonhaenisch/prettier-plugin-organize-imports) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/simonhaenisch/prettier-plugin-organize-imports/releases)
- [Commits](https://github.com/simonhaenisch/prettier-plugin-organize-imports/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: prettier-plugin-organize-imports
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: increase maximum test time

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: arthurfiorette <arthur.fiorette@gmail.com>
2022-08-02 09:25:05 -03:00
Arthur Fiorette
f0cd5d1af2
feat: cache updater function for multiple keys. (#304)
* feat: implemented general cache updater function

* test: added tests

* docs: included cache update warning
2022-07-28 23:00:37 -03:00
Arthur Fiorette
cf97535d33
fix: cache update not being executed correctly (#283)
* test: added flaky test

* fix: fixed flaky test

* style: formatted code
2022-06-29 22:04:28 -03:00
arthurfiorette
268fccb935
feat: override cache option 2022-06-05 11:26:00 -03:00
arthurfiorette
d87307ae93
feat: remove remnant x-axios-headers from server response 2022-06-05 09:50:02 -03:00
dependabot[bot]
ce5900b23c
chore(deps-dev): bump @types/jest from 27.5.1 to 28.1.0 (#252) 2022-06-03 03:30:12 +00:00
Heiko Rothkranz
728b69d71a
fix: Interpret max-age=0 as a valid cache-control header (#253)
* fix: Interpret `max-age=0` as a valid `cache-control` header

* tests: added max-age=0 test

* fix: fixed linting

Co-authored-by: arthurfiorette <arthur.fiorette@gmail.com>
2022-06-02 21:57:51 -03:00
arthurfiorette
f4f4be1cd2
chore(deps): update jest to 28 2022-05-07 15:37:52 -03:00
Arthur Fiorette
17682ca0b9
Pass currentRequest on each access to storages (#220) (#226)
* feat: initial working code

* fix: better usage of currentRequest on storages

* feat: added tests
2022-05-01 10:03:30 -03:00
arthurfiorette
0a00778065
fix: fixed bug when a pending request had it cached empty (#165) 2022-03-24 19:03:40 -03:00
arthurfiorette
a0e05e8d30
tests: fixed memory storage clone test 2022-03-11 17:14:40 -03:00
Arthur Fiorette
f699e194f8
fix: memory storage copy data to avoid reference changes (#164)
* tests: added initial unit test

* fix: added fix

* tests: fixed tests

* style: formatted code
2022-03-11 13:29:13 -03:00
arthurfiorette
ab45164287
fix: defaultKeyGenerator keeps response unchanged (#161) 2022-03-03 18:50:43 -03:00
Christos Kopanos
6db89530c1
feat: handle web storage DOMExceptions (#148) 2022-02-21 14:10:32 -03:00
arthurfiorette
ea4ab4c4eb
refactor: added ACI prefix to avoid external conflicts 2022-01-23 16:18:00 -03:00
arthurfiorette
0ba6025fb5
feat: debug mode & fixed tests 2022-01-23 16:13:22 -03:00