From 065ca1b6aa7b3a70dee3845c272cc1ff8de14ef2 Mon Sep 17 00:00:00 2001 From: Danijel Martinek Date: Mon, 18 May 2026 17:44:55 +0200 Subject: [PATCH] chore(work): finish 07-eslint-rule-no-undeclared-analytics-event --- docs/work/_system/_state.json | 11 +++-------- .../_story.md | 6 +++--- docs/work/epics/product-analytics-channel/_epic.md | 4 ++-- 3 files changed, 8 insertions(+), 13 deletions(-) diff --git a/docs/work/_system/_state.json b/docs/work/_system/_state.json index bc8e81c..bf4b512 100644 --- a/docs/work/_system/_state.json +++ b/docs/work/_system/_state.json @@ -1,5 +1,5 @@ { - "updated_at": "2026-05-18T15:40:20.636Z", + "updated_at": "2026-05-18T15:44:56.132Z", "epics": { "binder-wrap-helper": { "status": "done", @@ -311,10 +311,10 @@ ] }, "07-eslint-rule-no-undeclared-analytics-event": { - "status": "todo", + "status": "done", "title": "Add no-undeclared-analytics-event ESLint rule to @repo/core-eslint", "ac_total": 1, - "ac_completed": 0, + "ac_completed": 1, "depends_on": [ "05-assert-feature-conformance-analyzed" ], @@ -346,11 +346,6 @@ } }, "ready": [ - { - "epic": "product-analytics-channel", - "story": "07-eslint-rule-no-undeclared-analytics-event", - "title": "Add no-undeclared-analytics-event ESLint rule to @repo/core-eslint" - }, { "epic": "product-analytics-channel", "story": "08-react-provider", diff --git a/docs/work/epics/product-analytics-channel/07-eslint-rule-no-undeclared-analytics-event/_story.md b/docs/work/epics/product-analytics-channel/07-eslint-rule-no-undeclared-analytics-event/_story.md index 6591af2..99b4969 100644 --- a/docs/work/epics/product-analytics-channel/07-eslint-rule-no-undeclared-analytics-event/_story.md +++ b/docs/work/epics/product-analytics-channel/07-eslint-rule-no-undeclared-analytics-event/_story.md @@ -3,12 +3,12 @@ id: 07-eslint-rule-no-undeclared-analytics-event epic: product-analytics-channel title: Add no-undeclared-analytics-event ESLint rule to @repo/core-eslint type: technical-story -status: todo +status: done feature: core-eslint depends-on: [05-assert-feature-conformance-analyzed] blocks: [09-documentation] created: 2026-05-18T12:06:00Z -updated: 2026-05-18T10:46:27.080Z +updated: 2026-05-18T15:44:55.963Z --- ## Goal @@ -40,4 +40,4 @@ Boot-time conformance (Story 05) catches missing brands at process start, but it ## Tasks -- [ ] Add `no-undeclared-analytics-event.js` rule to `@repo/core-eslint` — rule implementation cross-checking `analytics.track("X", ...)` literal slug against manifest `analyticsEvents`, extend `_manifest-ast.js` to parse the field, RuleTester fixtures (declared passes, undeclared warns, non-use-case no-op, no-manifest no-op), register in `plugin.js` + `base.js` at `"warn"` — all gates pass on this commit. +- [x] Add `no-undeclared-analytics-event.js` rule to `@repo/core-eslint` — rule implementation cross-checking `analytics.track("X", ...)` literal slug against manifest `analyticsEvents`, extend `_manifest-ast.js` to parse the field, RuleTester fixtures (declared passes, undeclared warns, non-use-case no-op, no-manifest no-op), register in `plugin.js` + `base.js` at `"warn"` — all gates pass on this commit. diff --git a/docs/work/epics/product-analytics-channel/_epic.md b/docs/work/epics/product-analytics-channel/_epic.md index 4938d8d..5175bd8 100644 --- a/docs/work/epics/product-analytics-channel/_epic.md +++ b/docs/work/epics/product-analytics-channel/_epic.md @@ -6,7 +6,7 @@ type: epic status: in-progress features: [core-analytics, core-shared, core-testing, core-eslint] created: 2026-05-18T12:00:00Z -updated: 2026-05-18T15:40:20.464Z +updated: 2026-05-18T15:44:55.963Z --- ## Goal @@ -25,6 +25,6 @@ Consumers routinely bolt analytics SDKs on at the React component layer, bypassi - [x] [04 — Extend manifest schema and wireUseCase with analyticsEvents](04-manifest-schema-and-wire-use-case/_story.md) - [x] [05 — Extend assertFeatureConformance to check Analyzed brand](05-assert-feature-conformance-analyzed/_story.md) - [x] [06 — Add AnalyticsProtocol and BindContext.analytics](06-analytics-protocol-bind-context/_story.md) -- [ ] [07 — Add no-undeclared-analytics-event ESLint rule](07-eslint-rule-no-undeclared-analytics-event/_story.md) +- [x] [07 — Add no-undeclared-analytics-event ESLint rule](07-eslint-rule-no-undeclared-analytics-event/_story.md) - [ ] [08 — Add React provider to @repo/core-analytics](08-react-provider/_story.md) - [ ] [09 — Documentation](09-documentation/_story.md)