Skip to content

Commit

Permalink
Merge branch 'dev' of github.com:msqd/harp into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
hartym committed Feb 15, 2024
2 parents 0e95d7e + ac07de3 commit 0fffbfa
Show file tree
Hide file tree
Showing 109 changed files with 10,556 additions and 1,491 deletions.
1 change: 1 addition & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ repos:
rev: v3.2.0
hooks:
- id: trailing-whitespace
exclude: '\.tsx\.snap$'
- id: end-of-file-fixer
- id: check-yaml
exclude: misc
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,10 @@ test-ui-build: install-ui
cd vendors/mkui; pnpm build

test-ui: test-ui-build
cd vendors/mkui; pnpm test:prod
cd vendors/mkui; pnpm test

test-ui-update: test-ui-build
cd vendors/mkui; pnpm test:update
cd vendors/mkui; pnpm test:visual:update

########################################################################################################################
# Benchmarks
Expand Down
23 changes: 15 additions & 8 deletions README.rst
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
HARP – Harp, an API Runtime Proxy
=================================

HARP is a sidecar proxy service raising reliability, performances, security and observability of your application's
external API usage. It can be seen as a revers API gateway, or a nearline service mesh for external API.
HARP is a powerful sidecar proxy service designed to elevate the reliability, performance, security, and observability
of your application's external API interactions. Think of it as a reverse API gateway or a nearline service mesh for
external APIs.

.. image:: docs/images/how-it-works.png

* It integrates with your application in a few minutes: run it, change your API endpoints and you're good to go.
* As a nearline proxy, the network distance between your application and external services is lowered to the minimum.
* Caching, monitoring, alerting, rate limiting, circuit breaking, retries, tracing, logging, etc. can be delegated to
the proxy, greatly reducing the amount of (hard) code you need to write.
* It speak HTTP, so the integration (or removal) cost is barely 0 (or negative, if you consider all code you won't need
to write).
* Easy Integration: With HARP, integrating with your application is a breeze. Simply run the proxy, update your API
endpoints, and you're ready to go. No complex setup or extensive configuration required.
* Reduced Network Distance: As a nearline proxy, HARP minimizes the network distance between your application and
external services. This optimization leads to faster response times and improved overall performance.
* Simplified Development: HARP eliminates the need for writing extensive code for functionalities such as caching,
monitoring, alerting, rate limiting, circuit breaking, retries, tracing, logging, and more. These features can be
easily delegated to the proxy, reducing the amount of code you need to write and maintain.
* Seamless HTTP Integration: HARP seamlessly integrates with your application using the HTTP protocol. This means
that the integration or removal cost is virtually zero, or even negative when considering the reduction in code you
won't need to write.

`Read the documentation <https://msqd.github.io/harp/>`_
1 change: 1 addition & 0 deletions frontend/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -22,3 +22,4 @@ dist-ssr
*.njsproj
*.sln
*.sw?
src/tests/coverage
33 changes: 18 additions & 15 deletions frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,8 @@
"lint": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"lint:fix": "eslint src --ext ts,tsx --report-unused-disable-directives --max-warnings 0 --fix",
"preview": "vite preview",
"test": "echo soon tm"
},
"babel": {
"plugins": [
"recharts"
]
"test": "vitest run",
"test:coverage": "vitest run --coverage"
},
"babelMacros": {
"twin": {
Expand All @@ -26,12 +22,12 @@
"@emotion/styled": "^11.11.0",
"@headlessui/react": "1.7.17",
"@heroicons/react": "^2.1.1",
"@sentry/browser": "^7.99.0",
"@sentry/browser": "^7.101.0",
"@tailwindcss/forms": "^0.5.7",
"date-fns": "^3.3.1",
"http-status-codes": "^2.3.0",
"localforage": "^1.10.0",
"match-sorter": "^6.3.3",
"match-sorter": "^6.3.4",
"mkui": "link:../vendors/mkui",
"prismjs": "^1.29.0",
"prop-types": "^15.8.1",
Expand All @@ -40,23 +36,26 @@
"react-error-boundary": "^4.0.12",
"react-is": "18.2.0",
"react-query": "^3.39.3",
"react-router-dom": "^6.21.3",
"react-router-dom": "^6.22.0",
"react-syntax-highlighter": "^15.5.0",
"recharts": "^2.11.0",
"recharts": "^2.12.0",
"sort-by": "^1.2.0",
"url-join": "^5.0.0"
},
"devDependencies": {
"@babel/plugin-transform-react-jsx": "^7.23.4",
"@emotion/babel-plugin-jsx-pragmatic": "^0.2.1",
"@types/node": "^20.11.14",
"@testing-library/jest-dom": "^6.4.2",
"@testing-library/react": "^14.2.1",
"@types/node": "^20.11.17",
"@types/prismjs": "^1.26.3",
"@types/react": "^18.2.45",
"@types/react-dom": "^18.2.18",
"@types/react-syntax-highlighter": "^15.5.11",
"@typescript-eslint/eslint-plugin": "^6.20.0",
"@typescript-eslint/parser": "^6.20.0",
"@typescript-eslint/eslint-plugin": "^6.21.0",
"@typescript-eslint/parser": "^6.21.0",
"@vitejs/plugin-react": "^4.2.1",
"@vitest/coverage-v8": "^1.2.2",
"autoprefixer": "^10.4.16",
"babel-plugin-macros": "^3.1.0",
"babel-plugin-prismjs": "^2.1.0",
Expand All @@ -68,16 +67,20 @@
"eslint-plugin-import": "^2.29.1",
"eslint-plugin-json": "^3.1.0",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-react-hooks": "^4.6.0",
"eslint-plugin-react-refresh": "^0.4.5",
"jsdom": "^24.0.0",
"json-schema-to-typescript": "^13.1.2",
"msw": "^2.1.7",
"postcss": "^8.4.32",
"prettier": "^3.1.1",
"react-test-renderer": "^18.2.0",
"resize-observer-polyfill": "^1.5.1",
"rollup-plugin-visualizer": "^5.12.0",
"tailwindcss": "^3.4.1",
"twin.macro": "^3.4.1",
"typescript": "^5.3.3",
"vite": "^5.0.10",
"vite-tsconfig-paths": "^4.3.1"
"vite-tsconfig-paths": "^4.3.1",
"vitest": "^1.2.2"
}
}
Loading

0 comments on commit 0fffbfa

Please sign in to comment.