Skip to content

feat: add nuxt-multiple-themes module#1419

Open
pooyagolchian wants to merge 1 commit intonuxt:mainfrom
pooyagolchian:add-nuxt-multiple-themes
Open

feat: add nuxt-multiple-themes module#1419
pooyagolchian wants to merge 1 commit intonuxt:mainfrom
pooyagolchian:add-nuxt-multiple-themes

Conversation

@pooyagolchian
Copy link

@pooyagolchian pooyagolchian commented Mar 8, 2026

🔗 Linked issue

N/A: new module submission.

📚 Description

Adds the nuxt-multiple-themes module to the registry. This module provides a multi-theme engine for Nuxt applications with:

  • CSS custom properties for dynamic theming
  • TailwindCSS plugin integration
  • WCAG contrast utilities for accessibility
  • White-label brand context support

npm: https://www.npmjs.com/package/nuxt-multiple-themes
repo:https://github.com/pooyagolchian/vue-multiple-themes

Copilot AI review requested due to automatic review settings March 8, 2026 15:57
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.yml as a new module registry entry
  • References the npm package nuxt-multiple-themes and the GitHub repo pooyagolchian/vue-multiple-themes
  • Lists pooyagolchian as maintainer with UI category

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +1 to +10
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
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
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.

Copilot uses AI. Check for mistakes.
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: 🎨
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
icon: 🎨

Copilot uses AI. Check for mistakes.
npm: nuxt-multiple-themes
icon: 🎨
category: UI
type: community
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
type: community
type: 3rd-party

Copilot uses AI. Check for mistakes.
type: community
maintainers:
- name: Pooya Golchian
github: pooyagolchian
Copy link

Copilot AI Mar 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
github: pooyagolchian
github: pooyagolchian
compatibility:
nuxt: '>=3.0.0'
requires: {}

Copilot uses AI. Check for mistakes.
@pooyagolchian pooyagolchian force-pushed the add-nuxt-multiple-themes branch from c940afe to e995f9e Compare March 8, 2026 16:00
@coderabbitai
Copy link

coderabbitai bot commented Mar 8, 2026

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2536191f-b2a1-4ab4-828d-2f8b13ea611b

📥 Commits

Reviewing files that changed from the base of the PR and between e604f1e and e995f9e.

📒 Files selected for processing (1)
  • nuxt-multiple-themes.yml

📝 Walkthrough

Walkthrough

A new metadata manifest file nuxt-multiple-themes.yml has been added to the project. The file contains structured project information including name, description, repository URL, npm package reference, category, type classification, and a list of project maintainers with their associated GitHub identifiers.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: add nuxt-multiple-themes module' directly and clearly describes the main change: adding a new Nuxt module to the registry.
Description check ✅ Passed The description is directly related to the changeset, providing context about the new module being added, its features, and relevant links.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Tip

Try Coding Plans. Let us write the prompt for your AI agent so you can ship faster (with fewer bugs).
Share your feedback on Discord.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@pooyagolchian
Copy link
Author

CI failure is unrelated to this PR — it's caused by two pre-existing issues:

  1. surrealdb: compatibility regression (module.json indicates ^3.21.0 || ^4.3.0 vs previously marked >=3.10.0)
  2. webfontloader: repository is archived

All 435 modules synced successfully, including this new one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants