@cmssy/cli 0.13.0 → 0.14.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 +199 -58
- package/dist/cli.js +19 -10
- package/dist/cli.js.map +1 -1
- package/dist/commands/codegen.d.ts.map +1 -1
- package/dist/commands/codegen.js +29 -12
- package/dist/commands/codegen.js.map +1 -1
- package/dist/commands/skills.d.ts +4 -1
- package/dist/commands/skills.d.ts.map +1 -1
- package/dist/commands/skills.js +132 -29
- package/dist/commands/skills.js.map +1 -1
- package/dist/skills/claude/cmssy-mcp-content.md +231 -0
- package/dist/test-helpers/index.d.ts +23 -0
- package/dist/test-helpers/index.d.ts.map +1 -0
- package/dist/test-helpers/index.js +50 -0
- package/dist/test-helpers/index.js.map +1 -0
- package/dist/utils/dev-generator/helpers.d.ts.map +1 -1
- package/dist/utils/dev-generator/helpers.js +28 -12
- package/dist/utils/dev-generator/helpers.js.map +1 -1
- package/dist/utils/dev-generator/layout.d.ts.map +1 -1
- package/dist/utils/dev-generator/layout.js +6 -2
- package/dist/utils/dev-generator/layout.js.map +1 -1
- package/dist/utils/dev-generator/next-config.d.ts.map +1 -1
- package/dist/utils/dev-generator/next-config.js +11 -4
- package/dist/utils/dev-generator/next-config.js.map +1 -1
- package/package.json +4 -1
|
@@ -2,6 +2,7 @@ import fs from "fs-extra";
|
|
|
2
2
|
import path from "path";
|
|
3
3
|
export function generateRootLayout(devRoot) {
|
|
4
4
|
const content = `import type { Metadata } from "next";
|
|
5
|
+
import type { ReactNode } from "react";
|
|
5
6
|
import "./globals.css";
|
|
6
7
|
|
|
7
8
|
export const metadata: Metadata = {
|
|
@@ -14,7 +15,7 @@ export const metadata: Metadata = {
|
|
|
14
15
|
export default function RootLayout({
|
|
15
16
|
children,
|
|
16
17
|
}: {
|
|
17
|
-
children:
|
|
18
|
+
children: ReactNode;
|
|
18
19
|
}) {
|
|
19
20
|
return (
|
|
20
21
|
<html lang="en">
|
|
@@ -26,7 +27,10 @@ export default function RootLayout({
|
|
|
26
27
|
fs.writeFileSync(path.join(devRoot, "app/layout.tsx"), content);
|
|
27
28
|
}
|
|
28
29
|
export function generateGlobalsCss(devRoot, projectRoot) {
|
|
29
|
-
|
|
30
|
+
// Normalize to POSIX so the @import line still works on Windows.
|
|
31
|
+
const rel = path
|
|
32
|
+
.relative(path.join(devRoot, "app"), projectRoot)
|
|
33
|
+
.replaceAll(path.sep, "/");
|
|
30
34
|
// Check for project CSS files that contain Tailwind / theme
|
|
31
35
|
const cssFiles = ["styles/main.css", "styles/globals.css", "app/globals.css"];
|
|
32
36
|
const projectCssFile = cssFiles.find((f) => fs.existsSync(path.join(projectRoot, f)));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/utils/dev-generator/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,OAAO,GAAG
|
|
1
|
+
{"version":3,"file":"layout.js","sourceRoot":"","sources":["../../../src/utils/dev-generator/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,MAAM,OAAO,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsBjB,CAAC;IACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC;AAClE,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,WAAmB;IACrE,iEAAiE;IACjE,MAAM,GAAG,GAAG,IAAI;SACb,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC;SAChD,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE7B,4DAA4D;IAC5D,MAAM,QAAQ,GAAG,CAAC,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC,CAAC;IAC9E,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACzC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CACzC,CAAC;IAEF,gEAAgE;IAChE,MAAM,gBAAgB,GAAG,cAAc;QACrC,CAAC,CAAC,YAAY,GAAG,IAAI,cAAc,QAAQ;QAC3C,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,OAAO,GAAG,GAAG,gBAAgB;;;;;;;;;;;;;;;;;;;CAmBpC,CAAC;IACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-config.d.ts","sourceRoot":"","sources":["../../../src/utils/dev-generator/next-config.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"next-config.d.ts","sourceRoot":"","sources":["../../../src/utils/dev-generator/next-config.ts"],"names":[],"mappings":"AAGA,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QA6BtE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAsFpE"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import fs from "fs-extra";
|
|
2
2
|
import path from "path";
|
|
3
3
|
export function generateNextConfig(devRoot, projectRoot) {
|
|
4
|
-
|
|
4
|
+
// Normalize to POSIX so the generated JS works on Windows.
|
|
5
|
+
const rel = path.relative(devRoot, projectRoot).replaceAll(path.sep, "/");
|
|
5
6
|
const content = `import { resolve, dirname } from "path";
|
|
6
7
|
import { fileURLToPath } from "url";
|
|
7
8
|
|
|
@@ -13,7 +14,12 @@ const nextConfig = {
|
|
|
13
14
|
root: resolve(__dirname, "${rel}"),
|
|
14
15
|
},
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
// Dev server origin allowlist. Covers loopback + mDNS (*.local) only -
|
|
18
|
+
// a wildcard ('*') was the previous value and accepted any origin.
|
|
19
|
+
// This file is regenerated by @cmssy/cli on every \`cmssy dev\` run,
|
|
20
|
+
// so editing it here won't stick. If you need LAN access from a phone
|
|
21
|
+
// / VM, file an issue asking for a config knob on \`cmssy.config.js\`.
|
|
22
|
+
allowedDevOrigins: ['localhost', '127.0.0.1', '[::1]', '*.local'],
|
|
17
23
|
|
|
18
24
|
images: {
|
|
19
25
|
remotePatterns: [{ protocol: 'https', hostname: '**' }],
|
|
@@ -25,8 +31,9 @@ export default nextConfig;
|
|
|
25
31
|
fs.writeFileSync(path.join(devRoot, "next.config.mjs"), content);
|
|
26
32
|
}
|
|
27
33
|
export function generateTsConfig(devRoot, projectRoot) {
|
|
28
|
-
// Paths must be relative to tsconfig location (.cmssy/dev/)
|
|
29
|
-
|
|
34
|
+
// Paths must be relative to tsconfig location (.cmssy/dev/).
|
|
35
|
+
// Normalize to POSIX so the generated JSON works on Windows.
|
|
36
|
+
const rel = path.relative(devRoot, projectRoot).replaceAll(path.sep, "/");
|
|
30
37
|
// Read project tsconfig to forward user-defined path aliases and includes
|
|
31
38
|
const projectTsConfigPath = path.join(projectRoot, "tsconfig.json");
|
|
32
39
|
let userPaths = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"next-config.js","sourceRoot":"","sources":["../../../src/utils/dev-generator/next-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,UAAU,kBAAkB,CAAC,OAAe,EAAE,WAAmB;IACrE,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"next-config.js","sourceRoot":"","sources":["../../../src/utils/dev-generator/next-config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cmssy/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.0",
|
|
4
4
|
"description": "Unified CLI for building and publishing blocks to Cmssy design library",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -84,6 +84,7 @@
|
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
86
|
"devDependencies": {
|
|
87
|
+
"@testing-library/react": "^16",
|
|
87
88
|
"@types/archiver": "^7.0.0",
|
|
88
89
|
"@types/form-data": "^2.5.2",
|
|
89
90
|
"@types/fs-extra": "^11.0.4",
|
|
@@ -91,6 +92,8 @@
|
|
|
91
92
|
"@types/node": "^22.10.2",
|
|
92
93
|
"@types/node-fetch": "^2.6.13",
|
|
93
94
|
"@types/postcss-import": "^14.0.3",
|
|
95
|
+
"@types/react": "^19",
|
|
96
|
+
"@types/react-dom": "^19",
|
|
94
97
|
"@types/semver": "^7.7.1",
|
|
95
98
|
"@vitest/coverage-v8": "^3.2.4",
|
|
96
99
|
"typescript": "^5.7.2",
|