import { join as pathJoin } from "path"; import { constants } from "fs"; import { chmod, stat } from "fs/promises"; (async () => { const thisCodebaseRootDirPath = pathJoin(__dirname, ".."); const { bin } = await import(pathJoin(thisCodebaseRootDirPath, "package.json")); const promises = Object.values(bin).map(async scriptPath => { const fullPath = pathJoin(thisCodebaseRootDirPath, scriptPath); const oldMode = (await stat(fullPath)).mode; const newMode = oldMode | constants.S_IXUSR | constants.S_IXGRP | constants.S_IXOTH; await chmod(fullPath, newMode); }); await Promise.all(promises); })();