Skip to content

Commit 748bd41

Browse files
authored
Merge pull request #260 from qualcomm/dev
agent-plugins, mdx styles
2 parents ff687ef + 0d38b92 commit 748bd41

59 files changed

Lines changed: 1984 additions & 1387 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.agents/plugins/marketplace.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"name": "qualcomm-ui",
3+
"interface": {
4+
"displayName": "Qualcomm UI"
5+
},
6+
"plugins": [
7+
{
8+
"name": "qui-docs",
9+
"source": {
10+
"source": "git-subdir",
11+
"url": "qualcomm/qualcomm-ui",
12+
"path": "plugins/qui-docs"
13+
},
14+
"policy": {
15+
"installation": "AVAILABLE",
16+
"authentication": "ON_INSTALL"
17+
},
18+
"category": "Documentation"
19+
}
20+
]
21+
}

.claude-plugin/marketplace.json

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
{
2+
"name": "qualcomm-ui",
3+
"description": "Plugins for contributors to the Qualcomm UI repo.",
4+
"owner": {
5+
"name": "Qualcomm UI Maintainers",
6+
"email": "qui-maintainers@qualcomm.com"
7+
},
8+
"plugins": [
9+
{
10+
"name": "qui-docs",
11+
"source": {
12+
"source": "git-subdir",
13+
"url": "qualcomm/qualcomm-ui",
14+
"path": "plugins/qui-docs"
15+
},
16+
"description": "QUI Docs workflows for documentation contributors.",
17+
"category": "Documentation",
18+
"keywords": ["claude-code", "documentation", "mdx", "qui-docs"]
19+
}
20+
]
21+
}

.syncpackrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"isIgnored": true
1414
},
1515
{
16-
"label": "No wildcards",
16+
"label": "Highest Semver",
1717
"preferVersion": "highestSemver",
1818
"dependencyTypes": ["dev", "prod"]
1919
}

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
"devDependencies": {
5858
"@changesets/cli": "^2.29.7",
5959
"@clack/prompts": "1.0.0-alpha.6",
60-
"@commander-js/extra-typings": "^14.0.0",
60+
"@commander-js/extra-typings": "catalog:",
6161
"@eslint/js": "catalog:",
6262
"@manypkg/get-packages": "^3.1.0",
6363
"@qualcomm-ui/changesets-cli": "^1.0.4",
@@ -69,31 +69,31 @@
6969
"@qualcomm-ui/eslint-plugin-path-alias": "workspace:*",
7070
"@qualcomm-ui/eslint-plugin-react": "workspace:*",
7171
"@qualcomm-ui/tailwind-plugin": "workspace:*",
72-
"@types/node": "~24.9.2",
72+
"@types/node": "catalog:",
7373
"browserslist": "^4.28.1",
74-
"chalk": "^5.6.2",
74+
"chalk": "catalog:",
7575
"commander": "^14.0.2",
7676
"cross-env": "^10.1.0",
7777
"dayjs": "^1.11.19",
7878
"dotenv": "^17.2.3",
7979
"eslint": "catalog:",
80-
"execa": "^9.6.0",
80+
"execa": "catalog:",
8181
"glob": "catalog:",
8282
"ignore": "^7.0.5",
8383
"npm-check-updates": "^19.6.3",
84-
"npm-run-all2": "^8.0.4",
84+
"npm-run-all2": "catalog:",
8585
"oxfmt": "^0.48.0",
8686
"playwright": "1.56.1",
8787
"prettier": "^3.8.3",
8888
"prettier-plugin-tailwindcss": "^0.7.2",
8989
"pretty-ms": "^9.3.0",
90-
"shx": "^0.4.0",
90+
"shx": "catalog:",
9191
"stylelint": "^16.23.1",
9292
"stylelint-config-standard": "^39.0.1",
9393
"stylelint-order": "^7.0.0",
9494
"stylelint-prettier": "^5.0.3",
95-
"syncpack": "^14.3.1",
96-
"tailwindcss": "^4.1.17",
95+
"syncpack": "^15.0.0",
96+
"tailwindcss": "catalog:",
9797
"tsx": "catalog:",
9898
"turbo": "^2.9.3",
9999
"typescript": "catalog:",

packages/common/core/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,11 +47,11 @@
4747
"@qualcomm-ui/esbuild": "catalog:",
4848
"@qualcomm-ui/tsconfig": "catalog:",
4949
"@qualcomm-ui/utils": "workspace:^1.2.4",
50-
"@types/node": "~24.9.2",
50+
"@types/node": "catalog:",
5151
"@vitest/coverage-v8": "catalog:",
5252
"@vitest/ui": "catalog:",
5353
"esbuild": "catalog:",
54-
"shx": "^0.4.0",
54+
"shx": "catalog:",
5555
"tsx": "catalog:",
5656
"typescript": "catalog:",
5757
"vitest": "catalog:"

packages/common/dom/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,9 +41,9 @@
4141
"@qualcomm-ui/esbuild": "catalog:",
4242
"@qualcomm-ui/tsconfig": "catalog:",
4343
"@qualcomm-ui/utils": "workspace:^1.2.4",
44-
"@types/node": "~24.9.2",
44+
"@types/node": "catalog:",
4545
"esbuild": "catalog:",
46-
"shx": "^0.4.0",
46+
"shx": "catalog:",
4747
"tsx": "catalog:",
4848
"typescript": "catalog:"
4949
},

packages/common/mdx-common/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
"@qualcomm-ui/typedoc-common": "workspace:^1.0.6",
4242
"esbuild": "catalog:",
4343
"fuzzysort": "^3.0.1",
44-
"shx": "^0.4.0",
44+
"shx": "catalog:",
4545
"tsx": "catalog:",
4646
"vite": "catalog:"
4747
},

packages/common/mdx-vite/CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
# @qualcomm-ui/mdx-vite Changelog
22

3+
## 3.7.2
4+
5+
May 10th, 2026
6+
7+
### Bug Fixes
8+
9+
- [docs-plugin]: trigger full reload when unloaded module is refreshed ([c45f9bb](https://github.com/qualcomm/qualcomm-ui/commit/c45f9bb))
10+
11+
### Code Refactoring
12+
13+
- [rehype-shiki]: add language class to code element ([d1eef70](https://github.com/qualcomm/qualcomm-ui/commit/d1eef70))
14+
315
## 3.7.1
416

517
May 7th, 2026

packages/common/mdx-vite/package.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@qualcomm-ui/mdx-vite",
3-
"version": "3.7.1",
3+
"version": "3.7.2",
44
"description": "Vite documentation plugin for applications that use MDX",
55
"author": "Ryan Bower",
66
"license": "BSD-3-Clause-Clear",
@@ -55,8 +55,8 @@
5555
"dependencies": {
5656
"@shikijs/rehype": "^3.13.0",
5757
"@shikijs/transformers": "^3.13.0",
58-
"chalk": "^5.6.2",
59-
"chokidar": "^5.0.0",
58+
"chalk": "catalog:",
59+
"chokidar": "catalog:",
6060
"cosmiconfig": "^9.0.0",
6161
"es-module-lexer": "^1.7.0",
6262
"glob": "catalog:",
@@ -80,7 +80,7 @@
8080
"remark-parse-frontmatter": "^1.0.3",
8181
"remark-rehype": "^11.1.0",
8282
"remark-stringify": "^11.0.0",
83-
"unified": "^11.0.5",
83+
"unified": "catalog:",
8484
"unist-util-filter": "^5.0.1",
8585
"unist-util-find": "^3.0.0",
8686
"unist-util-remove": "^4.0.0",
@@ -114,9 +114,9 @@
114114
"remark-frontmatter": "^5.0.0",
115115
"remark-gfm": "^4.0.0",
116116
"remark-mdx-frontmatter": "^4.0.0",
117-
"shiki": "^3.13.0",
118-
"shx": "^0.4.0",
119-
"tailwindcss": "^4.1.17",
117+
"shiki": "catalog:",
118+
"shx": "catalog:",
119+
"tailwindcss": "catalog:",
120120
"test": "^3.3.0",
121121
"tsx": "catalog:",
122122
"typescript": "catalog:",

packages/common/mdx-vite/src/docs-plugin/frontmatter-hmr-plugin.ts

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,11 @@
33

44
import type {PluginOption} from "vite"
55

6+
const REACT_ROUTER_HMR_RUNTIME_ID = "virtual:react-router/hmr-runtime"
7+
const REACT_ROUTER_FULL_RELOAD_PATH = "/__frontmatter-hmr-fix/full-reload"
8+
const reactRouterMissingRouteModuleUpdateError =
9+
/^(\s*)throw Error\(\s*`\[react-router:hmr\] No module update found for route \$\{route\.id\}`,\s*\);/m
10+
611
/**
712
* Options for the {@link frontmatterHmrPlugin}.
813
*/
@@ -37,8 +42,40 @@ export function frontmatterHmrPlugin(
3742
): PluginOption {
3843
const {exportName = "frontmatter"} = opts
3944
return {
45+
configureServer(server) {
46+
server.middlewares.use(
47+
REACT_ROUTER_FULL_RELOAD_PATH,
48+
(req, res, next) => {
49+
if (req.method !== "POST") {
50+
next()
51+
return
52+
}
53+
54+
server.ws.send({type: "full-reload"})
55+
res.statusCode = 204
56+
res.end()
57+
},
58+
)
59+
},
4060
name: "frontmatter-hmr-fix",
41-
transform(code: string) {
61+
transform(code: string, id: string) {
62+
if (id.includes(REACT_ROUTER_HMR_RUNTIME_ID)) {
63+
// React Router sends route metadata updates for edited route files even
64+
// when the browser has not imported that route module yet. In that
65+
// cold-route case there is no module accept callback to populate
66+
// __reactRouterRouteModuleUpdates, so the runtime needs to reload
67+
// instead of throwing.
68+
return code.replace(
69+
reactRouterMissingRouteModuleUpdateError,
70+
(_match, indent: string) =>
71+
[
72+
`${indent}console.debug(\`[react-router:hmr] No module update found for route \${route.id}\`);`,
73+
`${indent}void fetch("${REACT_ROUTER_FULL_RELOAD_PATH}", {method: "POST"}).catch(() => window.location.reload());`,
74+
`${indent}return;`,
75+
].join("\n"),
76+
)
77+
}
78+
4279
if (code.includes(`export const ${exportName}`)) {
4380
// cheat `isLikelyComponentType`
4481
// https://github.com/facebook/react/blob/f5af92d2c47d1e1f455faf912b1d3221d1038c37/packages/react-refresh/src/ReactFreshRuntime.js#L717-L723

0 commit comments

Comments
 (0)