@auto-engineer/server-generator-apollo-emmett 0.1.4 → 0.2.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.
Files changed (62) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +117 -171
  3. package/.turbo/turbo-type-check.log +4 -5
  4. package/CHANGELOG.md +12 -0
  5. package/dist/commands/generate-server.d.ts +11 -45
  6. package/dist/commands/generate-server.d.ts.map +1 -1
  7. package/dist/commands/generate-server.js +29 -24
  8. package/dist/commands/generate-server.js.map +1 -1
  9. package/dist/index.d.ts +11 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +2 -2
  12. package/dist/index.js.map +1 -1
  13. package/package.json +4 -4
  14. package/src/commands/generate-server.ts +29 -28
  15. package/src/index.ts +8 -2
  16. package/tsconfig.tsbuildinfo +1 -1
  17. package/.tmp/server-test-output/server/package.json +0 -26
  18. package/.tmp/server-test-output/server/scripts/generate-schema.ts +0 -31
  19. package/.tmp/server-test-output/server/src/domain/flows/add-item/create-item/commands.ts +0 -8
  20. package/.tmp/server-test-output/server/src/domain/flows/add-item/create-item/decide.specs.ts +0 -36
  21. package/.tmp/server-test-output/server/src/domain/flows/add-item/create-item/decide.ts +0 -33
  22. package/.tmp/server-test-output/server/src/domain/flows/add-item/create-item/events.ts +0 -10
  23. package/.tmp/server-test-output/server/src/domain/flows/add-item/create-item/evolve.ts +0 -28
  24. package/.tmp/server-test-output/server/src/domain/flows/add-item/create-item/handle.ts +0 -24
  25. package/.tmp/server-test-output/server/src/domain/flows/add-item/create-item/mutation.resolver.ts +0 -25
  26. package/.tmp/server-test-output/server/src/domain/flows/add-item/create-item/register.ts +0 -7
  27. package/.tmp/server-test-output/server/src/domain/flows/add-item/create-item/state.ts +0 -47
  28. package/.tmp/server-test-output/server/src/domain/flows/add-item/get-available-items/projection.specs.ts +0 -46
  29. package/.tmp/server-test-output/server/src/domain/flows/add-item/get-available-items/projection.ts +0 -38
  30. package/.tmp/server-test-output/server/src/domain/flows/add-item/get-available-items/query.resolver.ts +0 -39
  31. package/.tmp/server-test-output/server/src/domain/flows/add-item/get-available-items/state.ts +0 -5
  32. package/.tmp/server-test-output/server/src/domain/flows/add-item/notify-new-item/commands.ts +0 -8
  33. package/.tmp/server-test-output/server/src/domain/flows/add-item/notify-new-item/decide.specs.ts +0 -36
  34. package/.tmp/server-test-output/server/src/domain/flows/add-item/notify-new-item/decide.ts +0 -33
  35. package/.tmp/server-test-output/server/src/domain/flows/add-item/notify-new-item/events.ts +0 -3
  36. package/.tmp/server-test-output/server/src/domain/flows/add-item/notify-new-item/evolve.ts +0 -28
  37. package/.tmp/server-test-output/server/src/domain/flows/add-item/notify-new-item/handle.ts +0 -24
  38. package/.tmp/server-test-output/server/src/domain/flows/add-item/notify-new-item/mutation.resolver.ts +0 -25
  39. package/.tmp/server-test-output/server/src/domain/flows/add-item/notify-new-item/register.ts +0 -7
  40. package/.tmp/server-test-output/server/src/domain/flows/add-item/notify-new-item/state.ts +0 -47
  41. package/.tmp/server-test-output/server/src/domain/flows/add-item/notify-on-new-item/react.specs.ts +0 -49
  42. package/.tmp/server-test-output/server/src/domain/flows/add-item/notify-on-new-item/react.ts +0 -43
  43. package/.tmp/server-test-output/server/src/domain/flows/add-item/notify-on-new-item/register.ts +0 -24
  44. package/.tmp/server-test-output/server/src/domain/shared/ReadModel.ts +0 -26
  45. package/.tmp/server-test-output/server/src/domain/shared/index.ts +0 -4
  46. package/.tmp/server-test-output/server/src/domain/shared/reactorSpecification.ts +0 -257
  47. package/.tmp/server-test-output/server/src/domain/shared/sendCommand.ts +0 -21
  48. package/.tmp/server-test-output/server/src/domain/shared/types.ts +0 -31
  49. package/.tmp/server-test-output/server/src/server.ts +0 -43
  50. package/.tmp/server-test-output/server/src/utils/index.ts +0 -3
  51. package/.tmp/server-test-output/server/src/utils/loadProjections.ts +0 -30
  52. package/.tmp/server-test-output/server/src/utils/loadRegisterFiles.ts +0 -41
  53. package/.tmp/server-test-output/server/src/utils/loadResolvers.ts +0 -36
  54. package/.tmp/server-test-output/server/tsconfig.json +0 -19
  55. package/.tmp/server-test-output/server/vitest.config.ts +0 -7
  56. package/.turbo/turbo-format.log +0 -57
  57. package/.turbo/turbo-lint.log +0 -5
  58. package/dist/cli-manifest.d.ts +0 -3
  59. package/dist/cli-manifest.d.ts.map +0 -1
  60. package/dist/cli-manifest.js +0 -35
  61. package/dist/cli-manifest.js.map +0 -1
  62. package/src/cli-manifest.ts +0 -37
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@auto-engineer/server-generator-apollo-emmett",
3
- "version": "0.1.4",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -11,8 +11,8 @@
11
11
  }
12
12
  },
13
13
  "dependencies": {
14
- "@auto-engineer/flow": "^0.1.4",
15
- "@auto-engineer/message-bus": "^0.5.5",
14
+ "@auto-engineer/flow": "^0.2.0",
15
+ "@auto-engineer/message-bus": "^0.6.0",
16
16
  "@event-driven-io/emmett": "^0.38.2",
17
17
  "apollo-server": "^3.13.0",
18
18
  "apollo-server-express": "^3.13.0",
@@ -35,7 +35,7 @@
35
35
  "access": "public"
36
36
  },
37
37
  "devDependencies": {
38
- "@auto-engineer/cli": "^0.7.6",
38
+ "@auto-engineer/cli": "^0.8.0",
39
39
  "@types/ejs": "^3.1.5",
40
40
  "@types/fs-extra": "^11.0.4"
41
41
  },
@@ -11,6 +11,7 @@ import { fileURLToPath } from 'url';
11
11
  import { dirname } from 'path';
12
12
  import { execa } from 'execa';
13
13
  import createDebug from 'debug';
14
+ import { defineCommandHandler } from '@auto-engineer/message-bus';
14
15
 
15
16
  const debug = createDebug('emmett:generate-server');
16
17
  const debugSchema = createDebug('emmett:generate-server:schema');
@@ -18,17 +19,6 @@ const debugFiles = createDebug('emmett:generate-server:files');
18
19
  const debugDeps = createDebug('emmett:generate-server:deps');
19
20
  const debugScaffold = createDebug('emmett:generate-server:scaffold');
20
21
 
21
- export const generateServerManifest = {
22
- handler: () => Promise.resolve({ default: generateServerCommandHandler }),
23
- description: 'Generate server from schema.json',
24
- usage: 'generate:server <schema> <dest>',
25
- examples: ['$ auto generate:server .context/schema.json .'],
26
- args: [
27
- { name: 'schema', description: 'Path to schema.json file', required: true },
28
- { name: 'dest', description: 'Destination directory for generated server', required: true },
29
- ],
30
- };
31
-
32
22
  type DefaultRecord = Record<string, unknown>;
33
23
  export type Command<CommandType extends string = string, CommandData extends DefaultRecord = DefaultRecord> = Readonly<{
34
24
  type: CommandType;
@@ -79,6 +69,33 @@ export type ServerGenerationFailedEvent = Event<
79
69
  }
80
70
  >;
81
71
 
72
+ export const commandHandler = defineCommandHandler<GenerateServerCommand>({
73
+ name: 'GenerateServer',
74
+ alias: 'generate:server',
75
+ description: 'Generate server from schema.json',
76
+ category: 'generate',
77
+ fields: {
78
+ schemaPath: {
79
+ description: 'Path to schema.json file',
80
+ required: true,
81
+ },
82
+ destination: {
83
+ description: 'Destination directory for generated server',
84
+ required: true,
85
+ },
86
+ },
87
+ examples: ['$ auto generate:server --schema-path=.context/schema.json --destination=.'],
88
+ handle: async (command: GenerateServerCommand): Promise<ServerGeneratedEvent | ServerGenerationFailedEvent> => {
89
+ const result = await handleGenerateServerCommandInternal(command);
90
+ if (result.type === 'ServerGenerated') {
91
+ debug('Server generated at %s', result.data.serverDir);
92
+ } else {
93
+ debug('Failed to generate server: %s', result.data.error);
94
+ }
95
+ return result;
96
+ },
97
+ });
98
+
82
99
  async function validateSchemaFile(
83
100
  absSchema: string,
84
101
  command: GenerateServerCommand,
@@ -267,22 +284,6 @@ async function handleGenerateServerCommandInternal(
267
284
  }
268
285
  }
269
286
 
270
- export const generateServerCommandHandler: CommandHandler<
271
- GenerateServerCommand,
272
- ServerGeneratedEvent | ServerGenerationFailedEvent
273
- > = {
274
- name: 'GenerateServer',
275
- handle: async (command: GenerateServerCommand): Promise<ServerGeneratedEvent | ServerGenerationFailedEvent> => {
276
- const result = await handleGenerateServerCommandInternal(command);
277
- if (result.type === 'ServerGenerated') {
278
- debug('Server generated at %s', result.data.serverDir);
279
- } else {
280
- debug('Failed to generate server: %s', result.data.error);
281
- }
282
- return result;
283
- },
284
- };
285
-
286
287
  async function copyRootFilesFromSrc(from: string, to: string): Promise<void> {
287
288
  debugFiles('copyRootFilesFromSrc: from=%s, to=%s', from, to);
288
289
 
@@ -514,4 +515,4 @@ async function installDependenciesAndGenerateSchema(serverDir: string, workingDi
514
515
  }
515
516
 
516
517
  // Default export is the command handler
517
- export default generateServerCommandHandler;
518
+ export default commandHandler;
package/src/index.ts CHANGED
@@ -1,2 +1,8 @@
1
- export * from './commands/generate-server';
2
- export { CLI_MANIFEST } from './cli-manifest';
1
+ import { commandHandler as generateServerHandler } from './commands/generate-server';
2
+
3
+ export const COMMANDS = [generateServerHandler];
4
+ export {
5
+ type GenerateServerCommand,
6
+ type ServerGeneratedEvent,
7
+ type ServerGenerationFailedEvent,
8
+ } from './commands/generate-server';