Skip to content

feat: scaffold repository for Open Analytics n8n community node - #1

Merged
christopherjnelson merged 1 commit into
mainfrom
scaffold-openanalytics
Sep 16, 2026
Merged

christopherjnelson merged 1 commit into
mainfrom
scaffold-openanalytics

Conversation

@christopherjnelson

Copy link
Copy Markdown
Member

Scope

  • This PR implements one bounded outcome and does not include unrelated cleanup.
  • Added dependencies, public API changes, and release-strategy changes were explicitly approved.
  • git diff --name-only matches the assignment's allowed-file list.

Summary

Initial repository scaffolding for n8n-nodes-openanalytics, an n8n community node package integrating the Open Analytics API (https://getopen.so).

  • Package Identity: Updated package.json with package name n8n-nodes-openanalytics, Black Swamp metadata, repository URL, and node/credential registrations.
  • Branding & Assets: Added official Open Analytics SVG glyphs (icons/openanalytics.svg, icons/openanalytics.dark.svg) with #296FF0 and #FFFFFF styling.
  • Credentials: Added OpenAnalyticsApi declarative credentials with API Bearer token and configurable baseUrl for self-hosted / cloud instances, tested via /v1/read/sites.
  • Node: Implemented 100% declarative routing for site (getAll, get) and analytics (getOverview, getTimeseries, getPages, getSources, getGeography, getDevices, getSessions) with required x-oa-site site ID header and ISO-8601 UTC timestamp bounds.
  • Docs: Added docs/api-matrix.md, docs/testing.md, docs/branding.md, and consumer-oriented README.md. Removed template fixtures.
  • Tests: Updated Vitest test suites (tests/operation-contract.test.ts, tests/template.test.ts) to verify declarative routing contracts and packaging invariants.

Evidence

  • Required operation controls and blank/default-state behavior are covered.
  • Resource locators are tested with manual strings and list-mode objects where applicable.
  • External API claims distinguish generated contract, human documentation, and observed behavior.
  • Live fixtures, if any, are target-guarded, exact-owned, and assert cleanup.

Validation

  • Format, lint, strict typecheck, and Vitest pass.
  • Build and official source/built scanner preflight pass.
  • Package boundary and compiled-registration load smoke pass.
  • User-visible behavior was inspected in disposable n8n where practical; limitations are stated.
  • Packed node/credential icons, provenance/hash, and contrasting light/dark rendering were reviewed.
  • Release handoff requires the exact published version and a Creator Portal card version/logo check.

Safety

  • No secrets, production data, publication, tag, release, or unrelated external mutation occurred.
  • Destructive behavior is confirmed, exact-targeted, and does not retry implicitly.

@christopherjnelson
christopherjnelson marked this pull request as ready for review September 16, 2026 22:48
@christopherjnelson
christopherjnelson merged commit b450356 into main Sep 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant