@autometa/events 0.0.9 → 0.1.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/dist/index.js CHANGED
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
+ var __create = Object.create;
2
3
  var __defProp = Object.defineProperty;
3
4
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
5
  var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
5
7
  var __hasOwnProp = Object.prototype.hasOwnProperty;
6
8
  var __export = (target, all) => {
7
9
  for (var name in all)
@@ -15,12 +17,248 @@ var __copyProps = (to, from, except, desc) => {
15
17
  }
16
18
  return to;
17
19
  };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
18
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
29
 
20
30
  // src/index.ts
21
31
  var src_exports = {};
22
32
  __export(src_exports, {
23
- default: () => src_default
33
+ ArgsEventSchema: () => ArgsEventSchema,
34
+ EndAfterOptsSchema: () => EndAfterOptsSchema,
35
+ EndBeforeOptsSchema: () => EndBeforeOptsSchema,
36
+ EndFeatureOptsSchema: () => EndFeatureOptsSchema,
37
+ EndRuleOptsSchema: () => EndRuleOptsSchema,
38
+ EndScenarioOptsSchema: () => EndScenarioOptsSchema,
39
+ EndScenarioOutlineOptsSchema: () => EndScenarioOutlineOptsSchema,
40
+ EndSetupOptsSchema: () => EndSetupOptsSchema,
41
+ EndStepOptsSchema: () => EndStepOptsSchema,
42
+ EndTeardownOptsSchema: () => EndTeardownOptsSchema,
43
+ ErrorEventSchema: () => ErrorEventSchema,
44
+ EventOptionsSchema: () => EventOptionsSchema,
45
+ EventSubscriberSchema: () => EventSubscriberSchema,
46
+ ProviderSubscriber: () => ProviderSubscriber,
47
+ StartAfterOptsSchema: () => StartAfterOptsSchema,
48
+ StartBeforeOptsSchema: () => StartBeforeOptsSchema,
49
+ StartFeatureOptsSchema: () => StartFeatureOptsSchema,
50
+ StartScenarioOptsSchema: () => StartScenarioOptsSchema,
51
+ StartScenarioOutlineOptsSchema: () => StartScenarioOutlineOptsSchema,
52
+ StartSetupOptsSchema: () => StartSetupOptsSchema,
53
+ StartStepOptsSchema: () => StartStepOptsSchema,
54
+ StartTeardownOptsSchema: () => StartTeardownOptsSchema,
55
+ Status: () => Status,
56
+ StatusSchema: () => StatusSchema,
57
+ TestEmitter: () => TestEmitter,
58
+ TestEventEmitter: () => TestEventEmitter,
59
+ UUIDStringSchema: () => UUIDStringSchema
24
60
  });
25
61
  module.exports = __toCommonJS(src_exports);
26
- var src_default = {};
62
+
63
+ // src/event-options.ts
64
+ var import_cucumber_expressions = require("@cucumber/cucumber-expressions");
65
+ var import_zod = require("zod");
66
+ var uuidRegex = /^[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;
67
+ var UUIDStringSchema = (0, import_zod.string)().regex(uuidRegex).optional();
68
+ var StatusSchema = import_zod.z.union([
69
+ (0, import_zod.literal)("FAILED"),
70
+ (0, import_zod.literal)("BROKEN"),
71
+ (0, import_zod.literal)("PASSED"),
72
+ (0, import_zod.literal)("SKIPPED")
73
+ ]);
74
+ var EventOptionsSchema = (0, import_zod.object)({
75
+ title: (0, import_zod.string)().optional(),
76
+ keyword: (0, import_zod.string)().optional(),
77
+ tags: (0, import_zod.string)().array().optional(),
78
+ modifier: (0, import_zod.literal)("skip").or((0, import_zod.literal)("only")).optional(),
79
+ status: StatusSchema.optional()
80
+ });
81
+ var ErrorEventSchema = EventOptionsSchema.extend({
82
+ error: import_zod.z.instanceof(Error).optional()
83
+ });
84
+ var ArgsEventSchema = EventOptionsSchema.extend({
85
+ args: import_zod.z.array(import_zod.z.unknown()).optional()
86
+ });
87
+ var StartFeatureOptsSchema = EventOptionsSchema.extend({
88
+ path: (0, import_zod.string)().optional()
89
+ });
90
+ var EndFeatureOptsSchema = ErrorEventSchema;
91
+ var EndRuleOptsSchema = ErrorEventSchema;
92
+ var StartScenarioOutlineOptsSchema = EventOptionsSchema;
93
+ var EndScenarioOutlineOptsSchema = ErrorEventSchema;
94
+ var StartScenarioOptsSchema = EventOptionsSchema.extend({
95
+ examples: (0, import_zod.object)({ key: (0, import_zod.string)() }).array().optional()
96
+ });
97
+ var EndScenarioOptsSchema = ErrorEventSchema;
98
+ var StartStepOptsSchema = EventOptionsSchema.extend({
99
+ args: import_zod.z.array(import_zod.z.unknown()).optional(),
100
+ expression: import_zod.z.instanceof(import_cucumber_expressions.CucumberExpression).optional(),
101
+ text: (0, import_zod.string)().optional()
102
+ });
103
+ var EndStepOptsSchema = ErrorEventSchema.extend({
104
+ args: import_zod.z.array(import_zod.z.unknown()).optional(),
105
+ expression: import_zod.z.instanceof(import_cucumber_expressions.CucumberExpression),
106
+ text: (0, import_zod.string)()
107
+ });
108
+ var StartBeforeOptsSchema = ArgsEventSchema;
109
+ var EndBeforeOptsSchema = ErrorEventSchema;
110
+ var StartAfterOptsSchema = ArgsEventSchema;
111
+ var EndAfterOptsSchema = ErrorEventSchema;
112
+ var StartSetupOptsSchema = ArgsEventSchema;
113
+ var EndSetupOptsSchema = ErrorEventSchema;
114
+ var StartTeardownOptsSchema = ArgsEventSchema;
115
+ var EndTeardownOptsSchema = ErrorEventSchema;
116
+
117
+ // src/event-subscriber.ts
118
+ var import_zod2 = require("zod");
119
+ var EventSubscriberSchema = (0, import_zod2.object)({
120
+ onFeature: (0, import_zod2.function)()
121
+ });
122
+ var ProviderSubscriber = class {
123
+ constructor() {
124
+ this.addFixtureInstance = (instance) => {
125
+ this.fixtures.instances?.push(instance);
126
+ };
127
+ }
128
+ };
129
+
130
+ // src/test-emitter.ts
131
+ var import_events = __toESM(require("events"), 1);
132
+ var import_errors = require("@autometa/errors");
133
+ var TestEmitter = class extends import_events.default {
134
+ constructor(name) {
135
+ super();
136
+ this.name = name;
137
+ this.emitStart = (...args) => {
138
+ this.emit(`onStart${this.name}`, ...args);
139
+ };
140
+ this.onStart = (action) => {
141
+ if (action) {
142
+ this.on(`onStart${this.name}`, tryWrapper(this.name, action));
143
+ }
144
+ };
145
+ this.onEnd = (action) => {
146
+ if (action) {
147
+ this.on(`onEnd${this.name}`, tryWrapper(this.name, action));
148
+ }
149
+ };
150
+ this.emitEnd = (...args) => {
151
+ this.emit(`onEnd${this.name}`, ...args);
152
+ };
153
+ this.load = (onStart, onEnd) => {
154
+ this.onStart(onStart);
155
+ this.onEnd(onEnd);
156
+ };
157
+ }
158
+ };
159
+ function tryWrapper(name, action) {
160
+ return (...args) => {
161
+ try {
162
+ const result = action(...args);
163
+ if (result instanceof Promise) {
164
+ throw new import_errors.AutomationError(
165
+ `A Subscriber action cannot be async or return a promise. Executing ${name}`
166
+ );
167
+ }
168
+ } catch (e) {
169
+ console.error(
170
+ `Event Subscriber ${name} threw an error ${e.message}`
171
+ );
172
+ }
173
+ };
174
+ }
175
+
176
+ // src/test-event-emitter.ts
177
+ var TestEventEmitter = class {
178
+ constructor() {
179
+ this.scenarioOutline = new TestEmitter(
180
+ "ScenarioOutline"
181
+ );
182
+ this.feature = new TestEmitter("Feature");
183
+ this.rule = new TestEmitter("Rule");
184
+ this.scenario = new TestEmitter("Scenario");
185
+ this.scenarioWrapper = new TestEmitter("Scenario Wrapper");
186
+ this.setup = new TestEmitter("Setup");
187
+ this.teardown = new TestEmitter("Teardown");
188
+ this.before = new TestEmitter("Before");
189
+ this.after = new TestEmitter("After");
190
+ this.step = new TestEmitter("Step");
191
+ this.load = ({
192
+ onFeatureStart,
193
+ onFeatureEnd,
194
+ onScenarioOutlineStart,
195
+ onScenarioOutlineEnd,
196
+ onScenarioStart,
197
+ onScenarioEnd,
198
+ onRuleStart,
199
+ onRuleEnd,
200
+ onBeforeStart,
201
+ onBeforeEnd,
202
+ onSetupStart,
203
+ onSetupEnd,
204
+ onStepStart,
205
+ onStepEnd,
206
+ onAfterStart,
207
+ onAfterEnd,
208
+ onTeardownStart,
209
+ onTeardownEnd,
210
+ onPreScenarioStart,
211
+ onPostScenarioEnd
212
+ }) => {
213
+ this.feature.load(onFeatureStart, onFeatureEnd);
214
+ this.rule.load(onRuleStart, onRuleEnd);
215
+ this.scenarioOutline.load(onScenarioOutlineStart, onScenarioOutlineEnd);
216
+ this.scenario.load(onScenarioStart, onScenarioEnd);
217
+ this.step.load(onStepStart, onStepEnd);
218
+ this.before.load(onBeforeStart, onBeforeEnd);
219
+ this.after.load(onAfterStart, onAfterEnd);
220
+ this.setup.load(onSetupStart, onSetupEnd);
221
+ this.teardown.load(onTeardownStart, onTeardownEnd);
222
+ this.scenarioWrapper.load(onPreScenarioStart, onPostScenarioEnd);
223
+ };
224
+ }
225
+ };
226
+
227
+ // src/test-status.ts
228
+ var Status = {
229
+ FAILED: "FAILED",
230
+ BROKEN: "BROKEN",
231
+ PASSED: "PASSED",
232
+ SKIPPED: "SKIPPED"
233
+ };
234
+ // Annotate the CommonJS export names for ESM import in node:
235
+ 0 && (module.exports = {
236
+ ArgsEventSchema,
237
+ EndAfterOptsSchema,
238
+ EndBeforeOptsSchema,
239
+ EndFeatureOptsSchema,
240
+ EndRuleOptsSchema,
241
+ EndScenarioOptsSchema,
242
+ EndScenarioOutlineOptsSchema,
243
+ EndSetupOptsSchema,
244
+ EndStepOptsSchema,
245
+ EndTeardownOptsSchema,
246
+ ErrorEventSchema,
247
+ EventOptionsSchema,
248
+ EventSubscriberSchema,
249
+ ProviderSubscriber,
250
+ StartAfterOptsSchema,
251
+ StartBeforeOptsSchema,
252
+ StartFeatureOptsSchema,
253
+ StartScenarioOptsSchema,
254
+ StartScenarioOutlineOptsSchema,
255
+ StartSetupOptsSchema,
256
+ StartStepOptsSchema,
257
+ StartTeardownOptsSchema,
258
+ Status,
259
+ StatusSchema,
260
+ TestEmitter,
261
+ TestEventEmitter,
262
+ UUIDStringSchema
263
+ });
264
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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'","import { CucumberExpression } from \"@cucumber/cucumber-expressions\";\nimport { 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.extend({\n examples: object({ key: string() }).array().optional()\n});\n\nexport const EndScenarioOptsSchema = ErrorEventSchema;\n\nexport const StartStepOptsSchema = EventOptionsSchema.extend({\n args: z.array(z.unknown()).optional(),\n expression: z.instanceof(CucumberExpression).optional(),\n text: string().optional()\n});\nexport const EndStepOptsSchema = ErrorEventSchema.extend({\n args: z.array(z.unknown()).optional(),\n expression: z.instanceof(CucumberExpression),\n text: string()\n});\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 onFeatureStart?(opts: StartFeatureOpts): void;\n onFeatureEnd?(opts: EndFeatureOpts): void;\n onRuleStart?(opts: StartRuleOpts): void;\n onRuleEnd?(opts: EndRuleOpts): 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}\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\";\nimport { AutomationError } from \"@autometa/errors\";\nexport class TestEmitter<\n TArgsStart = never,\n TArgsEnd = never\n> extends EventEmitter {\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}`, tryWrapper(this.name, action));\n }\n };\n\n onEnd = (action?: (...args: unknown[]) => void) => {\n if (action) {\n this.on(`onEnd${this.name}`, tryWrapper(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\nfunction tryWrapper(name: string, action: (...args: unknown[]) => void) {\n return (...args: unknown[]) => {\n try {\n const result = action(...args);\n if ((result as unknown) instanceof Promise) {\n throw new AutomationError(\n `A Subscriber action cannot be async or return a promise. Executing ${name}`\n );\n }\n } catch (e) {\n console.error(\n `Event Subscriber ${name} threw an error ${(e as Error).message}`\n );\n }\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<StartScenarioOutlineOpts, EndScenarioOutlineOpts>(\n \"ScenarioOutline\"\n );\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 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\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 }: 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 };\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"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autometa/events",
3
- "version": "0.0.9",
3
+ "version": "0.1.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -23,41 +23,40 @@
23
23
  "@typescript-eslint/eslint-plugin": "^5.54.1",
24
24
  "@typescript-eslint/parser": "^5.54.1",
25
25
  "eslint": "^8.37.0",
26
- "eslint-config-custom": "0.5.1",
26
+ "eslint-config-custom": "0.6.0",
27
27
  "eslint-config-prettier": "^8.3.0",
28
- "jest": "^29.4.3",
28
+ "jest": "^29.5.0",
29
29
  "nodemon": "^2.0.22",
30
30
  "prettier": "^2.8.3",
31
31
  "reflect-metadata": "^0.1.13",
32
32
  "rimraf": "^4.1.2",
33
33
  "ts-jest": "^29.0.5",
34
34
  "ts-node": "^10.9.1",
35
- "tsconfig": "0.6.1",
36
- "tsup": "^6.7.0",
35
+ "tsconfig": "0.7.0",
36
+ "tsup": "^7.2.0",
37
37
  "typescript": "^4.9.5",
38
- "vitest": "^0.29.8",
38
+ "vitest": "0.33.0",
39
39
  "webpack": "^5.77.0",
40
40
  "webpack-cli": "^5.0.1",
41
41
  "webpack-node-externals": "^3.0.0"
42
42
  },
43
43
  "dependencies": {
44
- "@autometa/gherkin": "0.3.2",
45
- "@autometa/types": "0.3.1",
46
- "@cucumber/gherkin": "^26.0.3",
44
+ "@autometa/errors": "^0.1.0",
45
+ "@autometa/gherkin": "0.4.0",
46
+ "@autometa/types": "0.4.0",
47
47
  "@cucumber/messages": "^21.0.1",
48
48
  "@cucumber/tag-expressions": "^5.0.1",
49
49
  "tsyringe": "^4.7.0",
50
- "uuid": "^9.0.0"
50
+ "uuid": "^9.0.0",
51
+ "zod": "^3.21.4"
51
52
  },
52
53
  "scripts": {
53
54
  "test": "vitest run --passWithNoTests",
54
55
  "prettify": "prettier --config .prettierrc 'src/**/*.ts' --write",
55
56
  "lint": "eslint . --max-warnings 0",
56
57
  "lint:fix": "eslint . --fix",
57
- "build:js": "tsup",
58
- "build:dts:tsc": "tsc --build --clean && tsc && tsup --entry.index out/src/index.d.ts --dtsOnly",
59
- "build:dts": "pnpm build:dts:tsc",
60
- "build": "pnpm build:js && pnpm build:dts ",
58
+ "clean": "rimraf dist",
59
+ "build": "tsup",
61
60
  "build:watch": "tsup --watch"
62
61
  },
63
62
  "readme": "# Gherkin\n\nGherkin implementation for @autometa.\n"
package/tsup.config.ts CHANGED
@@ -1,6 +1,8 @@
1
1
  import type { Options } from "tsup";
2
2
  export const tsup: Options = {
3
3
  clean: true, // clean up the dist folder
4
+ dts: true, // generate .d.ts bundle
5
+ sourcemap:true, // generate sourcemaps
4
6
  format: ["cjs", "esm"], // generate cjs and esm files
5
7
  skipNodeModulesBundle: true,
6
8
  entryPoints: ["src/index.ts"],
@@ -1,37 +0,0 @@
1
-
2
- > @autometa/events@0.0.9 build /home/runner/work/autometa/autometa/packages/events
3
- > pnpm build:js && pnpm build:dts
4
-
5
-
6
- > @autometa/events@0.0.9 build:js /home/runner/work/autometa/autometa/packages/events
7
- > tsup
8
-
9
- CLI Building entry: src/index.ts
10
- CLI Using tsconfig: tsconfig.json
11
- CLI tsup v6.7.0
12
- CLI Using tsup config: /home/runner/work/autometa/autometa/packages/events/tsup.config.ts
13
- CLI Target: es2020
14
- CLI Cleaning output folder
15
- CJS Build start
16
- ESM Build start
17
- CJS You have emitDecoratorMetadata enabled but @swc/core was not installed, skipping swc plugin
18
- ESM You have emitDecoratorMetadata enabled but @swc/core was not installed, skipping swc plugin
19
- CJS dist/index.js 961.00 B
20
- CJS ⚡️ Build success in 18ms
21
- ESM dist/esm/index.js 75.00 B
22
- ESM ⚡️ Build success in 19ms
23
-
24
- > @autometa/events@0.0.9 build:dts /home/runner/work/autometa/autometa/packages/events
25
- > pnpm build:dts:tsc
26
-
27
-
28
- > @autometa/events@0.0.9 build:dts:tsc /home/runner/work/autometa/autometa/packages/events
29
- > tsc --build --clean && tsc && tsup --entry.index out/src/index.d.ts --dtsOnly
30
-
31
- CLI Building entry: {"index":"out/src/index.d.ts"}
32
- CLI Using tsconfig: tsconfig.json
33
- CLI tsup v6.7.0
34
- CLI Using tsup config: /home/runner/work/autometa/autometa/packages/events/tsup.config.ts
35
- DTS Build start
36
- DTS ⚡️ Build success in 92ms
37
- DTS dist/index.d.ts 97.00 B
@@ -1,4 +0,0 @@
1
-
2
- > @autometa/events@0.0.9 lint /home/runner/work/autometa/autometa/packages/events
3
- > eslint . --max-warnings 0
4
-
@@ -1,12 +0,0 @@
1
-
2
- > @autometa/events@0.0.9 test /home/runner/work/autometa/autometa/packages/events
3
- > vitest run --passWithNoTests
4
-
5
-
6
-  RUN  v0.29.8 /home/runner/work/autometa/autometa/packages/events/src
7
-
8
- include: **/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}
9
- exclude: **/node_modules/**, **/dist/**, **/cypress/**, **/.{idea,git,cache,output,temp}/**, **/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build}.config.*
10
- watch exclude: **/node_modules/**, **/dist/**
11
- No test files found, exiting with code 0
12
-