vovk 0.2.3-beta.23 → 0.2.3-beta.25

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.
@@ -50,9 +50,16 @@ const { default: validateOnClient = null } = ${
50
50
  js += `exports.${key} = promisifyWorker(null, metadata.workers.${key});\n`;
51
51
  }
52
52
 
53
+ const jsPath = path.join(__dirname, '../../.vovk/index.js');
54
+ const tsPath = path.join(__dirname, '../../.vovk/index.d.ts');
53
55
  await fs.mkdir('../../.vovk', { recursive: true });
54
- await fs.writeFile(path.join(__dirname, '../../.vovk/index.d.ts'), ts);
55
- await fs.writeFile(path.join(__dirname, '../../.vovk/index.js'), js);
56
+ const existingJs = await fs.readFile(jsPath, 'utf-8').catch(() => '');
57
+ const existingTs = await fs.readFile(tsPath, 'utf-8').catch(() => '');
58
+ if (existingJs === js && existingTs === ts) return false;
59
+ await fs.writeFile(tsPath, ts);
60
+ await fs.writeFile(tsPath, js);
61
+
62
+ return true;
56
63
  }
57
64
 
58
65
  module.exports = generateClient;
package/cli/index.js CHANGED
@@ -26,7 +26,7 @@ function getAvailablePort(startPort, maxAttempts, attempt = 1) {
26
26
  if (isAvailable) {
27
27
  resolve(startPort); // Found an available port
28
28
  } else if (attempt < maxAttempts) {
29
- resolve(getAvailablePort(startPort + 1, maxAttempts, attempt + 1));
29
+ getAvailablePort(startPort + 1, maxAttempts, attempt + 1).then(resolve, reject);
30
30
  } else {
31
31
  reject(null);
32
32
  }
@@ -6,7 +6,7 @@ const fileExists = async (path) => !!(await fs.stat(path).catch(() => false));
6
6
  async function postinstall() {
7
7
  const vovk = path.join(__dirname, '../../.vovk');
8
8
  const js = path.join(vovk, 'index.js');
9
- const ts = path.join(vovk, 'index.ts');
9
+ const ts = path.join(vovk, 'index.d.ts');
10
10
 
11
11
  if ((await fileExists(js)) || (await fileExists(ts))) {
12
12
  return;
package/cli/server.js CHANGED
@@ -37,8 +37,9 @@ const isEqual = (obj1, obj2) => {
37
37
  const writeMetadata = async (metadataPath, metadata) => {
38
38
  await fs.mkdir(path.dirname(metadataPath), { recursive: true });
39
39
  const existingMetadata = await fs.readFile(metadataPath, 'utf-8').catch(() => '{}');
40
- if (isEqual(JSON.parse(existingMetadata), metadata)) return;
40
+ if (isEqual(JSON.parse(existingMetadata), metadata)) return false;
41
41
  await fs.writeFile(metadataPath, JSON.stringify(metadata, null, 2));
42
+ return true;
42
43
  };
43
44
 
44
45
  const server = http.createServer((req, res) => {
@@ -54,11 +55,15 @@ const server = http.createServer((req, res) => {
54
55
  try {
55
56
  const metadata = JSON.parse(body); // Parse the JSON data
56
57
  const filePath = path.join(__dirname, '../../.vovk/vovk-metadata.json');
57
- await writeMetadata(filePath, metadata);
58
- await generateClient(argv.rc, argv.output);
58
+ const metadataWritten = await writeMetadata(filePath, metadata);
59
+ const codeWritten = await generateClient(argv.rc, argv.output);
59
60
  res.writeHead(200, { 'Content-Type': 'text/plain' });
60
61
  res.end('JSON data received and file created');
61
- console.info(' 🐺 JSON data received and the client is generated');
62
+ if (metadataWritten || codeWritten) {
63
+ console.info(' 🐺 JSON metadata received and the client is generated');
64
+ } else if (once) {
65
+ console.info(' 🐺 JSON metadata received and the client is not changed');
66
+ }
62
67
  } catch (err) {
63
68
  res.writeHead(400, { 'Content-Type': 'text/plain' });
64
69
  res.end('Invalid JSON');
@@ -74,9 +79,9 @@ const server = http.createServer((req, res) => {
74
79
 
75
80
  const VOVK_PORT = process.env.VOVK_PORT;
76
81
  if (!VOVK_PORT) {
77
- console.error(' 🐺 Unable to run Vovk Metadata server: no port specified');
82
+ console.error(' 🐺 Unable to run Vovk Metadata Server: no port specified');
78
83
  process.exit(1);
79
84
  }
80
85
  server.listen(VOVK_PORT, () => {
81
- console.info(` 🐺 Vovk Server running on port ${VOVK_PORT}`);
86
+ console.info(` 🐺 Vovk Metadata Server running on port ${VOVK_PORT}`);
82
87
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vovk",
3
- "version": "0.2.3-beta.23",
3
+ "version": "0.2.3-beta.25",
4
4
  "description": "Structural add-on for Next.js",
5
5
  "bin": "./cli/index.js",
6
6
  "scripts": {