An Open Source Remix template that integrates Stripe Subscriptions, Social Authentication, Testing and a few more features. PostgreSQL version. Deploys to Fly.io

Overview

GitHub-Mark-Light GitHub-Mark-Dark

Live Demo · Twitter
An open source Remix Stack that integrates Stripe Subscriptions, Social Authentication, Testing and a few more features. PostgreSQL version. Deploys to Fly.io

💿 Features

Special Stack Features

We've got a 🐳 SQLite version also.

Would you like to change something? Fork it, change it and use npx create-remix --template your/repo!
Learn more about Remix Stacks.

Quickstart

# Initialize the following template into your workspace:
npx create-remix --template dev-xo/stripe-postgres-stack

# Setup database: (Choose between the following 2 options)
npm run docker || 'Manually set your Postgres database keys into the .env file.'

Note: The npm script will complete while Docker sets up the container in the background. Ensure that Docker has finished and your container is running before proceeding.

# Seed your database:
npm run setup

# Build your server:
npm run build

# Start dev server:
npm run dev

Done! This starts your app in development mode, rebuilding assets on file changes.

👋 Getting Started

This section will be splitted in three threads: Live Demo | Development | Production.

Live Demo

Template's Demo has been developed to be really simple to use, being able to show all its provided features. Let's see the workflow to test it:

  • Log In with your preferred Social.

    Feel free to remove the authorized App after testing it.

  • Select a Subscription Plan.

    Besides you will see real money values from Stripe Checkout, don't worry, it's absolutely safe.

  • Fill Stripe Checkout inputs with default development values.

    Type 4242 as much times as you can on each available Input.

  • Done! We should be redirected back to our App with newly Plan already set.

Development

Understanding our development workspace will keep us productive.

▫️ Folder Structure

A solid folder structure will help our App grow healthy over time. Let's review the most important folders.

├── modules         # Groups our App logic and splits it into smaller sections.
  ├──                 Stores related Components, Database interactions, Sessions, Utils etc.
  ├──                 This folder could also be called "lib", "services" etc.

├── routes
  ├── api           # Stores Stripe Webhook Endpoint file, and any realted API calls.
  ├── resources     # Used to call our own Server, do Redirects, update Sessions and so on.

▫️ Authentication Strategies

To provide Authentication to our App, we will need to get the API Keys from our Socials Providers. Below here you can find all template's Providers OAuth Documentations.

Once we got our Providers Keys CLIENT and SECRET, we can set them into .env file.

If you are struggling on this step, feel free to contact me directly, have a look on youtube, or do a quick search on Google!.

▫️ Stripe Webhook

Let's see how we can start receiving Stripe Events to our Webhook Endpoint.

  • Install Stripe CLI

  • Run the following command on the background:

stripe listen --forward-to localhost:3000/api/webhook

The provided Webhook Signing Secret has to be set in our .env file as DEV_STRIPE_WEBHOOK_ENDPOINT_SECRET.

▫️ Stripe Products

From Stripe Products Dashboard, create as many products as you want. Remember to update their API Keys from .env file, as well as their descriptions and names from /modules/stripe/stripe-plans.

Production

▫️ Stripe Webhook - Web Dashboard

Let's see how we can get and set our Production Webhook.

  • Visit Webhooks Section into your Stripe Dashboard.

The link provided to Webhooks its from Stripe Test Mode. Feel free to complete the "Activate Payments" steps to get a production Webhook Key.

  • Create a new Webhook Endpoint.

  • Set your deployed App Webhook Endpoint URL into Endpoint URL input.

For this template was: https://stripe-postgres-stack.fly.dev/api/webhook

  • Reveal the Signing secret that has been provided on your newly Webhook page and set it as PROD_STRIPE_WEBHOOK_ENDPOINT_SECRET in our .env file.

Done! Give it a try. If something went wrong, verify that the provided steps has been followed correctly.

🚀 Deployment

This Remix Stack comes with two GitHub Actions that handle automatically deploying your app to production and staging environments.

Prior to your first deployment, you'll need to do a few things:

fly auth signup
  • Create two apps on Fly, one for staging and one for production:
fly apps create stripe-postgres-stack
fly apps create stripe-postgres-stack-staging

Make sure this name matches the app set in your fly.toml file. Otherwise, you will not be able to deploy.

  • Initialize Git:
git init
  • Create a new GitHub Repository, and then add it as the remote for your project. Do not push your app yet!
git remote add origin <ORIGIN_URL>
  • Add a FLY_API_TOKEN to your GitHub repo. To do this, go to your user settings on Fly and create a new token, then add it to your repo secrets with the name FLY_API_TOKEN.

  • Add a SESSION_SECRET to your fly app secrets, to do this you can run the following commands:

fly secrets set SESSION_SECRET=$(openssl rand -hex 32) --app stripe-postgres-stack
fly secrets set SESSION_SECRET=$(openssl rand -hex 32) --app stripe-postgres-stack-staging

If you don't have openssl installed, you can also use 1password to generate a random secret, just replace $(openssl rand -hex 32) with the generated secret.

  • Create a database for both your staging and production environments. Run the following:
fly postgres create --name stripe-postgres-stack-db
fly postgres attach stripe-postgres-stack-db

fly postgres create --name stripe-postgres-stack-staging-db
fly postgres attach stripe-postgres-stack-staging-db

Fly will take care of setting the DATABASE_URL secret for you.

  • Now that everything is set up you can commit and push your changes to your repo.

Every commit to your main branch will trigger a deployment to your production environment, and every commit to your dev branch will trigger a deployment to your staging environment.

▫️ Setting Up Production Envs

Here is a simple command we can use after deployment. Feel free to fill it with your App .env variables.

flyctl secrets set NODE_ENV=production PROD_HOST_URL= GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= GITHUB_CLIENT_ID= GITHUB_CLIENT_SECRET= TWITTER_CLIENT_ID= TWITTER_CLIENT_SECRET= DISCORD_CLIENT_ID= DISCORD_CLIENT_SECRET= STRIPE_PUBLIC_KEY= STRIPE_SECRET_KEY= PLAN_1_PRICE_ID= PLAN_2_PRICE_ID= PLAN_3_PRICE_ID= PROD_STRIPE_WEBHOOK_ENDPOINT_SECRET=

Development variables has opted out from this command.

⚙️ GitHub Actions

We use GitHub Actions for continuous integration and deployment.

Anything that gets into the main branch will be deployed to production after running tests / build / etc.
Anything in the dev branch will be deployed to staging.

💅 Testing

▫️ Cypress

We use Cypress for End-to-End tests. You'll find those in the cypress directory. As you make changes, add to an existing file or create a new file in the cypress/e2e directory to test your changes.

We use @testing-library/cypress for selecting elements on the page semantically.

To run these tests in development, run npm run test:e2e:dev which will start the dev server for the app as well as the Cypress client. Make sure the database is running in docker as described above.

▫️ Vitest

For lower level tests of utilities and individual components, we use vitest. We have DOM-specific assertion helpers via @testing-library/jest-dom.

▫️ Type Checking

This project uses TypeScript. It's recommended to get TypeScript set up for your editor to get a really great in-editor experience with type checking and auto-complete. To run type checking across the whole project, run npm run typecheck.

▫️ Linting

This project uses ESLint for linting. That is configured in .eslintrc.js.

▫️ Formatting

We use Prettier for auto-formatting in this project. It's recommended to install an editor plugin to get auto-formatting on save. There's also a npm run format script you can run to format all files in the project.

Also feel free to update prettier settings from .package-json with your preferred configuration.

🤝 Contributing

Contributions are Welcome! Jump in and help us improve this Community Template over time!

🍪 Support

If you found the project useful, help it by Staring It! It helps the repository grow and gives me motivation to keep working on it. Thanks you!

▫️ Acknowledgments

All my respect and gratitude for Kent C. Dodds (Not gonna @him, don't wanna bother, instead gonna leave here his Website Blog). Has been supporting my work on Twitter a few times already, and that's something truly amazing for any small developer.

Also a big shout out to @vueeez who just jumped on Twitter DMs, contributing on Twitter Authentication Strategy.

Comments
  • Chore(deps): bump styfle/cancel-workflow-action from 0.10.1 to 0.11.0

    Chore(deps): bump styfle/cancel-workflow-action from 0.10.1 to 0.11.0

    Bumps styfle/cancel-workflow-action from 0.10.1 to 0.11.0.

    Release notes

    Sourced from styfle/cancel-workflow-action's releases.

    0.11.0

    Minor Changes

    • Update to Node 16: #186
    • Chore: rebuild: 1e0e690cd3756927cda56ad0033137ff1268c477
    • Chore(deps-dev): bump typescript from 4.8.3 to 4.8.4: #181
    • Chore(deps): bump @​actions/github from 5.1.0 to 5.1.1: #182
    • Chore(deps): bump @​actions/core from 1.9.1 to 1.10.0: #183

    Credits

    Huge thanks to @​mattjohnsonpint for helping!

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 1
  • Chore(deps-dev): bump happy-dom from 6.0.4 to 7.0.0

    Chore(deps-dev): bump happy-dom from 6.0.4 to 7.0.0

    Bumps happy-dom from 6.0.4 to 7.0.0.

    Release notes

    Sourced from happy-dom's releases.

    v7.0.0

    :bomb: Breaking Changes

    • Changes how CSS properties in CSSStyleDeclaration are parsed, which potentially can break applications (#344)

    :art: Features

    • Improves support for CSSStyleDeclaration (#344)
      • Parsing and validating of shorthand CSS properties (border, font, background etc.)
      • Parsing and validating of the most common CSS properties (width, height, visibility etc.)
      • Adds support for CSSStyleDeclaration.getPropertyPriority()
      • Adds a cache to improve performance
      • Adds typescript typing for all CSS properties
    • Improves support for Window.getComputedStyle() (#344)
      • Applies styles from <style> and <link> elements
      • Handles inherited properties
      • Handles default values for "display" and "direction"
      • Resolves CSS variables
      • Handles media queries
    • Improves support for CSSStyleSheet (#344)
      • Adds a cache to prevent re-parsing new CSS strings
      • Adds support for CSSContainerRule
      • Only create instances of CSSStyleDeclaration in CSS rules when accesing the "style" property
      • Makes CSSRule, CSSContainerRule, CSSFontFaceRule, CSSKeyframeRule, CSSKeyframesRule, CSSMediaRule and CSSStyleRule available on the Window instance
    • Improves support for Attr (#344)
      • It now extends Node
    • Improves support for HTMLElement.innerText (#344)
      • It will now render the text based on the computed style of the elements
    • Improves support for window.matchMedia() (#344)
      • It will now listen to the window resize event
      • Adds support for matching against "min-width", "max-width", "min-height" and "max-height"
    • Adds support for sending "innerWidth", "innerHeight" and "url" to the Window constructor. (#344)
    • Adds support for setting "innerWidth" and "innerHeight". (#344)
      • Example: window.happyDOM.setInnerWidth(1024)

    :construction_worker_man: Patch fixes

    • HTMLStyleElement.style no longer returns new instances of CSSStyleSheet (#344)
    • CSSStyleSheet.insertRule() did not insert the rule on the correct position when sending in an index (#344)
    • ChildNode.replaceWith() did not throw an exception when there was no parent, allowing the code to continue (#344)

    Hello everyone! :wave:

    I'm sorry it's taken so long for this release. A lot has happened in my private and work life and I haven't been able to spend as much time on Happy DOM as I would have liked.

    I will have more time to put on Happy DOM now again, so stay tuned for many more releases :wink:

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 1
  • Chore(deps): bump actions/upload-artifact from 2 to 3

    Chore(deps): bump actions/upload-artifact from 2 to 3

    Bumps actions/upload-artifact from 2 to 3.

    Release notes

    Sourced from actions/upload-artifact's releases.

    v3.0.0

    What's Changed

    • Update default runtime to node16 (#293)
    • Update package-lock.json file version to 2 (#302)

    Breaking Changes

    With the update to Node 16, all scripts will now be run with Node 16 rather than Node 12.

    v2.3.1

    Fix for empty fails on Windows failing on upload #281

    v2.3.0 Upload Artifact

    • Optimizations for faster uploads of larger files that are already compressed
    • Significantly improved logging when there are chunked uploads
    • Clarifications in logs around the upload size and prohibited characters that aren't allowed in the artifact name or any uploaded files
    • Various other small bugfixes & optimizations

    v2.2.4

    • Retry on HTTP 500 responses from the service

    v2.2.3

    • Fixes for proxy related issues

    v2.2.2

    • Improved retryability and error handling

    v2.2.1

    • Update used actions/core package to the latest version

    v2.2.0

    • Support for artifact retention

    v2.1.4

    • Add Third Party License Information

    v2.1.3

    • Use updated version of the @action/artifact NPM package

    v2.1.2

    • Increase upload chunk size from 4MB to 8MB
    • Detect case insensitive file uploads

    v2.1.1

    • Fix for certain symlinks not correctly being identified as directories before starting uploads

    v2.1.0

    • Support for uploading artifacts with multiple paths
    • Support for using exclude paths
    • Updates to dependencies

    ... (truncated)

    Commits
    • 3cea537 Merge pull request #327 from actions/robherley/artifact-1.1.0
    • 849aa77 nvm use 12 & npm run release
    • 4d39869 recompile with correct ncc version
    • 2e0d362 bump @​actions/artifact to 1.1.0
    • 09a5d6a Merge pull request #320 from actions/dependabot/npm_and_yarn/ansi-regex-4.1.1
    • 189315d Bump ansi-regex from 4.1.0 to 4.1.1
    • d159c2d Merge pull request #297 from actions/dependabot/npm_and_yarn/ajv-6.12.6
    • c26a7ba Bump ajv from 6.11.0 to 6.12.6
    • 6ed6c72 Merge pull request #303 from actions/dependabot/npm_and_yarn/yargs-parser-13.1.2
    • 2aeee26 Bump yargs-parser from 13.1.1 to 13.1.2
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Chore(deps-dev): bump vitest from 0.23.4 to 0.24.0

    Chore(deps-dev): bump vitest from 0.23.4 to 0.24.0

    Bumps vitest from 0.23.4 to 0.24.0.

    Release notes

    Sourced from vitest's releases.

    v0.24.0

       🚨 Breaking Changes

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Chore(deps-dev): bump @vitest/coverage-c8 from 0.23.4 to 0.24.0

    Chore(deps-dev): bump @vitest/coverage-c8 from 0.23.4 to 0.24.0

    Bumps @vitest/coverage-c8 from 0.23.4 to 0.24.0.

    Release notes

    Sourced from @​vitest/coverage-c8's releases.

    v0.24.0

       🚨 Breaking Changes

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Chore(deps-dev): bump happy-dom from 6.0.4 to 7.0.6

    Chore(deps-dev): bump happy-dom from 6.0.4 to 7.0.6

    Bumps happy-dom from 6.0.4 to 7.0.6.

    Release notes

    Sourced from happy-dom's releases.

    v7.0.6

    :construction_worker_man: Patch fixes

    • Updates the documentation for how to set window.innerWidth and window.innerHeight. (#592)

    v7.0.5

    :construction_worker_man: Patch fixes

    • Fixes issue related to querySelector() and querySelectorAll() not supporting queries combined with IDs (e.g. "tag-name#id"). (#576)

    v7.0.4

    :construction_worker_man: Patch fixes

    • Fixes problem with parsing of childless elements whose tag names are in different case. (#590)

    v7.0.3

    :construction_worker_man: Patch fixes

    • Fixes bug related to parentNode being null in TreeWalker. (#558)

    v7.0.2

    :construction_worker_man: Patch fixes

    • Use current timestamp in window.requestAnimationFrame() callback. (#554)

    v7.0.1

    :construction_worker_man: Patch fixes

    • Github action stuck in pull requests. (#586)

    v7.0.0

    :bomb: Breaking Changes

    • Changes how CSS properties in CSSStyleDeclaration are parsed, which potentially can break applications (#344)

    :art: Features

    • Improves support for CSSStyleDeclaration (#344)
      • Parsing and validating of shorthand CSS properties (border, font, background etc.)
      • Parsing and validating of the most common CSS properties (width, height, visibility etc.)
      • Adds support for CSSStyleDeclaration.getPropertyPriority()
      • Adds a cache to improve performance
      • Adds typescript typing for all CSS properties
    • Improves support for Window.getComputedStyle() (#344)
      • Applies styles from <style> and <link> elements
      • Handles inherited properties
      • Handles default values for "display" and "direction"
      • Resolves CSS variables
      • Handles media queries
    • Improves support for CSSStyleSheet (#344)

    ... (truncated)

    Commits
    • 98a7c1d v7.0.6
    • 744dbab Merge pull request #594 from capricorn86/task/592-update-documentation-for-se...
    • 26db628 Merge branch 'master' into task/592-update-documentation-for-setting-innerwid...
    • 8010908 #592@​patch: Updates the documentation for how to set window.innerWidth and wi...
    • 39dfb05 Merge pull request #593 from capricorn86/task/592-update-documentation-for-se...
    • 540ac3a #592@​patch: Updates the documentation for how to set window.innerWidth and wi...
    • f472943 Merge pull request #577 from Tanimodori/fix-qs
    • 50510be Merge branch 'master' into fix-qs
    • c173c79 Merge pull request #566 from coin3x/task/0-childless-element-end-tag-case-mat...
    • c559395 Merge branch 'master' into task/0-childless-element-end-tag-case-matching
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Chore(deps): bump styfle/cancel-workflow-action from 0.10.0 to 0.10.1

    Chore(deps): bump styfle/cancel-workflow-action from 0.10.0 to 0.10.1

    Bumps styfle/cancel-workflow-action from 0.10.0 to 0.10.1.

    Release notes

    Sourced from styfle/cancel-workflow-action's releases.

    0.10.1

    Patches

    • Bump actions/setup-node from 3.3.0 to 3.4.0: #171
    • Bump actions/setup-node from 3.4.0 to 3.4.1: #172
    • Bump @​actions/core from 1.9.0 to 1.9.1: #176
    • Bump typescript from 4.7.4 to 4.8.2: #177
    • Bump typescript from 4.8.2 to 4.8.3: #178
    • Bump @​actions/github from 5.0.3 to 5.1.0: #179
    • Bump actions/setup-node from 3.4.1 to 3.5.0: #180
    • Chore: change access_token to optional: #72
    • Chore: update README.md to the correct version: #173
    • Chore: add README.md section about versioning: bb0138e6865a516b5413971879ceda1467fd2930 2c6e931f39ab183387be060414035511a22e69bd

    Credits

    Huge thanks to @​licitdev and @​MichaelDeBoey for helping!

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
  • Chore(deps-dev): bump @testing-library/dom from 8.17.1 to 8.18.1

    Chore(deps-dev): bump @testing-library/dom from 8.17.1 to 8.18.1

    Bumps @testing-library/dom from 8.17.1 to 8.18.1.

    Release notes

    Sourced from @​testing-library/dom's releases.

    v8.18.1

    8.18.1 (2022-09-19)

    Bug Fixes

    v8.18.0

    8.18.0 (2022-09-17)

    Features

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Chore(deps-dev): bump vitest from 0.22.1 to 0.23.2

    Chore(deps-dev): bump vitest from 0.22.1 to 0.23.2

    Bumps vitest from 0.22.1 to 0.23.2.

    Release notes

    Sourced from vitest's releases.

    v0.23.2

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.23.1

       🐞 Bug Fixes

        View changes on GitHub

    v0.23.0

       🚨 Breaking Changes

       🚀 Features

       🐞 Bug Fixes

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Chore(deps-dev): bump msw from 0.45.0 to 0.47.2

    Chore(deps-dev): bump msw from 0.45.0 to 0.47.2

    Bumps msw from 0.45.0 to 0.47.2.

    Release notes

    Sourced from msw's releases.

    v0.47.2 (2022-09-13)

    Bug Fixes

    • fix a typo in the "listHandlers" method jsdoc (#1403) (c90eafb5caf0d27b81eced6cae4d1a257a7757b6)

    v0.47.1 (2022-09-10)

    Bug Fixes

    • print response log only when response arrives (#1392) (638fad9640885c0a85153c1b9ade61495d4295bb)

    v0.47.0 (2022-09-04)

    Features

    • add explicit exports map in package.json (#1383) (5e1c1a6a9ab4450073adf571d4b68978d177bf52)

    v0.46.1 (2022-09-01)

    Bug Fixes

    • deps: include "graphql" as a dependency (#1381) (8436515fd93e3f372205815b52ffc3a572da2690)

    v0.46.0 (2022-08-31)

    Features

    • fix a typo in the worker script (62f7c4d885c73c7401af85ca2e5da2db9f2cf212)
    • support typescript v4.8 (#1375) (631f6297979e0b398d1353963ad7b4166e53f40c)

    Features

    • add "listHandlers" method to server and worker (#1369) (18f57789f6ff620c0b1c2ee472673eb85d0575c9)
    server.listHandlers()
    worker.listHandlers()
    
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
  • Chore(deps-dev): bump @vitest/coverage-c8 from 0.22.1 to 0.23.2

    Chore(deps-dev): bump @vitest/coverage-c8 from 0.22.1 to 0.23.2

    Bumps @vitest/coverage-c8 from 0.22.1 to 0.23.2.

    Release notes

    Sourced from @​vitest/coverage-c8's releases.

    v0.23.2

       🚀 Features

       🐞 Bug Fixes

        View changes on GitHub

    v0.23.1

       🐞 Bug Fixes

        View changes on GitHub

    v0.23.0

       🚨 Breaking Changes

       🚀 Features

       🐞 Bug Fixes

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies javascript 
    opened by dependabot[bot] 0
Owner
xo
Developing quality Open Source Software experiences. Currently focused on @remix-run
xo
A testing focused Remix Stack, that integrates E2E & Unit testing with Playwright, Vitest, MSW and Testing Library. Driven by Prisma ORM. Deploys to Fly.io

Live Demo · Twitter A testing focused Remix Stack, that integrates E2E & Unit testing with Playwright, Vitest, MSW and Testing Library. Driven by Pris

Remix Stacks 18 Oct 31, 2022
A solid create-remix app, that applies best practices into a clean, batteries included template. SQLite version. Deploys to Fly.io

Remix Barebones Stack npx create-remix --template dev-xo/barebones-stack A solid create-remix app, that follows community guidelines and applies best

Dev XO 97 Dec 30, 2022
The Remix Stack for deploying to Fly with PostgreSQL, authentication, testing, linting, formatting, etc.

The Remix Stack for deploying to Fly with PostgreSQL, authentication, testing, linting, formatting, etc.

Remix 677 Jan 2, 2023
The Remix Stack for deploying to Fly with Supabase, authentication, testing, linting, formatting, etc.

Remix Supa Fly Stack Learn more about Remix Stacks. npx create-remix --template rphlmr/supa-fly-stack What's in the stack Fly app deployment with Doc

Raphaël Moreau 157 Jan 7, 2023
The Remix Stack for deploying to Fly with SQLite, authentication, testing, linting, formatting, etc.

Remix Indie Stack Learn more about Remix Stacks. npx create-remix --template remix-run/indie-stack What's in the stack Fly app deployment with Docker

Remix 688 Dec 30, 2022
simple-remix-blog is a blog template built using Remix and TailwindCSS. Create your own blog in just a few minutes!

simple-remix-blog is a blog template built using remix.run and TailwindCSS. It supports markdown and MDX for the blog posts. You can clone it and star

José Miguel Álvarez Vañó 8 Dec 8, 2022
Remix TypeScript monorepo with Turborepo pipelines, Prisma, PostgreSQL, Docker deploy to Fly.io, pnpm, TailwindCSS and Tsyringe for DI.

Remix template with Turborepo, TypeScript and pnpm. The remix app deploys to fly.io or build to Docker image. Example packages for Database with prisma, Tsyringe dependency injection, UI, and internal TypeScript packages.

Philippe L'ATTENTION 33 Dec 29, 2022
The Remix version of the fakebooks app demonstrated on https://remix.run. Check out the CRA version: https://github.com/kentcdodds/fakebooks-cra

Remix Fakebooks App This is a (very) simple implementation of the fakebooks mock app demonstrated on remix.run. There is no database, but there is an

Kent C. Dodds 61 Dec 22, 2022
The Remix Stack with Clerk authentication, Supabase database, Chakra UI, testing, linting, and more.

Remix Bossa Nova Stack Learn more about Remix Stacks. What's in the stack User management with Clerk Database with Supabase Styling with Chakra UI Dep

Clerk 32 Jan 2, 2023
The Remix Blog Stack for deploying to Fly with MDX, SQLite, testing, linting, formatting, etc.

Remix Speed Metal Stack Learn more about Remix Stacks. npx create-remix --template Girish21/speed-metal-stack Remix Blog ?? This blog starter template

Girish 141 Jan 2, 2023
The project integrates workflow engine, report engine and organization authority management background, which can be applied to the development of OA, HR, CRM, PM and other systems. With tlv8 IDE, business system development, testing and deployment can be realized quickly.

介绍 项目集成了工作流引擎、报表引擎和组织机构权限管理后台,可以应用于OA、HR、CRM、PM等系统开发。配合使用tlv8 ide可以快速实现业务系统开发、测试、部署。 后台采用Spring MVC架构简单方便,前端使用流行的layui界面美观大方。 采用组件开发技术,提高系统的灵活性和可扩展性;采

Qian Chen 38 Dec 27, 2022
The Remix Stack for Web2 apps and Web3 DApps with authentication with Magic, testing, linting, formatting, etc.

Remix French House Stack Learn more about Remix Stacks. npx create-remix --template janhesters/french-house-stack What's in the Stack? The French Hou

Jan Hesters 26 Dec 26, 2022
The Remix Stack for deploying to AWS with DynamoDB, authentication, testing, linting, formatting, etc.

The Remix Stack for deploying to AWS with DynamoDB, authentication, testing, linting, formatting, etc.

Remix 311 Jan 1, 2023
Remix enables you to build fantastic user experiences for the web and feel happy with the code that got you there. In this workshop, we'll look at some more advanced use cases when building Remix applications.

?? Advanced Remix Workshop Remix enables you to build fantastic user experiences for the web and feel happy with the code that got you there. In this

Frontend Masters 167 Dec 9, 2022
Remix+EdgeDB+Tailwind+Fly.io=🖤

Remix Chop Suey Stack Forked from Supa Fly Stack. Learn more about Remix Stacks. Quickstart npx create-remix --template jkcorrea/remix-chop-suey-stack

Jake Correa 56 Dec 22, 2022
Shikhar 4 Oct 9, 2022
Deploys a AWS Bastion Host preconfigured for Tailscale access.

cdk-tailscale-bastion This packages creates an AWS Bastion configured for Tailscale. This covers steps 1,2 & 4 of the Tailscale RDS guide. You may fin

JT 10 Dec 3, 2022
our features are few but we provide the best and it is not uncommon to find in other npmjs

hikki-me our features are few but we provide the best and it is not uncommon to find in other npmjs Installation Install hikki-me with npm npm install

(Anto) 10 Jul 10, 2022
A thin, opinionated headless wiki with few features.

thinwiki A thin, opinionated headless wiki with few features. Git used as a backing store Markdown files with front matter used for pages index.md pag

Ava Chaney 2 Oct 13, 2022