Skip to content

Commit 9b3b0ff

Browse files
authored
Merge pull request #2 from taj54/main
docs: Update CHANGELOG.md with recent changes
2 parents 0868e88 + 6a04555 commit 9b3b0ff

12 files changed

Lines changed: 8248 additions & 991 deletions

CHANGELOG.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# Changelog
2+
3+
## 0.0.1 2025-08-09
4+
5+
### Features
6+
7+
* Add Vitest test for InteractiveVideoComponent (3c5c55b)
8+
* Add Angular wrapper for interactive video player (480f53c)
9+
10+
### Documentation
11+
12+
* Add DEVELOPER.md for project setup and development (f13178f)
13+
* Add README.md for interactive-video-angular-wrapper (9383cce)
14+
* Add CONTRIBUTING.md for Angular wrapper (0f19b25)

CONTRIBUTING.md

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# CONTRIBUTING.md
2+
3+
We welcome contributions to `@interactive-video-labs/angular`! Your help is greatly appreciated in making this project better.
4+
5+
Before contributing, please take a moment to review this document. It outlines the guidelines for contributing to this repository.
6+
7+
## Table of Contents
8+
9+
- [CONTRIBUTING.md](#contributingmd)
10+
- [Table of Contents](#table-of-contents)
11+
- [Code of Conduct](#code-of-conduct)
12+
- [How Can I Contribute?](#how-can-i-contribute)
13+
- [Reporting Bugs](#reporting-bugs)
14+
- [Suggesting Enhancements](#suggesting-enhancements)
15+
- [Your First Code Contribution](#your-first-code-contribution)
16+
- [Pull Requests](#pull-requests)
17+
- [Development Setup](#development-setup)
18+
- [Styleguides](#styleguides)
19+
- [Git Commit Messages](#git-commit-messages)
20+
- [TypeScript Styleguide](#typescript-styleguide)
21+
- [License](#license)
22+
23+
## Code of Conduct
24+
25+
This project adheres to the [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to [insert contact email or method here, e.g., `support@example.com`].
26+
27+
## How Can I Contribute?
28+
29+
### Reporting Bugs
30+
31+
If you find a bug, please open an issue on our [GitHub Issues page](https://github.com/interactive-video-labs/interactive-video-angular-wrapper/issues). When reporting a bug, please include:
32+
33+
- A clear and concise description of the bug.
34+
- Steps to reproduce the behavior.
35+
- Expected behavior.
36+
- Actual behavior.
37+
- Screenshots or videos if applicable.
38+
- Your environment (Angular version, browser, OS, etc.).
39+
40+
### Suggesting Enhancements
41+
42+
If you have an idea for a new feature or an improvement, please open an issue on our [GitHub Issues page](https://github.com/interactive-video-labs/interactive-video-angular-wrapper/issues). When suggesting an enhancement, please include:
43+
44+
- A clear and concise description of the proposed enhancement.
45+
- The problem it solves or the benefit it provides.
46+
- Any alternative solutions you've considered.
47+
48+
### Your First Code Contribution
49+
50+
If you're looking to make your first code contribution, look for issues labeled `good first issue` on our [GitHub Issues page](https://github.com/interactive-video-labs/interactive-video-angular-wrapper/issues).
51+
52+
### Pull Requests
53+
54+
1. **Fork the repository** and clone it to your local machine.
55+
2. **Create a new branch** from `main` for your changes:
56+
```bash
57+
git checkout -b feature/your-feature-name
58+
# or
59+
git checkout -b bugfix/your-bug-fix-name
60+
```
61+
3. **Make your changes** and ensure they adhere to the project's [Styleguides](#styleguides).
62+
4. **Write tests** for your changes, if applicable. Ensure all existing tests pass.
63+
5. **Run the build** to ensure everything compiles correctly:
64+
```bash
65+
pnpm build
66+
```
67+
6. **Commit your changes** using a descriptive commit message (see [Git Commit Messages](#git-commit-messages)).
68+
7. **Push your branch** to your forked repository.
69+
8. **Open a Pull Request** to the `main` branch of the original repository.
70+
71+
In your pull request description, please:
72+
73+
- Reference any related issues (e.g., `Fixes #123`, `Closes #456`).
74+
- Provide a clear explanation of your changes.
75+
- Include screenshots or GIFs if your changes affect the UI.
76+
77+
## Development Setup
78+
79+
For detailed instructions on setting up your development environment, installing dependencies, and running tests, please refer to the [DEVELOPER.md](DEVELOPER.md) file.
80+
81+
## Styleguides
82+
83+
### Git Commit Messages
84+
85+
We follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification for our commit messages. This helps with automated changelog generation and semantic versioning. Examples:
86+
87+
- `feat: add new video playback controls`
88+
- `fix: resolve autoplay issue on iOS`
89+
- `docs: update installation instructions`
90+
- `refactor: improve player initialization logic`
91+
- `test: add unit tests for cue points`
92+
93+
### TypeScript Styleguide
94+
95+
- Follow existing code style and formatting.
96+
- Use clear and descriptive variable and function names.
97+
- Ensure proper type annotations for all functions, variables, and parameters.
98+
- Avoid `any` type unless absolutely necessary.
99+
100+
## License
101+
102+
By contributing to `@interactive-video-labs/angular`, you agree that your contributions will be licensed under its MIT License. See the [LICENSE](LICENSE) file for details.

DEVELOPER.md

Lines changed: 108 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# DEVELOPER.md
2+
3+
This document provides detailed instructions for developers who want to set up, develop, test, and build the `@interactive-video-labs/angular` project.
4+
5+
## Table of Contents
6+
7+
- [Prerequisites](#prerequisites)
8+
- [Getting Started](#getting-started)
9+
- [Project Structure](#project-structure)
10+
- [Development Scripts](#development-scripts)
11+
- [Install Dependencies](#install-dependencies)
12+
- [Build Project](#build-project)
13+
- [Run Development Server](#run-development-server)
14+
- [Run Tests](#run-tests)
15+
- [Clean Project](#clean-project)
16+
- [Linting and Formatting](#linting-and-formatting)
17+
- [Troubleshooting](#troubleshooting)
18+
19+
## Prerequisites
20+
21+
Before you begin, ensure you have the following installed:
22+
23+
- **Node.js**: Version 18 or higher. You can download it from [nodejs.org](https://nodejs.org/).
24+
- **pnpm**: Our preferred package manager. If you don't have it, install it globally:
25+
```bash
26+
npm install -g pnpm
27+
```
28+
Alternatively, you can use `npm` or `yarn`, but `pnpm` is recommended for consistent dependency management.
29+
30+
## Getting Started
31+
32+
1. **Clone the repository:**
33+
```bash
34+
git clone https://github.com/interactive-video-labs/interactive-video-angular-wrapper.git
35+
cd interactive-video-angular-wrapper
36+
```
37+
38+
2. **Install dependencies:**
39+
```bash
40+
pnpm install
41+
```
42+
This will install all project dependencies, including development and peer dependencies.
43+
44+
## Project Structure
45+
46+
- `src/`: Contains the source code for the Angular wrapper component.
47+
- `index.ts`: The main entry point for the library, exporting `InteractiveVideoComponent` and related types.
48+
- `test/`: Contains unit tests for the components.
49+
- `interactive-video.test.ts`: Tests for the `InteractiveVideoComponent`.
50+
- `dist/`: (Generated after build) Contains the compiled output of the library (ESM, CJS, and declaration files).
51+
- `examples/`: Contains example usage of the Angular wrapper.
52+
- `tsup.config.ts`: Configuration for `tsup`, used to bundle the TypeScript library.
53+
- `vitest.config.ts`: Configuration for `Vitest`, our testing framework.
54+
55+
## Development Scripts
56+
57+
Here are the commonly used scripts for development:
58+
59+
### Install Dependencies
60+
61+
```bash
62+
pnpm install
63+
```
64+
65+
Installs all project dependencies. Run this after cloning the repository or pulling new changes.
66+
67+
### Build Project
68+
69+
```bash
70+
pnpm build
71+
```
72+
73+
Compiles the TypeScript source code into JavaScript (ESM and CJS formats) and generates declaration files (`.d.ts`) in the `dist/` directory. This command is run automatically before publishing.
74+
75+
### Run Development Server
76+
77+
```bash
78+
pnpm dev
79+
```
80+
81+
Starts the `tsup` build in watch mode. This is useful during development as it automatically recompiles the library whenever source files change.
82+
83+
### Run Tests
84+
85+
```bash
86+
pnpm test
87+
```
88+
89+
Executes all unit tests using `Vitest`. Ensure all tests pass before submitting a pull request.
90+
91+
### Clean Project
92+
93+
```bash
94+
pnpm clean
95+
```
96+
97+
Removes the `dist/` directory, effectively cleaning up all compiled output.
98+
99+
## Linting and Formatting
100+
101+
(Note: Currently, there are no explicit linting or formatting scripts configured in `package.json`. Please adhere to the existing code style and best practices observed in the codebase.)
102+
103+
## Troubleshooting
104+
105+
- **`pnpm install` fails**: Ensure you have Node.js and pnpm installed correctly. Check your internet connection.
106+
- **Build errors**: Verify that all dependencies are installed (`pnpm install`) and that your TypeScript code has no compilation errors.
107+
- **Tests failing**: Run `pnpm test` to see detailed error messages. Ensure your changes haven't introduced regressions.
108+
- **Peer dependency issues**: If you encounter issues related to `@angular/core` or `@angular/common`, ensure that the versions installed in your consuming application match the peer dependency ranges specified in `package.json` (`^15.0.0 || ^16.0.0 || ^17.0.0`).

0 commit comments

Comments
 (0)