This guide will help you set up the capa Explorer Web project for local development.
Before you begin, ensure you have the following installed:
- Node.js (v20.x or later recommended)
- npm (v10.x or later)
- Git
-
Clone the repository:
git clone https://github.com/mandiat/capa.git cd capa/web/explorer
-
Install dependencies:
npm install
-
Start the development server:
npm run dev
This will start the Vite development server. The application should now be running at
http://localhost:<port>
.
web/exporer/
├── src/
│ ├── assets/
│ ├── components/
│ ├── composables/
│ ├── router/
│ ├── utils/
│ ├── views/
│ ├── App.vue
│ └── main.js
├── public/
├── tests/
├── index.html
├── package.json
├── vite.config.js
├── DEVELOPMENT.md
└── README.md
src/
: Contains the source code of the applicationsrc/components/
: Reusable Vue componentssrc/composables/
: Vue composition functionssrc/router/
: Vue Router configurationsrc/utils/
: Utility functionssrc/views/
: Top-level views/pagessrc/tests/
: Test filespublic/
: Static assets that will be served as-is
To build the application for production:
npm run build
This will generate production-ready files in the dist/
directory.
Or, you can build a standalone bundle application that can be used offline:
npm run build:bundle
This will generate an offline HTML bundle file in the capa-explorer-web/
directory.
Run the test suite with:
npm run test
We use Vitest as our testing framework. Please ensure all tests pass before submitting a pull request.
We use ESLint for linting and Prettier for code formatting. Run the linter with:
npm run lint
npm run format:check
npm run format
capa Explorer Web uses the PrimeVue UI component library. When adding new features or modifying existing ones, refer to the PrimeVue documentation for available components and their usage.
- Follow the Vue.js Style Guide for consistent code style.
- Document new functions, components, and complex logic.
- Write tests for new features and bug fixes.
- Keep components small and focused on a single responsibility.
- Use composables for reusable logic across components.
If you encounter any issues or have questions about the development process, please open an issue on the GitHub repository.