Fixed issue with example mods building zip containing types + other unnecessary files (Thanks to TorturedChunk for fix)
This commit is contained in:
parent
3d58c2e8dd
commit
b2348014ea
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
75
TypeScript/15HttpListenerExample/packageBuild.ts
Normal file
75
TypeScript/15HttpListenerExample/packageBuild.ts
Normal file
@ -0,0 +1,75 @@
|
||||
#!/usr/bin/env node
|
||||
|
||||
// This is a simple script used to build a mod package. The script will copy necessary files to the build directory
|
||||
// and compress the build directory into a zip file that can be easily shared.
|
||||
|
||||
const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
// it's fine in this case. Some of these values are stored in environment variables, but those differ between node
|
||||
// versions; the 'author' value is not available after node v14.
|
||||
const { author, name:packageName, version } = require("./package.json");
|
||||
|
||||
// Generate the name of the package, stripping out all non-alphanumeric characters in the 'author' and 'name'.
|
||||
const modName = `${author.replace(/[^a-z0-9]/gi, "")}-${packageName.replace(/[^a-z0-9]/gi, "")}-${version}`;
|
||||
console.log(`Generated package name: ${modName}`);
|
||||
|
||||
// Delete the old build directory and compressed package file.
|
||||
fs.rmSync(`${__dirname}/dist`, { force: true, recursive: true });
|
||||
console.log("Previous build files deleted.");
|
||||
|
||||
// Generate a list of files that should not be copied over into the distribution directory. This is a blacklist to ensure
|
||||
// we always copy over additional files and directories that authors may have added to their project. This may need to be
|
||||
// expanded upon by the mod author to allow for node modules that are used within the mod; example commented out below.
|
||||
const ignoreList = [
|
||||
"node_modules/",
|
||||
// "node_modules/!(weighted|glob)", // Instead of excluding the entire node_modules directory, allow two node modules.
|
||||
"src/**/*.js",
|
||||
"types/",
|
||||
".git/",
|
||||
".gitea/",
|
||||
".eslintignore",
|
||||
".eslintrc.json",
|
||||
".gitignore",
|
||||
".DS_Store",
|
||||
"packageBuild.ts",
|
||||
"mod.code-workspace",
|
||||
"package-lock.json",
|
||||
"tsconfig.json"
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
||||
// Compress the files for easy distribution. The compressed file is saved into the dist directory. When uncompressed we
|
||||
// need to be sure that it includes a directory that the user can easily copy into their game mods directory.
|
||||
zip({
|
||||
source: modName,
|
||||
destination: `dist/${modName}.zip`,
|
||||
cwd: __dirname
|
||||
}).catch(function(err)
|
||||
{
|
||||
console.error("A bestzip error has occurred: ", err.stack);
|
||||
}).then(function()
|
||||
{
|
||||
console.log(`Compressed mod package to: /dist/${modName}.zip`);
|
||||
|
||||
// Now that we're done with the compression we can delete the temporary build directory.
|
||||
fs.rmSync(`${__dirname}/${modName}`, { force: true, recursive: true });
|
||||
console.log("Build successful! your zip file has been created and is ready to be uploaded to hub.sp-tarkov.com/files/");
|
||||
});
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
@ -7,6 +7,7 @@ const fs = require("fs-extra");
|
||||
const glob = require("glob");
|
||||
const zip = require('bestzip');
|
||||
const path = require("path");
|
||||
const minimatch = require('minimatch');
|
||||
|
||||
// Load the package.json file to get some information about the package so we can name things appropriately. This is
|
||||
// atypical, and you would never do this in a production environment, but this script is only used for development so
|
||||
@ -43,12 +44,14 @@ const ignoreList = [
|
||||
];
|
||||
const exclude = glob.sync(`{${ignoreList.join(",")}}`, { realpath: true, dot: true });
|
||||
|
||||
// For some reason these basic-bitch functions won't allow us to copy a directory into itself, so we have to resort to
|
||||
// using a temporary directory, like an idiot. Excuse the normalize spam; some modules cross-platform, some don't...
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter:(filePath) =>
|
||||
fs.copySync(__dirname, path.normalize(`${__dirname}/../~${modName}`), {filter: (src) =>
|
||||
{
|
||||
return !exclude.includes(filePath);
|
||||
}});
|
||||
const relativePath = path.relative(__dirname, src);
|
||||
const shouldExclude = exclude.some((pattern) => minimatch(relativePath, pattern));
|
||||
console.log(`${relativePath} - Excluded: ${shouldExclude}`);
|
||||
return !shouldExclude;
|
||||
},});
|
||||
|
||||
fs.moveSync(path.normalize(`${__dirname}/../~${modName}`), path.normalize(`${__dirname}/${modName}`), { overwrite: true });
|
||||
fs.copySync(path.normalize(`${__dirname}/${modName}`), path.normalize(`${__dirname}/dist`));
|
||||
console.log("Build files copied.");
|
||||
|
Loading…
x
Reference in New Issue
Block a user