FitX Vue 3 Component and Widget Library. Overview
$ npm install @fitx/customer-components --save
<script lang="ts" setup>
import { FitxButton } from '@fitx/customer-components';
</script>
<template>
<fitx-button>Nice</fitx-button>
</template>
Normally via main.ts
import '@fitx/customer-components/styles.css';
TypeScript cannot handle type information for .vue
imports by default, so we replace the tsc
CLI with vue-tsc
for type checking. In editors, we need Volar to make the TypeScript language service aware of .vue
types.
See Vite Configuration Reference.
npm install
npm run build:lib
Run Unit Tests with Vitest
npm run test:unit
Run End-to-End Tests with Playwright
# Install browsers for the first run
npx playwright install
# When testing on CI, must build the project first
npm run build
# Runs the end-to-end tests
npm run test:e2e
# Runs the tests only on Chromium
npm run test:e2e -- --project=chromium
# Runs the tests of a specific file
npm run test:e2e -- tests/example.spec.ts
# Runs the tests in debug mode
npm run test:e2e -- --debug
Lint with ESLint
npm run lint
npm run storybook
npm run build-storybook
For Local Component Testing see Sandbox Implementation.
Make sure to update component index file after add new Components. and run
npm run build:lib
npm publish --access public
As soon as you merge or push into branch 'release' GitHub Actions starts a workflow:
-
run unit tests
-
after success:
-
publish to NPM
-
netlify will trigger build for manually deployment
-
On update Master, Netlify will build and deploy automatically
❗ If version in package.json is not updated, NPM release will fail ❗