{"raw":"> Introducing the New Compiler - [serpack](https://github.com/do4ng/serpack)\n\n## Motivation\n\nCurrently, loaders using esbuild are very difficult to scale as I want.\nAlthough it can be implemented by putting the desired function into the code output by esbuild, there are minor problems such as low efficiency.\n\nThat's why I developed a compiler to replace the existing loader with [serpack](https://github.com/do4ng/serpack) loader. New compiler is easy to scale and can be changed to my taste.\n\n## Comparison\n\nBelow is a comparison between the serpack loader and the esbuild loader.\n\n### Performance\n\n```bash\nyarn workspace @playground/typescript dev --loader-performance --serpack\n```\n\n<Box>\n  serpack uses [swc](https://swc.rs/) instead of [esbuild](https://esbuild.github.io/)\n</Box>\n\n### Error tracking\n\nThe serpack loader does not yet support error tracking.\n\n### Stability\n\nSerpack is not finished yet and there are many bugs.\n\n## Getting Started\n\n<Tabs>\n<TabItem id=\"CLI\">\n\n```bash\nnpx zely dev --serpack # or npx zely-cli dev --serpack\n```\n\n</TabItem>\n<TabItem id=\"zely.config.ts\">\n\n```ts\nimport { defineConfig } from 'zely';\n\nexport default defineConfig({\n  experimental: {\n    useSerpack: true,\n  },\n});\n```\n\n</TabItem>\n<TabItem id=\"zely.config.js\">\n\n```js\nconst { defineConfig } = require('zely');\n\nmodule.exports = defineConfig({\n  experimental: {\n    useSerpack: true,\n  },\n});\n```\n\n</TabItem>\n\n</Tabs>\n\nJust enable `experimental.useSerpack`!\n\n## Conclusion\n\nThe serpack is **not ready to be used as a production** yet.  \nHowever, some of the features will be developed based on the serverpack, and the end goal is to replace the esbuild loader\n","target":{"title":"New Compiler","date":"25-01-13","description":"Introducing a new compiler architecture for faster and more efficient code transformation.","category":"Engineering"},"compiled":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nfunction _createMdxContent(props) {\n  const _components = {\n    a: \"a\",\n    blockquote: \"blockquote\",\n    br: \"br\",\n    code: \"code\",\n    figure: \"figure\",\n    h2: \"h2\",\n    h3: \"h3\",\n    p: \"p\",\n    pre: \"pre\",\n    span: \"span\",\n    strong: \"strong\",\n    ...props.components\n  }, {Box, TabItem, Tabs} = _components;\n  if (!Box) _missingMdxReference(\"Box\", true);\n  if (!TabItem) _missingMdxReference(\"TabItem\", true);\n  if (!Tabs) _missingMdxReference(\"Tabs\", true);\n  return _jsxs(_Fragment, {\n    children: [_jsxs(_components.blockquote, {\n      children: [\"\\n\", _jsxs(_components.p, {\n        children: [\"Introducing the New Compiler - \", _jsx(_components.a, {\n          href: \"https://github.com/do4ng/serpack\",\n          children: \"serpack\"\n        })]\n      }), \"\\n\"]\n    }), \"\\n\", _jsx(_components.h2, {\n      children: \"Motivation\"\n    }), \"\\n\", _jsx(_components.p, {\n      children: \"Currently, loaders using esbuild are very difficult to scale as I want.\\nAlthough it can be implemented by putting the desired function into the code output by esbuild, there are minor problems such as low efficiency.\"\n    }), \"\\n\", _jsxs(_components.p, {\n      children: [\"That's why I developed a compiler to replace the existing loader with \", _jsx(_components.a, {\n        href: \"https://github.com/do4ng/serpack\",\n        children: \"serpack\"\n      }), \" loader. New compiler is easy to scale and can be changed to my taste.\"]\n    }), \"\\n\", _jsx(_components.h2, {\n      children: \"Comparison\"\n    }), \"\\n\", _jsx(_components.p, {\n      children: \"Below is a comparison between the serpack loader and the esbuild loader.\"\n    }), \"\\n\", _jsx(_components.h3, {\n      children: \"Performance\"\n    }), \"\\n\", _jsx(_components.figure, {\n      \"data-rehype-pretty-code-figure\": \"\",\n      children: _jsx(_components.pre, {\n        tabIndex: \"0\",\n        \"data-language\": \"bash\",\n        \"data-theme\": \"material-theme-palenight github-light\",\n        children: _jsx(_components.code, {\n          \"data-language\": \"bash\",\n          \"data-theme\": \"material-theme-palenight github-light\",\n          style: {\n            display: \"grid\"\n          },\n          children: _jsxs(_components.span, {\n            \"data-line\": \"\",\n            children: [_jsx(_components.span, {\n              style: {\n                \"--shiki-dark\": \"#FFCB6B\",\n                \"--shiki-light\": \"#6F42C1\"\n              },\n              children: \"yarn\"\n            }), _jsx(_components.span, {\n              style: {\n                \"--shiki-dark\": \"#C3E88D\",\n                \"--shiki-light\": \"#032F62\"\n              },\n              children: \" workspace\"\n            }), _jsx(_components.span, {\n              style: {\n                \"--shiki-dark\": \"#C3E88D\",\n                \"--shiki-light\": \"#032F62\"\n              },\n              children: \" @playground/typescript\"\n            }), _jsx(_components.span, {\n              style: {\n                \"--shiki-dark\": \"#C3E88D\",\n                \"--shiki-light\": \"#032F62\"\n              },\n              children: \" dev\"\n            }), _jsx(_components.span, {\n              style: {\n                \"--shiki-dark\": \"#C3E88D\",\n                \"--shiki-light\": \"#005CC5\"\n              },\n              children: \" --loader-performance\"\n            }), _jsx(_components.span, {\n              style: {\n                \"--shiki-dark\": \"#C3E88D\",\n                \"--shiki-light\": \"#005CC5\"\n              },\n              children: \" --serpack\"\n            })]\n          })\n        })\n      })\n    }), \"\\n\", _jsx(Box, {\n      children: _jsxs(_components.p, {\n        children: [\"serpack uses \", _jsx(_components.a, {\n          href: \"https://swc.rs/\",\n          children: \"swc\"\n        }), \" instead of \", _jsx(_components.a, {\n          href: \"https://esbuild.github.io/\",\n          children: \"esbuild\"\n        })]\n      })\n    }), \"\\n\", _jsx(_components.h3, {\n      children: \"Error tracking\"\n    }), \"\\n\", _jsx(_components.p, {\n      children: \"The serpack loader does not yet support error tracking.\"\n    }), \"\\n\", _jsx(_components.h3, {\n      children: \"Stability\"\n    }), \"\\n\", _jsx(_components.p, {\n      children: \"Serpack is not finished yet and there are many bugs.\"\n    }), \"\\n\", _jsx(_components.h2, {\n      children: \"Getting Started\"\n    }), \"\\n\", _jsxs(Tabs, {\n      children: [_jsx(TabItem, {\n        id: \"CLI\",\n        children: _jsx(_components.figure, {\n          \"data-rehype-pretty-code-figure\": \"\",\n          children: _jsx(_components.pre, {\n            tabIndex: \"0\",\n            \"data-language\": \"bash\",\n            \"data-theme\": \"material-theme-palenight github-light\",\n            children: _jsx(_components.code, {\n              \"data-language\": \"bash\",\n              \"data-theme\": \"material-theme-palenight github-light\",\n              style: {\n                display: \"grid\"\n              },\n              children: _jsxs(_components.span, {\n                \"data-line\": \"\",\n                children: [_jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#FFCB6B\",\n                    \"--shiki-light\": \"#6F42C1\"\n                  },\n                  children: \"npx\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#C3E88D\",\n                    \"--shiki-light\": \"#032F62\"\n                  },\n                  children: \" zely\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#C3E88D\",\n                    \"--shiki-light\": \"#032F62\"\n                  },\n                  children: \" dev\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#C3E88D\",\n                    \"--shiki-light\": \"#005CC5\"\n                  },\n                  children: \" --serpack\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#676E95\",\n                    \"--shiki-dark-font-style\": \"italic\",\n                    \"--shiki-light\": \"#6A737D\",\n                    \"--shiki-light-font-style\": \"inherit\"\n                  },\n                  children: \" # or npx zely-cli dev --serpack\"\n                })]\n              })\n            })\n          })\n        })\n      }), _jsx(TabItem, {\n        id: \"zely.config.ts\",\n        children: _jsx(_components.figure, {\n          \"data-rehype-pretty-code-figure\": \"\",\n          children: _jsx(_components.pre, {\n            tabIndex: \"0\",\n            \"data-language\": \"ts\",\n            \"data-theme\": \"material-theme-palenight github-light\",\n            children: _jsxs(_components.code, {\n              \"data-language\": \"ts\",\n              \"data-theme\": \"material-theme-palenight github-light\",\n              style: {\n                display: \"grid\"\n              },\n              children: [_jsxs(_components.span, {\n                \"data-line\": \"\",\n                children: [_jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-dark-font-style\": \"italic\",\n                    \"--shiki-light\": \"#D73A49\",\n                    \"--shiki-light-font-style\": \"inherit\"\n                  },\n                  children: \"import\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \" {\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#BABED8\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \" defineConfig\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \" }\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-dark-font-style\": \"italic\",\n                    \"--shiki-light\": \"#D73A49\",\n                    \"--shiki-light-font-style\": \"inherit\"\n                  },\n                  children: \" from\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#032F62\"\n                  },\n                  children: \" '\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#C3E88D\",\n                    \"--shiki-light\": \"#032F62\"\n                  },\n                  children: \"zely\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#032F62\"\n                  },\n                  children: \"'\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \";\"\n                })]\n              }), \"\\n\", _jsx(_components.span, {\n                \"data-line\": \"\",\n                children: \" \"\n              }), \"\\n\", _jsxs(_components.span, {\n                \"data-line\": \"\",\n                children: [_jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-dark-font-style\": \"italic\",\n                    \"--shiki-light\": \"#D73A49\",\n                    \"--shiki-light-font-style\": \"inherit\"\n                  },\n                  children: \"export\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-dark-font-style\": \"italic\",\n                    \"--shiki-light\": \"#D73A49\",\n                    \"--shiki-light-font-style\": \"inherit\"\n                  },\n                  children: \" default\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#82AAFF\",\n                    \"--shiki-light\": \"#6F42C1\"\n                  },\n                  children: \" defineConfig\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#BABED8\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"(\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"{\"\n                })]\n              }), \"\\n\", _jsxs(_components.span, {\n                \"data-line\": \"\",\n                children: [_jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#F07178\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"  experimental\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \":\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \" {\"\n                })]\n              }), \"\\n\", _jsxs(_components.span, {\n                \"data-line\": \"\",\n                children: [_jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#F07178\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"    useSerpack\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \":\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#FF9CAC\",\n                    \"--shiki-light\": \"#005CC5\"\n                  },\n                  children: \" true\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \",\"\n                })]\n              }), \"\\n\", _jsx(_components.span, {\n                \"data-line\": \"\",\n                children: _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"  },\"\n                })\n              }), \"\\n\", _jsxs(_components.span, {\n                \"data-line\": \"\",\n                children: [_jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"}\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#BABED8\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \")\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \";\"\n                })]\n              })]\n            })\n          })\n        })\n      }), _jsx(TabItem, {\n        id: \"zely.config.js\",\n        children: _jsx(_components.figure, {\n          \"data-rehype-pretty-code-figure\": \"\",\n          children: _jsx(_components.pre, {\n            tabIndex: \"0\",\n            \"data-language\": \"js\",\n            \"data-theme\": \"material-theme-palenight github-light\",\n            children: _jsxs(_components.code, {\n              \"data-language\": \"js\",\n              \"data-theme\": \"material-theme-palenight github-light\",\n              style: {\n                display: \"grid\"\n              },\n              children: [_jsxs(_components.span, {\n                \"data-line\": \"\",\n                children: [_jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#C792EA\",\n                    \"--shiki-light\": \"#D73A49\"\n                  },\n                  children: \"const\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \" {\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#BABED8\",\n                    \"--shiki-light\": \"#005CC5\"\n                  },\n                  children: \" defineConfig\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \" }\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#D73A49\"\n                  },\n                  children: \" =\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#82AAFF\",\n                    \"--shiki-light\": \"#6F42C1\"\n                  },\n                  children: \" require\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#BABED8\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"(\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#032F62\"\n                  },\n                  children: \"'\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#C3E88D\",\n                    \"--shiki-light\": \"#032F62\"\n                  },\n                  children: \"zely\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#032F62\"\n                  },\n                  children: \"'\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#BABED8\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \")\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \";\"\n                })]\n              }), \"\\n\", _jsx(_components.span, {\n                \"data-line\": \"\",\n                children: \" \"\n              }), \"\\n\", _jsxs(_components.span, {\n                \"data-line\": \"\",\n                children: [_jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#005CC5\"\n                  },\n                  children: \"module\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \".\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#005CC5\"\n                  },\n                  children: \"exports\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#D73A49\"\n                  },\n                  children: \" =\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#82AAFF\",\n                    \"--shiki-light\": \"#6F42C1\"\n                  },\n                  children: \" defineConfig\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#BABED8\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"(\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"{\"\n                })]\n              }), \"\\n\", _jsxs(_components.span, {\n                \"data-line\": \"\",\n                children: [_jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#F07178\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"  experimental\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \":\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \" {\"\n                })]\n              }), \"\\n\", _jsxs(_components.span, {\n                \"data-line\": \"\",\n                children: [_jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#F07178\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"    useSerpack\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \":\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#FF9CAC\",\n                    \"--shiki-light\": \"#005CC5\"\n                  },\n                  children: \" true\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \",\"\n                })]\n              }), \"\\n\", _jsx(_components.span, {\n                \"data-line\": \"\",\n                children: _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"  },\"\n                })\n              }), \"\\n\", _jsxs(_components.span, {\n                \"data-line\": \"\",\n                children: [_jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \"}\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#BABED8\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \")\"\n                }), _jsx(_components.span, {\n                  style: {\n                    \"--shiki-dark\": \"#89DDFF\",\n                    \"--shiki-light\": \"#24292E\"\n                  },\n                  children: \";\"\n                })]\n              })]\n            })\n          })\n        })\n      })]\n    }), \"\\n\", _jsxs(_components.p, {\n      children: [\"Just enable \", _jsx(_components.code, {\n        children: \"experimental.useSerpack\"\n      }), \"!\"]\n    }), \"\\n\", _jsx(_components.h2, {\n      children: \"Conclusion\"\n    }), \"\\n\", _jsxs(_components.p, {\n      children: [\"The serpack is \", _jsx(_components.strong, {\n        children: \"not ready to be used as a production\"\n      }), \" yet.\", _jsx(_components.br, {}), \"\\n\", \"However, some of the features will be developed based on the serverpack, and the end goal is to replace the esbuild loader\"]\n    })]\n  });\n}\nfunction MDXContent(props = {}) {\n  const {wrapper: MDXLayout} = props.components || ({});\n  return MDXLayout ? _jsx(MDXLayout, {\n    ...props,\n    children: _jsx(_createMdxContent, {\n      ...props\n    })\n  }) : _createMdxContent(props);\n}\nreturn {\n  default: MDXContent\n};\nfunction _missingMdxReference(id, component) {\n  throw new Error(\"Expected \" + (component ? \"component\" : \"object\") + \" `\" + id + \"` to be defined: you likely forgot to import, pass, or provide it.\");\n}\n","previousPost":{"title":"Serpack v0.1.31","date":"25-06-07","description":"Introducing new improvements and updates in Serpack v0.1.31.","category":"Release"},"nextPost":{"title":"Breaking Change: zely@4!","date":"24-12-01","description":"A major update to Zely 4, bringing significant changes to its API and internal architecture.","category":"Release"}}