Welcome to the Deno template for Remix! 🦕
For more, check out the Remix docs.
npx create-remix@latest --template deno
Read about how we recommend to manage dependencies for Remix projects using Deno.
✅ You should use npm
to install NPM packages
npm install react
import { useState } from 'react'
✅ You may use inlined URL imports or deps.ts for Deno modules.
import { copy } from 'https://deno.land/std@0.138.0/streams/conversion.ts'
❌ Do not use import maps.
From your terminal:
npm run dev
This starts your app in development mode, rebuilding assets on file changes.
This template provides type hinting to VS Code via a dedicated import map.
To get types in another editor, use an extension for Deno that supports import
maps and point your editor to ./.vscode/resolve_npm_imports.json
.
For more, see our decision doc for interop between Deno and NPM.
First, build your app for production:
npm run build
Then run the app in production mode:
npm start
Building the Deno app (npm run build
) results in two outputs:
build/
(server bundle)public/build/
(browser bundle)You can deploy these bundles to any host that runs Deno, but here we'll focus on deploying to Deno Deploy.
Sign up for Deno Deploy.
Create a new Deno Deploy project for this app.
Replace <your deno deploy project>
in the deploy
script in package.json
with your Deno Deploy project name:
{
"scripts": {
"deploy": "deployctl deploy --project=<your deno deploy project> --include=.cache,build,public ./build/index.js"
}
}
Create a personal access token for the Deno
Deploy API and export it as DENO_DEPLOY_TOKEN
:
export DENO_DEPLOY_TOKEN=<your Deno Deploy API token>
You may want to add this to your rc
file (e.g. .bashrc
or .zshrc
) to
make it available for new terminal sessions, but make sure you don't commit
this token into git
. If you want to use this token in GitHub Actions, set
it as a GitHub secret.
Install the Deno Deploy CLI,
deployctl
:
deno install --allow-read --allow-write --allow-env --allow-net --allow-run --no-check -r -f https://deno.land/x/deploy/deployctl.ts
If you have previously installed the Deno Deploy CLI, you should update it to the latest version:
deployctl upgrade
After you've set up Deno Deploy, run:
npm run deploy
/public/images/
directory<Icon />
component and pass the icon set and id as propsLearn more about this Prisma schema file in the docs: https://pris.ly/d/prisma-schema
Commands to know:
npx prisma generate
- update TypeScript definitions based on this schemanpx prisma db push
- push the schema changes to the databasenpx prisma studio
- open the Studio, which allows you to edit the schema.npx prisma migrate reset
- reset the migrations to the last version. This
will reset the DB and run the seed scriptnpx prisma migrate dev --name <descriptive-name>
- generate a migration file
for any changes you make to the schema (this will be committed).Learn more about Planetscale CLI in the docs: https://docs.planetscale.com/reference/planetscale-cli
Commands to know:
pscale connect <DATABASE_NAME> <BRANCH_NAME> --port 3309
- create a secure
connection to a database branch for a local clientpscale database dump <DATABASE_NAME> <BRANCH_NAME> --output prisma/dumps/xx
-
backup and dump the specified databaseThanks goes to these wonderful people (emoji key):
Zain Fathoni 💻 📖 🎨 🚇 🚧 🔧 |
This project follows the all-contributors specification. Contributions of any kind welcome!