
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@dentai/ui
Advanced tools
A modern, accessible React component library for dental applications.
npm install @dentai/ui
# or
yarn add @dentai/ui
import { Button } from '@dentai/ui';
function App() {
return (
<Button variant="primary">
Click me
</Button>
);
}
git clone https://github.com/your-org/dentai-ui.git
cd dentai-ui
npm install
npm run storybook
npm test
To build the library:
npm run build:lib
To build Storybook:
npm run build-storybook
The npm pack command creates a tarball (.tgz file) that contains exactly what would be published to npm. This is useful for:
To test the library in your application:
npm run pack:test
This will:
npm run build:lib)dentai-ui-0.1.0.tgz)package.json's files field:
/dist - Built library filesREADME.md - Documentationnpm install /path/to/dentai-ui-0.1.0.tgz
You can also inspect the contents of the tarball:
tar -tvf dentai-ui-0.1.0.tgz
The library uses semantic versioning (MAJOR.MINOR.PATCH) with automated version increments based on commit messages:
Your commit messages determine the version increment:
# Patch Version (0.0.X) - Bug fixes and minor changes
fix(button): resolve click handler not firing
fix(input): correct typing issue
perf(table): improve rendering performance
style(dialog): fix padding inconsistency
# Minor Version (0.X.0) - New features
feat(dropdown): add search functionality
feat(input): add phone number formatting
# Major Version (X.0.0) - Breaking changes
# Method 1: Using BREAKING CHANGE in commit body
feat(button): redesign button API
BREAKING CHANGE: Button props interface has changed
- removed 'size' prop
- 'variant' prop now accepts different values
# Method 2: Using breaking prefix
breaking(input): complete redesign of input component
Use these scopes to indicate which component is affected:
buttoninputdialogtabletabsdropdownsidebarphone-inputdocscideps# Bug fix (patch)
git commit -m "fix(button): resolve hover state not clearing"
# New feature (minor)
git commit -m "feat(input): add autocomplete support"
# Breaking change (major)
git commit -m "feat(dialog): redesign dialog API
BREAKING CHANGE: Dialog component now uses a new API
- 'open' prop renamed to 'isOpen'
- 'onClose' is now required
- New 'size' prop replaces 'width' and 'height'"
While versions are automatically managed, you can still use these commands if needed:
# Increment patch version (0.0.X)
npm run version:patch
# Increment minor version (0.X.0)
npm run version:minor
# Increment major version (X.0.0)
npm run version:major
To create a release with changelog manually:
npm run release:patch # For bug fixes
npm run release:minor # For new features
npm run release:major # For breaking changes
npm testnpm run test:watchnpm test -- --coveragegit checkout -b feature/your-feature-name
git commit -m "feat: add new component"
git push origin feature/your-feature-name
npm run dev - Start Next.js development servernpm run build - Build Next.js applicationnpm run storybook - Start Storybook development servernpm run build-storybook - Build Storybook for deploymentnpm test - Run testsnpm run build:lib - Build the component librarynpm run chromatic - Publish to Chromaticnpm run release - Create a new releasenpm run pack:test - Generate a test bundlenpm run version:patch - Increment patch versionnpm run version:minor - Increment minor versionnpm run version:major - Increment major versionnpm run release:patch - Create patch release with changelognpm run release:minor - Create minor release with changelognpm run release:major - Create major release with changelogdentai-ui/
├── src/ # Source code
├── dist/ # Built library output
├── stories/ # Storybook stories
├── tests/ # Test files
└── .github/ # GitHub Actions workflows
MIT
Create an npm account if you don't have one:
npm adduser
Login to npm:
npm login
Create an npm organization (if not already done):
# Visit https://www.npmjs.com/org/create
# Create the 'dentai' organization
The package is automatically published to npm when:
To publish manually (if needed):
# Build the library
npm run build:lib
# Publish to npm
npm publish
For CI/CD publishing, you need to set up an npm token:
Generate a new access token:
npm token create
Add the token to GitHub Secrets:
NPM_TOKENThis package is published under the @dentai scope:
npm install @dentai/ui
The scope ensures:
FAQs
A modern, accessible React component library for dental applications.
We found that @dentai/ui demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.