@jay-framework/jay-stack-cli 0.6.4 → 0.6.5

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/dist/index.d.ts CHANGED
@@ -4,6 +4,7 @@ interface JayConfig {
4
4
  devServer?: {
5
5
  portRange?: [number, number];
6
6
  pagesBase?: string;
7
+ componentsBase?: string;
7
8
  publicFolder?: string;
8
9
  };
9
10
  editorServer?: {
package/dist/index.js CHANGED
@@ -10,6 +10,7 @@ const DEFAULT_CONFIG = {
10
10
  devServer: {
11
11
  portRange: [3e3, 3100],
12
12
  pagesBase: "./src/pages",
13
+ componentsBase: "./src/components",
13
14
  publicFolder: "./public"
14
15
  },
15
16
  editorServer: {
@@ -44,6 +45,7 @@ function getConfigWithDefaults(config2) {
44
45
  devServer: {
45
46
  portRange: config2.devServer?.portRange || DEFAULT_CONFIG.devServer.portRange,
46
47
  pagesBase: config2.devServer?.pagesBase || DEFAULT_CONFIG.devServer.pagesBase,
48
+ componentsBase: config2.devServer?.componentsBase || DEFAULT_CONFIG.devServer.componentsBase,
47
49
  publicFolder: config2.devServer?.publicFolder || DEFAULT_CONFIG.devServer.publicFolder
48
50
  },
49
51
  editorServer: {
@@ -76,27 +78,56 @@ function updateConfig(updates) {
76
78
  }
77
79
  function createEditorHandlers(config2) {
78
80
  const resolvedConfig2 = getConfigWithDefaults(config2);
81
+ const handlePagePublish = async (page) => {
82
+ try {
83
+ const pagesBasePath = path.resolve(resolvedConfig2.devServer.pagesBase);
84
+ const routePath = page.route === "/" ? "" : page.route;
85
+ const pageDir = path.join(pagesBasePath, routePath);
86
+ const pageFile = path.join(pageDir, "page.jay-html");
87
+ await fs.promises.mkdir(pageDir, { recursive: true });
88
+ await fs.promises.writeFile(pageFile, page.jayHtml, "utf-8");
89
+ console.log(`📝 Published page: ${pageFile}`);
90
+ return {
91
+ success: true,
92
+ filePath: pageFile
93
+ };
94
+ } catch (error) {
95
+ console.error(`Failed to publish page ${page.route}:`, error);
96
+ return {
97
+ success: false,
98
+ error: error instanceof Error ? error.message : "Unknown error"
99
+ };
100
+ }
101
+ };
102
+ const handleComponentPublish = async (component) => {
103
+ try {
104
+ const componentsBasePath = path.resolve(resolvedConfig2.devServer.componentsBase);
105
+ const componentFile = path.join(componentsBasePath, `${component.name}.jay-html`);
106
+ await fs.promises.mkdir(componentsBasePath, { recursive: true });
107
+ await fs.promises.writeFile(componentFile, component.jayHtml, "utf-8");
108
+ console.log(`🧩 Published component: ${componentFile}`);
109
+ return {
110
+ success: true,
111
+ filePath: componentFile
112
+ };
113
+ } catch (error) {
114
+ console.error(`Failed to publish component ${component.name}:`, error);
115
+ return {
116
+ success: false,
117
+ error: error instanceof Error ? error.message : "Unknown error"
118
+ };
119
+ }
120
+ };
79
121
  const onPublish = async (params) => {
80
122
  const status = [];
81
- for (const page of params.pages) {
82
- try {
83
- const pagesBasePath = path.resolve(resolvedConfig2.devServer.pagesBase);
84
- const routePath = page.route === "/" ? "" : page.route;
85
- const pageDir = path.join(pagesBasePath, routePath);
86
- const pageFile = path.join(pageDir, "page.jay-html");
87
- await fs.promises.mkdir(pageDir, { recursive: true });
88
- await fs.promises.writeFile(pageFile, page.jayHtml, "utf-8");
89
- console.log(`📝 Published page: ${pageFile}`);
90
- status.push({
91
- success: true,
92
- filePath: pageFile
93
- });
94
- } catch (error) {
95
- console.error(`Failed to publish page ${page.route}:`, error);
96
- status.push({
97
- success: false,
98
- error: error instanceof Error ? error.message : "Unknown error"
99
- });
123
+ if (params.pages) {
124
+ for (const page of params.pages) {
125
+ status.push(await handlePagePublish(page));
126
+ }
127
+ }
128
+ if (params.components) {
129
+ for (const component of params.components) {
130
+ status.push(await handleComponentPublish(component));
100
131
  }
101
132
  }
102
133
  return {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jay-framework/jay-stack-cli",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -23,13 +23,13 @@
23
23
  "test:watch": ":"
24
24
  },
25
25
  "dependencies": {
26
- "@jay-framework/dev-server": "^0.6.4",
27
- "@jay-framework/editor-server": "^0.6.4",
26
+ "@jay-framework/dev-server": "^0.6.5",
27
+ "@jay-framework/editor-server": "^0.6.5",
28
28
  "express": "^5.0.1",
29
29
  "vite": "^5.0.11"
30
30
  },
31
31
  "devDependencies": {
32
- "@jay-framework/dev-environment": "^0.6.4",
32
+ "@jay-framework/dev-environment": "^0.6.5",
33
33
  "@types/express": "^5.0.2",
34
34
  "@types/node": "^22.15.21",
35
35
  "nodemon": "^3.0.3",