next-cache-components
Expertise in Next.js 16 caching strategies, including the use of cache directives and component-level caching for optimized performance.
Install this skill
Security score
The next-cache-components skill was audited on May 12, 2026 and we found 32 security issues across 3 threat categories. Review the findings below before installing.
Categories Tested
Security Issues
Template literal with variable interpolation in command context
| 89 | cacheTag(`user-${id}`); |
Template literal with variable interpolation in command context
| 91 | const res = await fetch(`https://api.example.com/users/${id}`); |
Template literal with variable interpolation in command context
| 125 | cacheTag(`user-profile-${userId}`); |
Template literal with variable interpolation in command context
| 127 | const user = await fetch(`/api/users/${userId}`).then(r => r.json()); |
Template literal with variable interpolation in command context
| 190 | cacheTag(`blog-${slug}`); |
Template literal with variable interpolation in command context
| 192 | return fetch(`/api/posts/${slug}`).then(r => r.json()); |
Template literal with variable interpolation in command context
| 217 | cacheTag('products', `product-${id}`); |
Template literal with variable interpolation in command context
| 219 | return fetch(`/api/products/${id}`).then(r => r.json()); |
Template literal with variable interpolation in command context
| 237 | revalidateTag(`product-${id}`); |
Template literal with variable interpolation in command context
| 258 | cacheTag('blog', `blog-${slug}`); // Specific post |
Template literal with variable interpolation in command context
| 260 | cacheTag('blog', `blog-comments-${postId}`); // Post comments |
Template literal with variable interpolation in command context
| 266 | revalidateTag(`blog-${slug}`); |
Template literal with variable interpolation in command context
| 311 | cacheTag(`product-${productId}`); |
Template literal with variable interpolation in command context
| 313 | const product = await fetch(`/api/products/${productId}`).then(r => r.json()); |
Template literal with variable interpolation in command context
| 357 | cacheTag('users', `user-${id}`); |
Template literal with variable interpolation in command context
| 418 | cacheTag('products', `product-${id}`); |
Template literal with variable interpolation in command context
| 426 | cacheTag('products', category ? `category-${category}` : 'all-products'); |
Template literal with variable interpolation in command context
| 444 | cacheTag(`product-${id}`); |
Fetch to external URL
| 62 | const data = await fetch('https://api.example.com/data'); |
Fetch to external URL
| 100 | const res = await fetch('https://api.example.com/posts'); |
Fetch to external URL
| 367 | const data = await fetch('https://api.example.com/data', { |
Fetch to external URL
| 377 | return fetch('https://api.example.com/data').then(r => r.json()); |
External URL reference
| 62 | const data = await fetch('https://api.example.com/data'); |
External URL reference
| 91 | const res = await fetch(`https://api.example.com/users/${id}`); |
External URL reference
| 100 | const res = await fetch('https://api.example.com/posts'); |
External URL reference
| 367 | const data = await fetch('https://api.example.com/data', { |
External URL reference
| 377 | return fetch('https://api.example.com/data').then(r => r.json()); |
External URL reference
| 478 | - [Next.js Caching Documentation](https://nextjs.org/docs/app/building-your-application/caching) |
External URL reference
| 479 | - [use cache Directive](https://nextjs.org/docs/app/api-reference/directives/use-cache) |
External URL reference
| 480 | - [cacheLife API](https://nextjs.org/docs/app/api-reference/functions/cacheLife) |
External URL reference
| 481 | - [cacheTag API](https://nextjs.org/docs/app/api-reference/functions/cacheTag) |
External URL reference
| 482 | - [Partial Prerendering](https://nextjs.org/docs/app/building-your-application/rendering/partial-prerendering) |