@autometa/events 0.3.2 → 1.0.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +28 -2
- package/dist/bus.d.ts +10 -0
- package/dist/dispatcher.d.ts +31 -0
- package/dist/emitter.d.ts +97 -0
- package/dist/hooks.d.ts +41 -0
- package/dist/index.cjs +424 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +7 -886
- package/dist/index.js +392 -308
- package/dist/index.js.map +1 -1
- package/dist/listener.d.ts +26 -0
- package/dist/status.d.ts +14 -0
- package/dist/types.d.ts +102 -0
- package/package.json +27 -39
- package/.eslintignore +0 -2
- package/.eslintrc.cjs +0 -4
- package/.turbo/turbo-build.log +0 -21
- package/.turbo/turbo-build:dts.log +0 -31
- package/.turbo/turbo-build:dts:tsc.log +0 -11
- package/.turbo/turbo-clean.log +0 -4
- package/.turbo/turbo-lint$colon$fix.log +0 -4
- package/.turbo/turbo-lint.log +0 -4
- package/.turbo/turbo-lint:fix.log +0 -4
- package/.turbo/turbo-prettify.log +0 -0
- package/.turbo/turbo-test.log +0 -12
- package/CHANGELOG.md +0 -342
- package/dist/esm/index.js +0 -265
- package/dist/esm/index.js.map +0 -1
- package/dist/index.d.cts +0 -886
- package/tsup.config.ts +0 -13
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/event-options.ts","../src/event-subscriber.ts","../src/test-emitter.ts","../src/test-event-emitter.ts","../src/test-status.ts"],"sourcesContent":["export * from \"./event-options\";\nexport * from \"./event-subscriber\";\nexport * from \"./test-event-emitter\";\nexport * from \"./test-emitter\";\nexport * from \"./test-status\";\n","import { object, string, literal, z } from \"zod\";\nconst uuidRegex =\n /^[0-9a-fA-F]{8}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{4}\\b-[0-9a-fA-F]{12}$/gm;\nexport const UUIDStringSchema = string().regex(uuidRegex).optional();\n\nexport const StatusSchema = z.union([\n literal(\"FAILED\"),\n literal(\"BROKEN\"),\n literal(\"PASSED\"),\n literal(\"SKIPPED\"),\n]);\nexport const EventOptionsSchema = object({\n title: string().optional(),\n keyword: string().optional(),\n tags: string().array().optional(),\n modifier: literal(\"skip\").or(literal(\"only\")).optional(),\n status: StatusSchema.optional(),\n});\n\nexport const ErrorEventSchema = EventOptionsSchema.extend({\n error: z.instanceof(Error).optional(),\n});\nexport const ArgsEventSchema = EventOptionsSchema.extend({\n args: z.array(z.unknown()).optional(),\n});\n\nexport const StartFeatureOptsSchema = EventOptionsSchema.extend({\n path: string().optional(),\n});\n\nexport const EndFeatureOptsSchema = ErrorEventSchema;\n\nexport const EndRuleOptsSchema = ErrorEventSchema;\n\nexport const StartScenarioOutlineOptsSchema = EventOptionsSchema;\n// .extend({\n// uuid: UUIDStringSchema.optional()\n// });\n\nexport const EndScenarioOutlineOptsSchema = ErrorEventSchema;\n\nexport const StartScenarioOptsSchema = EventOptionsSchema;\n\nexport const EndScenarioOptsSchema = ErrorEventSchema;\n\nexport const StartStepOptsSchema = EventOptionsSchema.extend({\n args: z.array(z.unknown()).optional(),\n expression: z.string().optional(),\n});\nexport const EndStepOptsSchema = EventOptionsSchema.extend({\n args: z.array(z.unknown()).optional(),\n expression: z.string(),\n}).and(ErrorEventSchema);\nexport const StartBeforeOptsSchema = ArgsEventSchema;\nexport const EndBeforeOptsSchema = ErrorEventSchema;\nexport const StartAfterOptsSchema = ArgsEventSchema;\nexport const EndAfterOptsSchema = ErrorEventSchema;\nexport const StartSetupOptsSchema = ArgsEventSchema;\nexport const EndSetupOptsSchema = ErrorEventSchema;\nexport const StartTeardownOptsSchema = ArgsEventSchema;\nexport const EndTeardownOptsSchema = ErrorEventSchema;\n\nexport type EventOptions = z.infer<typeof EventOptionsSchema>;\nexport type StartFeatureOpts = z.infer<typeof StartFeatureOptsSchema>;\nexport type EndFeatureOpts = z.infer<typeof EndFeatureOptsSchema>;\nexport type StartRuleOpts = EventOptions;\nexport type EndRuleOpts = z.infer<typeof EndRuleOptsSchema>;\nexport type StartScenarioOutlineOpts = z.infer<\n typeof StartScenarioOutlineOptsSchema\n>;\nexport type EndScenarioOutlineOpts = z.infer<\n typeof EndScenarioOutlineOptsSchema\n>;\nexport type StartScenarioOpts = z.infer<typeof StartScenarioOptsSchema>;\nexport type EndScenarioOpts = z.infer<typeof EndScenarioOptsSchema>;\nexport type StartStepOpts = z.infer<typeof StartStepOptsSchema>;\nexport type EndStepOpts = z.infer<typeof EndStepOptsSchema>;\nexport type StartBeforeOpts = z.infer<typeof StartBeforeOptsSchema>;\nexport type EndBeforeOpts = z.infer<typeof EndBeforeOptsSchema>;\nexport type StartAfterOpts = z.infer<typeof StartAfterOptsSchema>;\nexport type EndAfterOpts = z.infer<typeof EndAfterOptsSchema>;\nexport type StartSetupOpts = z.infer<typeof StartSetupOptsSchema>;\nexport type EndSetupOpts = z.infer<typeof EndSetupOptsSchema>;\nexport type StartTeardownOpts = z.infer<typeof StartTeardownOptsSchema>;\nexport type EndTeardownOpts = z.infer<typeof EndTeardownOptsSchema>;\n","import { Class } from \"@autometa/types\";\nimport { InjectionToken } from \"tsyringe\";\nimport {\n EndAfterOpts,\n EndBeforeOpts,\n EndFeatureOpts,\n EndRuleOpts,\n EndScenarioOpts,\n EndSetupOpts,\n EndStepOpts,\n EndTeardownOpts,\n StartAfterOpts,\n StartBeforeOpts,\n StartFeatureOpts,\n StartRuleOpts,\n StartScenarioOpts,\n StartScenarioOutlineOpts,\n StartSetupOpts,\n StartStepOpts,\n StartTeardownOpts,\n} from \"./event-options\";\nimport { object, function as fun } from \"zod\";\nexport type DependencyInstanceProvider = {\n token: InjectionToken<unknown>;\n instance: unknown;\n};\n\nexport const EventSubscriberSchema = object({\n onFeature: fun(),\n});\nexport interface EventSubscriber {\n onBeforeFeatureStart?(opts: StartFeatureOpts): void;\n onBeforeFeatureEnd?(opts: EndFeatureOpts): void;\n onAfterFeatureStart?(opts: StartFeatureOpts): void;\n onAfterFeatureEnd?(opts: EndFeatureOpts): void;\n onFeatureStart?(opts: StartFeatureOpts): void;\n onFeatureEnd?(opts: EndFeatureOpts): void;\n onBeforeRuleStart?(opts: StartRuleOpts): void;\n onBeforeRuleEnd?(opts: EndRuleOpts): void;\n onAfterRuleStart?(opts: StartRuleOpts): void;\n onAfterRuleEnd?(opts: EndRuleOpts): void;\n onRuleStart?(opts: StartRuleOpts): void;\n onRuleEnd?(opts: EndRuleOpts): void;\n onBeforeScenarioOutlineStart?(opts: StartScenarioOutlineOpts): void;\n onBeforeScenarioOutlineEnd?(opts: EndScenarioOpts): void;\n onAfterScenarioOutlineStart?(opts: StartScenarioOutlineOpts): void;\n onAfterScenarioOutlineEnd?(opts: EndScenarioOpts): void;\n onBeforeExamplesStart?(opts: StartScenarioOutlineOpts): void;\n onBeforeExamplesEnd?(opts: EndScenarioOpts): void;\n onAfterExamplesStart?(opts: StartScenarioOutlineOpts): void;\n onAfterExamplesEnd?(opts: EndScenarioOpts): void;\n onScenarioOutlineStart?(opts: StartScenarioOutlineOpts): void;\n onScenarioOutlineEnd?(opts: EndScenarioOpts): void;\n onPreScenarioStart?(): void;\n onPostScenarioEnd?(): void;\n onScenarioStart?(opts: StartScenarioOpts): void;\n onScenarioEnd?(opts: EndScenarioOpts): void;\n onStepStart?(opts: StartStepOpts): void;\n onStepEnd?(opts: EndStepOpts): void;\n onSetupStart?(opts: StartSetupOpts): void;\n onSetupEnd?(opts: EndSetupOpts): void;\n onTeardownStart?(opts: StartTeardownOpts): void;\n onTeardownEnd?(opts: EndTeardownOpts): void;\n onBeforeStart?(opts: StartBeforeOpts): void;\n onBeforeEnd?(opts: EndBeforeOpts): void;\n onAfterStart?(opts: StartAfterOpts): void;\n onAfterEnd?(opts: EndAfterOpts): void;\n onBeforeStepStart?(opts: StartStepOpts): void;\n onBeforeStepEnd?(opts: EndStepOpts): void;\n onAfterStepStart?(opts: StartStepOpts): void;\n onAfterStepEnd?(opts: EndStepOpts): void;\n}\n\nexport abstract class ProviderSubscriber implements EventSubscriber {\n abstract get fixtures(): {\n instances?: DependencyInstanceProvider[];\n prototypes?: Class<unknown>[];\n };\n\n addFixtureInstance = (instance: DependencyInstanceProvider) => {\n this.fixtures.instances?.push(instance);\n };\n\n onFeatureStart?(opts: StartFeatureOpts): void;\n}\n","import EventEmitter from \"events\";\nimport { Cb } from \"./test-event-emitter\";\nexport class TestEmitter<\n TArgsStart = never,\n TArgsEnd = never\n> extends EventEmitter {\n private promises: Promise<unknown>[] = [];\n\n constructor(readonly name: string) {\n super();\n }\n\n emitStart = (...args: TArgsStart[]) => {\n this.emit(`onStart${this.name}`, ...args);\n };\n\n onStart = (action?: (...args: unknown[]) => void) => {\n if (action) {\n this.on(`onStart${this.name}`, this.collectPromises(this.name, action));\n }\n };\n\n onEnd = (action?: (...args: unknown[]) => void) => {\n if (action) {\n this.on(`onEnd${this.name}`, this.collectPromises(this.name, action));\n }\n };\n\n emitEnd = (...args: TArgsEnd[]) => {\n this.emit(`onEnd${this.name}`, ...args);\n };\n\n load = (onStart?: Cb, onEnd?: Cb) => {\n this.onStart(onStart);\n this.onEnd(onEnd);\n };\n\n collectPromises = (name: string, action: (...args: unknown[]) => unknown) => {\n return (...args: unknown[]) => {\n try {\n const result = action(...args);\n if (result instanceof Promise) {\n this.promises.push(result);\n }\n } catch (e) {\n console.error(\n `Event Subscriber ${name} threw an error ${(e as Error).message}`\n );\n }\n };\n };\n\n waitForPromises = async () => {\n const settled = await Promise.allSettled(this.promises);\n return settled.filter((it) => it.status === \"rejected\").length;\n };\n}\n","import { EventSubscriber } from \"./event-subscriber\";\nimport { TestEmitter } from \"./test-emitter\";\nimport {\n StartScenarioOutlineOpts,\n EndScenarioOutlineOpts,\n StartFeatureOpts,\n EndFeatureOpts,\n StartRuleOpts,\n EndRuleOpts,\n StartScenarioOpts,\n EndScenarioOpts,\n StartSetupOpts,\n EndSetupOpts,\n StartTeardownOpts,\n EndTeardownOpts,\n StartBeforeOpts,\n EndBeforeOpts,\n StartAfterOpts,\n EndAfterOpts,\n StartStepOpts,\n EndStepOpts,\n} from \"./event-options\";\nexport class TestEventEmitter {\n scenarioOutline = new TestEmitter<\n StartScenarioOutlineOpts,\n EndScenarioOutlineOpts\n >(\"ScenarioOutline\");\n feature = new TestEmitter<StartFeatureOpts, EndFeatureOpts>(\"Feature\");\n rule = new TestEmitter<StartRuleOpts, EndRuleOpts>(\"Rule\");\n scenario = new TestEmitter<StartScenarioOpts, EndScenarioOpts>(\"Scenario\");\n scenarioWrapper = new TestEmitter<never, never>(\"Scenario Wrapper\");\n setup = new TestEmitter<StartSetupOpts, EndSetupOpts>(\"Setup\");\n beforeFeature = new TestEmitter<StartSetupOpts, EndSetupOpts>(\n \"BeforeFeature\"\n );\n afterFeature = new TestEmitter<StartSetupOpts, EndSetupOpts>(\"AfterFeature\");\n beforeRule = new TestEmitter<StartSetupOpts, EndSetupOpts>(\"BeforeRule\");\n afterRule = new TestEmitter<StartSetupOpts, EndSetupOpts>(\"AfterRule\");\n beforeScenarioOutline = new TestEmitter<StartSetupOpts, EndSetupOpts>(\n \"BeforeScenarioOutline\"\n );\n afterScenarioOutline = new TestEmitter<StartSetupOpts, EndSetupOpts>(\n \"AfterScenarioOutline\"\n );\n beforeExamples = new TestEmitter<StartSetupOpts, EndSetupOpts>(\n \"BeforeExamples\"\n );\n afterExamples = new TestEmitter<StartSetupOpts, EndSetupOpts>(\n \"AfterExamples\"\n );\n teardown = new TestEmitter<StartTeardownOpts, EndTeardownOpts>(\"Teardown\");\n before = new TestEmitter<StartBeforeOpts, EndBeforeOpts>(\"Before\");\n after = new TestEmitter<StartAfterOpts, EndAfterOpts>(\"After\");\n step = new TestEmitter<StartStepOpts, EndStepOpts>(\"Step\");\n beforeStep = new TestEmitter<StartStepOpts, EndStepOpts>(\"BeforeStep\");\n afterStep = new TestEmitter<StartStepOpts, EndStepOpts>(\"AfterStep\");\n\n settleAsyncEvents = async () => {\n return await Promise.allSettled([\n this.scenarioOutline.waitForPromises(),\n this.feature.waitForPromises(),\n this.rule.waitForPromises(),\n this.scenario.waitForPromises(),\n this.scenarioWrapper.waitForPromises(),\n this.setup.waitForPromises(),\n this.teardown.waitForPromises(),\n this.before.waitForPromises(),\n this.after.waitForPromises(),\n this.step.waitForPromises(),\n ]);\n };\n\n load = ({\n onFeatureStart,\n onFeatureEnd,\n onScenarioOutlineStart,\n onScenarioOutlineEnd,\n onScenarioStart,\n onScenarioEnd,\n onRuleStart,\n onRuleEnd,\n onBeforeStart,\n onBeforeEnd,\n onSetupStart,\n onSetupEnd,\n onStepStart,\n onStepEnd,\n onAfterStart,\n onAfterEnd,\n onTeardownStart,\n onTeardownEnd,\n onPreScenarioStart,\n onPostScenarioEnd,\n onBeforeFeatureStart,\n onBeforeFeatureEnd,\n onAfterFeatureStart,\n onAfterFeatureEnd,\n onBeforeRuleStart,\n onBeforeRuleEnd,\n onAfterRuleStart,\n onAfterRuleEnd,\n onBeforeScenarioOutlineStart,\n onBeforeScenarioOutlineEnd,\n onAfterScenarioOutlineStart,\n onAfterScenarioOutlineEnd,\n onBeforeExamplesStart,\n onBeforeExamplesEnd,\n onAfterExamplesStart,\n onBeforeStepStart,\n onBeforeStepEnd,\n onAfterStepStart,\n onAfterStepEnd,\n }: EventSubscriber) => {\n this.feature.load(onFeatureStart, onFeatureEnd);\n this.rule.load(onRuleStart, onRuleEnd);\n this.scenarioOutline.load(onScenarioOutlineStart, onScenarioOutlineEnd);\n this.scenario.load(onScenarioStart, onScenarioEnd);\n this.step.load(onStepStart, onStepEnd);\n this.before.load(onBeforeStart, onBeforeEnd);\n this.after.load(onAfterStart, onAfterEnd);\n this.setup.load(onSetupStart, onSetupEnd);\n this.teardown.load(onTeardownStart, onTeardownEnd);\n this.scenarioWrapper.load(onPreScenarioStart, onPostScenarioEnd);\n this.beforeFeature.load(onBeforeFeatureStart, onBeforeFeatureEnd);\n this.afterFeature.load(onAfterFeatureStart, onAfterFeatureEnd);\n this.beforeRule.load(onBeforeRuleStart, onBeforeRuleEnd);\n this.afterRule.load(onAfterRuleStart, onAfterRuleEnd);\n this.beforeScenarioOutline.load(\n onBeforeScenarioOutlineStart,\n onBeforeScenarioOutlineEnd\n );\n this.afterScenarioOutline.load(\n onAfterScenarioOutlineStart,\n onAfterScenarioOutlineEnd\n );\n this.beforeExamples.load(onBeforeExamplesStart, onBeforeExamplesEnd);\n this.afterExamples.load(onAfterExamplesStart, onBeforeStepStart);\n this.beforeStep.load(onBeforeStepStart, onBeforeStepEnd);\n this.afterStep.load(onAfterStepStart, onAfterStepEnd);\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Cb = (...args: any[]) => void;\n","export const Status = {\n FAILED: \"FAILED\",\n BROKEN: \"BROKEN\",\n PASSED: \"PASSED\",\n SKIPPED: \"SKIPPED\",\n} as const;\n\nexport type StatusType = keyof typeof Status;\n"],"mappings":"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","names":["import_zod","fun","EventEmitter"]}
|
|
1
|
+
{"version":3,"sources":["../src/dispatcher.ts","../src/emitter.ts","../src/bus.ts","../src/hooks.ts","../src/listener.ts","../src/status.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Event dispatcher for Autometa lifecycle events.\n */\nimport {\n createContainer,\n createToken,\n Scope,\n type IContainer,\n} from \"@autometa/injection\";\nimport type { EventEnvelope, EventSubscriber, TestEvent } from \"./types.js\";\n\nexport interface EventDispatcherOptions {\n /**\n * Optional container to use for resolving subscribers. If omitted a\n * standalone container is created per dispatcher instance.\n */\n container?: IContainer;\n}\n\nexport const EventDispatcherToken = createToken<EventDispatcher>(\n \"@autometa/events/dispatcher\"\n);\n\nexport class EventDispatcher {\n private readonly subscribers = new Map<string, Set<EventSubscriber>>();\n private sequence = 0;\n\n constructor(private readonly container: IContainer = createContainer()) {}\n\n static create(options: EventDispatcherOptions = {}): EventDispatcher {\n const container = options.container ?? createContainer();\n if (!container.isRegistered(EventDispatcherToken)) {\n container.registerValue(\n EventDispatcherToken,\n new EventDispatcher(container),\n { scope: Scope.SINGLETON }\n );\n }\n return container.resolve(EventDispatcherToken);\n }\n\n /**\n * Subscribe to events of a particular type.\n */\n subscribe<T extends TestEvent>(\n type: T[\"type\"],\n subscriber: EventSubscriber<T>\n ): () => void {\n const set = this.subscribers.get(type) ?? new Set();\n set.add(subscriber as EventSubscriber);\n this.subscribers.set(type, set);\n\n return () => {\n set.delete(subscriber as EventSubscriber);\n if (set.size === 0) {\n this.subscribers.delete(type);\n }\n };\n }\n\n /**\n * Publish an event to all registered subscribers. Subscribers are awaited in\n * series to preserve ordering guarantees; callers can fork when concurrency is\n * desired.\n */\n async dispatch<T extends TestEvent>(event: T): Promise<void> {\n const envelope: EventEnvelope<T> = {\n sequence: ++this.sequence,\n event,\n };\n\n const listeners = this.subscribers.get(event.type);\n if (!listeners || listeners.size === 0) {\n return;\n }\n\n for (const listener of listeners) {\n await listener(envelope);\n }\n }\n\n clear(): void {\n this.subscribers.clear();\n this.sequence = 0;\n }\n}\n","import type {\n SimpleExampleGroup,\n SimplePickle,\n SimplePickleFeatureRef,\n SimplePickleRuleRef,\n SimplePickleScenarioRef,\n SimplePickleStep,\n SimpleScenario,\n SimpleScenarioOutline,\n} from \"@autometa/gherkin\";\nimport { EventDispatcher } from \"./dispatcher.js\";\nimport type { HookDescriptor } from \"./hooks.js\";\nimport type {\n BackgroundLifecycleEvent,\n ErrorEvent,\n ExampleLifecycleEvent,\n FeatureLifecycleEvent,\n HookEvent,\n RuleLifecycleEvent,\n ScenarioLifecycleEvent,\n ScenarioOutlineLifecycleEvent,\n StatusEvent,\n StepEvent,\n} from \"./types.js\";\nimport type { TestStatus } from \"./status.js\";\n\nconst defaultIdFactory = (): string => {\n const crypto = (\n globalThis as typeof globalThis & {\n crypto?: { randomUUID?: () => string };\n }\n ).crypto;\n if (crypto && typeof crypto.randomUUID === \"function\") {\n return crypto.randomUUID();\n }\n return `${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 10)}`;\n};\n\nexport interface EventEmitterOptions {\n createId?: () => string;\n now?: () => number;\n}\n\ninterface BaseEmitOptions {\n id?: string;\n timestamp?: number;\n metadata?: Record<string, unknown>;\n}\n\nexport interface FeatureLifecycleOptions extends BaseEmitOptions {\n feature: SimplePickleFeatureRef;\n}\n\nexport interface RuleLifecycleOptions extends FeatureLifecycleOptions {\n rule: SimplePickleRuleRef;\n}\n\nexport interface ScenarioLifecycleOptions extends BaseEmitOptions {\n feature: SimplePickleFeatureRef;\n scenario: SimplePickleScenarioRef;\n pickle: SimplePickle;\n rule?: SimplePickleRuleRef;\n}\n\nexport interface ScenarioOutlineLifecycleOptions extends BaseEmitOptions {\n feature: SimplePickleFeatureRef;\n scenarioOutline: SimpleScenarioOutline;\n rule?: SimplePickleRuleRef;\n}\n\nexport interface ExampleLifecycleOptions extends BaseEmitOptions {\n feature: SimplePickleFeatureRef;\n scenarioOutline: SimpleScenarioOutline;\n example: SimpleExampleGroup;\n pickle: SimplePickle;\n rule?: SimplePickleRuleRef;\n}\n\nexport interface BackgroundLifecycleOptions extends BaseEmitOptions {\n feature: SimplePickleFeatureRef;\n background: SimpleScenario;\n pickle: SimplePickle;\n rule?: SimplePickleRuleRef;\n}\n\nexport interface StepLifecycleOptions extends ScenarioLifecycleOptions {\n step: SimplePickleStep;\n}\n\nexport interface HookEmitOptions extends BaseEmitOptions {\n hook: HookDescriptor;\n}\n\nexport interface StatusEmitOptions extends BaseEmitOptions {\n status: TestStatus;\n previousStatus?: TestStatus;\n feature?: SimplePickleFeatureRef;\n rule?: SimplePickleRuleRef;\n scenario?: SimplePickleScenarioRef;\n scenarioOutline?: SimpleScenarioOutline;\n example?: SimpleExampleGroup;\n pickle?: SimplePickle;\n}\n\nexport interface ErrorEmitOptions extends BaseEmitOptions {\n error: unknown;\n phase: ErrorEvent[\"phase\"];\n feature?: SimplePickleFeatureRef;\n rule?: SimplePickleRuleRef;\n scenario?: SimplePickleScenarioRef;\n scenarioOutline?: SimpleScenarioOutline;\n example?: SimpleExampleGroup;\n background?: SimpleScenario;\n pickle?: SimplePickle;\n}\n\nexport class EventEmitter {\n private readonly createId: () => string;\n private readonly now: () => number;\n\n constructor(\n private readonly dispatcher: EventDispatcher,\n options: EventEmitterOptions = {}\n ) {\n this.createId = options.createId ?? defaultIdFactory;\n this.now = options.now ?? Date.now;\n }\n\n async featureStarted(options: FeatureLifecycleOptions): Promise<void> {\n const event: FeatureLifecycleEvent = {\n type: \"feature.started\",\n feature: options.feature,\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async featureCompleted(options: FeatureLifecycleOptions): Promise<void> {\n const event: FeatureLifecycleEvent = {\n type: \"feature.completed\",\n feature: options.feature,\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async ruleStarted(options: RuleLifecycleOptions): Promise<void> {\n const event: RuleLifecycleEvent = {\n type: \"rule.started\",\n feature: options.feature,\n rule: options.rule,\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async ruleCompleted(options: RuleLifecycleOptions): Promise<void> {\n const event: RuleLifecycleEvent = {\n type: \"rule.completed\",\n feature: options.feature,\n rule: options.rule,\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async scenarioStarted(options: ScenarioLifecycleOptions): Promise<void> {\n const event: ScenarioLifecycleEvent = {\n type: \"scenario.started\",\n feature: options.feature,\n scenario: options.scenario,\n pickle: options.pickle,\n ...(options.rule ? { rule: options.rule } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async scenarioCompleted(options: ScenarioLifecycleOptions): Promise<void> {\n const event: ScenarioLifecycleEvent = {\n type: \"scenario.completed\",\n feature: options.feature,\n scenario: options.scenario,\n pickle: options.pickle,\n ...(options.rule ? { rule: options.rule } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async scenarioOutlineStarted(\n options: ScenarioOutlineLifecycleOptions\n ): Promise<void> {\n const event: ScenarioOutlineLifecycleEvent = {\n type: \"scenarioOutline.started\",\n feature: options.feature,\n scenarioOutline: options.scenarioOutline,\n ...(options.rule ? { rule: options.rule } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async scenarioOutlineCompleted(\n options: ScenarioOutlineLifecycleOptions\n ): Promise<void> {\n const event: ScenarioOutlineLifecycleEvent = {\n type: \"scenarioOutline.completed\",\n feature: options.feature,\n scenarioOutline: options.scenarioOutline,\n ...(options.rule ? { rule: options.rule } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async exampleStarted(options: ExampleLifecycleOptions): Promise<void> {\n const event: ExampleLifecycleEvent = {\n type: \"example.started\",\n feature: options.feature,\n scenarioOutline: options.scenarioOutline,\n example: options.example,\n pickle: options.pickle,\n ...(options.rule ? { rule: options.rule } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async exampleCompleted(options: ExampleLifecycleOptions): Promise<void> {\n const event: ExampleLifecycleEvent = {\n type: \"example.completed\",\n feature: options.feature,\n scenarioOutline: options.scenarioOutline,\n example: options.example,\n pickle: options.pickle,\n ...(options.rule ? { rule: options.rule } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async backgroundStarted(options: BackgroundLifecycleOptions): Promise<void> {\n const event: BackgroundLifecycleEvent = {\n type: \"background.started\",\n feature: options.feature,\n background: options.background,\n pickle: options.pickle,\n ...(options.rule ? { rule: options.rule } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async backgroundCompleted(\n options: BackgroundLifecycleOptions\n ): Promise<void> {\n const event: BackgroundLifecycleEvent = {\n type: \"background.completed\",\n feature: options.feature,\n background: options.background,\n pickle: options.pickle,\n ...(options.rule ? { rule: options.rule } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async stepStarted(options: StepLifecycleOptions): Promise<void> {\n const event: StepEvent = {\n type: \"step.started\",\n feature: options.feature,\n scenario: options.scenario,\n step: options.step,\n pickle: options.pickle,\n ...(options.rule ? { rule: options.rule } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async stepCompleted(options: StepLifecycleOptions): Promise<void> {\n const event: StepEvent = {\n type: \"step.completed\",\n feature: options.feature,\n scenario: options.scenario,\n step: options.step,\n pickle: options.pickle,\n ...(options.rule ? { rule: options.rule } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async hookStarted(options: HookEmitOptions): Promise<void> {\n const event: HookEvent = {\n type: \"hook.started\",\n hook: options.hook,\n ...(options.hook.feature ? { feature: options.hook.feature } : {}),\n ...(options.hook.rule ? { rule: options.hook.rule } : {}),\n ...(options.hook.scenario ? { scenario: options.hook.scenario } : {}),\n ...(options.hook.scenarioOutline\n ? { scenarioOutline: options.hook.scenarioOutline }\n : {}),\n ...(options.hook.example ? { example: options.hook.example } : {}),\n ...(options.hook.background ? { background: options.hook.background } : {}),\n ...(options.hook.step ? { step: options.hook.step } : {}),\n ...(options.hook.pickle ? { pickle: options.hook.pickle } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async hookCompleted(options: HookEmitOptions): Promise<void> {\n const event: HookEvent = {\n type: \"hook.completed\",\n hook: options.hook,\n ...(options.hook.feature ? { feature: options.hook.feature } : {}),\n ...(options.hook.rule ? { rule: options.hook.rule } : {}),\n ...(options.hook.scenario ? { scenario: options.hook.scenario } : {}),\n ...(options.hook.scenarioOutline\n ? { scenarioOutline: options.hook.scenarioOutline }\n : {}),\n ...(options.hook.example ? { example: options.hook.example } : {}),\n ...(options.hook.background ? { background: options.hook.background } : {}),\n ...(options.hook.step ? { step: options.hook.step } : {}),\n ...(options.hook.pickle ? { pickle: options.hook.pickle } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async statusChanged(options: StatusEmitOptions): Promise<void> {\n const event: StatusEvent = {\n type: \"status.changed\",\n status: options.status,\n ...(options.previousStatus ? { previousStatus: options.previousStatus } : {}),\n ...(options.feature ? { feature: options.feature } : {}),\n ...(options.rule ? { rule: options.rule } : {}),\n ...(options.scenario ? { scenario: options.scenario } : {}),\n ...(options.scenarioOutline\n ? { scenarioOutline: options.scenarioOutline }\n : {}),\n ...(options.example ? { example: options.example } : {}),\n ...(options.pickle ? { pickle: options.pickle } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n async errorRaised(options: ErrorEmitOptions): Promise<void> {\n const event: ErrorEvent = {\n type: \"error\",\n error: options.error,\n phase: options.phase,\n ...(options.feature ? { feature: options.feature } : {}),\n ...(options.rule ? { rule: options.rule } : {}),\n ...(options.scenario ? { scenario: options.scenario } : {}),\n ...(options.scenarioOutline\n ? { scenarioOutline: options.scenarioOutline }\n : {}),\n ...(options.example ? { example: options.example } : {}),\n ...(options.background ? { background: options.background } : {}),\n ...(options.pickle ? { pickle: options.pickle } : {}),\n ...this.base(options),\n };\n await this.dispatcher.dispatch(event);\n }\n\n private base(options: BaseEmitOptions): {\n id: string;\n timestamp: number;\n metadata?: Record<string, unknown>;\n } {\n const base = {\n id: options.id ?? this.createId(),\n timestamp: options.timestamp ?? this.now(),\n } as {\n id: string;\n timestamp: number;\n metadata?: Record<string, unknown>;\n };\n\n if (options.metadata !== undefined) {\n base.metadata = options.metadata;\n }\n\n return base;\n }\n}\n","import { EventDispatcher } from \"./dispatcher.js\";\nimport { EventEmitter } from \"./emitter.js\";\n\nexport interface EventBus {\n readonly dispatcher: EventDispatcher;\n readonly emitter: EventEmitter;\n}\n\nconst BUS_KEY = Symbol.for(\"@autometa/events/bus\");\n\nexport function getEventBus(): EventBus {\n const store = globalThis as unknown as Record<symbol, EventBus | undefined>;\n const existing = store[BUS_KEY];\n if (existing) {\n return existing;\n }\n\n const dispatcher = EventDispatcher.create();\n const emitter = new EventEmitter(dispatcher);\n const bus = { dispatcher, emitter } satisfies EventBus;\n store[BUS_KEY] = bus;\n return bus;\n}\n\nexport function getEventDispatcher(): EventDispatcher {\n return getEventBus().dispatcher;\n}\n\nexport function getEventEmitter(): EventEmitter {\n return getEventBus().emitter;\n}\n\nexport function resetEventBus(): void {\n const store = globalThis as unknown as Record<symbol, EventBus | undefined>;\n const existing = store[BUS_KEY];\n if (existing) {\n existing.dispatcher.clear();\n }\n // Avoid relying on `delete` semantics on globalThis in all runtimes/test environments.\n store[BUS_KEY] = undefined;\n}\n","import {\n SimplePickle,\n SimplePickleFeatureRef,\n SimplePickleRuleRef,\n SimplePickleScenarioRef,\n SimplePickleStep,\n SimpleScenarioOutline,\n SimpleExampleGroup,\n SimpleScenario,\n} from \"@autometa/gherkin\";\n\n/** Canonical hook kinds recognised by the Autometa runner. */\nexport const HookKind = {\n BEFORE_FEATURE: \"beforeFeature\",\n AFTER_FEATURE: \"afterFeature\",\n BEFORE_RULE: \"beforeRule\",\n AFTER_RULE: \"afterRule\",\n BEFORE_SCENARIO: \"beforeScenario\",\n AFTER_SCENARIO: \"afterScenario\",\n BEFORE_SCENARIO_OUTLINE: \"beforeScenarioOutline\",\n AFTER_SCENARIO_OUTLINE: \"afterScenarioOutline\",\n BEFORE_EXAMPLE: \"beforeExample\",\n AFTER_EXAMPLE: \"afterExample\",\n BEFORE_BACKGROUND: \"beforeBackground\",\n AFTER_BACKGROUND: \"afterBackground\",\n BEFORE_STEP: \"beforeStep\",\n AFTER_STEP: \"afterStep\",\n SETUP: \"setup\",\n TEARDOWN: \"teardown\",\n CUSTOM: \"custom\",\n} as const;\n\nexport type HookKind = (typeof HookKind)[keyof typeof HookKind];\n\nexport interface HookDescriptor {\n /** Categorises when the hook is executed. */\n kind: HookKind;\n /** Optional human friendly name for diagnostics. */\n name?: string;\n /** Path or identifier that produced the hook for richer reporting. */\n source?: string;\n /** Stage-specific context for the hook, when available. */\n feature?: SimplePickleFeatureRef;\n rule?: SimplePickleRuleRef;\n scenario?: SimplePickleScenarioRef;\n scenarioOutline?: SimpleScenarioOutline;\n example?: SimpleExampleGroup;\n background?: SimpleScenario;\n step?: SimplePickleStep;\n pickle?: SimplePickle;\n /** Arbitrary metadata emitted by the hook author. */\n metadata?: Record<string, unknown>;\n}\n","import type { EventDispatcher } from \"./dispatcher.js\";\nimport { getEventDispatcher } from \"./bus.js\";\nimport type {\n BackgroundLifecycleEvent,\n ErrorEvent,\n EventEnvelope,\n ExampleLifecycleEvent,\n FeatureLifecycleEvent,\n HookEvent,\n RuleLifecycleEvent,\n ScenarioLifecycleEvent,\n ScenarioOutlineLifecycleEvent,\n StatusEvent,\n StepEvent,\n TestEvent,\n} from \"./types.js\";\n\nexport interface TestListener {\n onEvent?(envelope: EventEnvelope<TestEvent>): void | Promise<void>;\n onFeatureStarted?(envelope: EventEnvelope<FeatureLifecycleEvent>): void | Promise<void>;\n onFeatureCompleted?(envelope: EventEnvelope<FeatureLifecycleEvent>): void | Promise<void>;\n onRuleStarted?(envelope: EventEnvelope<RuleLifecycleEvent>): void | Promise<void>;\n onRuleCompleted?(envelope: EventEnvelope<RuleLifecycleEvent>): void | Promise<void>;\n onScenarioStarted?(envelope: EventEnvelope<ScenarioLifecycleEvent>): void | Promise<void>;\n onScenarioCompleted?(envelope: EventEnvelope<ScenarioLifecycleEvent>): void | Promise<void>;\n onScenarioOutlineStarted?(\n envelope: EventEnvelope<ScenarioOutlineLifecycleEvent>\n ): void | Promise<void>;\n onScenarioOutlineCompleted?(\n envelope: EventEnvelope<ScenarioOutlineLifecycleEvent>\n ): void | Promise<void>;\n onExampleStarted?(envelope: EventEnvelope<ExampleLifecycleEvent>): void | Promise<void>;\n onExampleCompleted?(envelope: EventEnvelope<ExampleLifecycleEvent>): void | Promise<void>;\n onBackgroundStarted?(envelope: EventEnvelope<BackgroundLifecycleEvent>): void | Promise<void>;\n onBackgroundCompleted?(envelope: EventEnvelope<BackgroundLifecycleEvent>): void | Promise<void>;\n onStepStarted?(envelope: EventEnvelope<StepEvent>): void | Promise<void>;\n onStepCompleted?(envelope: EventEnvelope<StepEvent>): void | Promise<void>;\n onHookStarted?(envelope: EventEnvelope<HookEvent>): void | Promise<void>;\n onHookCompleted?(envelope: EventEnvelope<HookEvent>): void | Promise<void>;\n onStatusChanged?(envelope: EventEnvelope<StatusEvent>): void | Promise<void>;\n onError?(envelope: EventEnvelope<ErrorEvent>): void | Promise<void>;\n}\n\nexport function registerTestListener(\n listener: TestListener,\n options: { dispatcher?: EventDispatcher } = {}\n): () => void {\n const dispatcher = options.dispatcher ?? getEventDispatcher();\n const unsubscribers: Array<() => void> = [];\n\n const subscribe = <T extends TestEvent>(\n type: T[\"type\"],\n handler?: (envelope: EventEnvelope<T>) => void | Promise<void>\n ) => {\n if (!handler && !listener.onEvent) {\n return;\n }\n\n unsubscribers.push(\n dispatcher.subscribe(type, async (envelope) => {\n if (listener.onEvent) {\n await listener.onEvent(envelope as EventEnvelope<TestEvent>);\n }\n if (handler) {\n await handler(envelope);\n }\n })\n );\n };\n\n subscribe<FeatureLifecycleEvent>(\"feature.started\", listener.onFeatureStarted);\n subscribe<FeatureLifecycleEvent>(\"feature.completed\", listener.onFeatureCompleted);\n subscribe<RuleLifecycleEvent>(\"rule.started\", listener.onRuleStarted);\n subscribe<RuleLifecycleEvent>(\"rule.completed\", listener.onRuleCompleted);\n subscribe<ScenarioLifecycleEvent>(\"scenario.started\", listener.onScenarioStarted);\n subscribe<ScenarioLifecycleEvent>(\"scenario.completed\", listener.onScenarioCompleted);\n subscribe<ScenarioOutlineLifecycleEvent>(\n \"scenarioOutline.started\",\n listener.onScenarioOutlineStarted\n );\n subscribe<ScenarioOutlineLifecycleEvent>(\n \"scenarioOutline.completed\",\n listener.onScenarioOutlineCompleted\n );\n subscribe<ExampleLifecycleEvent>(\"example.started\", listener.onExampleStarted);\n subscribe<ExampleLifecycleEvent>(\"example.completed\", listener.onExampleCompleted);\n subscribe<BackgroundLifecycleEvent>(\"background.started\", listener.onBackgroundStarted);\n subscribe<BackgroundLifecycleEvent>(\"background.completed\", listener.onBackgroundCompleted);\n subscribe<StepEvent>(\"step.started\", listener.onStepStarted);\n subscribe<StepEvent>(\"step.completed\", listener.onStepCompleted);\n subscribe<HookEvent>(\"hook.started\", listener.onHookStarted);\n subscribe<HookEvent>(\"hook.completed\", listener.onHookCompleted);\n subscribe<StatusEvent>(\"status.changed\", listener.onStatusChanged);\n subscribe<ErrorEvent>(\"error\", listener.onError);\n\n return () => {\n for (const unsubscribe of unsubscribers) {\n unsubscribe();\n }\n };\n}\n","/**\n * Standardised execution statuses for Autometa test lifecycle events.\n */\nexport const TestStatus = {\n IDLE: \"idle\",\n RUNNING: \"running\",\n PASSED: \"passed\",\n FAILED: \"failed\",\n SKIPPED: \"skipped\",\n BROKEN: \"broken\",\n} as const;\n\nexport type TestStatus = (typeof TestStatus)[keyof typeof TestStatus];\n\n/** True when the status represents the end of a lifecycle transition. */\nexport function isTerminalStatus(status: TestStatus): boolean {\n return (\n status === TestStatus.PASSED ||\n status === TestStatus.FAILED ||\n status === TestStatus.SKIPPED ||\n status === TestStatus.BROKEN\n );\n}\n"]}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { EventDispatcher } from "./dispatcher.js";
|
|
2
|
+
import type { BackgroundLifecycleEvent, ErrorEvent, EventEnvelope, ExampleLifecycleEvent, FeatureLifecycleEvent, HookEvent, RuleLifecycleEvent, ScenarioLifecycleEvent, ScenarioOutlineLifecycleEvent, StatusEvent, StepEvent, TestEvent } from "./types.js";
|
|
3
|
+
export interface TestListener {
|
|
4
|
+
onEvent?(envelope: EventEnvelope<TestEvent>): void | Promise<void>;
|
|
5
|
+
onFeatureStarted?(envelope: EventEnvelope<FeatureLifecycleEvent>): void | Promise<void>;
|
|
6
|
+
onFeatureCompleted?(envelope: EventEnvelope<FeatureLifecycleEvent>): void | Promise<void>;
|
|
7
|
+
onRuleStarted?(envelope: EventEnvelope<RuleLifecycleEvent>): void | Promise<void>;
|
|
8
|
+
onRuleCompleted?(envelope: EventEnvelope<RuleLifecycleEvent>): void | Promise<void>;
|
|
9
|
+
onScenarioStarted?(envelope: EventEnvelope<ScenarioLifecycleEvent>): void | Promise<void>;
|
|
10
|
+
onScenarioCompleted?(envelope: EventEnvelope<ScenarioLifecycleEvent>): void | Promise<void>;
|
|
11
|
+
onScenarioOutlineStarted?(envelope: EventEnvelope<ScenarioOutlineLifecycleEvent>): void | Promise<void>;
|
|
12
|
+
onScenarioOutlineCompleted?(envelope: EventEnvelope<ScenarioOutlineLifecycleEvent>): void | Promise<void>;
|
|
13
|
+
onExampleStarted?(envelope: EventEnvelope<ExampleLifecycleEvent>): void | Promise<void>;
|
|
14
|
+
onExampleCompleted?(envelope: EventEnvelope<ExampleLifecycleEvent>): void | Promise<void>;
|
|
15
|
+
onBackgroundStarted?(envelope: EventEnvelope<BackgroundLifecycleEvent>): void | Promise<void>;
|
|
16
|
+
onBackgroundCompleted?(envelope: EventEnvelope<BackgroundLifecycleEvent>): void | Promise<void>;
|
|
17
|
+
onStepStarted?(envelope: EventEnvelope<StepEvent>): void | Promise<void>;
|
|
18
|
+
onStepCompleted?(envelope: EventEnvelope<StepEvent>): void | Promise<void>;
|
|
19
|
+
onHookStarted?(envelope: EventEnvelope<HookEvent>): void | Promise<void>;
|
|
20
|
+
onHookCompleted?(envelope: EventEnvelope<HookEvent>): void | Promise<void>;
|
|
21
|
+
onStatusChanged?(envelope: EventEnvelope<StatusEvent>): void | Promise<void>;
|
|
22
|
+
onError?(envelope: EventEnvelope<ErrorEvent>): void | Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
export declare function registerTestListener(listener: TestListener, options?: {
|
|
25
|
+
dispatcher?: EventDispatcher;
|
|
26
|
+
}): () => void;
|
package/dist/status.d.ts
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Standardised execution statuses for Autometa test lifecycle events.
|
|
3
|
+
*/
|
|
4
|
+
export declare const TestStatus: {
|
|
5
|
+
readonly IDLE: "idle";
|
|
6
|
+
readonly RUNNING: "running";
|
|
7
|
+
readonly PASSED: "passed";
|
|
8
|
+
readonly FAILED: "failed";
|
|
9
|
+
readonly SKIPPED: "skipped";
|
|
10
|
+
readonly BROKEN: "broken";
|
|
11
|
+
};
|
|
12
|
+
export type TestStatus = (typeof TestStatus)[keyof typeof TestStatus];
|
|
13
|
+
/** True when the status represents the end of a lifecycle transition. */
|
|
14
|
+
export declare function isTerminalStatus(status: TestStatus): boolean;
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Core event types emitted by @autometa/events.
|
|
3
|
+
*/
|
|
4
|
+
import { SimplePickle, SimplePickleStep, SimplePickleFeatureRef, SimplePickleScenarioRef, SimplePickleRuleRef, SimpleScenarioOutline, SimpleExampleGroup, SimpleScenario } from "@autometa/gherkin";
|
|
5
|
+
import { HookDescriptor } from "./hooks.js";
|
|
6
|
+
import { TestStatus } from "./status.js";
|
|
7
|
+
export type TestEvent = LifecycleEvent | StepEvent | HookEvent | StatusEvent | ErrorEvent;
|
|
8
|
+
export interface LifecycleEventBase {
|
|
9
|
+
/** Unique identifier for the lifecycle instance. */
|
|
10
|
+
id: string;
|
|
11
|
+
/** Timestamp in milliseconds since epoch when the event was published. */
|
|
12
|
+
timestamp: number;
|
|
13
|
+
metadata?: Record<string, unknown>;
|
|
14
|
+
}
|
|
15
|
+
export type LifecycleEvent = FeatureLifecycleEvent | RuleLifecycleEvent | ScenarioLifecycleEvent | ScenarioOutlineLifecycleEvent | ExampleLifecycleEvent | BackgroundLifecycleEvent;
|
|
16
|
+
export interface FeatureLifecycleEvent extends LifecycleEventBase {
|
|
17
|
+
type: "feature.started" | "feature.completed";
|
|
18
|
+
feature: SimplePickleFeatureRef;
|
|
19
|
+
}
|
|
20
|
+
export interface RuleLifecycleEvent extends LifecycleEventBase {
|
|
21
|
+
type: "rule.started" | "rule.completed";
|
|
22
|
+
feature: SimplePickleFeatureRef;
|
|
23
|
+
rule: SimplePickleRuleRef;
|
|
24
|
+
}
|
|
25
|
+
export interface ScenarioLifecycleEvent extends LifecycleEventBase {
|
|
26
|
+
type: "scenario.started" | "scenario.completed";
|
|
27
|
+
feature: SimplePickleFeatureRef;
|
|
28
|
+
scenario: SimplePickleScenarioRef;
|
|
29
|
+
pickle: SimplePickle;
|
|
30
|
+
rule?: SimplePickleRuleRef;
|
|
31
|
+
}
|
|
32
|
+
export interface ScenarioOutlineLifecycleEvent extends LifecycleEventBase {
|
|
33
|
+
type: "scenarioOutline.started" | "scenarioOutline.completed";
|
|
34
|
+
feature: SimplePickleFeatureRef;
|
|
35
|
+
scenarioOutline: SimpleScenarioOutline;
|
|
36
|
+
rule?: SimplePickleRuleRef;
|
|
37
|
+
}
|
|
38
|
+
export interface ExampleLifecycleEvent extends LifecycleEventBase {
|
|
39
|
+
type: "example.started" | "example.completed";
|
|
40
|
+
feature: SimplePickleFeatureRef;
|
|
41
|
+
scenarioOutline: SimpleScenarioOutline;
|
|
42
|
+
example: SimpleExampleGroup;
|
|
43
|
+
pickle: SimplePickle;
|
|
44
|
+
rule?: SimplePickleRuleRef;
|
|
45
|
+
}
|
|
46
|
+
export interface BackgroundLifecycleEvent extends LifecycleEventBase {
|
|
47
|
+
type: "background.started" | "background.completed";
|
|
48
|
+
feature: SimplePickleFeatureRef;
|
|
49
|
+
background: SimpleScenario;
|
|
50
|
+
pickle: SimplePickle;
|
|
51
|
+
rule?: SimplePickleRuleRef;
|
|
52
|
+
}
|
|
53
|
+
export interface StepEvent extends LifecycleEventBase {
|
|
54
|
+
type: "step.started" | "step.completed";
|
|
55
|
+
feature: SimplePickleFeatureRef;
|
|
56
|
+
scenario: SimplePickleScenarioRef;
|
|
57
|
+
step: SimplePickleStep;
|
|
58
|
+
pickle: SimplePickle;
|
|
59
|
+
rule?: SimplePickleRuleRef;
|
|
60
|
+
}
|
|
61
|
+
export interface HookEvent extends LifecycleEventBase {
|
|
62
|
+
type: "hook.started" | "hook.completed";
|
|
63
|
+
hook: HookDescriptor;
|
|
64
|
+
feature?: SimplePickleFeatureRef;
|
|
65
|
+
rule?: SimplePickleRuleRef;
|
|
66
|
+
scenario?: SimplePickleScenarioRef;
|
|
67
|
+
scenarioOutline?: SimpleScenarioOutline;
|
|
68
|
+
example?: SimpleExampleGroup;
|
|
69
|
+
background?: SimpleScenario;
|
|
70
|
+
step?: SimplePickleStep;
|
|
71
|
+
pickle?: SimplePickle;
|
|
72
|
+
}
|
|
73
|
+
export interface StatusEvent extends LifecycleEventBase {
|
|
74
|
+
type: "status.changed";
|
|
75
|
+
status: TestStatus;
|
|
76
|
+
previousStatus?: TestStatus;
|
|
77
|
+
feature?: SimplePickleFeatureRef;
|
|
78
|
+
rule?: SimplePickleRuleRef;
|
|
79
|
+
scenario?: SimplePickleScenarioRef;
|
|
80
|
+
scenarioOutline?: SimpleScenarioOutline;
|
|
81
|
+
example?: SimpleExampleGroup;
|
|
82
|
+
pickle?: SimplePickle;
|
|
83
|
+
}
|
|
84
|
+
export interface ErrorEvent extends LifecycleEventBase {
|
|
85
|
+
type: "error";
|
|
86
|
+
error: unknown;
|
|
87
|
+
phase: "feature" | "rule" | "scenario" | "scenarioOutline" | "example" | "background" | "step" | "hook" | "runner";
|
|
88
|
+
feature?: SimplePickleFeatureRef;
|
|
89
|
+
rule?: SimplePickleRuleRef;
|
|
90
|
+
scenario?: SimplePickleScenarioRef;
|
|
91
|
+
scenarioOutline?: SimpleScenarioOutline;
|
|
92
|
+
example?: SimpleExampleGroup;
|
|
93
|
+
background?: SimpleScenario;
|
|
94
|
+
pickle?: SimplePickle;
|
|
95
|
+
}
|
|
96
|
+
export interface EventEnvelope<T extends TestEvent = TestEvent> {
|
|
97
|
+
/** Sequence number for deterministic ordering. */
|
|
98
|
+
sequence: number;
|
|
99
|
+
/** Event payload. */
|
|
100
|
+
event: T;
|
|
101
|
+
}
|
|
102
|
+
export type EventSubscriber<T extends TestEvent = TestEvent> = (event: EventEnvelope<T>) => void | Promise<void>;
|
package/package.json
CHANGED
|
@@ -1,65 +1,53 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@autometa/events",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0-rc.0",
|
|
4
|
+
"description": "",
|
|
4
5
|
"type": "module",
|
|
5
|
-
"main": "dist/index.
|
|
6
|
-
"module": "dist/
|
|
6
|
+
"main": "dist/index.cjs",
|
|
7
|
+
"module": "dist/index.js",
|
|
7
8
|
"types": "dist/index.d.ts",
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
"files": [
|
|
10
|
+
"dist"
|
|
11
|
+
],
|
|
11
12
|
"exports": {
|
|
12
|
-
"import": "./dist/
|
|
13
|
-
"require": "./dist/index.
|
|
14
|
-
"default": "./dist/
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"require": "./dist/index.cjs",
|
|
15
|
+
"default": "./dist/index.js",
|
|
15
16
|
"types": "./dist/index.d.ts"
|
|
16
17
|
},
|
|
18
|
+
"license": "MIT",
|
|
17
19
|
"devDependencies": {
|
|
18
|
-
"@cucumber/cucumber-expressions": "^16.1.2",
|
|
19
|
-
"@jest/globals": "^29.4.3",
|
|
20
|
-
"@jest/types": "^29.4.3",
|
|
21
20
|
"@types/node": "^18.11.18",
|
|
22
|
-
"@types/uuid": "^9.0.5",
|
|
23
21
|
"@typescript-eslint/eslint-plugin": "^5.54.1",
|
|
24
22
|
"@typescript-eslint/parser": "^5.54.1",
|
|
25
|
-
"@vitest/coverage-istanbul": "^1.4.0",
|
|
26
|
-
"@vitest/coverage-v8": "^1.4.0",
|
|
27
23
|
"eslint": "^8.37.0",
|
|
28
24
|
"eslint-config-prettier": "^8.3.0",
|
|
29
|
-
"istanbul": "^0.4.5",
|
|
30
|
-
"jest": "^29.5.0",
|
|
31
|
-
"nodemon": "^2.0.22",
|
|
32
|
-
"prettier": "^2.8.3",
|
|
33
|
-
"reflect-metadata": "^0.1.13",
|
|
34
25
|
"rimraf": "^4.1.2",
|
|
35
|
-
"ts-jest": "^29.0.5",
|
|
36
|
-
"ts-node": "^10.9.1",
|
|
37
26
|
"tsup": "^7.2.0",
|
|
38
27
|
"typescript": "^4.9.5",
|
|
39
28
|
"vitest": "1.4.0",
|
|
40
|
-
"
|
|
41
|
-
"webpack-cli": "^5.0.1",
|
|
42
|
-
"webpack-node-externals": "^3.0.0",
|
|
29
|
+
"tsconfig": "0.7.0",
|
|
43
30
|
"eslint-config-custom": "0.6.0",
|
|
44
|
-
"
|
|
31
|
+
"tsup-config": "0.1.0"
|
|
45
32
|
},
|
|
46
33
|
"dependencies": {
|
|
47
|
-
"@
|
|
48
|
-
"@
|
|
49
|
-
"tsyringe": "^4.7.0",
|
|
50
|
-
"uuid": "^9.0.1",
|
|
51
|
-
"zod": "^3.21.4",
|
|
52
|
-
"@autometa/types": "0.4.1",
|
|
53
|
-
"@autometa/errors": "^0.2.2",
|
|
54
|
-
"@autometa/gherkin": "0.7.2"
|
|
34
|
+
"@autometa/gherkin": "^1.0.0-rc.0",
|
|
35
|
+
"@autometa/injection": "^1.0.0-rc.0"
|
|
55
36
|
},
|
|
56
37
|
"scripts": {
|
|
57
|
-
"
|
|
58
|
-
"
|
|
38
|
+
"type-check": "tsc --noEmit -p tsconfig.dev.json",
|
|
39
|
+
"type-check:watch": "tsc --noEmit --watch -p tsconfig.dev.json",
|
|
40
|
+
"build": "tsup && pnpm run build:types",
|
|
41
|
+
"build:types": "rimraf tsconfig.types.tsbuildinfo && tsc --build tsconfig.types.json",
|
|
42
|
+
"build:watch": "tsup --watch",
|
|
43
|
+
"dev": "tsup --watch",
|
|
44
|
+
"test": "vitest run --coverage",
|
|
45
|
+
"test:watch": "vitest --coverage --watch",
|
|
46
|
+
"test:ui": "vitest --ui --coverage",
|
|
47
|
+
"coverage": "vitest run --coverage",
|
|
59
48
|
"lint": "eslint . --max-warnings 0",
|
|
60
49
|
"lint:fix": "eslint . --fix",
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"build:watch": "tsup --watch"
|
|
50
|
+
"prettify": "prettier --config .prettierrc 'src/**/*.ts' --write",
|
|
51
|
+
"clean": "rimraf dist"
|
|
64
52
|
}
|
|
65
53
|
}
|
package/.eslintignore
DELETED
package/.eslintrc.cjs
DELETED
package/.turbo/turbo-build.log
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
> @autometa/events@0.0.10 build /Users/ben.aherne/Documents/GitHub/autometa/packages/events
|
|
3
|
-
> tsup
|
|
4
|
-
|
|
5
|
-
CLI Building entry: src/index.ts
|
|
6
|
-
CLI Using tsconfig: tsconfig.json
|
|
7
|
-
CLI tsup v6.7.0
|
|
8
|
-
CLI Using tsup config: /Users/ben.aherne/Documents/GitHub/autometa/packages/events/tsup.config.ts
|
|
9
|
-
CLI Target: es2020
|
|
10
|
-
CLI Cleaning output folder
|
|
11
|
-
CJS Build start
|
|
12
|
-
ESM Build start
|
|
13
|
-
CJS You have emitDecoratorMetadata enabled but @swc/core was not installed, skipping swc plugin
|
|
14
|
-
ESM You have emitDecoratorMetadata enabled but @swc/core was not installed, skipping swc plugin
|
|
15
|
-
CJS dist/index.js 961.00 B
|
|
16
|
-
CJS ⚡️ Build success in 14ms
|
|
17
|
-
ESM dist/esm/index.js 75.00 B
|
|
18
|
-
ESM ⚡️ Build success in 16ms
|
|
19
|
-
DTS Build start
|
|
20
|
-
DTS ⚡️ Build success in 1969ms
|
|
21
|
-
DTS dist/index.d.ts 61.00 B
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
> @autometa/events@0.0.10 build:dts /Users/ben.aherne/Documents/GitHub/autometa/packages/events
|
|
3
|
-
> tsup --dts-only
|
|
4
|
-
|
|
5
|
-
CLI Building entry: src/index.ts
|
|
6
|
-
CLI Using tsconfig: tsconfig.json
|
|
7
|
-
CLI tsup v6.7.0
|
|
8
|
-
CLI Using tsup config: /Users/ben.aherne/Documents/GitHub/autometa/packages/events/tsup.config.ts
|
|
9
|
-
DTS Build start
|
|
10
|
-
src/event-subscriber.ts(1,23): error TS2307: Cannot find module '@autometa/types' or its corresponding type declarations.
|
|
11
|
-
|
|
12
|
-
Error: error occured in dts build
|
|
13
|
-
at Worker.<anonymous> (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/tsup@6.7.0_ts-node@10.9.1_typescript@4.9.5/node_modules/tsup/dist/index.js:2281:26)
|
|
14
|
-
at Worker.emit (node:events:513:28)
|
|
15
|
-
at MessagePort.<anonymous> (node:internal/worker:238:53)
|
|
16
|
-
at [nodejs.internal.kHybridDispatch] (node:internal/event_target:738:20)
|
|
17
|
-
at exports.emitMessage (node:internal/per_context/messageport:23:28)
|
|
18
|
-
DTS Build error
|
|
19
|
-
RollupError: Failed to compile. Check the logs above.
|
|
20
|
-
at error (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/rollup@3.12.0/node_modules/rollup/dist/shared/rollup.js:260:30)
|
|
21
|
-
at Object.error (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/rollup@3.12.0/node_modules/rollup/dist/shared/rollup.js:24090:20)
|
|
22
|
-
at Object.error (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/rollup@3.12.0/node_modules/rollup/dist/shared/rollup.js:23331:42)
|
|
23
|
-
at generateDtsFromTs (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/tsup@6.7.0_ts-node@10.9.1_typescript@4.9.5/node_modules/tsup/dist/rollup.js:7498:22)
|
|
24
|
-
at /Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/tsup@6.7.0_ts-node@10.9.1_typescript@4.9.5/node_modules/tsup/dist/rollup.js:7505:59
|
|
25
|
-
at _nullishCoalesce (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/tsup@6.7.0_ts-node@10.9.1_typescript@4.9.5/node_modules/tsup/dist/rollup.js:1:198)
|
|
26
|
-
at Object.transform (/Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/tsup@6.7.0_ts-node@10.9.1_typescript@4.9.5/node_modules/tsup/dist/rollup.js:7505:18)
|
|
27
|
-
at /Users/ben.aherne/Documents/GitHub/autometa/node_modules/.pnpm/rollup@3.12.0/node_modules/rollup/dist/shared/rollup.js:24289:40
|
|
28
|
-
src/event-options.ts(5,38): error TS2307: Cannot find module '@autometa/gherkin' or its corresponding type declarations.
|
|
29
|
-
src/event-options.ts(6,42): error TS2307: Cannot find module '@autometa/types' or its corresponding type declarations.
|
|
30
|
-
|
|
31
|
-
ELIFECYCLE Command failed with exit code 1.
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
> @autometa/events@0.0.10 build:dts:tsc /Users/ben.aherne/Documents/GitHub/autometa/packages/events
|
|
3
|
-
> tsc
|
|
4
|
-
|
|
5
|
-
src/event-dispatcher.ts(20,22): error TS2307: Cannot find module '@autometa/bind-decorator' or its corresponding type declarations.
|
|
6
|
-
src/event-options.ts(6,10): error TS2305: Module '"@autometa/gherkin"' has no exported member 'Examples'.
|
|
7
|
-
src/event-options.ts(7,42): error TS2307: Cannot find module '@autometa/types' or its corresponding type declarations.
|
|
8
|
-
src/event-options.ts(8,28): error TS2307: Cannot find module '@autometa/types' or its corresponding type declarations.
|
|
9
|
-
src/event-subscriber.ts(1,23): error TS2307: Cannot find module '@autometa/types' or its corresponding type declarations.
|
|
10
|
-
../gherkin/index.ts(1,15): error TS6305: Output file '/Users/ben.aherne/Documents/GitHub/autometa/packages/gherkin/out/src/index.d.ts' has not been built from source file '/Users/ben.aherne/Documents/GitHub/autometa/packages/gherkin/src/index.ts'.
|
|
11
|
-
ELIFECYCLE Command failed with exit code 2.
|
package/.turbo/turbo-clean.log
DELETED
package/.turbo/turbo-lint.log
DELETED
|
File without changes
|
package/.turbo/turbo-test.log
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
> @autometa/events@0.2.27 test /Users/ben.aherne/Documents/GitHub/autometa/packages/events
|
|
3
|
-
> vitest run --passWithNoTests
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
RUN v1.4.0 /Users/ben.aherne/Documents/GitHub/autometa/packages/events
|
|
7
|
-
|
|
8
|
-
No test files found, exiting with code 0
|
|
9
|
-
|
|
10
|
-
include: **/*.{test,spec}.?(c|m)[jt]s?(x)
|
|
11
|
-
exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*
|
|
12
|
-
watch exclude: **/node_modules/**, **/dist/**
|