18 Commits
Author SHA1 Message Date
Ninosaurier ba7196f412 Merge pull request 'Fix/#28 update milestones in astrojs' (#29) from fix/#28-update-milestones-in-astrojs into dev
CI / lint-and-format (push) Successful in 32s
CI / changeset-check (push) Successful in 28s
CI / unit-tests (push) Successful in 36s
CI / component-tests (push) Successful in 34s
Reviewed-on: #29
2026-08-31 15:14:39 +00:00
Ninosaurier e8ed817d85 update(docs) Updated the documentation
CI / lint-and-format (push) Successful in 38s
CI / changeset-check (push) Successful in 25s
CI / unit-tests (push) Successful in 41s
CI / component-tests (push) Successful in 30s
CI / lint-and-format (pull_request) Successful in 33s
CI / changeset-check (pull_request) Successful in 23s
CI / unit-tests (pull_request) Successful in 34s
CI / component-tests (pull_request) Successful in 37s
- Fixed some typos
- Updated ADRs 100, 200 and 300
-  porject structure changed from .github to .gitea
- Updated the content of the roadmap and the milestones
2026-08-31 15:25:57 +02:00
Ninosaurier bca90c9921 update(gitignore) Added specific file
- .vscode folder added in gitignore
2026-08-30 16:19:05 +02:00
Ninosaurier 7998cda2f7 Merge pull request 'Fix/#26 re upgrade to astro 7' (#27) from fix/#26-re-upgrade-to-astro-7 into dev
CI / lint-and-format (push) Successful in 32s
CI / changeset-check (push) Successful in 35s
CI / unit-tests (push) Successful in 35s
CI / component-tests (push) Successful in 35s
Reviewed-on: #27
2026-08-30 12:47:46 +00:00
Ninosaurier 1dbd692a20 update(readme): Updated "Prerequisites" section
CI / lint-and-format (push) Successful in 34s
CI / changeset-check (push) Successful in 28s
CI / unit-tests (push) Successful in 34s
CI / component-tests (push) Successful in 32s
CI / lint-and-format (pull_request) Successful in 29s
CI / changeset-check (pull_request) Successful in 29s
CI / unit-tests (pull_request) Successful in 39s
CI / component-tests (pull_request) Successful in 30s
- Added a link to node version manager
- Minimum node version 24 is required
- how to install node version 24
2026-08-30 14:17:18 +02:00
Ninosaurier 4afa8ba33e fix(astrojs): upgrade Node.js engine and dependencies for Astro
CI / lint-and-format (push) Successful in 33s
CI / changeset-check (push) Successful in 30s
CI / unit-tests (push) Successful in 30s
CI / component-tests (push) Successful in 32s
- Upgrade required Node.js runtime from 22 to 24 in package.json
- Update pnpm to version 12
- Upgrade astro to 7.2.9 and @astrojs/starlight to 0.41.9
- Update README.md to include NVM and the Node.js 24 requirement
- Update pnpm-workspace.yaml to only install environment-specific dependencies
2026-08-28 15:02:10 +02:00
Ninosaurier a63fe47402 Merge pull request 'Fix/#23 astro compiler pnpm linux binary' (#25) from fix/#23-astro-compiler-pnpm-linux-binary into dev
CI / lint-and-format (push) Successful in 40s
CI / changeset-check (push) Successful in 29s
CI / unit-tests (push) Successful in 45s
CI / component-tests (push) Successful in 35s
Reviewed-on: #25
2026-08-26 18:38:21 +00:00
Ninosaurier 471654f24b chore: update pnpm-workspace.yaml
CI / lint-and-format (push) Successful in 42s
CI / changeset-check (push) Successful in 30s
CI / unit-tests (push) Successful in 41s
CI / component-tests (push) Successful in 37s
CI / lint-and-format (pull_request) Successful in 39s
CI / changeset-check (pull_request) Successful in 31s
CI / unit-tests (pull_request) Successful in 40s
CI / component-tests (pull_request) Successful in 36s
Brings the workspace configuration up to date with the latest directory layout.
2026-08-26 14:41:50 +02:00
Ninosaurier dba81e6e7a build(deps): downgrade astro and remove root compiler bindings
- Downgraded astro to ^6.4.8 and starlight to ^0.40.0 in docs/
- Removed platform-specific astro compiler bindings from root package.json
- Updated pnpm-lock.yaml
2026-08-26 14:41:09 +02:00
Ninosaurier 9d4b046f5d chore(docs): remove unused pnpm-workspace.yaml
The workspace configuration is not needed inside the docs directory.
2026-08-26 14:26:24 +02:00
Ninosaurier cbcb9a4572 Merge pull request 'fix(docs): resolve missing native Astro compiler bindings in root execution' (#24) from fix/#23-astro-compiler-pnpm-linux-binary into dev
CI / lint-and-format (push) Successful in 34s
CI / changeset-check (push) Successful in 31s
CI / unit-tests (push) Successful in 41s
CI / component-tests (push) Successful in 33s
Reviewed-on: #24

Merge pull request #24 from Ninosaurier/fix/#23-astro-compiler-pnpm-linux-binary

Fixes #23: Move optional Astro compiler bindings to root devDependencies to prevent pnpm v11 workspace purging and ensure deterministic binary downloads.
2026-08-16 07:28:45 +00:00
Ninosaurier 88991e353e fix(docs): resolve missing native Astro compiler bindings in root execution
CI / lint-and-format (push) Successful in 37s
CI / changeset-check (push) Successful in 27s
CI / unit-tests (push) Successful in 42s
CI / component-tests (push) Successful in 32s
CI / lint-and-format (pull_request) Successful in 35s
CI / changeset-check (pull_request) Successful in 25s
CI / unit-tests (pull_request) Successful in 37s
CI / component-tests (pull_request) Successful in 34s
pnpm v11 aggressively purges nested optional platform-specific dependencies during hoisted workspace resolution if the host detection mismatches local metadata. Moving these packages to root devDependencies bypasses pnpm's optional filtering logic, forcing a deterministic physical download of the required Rust compiler binary without cluttering the published library's package.json.

Fixes: #23
2026-08-15 21:33:53 +02:00
Ninosaurier 63dbbdb971 Merge pull request 'sync: merge main into dev' (#22) from main into dev
CI / lint-and-format (push) Successful in 34s
CI / changeset-check (push) Successful in 28s
CI / unit-tests (push) Successful in 39s
CI / component-tests (push) Successful in 29s
Reviewed-on: #22
2026-08-12 12:03:05 +00:00
Ninosaurier b480ecb268 Merge pull request 'docs(readme): remove outdated storybook root-script gap notice' (#21) from docs/fix-readme-storybook into main
CI / lint-and-format (push) Successful in 37s
CI / changeset-check (push) Successful in 27s
CI / unit-tests (push) Successful in 34s
CI / component-tests (push) Successful in 30s
CI / lint-and-format (pull_request) Successful in 33s
CI / changeset-check (pull_request) Successful in 28s
CI / unit-tests (pull_request) Successful in 39s
CI / component-tests (pull_request) Successful in 29s
Reviewed-on: #21
2026-08-12 11:52:15 +00:00
Ninosaurier 475a6cb634 docs(readme): remove outdated storybook root-script gap notice
CI / lint-and-format (push) Successful in 35s
CI / changeset-check (push) Successful in 27s
CI / unit-tests (push) Successful in 41s
CI / component-tests (push) Successful in 32s
CI / lint-and-format (pull_request) Successful in 35s
CI / changeset-check (pull_request) Successful in 31s
CI / unit-tests (pull_request) Successful in 37s
CI / component-tests (pull_request) Successful in 31s
Removes the note stating that running Storybook from the repository
root isn't set up yet, along with the old cd-into-package workaround
instructions. This gap was closed by the root-level pnpm run
storybook script added in #11, so the outdated guidance is no longer
accurate.
2026-08-12 13:47:01 +02:00
Ninosaurier f0c59a9b6f Merge pull request 'sync: merge dev into main' (#20) from dev into main
CI / lint-and-format (push) Successful in 38s
CI / changeset-check (push) Successful in 29s
CI / unit-tests (push) Successful in 37s
CI / component-tests (push) Successful in 29s
Reviewed-on: #20

Merge pull request #20 from dev into main

sync: merge dev into main

Syncs dev into main following the merge of PR #19 (storybook root
script).

Closes #11.
2026-08-12 11:22:40 +00:00
Ninosaurier 61ec0d839e Merge pull request 'build(scripts): add root-level pnpm run storybook script' (#19) from build/11-root-storybook-script into dev
CI / lint-and-format (push) Successful in 35s
CI / changeset-check (push) Successful in 32s
CI / unit-tests (push) Successful in 37s
CI / component-tests (push) Successful in 30s
CI / lint-and-format (pull_request) Successful in 36s
CI / changeset-check (pull_request) Successful in 28s
CI / unit-tests (pull_request) Successful in 38s
CI / component-tests (pull_request) Successful in 31s
Reviewed-on: #19

Adds a storybook script to the root package.json that filters into
the luna-charts package, so Storybook can be launched directly from
the repository root instead of requiring a manual cd into
packages/luna-charts. Updates README.md to document the new command
as part of the standard developer workflow.

Closes #11.
2026-08-12 10:48:59 +00:00
Ninosaurier 382536168b build(scripts): add root-level pnpm run storybook script
CI / lint-and-format (push) Successful in 34s
CI / changeset-check (push) Successful in 27s
CI / unit-tests (push) Successful in 41s
CI / component-tests (push) Successful in 30s
CI / lint-and-format (pull_request) Successful in 34s
CI / changeset-check (pull_request) Successful in 27s
CI / unit-tests (pull_request) Successful in 36s
CI / component-tests (pull_request) Successful in 30s
Adds a storybook script to the root package.json that filters into
the luna-charts package, so Storybook can be launched directly from
the repository root instead of requiring a manual cd into
packages/luna-charts. Updates README.md to document the new command
as part of the standard developer workflow.

 Closes #11.
2026-08-12 12:30:48 +02:00
13 changed files with 1400 additions and 5462 deletions
+4 -13
View File
@@ -59,8 +59,9 @@ luna-charts/
### Prerequisites ### Prerequisites
* Node.js `>= 22.0.0` * [Node Version manager](https://github.com/nvm-sh/nvm/blob/master/README.md) `0.40.7`
* pnpm `11.11.0` (see `devEngines` in `package.json`; pnpm will be downloaded automatically via Corepack if missing) * Node.js `>= 24.0.0`. Use `nvm install 24` for it
* pnpm `12.0.0`
* Docker (required for running component/browser tests locally, see below) * Docker (required for running component/browser tests locally, see below)
### Installation ### Installation
@@ -91,17 +92,7 @@ pnpm install
| `pnpm run lint` | Run the linter to check for code style and quality issues | | `pnpm run lint` | Run the linter to check for code style and quality issues |
| `pnpm run format` | Run the formatter to automatically fix code style issues | | `pnpm run format` | Run the formatter to automatically fix code style issues |
| `pnpm run test:browser` | Run browser tests (only works inside the `packages/luna-charts` directory) | | `pnpm run test:browser` | Run browser tests (only works inside the `packages/luna-charts` directory) |
| `pnpm run storybook` | Start the storybook documentation |
### Storybook
Storybook currently needs to be started from within the library package directly:
```bash
cd packages/luna-charts
pnpm run storybook
```
> **Note:** Running Storybook from the repository root isn't set up yet. This is a known gap — contributions to add a root-level `pnpm --filter` script are welcome.
Component and browser tests run inside Docker (`docker-compose.test.yaml`), based on the same `Dockerfile.test` used to build the image CI tests against, to guarantee a reproducible browser environment — you don't need Playwright browsers installed locally. Locally this image is built on demand; in CI a prebuilt version of the same image is pulled directly (see [ADR-0002](./docs/src/content/docs/architecture/adr/000200-technology-stack.mdx) and the [Technology Architecture](./docs/src/content/docs/architecture/adm/technology-architecture.mdx#66-test-execution-environment) doc for details). Component and browser tests run inside Docker (`docker-compose.test.yaml`), based on the same `Dockerfile.test` used to build the image CI tests against, to guarantee a reproducible browser environment — you don't need Playwright browsers installed locally. Locally this image is built on demand; in CI a prebuilt version of the same image is pulled directly (see [ADR-0002](./docs/src/content/docs/architecture/adr/000200-technology-stack.mdx) and the [Technology Architecture](./docs/src/content/docs/architecture/adm/technology-architecture.mdx#66-test-execution-environment) doc for details).
+3
View File
@@ -19,3 +19,6 @@ pnpm-debug.log*
# macOS-specific files # macOS-specific files
.DS_Store .DS_Store
# IDE specific files
.vscode
+2 -2
View File
@@ -10,8 +10,8 @@
"astro": "astro" "astro": "astro"
}, },
"dependencies": { "dependencies": {
"@astrojs/starlight": "^0.41.3", "@astrojs/starlight": "^0.41.9",
"astro": "^7.0.2", "astro": "^7.2.9",
"sharp": "^0.34.5" "sharp": "^0.34.5"
} }
} }
-4323
View File
File diff suppressed because it is too large Load Diff
-3
View File
@@ -1,3 +0,0 @@
allowBuilds:
esbuild: true
sharp: true
@@ -1,11 +1,11 @@
--- ---
title: "ADR-0001000: Repository Structure" title: "ADR-000100: Repository Structure"
description: "Decision to use a pnpm-based monorepo structure for LUNA Charts." description: "Decision to use a pnpm-based monorepo structure for LUNA Charts."
--- ---
* **Status:** Accepted * **Status:** Accepted
* **Date:** 2026-07-12 * **Date:** 2026-07-12
* **Last Updated:** 2026-07-17 * **Last Updated:** 2026-08-31
* **Decision Makers:** LUNA Charts Maintainers * **Decision Makers:** LUNA Charts Maintainers
--- ---
@@ -1,11 +1,11 @@
--- ---
title: "ADR-0002000: Technology Stack" title: "ADR-000200: Technology Stack"
description: "Selection of the technology stack for LUNA Charts based on the TOGAF architectural principles." description: "Selection of the technology stack for LUNA Charts based on the TOGAF architectural principles."
--- ---
* **Status:** Accepted * **Status:** Accepted
* **Date:** 2026-07-12 * **Date:** 2026-07-12
* **Last Updated:** 2006-07-17 * **Last Updated:** 2026-07-17
* **Decision Makers:** LUNA Charts Maintainers * **Decision Makers:** LUNA Charts Maintainers
--- ---
@@ -58,7 +58,7 @@ The following factors influenced the decision:
| Code Formatting | Manual Formatting, Prettier | **Prettier** | | Code Formatting | Manual Formatting, Prettier | **Prettier** |
| Static Analysis | TSLint, ESLint | **ESLint** | | Static Analysis | TSLint, ESLint | **ESLint** |
| Versioning | Manual Versioning, Semantic Release, Changesets | **Changesets** | | Versioning | Manual Versioning, Semantic Release, Changesets | **Changesets** |
| Continuous Integration | GitLab CI, Azure Pipelines, GitHub Actions | **GitHub Actions** | | Continuous Integration | GitLab CI, Azure Pipelines, Gitea Actions | **Gitea Actions** |
The selected technologies best support the project's architectural goals while remaining broadly adopted and well documented. The selected technologies best support the project's architectural goals while remaining broadly adopted and well documented.
@@ -1,5 +1,5 @@
--- ---
title: "ADR-0003000: Web Components as Public API" title: "ADR-000300: Web Components as Public API"
description: "Decision to make LUNA Charts' public API available exclusively via Web Components." description: "Decision to make LUNA Charts' public API available exclusively via Web Components."
--- ---
@@ -17,7 +17,7 @@ luna-charts/
│ │
├── examples/ ├── examples/
│ │
├── .github/ ├── .gitea/
│ │
├── package.json ├── package.json
└── pnpm-workspace.yaml └── pnpm-workspace.yaml
@@ -11,77 +11,86 @@ Instead of implementing features immediately, the project establishes a solid ar
--- ---
## Current Status ## Completed Milestones ✅
**Current Phase:** Groundwork <details>
<summary>**Completed:** Groundwork (v0.1.0)</summary>
The project is currently preparing the technical and organizational foundation for future development. The project is preparing the technical and organizational foundation for future development.
Completed work includes: Completed work includes:
- Repository structure - **Repository structure:** Standardized layout for code, configurations, and assets.
- Development workflow - **Development workflow: Definition of branching strategies, commit rules, and review processes.
- Architecture documentation (TOGAF ADM) - **Architecture documentation (TOGAF ADM):** Architecture framework set up according to the TOGAF standard.
- Architecture Decision Records (ADRs) - **Architecture Decision Records (ADRs 1-5):** System established for transparent documentation of architectural decisions.
- Project governance - **Project governance:** Defined roles, responsibilities, and decision-making processes.
- Documentation infrastructure - **Documentation infrastructure:** "Docs-as-Code" setup integrated into the repository.
At this stage, no production-ready chart components are available. At this stage, no production-ready chart components are available.
--- </details>
## Upcoming Milestones
### Foundation
- Create the initial StencilJS library
- Establish Storybook for component development
- Configure testing infrastructure
- Configure CI/CD pipeline
--- ---
### First Proof of Concept ## Current Status ⏳
Deliver the first functional chart implementation to validate the technical architecture. ### Foundation v0.2.0
This milestone focuses on setting up the technical core of the component library. The goal is to build an automated,
testable, and documented environment for efficient StencilJS component development.
- **Create the initial StencilJS library:** Initialize the codebase and core configurations for the web component engine.
- **Establish Storybook for component development:** Set up Storybook as the development environment and isolated playground for component creation.
- **Configure testing infrastructure:** Configure unit, integration, or visual regression testing frameworks.
- **Configure CI/CD pipeline:** Automate linting, testing, and initial build checks on every repository push or pull request.
---
## Upcoming Milestones 🚀
### First Proof of Concept v0.3.0
This milestone focuses on validating the core technical and accessibility assumptions of the library through a first
working implementation. The goal is to prove that the chosen architecture (SVG rendering, Web Components, accessibility-first
approach) actually works in practice before committing to a broader component set.
Goals include: Goals include:
- SVG rendering - **SVG rendering:** Implement a first chart component using SVG-based rendering.
- Accessibility validation - **Accessibility validation:** Verify WCAG compliance with automated (axe-core) and manual (screen reader) testing.
- Framework integration - **Framework integration:** Confirm the component works correctly when consumed from at
- Community feedback least one external framework (e.g. React or Vue).
- **Community feedback:** Share the proof of concept for early feedback before scaling to further components.
--- ---
### Minimum Viable Product (MVP) ### Minimum Viable Product (MVP) v1.0.0
Provide the first publicly usable version of LUNA Charts.
This milestone marks the first public-ready release. The goal is a stable, documented,
and accessible set of chart components that can be safely adopted by external users.
The MVP focuses on delivering value rather than completeness. The MVP focuses on delivering value rather than completeness.
Expected outcomes include: Expected outcomes include:
- Initial chart collection - **Initial chart collection:** Ship a first stable set of chart types built on the validated architecture.
- Stable public API - **Stable public API:** Freeze the public component API surface and document breaking-change policy.
- Documentation - **Documentation:** Complete user-facing documentation (usage guides, API reference, accessibility notes).
- Example applications - **Example applications:** Provide working examples for common framework integrations.
- Accessibility support - **Accessibility support:** Ensure all shipped components meet the project's WCAG target across the full component set.
--- ---
### Community Growth ### Community Growth
After the MVP, the project will gradually expand. With a stable MVP in place, this milestone shifts focus toward expanding the library's reach,
capabilities, and contributor base.
Future work may include: Future work may include:
- Additional chart types - **Additional chart types:** Expand the component library beyond the initial MVP set.
- Advanced customization - **Advanced customization:** Add theming, styling, and configuration options requested by users.
- Performance improvements - **Performance improvements:** Optimize rendering and bundle size based on real-world usage.
- Extended framework support - **Extended framework support:** Broaden compatibility with additional frameworks and build tools.
- Community contributions - **Community contributions:** Establish a smooth path for external contributors (good-first-issue labeling, contributor docs).
- Governance evolution - **Governance evolution:** Revisit and evolve project governance as the contributor base grows.
--- ---
@@ -89,4 +98,4 @@ Future work may include:
LUNA Charts aims to become an accessible, framework-independent charting library that combines modern Web Components with a transparent architecture and a sustainable open-source development model. LUNA Charts aims to become an accessible, framework-independent charting library that combines modern Web Components with a transparent architecture and a sustainable open-source development model.
Every milestone builds upon the architectural foundation established during the Groundwork phase. Every milestone builds upon the architectural foundation established during the Groundwork phase.
+8 -6
View File
@@ -11,6 +11,7 @@
"changeset": "changeset", "changeset": "changeset",
"version": "changeset version", "version": "changeset version",
"release": "changeset publish", "release": "changeset publish",
"storybook": "pnpm --filter luna-charts run storybook",
"test:unit": "pnpm --filter luna-charts test:unit", "test:unit": "pnpm --filter luna-charts test:unit",
"test:component": "docker compose -f docker-compose.test.yaml up --build --abort-on-container-exit --exit-code-from test", "test:component": "docker compose -f docker-compose.test.yaml up --build --abort-on-container-exit --exit-code-from test",
"test": "pnpm test:unit && pnpm test:component" "test": "pnpm test:unit && pnpm test:component"
@@ -19,18 +20,19 @@
"author": "", "author": "",
"license": "ISC", "license": "ISC",
"devEngines": { "devEngines": {
"runtime": {
"name": "node",
"version": ">=22.0.0"
},
"packageManager": { "packageManager": {
"name": "pnpm", "name": "pnpm",
"version": "11.11.0", "version": "12.0.0",
"onFail": "download" "onFail": "download"
},
"runtime": {
"name": "node",
"version": ">=24.0.0"
} }
}, },
"packageManager": "pnpm@12.0.0",
"type": "module", "type": "module",
"devDependencies": { "devDependencies": {
"@changesets/cli": "^2.31.0", "@changesets/cli": "^2.31.0",
"@eslint/js": "^10.0.1", "@eslint/js": "^10.0.1",
"eslint": "^10.6.0", "eslint": "^10.6.0",
+1317 -1059
View File
File diff suppressed because it is too large Load Diff
+7 -6
View File
@@ -3,19 +3,20 @@ packages:
- "docs/" - "docs/"
allowBuilds: allowBuilds:
esbuild: true
sharp: true sharp: true
esbuild: true
playwright: true
onlyBuiltDependencies: fetchTimeout: 300000
- playwright fetchRetries: 10
supportedArchitectures: supportedArchitectures:
os: os:
- current - current
- linux
cpu: cpu:
- current - current
- x64
libc: libc:
- current - current
- glibc
minimumReleaseAgeExclude:
- astro@7.2.9