Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ulixee
GitHub Repository: ulixee/secret-agent
Path: blob/main/copyfiles.js
1028 views
1
// eslint-disable-next-line import/no-extraneous-dependencies,import/no-self-import
2
const copyfiles = require('copyfiles');
3
const Fs = require('fs');
4
const pkg = require('./package.json');
5
6
const copyToDir = process.env.OUT_DIR;
7
const isBuild = copyToDir === 'build';
8
const workspaces = pkg.workspaces.packages.map(x => x.replace('/*', ''));
9
10
const copyArgs = [
11
'-e "node_modules"',
12
'plugins/default-browser-emulator/data/**',
13
'examples/*.js',
14
'examples/*.mjs',
15
'mitm-socket/go/*.*',
16
'.*ignore',
17
];
18
if (isBuild) {
19
copyArgs.push('testing/*/**', 'core/test/html/**', 'puppet/test/*/**', 'yarn.lock');
20
}
21
22
for (const workspace of workspaces) {
23
copyArgs.push(
24
`${workspace}/*.cjs`,
25
`${workspace}/*.mjs`,
26
`${workspace}/**/.*ignore`,
27
`${workspace}/**/*.sh`,
28
);
29
}
30
31
if (isBuild) copyArgs.push('-a');
32
33
copyfiles([...copyArgs, copyToDir], {}, () => {
34
if (isBuild) {
35
Fs.copyFileSync(`${__dirname}/package.build.json`, `${__dirname}/build/package.json`);
36
}
37
// eslint-disable-next-line no-console
38
console.log('Files Copied');
39
});
40
41