add base for tools and add seed_palette tool

This commit is contained in:
Grant 2024-03-11 20:53:20 -06:00
parent 51e13dd4df
commit 613b75edb6
2 changed files with 209 additions and 0 deletions

View File

@ -0,0 +1,166 @@
import { PrismaClient } from "@prisma/client";
const prisma = new PrismaClient();
// eslint-disable-next-line no-console
const log = (...msg: any[]) => console.log(...msg);
async function main() {
const palette: { name: string; hex: string }[] = [
{
name: "White",
hex: "FFFFFF",
},
{
name: "Light Grey",
hex: "C2CBD4",
},
{
name: "Medium Grey",
hex: "858D98",
},
{
name: "Deep Grey",
hex: "4B4F58",
},
{
name: "Black",
hex: "000000",
},
{
name: "Dark Chocolate",
hex: "38271D",
},
{
name: "Chocolate",
hex: "6C422C",
},
{
name: "Brown",
hex: "BC7541",
},
{
name: "Peach",
hex: "FFB27F",
},
{
name: "Beige",
hex: "FFD68F",
},
{
name: "Pink",
hex: "FEB2D9",
},
{
name: "Magenta",
hex: "F854CF",
},
{
name: "Mauve",
hex: "C785F3",
},
{
name: "Purple",
hex: "9C29BC",
},
{
name: "Dark Purple",
hex: "562972",
},
{
name: "Navy",
hex: "1E1E5B",
},
{
name: "Blue",
hex: "153FA2",
},
{
name: "Azure",
hex: "1C95DF",
},
{
name: "Aqua",
hex: "A0E8FF",
},
{
name: "Light Teal",
hex: "17A8A3",
},
{
name: "Dark Teal",
hex: "226677",
},
{
name: "Forest",
hex: "094C45",
},
{
name: "Dark Green",
hex: "278242",
},
{
name: "Green",
hex: "43C91E",
},
{
name: "Lime",
hex: "B7F954",
},
{
name: "Pastel Yellow",
hex: "FFFFAF",
},
{
name: "Yellow",
hex: "FAE70F",
},
{
name: "Orange",
hex: "FEA815",
},
{
name: "Rust",
hex: "EA5B15",
},
{
name: "Maroon",
hex: "5A0400",
},
{
name: "Rose",
hex: "990700",
},
{
name: "Red",
hex: "D81515",
},
{
name: "Watermelon",
hex: "FF635E",
},
];
for (const { name, hex } of palette) {
log("Ensuring color", { name, hex });
await prisma.paletteColor.upsert({
where: { hex },
update: {},
create: {
name,
hex,
},
});
}
}
main()
.then(async () => {
await prisma.$disconnect();
})
.catch(async (e) => {
// eslint-disable-next-line no-console
console.error(e);
await prisma.$disconnect();
process.exit(1);
});

43
packages/server/tool.sh Executable file
View File

@ -0,0 +1,43 @@
#!/bin/sh
# ^ this needs to be SH instead of bash because of Alpine Linux
# Utility to use tool depending on environment (using built or dev tooling)
MY_DIR="$(cd "$(dirname "$0")"; pwd)"
cd $MY_DIR
USE_PROD=false
if [ "$NODE_ENV" = "production" ]; then
USE_PROD=true
fi
if ! $USE_PROD; then
echo "<!> Development environment detected";
echo "<!> NODE_ENV is either empty or set to development";
echo "<!> Set NODE_ENV to production to use production tools";
echo "";
fi
DEV_TOOLS_ROOT=$MY_DIR/src/tools
PROD_TOOLS_ROOT=$MY_DIR/dist/tools
if [ "$1" = "" ]; then
echo "Tool argument is empty, specify a filename (without extension) from tools directory";
if $USE_PROD; then
echo " > Tools Directory: $PROD_TOOLS_ROOT"
else
echo " > Tools Directory: $DEV_TOOLS_ROOT"
fi
exit 1
fi
if [[ "$1" == *"."* ]]; then
echo "Tool argument contains a period, do not include extensions while executing tools"
exit 1
fi
if $USE_PROD; then
node $PROD_TOOLS_ROOT/$1.js
else
npx ts-node --transpile-only $DEV_TOOLS_ROOT/$1.ts
fi