-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbuild.js
31 lines (25 loc) · 886 Bytes
/
build.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const fs = require('fs');
const archiver = require('archiver');
const modules = fs.readdirSync('node_modules');
const output = fs.createWriteStream('plugin-active-win.zip');
const archive = archiver('zip', { zlib: { level: 9 } });
const subfolder = 'my-project-files';
if (!fs.existsSync(subfolder)) {
fs.mkdirSync(subfolder);
}
const excludedFiles = [subfolder, 'archive.js', 'build.js', '.github', '.git'];
// Get all files and directories in the current folder
const files = fs.readdirSync('.');
for (const file of files) {
// Exclude the excluded files/directories
if (!excludedFiles.includes(file)) {
fs.renameSync(file, `${subfolder}/${file}`);
}
}
output.on('close', () => {
console.log('Archive created successfully.');
});
archive.pipe(output);
archive.directory(subfolder, false);
archive.finalize();
console.log('Dependencies removed and archive created.');