@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.
@@ -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: React.ReactNode;
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
- const rel = path.relative(path.join(devRoot, "app"), projectRoot);
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;;;;;;;;;;;;;;;;;;;;;CAqBjB,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,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC;IAElE,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
+ {"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,QAuBtE;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,QAqFpE"}
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
- const rel = path.relative(devRoot, projectRoot);
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
- allowedDevOrigins: ['*'],
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
- const rel = path.relative(devRoot, projectRoot);
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":"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"}
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,2DAA2D;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAG;;;;;;;;gCAQc,GAAG;;;;;;;;;;;;;;;;CAgBlC,CAAC;IACA,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAe,EAAE,WAAmB;IACnE,6DAA6D;IAC7D,6DAA6D;IAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAE1E,0EAA0E;IAC1E,MAAM,mBAAmB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;IACpE,IAAI,SAAS,GAA6B,EAAE,CAAC;IAC7C,IAAI,YAAY,GAAa,EAAE,CAAC;IAChC,IAAI,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAChC,EAAE,CAAC,YAAY,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAC9C,CAAC;YACF,MAAM,QAAQ,GAAG,eAAe,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE,CAAC;YAC9D,iFAAiF;YACjF,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAGnD,EAAE,CAAC;gBACJ,iDAAiD;gBACjD,IAAI,KAAK,KAAK,kBAAkB;oBAAE,SAAS;gBAC3C,SAAS,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC;YACvD,CAAC;YACD,+CAA+C;YAC/C,wEAAwE;YACxE,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,IAAI,EAAE,CAAC;YAClD,YAAY,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE;gBACjD,MAAM,QAAQ,GAAG,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;gBACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC/B,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBACnC,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,GAAG,IAAI,WAAW,CAAC,CAAC;gBACjD,CAAC;gBACD,OAAO,CAAC,QAAQ,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,8CAA8C;QAChD,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG;QACf,eAAe,EAAE;YACf,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,CAAC;YACtC,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,IAAI;YAClB,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI;YACZ,eAAe,EAAE,IAAI;YACrB,MAAM,EAAE,QAAQ;YAChB,gBAAgB,EAAE,SAAS;YAC3B,iBAAiB,EAAE,IAAI;YACvB,eAAe,EAAE,IAAI;YACrB,GAAG,EAAE,UAAU;YACf,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC3B,KAAK,EAAE;gBACL,mEAAmE;gBACnE,GAAG,SAAS;gBACZ,wDAAwD;gBACxD,WAAW,EAAE,CAAC,GAAG,GAAG,WAAW,CAAC;gBAChC,cAAc,EAAE,CAAC,GAAG,GAAG,cAAc,CAAC;gBACtC,WAAW,EAAE,CAAC,GAAG,GAAG,WAAW,CAAC;gBAChC,QAAQ,EAAE,CAAC,GAAG,GAAG,QAAQ,CAAC;gBAC1B,kBAAkB,EAAE,CAAC,GAAG,GAAG,gCAAgC,CAAC;aAC7D;SACF;QACD,OAAO,EAAE;YACP,eAAe;YACf,SAAS;YACT,UAAU;YACV,qBAAqB;YACrB,GAAG,GAAG,iBAAiB;YACvB,GAAG,GAAG,kBAAkB;YACxB,GAAG,GAAG,oBAAoB;YAC1B,GAAG,GAAG,qBAAqB;YAC3B,+EAA+E;YAC/E,GAAG,YAAY;SAChB;QACD,OAAO,EAAE,CAAC,cAAc,CAAC;KAC1B,CAAC;IAEF,EAAE,CAAC,aAAa,CACd,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,CAAC,EACnC,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CACzC,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cmssy/cli",
3
- "version": "0.13.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",