@pristy/pristy-libvue

Core library used by all Pristy applications
22,350
Install
npm install @pristy/pristy-libvue
Latest Version:3.4.2
Vue:3
License:AGPL-3.0
Last Updated:Oct 20, 2026
Links: GitLab  ·  npm
Maintainer: jeremie.lesage

Pristy Libvue

Shared Vue 3 component library for the Pristy ECM suite. Provides reusable components, services, stores, composables, and plugins used across all Pristy frontend applications.

Installation

npm install @pristy/pristy-libvue

Usage

All exports use named imports:

import { alfrescoFileService, useUserStore, TreeExplorer } from "@pristy/pristy-libvue"

What's included

Category Examples Count
Components TreeExplorer, PDFComponent, DynamicContentView, CopyOrMovePopup, AdvancedSearchPanel, ChatPanel ~45
Services alfrescoFileService, alfrescoNodeService, configService, workspaceService, errorService ~20
Stores (Pinia) useUserStore, useConfigStore, useNavigationStore, useFavoritesStore, useSearchStore ~15
Composables useCodeMirror, useMarkdownPreview, useCollabEditor, useCollabWebSocket 5
Pages LoginPage, NotFoundPages, ErrorPage 3
Plugins vueKeyCloak 1

See src/index.js for the full list of exports.

Peer Dependencies

These must be installed by the consuming application:

Package Version
vue ^3.5
vue-i18n ^11.3
vue-router ^4.6
@codemirror/* ^6.x (14 packages)
codemirror 6.0.2
remixicon ^4.9.1

remixicon needs more than being installed: the components reference its classes (344 distinct ri-* classes across 97 components) but the library never imports the stylesheet, so the consuming application must load the font once, globally, from its entry point:

import "remixicon/fonts/remixicon.css";

Without that import the icons render as blank squares, with no error and no npm warning.

Local Development

Build the library

npm install
npm run build:library

Link locally to another Pristy app

# In pristy-libvue
npm link

# In the consuming app (e.g. pristy-espaces)
npm link ../pristy-libvue
npm run dev.link      # Uses vite.config.link.js

After any change to pristy-libvue, rebuild with npm run build:library (or use npm run build:dev for watch mode with source maps).

Available scripts

Script Description
npm run build:library Production build (ESM + UMD + CSS + .d.ts)
npm run build:dev Watch mode build with source maps
npm run analyze Bundle size analysis (opens stats.html)
npm run lint Lint and auto-fix with ESLint
npm run check Lint without fixing (CI mode)
npm run format Format with Prettier
npm run test Run tests with Vitest
npm run coverage Generate test coverage report

Architecture

The library follows a Services -> Stores -> Components pattern:

  • Services (src/services/): Stateless modules handling API calls and business logic
  • Stores (src/stores/): Pinia stores managing session state
  • Components (src/components/): UI presentation consuming stores
  • Composables (src/composables/): Reusable composition functions (CodeMirror, Markdown, WebSocket)

Conventions

  • Icons: Remixicon only (ri-* classes). No PrimeIcons.
  • i18n: All user-facing strings must use $t('key'). No hardcoded text.
  • Imports: Use @/ alias for all internal imports. Never import from @/index.js internally.
  • License: Every .vue and .js file must include the AGPL-3.0 header.
  • Comments: English only.

License

AGPL-3.0 - Copyright (C) 2022 Jeci SARL

"Pristy" is a registered trademark of Jeci SARL (INPI FR 4801689). This license grants no right to use it.

Related Packages

pristy-portail

Pristy Espace is like a Drive for Enterprise

3,969
@pristy/pristy-espaces

Pristy Espace is like a Drive for Enterprise

3,593
vue

The progressive JavaScript framework for building modern web UI.

588,019,132 54,801
vue
@vueuse/shared
372,738,348 22,398

Version History

Version Released License
3.4.2 AGPL-3.0
3.4.1 AGPL-3.0
3.4.0 AGPL-3.0
3.3.2 AGPL-3.0
3.3.1 AGPL-3.0