@dimelords/plugins
v0.1.8
Published
A collection of plugins for the Dimelords Dashboard system.
Readme
Dimelords Plugins
A collection of plugins for the Dimelords Dashboard system.
Development Setup
Prerequisites
- Node.js (LTS version recommended)
- pnpm 9.15.4 or later
- Git
Initial Setup
- Clone the repository:
git clone https://github.com/dimelords/plugins.git
cd plugins- Install dependencies:
pnpm install- Build all packages:
pnpm buildDevelopment Workflow
Create a new plugin:
cd packages
mkdir my-plugin
cd my-plugin
# Initialize plugin following counter or weather plugin as exampleProject Structure
plugins/
├── packages/
│ ├── counter/ # Counter plugin
│ ├── weather/ # Weather plugin
│ └── [new-plugin]/ # Your new plugin
├── .changeset/ # Changeset configuration and files
├── .github/ # GitHub Actions workflows
└── package.json # Workspace configurationWorking with the Shared Library
The plugins use the shared component library (@dimelords/shared). The shared library is included as a workspace dependency and provides:
- Common components
- Styling (Tailwind CSS)
- Plugin base classes
- Message bus for inter-plugin communication
Publishing New Versions
We use changesets to manage versions and changelogs.
Steps to Publish a New Version
- Make your changes and commit them:
git add .
git commit -m "fix: description of your changes"- Create a changeset to document your changes:
pnpm changeset- Select the type of change (major, minor, or patch)
- Select which packages are affected
- Write a description of your changes
- Update package versions and changelogs:
pnpm version-packages- Review the changes:
- Check package.json version updates
- Review generated changeset files
- Look through changelog updates
- Commit version updates:
git add .
git commit -m "chore: version packages"
git push- The GitHub action will automatically:
- Build the packages
- Publish to npm
- Create a GitHub release
Package Types
- patch (0.0.X) - Bug fixes and minor updates
- minor (0.X.0) - New features, backwards compatible
- major (X.0.0) - Breaking changes
Tips
- Always create changelogs for user-facing changes
- One changeset can include multiple packages
- Write clear, user-focused changeset descriptions
- Test your changes before publishing
Troubleshooting
Common Issues
- Build failures:
# Clean all node_modules
pnpm -r clean
# Reinstall dependencies
pnpm install
# Rebuild all packages
pnpm build- Dependency issues:
# Update dependencies
pnpm update -r- Workspace issues:
# Check workspace integrity
pnpm install --force