linid-im-front-corelib is a TypeScript library designed as a core front-end module for the LinID Identity Management
ecosystem.
It provides shared interfaces, types, default services, and plugin-zone components used across the LinID front-end
applications, including:
- The Vue.js/Quasar module federation host
- The remote plugin repositories
This library ensures consistency across all front-end modules by centralizing common logic, validation tools, and data structures for identity management features such as CRUD operations on persons, users, and related entities.
This library is part of a larger ecosystem including Java back-end services, workflow APIs, multiple plugins, and front-end modules.
- Shared TypeScript interfaces and types
- Core services used across LinID front-end apps
- Plugin zone components for dynamic front-end plugin integration
- Common validation utilities for identity management workflows
- Designed to integrate seamlessly with Vue.js, Quasar, and module federation architecture
| Area | Technology |
|---|---|
| Language | TypeScript |
| Framework | Vue.js (Composition API) |
| UI Toolkit | Quasar Framework |
| Module System | Module Federation |
| Package Manager | npm / pnpm |
Ensure the following requirements to use or develop the library:
- Node.js ≥ 22.19
- Package manager: npm, pnpm (>= 10)
- Vue.js 3 project
- Quasar Framework if using UI components
- A bundler supporting Module Federation (Webpack 5, Vite, Rsbuild and Rspack)
Install the library from npm:
npm install @linagora/linid-im-front-corelibpnpm add @linagora/linid-im-front-corelibThis project is licensed under: GNU Affero General Public License version 3
A full technical documentation is available in the docs/ directory:
-
🔄 Module Lifecycle System Learn how business modules initialize themselves with the standardized lifecycle system. →
docs/module-lifecycle.md -
🔌 Plugin Zone Component Learn how to use the component that dynamically renders remote Vue plugins. →
docs/components-plugin-zones.md -
🧰 Services Detailed description of all services provided by the library. →
docs/services.md -
🧩 TypeScript Types & Interfaces Detailed description of all types and interfaces used in the plugin system. →
docs/types-and-interfaces.md -
🎨 UI Design Configuration (
UiDesign) Learn how to initialize and use theUiDesignsingleton and theuseUiDesigncomposable for dynamic UI personalization. →docs/ui-design.md -
🎨 I18n Configuration (
i18n) Learn how to initialize and use thei18nsingleton and theuseScopedI18ncomposable for internationalization. →docs/i18n.md -
🔔 Notification System (
useNotify) Learn how to use theuseNotifycomposable to display notifications within your application. →docs/notify.md -
📄 Pagination (
usePagination) Learn how to convert between backend pagination models and Quasar QTable pagination formats. →docs/pagination.md -
⚙️ Field Validation (
useFieldValidation,useQuasarFieldValidation&useQuasarRules) Learn how to implement field validation compatible with Quasar framework. →docs/field-validation.md
More documents will be added as the library evolves.
We welcome contributions to improve and extend this core library. Please refer to the CONTRIBUTING.md file for:
- Development workflow
- Code guidelines
- Commit conventions
- Pull request rules