@letm/atomic-ui
v1.2.0
Published
LETm shared atomic UI components
Downloads
571
Readme
LETM Atomic UI
Shared Atomic UI component library for LETM microfrontends.
Built using:
- React
- TypeScript
- Tailwind CSS
- Vite
Published as npm package:
@letm/atomic-uiInstallation
Install package inside any MFE/application:
npm install @letm/atomic-uiImport styles globally:
import "@letm/atomic-ui/styles.css";Use components:
import { Button } from "@letm/atomic-ui";
export default function App() {
return (
<Button variant="primary">
Click Me
</Button>
);
}Local Development
Go to package:
cd packages/atomic-uiInstall dependencies:
npm installBuild package:
npm run buildFolder Structure
packages/atomic-ui/
├── src/
│ ├── components/
│ ├── styles.css
│ └── index.ts
├── package.json
├── tsconfig.json
└── vite.config.tsCreating New Component
Example structure:
src/components/Input/
├── Input.tsx
├── Input.types.ts
└── index.tsExport component from:
src/index.tsExample:
export * from "./components/Input";Build Package
From root:
npm run buildOr from package:
cd packages/atomic-ui
npm run buildBuild output:
dist/
├── index.js
├── index.cjs
├── index.d.ts
└── styles.cssPublish Package
Step 1 — Login to npm
npm loginVerify logged-in user:
npm whoamiStep 2 — Update Package Version
Patch release:
npm version patchMinor release:
npm version minorMajor release:
npm version majorExamples:
1.0.0 → Initial release
1.0.1 → Bug fix
1.1.0 → New component
2.0.0 → Breaking changesStep 3 — Publish to npm
From package folder:
cd packages/atomic-ui
npm publish --access publicOr from monorepo root:
npm publish --workspace @letm/atomic-ui --access publicUpdating Package in MFE
Install latest version:
npm install @letm/atomic-ui@latestInstall specific version:
npm install @letm/[email protected]Best Practices
Do
- Keep components reusable
- Use TypeScript types
- Keep accessibility support
- Export from barrel files
- Maintain semantic versioning
Avoid
- Hardcoded business logic
- Direct MFE dependencies
- Importing internal files directly
- Bundling React inside package
Recommended Future Improvements
- Storybook
- Changesets
- CI/CD auto publish
- Design tokens package
- Shared icon package
- Theme support
- Visual regression testing
Current Stack
- React
- TypeScript
- Tailwind CSS v4
- Vite
- npm Workspaces
- Microfrontend Architecture
Using Different Atomic UI Versions in Different MFEs
Each MFE can use its own version of @letm/atomic-ui.
Example:
product-mfe → @letm/[email protected]
checkout-mfe → @letm/[email protected]
account-mfe → @letm/[email protected]