npx create-remix@latest --template <path/to/this/template>
npm run build
npm run start
npm run dev
This section details temporary scaffolding for the Remix Deno template. All of this scaffolding is planned for removal at a later date.
A package.json
is included for now so that remix
CLI (from @remix-run/dev
) can run the Remix compiler.
In the future, we could provide a stand-alone executable for the Remix compiler OR npx remix
, and we would remove the package.json
file from this Deno template.
For now, we are inlining Remix's @remix-run/deno
package into remix-deno
to enable faster experimentation and development.
In the future, this template would not include the remix-deno
directory at all.
Instead, users could import from @remix-run/deno
(exact URL TBD).
Deno server is not currently configured to live reload when --watch
detects changes, requiring a manual refresh in the browser for non-server changes (e.g. changing JSX content).
To enable live reload, @remix-run/react
must be built with NODE_ENV=development
.
To do so with esm.sh
, ?dev
must be added to all imports that depend on React.
However, bundling the React development build for esm.sh
(https://esm.sh/[email protected]?dev
) runs into an esbuild bug.
Need a better way to switch from development to production mode than adding/removing ?dev
for all React-dependent imports.
Also, need esbuild bug to be resolved.
For all React-related imports (including @remix-run/*
imports), we append ?pin=v68
to the URL.
This is the only reliable way we were able to guarantee that only one copy of React would be present in the browser.
No plans on how to address this yet.
The @remix-run/dev/server-build
import within server.ts
(import * as build from '@remix-run/dev/server-build'
) is a special import for the Remix compiler that points to the built server entry point (typically within ./build
).
The vscode_deno
plugin complains about this import with a red squiggly underline as Deno cannot resolve this special import.
No plans on how to address this yet.