@cdmbase/wiki-browser 12.0.18-alpha.38 → 12.0.18-alpha.40

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.
@@ -1 +1 @@
1
- {"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../src/compute.ts"],"names":[],"mappings":"AAmKA,QAAA,MAAM,cAAc,0CAAkC,CAAC;AACvD,QAAA,MAAM,aAAa,0CAAiC,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../src/compute.ts"],"names":[],"mappings":"AAsKA,QAAA,MAAM,cAAc,0CAAkC,CAAC;AACvD,QAAA,MAAM,aAAa,0CAAiC,CAAC;AAErD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC"}
package/lib/compute.js CHANGED
@@ -130,13 +130,16 @@ const wikiDocsPage = [{
130
130
  hideInMenu: true
131
131
  }, {
132
132
  key: 'docs.save.markdown',
133
+ name: 'Save Markdown',
133
134
  path: `${config.LAYOUT_ROOT}${browseWikikRoutes.SAVE_MARKDOWN}`,
134
135
  auth: false,
135
136
  exact: true,
136
137
  hasAction: true,
138
+ hasServerCode: true,
137
139
  position: IMenuPosition.Lower,
138
140
  hideInMenu: true,
139
141
  isResourceRoute: true,
142
+ spaExclude: true,
140
143
  component: () => import('./routes/api.markdown.save.js')
141
144
  }
142
145
  // Dynamically generated routes from categoryMetadata
@@ -1 +1 @@
1
- {"version":3,"file":"compute.js","sources":["../src/compute.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compute.js","sources":["../src/compute.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,29 +1,9 @@
1
1
  /**
2
- * Server-side API route for saving markdown files locally
2
+ * Client-safe stub for the api.markdown.save resource route.
3
3
  *
4
- * This is a Remix resource route that handles POST requests to save markdown files
5
- * to the local filesystem. It works alongside GitHub sync to provide dual storage.
6
- *
7
- * To use this route, you may need to configure it in your routes.json file:
8
- * {
9
- * "/api/markdown/save": {
10
- * "isResourceRoute": true,
11
- * "hasAction": true
12
- * }
13
- * }
14
- *
15
- * Or if using file-based routing, place this file in the appropriate location
16
- * for your Remix setup.
17
- */
18
- import { type ActionFunctionArgs } from '@remix-run/node';
19
- /**
20
- * Action handler for saving markdown files locally
4
+ * The actual server-side action is in api.markdown.save.server.ts.
5
+ * This file must remain empty / free of Node.js imports so it can
6
+ * be safely included in the Vite client bundle.
21
7
  */
22
- export declare const action: ({ request }: ActionFunctionArgs) => Promise<import("@remix-run/server-runtime").TypedResponse<{
23
- success: boolean;
24
- message: string;
25
- path: string;
26
- }> | import("@remix-run/server-runtime").TypedResponse<{
27
- error: any;
28
- }>>;
8
+ export {};
29
9
  //# sourceMappingURL=api.markdown.save.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.markdown.save.d.ts","sourceRoot":"","sources":["../../src/routes/api.markdown.save.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAQ,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAGhE;;GAEG;AACH,eAAO,MAAM,MAAM,GAAU,aAAa,kBAAkB;;;;;;GA0B3D,CAAC"}
1
+ {"version":3,"file":"api.markdown.save.d.ts","sourceRoot":"","sources":["../../src/routes/api.markdown.save.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,CAAC"}
@@ -1,60 +1 @@
1
- import {json}from'@remix-run/node';import {saveLocalFile}from'../utils/localFileSync.server.js';/**
2
- * Server-side API route for saving markdown files locally
3
- *
4
- * This is a Remix resource route that handles POST requests to save markdown files
5
- * to the local filesystem. It works alongside GitHub sync to provide dual storage.
6
- *
7
- * To use this route, you may need to configure it in your routes.json file:
8
- * {
9
- * "/api/markdown/save": {
10
- * "isResourceRoute": true,
11
- * "hasAction": true
12
- * }
13
- * }
14
- *
15
- * Or if using file-based routing, place this file in the appropriate location
16
- * for your Remix setup.
17
- */
18
- /**
19
- * Action handler for saving markdown files locally
20
- */
21
- const action = async ({
22
- request
23
- }) => {
24
- // Only allow POST requests
25
- if (request.method !== 'POST') {
26
- return json({
27
- error: 'Method not allowed'
28
- }, {
29
- status: 405
30
- });
31
- }
32
- try {
33
- const body = await request.json();
34
- const {
35
- filePath,
36
- content
37
- } = body;
38
- if (!filePath || !content) {
39
- return json({
40
- error: 'Missing required fields: filePath and content'
41
- }, {
42
- status: 400
43
- });
44
- }
45
- // Save the file locally
46
- const savedPath = await saveLocalFile(filePath, content);
47
- return json({
48
- success: true,
49
- message: `File saved successfully to ${savedPath}`,
50
- path: savedPath
51
- });
52
- } catch (error) {
53
- console.error('Error saving local file:', error);
54
- return json({
55
- error: error.message || 'Failed to save file locally'
56
- }, {
57
- status: 500
58
- });
59
- }
60
- };export{action};//# sourceMappingURL=api.markdown.save.js.map
1
+ //# sourceMappingURL=api.markdown.save.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api.markdown.save.js","sources":["../../src/routes/api.markdown.save.ts"],"sourcesContent":[null],"names":[],"mappings":"gGAAA;;;;;;;;;;;;;;;;AAgBG;AAKH;;AAEG;AACU,MAAA,MAAM,GAAG,OAAO;;AAEzB,CAAA,KAAA;AACI;MACH,OAAA,CAAA,MAAA,KAAA,MAAA,EAAA;AAED,IAAA,OAAK,IAAA,CAAA;AACD,MAAA,KAAA,EAAA;AACA,KAAA,EAAA;AAEA,MAAA,MAAI,EAAS;AACT,KAAA,CAAA;;;UAIE,IAAA,GAAA,MAAS,OAAS,CAAA,IAAA,EAAA;AAExB,IAAA,MAAA;AACI,MAAA,QAAA;;AAEA,KAAA,GAAA,IAAA;AACH,IAAA,IAAA,CAAA,QAAE,IAAA,CAAA,OAAA,EAAA;MACN,OAAA,IAAA,CAAA;QAAQ,KAAA,EAAA;AACL,OAAA,EAAA;AACA,QAAA,MAAA;OACH,CAAA;AACL;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"api.markdown.save.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Server-side API route for saving markdown files locally
3
+ *
4
+ * This is a Remix resource route that handles POST requests to save markdown files
5
+ * to the local filesystem. It works alongside GitHub sync to provide dual storage.
6
+ *
7
+ * The .server.ts suffix ensures Remix/Vite excludes this from the client bundle.
8
+ */
9
+ /**
10
+ * Action handler for saving markdown files locally
11
+ */
12
+ export declare const action: ({ request }: {
13
+ request: Request;
14
+ }) => Promise<{
15
+ success: boolean;
16
+ message: string;
17
+ path: string;
18
+ }>;
19
+ //# sourceMappingURL=api.markdown.save.server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.markdown.save.server.d.ts","sourceRoot":"","sources":["../../src/routes/api.markdown.save.server.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH;;GAEG;AACH,eAAO,MAAM,MAAM,GAAU,aAAa;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE;;;;EAqB7D,CAAC"}
package/lib/routes.json CHANGED
@@ -96,13 +96,16 @@
96
96
  {
97
97
  "//api/markdown/save": {
98
98
  "key": "docs.save.markdown",
99
+ "name": "Save Markdown",
99
100
  "path": "//api/markdown/save",
100
101
  "auth": false,
101
102
  "exact": true,
102
103
  "hasAction": true,
104
+ "hasServerCode": true,
103
105
  "position": "LOWER",
104
106
  "hideInMenu": true,
105
- "isResourceRoute": true
107
+ "isResourceRoute": true,
108
+ "spaExclude": true
106
109
  }
107
110
  }
108
111
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cdmbase/wiki-browser",
3
- "version": "12.0.18-alpha.38",
3
+ "version": "12.0.18-alpha.40",
4
4
  "description": "Sample core for higher packages to depend on",
5
5
  "license": "ISC",
6
6
  "author": "CDMBase LLC",
@@ -65,7 +65,7 @@
65
65
  }
66
66
  ]
67
67
  },
68
- "gitHead": "436b921e985acfcec93133e32f8683a4c640e773",
68
+ "gitHead": "16d6b61202d7074c342d83c6dc5d16f6baa4705a",
69
69
  "typescript": {
70
70
  "definition": "lib/index.d.ts"
71
71
  }
@@ -1,41 +0,0 @@
1
- import {promises}from'fs';import {join,dirname,resolve}from'path';import {fileURLToPath}from'url';/**
2
- * Server-side utilities for local file system operations
3
- *
4
- * This file contains Node.js-specific code that can only run on the server.
5
- * It's separated from localFileSync.ts to make it clear this is server-only code.
6
- */
7
- const __filename = fileURLToPath(import.meta.url);
8
- const __dirname = dirname(__filename);
9
- /**
10
- * Get the base content directory path
11
- * This should point to the templates/content/docs directory
12
- */
13
- function getContentBasePath() {
14
- // Navigate from utils/ to templates/content/docs/
15
- // __dirname is typically: .../browser/src/utils
16
- // We need: .../browser/src/templates/content/docs
17
- const basePath = resolve(__dirname, '../templates/content/docs');
18
- return basePath;
19
- }
20
- /**
21
- * Save or update a markdown file locally
22
- * @param filePath - Local file path (can be relative to content base or absolute)
23
- * @param content - File content
24
- * @returns Promise resolving to the saved file path
25
- */
26
- async function saveLocalFile(filePath, content) {
27
- try {
28
- // If path is relative, make it absolute
29
- const absolutePath = filePath.startsWith('/') ? filePath : join(getContentBasePath(), filePath);
30
- // Ensure directory exists
31
- const dir = dirname(absolutePath);
32
- await promises.mkdir(dir, {
33
- recursive: true
34
- });
35
- // Write file
36
- await promises.writeFile(absolutePath, content, 'utf-8');
37
- return absolutePath;
38
- } catch (error) {
39
- throw new Error(`Failed to save local file: ${error.message}`);
40
- }
41
- }export{saveLocalFile};//# sourceMappingURL=localFileSync.server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"localFileSync.server.js","sources":["../../src/utils/localFileSync.server.ts"],"sourcesContent":[null],"names":["fs"],"mappings":"kGAAA;;;;;AAKG;AAMH,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;AACjD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC;AAErC;;;AAGG;AACH,SAAS,kBAAkB,GAAA;;;;QAIjB,QAAA,UAAkB,CAAA,WAAU,2BAAE,CAAA;AACpC,EAAA,OAAA;AACJ;AA4BA;;;;;AAKG;AACI,eAAe,aAAa,CAAC,QAAgB,EAAE,OAAe,EAAA;AACjE,EAAA,IAAA;;UAEU,YAAA,GAAA,QAAuB,CAAA,cAAW,CAAC,GAAG,eAAe,CAAI,sBAAmB,QAAY,CAAA;;AAG9F,IAAA,MAAA,GAAA,UAAY,CAAA,YAAQ,CAAA;AACpB,IAAA,MAAAA,QAAA,CAAA,KAAc,CAAA,GAAA,EAAI;eAEL,EAAA;;AAGb;IACJ,MAACA,QAAA,CAAA,SAAA,CAAA,YAAA,EAAA,OAAA,EAAA,OAAA,CAAA;IAAC,OAAO,YAAa;WACZ,KAAA,EAAI;IACd,MAAC,IAAA,KAAA,CAAA,CAAA,2BAAA,EAAA,KAAA,CAAA,OAAA,CAAA,CAAA,CAAA;AACL;AAEA"}