Skip to content

Instantly share code, notes, and snippets.

@Platane
Last active September 18, 2019 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Platane/a77199896148a0b51da91291ebc46355 to your computer and use it in GitHub Desktop.
Save Platane/a77199896148a0b51da91291ebc46355 to your computer and use it in GitHub Desktop.
add secret to now.sh
const util = require("util");
const exec = util.promisify(require("child_process").exec);
require("dotenv").config();
const p = require("./now.json");
const vars = Object.entries({ ...p.env, ...p.build.env })
.filter(([, b]) => b[0] === "@")
.map(([a, b]) => ({
name: b.slice(1),
envVarName: b,
value: process.env[a]
}));
vars.map(({ name, value }) => {
if (value === undefined) {
console.log(`- 😐 ${name.padEnd(30)} no value`);
return;
}
return exec(`yarn now secret add "${name}" "${value}"`)
.then(res => {
if (res.stdout.includes("> Success!"))
console.log(`- 👌 ${name.padEnd(30)}`);
else throw new Error(res.stdout);
})
.catch(err => {
const [, message = err.message] =
err.message.match(/> Error! (.*)\b/) || [];
if (message.includes("already exists for this user"))
console.log(`- 😐 ${name.padEnd(30)} ${message}`);
else console.log(`- ❌ ${name.padEnd(30)} ${message}`);
});
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment