UNPKG

@wttp/site

Version:

Web3 Transfer Protocol (WTTP) - Site Contracts and deployment tools

42 lines 1.9 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const config_1 = require("hardhat/config"); const fs_1 = __importDefault(require("fs")); // Helper function to check if a path is a directory function isDirectory(sourcePath) { return fs_1.default.statSync(sourcePath).isDirectory(); } (0, config_1.task)("site:upload", "Upload a file or directory to a WTTP site") .addParam("site", "The address of the WTTP site") .addParam("source", "The source file or directory path") .addOptionalParam("destination", "The destination path on the WTTP site", "/") .addOptionalParam("nodefaults", "Disable default ignore patterns", false, config_1.types.boolean) .setAction(async (taskArgs, hre) => { const { site, source, destination, nodefaults } = taskArgs; // Connect to the WTTP site const wtppSite = await hre.ethers.getContractAt("Web3Site", site); // Check if source is a file or directory if (isDirectory(source)) { console.log(`Source ${source} is a directory, using directory upload...`); // Import the directory upload function const { uploadDirectory } = require("../scripts/uploadDirectory"); // Configure ignore options const ignoreOptions = { includeDefaults: !nodefaults }; // Upload the directory await uploadDirectory(wtppSite, source, destination, ignoreOptions); } else { console.log(`Source ${source} is a file, using file upload...`); // Import the file upload function const { uploadFile } = require("../scripts/uploadFile"); // Upload the file await uploadFile(wtppSite, source, destination); } }); exports.default = {}; //# sourceMappingURL=upload.js.map