Skip to content
Merged
Show file tree
Hide file tree
Changes from 43 commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
9294ec7
Add regex-pattern manifest with validation tests
brophdawg11 May 12, 2026
949c9cf
Phase 2: teach generate-remix to read manifest for canonical paths
brophdawg11 May 12, 2026
28db554
Update demo imports to canonical remix paths
brophdawg11 May 12, 2026
cbb9a94
Fix bug in sse demo client entry asset
brophdawg11 May 12, 2026
14ef5be
Phase 3: use manifest for canonical paths in docs generation
brophdawg11 May 12, 2026
eca6d69
Extract shared manifest logic into scripts/utils/manifest.ts
brophdawg11 May 12, 2026
5984b92
Rename resolveRemixPath to mapToRemixPackage; include remix/ prefix
brophdawg11 May 12, 2026
0d97255
Simplify mapToRemixPackage: use split('/') for subpath extraction
brophdawg11 May 12, 2026
08a3425
Simplify mapToRemixPackage to a one-liner
brophdawg11 May 12, 2026
7a2810c
Fold readWorkspacePackageNames into buildSpecifierToRemixPath
brophdawg11 May 12, 2026
7385e87
Fold readManifest into buildSpecifierToRemixPath
brophdawg11 May 12, 2026
60d5ebf
Fix docs sidebar showing remix/router/routes instead of remix/routes
brophdawg11 May 12, 2026
3fc4299
Format and regex updates
brophdawg11 May 12, 2026
095595b
Update ui demos and template imports to canonical remix paths
brophdawg11 May 12, 2026
77cf16c
Fix regex and update change file
brophdawg11 May 12, 2026
ea77c33
Update outdated remix import paths in JSDoc and code-gen
brophdawg11 May 12, 2026
f957f96
Update all markdown docs to canonical remix import paths
brophdawg11 May 12, 2026
0a6998f
Update change file with all renamed remix exports
brophdawg11 May 12, 2026
af3f4fa
Flatten and sort change file bullets alphabetically
brophdawg11 May 12, 2026
f903f08
More updates
brophdawg11 May 12, 2026
9c5f0ff
Update README H1 headings to canonical remix import paths
brophdawg11 May 12, 2026
c830a0c
Fix test
brophdawg11 May 12, 2026
5d88f64
Merge origin/ integrate readme and generate-remix changesmain
brophdawg11 May 13, 2026
bb1fb07
Add deprecated legacy alias exports for backward compatibility
brophdawg11 May 13, 2026
a9cf07d
Fix packageDirName out-of-scope type error in generate-remix
brophdawg11 May 13, 2026
ca38a4f
Preserve legacy exports for now
brophdawg11 May 13, 2026
b56a8d8
Co-locate generated export source files with their README
brophdawg11 May 13, 2026
38ccbc0
build: update remix package (generate-remix)
brophdawg11 May 13, 2026
efc0d63
Revert demos/* import legacy aliases cover old pathschanges
brophdawg11 May 13, 2026
a040813
Revert packages/ui/demo and docs/src/server import changes
brophdawg11 May 13, 2026
b488d3d
Revert source package README import changes
brophdawg11 May 13, 2026
48baf22
build: update remix package
remix-run-bot May 13, 2026
a4bff72
Revert JSDoc and code-gen import path changes
brophdawg11 May 13, 2026
61421ea
Revert doctor.test.ts to match reverted code-gen
brophdawg11 May 13, 2026
e12b13c
Revert "Co-locate generated export source files with their README"
brophdawg11 May 13, 2026
90682b4
regen remix package
brophdawg11 May 13, 2026
e6c75b3
Revert .changes file import path edits
brophdawg11 May 13, 2026
94d6da2
Update change file
brophdawg11 May 13, 2026
8ad4de2
Place READMEs at legacy alias paths to match origin/main layout
brophdawg11 May 13, 2026
81fe3ca
Remove @deprecated JSDoc tags from legacy alias exports
brophdawg11 May 13, 2026
0120290
Sort legacy alias exports into alphabetical order in package.json
brophdawg11 May 13, 2026
d322644
Name stubs after sub-packages, map canonical paths in package.json ex…
brophdawg11 May 13, 2026
6e66123
Convert bookstore demo to canonical remix export paths
brophdawg11 May 13, 2026
fdd4b6c
refactor: make generate-remix fully manifest-driven, remove buildLega…
brophdawg11 May 14, 2026
43465c4
refactor: remove dead isLegacyAlias/isLegacyExportPath helpers
brophdawg11 May 14, 2026
58a3149
refactor: make buildSpecifierToRemixPath order-independent
brophdawg11 May 14, 2026
6ed2477
fix: skip legacy alias exports when building docs sidebar entries
brophdawg11 May 14, 2026
1b77a14
chore: convert all demos to canonical remix export paths
brophdawg11 May 14, 2026
9fa18ba
chore: convert docs site to canonical remix export paths
brophdawg11 May 14, 2026
347f092
chore: convert all README and change files to canonical remix export …
brophdawg11 May 14, 2026
afb12da
revert: restore .changes/*.md files to pre-readme-conversion state
brophdawg11 May 14, 2026
7587bb5
chore: convert source JSDoc comments to canonical remix export paths
brophdawg11 May 14, 2026
a4b958a
chore: convert template to canonical remix export paths
brophdawg11 May 14, 2026
57e7a30
feat: add manifest test for missing workspace packages; update add-pa…
brophdawg11 May 14, 2026
2e3ef08
Update skill
brophdawg11 May 14, 2026
06b7f58
chore: update package README H1s to canonical remix export names
brophdawg11 May 14, 2026
b08cd1c
Fix README titles for docs and GitHub
mjackson May 14, 2026
f5e1493
Handle Windows README line endings
mjackson May 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/account/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'

import { requireAuth } from '../../middleware/auth.ts'
import { routes } from '../../routes.ts'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/account/orders/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'

import { orders, orderItemsWithBook } from '../../../data/schema.ts'
import { requireAuth } from '../../../middleware/auth.ts'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import * as s from 'remix/data-schema'
import * as f from 'remix/data-schema/form-data'
import { minLength } from 'remix/data-schema/checks'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/admin/books/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import * as s from 'remix/data-schema'
import * as f from 'remix/data-schema/form-data'
import * as coerce from 'remix/data-schema/coerce'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/admin/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'

import { requireAdmin } from '../../middleware/admin.ts'
import { requireAuth } from '../../middleware/auth.ts'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/admin/orders/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'

import { orders, orderItemsWithBook } from '../../../data/schema.ts'
import { requireAdmin } from '../../../middleware/admin.ts'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/admin/users/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import * as s from 'remix/data-schema'
import * as f from 'remix/data-schema/form-data'
import { redirect } from 'remix/response/redirect'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/api/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import * as s from 'remix/data-schema'
import * as f from 'remix/data-schema/form-data'

Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/auth/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import { redirect } from 'remix/response/redirect'

import { routes } from '../../routes.ts'
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import * as s from 'remix/data-schema'

import { passwordResetTokens, users } from '../../../data/schema.ts'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/auth/login/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import { completeAuth, verifyCredentials } from 'remix/auth'
import { redirect } from 'remix/response/redirect'

Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/auth/register/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import * as s from 'remix/data-schema'
import { redirect } from 'remix/response/redirect'

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import * as s from 'remix/data-schema'
import { redirect } from 'remix/response/redirect'

Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/books/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import { ilike } from 'remix/data-table'

import { books } from '../../data/schema.ts'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/cart/api/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import * as s from 'remix/data-schema'
import * as f from 'remix/data-schema/form-data'
import { redirect } from 'remix/response/redirect'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/cart/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'

import { routes } from '../../routes.ts'
import { CartPage } from './page.tsx'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/checkout/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import * as s from 'remix/data-schema'
import * as f from 'remix/data-schema/form-data'
import { redirect } from 'remix/response/redirect'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/contact/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'

import { routes } from '../../routes.ts'
import { ContactPage, ContactSuccessPage } from './page.tsx'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import { ilike, inList, or } from 'remix/data-table'
import { createFileResponse as sendFile } from 'remix/response/file'

Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/actions/fragments/controller.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { createController } from 'remix/fetch-router'
import { createController } from 'remix/router'
import { css } from 'remix/ui'

import { CartButton } from '../../assets/cart-button.tsx'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/data/setup.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import { fileURLToPath } from 'node:url'
import { createDatabase } from 'remix/data-table'
import { createMigrationRunner } from 'remix/data-table/migrations'
import { loadMigrations } from 'remix/data-table/migrations/node'
import { createSqliteDatabaseAdapter } from 'remix/data-table-sqlite'
import { createSqliteDatabaseAdapter } from 'remix/data-table/sqlite'

import { books, orderItems, orders, users } from './schema.ts'
import { hashPassword } from '../utils/password-hash.ts'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/middleware/admin.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { Middleware } from 'remix/fetch-router'
import type { Middleware } from 'remix/router'

import { getCurrentUser } from '../utils/context.ts'

Expand Down
4 changes: 2 additions & 2 deletions demos/bookstore/app/middleware/asset-entry.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import * as path from 'node:path'
import { createContextKey, type Middleware } from 'remix/fetch-router'
import { getContext } from 'remix/async-context-middleware'
import { createContextKey, type Middleware } from 'remix/router'
import { getContext } from 'remix/middleware/async-context'

import { assetServer } from '../utils/assets.ts'

Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/middleware/auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {
auth,
createSessionAuthScheme,
requireAuth as requireAuthenticated,
} from 'remix/auth-middleware'
} from 'remix/middleware/auth'
import { Database } from 'remix/data-table'
import { redirect } from 'remix/response/redirect'

Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/middleware/database.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import type { Middleware } from 'remix/fetch-router'
import type { Middleware } from 'remix/router'
import { Database } from 'remix/data-table'

import { db } from '../data/setup.ts'
Expand Down
4 changes: 2 additions & 2 deletions demos/bookstore/app/middleware/render.tsx
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import * as path from 'node:path'

import type { Router } from 'remix/fetch-router'
import { renderWith } from 'remix/render-middleware'
import type { Router } from 'remix/router'
import { renderWith } from 'remix/middleware/render'
import { createHtmlResponse } from 'remix/response/html'
import type { RemixNode } from 'remix/ui'
import { renderToStream } from 'remix/ui/server'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/app/middleware/session.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import * as path from 'node:path'
import { fileURLToPath } from 'node:url'
import { createCookie } from 'remix/cookie'
import { Session } from 'remix/session'
import { createFsSessionStorage } from 'remix/session/fs-storage'
import { createFsSessionStorage } from 'remix/session-storage/fs'

const demoRootPath = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..', '..')
const sessionDirectoryPath = path.join(demoRootPath, 'tmp', 'sessions')
Expand Down
18 changes: 9 additions & 9 deletions demos/bookstore/app/router.ts
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import { createRouter, type MiddlewareContext } from 'remix/fetch-router'
import { asyncContext } from 'remix/async-context-middleware'
import { compression } from 'remix/compression-middleware'
import { formData } from 'remix/form-data-middleware'
import { createRouter, type MiddlewareContext } from 'remix/router'
import { asyncContext } from 'remix/middleware/async-context'
import { compression } from 'remix/middleware/compression'
import { formData } from 'remix/middleware/form-data'
import type { Cookie } from 'remix/cookie'
import { logger } from 'remix/logger-middleware'
import { methodOverride } from 'remix/method-override-middleware'
import { logger } from 'remix/middleware/logger'
import { methodOverride } from 'remix/middleware/method-override'
import type { SessionStorage } from 'remix/session'
import { session } from 'remix/session-middleware'
import { staticFiles } from 'remix/static-middleware'
import { session } from 'remix/middleware/session'
import { staticFiles } from 'remix/middleware/static'

import apiController from './actions/api/controller.tsx'
import accountController from './actions/account/controller.tsx'
Expand Down Expand Up @@ -48,7 +48,7 @@ type AppContext = MiddlewareContext<
]
>

declare module 'remix/fetch-router' {
declare module 'remix/router' {
interface RouterTypes {
context: AppContext
}
Expand Down
4 changes: 2 additions & 2 deletions demos/bookstore/app/utils/context.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { getContext } from 'remix/async-context-middleware'
import type { AuthState } from 'remix/auth-middleware'
import { getContext } from 'remix/middleware/async-context'
import type { AuthState } from 'remix/middleware/auth'
import type { Session } from 'remix/session'

import type { User } from '../data/schema.ts'
Expand Down
2 changes: 1 addition & 1 deletion demos/bookstore/test/helpers.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { createCookie } from 'remix/cookie'
import { SetCookie, Cookie } from 'remix/headers'
import { createMemorySessionStorage } from 'remix/session/memory-storage'
import { createMemorySessionStorage } from 'remix/session-storage/memory'

import { createBookstoreRouter } from '../app/router.ts'
import { initializeBookstoreDatabase } from '../app/data/setup.ts'
Expand Down
24 changes: 19 additions & 5 deletions docs/src/generate/documented-api.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import * as typedoc from 'typedoc'
import { hasRemixPackage, mapToRemixPackage } from './manifest.ts'
import { getApiNameFromFullName, invariant, unimplemented, warn } from './utils.ts'
import { MDN_SYMBOLS } from './symbols.ts'

Expand Down Expand Up @@ -549,11 +550,24 @@ function getApiFilePath(
): string {
let nameParts = fullName.split('.').filter((part) => part !== '')
invariant(nameParts.length >= 2, `Invalid full name for API: ${fullName}`)
// Rewrite `@remix-run/<pkg>` to `remix/<pkg>` so docs render under the
// umbrella's import path. The doc generator skips the actual `remix`
// umbrella package and documents `@remix-run/*` source reflections directly
// (see `createLookupMaps` in typedoc.ts).
let pkg = nameParts.shift()?.replace(/^@remix-run\//g, 'remix/')
// Resolve `@remix-run/<pkg>` to its canonical `remix/*` path via the
// manifest so docs render under the umbrella's import path. The doc
// generator skips the actual `remix` umbrella package and documents
// `@remix-run/*` source reflections directly (see `createLookupMaps` in
// typedoc.ts).
let rawPkg = nameParts.shift() ?? ''
// If the first remaining segment combined with the package name is a more
// specific manifest entry (e.g. @remix-run/fetch-router + routes →
// @remix-run/fetch-router/routes → remix/routes), consume that segment so
// APIs from sub-exports land under the right canonical path.
if (rawPkg.startsWith('@remix-run/') && nameParts.length > 0) {
let withSub = `${rawPkg}/${nameParts[0]}`
if (hasRemixPackage(withSub)) {
rawPkg = withSub
nameParts.shift()
}
}
let pkg = rawPkg.startsWith('@remix-run/') ? mapToRemixPackage(rawPkg) : rawPkg
let name = nameParts.pop()
return [pkg, ...nameParts, type, `${name}.md`].filter(Boolean).join('/')
}
Expand Down
24 changes: 24 additions & 0 deletions docs/src/generate/manifest.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
import * as path from 'node:path'
import * as url from 'node:url'
import { buildSpecifierToRemixPath } from '../../../scripts/utils/manifest.ts'

const __dirname = path.dirname(url.fileURLToPath(import.meta.url))
const packagesDir = path.resolve(__dirname, '../../../packages')

const specifierMap = buildSpecifierToRemixPath(packagesDir)

/**
* Maps a full npm specifier (e.g. `@remix-run/fetch-router` or
* `@remix-run/session/cookie-storage`) to its canonical `remix/*` import path
* (e.g. `remix/router` or `remix/session-storage/cookie`).
*
* Falls back to the mechanical `remix/<short-name>` path when no manifest
* entry covers the specifier.
*/
export function mapToRemixPackage(specifier: string): string {
return specifierMap.get(specifier) ?? specifier.replace(/^@remix-run\//, 'remix/')
}

export function hasRemixPackage(specifier: string): boolean {
return specifierMap.has(specifier)
}
7 changes: 3 additions & 4 deletions docs/src/generate/packages.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import * as fs from 'node:fs/promises'
import * as path from 'node:path'
import * as s from 'remix/data-schema'
import { mapToRemixPackage } from './manifest.ts'
import { info, invariant, warn } from './utils.ts'

type PackageOverview = {
Expand Down Expand Up @@ -200,10 +201,8 @@ function getDocsPackageName(packageName: string): string {
return 'remix'
}

let match = packageName.match(/^@remix-run\/(.+)$/)
invariant(match, `Unexpected package name: ${packageName}`)

return `remix/${match[1]}`
invariant(packageName.startsWith('@remix-run/'), `Unexpected package name: ${packageName}`)
return mapToRemixPackage(packageName)
}

function frontmatter(overview: PackageOverview): string {
Expand Down
29 changes: 29 additions & 0 deletions packages/remix/.changes/minor.domain-exports.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
Updated the `remix` package to use domain-oriented exports, no longer always mapping
1:1 to underlying `@remix-run/*` packages. 1:1 package exports are left to ease migrations,
but are marked deprecated and will be removed before a Remix 3.0.0 stable release.

Changed package mappings:

- `remix/async-context-middleware` → `remix/middleware/async-context`
- `remix/auth-middleware` → `remix/middleware/auth`
- `remix/compression-middleware` → `remix/middleware/compression`
- `remix/cop-middleware` → `remix/middleware/cop`
- `remix/cors-middleware` → `remix/middleware/cors`
- `remix/csrf-middleware` → `remix/middleware/csrf`
- `remix/data-table-mysql` → `remix/data-table/mysql`
- `remix/data-table-postgres` → `remix/data-table/postgres`
- `remix/data-table-sqlite` → `remix/data-table/sqlite`
- `remix/fetch-router` → `remix/router`
- `remix/fetch-router/routes` → `remix/routes`
- `remix/file-storage-s3` → `remix/file-storage/s3`
- `remix/form-data-middleware` → `remix/middleware/form-data`
- `remix/logger-middleware` → `remix/middleware/logger`
- `remix/method-override-middleware` → `remix/middleware/method-override`
- `remix/render-middleware` → `remix/middleware/render`
- `remix/session-middleware` → `remix/middleware/session`
- `remix/session-storage-memcache` → `remix/session-storage/memcache`
- `remix/session-storage-redis` → `remix/session-storage/redis`
- `remix/session/cookie-storage` → `remix/session-storage/cookie`
- `remix/session/fs-storage` → `remix/session-storage/fs`
- `remix/session/memory-storage` → `remix/session-storage/memory`
- `remix/static-middleware` → `remix/middleware/static`
12 changes: 12 additions & 0 deletions packages/remix/manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"remix/data-table/$1": "@remix-run/data-table-([a-z0-9-]+)",
"remix/file-storage/$1": "@remix-run/file-storage-([a-z0-9-]+)",
"remix/middleware/$1": "@remix-run/([a-z0-9-]+)-middleware",
"remix/router": "@remix-run/fetch-router",
"remix/routes": "@remix-run/fetch-router/routes",
"remix/session": "@remix-run/session",
"remix/session-storage/$1": "@remix-run/session-storage-([a-z0-9-]+)",
"remix/session-storage/cookie": "@remix-run/session/cookie-storage",
"remix/session-storage/fs": "@remix-run/session/fs-storage",
"remix/session-storage/memory": "@remix-run/session/memory-storage"
Comment thread
brophdawg11 marked this conversation as resolved.
Outdated
}
Loading
Loading