@pwrs/cem 0.7.5 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# cem
|
|
1
|
+
# `cem` - Custom Elements Manifest Multitool
|
|
2
2
|
|
|
3
3
|
**cem** is a command-line tool for generating and querying
|
|
4
4
|
[Custom Elements Manifest][cem] files. It can analyze your codebase and generate
|
|
@@ -38,6 +38,23 @@ The `cem serve` command starts a development server specifically for custom elem
|
|
|
38
38
|
- Automatic import map generation
|
|
39
39
|
- npm workspaces support for monorepos
|
|
40
40
|
- Demo discovery from manifest `demos` field
|
|
41
|
+
- Multiple rendering modes: full UI, shadow DOM, or chromeless (for testing/embedding)
|
|
42
|
+
|
|
43
|
+
**Rendering Modes:**
|
|
44
|
+
- **Light** (default): Full PatternFly UI with sidebar, knobs, logs, and event monitoring
|
|
45
|
+
- **Shadow**: Same UI as light, but renders demos in Shadow DOM for testing shadow root behavior
|
|
46
|
+
- **Chromeless**: Minimal HTML with live reload only - no UI chrome. Perfect for Playwright tests, isolated development, embedding in docs, or capturing clean screenshots
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# Full UI with development tools
|
|
50
|
+
cem serve
|
|
51
|
+
|
|
52
|
+
# Shadow DOM testing
|
|
53
|
+
cem serve --rendering=shadow
|
|
54
|
+
|
|
55
|
+
# Chromeless for automated testing
|
|
56
|
+
cem serve --rendering=chromeless
|
|
57
|
+
```
|
|
41
58
|
|
|
42
59
|
See more in the [Serve docs][servedocs]
|
|
43
60
|
|
|
@@ -61,6 +78,11 @@ The `cem lsp` command starts a Language Server Protocol (LSP) server that provid
|
|
|
61
78
|
- Support for HTML files and TypeScript template literals
|
|
62
79
|
- Automatic manifest discovery and live reloading
|
|
63
80
|
|
|
81
|
+
**IDE Extensions:**
|
|
82
|
+
- [VSCode](extensions/vscode/)
|
|
83
|
+
- [Zed](extensions/zed/)
|
|
84
|
+
- [Claude Code](extensions/claude-code/)
|
|
85
|
+
|
|
64
86
|
See more in the [LSP docs][lspdocs]
|
|
65
87
|
|
|
66
88
|
---
|
|
@@ -107,6 +129,20 @@ See the [Configuration Reference][configdocs] for more information.
|
|
|
107
129
|
|
|
108
130
|
---
|
|
109
131
|
|
|
132
|
+
## Examples
|
|
133
|
+
|
|
134
|
+
The `examples/` directory contains fully-runnable example projects that demonstrate CEM features at different complexity levels. Each example serves as both test fixtures and user-facing documentation.
|
|
135
|
+
|
|
136
|
+
- [Minimal][minimal]: the simplest possible `<hello-world>` custom element - perfect for getting started. **Start here** if you're new to CEM
|
|
137
|
+
- [Vanilla][vanilla]: web components without frameworks - pure JavaScript and DOM.
|
|
138
|
+
- [Intermediate][intermediate]: real-world UI component library; multiple components, demo discovery with HTML microdata
|
|
139
|
+
- [Kitchen Sink][kitchensink]: comprehensive feature showcase with demos and design tokens integration
|
|
140
|
+
- [TypeScript Paths][typescriptpaths]: various build configuration patterns like `src/` → `dist/`
|
|
141
|
+
|
|
142
|
+
See each example project's README for more info.
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
110
146
|
## Contributing
|
|
111
147
|
|
|
112
148
|
For information on building and testing, please see
|
|
@@ -135,3 +171,8 @@ the terms of the [GNU General Public License v3.0][gpl3].
|
|
|
135
171
|
[lspdocs]: https://bennypowers.dev/cem/docs/lsp/
|
|
136
172
|
[mcpdocs]: https://bennypowers.dev/cem/docs/mcp/
|
|
137
173
|
[configdocs]: https://bennypowers.dev/cem/docs/configuration/
|
|
174
|
+
[minimal]: examples/minimal/
|
|
175
|
+
[vanilla]: examples/vanilla/
|
|
176
|
+
[intermediate]: examples/intermediate/
|
|
177
|
+
[kitchensink]: examples/kitchen-sink/
|
|
178
|
+
[typescriptpaths]: examples/typescript-paths/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pwrs/cem",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.0",
|
|
4
4
|
"description": "CLI tool for generating and working with Custom Elements Manifests",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -13,12 +13,12 @@
|
|
|
13
13
|
"postinstall": "node ./install-platform-binary.js"
|
|
14
14
|
},
|
|
15
15
|
"optionalDependencies": {
|
|
16
|
-
"@pwrs/cem-linux-x64": "0.
|
|
17
|
-
"@pwrs/cem-linux-arm64": "0.
|
|
18
|
-
"@pwrs/cem-darwin-x64": "0.
|
|
19
|
-
"@pwrs/cem-darwin-arm64": "0.
|
|
20
|
-
"@pwrs/cem-win32-x64": "0.
|
|
21
|
-
"@pwrs/cem-win32-arm64": "0.
|
|
16
|
+
"@pwrs/cem-linux-x64": "0.9.0",
|
|
17
|
+
"@pwrs/cem-linux-arm64": "0.9.0",
|
|
18
|
+
"@pwrs/cem-darwin-x64": "0.9.0",
|
|
19
|
+
"@pwrs/cem-darwin-arm64": "0.9.0",
|
|
20
|
+
"@pwrs/cem-win32-x64": "0.9.0",
|
|
21
|
+
"@pwrs/cem-win32-arm64": "0.9.0"
|
|
22
22
|
},
|
|
23
23
|
"files": [
|
|
24
24
|
"bin/cem.js",
|