@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.
- package/lib/compute.d.ts.map +1 -1
- package/lib/compute.js +3 -0
- package/lib/compute.js.map +1 -1
- package/lib/routes/api.markdown.save.d.ts +5 -25
- package/lib/routes/api.markdown.save.d.ts.map +1 -1
- package/lib/routes/api.markdown.save.js +1 -60
- package/lib/routes/api.markdown.save.js.map +1 -1
- package/lib/routes/api.markdown.save.server.d.ts +19 -0
- package/lib/routes/api.markdown.save.server.d.ts.map +1 -0
- package/lib/routes.json +4 -1
- package/package.json +2 -2
- package/lib/utils/localFileSync.server.js +0 -41
- package/lib/utils/localFileSync.server.js.map +0 -1
package/lib/compute.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compute.d.ts","sourceRoot":"","sources":["../src/compute.ts"],"names":[],"mappings":"
|
|
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
|
package/lib/compute.js.map
CHANGED
|
@@ -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
|
-
*
|
|
2
|
+
* Client-safe stub for the api.markdown.save resource route.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
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
|
|
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
|
|
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
|
-
|
|
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":[
|
|
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.
|
|
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": "
|
|
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"}
|