grill-me
Interview the user relentlessly about a plan or design until reaching shared understanding,…
Covers how to configure the maximum allowed size of the Webiny API Lambda bundle using the Infra.Api.MaxBundleSize extension in webiny.config.tsx. Use when a project's API bundle exceeds the default 4.5 MB limit or when you want to enforce a stricter limit. Handles the extension
$ npx -y skills add webiny/webiny-js --skill api-bundle-size-limit --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/api-bundle-size-limitContext preview
The summary Claude sees to decide when to auto-load this skill.
Covers how to configure the maximum allowed size of the Webiny API Lambda bundle using the Infra.Api.MaxBundleSize extension in webiny.config.tsx. Use when a project's API bundle exceeds the default 4.5 MB limit or when you want to enforce a stricter limit. Handles the extension
name: api-bundle-size-limit description: > Covers how to configure the maximum allowed size of the Webiny API Lambda bundle using the Infra.Api.MaxBundleSize extension in webiny.config.tsx. Use when a project's API bundle exceeds the default 4.5 MB limit or when you want to enforce a stricter limit. Handles the extension syntax, byte calculations, and interpreting the build error message.
The `Infra.Api.MaxBundleSize` extension enforces a maximum size on the built API Lambda bundle. The default limit is 4.5 MB. If the bundle exceeds the limit the build fails with a clear error; add the extension to `webiny.config.tsx` to raise (or lower) it.
By default Webiny enforces a **4.5 MB** limit on the API Lambda bundle (`handler.mjs`). If the built output exceeds this, the build fails:
error Build errors: × asset size limit: The following asset(s) exceed the recommended size limit (4.5 MiB). × entrypoint size limit: The following entrypoint(s) combined asset size exceeds the recommended limit (4.5 MiB). error build failed
Add `Infra.Api.MaxBundleSize` to `webiny.config.tsx` with `size` in **bytes**:
// webiny.config.tsx
import { Infra } from "webiny/extensions";
export const Extensions = () => (
<>
{/* Raise the API bundle size limit to 6 MB */}
<Infra.Api.MaxBundleSize size={6 * 1024 * 1024} />
</>
);Common byte values:
| MB | Bytes expression | Exact bytes | | --- | ------------------------------- | ----------------- | | 4.5 | `Math.round(4.5 * 1024 * 1024)` | 4718592 (default) | | 5 | `5 * 1024 * 1024` | 5242880 | | 6 | `6 * 1024 * 1024` | 6291456 | | 8 | `8 * 1024 * 1024` | 8388608 | | 10 | `10 * 1024 * 1024` | 10485760 |
The extension sets the `WEBINY_INFRA_API_MAX_BUNDLE_SIZE` environment variable (in bytes) which is read by the API bundler (`@webiny/build-tools`) at build time. The `WEBINY_INFRA_` prefix ensures the variable is **not** automatically forwarded to the Lambda function's runtime environment.
You can also enforce a stricter limit to catch bundle regressions early:
{
/* Enforce a strict 3 MB limit */
}
<Infra.Api.MaxBundleSize size={3 * 1024 * 1024} />;| Task | Snippet | | ------------------------ | ----------------------------------------------------- | | Raise to 6 MB | `<Infra.Api.MaxBundleSize size={6 * 1024 * 1024} />` | | Raise to 10 MB | `<Infra.Api.MaxBundleSize size={10 * 1024 * 1024} />` | | Restore default (4.5 MB) | Remove the extension | | Convert MB to bytes | `Math.round(N * 1024 * 1024)` |
Open-source content platform. Self-hosted on AWS serverless. Built as a TypeScript framework you extend with code, not a closed product you configure through a UI. Runs on Lambda, DynamoDB, S3, and CloudFront inside your own AWS account. Scales automatically.
Repo: webiny/webiny-js
Interview the user relentlessly about a plan or design until reaching shared understanding,…
Turn a PRD into a multi-phase implementation plan using tracer-bullet vertical slices, saved…
Webiny-only. Run all checks required before packages are ready for publish: deps, build,…
Use when running tests. Shows how to run tests for a single package, including OpenSearch…
Generate, refresh, and maintain Webiny MCP server skills from source documentation and…
Create a PRD through user interview, codebase exploration, and module design, then submit as…