[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"navigation":3,"url-settings":86,"blog-\u002Fblog\u002Fjavascript-tools-developer":663,"blog-author-\u002Fblog\u002Fjavascript-tools-developer":1266,"i-material-symbols:arrow-back-rounded":1281},{"id":4,"extension":5,"footer":6,"header":73,"meta":83,"stem":84,"__hash__":85},"navigation\u002Fdata\u002Fshared\u002Fnavigation.yml","yml",{"brand":7,"columns":13,"legal":63},{"name":8,"tagline":9,"downloadCta":10},"Pieces","The memory layer for modern work.",{"label":11,"href":12},"All downloads","\u002Fdownloads",[14,26,39,51],{"title":15,"links":16},"Product",[17,20,23],{"label":18,"href":19},"Pieces Desktop","\u002F",{"label":21,"href":22},"Pieces Enterprise","\u002Fenterprise",{"label":24,"href":25},"Pieces MCP","\u002Fmcp",{"title":27,"links":28},"Resources",[29,33,36],{"label":30,"href":31,"external":32},"Documentation","url:docs.home",true,{"label":34,"href":35},"Blog","\u002Fblog",{"label":37,"href":38,"external":32},"GitHub","url:github.org",{"title":40,"links":41},"Community",[42,45,48],{"label":43,"href":44,"external":32},"Discord","url:social.discord",{"label":46,"href":47,"external":32},"X \u002F Twitter","url:social.x",{"label":49,"href":50,"external":32},"LinkedIn","url:social.linkedin",{"title":52,"links":53},"Company",[54,57,60],{"label":55,"href":56},"About","\u002Fabout",{"label":58,"href":59},"Updates","\u002Fupdates",{"label":61,"href":62},"Contact","\u002Fcontact",[64,67,70],{"label":65,"href":66},"Privacy Policy","\u002Flegal\u002Fprivacy",{"label":68,"href":69},"Refund Policy","\u002Flegal\u002Frefund",{"label":71,"href":72},"Terms of Service","\u002Flegal\u002Fterms",{"links":74,"signIn":75,"contact":78,"cta":80},[],{"label":76,"href":77},"Sign in","url:portal.home",{"label":79,"href":62},"Get in touch",{"label":81,"href":82},"Download","url:routes.downloads",{},"data\u002Fshared\u002Fnavigation","VdirGIa8cUm6xLprbBeTKcw914JfyJjWfF-9hSVOX5Y",{"id":87,"extension":5,"links":88,"meta":660,"stem":661,"__hash__":662},"urlSettings\u002Fdata\u002Fshared\u002Furls.yml",[89,93,97,101,105,109,113,117,121,125,129,133,137,141,145,149,153,157,161,165,169,173,177,181,185,189,192,196,200,204,208,212,216,220,224,228,232,236,240,244,248,252,256,260,264,268,272,276,280,284,288,292,295,299,303,306,310,314,318,322,326,330,334,338,342,346,350,354,358,362,366,370,374,378,382,386,390,394,398,402,406,410,414,418,422,426,430,434,438,442,446,450,453,457,461,465,469,473,477,480,483,486,489,493,497,500,504,508,512,516,520,524,528,532,536,540,544,548,551,555,559,563,567,571,574,577,580,584,587,591,595,599,603,606,610,614,617,620,623,627,631,635,638,641,644,648,652,656],{"key":90,"label":91,"href":92},"downloads.desktop","Desktop download page","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fdownload",{"key":94,"label":95,"href":96},"downloads.macOS.dmgArm64","macOS DMG Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fdmg-arm64\u002Fdownload",{"key":98,"label":99,"href":100},"downloads.macOS.dmgIntel","macOS DMG Intel","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fdmg\u002Fdownload",{"key":102,"label":103,"href":104},"downloads.macOS.pkg","macOS PKG","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg\u002Fdownload",{"key":106,"label":107,"href":108},"downloads.macOS.universal","Desktop macOS Universal","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fmacos-universal\u002Fdownload",{"key":110,"label":111,"href":112},"downloads.macOS.pkgArm64","Desktop macOS PKG Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-pfd-arm64\u002Fdownload",{"key":114,"label":115,"href":116},"downloads.macOS.pkgIntel","Desktop macOS PKG Intel","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-pfd\u002Fdownload",{"key":118,"label":119,"href":120},"downloads.windows.appinstaller","Windows App Installer","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fappinstaller\u002Fpieces_for_x.appinstaller",{"key":122,"label":123,"href":124},"downloads.windows.exe","Windows EXE","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fwindows-exe\u002Fdownload",{"key":126,"label":127,"href":128},"downloads.windows.msix","Windows MSIX","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fwindows-msix\u002Fdownload",{"key":130,"label":131,"href":132},"downloads.windows.suiteManager","Windows Suite Manager","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_suite_windows\u002Fappinstaller\u002Fdownload",{"key":134,"label":135,"href":136},"downloads.linux.flatpakRepo","Linux Flatpak repository","https:\u002F\u002Fbuilds.pieces.app\u002Fpieces-flatpak-repo\u002Fpieces-flatpak.flatpakrepo",{"key":138,"label":139,"href":140},"downloads.linux.snapDesktop","Linux Snap Desktop","https:\u002F\u002Fsnapcraft.io\u002Fpieces-for-developers",{"key":142,"label":143,"href":144},"downloads.linux.snapPiecesOS","Linux Snap PiecesOS","https:\u002F\u002Fsnapcraft.io\u002Fpieces-os",{"key":146,"label":147,"href":148},"downloads.linux.snap","Desktop Linux Snap package","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fpieces_for_x\u002Fsnap\u002Fdownload",{"key":150,"label":151,"href":152},"downloads.piecesOS.macOS.dmgArm64","PiecesOS macOS DMG Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fdmg-arm64\u002Fdownload",{"key":154,"label":155,"href":156},"downloads.piecesOS.macOS.dmgIntel","PiecesOS macOS DMG Intel","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fdmg\u002Fdownload",{"key":158,"label":159,"href":160},"downloads.piecesOS.macOS.universal","PiecesOS macOS Universal","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fmacos-universal\u002Fdownload",{"key":162,"label":163,"href":164},"downloads.piecesOS.macOS.pkgArm64","PiecesOS macOS PKG Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-pos-launch-only-arm64\u002Fdownload",{"key":166,"label":167,"href":168},"downloads.piecesOS.macOS.pkgIntel","PiecesOS macOS PKG Intel","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-pos-launch-only\u002Fdownload",{"key":170,"label":171,"href":172},"downloads.piecesOS.windows.appinstaller","PiecesOS Windows App Installer","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fappinstaller\u002Fos_server.appinstaller",{"key":174,"label":175,"href":176},"downloads.piecesOS.windows.exe","PiecesOS Windows EXE","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fwindows-exe\u002Fdownload",{"key":178,"label":179,"href":180},"downloads.piecesOS.windows.msix","PiecesOS Windows MSIX","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fwindows-msix\u002Fdownload",{"key":182,"label":183,"href":184},"downloads.piecesOS.linux.snap","PiecesOS Linux Snap package","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fos_server\u002Fsnap\u002Fdownload",{"key":186,"label":187,"href":188},"downloads.combined.macOS.appleSilicon","Combined macOS installer Apple Silicon","https:\u002F\u002Fbuilds.pieces.app\u002Fstages\u002Fproduction\u002Fmacos_packaging\u002Fpkg-arm64\u002Fdownload",{"key":190,"label":191,"href":104},"downloads.combined.macOS.intel","Combined macOS installer Intel",{"key":193,"label":194,"href":195},"downloads.guides.macOS","macOS installation guide","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Fmacos-installation-guide",{"key":197,"label":198,"href":199},"downloads.guides.windows","Windows installation guide","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Fwindows-installation-guide",{"key":201,"label":202,"href":203},"downloads.guides.linux","Linux installation guide","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Flinux-installation-guide",{"key":205,"label":206,"href":207},"downloads.guides.piecesOS","PiecesOS manual installation","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fpieces-os\u002Fmanual-installation",{"key":209,"label":210,"href":211},"extensions.chrome","Chrome extension","https:\u002F\u002Fchrome.google.com\u002Fwebstore\u002Fdetail\u002Fpieces-save-code-snippets\u002Figbgibhbfonhmjlechmeefimncpekepm",{"key":213,"label":214,"href":215},"extensions.firefox","Firefox add-on","https:\u002F\u002Faddons.mozilla.org\u002Fen-US\u002Ffirefox\u002Faddon\u002Fpieces-save-code-from-the-web\u002F",{"key":217,"label":218,"href":219},"extensions.edge","Edge add-on","https:\u002F\u002Fmicrosoftedge.microsoft.com\u002Faddons\u002Fdetail\u002Fpieces-save-code-snippet\u002Fhglfimcdgonaeeobjckfdabcldfidmim",{"key":221,"label":222,"href":223},"extensions.vscode","VS Code extension","https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=MeshIntelligentTechnologiesInc.pieces-vscode",{"key":225,"label":226,"href":227},"extensions.visualStudio","Visual Studio extension","https:\u002F\u002Fmarketplace.visualstudio.com\u002Fitems?itemName=MeshIntelligentTechnologiesInc.PiecesVisualStudio",{"key":229,"label":230,"href":231},"extensions.jetbrains","JetBrains plugin","https:\u002F\u002Fplugins.jetbrains.com\u002Fplugin\u002F17328-pieces--save-search-share--reuse-code-snippets",{"key":233,"label":234,"href":235},"extensions.obsidian","Obsidian plugin","https:\u002F\u002Fobsidian.md\u002Fplugins?id=pieces-for-developers",{"key":237,"label":238,"href":239},"extensions.sublime","Sublime package","https:\u002F\u002Fpackagecontrol.io\u002Fpackages\u002FPieces",{"key":241,"label":242,"href":243},"extensions.neovim","Neovim plugin","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fplugin_neo_vim",{"key":245,"label":246,"href":247},"extensions.jupyterlab","JupyterLab plugin","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fjupyterlab-pieces",{"key":249,"label":250,"href":251},"extensions.cli","Pieces CLI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fpieces-cli\u002F",{"key":253,"label":254,"href":255},"docs.home","Documentation home","https:\u002F\u002Fdocs.pieces.app",{"key":257,"label":258,"href":259},"docs.getStarted","Get started docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces",{"key":261,"label":262,"href":263},"docs.api","API docs","https:\u002F\u002Fdocs.pieces.app\u002Fapi",{"key":265,"label":266,"href":267},"docs.desktop.overview","Desktop overview","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop",{"key":269,"label":270,"href":271},"docs.desktop.onboarding","Desktop onboarding","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fonboarding",{"key":273,"label":274,"href":275},"docs.desktop.timeline","Desktop timeline docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Ftimeline",{"key":277,"label":278,"href":279},"docs.desktop.summaries","Desktop summaries docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fsingle-click-summaries",{"key":281,"label":282,"href":283},"docs.desktop.search","Desktop conversational search docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fconversational-search",{"key":285,"label":286,"href":287},"docs.desktop.drive","Desktop drive docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fdrive",{"key":289,"label":290,"href":291},"docs.desktop.account","Desktop account settings docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fdesktop\u002Fconfiguration\u002Faccount",{"key":293,"label":294,"href":92},"docs.desktop.download","Desktop download docs",{"key":296,"label":297,"href":298},"docs.piecesOS.overview","PiecesOS overview docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies",{"key":300,"label":301,"href":302},"docs.piecesOS.details","PiecesOS details docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fpieces-os",{"key":304,"label":305,"href":207},"docs.piecesOS.install","PiecesOS install docs",{"key":307,"label":308,"href":309},"docs.piecesOS.quickMenu","PiecesOS quick menu docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fpieces-os\u002Fquick-menu",{"key":311,"label":312,"href":313},"docs.piecesOS.storage","On-device storage docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fon-device-storage",{"key":315,"label":316,"href":317},"docs.piecesOS.troubleshooting","PiecesOS troubleshooting docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fcore-dependencies\u002Fpieces-os\u002Ftroubleshooting",{"key":319,"label":320,"href":321},"docs.mcp.overview","MCP overview docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp",{"key":323,"label":324,"href":325},"docs.mcp.cursor","MCP Cursor docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fcursor",{"key":327,"label":328,"href":329},"docs.mcp.vscode","MCP VS Code docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fvs-code",{"key":331,"label":332,"href":333},"docs.mcp.claudeDesktop","MCP Claude Desktop docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fclaude-desktop",{"key":335,"label":336,"href":337},"docs.mcp.claudeCode","MCP Claude Code docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fclaude-code",{"key":339,"label":340,"href":341},"docs.mcp.claudeCowork","MCP Claude Cowork docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fclaude-cowork",{"key":343,"label":344,"href":345},"docs.mcp.githubCopilot","MCP GitHub Copilot docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fgithub-copilot",{"key":347,"label":348,"href":349},"docs.mcp.goose","MCP Goose docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fgoose",{"key":351,"label":352,"href":353},"docs.mcp.windsurf","MCP Windsurf docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fwindsurf",{"key":355,"label":356,"href":357},"docs.mcp.zed","MCP Zed docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fzed",{"key":359,"label":360,"href":361},"docs.mcp.jetbrains","MCP JetBrains docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fjetbrains-ides",{"key":363,"label":364,"href":365},"docs.mcp.continueDev","MCP Continue docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fcontinue-dev",{"key":367,"label":368,"href":369},"docs.mcp.cline","MCP Cline docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fcline",{"key":371,"label":372,"href":373},"docs.mcp.raycast","MCP Raycast docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fraycast",{"key":375,"label":376,"href":377},"docs.mcp.rovoDevCli","MCP Rovo Dev CLI docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Frovo-dev-cli",{"key":379,"label":380,"href":381},"docs.mcp.openaiCodexCli","MCP OpenAI Codex CLI docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fopenai-codex-cli",{"key":383,"label":384,"href":385},"docs.mcp.googleGeminiCli","MCP Google Gemini CLI docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fgoogle-gemini-cli",{"key":387,"label":388,"href":389},"docs.mcp.amazonQ","MCP Amazon Q docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Famazon-q-developer",{"key":391,"label":392,"href":393},"docs.mcp.chatgptDev","MCP ChatGPT Developer Mode docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fchatgpt-developer-mode",{"key":395,"label":396,"href":397},"docs.mcp.openclaw","MCP OpenClaw docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fopenclaw",{"key":399,"label":400,"href":401},"docs.mcp.mcpRemote","MCP Remote docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fmcp-remote",{"key":403,"label":404,"href":405},"docs.mcp.ngrok","MCP ngrok docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmcp\u002Fngrok-setup",{"key":407,"label":408,"href":409},"docs.troubleshooting.macOS","macOS troubleshooting docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Ftroubleshooting\u002Fmacos",{"key":411,"label":412,"href":413},"docs.troubleshooting.windows","Windows troubleshooting docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Ftroubleshooting\u002Fwindows",{"key":415,"label":416,"href":417},"docs.troubleshooting.linux","Linux troubleshooting docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fmeet-pieces\u002Ftroubleshooting\u002Flinux",{"key":419,"label":420,"href":421},"docs.privacy","Privacy and security docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fprivacy-security-your-data",{"key":423,"label":424,"href":425},"docs.support","Support docs","https:\u002F\u002Fdocs.pieces.app\u002Fproducts\u002Fsupport",{"key":427,"label":428,"href":429},"portal.home","Pieces portal","https:\u002F\u002Fportal.pieces.app",{"key":431,"label":432,"href":433},"site.home","Website home","https:\u002F\u002Fpieces.app",{"key":435,"label":436,"href":437},"site.about","About page","https:\u002F\u002Fpieces.app\u002Fabout",{"key":439,"label":440,"href":441},"site.features","Features page","https:\u002F\u002Fpieces.app\u002Ffeatures",{"key":443,"label":444,"href":445},"site.plugins","Plugins page","https:\u002F\u002Fpieces.app\u002Fplugins",{"key":447,"label":448,"href":449},"site.contact","Contact page","https:\u002F\u002Fpieces.app\u002Fcontact",{"key":451,"label":58,"href":452},"site.updates","https:\u002F\u002Fpieces.app\u002Fupdates",{"key":454,"label":455,"href":456},"site.news","News","https:\u002F\u002Fpieces.app\u002Fnews",{"key":458,"label":459,"href":460},"site.events","Community events","https:\u002F\u002Fpieces.app\u002Fcommunity\u002Fevents",{"key":462,"label":463,"href":464},"site.userStories","User stories","https:\u002F\u002Fpieces.app\u002Fuser-stories",{"key":466,"label":467,"href":468},"site.academy","Academy","https:\u002F\u002Fpieces.app\u002Flearn\u002Facademy",{"key":470,"label":471,"href":472},"site.support","Website support","https:\u002F\u002Fpieces.app\u002Fsupport",{"key":474,"label":475,"href":476},"site.standup","Standup","https:\u002F\u002Fpieces.app\u002Fstandup",{"key":478,"label":34,"href":479},"site.blog","https:\u002F\u002Fcode.pieces.app\u002Fblog",{"key":481,"label":43,"href":482},"social.discord","https:\u002F\u002Fdiscord.gg\u002Fgetpieces",{"key":484,"label":46,"href":485},"social.x","https:\u002F\u002Fx.com\u002Fgetpieces",{"key":487,"label":488,"href":485},"social.twitter","Twitter",{"key":490,"label":491,"href":492},"social.instagram","Instagram","https:\u002F\u002Fwww.instagram.com\u002Fgetpieces\u002F",{"key":494,"label":495,"href":496},"social.tiktok","TikTok","https:\u002F\u002Fwww.tiktok.com\u002F@getpieces",{"key":498,"label":49,"href":499},"social.linkedin","https:\u002F\u002Fwww.linkedin.com\u002Fcompany\u002Fgetpieces\u002F",{"key":501,"label":502,"href":503},"social.youtube","YouTube","https:\u002F\u002Fyoutube.com\u002F@getpieces",{"key":505,"label":506,"href":507},"github.org","GitHub organization","https:\u002F\u002Fgithub.com\u002Fpieces-app",{"key":509,"label":510,"href":511},"github.support","GitHub support","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fsupport",{"key":513,"label":514,"href":515},"github.issues","GitHub issues","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fsupport\u002Fissues",{"key":517,"label":518,"href":519},"github.discussions","GitHub discussions","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fsupport\u002Fdiscussions",{"key":521,"label":522,"href":523},"github.documentation","GitHub documentation","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fdocumentation",{"key":525,"label":526,"href":527},"github.opensource","GitHub open source","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fopensource",{"key":529,"label":530,"href":531},"github.sdks.python","Python SDK","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fpieces-os-client-sdk-for-python",{"key":533,"label":534,"href":535},"github.sdks.typescript","TypeScript SDK","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fpieces-os-client-sdk-for-typescript",{"key":537,"label":538,"href":539},"github.sdks.dart","Dart SDK","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fpieces-os-client-sdk-for-dart",{"key":541,"label":542,"href":543},"github.sdks.kotlin","Kotlin SDK","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fpieces-os-client-sdk-for-kotlin",{"key":545,"label":546,"href":547},"github.plugins.obsidian","Obsidian plugin repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fobsidian-pieces",{"key":549,"label":550,"href":247},"github.plugins.jupyterlab","JupyterLab plugin repository",{"key":552,"label":553,"href":554},"github.plugins.sublime","Sublime plugin repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fplugin_sublime",{"key":556,"label":557,"href":558},"github.plugins.neovim","Neovim plugin repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fplugin_neovim",{"key":560,"label":561,"href":562},"github.cliAgent","CLI agent repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fcli-agent",{"key":564,"label":565,"href":566},"github.mcpDart","MCP Dart repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fmcp_dart",{"key":568,"label":569,"href":570},"github.awesomePieces","Awesome Pieces repository","https:\u002F\u002Fgithub.com\u002Fpieces-app\u002Fawesome-pieces",{"key":572,"label":573,"href":66},"legal.privacyPolicy","Privacy policy",{"key":575,"label":576,"href":69},"legal.refundPolicy","Refund policy",{"key":578,"label":579,"href":72},"legal.terms","Terms",{"key":581,"label":582,"href":583},"legal.security","Legal security","https:\u002F\u002Fpieces.app\u002Flegal\u002Fsecurity",{"key":585,"label":586,"href":503},"videos.youtubeChannel","YouTube channel",{"key":588,"label":589,"href":590},"videos.gettingStartedDesktop","Getting started desktop video","https:\u002F\u002Fyoutu.be\u002FdUr1lRM_TYk",{"key":592,"label":593,"href":594},"videos.snippetDiscoveryxR","Snippet discovery video","https:\u002F\u002Fyoutu.be\u002FG6vb1USw-30",{"key":596,"label":597,"href":598},"sales.bookACall","Book a sales call","https:\u002F\u002Fcalendar.app.google\u002FWVUDtUfNy5Vst3sH7",{"key":600,"label":601,"href":602},"sales.enterprise","Enterprise form","https:\u002F\u002Fgetpieces.typeform.com\u002Fto\u002FaVQFTvpE",{"key":604,"label":605,"href":519},"sales.feedback","Feedback discussions",{"key":607,"label":608,"href":609},"sales.earlyAccess","Early access form","https:\u002F\u002Fgetpieces.typeform.com\u002Fearlyaccess",{"key":611,"label":612,"href":613},"sales.supportEmail","Support email","mailto:support@pieces.app",{"key":615,"label":616,"href":19},"routes.home","Home route",{"key":618,"label":619,"href":56},"routes.about","About route",{"key":621,"label":622,"href":12},"routes.downloads","Downloads route",{"key":624,"label":625,"href":626},"routes.thanks","Post-install thanks route","\u002Finstall\u002Fthanks",{"key":628,"label":629,"href":630},"routes.pricing","Pricing route","\u002Fpricing",{"key":632,"label":633,"href":634},"cta.freeTrial","Start free trial CTA (Pieces Pro) — used by \u002Fcampaigns\u002F* landing pages","https:\u002F\u002Fcampaigns.pieces.app\u002F",{"key":636,"label":637,"href":22},"routes.enterprise","Enterprise route",{"key":639,"label":640,"href":62},"routes.contact","Contact route",{"key":642,"label":643,"href":59},"routes.updates","Updates route",{"key":645,"label":646,"href":647},"routes.migrationError","Migration error route","\u002Fmigration\u002Ferror",{"key":649,"label":650,"href":651},"routes.authenticated","Post-login authenticated route","\u002Fauth\u002Fsigned-in",{"key":653,"label":654,"href":655},"routes.signed-out","Signed out route","\u002Fauth\u002Fsigned-out",{"key":657,"label":658,"href":659},"routes.authentication-error","Authentication error route","\u002Fauth\u002Ferror",{},"data\u002Fshared\u002Furls","NLkVE1lIUws518K-1QsSB6T-GvlXYIzcRL1HDhqarGQ",{"id":664,"title":665,"author":666,"authorPhoto":667,"authorPhotoAlt":668,"authorSlug":669,"body":670,"buttonText":1253,"buttonUrl":1253,"category":1254,"date":1255,"description":1256,"draft":1257,"editorsPick":1257,"extension":1258,"featured":1257,"image":1259,"imageAlt":1260,"meta":1261,"navigation":32,"ogImage":1253,"ogImageAlt":1253,"path":1262,"seo":1263,"stem":1264,"tags":1253,"__hash__":1265},"blog\u002Fblog\u002Fjavascript-tools-developer.md","JavaScript Tools Every Developer Should Know","Chiamaka Kindness Osumgba","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fjavascript-tools-developer\u002Fauthor.jpeg","Chiamaka Kindness Osumgba.","chiamaka-kindness-osumgba",{"type":671,"value":672,"toc":1220},"minimark",[673,708,713,716,725,728,733,740,743,748,755,765,768,774,781,787,789,795,799,810,816,819,825,832,841,845,851,866,870,876,890,894,903,907,910,916,919,922,926,943,947,954,957,963,972,976,979,983,996,1000,1007,1010,1016,1025,1029,1032,1036,1055,1059,1066,1070,1077,1081,1084,1088,1095,1099,1106,1110,1113,1117,1124,1128,1135,1139,1148,1152,1161,1164,1167],[674,675,676,677,684,685,690,691,690,696,701,702,707],"p",{},"JavaScript consistently ",[678,679,683],"a",{"href":680,"rel":681},"https:\u002F\u002Foctoverse.github.com\u002F#top-languages-over-the-years",[682],"nofollow","tops the list"," of popular programming languages, since it’s DevOps-friendly and can be used equally well for frontend and backend apps. Frameworks including ",[678,686,689],{"href":687,"rel":688},"https:\u002F\u002Freactjs.org\u002F",[682],"React",", ",[678,692,695],{"href":693,"rel":694},"https:\u002F\u002Fvuejs.org\u002F",[682],"Vue.js",[678,697,700],{"href":698,"rel":699},"https:\u002F\u002Fnextjs.org\u002F",[682],"Next.js",", and the recent ",[678,703,706],{"href":704,"rel":705},"https:\u002F\u002Fremix.run\u002F",[682],"Remix"," all work with JavaScript. There are plenty of Javascript tools available for developers. Whether you’re a newbie just learning to write JavaScript or a seasoned developer who’s used the language for multiple applications, you’ll find tools in this roundup to help you write clean and efficient code. With increased productivity and easier debugging, you’ll improve your developer experience (DX).",[709,710,712],"h2",{"id":711},"best-javascript-debugging-tools","Best JavaScript Debugging Tools",[674,714,715],{},"Debugging is a routine task in software development. Bugs can be caused by syntax errors, incorrect algorithms, incomplete loops, or other things entirely.",[674,717,718,719,724],{},"According to ",[678,720,723],{"href":721,"rel":722},"https:\u002F\u002Fqueue.acm.org\u002Fdetail.cfm?id=3068754#:~:text=Software%20developers%20spend%2035%2D50,time%20validating%20and%20debugging%20software.&text=The%20cost%20of%20debugging%2C%20testing,more%20than%20%24100%20billion%20annually",[682],"ACM Queue",", developers spend 35–50% of their time validating and debugging software, and debugging, testing, and verification can cost 50–75% of the total budget of a software project.",[674,726,727],{},"Debugging tools for JavaScript simplify the process of finding these bugs, saving you time, energy, and resources. There are several types of tools that help with JavaScript debugging.",[729,730,732],"h3",{"id":731},"browser-console-tools","Browser Console Tools",[674,734,735],{},[736,737],"img",{"alt":738,"src":739},"The browser console.","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fjavascript-tools-developer\u002Fimg-001.png",[674,741,742],{},"The console object provides access to the browser’s debugging console via methods including console.log, console.trace, console.assert, and console.group. The following are some examples:",[744,745,747],"h4",{"id":746},"consolelog","Console.log",[674,749,750,754],{},[751,752,753],"code",{},"console.log()"," is used for outputting text to the console. For example, to output a single object to the console, run this code:",[756,757,762],"pre",{"className":758,"code":760,"language":761},[759],"language-text","let someObject = { str: \"Some text\", id: 5 };\nconsole.log(someObject);\n","text",[751,763,760],{"__ignoreMap":764},"",[674,766,767],{},"The output will be:",[756,769,772],{"className":770,"code":771,"language":761},[759],"[09:27:13.475] ({str:\"Some text\", id:5})\n",[751,773,771],{"__ignoreMap":764},[674,775,776,777,780],{},"You can also output multiple objects by listing them with the ",[751,778,779],{},".info()"," method, as the following:",[756,782,785],{"className":783,"code":784,"language":761},[759],"let car= \"Dodge Charger\";\nlet someObject = { str: \"Some text\", id: 5 };\nconsole.info(\"My first car was a\", car, \". The object is:\", someObject);\n",[751,786,784],{"__ignoreMap":764},[674,788,767],{},[756,790,793],{"className":791,"code":792,"language":761},[759],"[09:28:22.711] My first car was a Dodge Charger . The object is: ({str:\"Some text\", id:5})\n",[751,794,792],{"__ignoreMap":764},[744,796,798],{"id":797},"consoletrace","Console.trace",[674,800,801,802,805,806,809],{},"The ",[751,803,804],{},".trace()"," method will show you the call path taken to reach the point at which you called ",[751,807,808],{},"console.trace()",". For example, in this code:",[756,811,814],{"className":812,"code":813,"language":761},[759],"function foo(){\n  function bar() {\n    console.trace();\n  }\n  bar();\n}\nfoo();\n",[751,815,813],{"__ignoreMap":764},[674,817,818],{},"The output of the code will look something like this:",[674,820,821],{},[736,822],{"alt":823,"src":824},"The above code as it appears in the console.","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fjavascript-tools-developer\u002Fimg-002.png",[674,826,827,828,831],{},"This is handy when you need to find all of the places in your code that call for a particular function. Just call ",[751,829,830],{},"console.trace() js"," at the point where the function is declared.",[674,833,834,835,840],{},"Check our ",[678,836,839],{"href":837,"rel":838},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FAPI\u002Fconsole",[682],"MDN Web docs"," for more about the browser console methods.",[729,842,844],{"id":843},"react-developer-tools","React Developer Tools",[674,846,847],{},[736,848],{"alt":849,"src":850},"The React Developer Tools homepage.","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fjavascript-tools-developer\u002Fimg-003.png",[674,852,853,854,859,860,865],{},"React Developer Tools is a ",[678,855,858],{"href":856,"rel":857},"https:\u002F\u002Fchrome.google.com\u002Fwebstore\u002Fdetail\u002Freact-developer-tools\u002Ffmkadmapgofadopljbjfkapdkoienihi?hl=en",[682],"Chrome"," and ",[678,861,864],{"href":862,"rel":863},"https:\u002F\u002Faddons.mozilla.org\u002Fen-US\u002Ffirefox\u002Faddon\u002Freact-devtools\u002F",[682],"Firefox"," DevTools extension for open source React JavaScript library. It allows you to debug your React application from your browser. Both the root component and the subcomponents show all loaded components, events, and states.",[729,867,869],{"id":868},"vue-devtools","Vue Devtools",[674,871,872],{},[736,873],{"alt":874,"src":875},"The Vue devtools homepage.","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fjavascript-tools-developer\u002Fimg-004.png",[674,877,878,879,883,884,889],{},"Like React Developer Tools, ",[678,880,869],{"href":881,"rel":882},"https:\u002F\u002Fdevtools.vuejs.org\u002F",[682]," helps JavaScript developers debug Vue.js applications. If you’re using an unsupported browser or have specific needs, the extension can be installed ",[678,885,888],{"href":886,"rel":887},"https:\u002F\u002Fdevtools-next.vuejs.org\u002Fguide\u002Fstandalone",[682],"as a standalone application"," using the Node package manager. There are also numerous Vue Devtools plugins available.",[729,891,893],{"id":892},"vs-code-built-in-debugger-tool","VS Code Built-In Debugger Tool",[674,895,896,897,902],{},"If you use the popular Visual Studio Code editor, it comes with a ",[678,898,901],{"href":899,"rel":900},"https:\u002F\u002Fcode.visualstudio.com\u002Fdocs\u002Fintrovideos\u002Fdebugging",[682],"powerful debugger"," that helps accelerate your edit, compile, and debug loop. The VS Code documentation offers excellent information on how to use it.",[709,904,906],{"id":905},"lintingcode-formatting-tools","Linting\u002FCode Formatting Tools",[674,908,909],{},"Linting is the automated process of checking for programmatic or syntax errors during programming. A linter scans your code and flags style bugs or warnings about inconsistencies in code styles. For example, the code below has a syntax error that JavaScript wouldn’t approve:",[756,911,914],{"className":912,"code":913,"language":761},[759],"const someObject = { str: \"Some text\", id: 5 };\nconst someObject = { name: \"Olive\" };\nconsole.log(someObject);\n",[751,915,913],{"__ignoreMap":764},[674,917,918],{},"JavaScript does not allow the constant declaration of variables to be repeated. This sort of error is so minor that it would be hard to detect in a large codebase, but a linter would flag it. Some code formatters will also fix the code after detecting an error.",[674,920,921],{},"The following are several good examples of JavaScript linters.",[729,923,925],{"id":924},"prettier","Prettier",[674,927,928,932,933,938,939,942],{},[678,929,925],{"href":930,"rel":931},"https:\u002F\u002Fprettier.io\u002F",[682]," is an ",[678,934,937],{"href":935,"rel":936},"https:\u002F\u002Fprettier.io\u002Fdocs\u002Fen\u002Fwhy-prettier.html",[682],"opinionated"," code formatter. Just save and your code will be formatted automatically. Your team won’t need to discuss style in code review — just add a ",[751,940,941],{},"prettierrcdocument"," at the root of your project with the required style options.",[729,944,946],{"id":945},"eslint","ESLint",[674,948,949,953],{},[678,950,946],{"href":951,"rel":952},"https:\u002F\u002Feslint.org\u002F",[682]," is a static code analysis tool for identifying and reporting patterns found in ECMAScript or JavaScript code to improve code consistency and prevent errors. It helps maintain code integrity, offers suggestions for code changes, and allows you to format automatically on save.",[674,955,956],{},"ESLint is available as a VS Code extension. It is also available via JavaScript package managers such as npm and yarn, as follows:",[756,958,961],{"className":959,"code":960,"language":761},[759],"npm install eslint --save-devyarn add eslint --dev\n",[751,962,960],{"__ignoreMap":764},[674,964,965,966,971],{},"The ESLint website offers ",[678,967,970],{"href":968,"rel":969},"https:\u002F\u002Feslint.org\u002Fdocs\u002Fuser-guide\u002Fconfiguring\u002F",[682],"detailed documentation"," in how to configure ESLint for your needs.",[709,973,975],{"id":974},"productivity-javascript-tools","Productivity JavaScript Tools",[674,977,978],{},"The way to increase productivity is to automate what you can, saving time and energy, while you focus on writing code. There are multiple JavaScript tools to enhance productivity.",[729,980,982],{"id":981},"regexr","RegExr",[674,984,985,989,990,995],{},[678,986,982],{"href":987,"rel":988},"https:\u002F\u002Fregexr.com\u002F",[682]," is a web tool to learn, build, and test ",[678,991,994],{"href":992,"rel":993},"https:\u002F\u002Fdeveloper.mozilla.org\u002Fen-US\u002Fdocs\u002FWeb\u002FJavaScript\u002FGuide\u002FRegular_Expressions",[682],"regular expressions"," by visualizing the results. RegExr also provides a cheat sheet for regular expressions.",[729,997,999],{"id":998},"faker","Faker",[674,1001,1002,1006],{},[678,1003,999],{"href":1004,"rel":1005},"https:\u002F\u002Ffakerjs.dev\u002F",[682]," is a JavaScript library for generating fake data sets that can be used in testing software.",[674,1008,1009],{},"Faker can be installed using any of the following:",[756,1011,1014],{"className":1012,"code":1013,"language":761},[759],"npm install @faker-js\u002Ffaker --save-devyarn add @faker-js\u002Ffaker -Dpnpm install @faker-js\u002Ffaker -D\n",[751,1015,1013],{"__ignoreMap":764},[674,1017,1018,1019,1024],{},"The Faker ",[678,1020,1023],{"href":1021,"rel":1022},"https:\u002F\u002Ffakerjs.dev\u002Fguide\u002F",[682],"guide"," offers a detailed explanation of installation and usage in the browser, Node applications, and Deno applications.",[709,1026,1028],{"id":1027},"javascript-documentation-tools","JavaScript Documentation Tools",[674,1030,1031],{},"Documentation is a key part of the code review process because it helps developers, testers, and QA engineers to more easily understand the codebase, making maintenance easy. However, the documentation process can be complex, which is where these code documentation tools can help.",[729,1033,1035],{"id":1034},"postman","Postman",[674,1037,1038,1042,1043,1048,1049,1054],{},[678,1039,1035],{"href":1040,"rel":1041},"https:\u002F\u002Fwww.postman.com\u002F",[682]," allows you to build, test, and document APIs and web applications. It can be integrated into your application using the Postman API, and it offers a built-in tool to mock data for ",[678,1044,1047],{"href":1045,"rel":1046},"https:\u002F\u002Fpieces.app\u002Fblog\u002F9-types-of-api-testing-to-ensure-performance-and-security",[682],"different types of API testing",". Postman has extensive documentation and a ",[678,1050,1053],{"href":1051,"rel":1052},"https:\u002F\u002Flearning.postman.com\u002Fdocs\u002Fgetting-started\u002Fintroduction\u002F",[682],"cheat sheet",".",[729,1056,1058],{"id":1057},"swagger","Swagger",[674,1060,1061,1065],{},[678,1062,1058],{"href":1063,"rel":1064},"https:\u002F\u002Fswagger.io\u002F",[682]," is a JSON schema that describes the structure of an API. It’s a good tool for documenting APIs and web applications. Swagger helps you automatically generate and update API documents, ensuring they stay up to date as the API evolves.",[729,1067,1069],{"id":1068},"jsdoc","JSDoc",[674,1071,1072,1076],{},[678,1073,1069],{"href":1074,"rel":1075},"https:\u002F\u002Fjsdoc.app\u002Findex.html",[682]," is an API documentation generator for JavaScript, similar to Javadoc or phpDocumentor. After you add document comments next to the source code, JSDoc scans the source code and generates an HTML document. This makes project documentation easy.",[709,1078,1080],{"id":1079},"javascript-testing-tools","JavaScript Testing Tools",[674,1082,1083],{},"Testing helps to ensure that your code is working as expected and is bug-free. It also ensures that updates don’t introduce new bugs or break other parts of the codebase. These tools save you the trouble of manual testing.",[729,1085,1087],{"id":1086},"jest","Jest",[674,1089,1090,1094],{},[678,1091,1087],{"href":1092,"rel":1093},"https:\u002F\u002Fjestjs.io\u002F",[682]," is a JavaScript testing framework that runs tests in Node.js. Originally built to test React, Jest is available as an npm package. It helps you to write tests that are fast, reliable, and maintainable.",[729,1096,1098],{"id":1097},"cypress","Cypress",[674,1100,1101,1105],{},[678,1102,1098],{"href":1103,"rel":1104},"https:\u002F\u002Fwww.cypress.io\u002F",[682]," is an end-to-end testing framework using snapshots. The all-in-one testing framework with assertion offers a built-in tool for mocking and stubbing. Tests are written in pure JavaScript and work quickly, as they execute directly inside the browser. Cypress is available as an npm package.",[709,1107,1109],{"id":1108},"code-completion-javascript-tools","Code Completion JavaScript Tools",[674,1111,1112],{},"Code completion is the process of providing coding suggestions during programming, which helps you to write code more quickly and efficiently. The following tools will enhance the consistency and readability of your code.",[729,1114,1116],{"id":1115},"tabnine","Tabnine",[674,1118,1119,1123],{},[678,1120,1116],{"href":1121,"rel":1122},"https:\u002F\u002Fwww.tabnine.com\u002F",[682]," is an AI code completion assistant that learns from every interaction, providing personalized, contextually relevant code completions. It supports the most popular languages, libraries, and frameworks, including JavaScript, and it’s available on the major IDEs as extensions.",[729,1125,1127],{"id":1126},"github-copilot","GitHub Copilot",[674,1129,1130,1134],{},[678,1131,1127],{"href":1132,"rel":1133},"https:\u002F\u002Fcopilot.github.com\u002F",[682]," is a GitHub-powered, open-source code review tool that helps you write code faster and with less work. It simplifies coding with a new or unfamiliar language or framework. It’s available as an extension for VS Code, JetBrains, and Neovim.",[709,1136,1138],{"id":1137},"pieces-for-developersthe-ultimate-javascript-tool","Pieces for Developers: The Ultimate JavaScript Tool",[674,1140,1141,1142,1147],{},"All of the JavaScript development tools listed above are extremely helpful in their own right. But, for a more comprehensive development tool, check out ",[678,1143,1146],{"href":1144,"rel":1145},"https:\u002F\u002Fpieces.app\u002Finstall",[682],"Pieces for Developers",". Pieces is useful for JavaScript developers and developers of dozens of other languages. You can easily save code snippets, automatically capture metadata, share snippets with context in one simple link, reuse code with one click, and more. Pieces for Developers is truly a fantastic JavaScript tool that’s also worth looking into if you code in more than JavaScript.",[709,1149,1151],{"id":1150},"conclusion","Conclusion",[674,1153,1154,1155,1160],{},"As ",[678,1156,1159],{"href":1157,"rel":1158},"https:\u002F\u002Finsights.stackoverflow.com\u002Fsurvey\u002F2020#technology-programming-scripting-and-markup-languages-professional-developers",[682],"JavaScript’s popularity"," keeps growing, its ecosystem continues to expand as well. This means many more opportunities for developers to find JavaScript tools that help to improve their code and optimize their workflow.",[674,1162,1163],{},"The JavaScript tools roundup in this article offers some solid options for your software projects. Using them, you’ll be able to write code faster and more efficiently for a better-quality development lifecycle.",[674,1165,1166],{},"Check out our another blog posts:",[1168,1169,1170,1178,1185,1192,1199,1206,1213],"ol",{},[1171,1172,1173],"li",{},[678,1174,1177],{"href":1175,"rel":1176},"https:\u002F\u002Fpieces.app\u002Fblog\u002Freplicate-processes-step-by-step",[682],"Pieces User Stories: Replicate processes step-by-step",[1171,1179,1180],{},[678,1181,1184],{"href":1182,"rel":1183},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fserverside-rendering-with-express-and-ejs-templates",[682],"Serverside Rendering With Express And EJS Templates",[1171,1186,1187],{},[678,1188,1191],{"href":1189,"rel":1190},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fthe-pieces-experience-saving-obscure-commands",[682],"Pieces User Stories: Saving obscure commands",[1171,1193,1194],{},[678,1195,1198],{"href":1196,"rel":1197},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fthe-two-previous-versons-of-q-star-technology",[682],"The Two Previous Versions of Q-Star (Q*) Technology",[1171,1200,1201],{},[678,1202,1205],{"href":1203,"rel":1204},"https:\u002F\u002Fpieces.app\u002Fblog\u002Ftop-23-achievements-of-2023",[682],"Pieces for Developers’ Top 23 Achievements of 2023",[1171,1207,1208],{},[678,1209,1212],{"href":1210,"rel":1211},"https:\u002F\u002Fpieces.app\u002Fblog\u002Funderstanding-typescript-generics",[682],"TypeScript Generics",[1171,1214,1215],{},[678,1216,1219],{"href":1217,"rel":1218},"https:\u002F\u002Fpieces.app\u002Fblog\u002Fvite-vs-webpack-which-build-tool-is-right-for-your-project",[682],"Vite vs Webpack: Which Build Tool is Right for Your Project?",{"title":764,"searchDepth":1221,"depth":1221,"links":1222},2,[1223,1230,1234,1238,1243,1247,1251,1252],{"id":711,"depth":1221,"text":712,"children":1224},[1225,1227,1228,1229],{"id":731,"depth":1226,"text":732},3,{"id":843,"depth":1226,"text":844},{"id":868,"depth":1226,"text":869},{"id":892,"depth":1226,"text":893},{"id":905,"depth":1221,"text":906,"children":1231},[1232,1233],{"id":924,"depth":1226,"text":925},{"id":945,"depth":1226,"text":946},{"id":974,"depth":1221,"text":975,"children":1235},[1236,1237],{"id":981,"depth":1226,"text":982},{"id":998,"depth":1226,"text":999},{"id":1027,"depth":1221,"text":1028,"children":1239},[1240,1241,1242],{"id":1034,"depth":1226,"text":1035},{"id":1057,"depth":1226,"text":1058},{"id":1068,"depth":1226,"text":1069},{"id":1079,"depth":1221,"text":1080,"children":1244},[1245,1246],{"id":1086,"depth":1226,"text":1087},{"id":1097,"depth":1226,"text":1098},{"id":1108,"depth":1221,"text":1109,"children":1248},[1249,1250],{"id":1115,"depth":1226,"text":1116},{"id":1126,"depth":1226,"text":1127},{"id":1137,"depth":1221,"text":1138},{"id":1150,"depth":1221,"text":1151},null,"Software Development","2022-03-25T00:00:00.000Z","Whether you're a newbie or a seasoned developer, you'll find Javascript tools in this roundup to help you write clean and efficient code.",false,"md","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fblog\u002Fjavascript-tools-developer\u002Fhero.jpg","JavaScript Tools Every Developer Should Know.",{},"\u002Fblog\u002Fjavascript-tools-developer",{"title":665,"description":1256},"blog\u002Fjavascript-tools-developer","Qo57mpVuNqj-9S1uPgdIONbdOaVXIzP5Np2PY07GX74",{"id":1267,"title":666,"body":1268,"description":1272,"draft":1257,"extension":1258,"meta":1275,"navigation":32,"path":1276,"photo":1277,"photoAlt":1253,"seo":1278,"stem":1279,"__hash__":1280},"authors\u002Fauthors\u002Fchiamaka-kindness-osumgba.md",{"type":671,"value":1269,"toc":1273},[1270],[674,1271,1272],{},"An experienced Full Stack Web Developer with a demonstrated history of working in the technology ecosystem. Passionate about community development, female involvement in technology, creative problem solving, collaboration and peer coaching. Skilled in Web and Mobile Application Development, Java, Structured and Unstructured query languages like SQL and MongoDB, Nodejs, Python etc.",{"title":764,"searchDepth":1221,"depth":1221,"links":1274},[],{},"\u002Fauthors\u002Fchiamaka-kindness-osumgba","https:\u002F\u002Fstorage.googleapis.com\u002Fpieces-marketing-website\u002Fimages\u002Fauthors\u002Fchiamaka-kindness-osumgba.jpg",{"title":666,"description":1272},"authors\u002Fchiamaka-kindness-osumgba","HmmFyb1VWj4bWvjTksNVCWsU39BhTBh7u3p9Pfj47mk",{"left":1282,"top":1282,"width":1283,"height":1283,"rotate":1282,"vFlip":1257,"hFlip":1257,"body":1284},0,24,"\u003Cpath fill=\"currentColor\" d=\"m7.825 13l4.9 4.9q.3.3.288.7t-.313.7q-.3.275-.7.288t-.7-.288l-6.6-6.6q-.15-.15-.213-.325T4.426 12t.063-.375t.212-.325l6.6-6.6q.275-.275.688-.275t.712.275q.3.3.3.713t-.3.712L7.825 11H19q.425 0 .713.288T20 12t-.288.713T19 13z\"\u002F>"]