@pixelbyte-software/pixcode 1.47.3 → 1.47.4

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.html CHANGED
@@ -35,9 +35,9 @@
35
35
 
36
36
  <!-- Prevent zoom on iOS -->
37
37
  <meta name="format-detection" content="telephone=no" />
38
- <script type="module" crossorigin src="/assets/index-DD3hAStI.js"></script>
39
- <link rel="modulepreload" crossorigin href="/assets/vendor-react-D7WwDXvu.js">
40
- <link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-CzYAOTxS.js">
38
+ <script type="module" crossorigin src="/assets/index-C7zmMv0b.js"></script>
39
+ <link rel="modulepreload" crossorigin href="/assets/vendor-react-DB6V5Fl1.js">
40
+ <link rel="modulepreload" crossorigin href="/assets/vendor-codemirror-CzSp4P1a.js">
41
41
  <link rel="modulepreload" crossorigin href="/assets/vendor-xterm-CJZjLICi.js">
42
42
  <link rel="stylesheet" crossorigin href="/assets/index-BBdWwJi6.css">
43
43
  </head>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pixelbyte-software/pixcode",
3
- "version": "1.47.3",
3
+ "version": "1.47.4",
4
4
  "description": "Self-hosted AI coding agent control room for Claude Code, Cursor CLI, OpenAI Codex, Gemini CLI, Qwen Code, and OpenCode with chat, files, shell, Git, orchestration, API keys, Telegram, MCP, plugins, themes, and desktop/server deployment.",
5
5
  "type": "module",
6
6
  "main": "dist-server/server/index.js",
@@ -145,6 +145,7 @@
145
145
  "@commitlint/config-conventional": "^20.5.0",
146
146
  "@eslint/js": "^9.39.3",
147
147
  "@heroicons/react": "^2.2.0",
148
+ "@monaco-editor/react": "^4.7.0",
148
149
  "@release-it/conventional-changelog": "^10.0.5",
149
150
  "@replit/codemirror-minimap": "^0.5.2",
150
151
  "@tailwindcss/typography": "^0.5.16",
@@ -186,6 +187,7 @@
186
187
  "katex": "^0.16.25",
187
188
  "lint-staged": "^16.3.2",
188
189
  "lucide-react": "^0.515.0",
190
+ "monaco-editor": "^0.55.1",
189
191
  "node-gyp": "^12.0.0",
190
192
  "postcss": "^8.4.32",
191
193
  "qrcode": "^1.5.4",
@@ -0,0 +1,60 @@
1
+ import assert from 'node:assert/strict';
2
+ import fs from 'node:fs';
3
+
4
+ const read = (path) => fs.readFileSync(path, 'utf8');
5
+
6
+ const packageJson = JSON.parse(read('package.json'));
7
+ const surface = read('src/components/code-editor/view/subcomponents/CodeEditorSurface.tsx');
8
+ const editor = read('src/components/code-editor/view/CodeEditor.tsx');
9
+
10
+ const allDeps = {
11
+ ...(packageJson.dependencies ?? {}),
12
+ ...(packageJson.devDependencies ?? {}),
13
+ };
14
+
15
+ assert.ok(allDeps['@monaco-editor/react'], 'Code editor should depend on the React Monaco wrapper.');
16
+ assert.ok(allDeps['monaco-editor'], 'Code editor should depend on the Monaco editor engine.');
17
+
18
+ assert.match(
19
+ surface,
20
+ /const MonacoEditor = lazy[\s\S]*import\(['"]@monaco-editor\/react['"]\)/,
21
+ 'Normal file editing should lazy-load Monaco instead of keeping a CodeMirror-only surface.',
22
+ );
23
+
24
+ assert.match(
25
+ surface,
26
+ /onMount=\{handleMonacoMount\}/,
27
+ 'Monaco should expose an onMount hook so Pixcode can wire VS Code-style key commands.',
28
+ );
29
+
30
+ assert.match(
31
+ surface,
32
+ /KeyMod\.CtrlCmd\s*\|\s*KeyCode\.KeyS/,
33
+ 'Monaco should handle Ctrl/Cmd+S with the native editor command system.',
34
+ );
35
+
36
+ assert.match(
37
+ surface,
38
+ /selectOnLineNumbers:\s*true/,
39
+ 'Monaco should support line-number click selection like VS Code.',
40
+ );
41
+
42
+ assert.match(
43
+ surface,
44
+ /automaticLayout:\s*true/,
45
+ 'Monaco should relayout cleanly inside resizable workbench panes.',
46
+ );
47
+
48
+ assert.match(
49
+ editor,
50
+ /const useMonacoEditor = !\(/,
51
+ 'CodeEditor should keep the existing CodeMirror diff fallback while using Monaco for regular files.',
52
+ );
53
+
54
+ assert.match(
55
+ editor,
56
+ /useMonacoEditor=\{useMonacoEditor\}/,
57
+ 'CodeEditor should pass the Monaco-vs-diff decision into the editor surface.',
58
+ );
59
+
60
+ console.log('code editor VS Code engine smoke passed');