feat:个人WhasApp服务端NodeJS打包脚本

main
LiaoYijun 7 months ago
parent a1c659dfb3
commit c40c742994

@ -1,3 +0,0 @@
# koa-template
Koa boilerplate template for create-koa-application.

@ -0,0 +1,44 @@
const fs = require('fs-extra');
const path = require('path');
const copyItems = [
'api',
'config',
'core',
'helper',
'middleware',
'models',
'services',
'utils',
'index.js',
'server.js'
];
// 目标目录dist
const distPath = path.resolve(__dirname, 'dist');
async function copyFiles() {
try {
// 确保dist目录存在
await fs.ensureDir(distPath);
// 遍历并复制每一项
for (const item of copyItems) {
const srcPath = path.resolve(__dirname, item);
const destPath = path.join(distPath, path.basename(item));
if (await fs.pathExists(srcPath)) {
await fs.copy(srcPath, destPath, { overwrite: true });
console.log(`✅ 已复制: ${item}${destPath}`);
} else {
console.warn(`⚠️ 路径不存在: ${srcPath}`);
}
}
console.log('🎉 所有文件复制完成!');
} catch (err) {
console.error('❌ 复制失败:', err);
process.exit(1);
}
}
copyFiles();

@ -1,3 +0,0 @@
module.exports = {
verbose: true,
};

@ -36,6 +36,7 @@
"eslint-plugin-n": "^16.6.2", "eslint-plugin-n": "^16.6.2",
"eslint-plugin-prettier": "^5.2.1", "eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-promise": "^6.6.0", "eslint-plugin-promise": "^6.6.0",
"fs-extra": "^11.3.1",
"husky": "2.3.0", "husky": "2.3.0",
"nodemon": "1.19.0", "nodemon": "1.19.0",
"prettier": "^3.4.2" "prettier": "^3.4.2"
@ -4334,16 +4335,17 @@
} }
}, },
"node_modules/fs-extra": { "node_modules/fs-extra": {
"version": "8.1.0", "version": "11.3.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", "resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-11.3.1.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "integrity": "sha512-eXvGGwZ5CL17ZSwHWd3bbgk7UUpF6IFHtP57NYYakPvHOs8GDgDe5KJI36jIJzDkJ6eJjuzRA8eBQb6SkKue0g==",
"license": "MIT",
"dependencies": { "dependencies": {
"graceful-fs": "^4.2.0", "graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0", "jsonfile": "^6.0.1",
"universalify": "^0.1.0" "universalify": "^2.0.0"
}, },
"engines": { "engines": {
"node": ">=6 <7 || >=8" "node": ">=14.14"
} }
}, },
"node_modules/fs.realpath": { "node_modules/fs.realpath": {
@ -6696,9 +6698,13 @@
} }
}, },
"node_modules/jsonfile": { "node_modules/jsonfile": {
"version": "4.0.0", "version": "6.2.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-6.2.0.tgz",
"integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "integrity": "sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==",
"license": "MIT",
"dependencies": {
"universalify": "^2.0.0"
},
"optionalDependencies": { "optionalDependencies": {
"graceful-fs": "^4.1.6" "graceful-fs": "^4.1.6"
} }
@ -9326,11 +9332,43 @@
} }
} }
}, },
"node_modules/streamroller/node_modules/fs-extra": {
"version": "8.1.0",
"resolved": "https://registry.npmmirror.com/fs-extra/-/fs-extra-8.1.0.tgz",
"integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==",
"license": "MIT",
"dependencies": {
"graceful-fs": "^4.2.0",
"jsonfile": "^4.0.0",
"universalify": "^0.1.0"
},
"engines": {
"node": ">=6 <7 || >=8"
}
},
"node_modules/streamroller/node_modules/jsonfile": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz",
"integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==",
"license": "MIT",
"optionalDependencies": {
"graceful-fs": "^4.1.6"
}
},
"node_modules/streamroller/node_modules/ms": { "node_modules/streamroller/node_modules/ms": {
"version": "2.1.3", "version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
}, },
"node_modules/streamroller/node_modules/universalify": {
"version": "0.1.2",
"resolved": "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==",
"license": "MIT",
"engines": {
"node": ">= 4.0.0"
}
},
"node_modules/streamsearch": { "node_modules/streamsearch": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz",
@ -9965,11 +10003,12 @@
} }
}, },
"node_modules/universalify": { "node_modules/universalify": {
"version": "0.1.2", "version": "2.0.1",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "resolved": "https://registry.npmmirror.com/universalify/-/universalify-2.0.1.tgz",
"integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
"license": "MIT",
"engines": { "engines": {
"node": ">= 4.0.0" "node": ">= 10.0.0"
} }
}, },
"node_modules/unpipe": { "node_modules/unpipe": {

@ -9,6 +9,7 @@
"format": "prettier --write \"**/*.+(js|yml|yaml|json)\"", "format": "prettier --write \"**/*.+(js|yml|yaml|json)\"",
"lint": "eslint .", "lint": "eslint .",
"start": "node index.js", "start": "node index.js",
"build": "node copy-to-dist.js",
"test": "NODE_ENV=test jest'" "test": "NODE_ENV=test jest'"
}, },
"devDependencies": { "devDependencies": {
@ -20,6 +21,7 @@
"eslint-plugin-prettier": "^5.2.1", "eslint-plugin-prettier": "^5.2.1",
"eslint-plugin-promise": "^6.6.0", "eslint-plugin-promise": "^6.6.0",
"husky": "2.3.0", "husky": "2.3.0",
"fs-extra": "^11.3.1",
"nodemon": "1.19.0", "nodemon": "1.19.0",
"prettier": "^3.4.2" "prettier": "^3.4.2"
}, },

Loading…
Cancel
Save