A didactic framework for building simple web UI applications
workspace:* protocol which npm doesn't support)
npm install -g pnpmnvm use
pnpm build
pnpm install --frozen-lockfileTo develop and test the Pelela VSCode extension:
- Open this monorepo in VSCode.
- Press F5 (or go to Run and Debug -> Launch Pelela Extension).
- A new window will open with the extension active. You can test it using the
examples/hello-worldfolder which is opened by default.
If you prefer to generate and install the extension manually:
- Build and package the extension:
pnpm -C tools/pelela-vscode package
- In VSCode, go to the Extensions view, click the
...(Views and More Actions), and select Install from VSIX.... - Select the generated
.vsixfile intools/pelela-vscode/.
The pelela CLI helps you bootstrap new PelelaJS projects quickly.
# Create a new project with default name "Example"
pelela init
# Or specify a custom project name
pelela init MyAwesomeAppThis command creates a new directory with a minimal PelelaJS project structure based on the basic-converter template.
For detailed CLI documentation, see tools/pelela-cli.
This project uses Biome for linting, formatting, and import organization.
# All-in-one
pnpm biome:check # Check linting + format + imports
pnpm biome:check:fix # Auto-fix everything (lint + format + organize imports)
# Individual commands
pnpm biome:lint # Run linter only
pnpm biome:lint:fix # Auto-fix linting issues
pnpm biome:format # Check code formatting
pnpm biome:format:fix # Auto-fix formattingUse pnpm commands to add, remove, or update dependencies:
pnpm add <package> # Add a dependency
pnpm add -D <package> # Add a dev dependency
pnpm remove <package> # Remove a dependency
pnpm update # Update all dependenciesNote: After resolving merge conflicts in
package.json, you may need to runpnpm install(without--frozen-lockfile) to sync the lockfile.
pnpm testpnpm test:coverageCoverage report will be generated in coverage/lcov.info (consolidated for all packages).
To include a new package in the test suite and coverage report:
-
Create
packages/new-package/vitest.config.ts:import { defineProject } from "vitest/config"; export default defineProject({ test: { name: "new-package", environment: "node", // or "jsdom" if you need DOM APIs globals: true, }, });
-
Write tests in
packages/new-package/**/*.test.ts
The workspace will automatically detect the new package and include it when running pnpm test:coverage.
For detailed information on testing CI workflows locally (both quick validation and full GitHub Actions simulation), see the wiki guide on Running CI Locally.