Documentation

Language Server

Development Server

MCP Server

Commands

Command Reference

The cem serve command starts a development server specifically designed for custom element development.

cem serve [flags]

Command Flags

FlagDescription
--portPort to listen on (default: 8000)
--no-reloadDisable live reload
--targetTypeScript/JavaScript transform target: es2015, es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, esnext (default: es2022)
--css-transformGlob patterns for CSS files to transform to JavaScript modules (opt-in, e.g., src/**/*.css,elements/**/*.css)
--css-transform-excludeGlob patterns for CSS files to exclude from transformation (e.g., demo/**/*.css)
--watch-ignoreGlob patterns to ignore in file watcher (comma-separated, e.g., _site/**,dist/**)

Global Flags

FlagDescription
--configPath to config file (default: .config/cem.yaml)
--package, -pDeno-style package specifier (e.g., npm:@scope/package) or path to package directory
--source-control-root-urlCanonical public source control URL for primary branch (e.g., https://github.com/user/repo/tree/main/)
--quiet, -qQuiet output (only warnings and errors)
--verbose, -vVerbose logging output

Usage Examples

Start the dev server

cem serve

Starts the server on http://localhost:8000 and opens your default browser to the element listing page.

Use a different port

cem serve --port 3000

Disable live reload

cem serve --no-reload

Configure TypeScript target

cem serve --target es2020

Enable CSS module transformation

# Transform component CSS to JavaScript modules
cem serve --css-transform 'src/**/*.css' --css-transform 'elements/**/*.css'

See Buildless Development for details on CSS module imports.

Ignore build directories in watcher

cem serve --watch-ignore 'dist/**,_site/**'

See Also