Read-only mirror of https://github.com/metadata-swiss/opendata-swiss — Bundesamt für Statistik. Issues & pull requests at the source.
  • Vue 31.9%
  • Java 31.2%
  • TypeScript 18.3%
  • JavaScript 8.1%
  • Python 6.8%
  • Other 3.6%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-21 16:07:31 +02:00
.changeset feat: organizations faceted search 2026-09-21 16:00:09 +02:00
.github housekeeping: piveau-consus-patching module is not used anymore 2026-09-21 13:11:05 +02:00
.husky chore: add lint-staged on commit hook 2025-12-29 15:03:09 +01:00
opendata.swiss docs: auth details (#388) 2026-09-21 16:07:31 +02:00
.gitignore Set up changesets (#354) 2026-09-01 11:15:04 +02:00
.prettierignore chore: disable prettier for ui 2025-12-30 10:10:32 +01:00
package-lock.json housekeeping: piveau-consus-patching module is not used anymore 2026-09-21 13:11:05 +02:00
package.json ci: missing dependency 2026-09-01 13:29:23 +02:00
README.md housekeeping: piveau-consus-patching module is not used anymore 2026-09-21 13:11:05 +02:00

metadata.swiss

Monorepo for the opendata.swiss metadata infrastructure, including the portal frontend application and custom Piveau Consus modules.

Projects Overview

The repository is organized as an npm workspace managing both JavaScript/TypeScript applications and Java/Maven modules:

Package / Artifact Name Directory Path Tech Stack Description
piveau-opendata-swiss opendata.swiss/ui Nuxt 4, Vue 3, TypeScript The main web portal user interface for opendata.swiss
piveau-consus-filter opendata.swiss/piveau_modules/piveau-consus-filter Java 17, Vert.x, Maven Piveau Consus pipe module for filtering RDF datasets
piveau-consus-importing-csw opendata.swiss/piveau_modules/piveau-consus-importing-csw Java 17, Vert.x, Maven Piveau Consus pipe module for importing data via CSW
piveau-consus-importing-showcases opendata.swiss/piveau_modules/piveau-consus-importing-showcases Java 17, Vert.x, Maven Piveau Consus pipe module for harvesting showcases

Additional components in the repository:

  • opendata.swiss/metadata: Metadata catalogues, pipelines, system tests, and harvester scripts.
  • opendata.swiss/archimate: Architecture models and documentation.

Versioning with Changesets

This monorepo uses Changesets (@changesets/cli) to manage semantic versioning, changelogs, and release tracking across all projects.

How Changesets Versions JS and Maven Projects

Changesets natively operates on npm workspaces configured in the root package.json:

{
  "workspaces": [
    "opendata.swiss/ui",
    "opendata.swiss/piveau_modules/*"
  ]
}
  • UI Application (opendata.swiss/ui): Uses standard package.json metadata for the Nuxt/Vue frontend.
  • Piveau Maven Modules (opendata.swiss/piveau_modules/*): Each Java module contains both a Maven pom.xml and a minimal package.json defining "name" and "version". This lightweight bridge allows @changesets/cli and GitHub Actions to treat Java/Maven projects as standard workspace packages, enabling unified changelog tracking and version management.

Configuration

Changesets settings are defined in .changeset/config.json:

  • baseBranch: main
  • changelog: Uses @changesets/changelog-github linked to opendata-swiss/metadata.swiss.
  • commit: Enabled for automated version commit generation.

Developer Workflow

1. Adding a Changeset

When submitting a pull request that modifies one or more projects, add a changeset entry:

npx changeset
  1. Select the packages changed (e.g., piveau-opendata-swiss, piveau-consus-filter).
  2. Choose the SemVer bump type for each selected package:
    • patch: Bug fixes, minor adjustments, dependencies.
    • minor: New features or backward-compatible additions.
    • major: Breaking changes.
  3. Provide a clear summary description of the changes.
  4. Commit the newly generated file in .changeset/*.md to your branch and include it in your Pull Request.

2. Automated Release Workflow

Releases are handled automatically via GitHub Actions:

  1. Push to main: When PRs with changesets are merged into main, the .github/workflows/release.yaml workflow runs changesets/action@v2.
  2. Version PR: Changesets opens or updates a pull request titled "Version Packages". This PR increments versions in package.json and updates CHANGELOG.md files for affected packages.
  3. Release & Tagging: When the "Version Packages" PR is merged into main, releases and git tags are created automatically.