diff --git a/.gitignore b/.gitignore index 05f0cbc1..0590700e 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,3 @@ node_modules /prisma/data.db /prisma/data.db-journal -/app/styles/tailwind.css diff --git a/.gitpod.yml b/.gitpod.yml deleted file mode 100644 index f07c5628..00000000 --- a/.gitpod.yml +++ /dev/null @@ -1,48 +0,0 @@ -# https://www.gitpod.io/docs/config-gitpod-file - -image: - file: .gitpod.Dockerfile - -ports: - - port: 3000 - onOpen: notify - -tasks: - - name: Restore .env file - command: | - if [ -f .env ]; then - # If this workspace already has a .env, don't override it - # Local changes survive a workspace being opened and closed - # but they will not persist between separate workspaces for the same repo - - echo "Found .env in workspace" - else - # There is no .env - if [ ! -n "${ENV}" ]; then - # There is no $ENV from a previous workspace - # Default to the example .env - echo "Setting example .env" - - cp .env.example .env - else - # After making changes to .env, run this line to persist it to $ENV - # eval $(gp env -e ENV="$(base64 .env | tr -d '\n')") - # - # Environment variables set this way are shared between all your workspaces for this repo - # The lines below will read $ENV and print a .env file - - echo "Restoring .env from Gitpod" - - echo "${ENV}" | base64 -d | tee .env > /dev/null - fi - fi - - - init: npm install - command: npm run setup && npm run dev - -vscode: - extensions: - - ms-azuretools.vscode-docker - - esbenp.prettier-vscode - - dbaeumer.vscode-eslint - - bradlc.vscode-tailwindcss diff --git a/.prettierignore b/.prettierignore index 8cb6bcbd..3d07bafc 100644 --- a/.prettierignore +++ b/.prettierignore @@ -4,4 +4,3 @@ node_modules /public/build .env -/app/styles/tailwind.css diff --git a/README.md b/README.md index 19edaea8..0204f6e5 100644 --- a/README.md +++ b/README.md @@ -1,37 +1,31 @@ -# Remix Indie Stack +# Remix Nordic Folk Stack -![The Remix Indie Stack](https://repository-images.githubusercontent.com/465928257/a241fa49-bd4d-485a-a2a5-5cb8e4ee0abf) +![The Remix Nordic Folk Stack](./nordic-folk-stack.png) Learn more about [Remix Stacks](https://remix.run/stacks). ``` -npx create-remix --template remix-run/indie-stack +npx create-remix --template chiangs/nordic-folk ``` ## What's in the stack - [Fly app deployment](https://fly.io) with [Docker](https://www.docker.com/) -- Production-ready [SQLite Database](https://sqlite.org) - Healthcheck endpoint for [Fly backups region fallbacks](https://fly.io/docs/reference/configuration/#services-http_checks) - [GitHub Actions](https://github.com/features/actions) for deploy on merge to production and staging environments -- Email/Password Authentication with [cookie-based sessions](https://remix.run/docs/en/v1/api/remix#createcookiesessionstorage) +- Production-ready [SQLite Database](https://sqlite.org) - Database ORM with [Prisma](https://prisma.io) -- Styling with [Tailwind](https://tailwindcss.com/) -- End-to-end testing with [Cypress](https://cypress.io) +- Email/Password Authentication with [cookie-based sessions](https://remix.run/docs/en/v1/api/remix#createcookiesessionstorage) - Local third party request mocking with [MSW](https://mswjs.io) +- End-to-end testing with [Cypress](https://cypress.io) - Unit testing with [Vitest](https://vitest.dev) and [Testing Library](https://testing-library.com) - Code formatting with [Prettier](https://prettier.io) - Linting with [ESLint](https://eslint.org) - Static Types with [TypeScript](https://typescriptlang.org) +- ~~Styling with [Tailwind](https://tailwindcss.com/)~~ Not a fan of bits of the stack? Fork it, change it, and use `npx create-remix --template your/repo`! Make it your own. -## Quickstart - -Click this button to create a [Gitpod](https://gitpod.io) workspace with the project set up and Fly pre-installed - -[![Gitpod Ready-to-Code](https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod)](https://gitpod.io/from-referrer/) - ## Development - Initial setup: _If you just generated this project, this step has been done for you._ diff --git a/app/root.tsx b/app/root.tsx index 90204ff8..69b89d14 100644 --- a/app/root.tsx +++ b/app/root.tsx @@ -13,11 +13,10 @@ import { ScrollRestoration, } from "@remix-run/react"; -import tailwindStylesheetUrl from "./styles/tailwind.css"; import { getUser } from "./session.server"; export const links: LinksFunction = () => { - return [{ rel: "stylesheet", href: tailwindStylesheetUrl }]; + return []; }; export const meta: MetaFunction = () => ({ diff --git a/app/routes/index.tsx b/app/routes/index.tsx index b63be55b..f53c0f4a 100644 --- a/app/routes/index.tsx +++ b/app/routes/index.tsx @@ -81,11 +81,6 @@ export default function Index() { alt: "Prisma", href: "https://prisma.io", }, - { - src: "https://user-images.githubusercontent.com/1500684/157764276-a516a239-e377-4a20-b44a-0ac7b65c8c14.svg", - alt: "Tailwind", - href: "https://tailwindcss.com", - }, { src: "https://user-images.githubusercontent.com/1500684/157764454-48ac8c71-a2a9-4b5e-b19c-edef8b8953d6.svg", alt: "Cypress", diff --git a/nordic-folk-stack.png b/nordic-folk-stack.png new file mode 100644 index 00000000..18811b31 Binary files /dev/null and b/nordic-folk-stack.png differ diff --git a/package-lock.json b/package-lock.json index 3cb8cbed..0a3c340b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -43,10 +43,8 @@ "npm-run-all": "^4.1.5", "postcss": "^8.4.12", "prettier": "2.6.1", - "prettier-plugin-tailwindcss": "^0.1.8", "prisma": "^3.11.1", "start-server-and-test": "^1.14.0", - "tailwindcss": "^3.0.23", "ts-node": "^10.7.0", "tsconfig-paths": "^3.14.1", "typescript": "^4.6.3", @@ -10327,18 +10325,6 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/prettier-plugin-tailwindcss": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.1.8.tgz", - "integrity": "sha512-hwarSBCswAXa+kqYtaAkFr3Vop9o04WOyZs0qo3NyvW8L7f1rif61wRyq0+ArmVThOuRBcJF5hjGXYk86cwemg==", - "dev": true, - "engines": { - "node": ">=12.17.0" - }, - "peerDependencies": { - "prettier": ">=2.2.0" - } - }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -11934,70 +11920,6 @@ "node": ">=4" } }, - "node_modules/tailwindcss": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.23.tgz", - "integrity": "sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==", - "dev": true, - "dependencies": { - "arg": "^5.0.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "color-name": "^1.1.4", - "cosmiconfig": "^7.0.1", - "detective": "^5.2.0", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "normalize-path": "^3.0.0", - "object-hash": "^2.2.0", - "postcss": "^8.4.6", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.0", - "postcss-nested": "5.0.6", - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=12.13.0" - }, - "peerDependencies": { - "autoprefixer": "^10.0.2", - "postcss": "^8.0.9" - } - }, - "node_modules/tailwindcss/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/tailwindcss/node_modules/quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/tar": { "version": "6.1.11", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", @@ -21163,13 +21085,6 @@ "integrity": "sha512-8UVbTBYGwN37Bs9LERmxCPjdvPxlEowx2urIL6urHzdb3SDq4B/Z6xLFCblrSnE4iKWcS6ziJ3aOYrc1kz/E2A==", "dev": true }, - "prettier-plugin-tailwindcss": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.1.8.tgz", - "integrity": "sha512-hwarSBCswAXa+kqYtaAkFr3Vop9o04WOyZs0qo3NyvW8L7f1rif61wRyq0+ArmVThOuRBcJF5hjGXYk86cwemg==", - "dev": true, - "requires": {} - }, "pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -22402,52 +22317,6 @@ } } }, - "tailwindcss": { - "version": "3.0.23", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.23.tgz", - "integrity": "sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==", - "dev": true, - "requires": { - "arg": "^5.0.1", - "chalk": "^4.1.2", - "chokidar": "^3.5.3", - "color-name": "^1.1.4", - "cosmiconfig": "^7.0.1", - "detective": "^5.2.0", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "normalize-path": "^3.0.0", - "object-hash": "^2.2.0", - "postcss": "^8.4.6", - "postcss-js": "^4.0.0", - "postcss-load-config": "^3.1.0", - "postcss-nested": "5.0.6", - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0", - "quick-lru": "^5.1.1", - "resolve": "^1.22.0" - }, - "dependencies": { - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "quick-lru": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", - "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", - "dev": true - } - } - }, "tar": { "version": "6.1.11", "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.11.tgz", diff --git a/package.json b/package.json index dcc9f732..3eff17f3 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,6 @@ "dev:css": "npm run generate:css -- --watch", "dev:remix": "cross-env NODE_ENV=development binode --require ./mocks -- @remix-run/dev:remix dev", "format": "prettier --write .", - "generate:css": "tailwindcss -o ./app/styles/tailwind.css", "lint": "eslint --cache --cache-location ./node_modules/.cache/eslint .", "setup": "prisma migrate dev && prisma db seed", "start": "remix-serve build", @@ -69,10 +68,8 @@ "npm-run-all": "^4.1.5", "postcss": "^8.4.12", "prettier": "2.6.1", - "prettier-plugin-tailwindcss": "^0.1.8", "prisma": "^3.11.1", "start-server-and-test": "^1.14.0", - "tailwindcss": "^3.0.23", "ts-node": "^10.7.0", "tsconfig-paths": "^3.14.1", "typescript": "^4.6.3", diff --git a/tailwind.config.js b/tailwind.config.js deleted file mode 100644 index 6432a620..00000000 --- a/tailwind.config.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - content: ["./app/**/*.{ts,tsx,jsx,js}"], - theme: { - extend: {}, - }, - plugins: [], -};