Pre-compile HAR schema for validation
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Anfängerfreundlichkeit
- 35/100
- Issue-Typ
- Feature
- Klarheit
- Größtenteils klar
- Aktivitätsstatus
- Veraltet
- Tech-Stack
- typescript
- Bereich
- build-system, security
Rechercherichtung
Beginne mit src/helpers/har-validator.ts und untersuche, wie das enthaltene HAR-Schema derzeit validiert wird. Lies die Anleitung von Ajv CLI zu compile-schemas und die Build-Konfiguration des Repositorys, um zu ermitteln, wo generierter Validierungscode hingehört. Als erledigt gilt die Aufgabe, wenn die Validierung zur Laufzeit weder Ajv noch unsafe-eval erfordert, Ajv nur eine optionale Entwicklungsabhängigkeit ist und die bestehenden Validierungstests bestehen.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Ajv is currently used in httpsnippet for validating the HAR schema passed. Using complete Ajv dependency makes httpsnippet require 'unsafe-eval in the CSP policy, which is a security concern. (https://github.com/ajv-validator/ajv/blob/c3e203c2696e42ec107fe6a5a659fca54b2e4993/docs/security.md#content-security-policy).
As a workaround, since the schema for HAR is known (and already included), it can be pre-compiled into a validation function as part of the build. The Ajv Docs have details on the same.
This would move Ajv from a runtime dependency to a optional developer-dependency (as Ajv-cli) - only needed when har-schema is updated. This would bring a lot more benefits, including performance and bundle size improvements.
This request comes via the Stoplight Elements project, which uses httpsnippet internally. Since httpsnippet doesn't offer a way to pre-compile schemas, this ends up breaking Elements in configurations which limit unsafe-eval via CSP.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 1.2k
- Forks
- 242
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beitragsleitfaden
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus Kong/httpsnippet
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 62/100
Kong/httpsnippet#356 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
Kong/httpsnippet#389 ·
-
Support for Oracle APEX Offen
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
Kong/httpsnippet#383 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 35/100
Kong/httpsnippet#379 ·
-
Schwierigkeit 3/5 1-2 Tage Anfängerfreundlichkeit 48/100
Kong/httpsnippet#370 ·
Alle Issues in Kong/httpsnippet
Ähnliche Issues
-
Browser Waiting for: Product Owner
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 85/100
getsentry/sentry-javascript#24577 · 1 Kommentar ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
agilepathway/label-checker#640 ·
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
copse-dev/agent-pane#2953 ·
-
[aw] Upgrade available Offenagentic-workflows
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 85/100
githubnext/rig#534 ·
-
automation missing-model model-sync provider:pioneer
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
anomalyco/models.dev#7701 ·