namillum
Version:
Bubble Protocol SDK
33 lines (31 loc) • 980 B
text/typescript
import * as fs from "fs";
import * as path from "path";
import { task } from "hardhat/config";
task("deploy", "Deploy stuff")
.addOptionalParam("only")
.setAction(async (taskArgs) => {
let only = taskArgs.only;
let theRegex = undefined;
if (only !== undefined) {
theRegex = `^${only}$`;
}
// Find the deployment scripts.
let deployContents = fs.readdirSync(path.resolve(process.cwd(), "deploy"), {
encoding: "utf8",
});
deployContents = deployContents
.filter((filename) => {
return filename.endsWith(".ts");
})
.sort();
for (let deployFile of deployContents) {
if (only == undefined || deployFile.match(theRegex)) {
console.log(`> ${deployFile}`);
let f = await import(path.resolve(process.cwd(), "deploy", deployFile));
await f.default();
console.log(`Done`);
}
}
console.log(`${JSON.stringify(deployContents)}`);
console.log(taskArgs);
});