[{"data":1,"prerenderedAt":593},["ShallowReactive",2],{"navigation":3,"\u002Fcommands\u002Fosdd-graph":193,"\u002Fcommands\u002Fosdd-graph-surround":588},[4,27,49,99,149,169,183],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":26},"Getting Started","i-lucide-rocket","\u002Fgetting-started","1.getting-started",[10,14,18,22],{"title":11,"path":12,"stem":13},"Introduction","\u002Fgetting-started\u002Fintroduction","1.getting-started\u002F1.introduction",{"title":15,"path":16,"stem":17},"Installation","\u002Fgetting-started\u002Finstallation","1.getting-started\u002F2.installation",{"title":19,"path":20,"stem":21},"Quick Start","\u002Fgetting-started\u002Fquick-start","1.getting-started\u002F3.quick-start",{"title":23,"path":24,"stem":25},"Existing Application","\u002Fgetting-started\u002Fexisting-application","1.getting-started\u002F4.existing-application",false,{"title":28,"icon":29,"path":30,"stem":31,"children":32,"page":26},"Concepts","i-lucide-layers","\u002Fconcepts","2.concepts",[33,37,41,45],{"title":34,"path":35,"stem":36},"Layers","\u002Fconcepts\u002Flayers","2.concepts\u002F1.layers",{"title":38,"path":39,"stem":40},"Buckets","\u002Fconcepts\u002Fbuckets","2.concepts\u002F2.buckets",{"title":42,"path":43,"stem":44},"Boundaries","\u002Fconcepts\u002Fboundaries","2.concepts\u002F3.boundaries",{"title":46,"path":47,"stem":48},"Service Providers","\u002Fconcepts\u002Fservice-providers","2.concepts\u002F4.service-providers",{"title":50,"icon":51,"path":52,"stem":53,"children":54,"page":26},"Guides","i-lucide-book-marked","\u002Fguides","3.guides",[55,59,63,67,71,75,79,83,87,91,95],{"title":56,"path":57,"stem":58},"Add a Domain","\u002Fguides\u002Fadd-a-domain","3.guides\u002F01.add-a-domain",{"title":60,"path":61,"stem":62},"Share Code Between Layers","\u002Fguides\u002Fshare-code-between-layers","3.guides\u002F02.share-code-between-layers",{"title":64,"path":65,"stem":66},"Routes","\u002Fguides\u002Froutes","3.guides\u002F03.routes",{"title":68,"path":69,"stem":70},"Views and Components","\u002Fguides\u002Fviews-and-components","3.guides\u002F04.views-and-components",{"title":72,"path":73,"stem":74},"Seeders","\u002Fguides\u002Fseeders","3.guides\u002F05.seeders",{"title":76,"path":77,"stem":78},"Configuration","\u002Fguides\u002Fconfiguration","3.guides\u002F06.configuration",{"title":80,"path":81,"stem":82},"Events","\u002Fguides\u002Fevents","3.guides\u002F07.events",{"title":84,"path":85,"stem":86},"Tests and CI","\u002Fguides\u002Ftesting-and-ci","3.guides\u002F08.testing-and-ci",{"title":88,"path":89,"stem":90},"Production","\u002Fguides\u002Fproduction","3.guides\u002F09.production",{"title":92,"path":93,"stem":94},"Remove a Layer","\u002Fguides\u002Fremoving-a-layer","3.guides\u002F10.removing-a-layer",{"title":96,"path":97,"stem":98},"Multi-tenancy","\u002Fguides\u002Fmulti-tenancy","3.guides\u002F11.multi-tenancy",{"title":100,"icon":101,"path":102,"stem":103,"children":104,"page":26},"Commands","i-lucide-terminal","\u002Fcommands","4.commands",[105,109,113,117,121,125,129,133,137,141,145],{"title":106,"path":107,"stem":108},"Overview","\u002Fcommands\u002Foverview","4.commands\u002F01.overview",{"title":110,"path":111,"stem":112},"osdd:start","\u002Fcommands\u002Fosdd-start","4.commands\u002F02.osdd-start",{"title":114,"path":115,"stem":116},"osdd:layer","\u002Fcommands\u002Fosdd-layer","4.commands\u002F03.osdd-layer",{"title":118,"path":119,"stem":120},"osdd:list","\u002Fcommands\u002Fosdd-list","4.commands\u002F04.osdd-list",{"title":122,"path":123,"stem":124},"osdd:check","\u002Fcommands\u002Fosdd-check","4.commands\u002F05.osdd-check",{"title":126,"path":127,"stem":128},"osdd:graph","\u002Fcommands\u002Fosdd-graph","4.commands\u002F06.osdd-graph",{"title":130,"path":131,"stem":132},"osdd:seed","\u002Fcommands\u002Fosdd-seed","4.commands\u002F07.osdd-seed",{"title":134,"path":135,"stem":136},"osdd:phpunit","\u002Fcommands\u002Fosdd-phpunit","4.commands\u002F08.osdd-phpunit",{"title":138,"path":139,"stem":140},"osdd:remove","\u002Fcommands\u002Fosdd-remove","4.commands\u002F09.osdd-remove",{"title":142,"path":143,"stem":144},"osdd:cache","\u002Fcommands\u002Fosdd-cache","4.commands\u002F10.osdd-cache",{"title":146,"path":147,"stem":148},"Generators","\u002Fcommands\u002Fmake-commands","4.commands\u002F11.make-commands",{"title":150,"icon":151,"path":152,"stem":153,"children":154,"page":26},"API Reference","i-lucide-book-open","\u002Fapi-reference","5.api-reference",[155,159,162,166],{"title":156,"path":157,"stem":158},"LayerServiceProvider","\u002Fapi-reference\u002Flayer-service-provider","5.api-reference\u002F1.layer-service-provider",{"title":34,"path":160,"stem":161},"\u002Fapi-reference\u002Flayers","5.api-reference\u002F2.layers",{"title":163,"path":164,"stem":165},"SeederRegistry","\u002Fapi-reference\u002Fseeder-registry","5.api-reference\u002F3.seeder-registry",{"title":76,"path":167,"stem":168},"\u002Fapi-reference\u002Fconfiguration","5.api-reference\u002F4.configuration",{"title":170,"icon":171,"path":172,"stem":173,"children":174,"page":26},"Integrations","i-lucide-puzzle","\u002Fintegrations","6.integrations",[175,179],{"title":176,"path":177,"stem":178},"Laravel Boost","\u002Fintegrations\u002Flaravel-boost","6.integrations\u002F1.laravel-boost",{"title":180,"path":181,"stem":182},"Tinker and IDE Helper","\u002Fintegrations\u002Ftinker-and-ide-helper","6.integrations\u002F2.tinker-and-ide-helper",{"title":184,"icon":185,"path":186,"stem":187,"children":188,"page":26},"Upgrade","i-lucide-arrow-up-circle","\u002Fupgrade","7.upgrade",[189],{"title":190,"path":191,"stem":192},"Upgrade from 2.x","\u002Fupgrade\u002Ffrom-2x","7.upgrade\u002F1.from-2x",{"id":194,"title":126,"body":195,"description":580,"extension":581,"links":582,"meta":583,"navigation":584,"path":127,"seo":585,"sitemap":586,"stem":128,"__hash__":587},"docs\u002F4.commands\u002F06.osdd-graph.md",{"type":196,"value":197,"toc":574},"minimark",[198,217,242,247,288,291,299,302,323,326,356,362,373,376,392,557,570],[199,200,201,204,205,208,209,212,213,216],"p",{},[202,203,126],"code",{}," prints the ",[202,206,207],{},"require"," edges between layers, read from each layer's ",[202,210,211],{},"composer.json",". Other packages and ",[202,214,215],{},"require-dev"," entries are left out. Nodes and edges are sorted by name.",[218,219,224],"pre",{"className":220,"code":221,"language":222,"meta":223,"style":223},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","php artisan osdd:graph\n","bash","",[202,225,226],{"__ignoreMap":223},[227,228,231,235,239],"span",{"class":229,"line":230},"line",1,[227,232,234],{"class":233},"sBMFI","php",[227,236,238],{"class":237},"sfazB"," artisan",[227,240,241],{"class":237}," osdd:graph\n",[243,244,246],"h2",{"id":245},"options","Options",[248,249,250,263],"table",{},[251,252,253],"thead",{},[254,255,256,260],"tr",{},[257,258,259],"th",{},"Option",[257,261,262],{},"Description",[264,265,266],"tbody",{},[254,267,268,274],{},[269,270,271],"td",{},[202,272,273],{},"--format",[269,275,276,279,280,283,284,287],{},[202,277,278],{},"mermaid"," (default), ",[202,281,282],{},"dot"," or ",[202,285,286],{},"json",". An unknown format exits with 1.",[243,289,290],{"id":278},"Mermaid",[218,292,297],{"className":293,"code":295,"language":296},[294],"language-text","graph LR\n    functional_orders[\"functional\u002Forders\"]\n    functional_users[\"functional\u002Fusers\"]\n    technical_core[\"technical\u002Fcore\"]\n    functional_orders --> functional_users\n    functional_users --> technical_core\n","text",[202,298,295],{"__ignoreMap":223},[199,300,301],{},"Save it next to your documentation, or paste it in a Markdown file that renders Mermaid, such as a GitHub README:",[218,303,305],{"className":220,"code":304,"language":222,"meta":223,"style":223},"php artisan osdd:graph > docs\u002Flayers.mmd\n",[202,306,307],{"__ignoreMap":223},[227,308,309,311,313,316,320],{"class":229,"line":230},[227,310,234],{"class":233},[227,312,238],{"class":237},[227,314,315],{"class":237}," osdd:graph",[227,317,319],{"class":318},"sMK4o"," >",[227,321,322],{"class":237}," docs\u002Flayers.mmd\n",[243,324,325],{"id":282},"DOT",[218,327,329],{"className":220,"code":328,"language":222,"meta":223,"style":223},"php artisan osdd:graph --format=dot | dot -Tsvg > layers.svg\n",[202,330,331],{"__ignoreMap":223},[227,332,333,335,337,339,342,345,348,351,353],{"class":229,"line":230},[227,334,234],{"class":233},[227,336,238],{"class":237},[227,338,315],{"class":237},[227,340,341],{"class":237}," --format=dot",[227,343,344],{"class":318}," |",[227,346,347],{"class":233}," dot",[227,349,350],{"class":237}," -Tsvg",[227,352,319],{"class":318},[227,354,355],{"class":237}," layers.svg\n",[218,357,360],{"className":358,"code":359,"language":296},[294],"digraph layers {\n    rankdir=LR;\n    \"functional\u002Forders\";\n    \"functional\u002Fusers\";\n    \"technical\u002Fcore\";\n    \"functional\u002Forders\" -> \"functional\u002Fusers\";\n    \"functional\u002Fusers\" -> \"technical\u002Fcore\";\n}\n",[202,361,359],{"__ignoreMap":223},[199,363,364,365,372],{},"Render it with ",[366,367,371],"a",{"href":368,"rel":369},"https:\u002F\u002Fgraphviz.org",[370],"nofollow","Graphviz",".",[243,374,375],{"id":286},"JSON",[218,377,379],{"className":220,"code":378,"language":222,"meta":223,"style":223},"php artisan osdd:graph --format=json\n",[202,380,381],{"__ignoreMap":223},[227,382,383,385,387,389],{"class":229,"line":230},[227,384,234],{"class":233},[227,386,238],{"class":237},[227,388,315],{"class":237},[227,390,391],{"class":237}," --format=json\n",[218,393,396],{"className":394,"code":395,"language":286,"meta":223,"style":223},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n    \"nodes\": [\"functional\u002Forders\", \"functional\u002Fusers\", \"technical\u002Fcore\"],\n    \"edges\": [\n        {\"from\": \"functional\u002Forders\", \"to\": \"functional\u002Fusers\"},\n        {\"from\": \"functional\u002Fusers\", \"to\": \"technical\u002Fcore\"}\n    ]\n}\n",[202,397,398,403,452,467,508,546,552],{"__ignoreMap":223},[227,399,400],{"class":229,"line":230},[227,401,402],{"class":318},"{\n",[227,404,406,409,413,416,419,422,424,427,429,432,435,438,440,442,444,447,449],{"class":229,"line":405},2,[227,407,408],{"class":318},"    \"",[227,410,412],{"class":411},"spNyl","nodes",[227,414,415],{"class":318},"\"",[227,417,418],{"class":318},":",[227,420,421],{"class":318}," [",[227,423,415],{"class":318},[227,425,426],{"class":237},"functional\u002Forders",[227,428,415],{"class":318},[227,430,431],{"class":318},",",[227,433,434],{"class":318}," \"",[227,436,437],{"class":237},"functional\u002Fusers",[227,439,415],{"class":318},[227,441,431],{"class":318},[227,443,434],{"class":318},[227,445,446],{"class":237},"technical\u002Fcore",[227,448,415],{"class":318},[227,450,451],{"class":318},"],\n",[227,453,455,457,460,462,464],{"class":229,"line":454},3,[227,456,408],{"class":318},[227,458,459],{"class":411},"edges",[227,461,415],{"class":318},[227,463,418],{"class":318},[227,465,466],{"class":318}," [\n",[227,468,470,473,475,478,480,482,484,486,488,490,492,495,497,499,501,503,505],{"class":229,"line":469},4,[227,471,472],{"class":318},"        {",[227,474,415],{"class":318},[227,476,477],{"class":233},"from",[227,479,415],{"class":318},[227,481,418],{"class":318},[227,483,434],{"class":318},[227,485,426],{"class":237},[227,487,415],{"class":318},[227,489,431],{"class":318},[227,491,434],{"class":318},[227,493,494],{"class":233},"to",[227,496,415],{"class":318},[227,498,418],{"class":318},[227,500,434],{"class":318},[227,502,437],{"class":237},[227,504,415],{"class":318},[227,506,507],{"class":318},"},\n",[227,509,511,513,515,517,519,521,523,525,527,529,531,533,535,537,539,541,543],{"class":229,"line":510},5,[227,512,472],{"class":318},[227,514,415],{"class":318},[227,516,477],{"class":233},[227,518,415],{"class":318},[227,520,418],{"class":318},[227,522,434],{"class":318},[227,524,437],{"class":237},[227,526,415],{"class":318},[227,528,431],{"class":318},[227,530,434],{"class":318},[227,532,494],{"class":233},[227,534,415],{"class":318},[227,536,418],{"class":318},[227,538,434],{"class":318},[227,540,446],{"class":237},[227,542,415],{"class":318},[227,544,545],{"class":318},"}\n",[227,547,549],{"class":229,"line":548},6,[227,550,551],{"class":318},"    ]\n",[227,553,555],{"class":229,"line":554},7,[227,556,545],{"class":318},[558,559,560],"tip",{},[199,561,562,564,565,569],{},[202,563,126],{}," shows what the layers declare. ",[366,566,567],{"href":123},[202,568,122],{}," checks that the code matches it.",[571,572,573],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}",{"title":223,"searchDepth":230,"depth":405,"links":575},[576,577,578,579],{"id":245,"depth":405,"text":246},{"id":278,"depth":405,"text":290},{"id":282,"depth":405,"text":325},{"id":286,"depth":405,"text":375},"Print the graph of the layers and the layers they require.","md",null,{},true,{"title":126,"description":580},{"loc":127},"QY7cTgciNyzss2za-AgskhtOnoGnmm4vU78k4U6kh4Q",[589,591],{"title":122,"path":123,"stem":124,"description":590,"children":-1},"Check that each layer only uses the layers it requires, and that no requirements form a cycle.",{"title":130,"path":131,"stem":132,"description":592,"children":-1},"Run the seeders registered by every layer, or by some layers.",1794437212011]