vovk 0.2.3-beta.25 → 0.2.3-beta.27
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/cli/generateClient.js +4 -5
- package/cli/server.js +1 -1
- package/package.json +1 -1
package/cli/generateClient.js
CHANGED
|
@@ -3,6 +3,7 @@ const path = require('path');
|
|
|
3
3
|
const getVovkrc = require('./getVovkrc');
|
|
4
4
|
/**
|
|
5
5
|
* Generates client code with string concatenation so it should be much faster than using AST
|
|
6
|
+
* TODO: Check modules for existence before compiling, use vovk-zod by default
|
|
6
7
|
* @type {(rcPath: string) => Promise<void>}
|
|
7
8
|
*/
|
|
8
9
|
async function generateClient(rcPath) {
|
|
@@ -24,7 +25,7 @@ type Options = typeof fetcher extends VovkClientFetcher<infer U> ? U : never;
|
|
|
24
25
|
`;
|
|
25
26
|
let js = `const { clientizeController } = require('vovk/client');
|
|
26
27
|
const { promisifyWorker } = require('vovk/worker');
|
|
27
|
-
const metadata = require('
|
|
28
|
+
const metadata = require('../.vovk.json');
|
|
28
29
|
const { default: fetcher } = require('${fetcherPath}');
|
|
29
30
|
const { default: streamFetcher } = require('${streamFetcherPath}');
|
|
30
31
|
const prefix = '${vovkrc.prefix ?? '/api'}';
|
|
@@ -33,9 +34,7 @@ const { default: validateOnClient = null } = ${
|
|
|
33
34
|
};
|
|
34
35
|
|
|
35
36
|
`;
|
|
36
|
-
const metadataJson = await fs
|
|
37
|
-
.readFile(path.join(__dirname, '../../.vovk/vovk-metadata.json'), 'utf-8')
|
|
38
|
-
.catch(() => null);
|
|
37
|
+
const metadataJson = await fs.readFile(path.join(__dirname, '../../../.vovk.json'), 'utf-8').catch(() => null);
|
|
39
38
|
const metadata = JSON.parse(metadataJson || '{}');
|
|
40
39
|
|
|
41
40
|
for (const key of Object.keys(metadata)) {
|
|
@@ -57,7 +56,7 @@ const { default: validateOnClient = null } = ${
|
|
|
57
56
|
const existingTs = await fs.readFile(tsPath, 'utf-8').catch(() => '');
|
|
58
57
|
if (existingJs === js && existingTs === ts) return false;
|
|
59
58
|
await fs.writeFile(tsPath, ts);
|
|
60
|
-
await fs.writeFile(
|
|
59
|
+
await fs.writeFile(jsPath, js);
|
|
61
60
|
|
|
62
61
|
return true;
|
|
63
62
|
}
|
package/cli/server.js
CHANGED
|
@@ -54,7 +54,7 @@ const server = http.createServer((req, res) => {
|
|
|
54
54
|
req.on('end', async () => {
|
|
55
55
|
try {
|
|
56
56
|
const metadata = JSON.parse(body); // Parse the JSON data
|
|
57
|
-
const filePath = path.join(__dirname, '
|
|
57
|
+
const filePath = path.join(__dirname, '../../../.vovk.json');
|
|
58
58
|
const metadataWritten = await writeMetadata(filePath, metadata);
|
|
59
59
|
const codeWritten = await generateClient(argv.rc, argv.output);
|
|
60
60
|
res.writeHead(200, { 'Content-Type': 'text/plain' });
|