cli v0.4.0
Minor Changes
-
BREAKING CHANGE: Added an optional static
remix.jsonconfiguration file for Remix CLI commands, covering database adapters, migrations, and seeds; everyremix testsetting; and strict mode forremix doctor. The CLI parses the file as JSONC, resolves its relative paths and globs from the config file's directory, and lets explicit flags and positional arguments take precedence. Use the global--config <path>option to select another file. Negative flags such asremix doctor --no-strict,--no-watch,--no-coverage,--no-quiet,--no-browser.open, and--no-browser.echocan override configuredtruevalues. The former test-specific meaning of--configand automaticremix-test.config.tsor.jsdiscovery have been removed; move those values underremix.json#test(see #11628, #11638, #11639). -
Added
remix dbcommands for wiping, migrating, inspecting, seeding, and resetting the current app database. Staticremix.jsonconfiguration selects a built-in SQLite, PostgreSQL, or MySQL adapter, names environment-backed connection values, and configures migrations, the journal table, and an optional SQL seed file. Database commands find the nearest config from a project subdirectory, while global--configand command flags remain authoritative. Destructive commands (remix db wipeandremix db reset) require--force(see #11608, #11639). -
New projects now include an
npm run hmrcommand andhmr.tsrunner -
Added complete
remix testargument parsing, help, validation, and shell completion to the main Remix CLI. The command delegates typed runner options to@remix-run/test/cliwhile preserving positional globs, repeated flags, aliases, configuration precedence, coverage, filtering, and watch behavior (see #11623).
Patch Changes
-
Limit
remix doctoraction checks to the directory and controller paths required byapp/routes.ts. Unrelated files and directories underapp/actionsare ignored, andremix doctor --fixno longer generates action controllers. -
Scaffold browser-reachable source in colocated
public/directories throughoutapp/, with the browser runtime entry atapp/actions/public/entry.ts, while keeping the sharedapp/routes.tscontract browser-readable. -
Bumped
@remix-run/*dependencies: