@tuyau/core 0.2.1 → 0.2.3

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.
@@ -193,12 +193,29 @@ var ApiTypesGenerator = class {
193
193
  return { params, name, path: pattern, method: methods, types: typeName };
194
194
  }).filter((route) => !!route.name);
195
195
  }
196
+ async #writeIndexFile() {
197
+ const filePath = this.#getDestinationDirectory() + "/index.ts";
198
+ const exist = existsSync(filePath);
199
+ if (exist) {
200
+ return;
201
+ }
202
+ const file = this.#project.createSourceFile(filePath, "", {
203
+ overwrite: true
204
+ });
205
+ if (!file) throw new Error("Unable to create the index.ts file");
206
+ file.removeText().insertText(0, (writer) => {
207
+ writer.writeLine(`/// <reference path="../adonisrc.ts" />`);
208
+ writer.newLine();
209
+ writer.writeLine(`export * from './api.js'`);
210
+ });
211
+ await file.save();
212
+ }
196
213
  async #writeApiFile(options) {
197
214
  const file = this.#project.createSourceFile(this.#destination, "", { overwrite: true });
198
215
  if (!file) throw new Error("Unable to create the api.ts file");
199
216
  const isTuyauInertiaInstalled = await this.#isTuyauInertiaInstalled();
200
217
  file.removeText().insertText(0, (writer) => {
201
- writer.writeLine(`import type { MakeTuyauRequest, MakeTuyauResponse } from '@tuyau/utils/types'`).writeLine(`import type { InferInput } from '@vinejs/vine/types'`).newLine();
218
+ writer.writeLine(`/* eslint-disable */`).writeLine("// --------------------------------------------------").writeLine("// This file is auto-generated by Tuyau. Do not edit manually !").writeLine("// --------------------------------------------------").writeLine("").writeLine(`import type { MakeTuyauRequest, MakeTuyauResponse } from '@tuyau/utils/types'`).writeLine(`import type { InferInput } from '@vinejs/vine/types'`).newLine();
202
219
  Object.entries(options.typesByPattern).forEach(([key, value]) => {
203
220
  writer.writeLine(`type ${key} = {`);
204
221
  writer.writeLine(` request: ${value.request}`);
@@ -260,7 +277,7 @@ var ApiTypesGenerator = class {
260
277
  const typeName = this.#generateTypeName(route);
261
278
  typesByPattern[typeName] = {
262
279
  request: schemaImport ? `MakeTuyauRequest<${schemaImport}>` : "unknown",
263
- response: `MakeTuyauResponse<import('${relativePath}').default['${routeHandler.method}']>`
280
+ response: `MakeTuyauResponse<import('${relativePath}').default['${routeHandler.method}'], ${!!schemaImport}>`
264
281
  };
265
282
  currentLevel.$url = {};
266
283
  for (const method of methods) currentLevel[method] = typeName;
@@ -271,6 +288,7 @@ var ApiTypesGenerator = class {
271
288
  typesByPattern
272
289
  );
273
290
  await this.#writeApiFile({ definition, typesByPattern, routesNameArray });
291
+ await this.#writeIndexFile();
274
292
  }
275
293
  };
276
294
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tuyau/core",
3
3
  "type": "module",
4
- "version": "0.2.1",
4
+ "version": "0.2.3",
5
5
  "description": "",
6
6
  "author": "",
7
7
  "license": "MIT",
@@ -23,17 +23,16 @@
23
23
  "@adonisjs/core": "^6.2.0"
24
24
  },
25
25
  "dependencies": {
26
- "ts-morph": "^23.0.0"
26
+ "ts-morph": "^23.0.0",
27
+ "@tuyau/utils": "0.0.6"
27
28
  },
28
29
  "devDependencies": {
29
30
  "@adonisjs/assembler": "^7.8.2",
30
- "@adonisjs/core": "^6.14.0",
31
- "@julr/tooling-configs": "^2.2.0",
31
+ "@adonisjs/core": "^6.16.0",
32
32
  "@poppinss/cliui": "^6.4.1",
33
33
  "@poppinss/matchit": "^3.1.2",
34
- "@types/node": "^20.16.5",
35
- "@tuyau/client": "0.1.2",
36
- "@tuyau/utils": "0.0.4"
34
+ "@types/node": "^22.10.1",
35
+ "@tuyau/client": "0.2.2"
37
36
  },
38
37
  "publishConfig": {
39
38
  "access": "public",