vovk 0.2.3-beta.69 → 0.2.3-beta.70

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.
@@ -15,7 +15,7 @@ function canRequire(moduleName) {
15
15
  /**
16
16
  * Generates client code with string concatenation so it should be much faster than using AST
17
17
  * TODO: Check fetcher and streamFetcher for existence
18
- * @type {(rcPath: import('../src').VovkEnv) => Promise<boolean>}
18
+ * @type {(rcPath: import('../src').VovkEnv) => Promise<{ written: boolean; path: string }>}
19
19
  */
20
20
  async function generateClient({ ...env }) {
21
21
  const outDir = env.VOVK_CLIENT_OUT;
@@ -90,13 +90,13 @@ const { default: validateOnClient = null } = ${
90
90
  const localTsPath = path.join(outDir, 'index.d.ts');
91
91
  const existingJs = await fs.readFile(localJsPath, 'utf-8').catch(() => '');
92
92
  const existingTs = await fs.readFile(localTsPath, 'utf-8').catch(() => '');
93
- if (existingJs === js && existingTs === ts) return false;
93
+ if (existingJs === js && existingTs === ts) return { written: false, path: outDir };
94
94
 
95
95
  await fs.mkdir(outDir, { recursive: true });
96
96
  await fs.writeFile(localJsPath, js);
97
97
  await fs.writeFile(localTsPath, ts);
98
98
 
99
- return true;
99
+ return { written: true, path: outDir };
100
100
  }
101
101
 
102
102
  module.exports = generateClient;
package/cli/server.js CHANGED
@@ -16,12 +16,13 @@ const once = argv.once ?? false;
16
16
 
17
17
  const metadataPath = path.join(__dirname, '../../../.vovk.json');
18
18
 
19
+ /** @type {(metadata: object) => Promise<{ written: boolean; path: string }>} */
19
20
  const writeMetadata = async (metadata) => {
20
21
  await fs.mkdir(path.dirname(metadataPath), { recursive: true });
21
22
  const existingMetadata = await fs.readFile(metadataPath, 'utf-8').catch(() => 'null');
22
- if (isEqual(JSON.parse(existingMetadata), metadata)) return false;
23
+ if (isEqual(JSON.parse(existingMetadata), metadata)) return { written: false, path: metadataPath };
23
24
  await fs.writeFile(metadataPath, JSON.stringify(metadata, null, 2));
24
- return true;
25
+ return { written: true, path: metadataPath };
25
26
  };
26
27
 
27
28
  const writeEmptyMetadata = async () => {
@@ -68,16 +69,16 @@ const server = http.createServer((req, res) => {
68
69
  req.on('end', async () => {
69
70
  try {
70
71
  const { metadata, PORT } = JSON.parse(body); // Parse the JSON data
71
- const metadataWritten = metadata ? await writeMetadata(metadata) : false;
72
+ const metadataWritten = metadata ? await writeMetadata(metadata) : { written: false, path: metadataPath };
72
73
  const codeWritten = await generateClient(vars);
73
74
  res.writeHead(200, { 'Content-Type': 'text/plain' });
74
75
  res.end('JSON data received and file created');
75
- if (metadataWritten) {
76
- console.info(' 🐺 JSON metadata updated');
76
+ if (metadataWritten.written) {
77
+ console.info(` 🐺 JSON metadata updated in ${metadataWritten.path}`);
77
78
  }
78
79
 
79
- if (codeWritten) {
80
- console.info(' 🐺 Client generated');
80
+ if (codeWritten.written) {
81
+ console.info(` 🐺 Client generated in ${codeWritten.path}`);
81
82
  }
82
83
 
83
84
  if (PORT && !once) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vovk",
3
- "version": "0.2.3-beta.69",
3
+ "version": "0.2.3-beta.70",
4
4
  "description": "Structural add-on for Next.js",
5
5
  "bin": "./cli/index.js",
6
6
  "scripts": {