@auto-engineer/server-generator-apollo-emmett 1.97.1 → 1.97.2

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/package.json CHANGED
@@ -32,8 +32,8 @@
32
32
  "uuid": "^13.0.0",
33
33
  "web-streams-polyfill": "^4.1.0",
34
34
  "zod": "^3.22.4",
35
- "@auto-engineer/narrative": "1.97.1",
36
- "@auto-engineer/message-bus": "1.97.1"
35
+ "@auto-engineer/narrative": "1.97.2",
36
+ "@auto-engineer/message-bus": "1.97.2"
37
37
  },
38
38
  "publishConfig": {
39
39
  "access": "public"
@@ -44,9 +44,9 @@
44
44
  "typescript": "^5.8.3",
45
45
  "vitest": "^3.2.4",
46
46
  "tsx": "^4.19.2",
47
- "@auto-engineer/cli": "1.97.1"
47
+ "@auto-engineer/cli": "1.97.2"
48
48
  },
49
- "version": "1.97.1",
49
+ "version": "1.97.2",
50
50
  "scripts": {
51
51
  "generate:server": "tsx src/cli/index.ts",
52
52
  "build": "tsc && tsx ../../scripts/fix-esm-imports.ts && rm -rf dist/src/codegen/templates && mkdir -p dist/src/codegen && cp -r src/codegen/templates dist/src/codegen/templates && cp src/server.ts dist/src && cp -r src/utils dist/src && cp -r src/domain dist/src",
@@ -112,6 +112,7 @@ describe('handleInitializeServerInternal', () => {
112
112
  await fs.writeFile(join(serverDir, 'src', 'server.ts'), sentinel);
113
113
  await fs.writeFile(join(serverDir, 'src', 'domain', 'shared', 'types.ts'), sentinel);
114
114
  await fs.writeFile(join(serverDir, 'src', 'domain', 'flows', 'health', 'query.resolver.ts'), sentinel);
115
+ await fs.writeFile(join(serverDir, 'vitest.config.ts'), sentinel);
115
116
 
116
117
  await handleInitializeServerInternal(command);
117
118
 
@@ -120,6 +121,7 @@ describe('handleInitializeServerInternal', () => {
120
121
  expect(await readFile(join(serverDir, 'src', 'domain', 'flows', 'health', 'query.resolver.ts'), 'utf8')).toBe(
121
122
  sentinel,
122
123
  );
124
+ expect(await readFile(join(serverDir, 'vitest.config.ts'), 'utf8')).toBe(sentinel);
123
125
  });
124
126
 
125
127
  it('emits ServerInitializationFailed when destination is unwritable', async () => {
@@ -139,18 +141,39 @@ describe('handleInitializeServerInternal', () => {
139
141
  });
140
142
  });
141
143
 
142
- it('does not overwrite existing config files on second run', async () => {
144
+ it('updates dependency versions in existing package.json', async () => {
143
145
  const command = makeCommand(tempDir);
144
- await handleInitializeServerInternal(command);
145
-
146
146
  const serverDir = join(tempDir, 'server');
147
- const sentinel = '{"custom": true}';
148
- await fs.writeFile(join(serverDir, 'package.json'), sentinel);
149
- await fs.writeFile(join(serverDir, 'vitest.config.ts'), sentinel);
147
+ await fs.ensureDir(serverDir);
148
+ await fs.writeJson(join(serverDir, 'package.json'), {
149
+ name: 'my-server',
150
+ dependencies: { '@event-driven-io/emmett': '0.1.0', 'custom-dep': '1.0.0' },
151
+ });
150
152
 
151
153
  await handleInitializeServerInternal(command);
152
154
 
153
- expect(await readFile(join(serverDir, 'package.json'), 'utf8')).toBe(sentinel);
154
- expect(await readFile(join(serverDir, 'vitest.config.ts'), 'utf8')).toBe(sentinel);
155
+ const pkg = await fs.readJson(join(serverDir, 'package.json'));
156
+ expect(pkg).toEqual({
157
+ name: 'my-server',
158
+ dependencies: {
159
+ 'custom-dep': '1.0.0',
160
+ '@event-driven-io/emmett': '0.43.0-beta.5',
161
+ '@event-driven-io/emmett-sqlite': '0.43.0-beta.5',
162
+ 'type-graphql': '^2.0.0-rc.2',
163
+ 'graphql-type-json': '^0.3.2',
164
+ graphql: '^16.11.0',
165
+ 'fast-glob': '^3.3.3',
166
+ 'reflect-metadata': '^0.2.2',
167
+ zod: '^3.22.4',
168
+ 'apollo-server': '^3.13.0',
169
+ uuid: '^13.0.0',
170
+ sqlite3: '^5.1.7',
171
+ },
172
+ devDependencies: {
173
+ typescript: '^5.8.3',
174
+ vitest: '^3.2.4',
175
+ tsx: '^4.19.2',
176
+ },
177
+ });
155
178
  });
156
179
  });
@@ -87,9 +87,8 @@ function resolvePackageRoot(): string {
87
87
  return resolve(__dirname, '../../..');
88
88
  }
89
89
 
90
- async function writePackageIfMissing(serverDir: string): Promise<void> {
90
+ async function writeOrUpdatePackageJson(serverDir: string): Promise<void> {
91
91
  const pkgPath = join(serverDir, 'package.json');
92
- if (await fs.pathExists(pkgPath)) return;
93
92
 
94
93
  const packageRoot = resolvePackageRoot();
95
94
  const localPkgPath = resolve(packageRoot, 'package.json');
@@ -118,6 +117,29 @@ async function writePackageIfMissing(serverDir: string): Promise<void> {
118
117
  return acc;
119
118
  }, {});
120
119
 
120
+ const resolvedDeps = resolveDeps([
121
+ '@event-driven-io/emmett',
122
+ '@event-driven-io/emmett-sqlite',
123
+ 'type-graphql',
124
+ 'graphql-type-json',
125
+ 'graphql',
126
+ 'fast-glob',
127
+ 'reflect-metadata',
128
+ 'zod',
129
+ 'apollo-server',
130
+ 'uuid',
131
+ 'sqlite3',
132
+ ]);
133
+ const resolvedDevDeps = resolveDeps(['typescript', 'vitest', 'tsx']);
134
+
135
+ if (await fs.pathExists(pkgPath)) {
136
+ const existing = await fs.readJson(pkgPath);
137
+ existing.dependencies = { ...existing.dependencies, ...resolvedDeps };
138
+ existing.devDependencies = { ...existing.devDependencies, ...resolvedDevDeps };
139
+ await fs.writeJson(pkgPath, existing, { spaces: 2 });
140
+ return;
141
+ }
142
+
121
143
  const packageJson = {
122
144
  name: 'generated-server',
123
145
  version: '0.0.0',
@@ -130,20 +152,8 @@ async function writePackageIfMissing(serverDir: string): Promise<void> {
130
152
  dev: 'tsx --no-deprecation src/server.ts',
131
153
  postinstall: 'npm rebuild sqlite3 2>/dev/null || true',
132
154
  },
133
- dependencies: resolveDeps([
134
- '@event-driven-io/emmett',
135
- '@event-driven-io/emmett-sqlite',
136
- 'type-graphql',
137
- 'graphql-type-json',
138
- 'graphql',
139
- 'fast-glob',
140
- 'reflect-metadata',
141
- 'zod',
142
- 'apollo-server',
143
- 'uuid',
144
- 'sqlite3',
145
- ]),
146
- devDependencies: resolveDeps(['typescript', 'vitest', 'tsx']),
155
+ dependencies: resolvedDeps,
156
+ devDependencies: resolvedDevDeps,
147
157
  };
148
158
 
149
159
  await fs.writeJson(pkgPath, packageJson, { spaces: 2 });
@@ -310,7 +320,7 @@ export async function handleInitializeServerInternal(
310
320
 
311
321
  debug('Initializing server at %s', serverDir);
312
322
 
313
- await writePackageIfMissing(serverDir);
323
+ await writeOrUpdatePackageJson(serverDir);
314
324
  await writeTsconfig(serverDir);
315
325
  await writeVitestConfigIfMissing(serverDir);
316
326
  await writeSchemaScriptIfMissing(serverDir, absDest);