chore(work): finish 07-eslint-rule-no-undeclared-analytics-event
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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.
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user