[{"data":1,"prerenderedAt":666},["ShallowReactive",2],{"navigation":3,"docs:\u002Feos\u002Fadrs\u002F0003-use-oxc-for-linting-and-formatting":214,"external-navigation":437},[4,8,201],{"title":5,"path":6,"stem":7},"Documentation","\u002F","README",{"title":9,"path":10,"stem":11,"children":12},"EOS","\u002Feos","eos\u002FREADME",[13,44,121,181],{"title":14,"collapsed":15,"path":16,"stem":17,"children":18,"page":43},"Adrs",true,"\u002Feos\u002Fadrs","eos\u002Fadrs",[19,23,27,31,35,39],{"title":20,"path":21,"stem":22},"Use Turborepo for the EOS monorepo","\u002Feos\u002Fadrs\u002F0001-use-turborepo-for-eos","eos\u002Fadrs\u002F0001-use-turborepo-for-eos",{"title":24,"path":25,"stem":26},"Use Oxc for linting and formatting","\u002Feos\u002Fadrs\u002F0003-use-oxc-for-linting-and-formatting","eos\u002Fadrs\u002F0003-use-oxc-for-linting-and-formatting",{"title":28,"path":29,"stem":30},"Lint Markdown and validate links in CI","\u002Feos\u002Fadrs\u002F0004-lint-markdown-in-ci","eos\u002Fadrs\u002F0004-lint-markdown-in-ci",{"title":32,"path":33,"stem":34},"Use Lefthook for repository-managed Git hooks","\u002Feos\u002Fadrs\u002F0005-use-lefthook-for-repository-git-hooks","eos\u002Fadrs\u002F0005-use-lefthook-for-repository-git-hooks",{"title":36,"path":37,"stem":38},"Use Commitlint's conventional configuration","\u002Feos\u002Fadrs\u002F0006-use-commitlint-conventional-configuration","eos\u002Fadrs\u002F0006-use-commitlint-conventional-configuration",{"title":40,"path":41,"stem":42},"Use Nx for EOS task execution","\u002Feos\u002Fadrs\u002F0007-use-nx-for-eos","eos\u002Fadrs\u002F0007-use-nx-for-eos",false,{"title":45,"path":46,"stem":47,"children":48},"Harbourmaster","\u002Feos\u002Fharbourmaster","eos\u002Fharbourmaster\u002FREADME",[49,58,71,96],{"title":50,"path":51,"stem":52,"children":53,"page":43},"Decisions","\u002Feos\u002Fharbourmaster\u002Fdecisions","eos\u002Fharbourmaster\u002Fdecisions",[54],{"title":55,"path":56,"stem":57},"AI-50: GitHub auth and fork pull request policy","\u002Feos\u002Fharbourmaster\u002Fdecisions\u002Fai-50-auth-and-fork-policy","eos\u002Fharbourmaster\u002Fdecisions\u002Fai-50-auth-and-fork-policy",{"title":59,"path":60,"stem":61,"children":62,"page":43},"Explanation","\u002Feos\u002Fharbourmaster\u002Fexplanation","eos\u002Fharbourmaster\u002Fexplanation",[63,67],{"title":64,"path":65,"stem":66},"The Harbourmaster review pipeline","\u002Feos\u002Fharbourmaster\u002Fexplanation\u002Freview-pipeline","eos\u002Fharbourmaster\u002Fexplanation\u002Freview-pipeline",{"title":68,"path":69,"stem":70},"The Harbourmaster shared-action trust boundary","\u002Feos\u002Fharbourmaster\u002Fexplanation\u002Fshared-action-trust-boundary","eos\u002Fharbourmaster\u002Fexplanation\u002Fshared-action-trust-boundary",{"title":72,"path":73,"stem":74,"children":75,"page":43},"How To","\u002Feos\u002Fharbourmaster\u002Fhow-to","eos\u002Fharbourmaster\u002Fhow-to",[76,80,84,88,92],{"title":77,"path":78,"stem":79},"How to add Harbourmaster reviews to a repository","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Fadd-harbourmaster-to-a-repository","eos\u002Fharbourmaster\u002Fhow-to\u002Fadd-harbourmaster-to-a-repository",{"title":81,"path":82,"stem":83},"How to build a pilot dashboard","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Fbuild-pilot-dashboard","eos\u002Fharbourmaster\u002Fhow-to\u002Fbuild-pilot-dashboard",{"title":85,"path":86,"stem":87},"How to configure model routing","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Fconfigure-model-routing","eos\u002Fharbourmaster\u002Fhow-to\u002Fconfigure-model-routing",{"title":89,"path":90,"stem":91},"How to request a Harbourmaster review","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Frequest-a-review","eos\u002Fharbourmaster\u002Fhow-to\u002Frequest-a-review",{"title":93,"path":94,"stem":95},"How to diagnose a Harbourmaster review failure","\u002Feos\u002Fharbourmaster\u002Fhow-to\u002Ftroubleshoot-a-review","eos\u002Fharbourmaster\u002Fhow-to\u002Ftroubleshoot-a-review",{"title":97,"path":98,"stem":99,"children":100,"page":43},"Reference","\u002Feos\u002Fharbourmaster\u002Freference","eos\u002Fharbourmaster\u002Freference",[101,105,109,113,117],{"title":102,"path":103,"stem":104},"Harbourmaster command-line interface","\u002Feos\u002Fharbourmaster\u002Freference\u002Fcli","eos\u002Fharbourmaster\u002Freference\u002Fcli",{"title":106,"path":107,"stem":108},"Harbourmaster configuration","\u002Feos\u002Fharbourmaster\u002Freference\u002Fconfiguration","eos\u002Fharbourmaster\u002Freference\u002Fconfiguration",{"title":110,"path":111,"stem":112},"Harbourmaster GitHub Action","\u002Feos\u002Fharbourmaster\u002Freference\u002Fgithub-action","eos\u002Fharbourmaster\u002Freference\u002Fgithub-action",{"title":114,"path":115,"stem":116},"Harbourmaster review behavior","\u002Feos\u002Fharbourmaster\u002Freference\u002Freview-behavior","eos\u002Fharbourmaster\u002Freference\u002Freview-behavior",{"title":118,"path":119,"stem":120},"Harbourmaster telemetry","\u002Feos\u002Fharbourmaster\u002Freference\u002Ftelemetry","eos\u002Fharbourmaster\u002Freference\u002Ftelemetry",{"title":72,"path":122,"stem":123,"children":124,"page":43},"\u002Feos\u002Fhow-to","eos\u002Fhow-to",[125,129,133,137,141,145,149,153,157,161,165,169,173,177],{"title":126,"path":127,"stem":128},"How to add an external documentation source","\u002Feos\u002Fhow-to\u002Fadd-external-documentation-source","eos\u002Fhow-to\u002Fadd-external-documentation-source",{"title":130,"path":131,"stem":132},"How to connect SDLC integrations","\u002Feos\u002Fhow-to\u002Fconnect-sdlc-integrations","eos\u002Fhow-to\u002Fconnect-sdlc-integrations",{"title":134,"path":135,"stem":136},"How to consume the EOS plugin marketplace","\u002Feos\u002Fhow-to\u002Fconsume-eos-marketplace","eos\u002Fhow-to\u002Fconsume-eos-marketplace",{"title":138,"path":139,"stem":140},"How to create a spike ticket","\u002Feos\u002Fhow-to\u002Fcreate-spike-ticket","eos\u002Fhow-to\u002Fcreate-spike-ticket",{"title":142,"path":143,"stem":144},"How to finalise a repository change","\u002Feos\u002Fhow-to\u002Ffinalise-change","eos\u002Fhow-to\u002Ffinalise-change",{"title":146,"path":147,"stem":148},"How to install the EOS Docs MCP server","\u002Feos\u002Fhow-to\u002Finstall-eos-docs-mcp","eos\u002Fhow-to\u002Finstall-eos-docs-mcp",{"title":150,"path":151,"stem":152},"How to resolve a spike ticket","\u002Feos\u002Fhow-to\u002Fresolve-spike-ticket","eos\u002Fhow-to\u002Fresolve-spike-ticket",{"title":154,"path":155,"stem":156},"How to run Git hook checks","\u002Feos\u002Fhow-to\u002Frun-git-hook-checks","eos\u002Fhow-to\u002Frun-git-hook-checks",{"title":158,"path":159,"stem":160},"How to use the AI-enabled SDLC","\u002Feos\u002Fhow-to\u002Fuse-ai-enabled-sdlc","eos\u002Fhow-to\u002Fuse-ai-enabled-sdlc",{"title":162,"path":163,"stem":164},"Use the Aikido plugin","\u002Feos\u002Fhow-to\u002Fuse-aikido-plugin","eos\u002Fhow-to\u002Fuse-aikido-plugin",{"title":166,"path":167,"stem":168},"How to use Compass","\u002Feos\u002Fhow-to\u002Fuse-compass","eos\u002Fhow-to\u002Fuse-compass",{"title":170,"path":171,"stem":172},"How to use Fallow","\u002Feos\u002Fhow-to\u002Fuse-fallow","eos\u002Fhow-to\u002Fuse-fallow",{"title":174,"path":175,"stem":176},"How to use incremental mutation tests","\u002Feos\u002Fhow-to\u002Fuse-incremental-mutation-tests","eos\u002Fhow-to\u002Fuse-incremental-mutation-tests",{"title":178,"path":179,"stem":180},"How to use Scout","\u002Feos\u002Fhow-to\u002Fuse-scout","eos\u002Fhow-to\u002Fuse-scout",{"title":97,"path":182,"stem":183,"children":184,"page":43},"\u002Feos\u002Freference","eos\u002Freference",[185,189,193,197],{"title":186,"path":187,"stem":188},"Compass CLI","\u002Feos\u002Freference\u002Fcompass-cli","eos\u002Freference\u002Fcompass-cli",{"title":190,"path":191,"stem":192},"EOS marketplace skills","\u002Feos\u002Freference\u002Fmarketplace-skills","eos\u002Freference\u002Fmarketplace-skills",{"title":194,"path":195,"stem":196},"Nx task execution and cache","\u002Feos\u002Freference\u002Fnx-task-execution","eos\u002Freference\u002Fnx-task-execution",{"title":198,"path":199,"stem":200},"Scout CLI","\u002Feos\u002Freference\u002Fscout-cli","eos\u002Freference\u002Fscout-cli",{"title":202,"path":203,"stem":204,"children":205},"Product engineering","\u002Fproduct-engineering","product-engineering\u002FREADME",[206],{"title":14,"collapsed":15,"path":207,"stem":208,"children":209,"page":43},"\u002Fproduct-engineering\u002Fadrs","product-engineering\u002Fadrs",[210],{"title":211,"path":212,"stem":213},"Codify Engineering Standards as Skills","\u002Fproduct-engineering\u002Fadrs\u002F0002-codify-engineering-standards-as-skills","product-engineering\u002Fadrs\u002F0002-codify-engineering-standards-as-skills",{"page":215,"surround":434},{"id":216,"title":24,"body":217,"config":429,"description":223,"extension":430,"meta":431,"navigation":15,"path":25,"seo":432,"stem":26,"__hash__":433},"docs\u002Feos\u002Fadrs\u002F0003-use-oxc-for-linting-and-formatting.md",{"type":218,"value":219,"toc":410},"minimark",[220,224,227,232,235,239,242,245,248,251,255,283,287,292,295,298,301,305,308,311,315,318,321,325,337,340,343,347,351,371,375,392,396],[221,222,223],"p",{},"Date: 2026-07-13",[221,225,226],{},"Author: Jason Tame",[228,229,231],"h2",{"id":230},"status","Status",[221,233,234],{},"Accepted",[228,236,238],{"id":237},"context","Context",[221,240,241],{},"EOS is expected to expand significantly as it becomes the home for shared\nengineering tooling, standards, skills, and applications. As the number of\npackages\u002Fapps and contributors grow, linting and formatting must remain fast\nenough to provide useful feedback locally and in CI without becoming a\nbottleneck.",[221,243,244],{},"Tillo's frontend applications rely on Vue, Nuxt, and Vite. Tooling used by EOS\nshould fit that wider ecosystem where practical, while remaining suitable for\ngeneral JavaScript and TypeScript packages. Oxc is part of the broader VoidZero\ntoolchain that also powers Rolldown, the bundler used by modern Vite. Its tools\nshare compiler infrastructure for parsing, linting, formatting, transformation,\nmodule resolution, and minification.",[221,246,247],{},"Linting and formatting are separate concerns, but they operate on the same\nsource code and are commonly run together during development and CI. A coherent\ntoolchain can reduce duplicated configuration, dependencies, and maintenance\ncompared with assembling unrelated tools and plugins.",[221,249,250],{},"Oxc is newer than the established alternatives. Some capabilities remain\nincomplete or less mature, particularly for framework-specific syntax. For\nexample, Oxlint can inspect script blocks in Vue single-file components but does\nnot currently lint their template sections.",[228,252,254],{"id":253},"decision-drivers","Decision Drivers",[256,257,258,262,265,268,271,274,277,280],"ul",{},[259,260,261],"li",{},"Fast local and CI feedback as the monorepo grows.",[259,263,264],{},"Efficient parallel execution across Turborepo packages.",[259,266,267],{},"A coherent linting and formatting toolchain with shared foundations.",[259,269,270],{},"Strong JavaScript and TypeScript support with sensible defaults.",[259,272,273],{},"Alignment with Tillo's Vue, Nuxt, and Vite ecosystem.",[259,275,276],{},"Fewer third-party plugins and configuration packages to maintain.",[259,278,279],{},"A credible long-term roadmap covering more of the TypeScript toolchain.",[259,281,282],{},"The ability to revisit the choice if framework support or project maturity\nbecomes a constraint.",[228,284,286],{"id":285},"considered-options","Considered Options",[288,289,291],"h3",{"id":290},"oxc-with-oxlint-and-oxfmt","Oxc with Oxlint and Oxfmt",[221,293,294],{},"Oxlint and Oxfmt are high-performance Rust-based tools within the Oxc toolchain.\nThey share compiler infrastructure with Oxc's parser, transformer, resolver, and\nminifier. This provides a more integrated foundation than combining\nindependently developed linting and formatting tools.",[221,296,297],{},"Oxc is closely aligned with the direction of the Vite ecosystem through VoidZero\nand Rolldown. This makes it a good strategic fit for Tillo's existing use of\nVue, Nuxt, and Vite, while still supporting the TypeScript packages currently\nheld in EOS.",[221,299,300],{},"The main trade-off is maturity. Oxfmt and some broader Oxc capabilities are\nstill evolving, and Oxlint's framework-specific analysis does not yet cover all\nVue template syntax.",[288,302,304],{"id":303},"eslint-and-prettier","ESLint and Prettier",[221,306,307],{},"ESLint and Prettier are mature, widely adopted, and supported by extensive\necosystems. They would provide broad editor integration, framework support, and\nestablished migration paths.",[221,309,310],{},"They are separate tools with separate configuration and plugin ecosystems.\nAchieving the desired TypeScript and framework behavior commonly requires\nadditional plugins and shared configurations, increasing dependency count and\nexposing the repository to uneven third-party maintenance. Their performance is\nalso less attractive for the scale EOS is expected to reach.",[288,312,314],{"id":313},"biome","Biome",[221,316,317],{},"Biome provides an integrated, high-performance linter and formatter with a\nstrong developer experience. It would have met the repository's immediate\nlinting and formatting requirements and would have been a sound choice.",[221,319,320],{},"Oxc was preferred because its broader toolchain includes shared parsing,\ntransformation, resolution, and minification infrastructure, with further\ncapabilities under active development. This gives Oxc greater potential to\nconsolidate more of the TypeScript toolchain over time and makes it the stronger\nlong-term strategic fit for EOS.",[228,322,324],{"id":323},"decision-outcome","Decision Outcome",[221,326,327,328,332,333,336],{},"EOS will use ",[329,330,331],"strong",{},"Oxlint"," for linting and ",[329,334,335],{},"Oxfmt"," for formatting as part of the\nOxc toolchain.",[221,338,339],{},"Both tools will be installed as shared development dependencies at the monorepo\nroot. Individual packages will expose linting and formatting scripts, and\nTurborepo will coordinate those tasks across the workspace. CI will run lint and\nformat checks independently from build, typecheck, and test jobs.",[221,341,342],{},"The initial configuration will remain close to the Oxc defaults. Rules and\nformatting options should be added only when they represent a deliberate\nrepository standard. Framework-specific gaps may be covered by narrowly scoped\nadditional tooling where necessary rather than replacing the whole toolchain\nimmediately.",[228,344,346],{"id":345},"consequences","Consequences",[288,348,350],{"id":349},"positive","Positive",[256,352,353,356,359,362,365,368],{},[259,354,355],{},"Linting and formatting should remain fast as the number and size of packages\ngrows.",[259,357,358],{},"Shared Oxc infrastructure provides greater coherence between source-analysis\ntools.",[259,360,361],{},"The repository needs fewer third-party plugins and configuration packages.",[259,363,364],{},"Oxlint and Oxfmt integrate cleanly with package-level Turborepo tasks.",[259,366,367],{},"The tooling aligns with the broader direction of Tillo's Vue, Nuxt, and Vite\necosystem.",[259,369,370],{},"Future Oxc tools may allow EOS to consolidate more TypeScript tooling on the\nsame foundations.",[288,372,374],{"id":373},"negative","Negative",[256,376,377,380,383,386,389],{},[259,378,379],{},"Oxc's tools and integrations are newer and less mature than ESLint and\nPrettier.",[259,381,382],{},"Oxlint does not currently lint Vue template sections, so additional tooling\nmay be required for complete Vue-specific analysis.",[259,384,385],{},"Some ESLint rules or plugins may not have direct Oxlint equivalents.",[259,387,388],{},"Rapid development may introduce configuration changes or migration work as the\ntools mature.",[259,390,391],{},"Contributors may be less familiar with Oxlint and Oxfmt than with established\nalternatives.",[288,393,395],{"id":394},"neutral","Neutral",[256,397,398,401,404,407],{},[259,399,400],{},"This decision applies to EOS and does not require every Tillo repository to\nadopt Oxc.",[259,402,403],{},"Linting and formatting remain distinct tasks even though they use one\ntoolchain.",[259,405,406],{},"Existing editor integrations and contributor workflows may need to be\nconfigured for Oxlint and Oxfmt.",[259,408,409],{},"The decision should be revisited if Oxc's maturity, compatibility, or\nframework support does not keep pace with EOS's needs.",{"title":411,"searchDepth":412,"depth":412,"links":413},"",3,[414,416,417,418,423,424],{"id":230,"depth":415,"text":231},2,{"id":237,"depth":415,"text":238},{"id":253,"depth":415,"text":254},{"id":285,"depth":415,"text":286,"children":419},[420,421,422],{"id":290,"depth":412,"text":291},{"id":303,"depth":412,"text":304},{"id":313,"depth":412,"text":314},{"id":323,"depth":415,"text":324},{"id":345,"depth":415,"text":346,"children":425},[426,427,428],{"id":349,"depth":412,"text":350},{"id":373,"depth":412,"text":374},{"id":394,"depth":412,"text":395},{},"md",{},{"title":24,"description":223},"BWoXISnUwg04Nw-iLv_y0O_BlfVaET7b0dgxIwtPN_M",[435,436],{"title":20,"path":21,"stem":22,"children":-1},{"title":28,"path":29,"stem":30,"children":-1},[438,491],{"nav":439,"source":488},[440],{"title":441,"path":442,"stem":443,"children":444,"page":-1},"Ember","\u002Fember","ember",[445,448,480,484],{"title":446,"path":442,"stem":447},"StoreFront Documentation","ember\u002Findex",{"title":14,"path":449,"stem":450,"children":451,"page":43},"\u002Fember\u002Fadrs","ember\u002Fadrs",[452,456,460,464,468,472,476],{"title":453,"path":454,"stem":455},"Add Infection as a non-blocking mutation testing tool for Ember","\u002Fember\u002Fadrs\u002F0001-infection-mutation-testing","ember\u002Fadrs\u002F0001-infection-mutation-testing",{"title":457,"path":458,"stem":459},"Process DELETE scheduled changes before CREATE_UPDATE at the same instant","\u002Fember\u002Fadrs\u002F0002-scheduled-change-processing-order","ember\u002Fadrs\u002F0002-scheduled-change-processing-order",{"title":461,"path":462,"stem":463},"Standard rate scheduling is permanent until overridden","\u002Fember\u002Fadrs\u002F0003-standard-rate-scheduling-is-permanent","ember\u002Fadrs\u002F0003-standard-rate-scheduling-is-permanent",{"title":465,"path":466,"stem":467},"Promotions require an existing standard rate","\u002Fember\u002Fadrs\u002F0004-promotions-require-existing-standard-rate","ember\u002Fadrs\u002F0004-promotions-require-existing-standard-rate",{"title":469,"path":470,"stem":471},"UTC datetime contract between Storefront and Hub","\u002Fember\u002Fadrs\u002F0005-utc-datetime-contract-between-storefront-and-hub","ember\u002Fadrs\u002F0005-utc-datetime-contract-between-storefront-and-hub",{"title":473,"path":474,"stem":475},"Elapsed unprocessed scheduled changes do not block rate changes","\u002Fember\u002Fadrs\u002F0006-stale-scheduler-rows-do-not-block-rate-changes","ember\u002Fadrs\u002F0006-stale-scheduler-rows-do-not-block-rate-changes",{"title":477,"path":478,"stem":479},"ADR-0007: Delete ConfigureTenantAuth routing command once OIDC setup migrates to Hub","\u002Fember\u002Fadrs\u002F0007-delete-configure-tenant-auth-routing-command","ember\u002Fadrs\u002F0007-delete-configure-tenant-auth-routing-command",{"title":481,"path":482,"stem":483},"Domain Overview","\u002Fember\u002Fdomain_overview","ember\u002Fdomain_overview",{"title":485,"path":486,"stem":487},"Main Flows","\u002Fember\u002Fkey_flows","ember\u002Fkey_flows",{"collectionName":489,"label":490,"prefix":443},"external_ember","StoreFront (Ember)",{"nav":492,"source":664},[493],{"title":494,"path":495,"stem":496,"children":497,"page":-1},"Core","\u002Fcore","core",[498,501,529,533,555,559,569,586,643,647],{"title":499,"path":495,"stem":500},"Documentation Index","core\u002Findex",{"title":14,"path":502,"stem":503,"children":504,"page":43},"\u002Fcore\u002Fadrs","core\u002Fadrs",[505,509,513,517,521,525],{"title":506,"path":507,"stem":508},"ADR-XXXX: Short, descriptive title","\u002Fcore\u002Fadrs\u002F0000-template","core\u002Fadrs\u002F0000-template",{"title":510,"path":511,"stem":512},"ADR-1: Promotions endpoint","\u002Fcore\u002Fadrs\u002F0001-add-promotions-endpoint","core\u002Fadrs\u002F0001-add-promotions-endpoint",{"title":514,"path":515,"stem":516},"ADR-2: EOM partner report job dispatch","\u002Fcore\u002Fadrs\u002F0002-eom-report-job-dispatch","core\u002Fadrs\u002F0002-eom-report-job-dispatch",{"title":518,"path":519,"stem":520},"ADR-3: Replace PB fee waive flag with a Zero scheme override","\u002Fcore\u002Fadrs\u002F0003-replace-pb-fee-waive-with-zero-scheme","core\u002Fadrs\u002F0003-replace-pb-fee-waive-with-zero-scheme",{"title":522,"path":523,"stem":524},"ADR-4: No processor Digital Top-up capability gate in Reloadable Commercials","\u002Fcore\u002Fadrs\u002F0004-no-processor-top-up-capability-gate","core\u002Fadrs\u002F0004-no-processor-top-up-capability-gate",{"title":526,"path":527,"stem":528},"ADR-5: Sparse polymorphic sale fee override reason stamp","\u002Fcore\u002Fadrs\u002F0005-sale-fee-override-reason-stamp","core\u002Fadrs\u002F0005-sale-fee-override-reason-stamp",{"title":530,"path":531,"stem":532},"Agent Workflow","\u002Fcore\u002Fai-workflow","core\u002Fai-workflow",{"title":534,"path":535,"stem":536,"children":537,"page":-1},"Backend Guide","\u002Fcore\u002Fbackend","core\u002Fbackend\u002Findex",[538,539,543,547,551],{"title":534,"path":535,"stem":536},{"title":540,"path":541,"stem":542},"Backend AI Tooling","\u002Fcore\u002Fbackend\u002Fai-tooling","core\u002Fbackend\u002Fai-tooling",{"title":544,"path":545,"stem":546},"Backend Linting and Formatting","\u002Fcore\u002Fbackend\u002Flinting-and-formatting","core\u002Fbackend\u002Flinting-and-formatting",{"title":548,"path":549,"stem":550},"Backend Setup","\u002Fcore\u002Fbackend\u002Fsetup","core\u002Fbackend\u002Fsetup",{"title":552,"path":553,"stem":554},"Backend Testing","\u002Fcore\u002Fbackend\u002Ftesting","core\u002Fbackend\u002Ftesting",{"title":556,"path":557,"stem":558},"Documentation Health","\u002Fcore\u002Fdoc-health","core\u002Fdoc-health",{"title":560,"path":561,"stem":562,"children":563,"page":-1},"Frontend Guide","\u002Fcore\u002Ffrontend","core\u002Ffrontend\u002Findex",[564,565],{"title":560,"path":561,"stem":562},{"title":566,"path":567,"stem":568},"Frontend Development","\u002Fcore\u002Ffrontend\u002Fdevelopment","core\u002Ffrontend\u002Fdevelopment",{"title":570,"path":571,"stem":572,"children":573,"page":43},"Modules","\u002Fcore\u002Fmodules","core\u002Fmodules",[574,578],{"title":575,"path":576,"stem":577},"Connect API","\u002Fcore\u002Fmodules\u002Fconnect-api","core\u002Fmodules\u002Fconnect-api",{"title":579,"path":580,"stem":581,"children":582,"page":43},"Secure Links","\u002Fcore\u002Fmodules\u002Fsecure-links","core\u002Fmodules\u002Fsecure-links",[583],{"title":579,"path":584,"stem":585},"\u002Fcore\u002Fmodules\u002Fsecure-links\u002Fsecure-links","core\u002Fmodules\u002Fsecure-links\u002Fsecure-links",{"title":587,"path":588,"stem":589,"children":590,"page":43},"Processors","\u002Fcore\u002Fprocessors","core\u002Fprocessors",[591,595,599,603,607,611,615,619,623,627,631,635,639],{"title":592,"path":593,"stem":594},"Amazon Processor and API","\u002Fcore\u002Fprocessors\u002Famazon","core\u002Fprocessors\u002Famazon",{"title":596,"path":597,"stem":598},"Amilon Processor and API","\u002Fcore\u002Fprocessors\u002Familon","core\u002Fprocessors\u002Familon",{"title":600,"path":601,"stem":602},"Cadooz Processor and API","\u002Fcore\u002Fprocessors\u002Fcadooz","core\u002Fprocessors\u002Fcadooz",{"title":604,"path":605,"stem":606},"Choice Digital Processor and API","\u002Fcore\u002Fprocessors\u002Fchoice-digital","core\u002Fprocessors\u002Fchoice-digital",{"title":608,"path":609,"stem":610},"Diggecard processor reference","\u002Fcore\u002Fprocessors\u002Fdiggecard","core\u002Fprocessors\u002Fdiggecard",{"title":612,"path":613,"stem":614},"ePay Processor and API","\u002Fcore\u002Fprocessors\u002Fepay","core\u002Fprocessors\u002Fepay",{"title":616,"path":617,"stem":618},"GoGift v2 Processor and API","\u002Fcore\u002Fprocessors\u002Fgo-gift-v2","core\u002Fprocessors\u002Fgo-gift-v2",{"title":620,"path":621,"stem":622},"InComm Processor and API","\u002Fcore\u002Fprocessors\u002Fincomm","core\u002Fprocessors\u002Fincomm",{"title":624,"path":625,"stem":626},"Ogloba Processor and API","\u002Fcore\u002Fprocessors\u002Fogloba","core\u002Fprocessors\u002Fogloba",{"title":628,"path":629,"stem":630},"SVSECard Processor and API","\u002Fcore\u002Fprocessors\u002Fsvs-ecard","core\u002Fprocessors\u002Fsvs-ecard",{"title":632,"path":633,"stem":634},"Vananam Processor and API","\u002Fcore\u002Fprocessors\u002Fvananam","core\u002Fprocessors\u002Fvananam",{"title":636,"path":637,"stem":638},"Vouchers Depot processor reference","\u002Fcore\u002Fprocessors\u002Fvouchers-depot","core\u002Fprocessors\u002Fvouchers-depot",{"title":640,"path":641,"stem":642},"You Got a Gift Processor and API","\u002Fcore\u002Fprocessors\u002Fyou-got-a-gift","core\u002Fprocessors\u002Fyou-got-a-gift",{"title":644,"path":645,"stem":646},"Development Quickstart","\u002Fcore\u002Fsetup","core\u002Fsetup",{"title":648,"path":649,"stem":650,"children":651,"page":43},"Workflows","\u002Fcore\u002Fworkflows","core\u002Fworkflows",[652,656,660],{"title":653,"path":654,"stem":655},"Hub Endpoint Workflow","\u002Fcore\u002Fworkflows\u002Fhub-endpoints","core\u002Fworkflows\u002Fhub-endpoints",{"title":657,"path":658,"stem":659},"OpenAPI Tooling","\u002Fcore\u002Fworkflows\u002Fopenapi-tooling","core\u002Fworkflows\u002Fopenapi-tooling",{"title":661,"path":662,"stem":663},"Processor Integration Workflow","\u002Fcore\u002Fworkflows\u002Fprocessors","core\u002Fworkflows\u002Fprocessors",{"collectionName":665,"label":494,"prefix":496},"external_core",1789777546825]