feat: add nuxt-multiple-themes module#1419
Conversation
There was a problem hiding this comment.
Pull request overview
This PR adds a new module registry entry for nuxt-multiple-themes, a multi-theme engine for Nuxt applications supporting CSS custom properties, TailwindCSS plugin integration, WCAG contrast utilities, and white-label brand contexts.
Changes:
- Adds
nuxt-multiple-themes.ymlas a new module registry entry - References the npm package
nuxt-multiple-themesand the GitHub repopooyagolchian/vue-multiple-themes - Lists
pooyagolchianas maintainer with UI category
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| name: nuxt-multiple-themes | ||
| description: Multi-theme engine with CSS custom properties, TailwindCSS plugins, WCAG contrast utilities, and white-label brand contexts | ||
| repo: pooyagolchian/vue-multiple-themes | ||
| npm: nuxt-multiple-themes | ||
| icon: 🎨 | ||
| category: UI | ||
| type: community | ||
| maintainers: | ||
| - name: Pooya Golchian | ||
| github: pooyagolchian |
There was a problem hiding this comment.
The YAML file is placed in the repository root (nuxt-multiple-themes.yml) instead of the modules/ subdirectory. All module registry entries live under modules/ (e.g. modules/color-mode.yml, modules/artivue.yml). The sync tooling in lib/utils.ts sets modulesDir = resolve(rootDir, 'modules') and lib/modules.ts reads modules exclusively from that directory, so this file will not be picked up by the sync or build scripts.
| name: nuxt-multiple-themes | |
| description: Multi-theme engine with CSS custom properties, TailwindCSS plugins, WCAG contrast utilities, and white-label brand contexts | |
| repo: pooyagolchian/vue-multiple-themes | |
| npm: nuxt-multiple-themes | |
| icon: 🎨 | |
| category: UI | |
| type: community | |
| maintainers: | |
| - name: Pooya Golchian | |
| github: pooyagolchian | |
| # NOTE: This file is intentionally left without a module definition. | |
| # The nuxt-multiple-themes module registry entry must live under the | |
| # `modules/` directory (e.g. `modules/nuxt-multiple-themes.yml`) so that | |
| # it is picked up by the sync and build tooling. | |
| # | |
| # If you need to update the module metadata, edit the file under `modules/` | |
| # instead of this root-level placeholder. |
nuxt-multiple-themes.yml
Outdated
| description: Multi-theme engine with CSS custom properties, TailwindCSS plugins, WCAG contrast utilities, and white-label brand contexts | ||
| repo: pooyagolchian/vue-multiple-themes | ||
| npm: nuxt-multiple-themes | ||
| icon: 🎨 |
There was a problem hiding this comment.
The icon field is set to an emoji (🎨) instead of a filename referencing an image file in the icons/ directory. The sync script in lib/modules.ts (lines 115–120) validates the icon by resolving it as a file path under icons/ and throws an error if the file does not exist. An emoji value will fail this validation. The icon should either point to an actual image file placed in icons/, or the field should be omitted entirely if no icon is available.
| icon: 🎨 |
nuxt-multiple-themes.yml
Outdated
| npm: nuxt-multiple-themes | ||
| icon: 🎨 | ||
| category: UI | ||
| type: community |
There was a problem hiding this comment.
The type field is set to community, but the sync script in lib/modules.ts (lines 53–62) automatically overrides this based on the repository owner. Since repo is pooyagolchian/vue-multiple-themes (not under nuxt-community/ or nuxt-modules/), the type will be overwritten to 3rd-party on every sync. All other entries in this registry that are not hosted under nuxt-community/ or nuxt-modules/ use type: 3rd-party. The type field should be set to 3rd-party.
| type: community | |
| type: 3rd-party |
| type: community | ||
| maintainers: | ||
| - name: Pooya Golchian | ||
| github: pooyagolchian |
There was a problem hiding this comment.
The compatibility field is missing. Every other module entry in this registry includes a compatibility block specifying at minimum the supported Nuxt version range and a requires object (e.g. compatibility: nuxt: '>=3.0.0'\n requires: {}). The sync script defaults to nuxt: '>=3.0.0' and requires: {} if not provided, but omitting it means the entry diverges from the established format of every other module in this registry. A compatibility block should be added to declare the supported Nuxt version range explicitly.
| github: pooyagolchian | |
| github: pooyagolchian | |
| compatibility: | |
| nuxt: '>=3.0.0' | |
| requires: {} |
c940afe to
e995f9e
Compare
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughA new metadata manifest file Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Tip Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs). Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
CI failure is unrelated to this PR — it's caused by two pre-existing issues:
All 435 modules synced successfully, including this new one. |
🔗 Linked issue
N/A: new module submission.
📚 Description
Adds the
nuxt-multiple-themesmodule to the registry. This module provides a multi-theme engine for Nuxt applications with:npm: https://www.npmjs.com/package/nuxt-multiple-themes
repo:https://github.com/pooyagolchian/vue-multiple-themes