Eop card browser/m2 eop deck browsing#3181
Draft
ayman-art wants to merge 11 commits into
Draft
Conversation
…as in source files
…witch as a default card
…d its children ([version]/[lang])
Contributor
There was a problem hiding this comment.
Pull request overview
This PR adds support for browsing and rendering the “Elevation of Privilege” (EoP) deck in the SvelteKit website (new edition constant, deck loading, UI toggles, taxonomy/mapping rendering, and i18n strings).
Changes:
- Add
VERSION_EOPand wire EoP (eop,5.0) into deck/suit loading and existing browsing routes. - Extend card-code validation lists and update ordering/color mappings for new EoP suits/cards.
- Introduce EoP-specific UI components (taxonomy + mapping) and extend tests to cover the new deck.
Reviewed changes
Copilot reviewed 21 out of 21 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| cornucopia.owasp.org/src/routes/edition/[edition]/+page.svelte | Adds EoP as a selectable edition and renders its description/suits. |
| cornucopia.owasp.org/src/routes/edition/[edition]/[card]/+page.svelte | Extends allowed card IDs to include EoP codes and labels edition name for eop. |
| cornucopia.owasp.org/src/routes/edition/[edition]/[card]/[version]/+page.svelte | Extends allowed card IDs to include EoP codes and labels edition name for eop. |
| cornucopia.owasp.org/src/routes/edition/[edition]/[card]/[version]/[lang]/+page.svelte | Extends allowed card IDs to include EoP codes and labels edition name for eop. |
| cornucopia.owasp.org/src/routes/cards/+page.svelte | Adds EoP suits to the cards browser UI, preview selection, and noscript output. |
| cornucopia.owasp.org/src/routes/cards/+page.server.ts | Loads EoP deck cards server-side and merges into the deck map. |
| cornucopia.owasp.org/src/routes/cards/[card]/+page.svelte | Extends allowed card IDs to include EoP codes and labels edition name for eop. |
| cornucopia.owasp.org/src/routes/cards/[card]/+page.server.ts | Loads EoP deck cards server-side for per-card pages. |
| cornucopia.owasp.org/src/lib/services/decService.integration.test.ts | Updates integration expectations for EoP deck presence and total card counts. |
| cornucopia.owasp.org/src/lib/services/deckServiceConsts.ts | Adds VERSION_EOP. |
| cornucopia.owasp.org/src/lib/services/deckService.ts | Registers EoP deck metadata (latest + available decks). |
| cornucopia.owasp.org/src/lib/services/deckService.test.ts | Adds unit tests for EoP edition/version/language and adjusts deck counts. |
| cornucopia.owasp.org/src/lib/components/eopCardTaxonomy.svelte | New: taxonomy display for EoP cards (mappings + attacks). |
| cornucopia.owasp.org/src/lib/components/eopCardMapping.svelte | New: compact STRIDE mapping renderer for EoP cards in previews. |
| cornucopia.owasp.org/src/lib/components/cardPreview.svelte | Refactors mapping rendering to support EoP mapping component. |
| cornucopia.owasp.org/src/lib/components/cardFound.svelte | Refactors taxonomy rendering to support EoP taxonomy component. |
| cornucopia.owasp.org/src/domain/suit/suitController.ts | Adds EoP deck/language metadata for suit discovery. |
| cornucopia.owasp.org/src/domain/suit/order.ts | Adds suit ordering for STRIDE suit names. |
| cornucopia.owasp.org/src/domain/card/order.ts | Adds per-suit ordering for EoP card IDs. |
| cornucopia.owasp.org/src/domain/card/cardColor.ts | Adds color keys for STRIDE suit names. |
| cornucopia.owasp.org/data/website/phrases/en/cards.json | Adds EoP copy + i18n keys for button/heading and EoP taxonomy headings. |
Comment on lines
+69
to
71
| {#if MappingComponent} | ||
| <MappingComponent {mapping} {style}></MappingComponent> | ||
| {/if} |
Comment on lines
+87
to
89
| {#if Taxonomy} | ||
| <Taxonomy {card} {mappingData} {routes} {capecData} {asvsVersion}></Taxonomy> | ||
| {/if} |
Collaborator
|
You have the card texts, and the cards are browsable. No styling is applied, but I guess that is what you are working on next? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
A clear and concise summary of the change and which issue (if any) it fixes. Should also include relevant motivation and context.
Resolved or fixed issue:
AI Tool Disclosure
[e.g. GitHub CoPilot, ChatGPT, JetBrains Junie etc.][e.g. GPT-4.1, Claude Haiku 4.5, Gemini 2.5 Pro etc.][Summarize the key prompts or instructions given to the AI tools]Affirmation