Commit 613b75ed authored by Grant's avatar Grant
Browse files

add base for tools and add seed_palette tool

parent 51e13dd4
Loading
Loading
Loading
Loading
+166 −0
Original line number Diff line number Diff line
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 −0
Original line number Diff line number Diff line
#!/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
 No newline at end of file