From ac472efd23367a3ecac995c565e4d801fec6319c Mon Sep 17 00:00:00 2001 From: chenos Date: Tue, 18 Jun 2024 19:04:48 +0800 Subject: [PATCH] chore: add cnpm sync script --- cnpm-sync.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 cnpm-sync.js diff --git a/cnpm-sync.js b/cnpm-sync.js new file mode 100644 index 0000000000..346971bbef --- /dev/null +++ b/cnpm-sync.js @@ -0,0 +1,33 @@ +// @ts-ignore +const axios = require('axios'); +const glob = require('glob'); +const path = require('path'); +const fs = require('fs/promises'); +const lerna = require('./lerna.json'); + +const files = glob.sync(path.resolve(__dirname, './node_modules/@nocobase/**/package.json')); + +(async () => { + for (const file of files) { + const content = await fs.readFile(file); + const json = JSON.parse(content.toString()); + const url = `https://registry.npmmirror.com/${json.name}`; + try { + const response = await axios.get(url); + const latest = response?.data?.['dist-tags']?.latest; + if (latest !== lerna.version) { + console.log(json.name, latest); + console.log(`https://www.npmmirror.com/package/${json.name}`); + const response = await axios.put(`https://registry-direct.npmmirror.com/-/package/${json.name}/syncs`); + console.log(response.data); + await new Promise((resolve) => { + setTimeout(() => { + resolve(null); + }, 1000); + }); + } + } catch (error) { + // ... + } + } +})();