deckide 3.0.2 → 3.1.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.
Files changed (57) hide show
  1. package/bin/deckide.js +1 -2
  2. package/{apps/server/dist → dist}/config.js +6 -11
  3. package/{apps/server/dist → dist}/routes/files.js +1 -1
  4. package/{node_modules/@deck-ide/shared/dist → dist/shared}/types.js +0 -1
  5. package/{packages/shared/dist → dist/shared}/utils-node.js +0 -1
  6. package/{node_modules/@deck-ide/shared/dist → dist/shared}/utils.js +0 -1
  7. package/{apps/server/dist → dist}/utils/error.js +1 -1
  8. package/{apps/server/dist → dist}/utils/path.js +1 -1
  9. package/package.json +67 -45
  10. package/apps/server/package.json +0 -26
  11. package/node_modules/@deck-ide/shared/README.md +0 -69
  12. package/node_modules/@deck-ide/shared/dist/types.d.ts +0 -124
  13. package/node_modules/@deck-ide/shared/dist/types.d.ts.map +0 -1
  14. package/node_modules/@deck-ide/shared/dist/types.js.map +0 -1
  15. package/node_modules/@deck-ide/shared/dist/utils-node.d.ts +0 -22
  16. package/node_modules/@deck-ide/shared/dist/utils-node.d.ts.map +0 -1
  17. package/node_modules/@deck-ide/shared/dist/utils-node.js +0 -35
  18. package/node_modules/@deck-ide/shared/dist/utils-node.js.map +0 -1
  19. package/node_modules/@deck-ide/shared/dist/utils.d.ts +0 -90
  20. package/node_modules/@deck-ide/shared/dist/utils.d.ts.map +0 -1
  21. package/node_modules/@deck-ide/shared/dist/utils.js.map +0 -1
  22. package/node_modules/@deck-ide/shared/package.json +0 -16
  23. package/node_modules/@deck-ide/shared/tsconfig.json +0 -20
  24. package/node_modules/@deck-ide/shared/types.ts +0 -174
  25. package/node_modules/@deck-ide/shared/utils-node.ts +0 -50
  26. package/node_modules/@deck-ide/shared/utils.ts +0 -196
  27. package/packages/shared/dist/types.d.ts +0 -124
  28. package/packages/shared/dist/types.d.ts.map +0 -1
  29. package/packages/shared/dist/types.js +0 -3
  30. package/packages/shared/dist/types.js.map +0 -1
  31. package/packages/shared/dist/utils-node.d.ts +0 -22
  32. package/packages/shared/dist/utils-node.d.ts.map +0 -1
  33. package/packages/shared/dist/utils-node.js.map +0 -1
  34. package/packages/shared/dist/utils.d.ts +0 -90
  35. package/packages/shared/dist/utils.d.ts.map +0 -1
  36. package/packages/shared/dist/utils.js +0 -186
  37. package/packages/shared/dist/utils.js.map +0 -1
  38. package/packages/shared/package.json +0 -16
  39. /package/{apps/server/dist → dist}/index.js +0 -0
  40. /package/{apps/server/dist → dist}/middleware/auth.js +0 -0
  41. /package/{apps/server/dist → dist}/middleware/cors.js +0 -0
  42. /package/{apps/server/dist → dist}/middleware/security.js +0 -0
  43. /package/{apps/server/dist → dist}/pty-client.js +0 -0
  44. /package/{apps/server/dist → dist}/pty-daemon.js +0 -0
  45. /package/{apps/server/dist → dist}/routes/decks.js +0 -0
  46. /package/{apps/server/dist → dist}/routes/git.js +0 -0
  47. /package/{apps/server/dist → dist}/routes/settings.js +0 -0
  48. /package/{apps/server/dist → dist}/routes/terminals.js +0 -0
  49. /package/{apps/server/dist → dist}/routes/workspaces.js +0 -0
  50. /package/{apps/server/dist → dist}/server.js +0 -0
  51. /package/{apps/server/dist → dist}/types.js +0 -0
  52. /package/{apps/server/dist → dist}/utils/database.js +0 -0
  53. /package/{apps/server/dist → dist}/utils/shell.js +0 -0
  54. /package/{apps/server/dist → dist}/websocket.js +0 -0
  55. /package/{apps/web → web}/dist/assets/index-C-usl0y0.css +0 -0
  56. /package/{apps/web → web}/dist/assets/index-CibzlLP5.js +0 -0
  57. /package/{apps/web → web}/dist/index.html +0 -0
@@ -1,186 +0,0 @@
1
- // Shared utility functions (browser-compatible)
2
- /**
3
- * Get a workspace key for indexing (handles case-insensitivity on Windows)
4
- * @param workspacePath - Workspace path
5
- * @returns Normalized key for indexing
6
- */
7
- export function getWorkspaceKey(workspacePath) {
8
- const normalized = workspacePath.replace(/[\\/]+$/, '');
9
- // In browser, we can't detect platform, so we normalize to lowercase
10
- const platform = typeof process !== 'undefined' ? process.platform : 'unknown';
11
- return platform === 'win32' ? normalized.toLowerCase() : normalized;
12
- }
13
- /**
14
- * Extract a workspace name from its path
15
- * @param workspacePath - Workspace path
16
- * @param fallbackIndex - Index to use for fallback name
17
- * @returns Workspace name
18
- */
19
- export function getWorkspaceName(workspacePath, fallbackIndex) {
20
- const trimmed = workspacePath.replace(/[\\/]+$/, '');
21
- // Browser-compatible basename
22
- const parts = trimmed.split(/[\\/]/);
23
- const base = parts[parts.length - 1] || '';
24
- return base || `Project ${fallbackIndex}`;
25
- }
26
- /**
27
- * Normalize a workspace path to an absolute path
28
- * Note: This function requires Node.js path module
29
- * For browser usage, import from utils-node.ts instead
30
- * @param inputPath - Input path (can be relative or absolute)
31
- * @param defaultPath - Default path to use if inputPath is empty
32
- * @returns Normalized absolute path
33
- */
34
- export function normalizeWorkspacePath(inputPath, defaultPath) {
35
- // This is a simplified version for browsers
36
- // Server code should use the Node.js version from utils-node.ts
37
- return inputPath || defaultPath;
38
- }
39
- /**
40
- * Get file extension from a path
41
- * @param filePath - File path
42
- * @returns File extension (without dot) or empty string
43
- */
44
- export function getFileExtension(filePath) {
45
- const lastDot = filePath.lastIndexOf('.');
46
- if (lastDot === -1 || lastDot === 0)
47
- return '';
48
- const ext = filePath.slice(lastDot + 1);
49
- return ext.toLowerCase();
50
- }
51
- /**
52
- * Map file extension to Monaco editor language
53
- * @param filePath - File path
54
- * @returns Monaco language identifier
55
- */
56
- export function getLanguageFromPath(filePath) {
57
- const ext = getFileExtension(filePath);
58
- const languageMap = {
59
- 'js': 'javascript',
60
- 'jsx': 'javascript',
61
- 'ts': 'typescript',
62
- 'tsx': 'typescript',
63
- 'json': 'json',
64
- 'html': 'html',
65
- 'css': 'css',
66
- 'scss': 'scss',
67
- 'sass': 'sass',
68
- 'less': 'less',
69
- 'md': 'markdown',
70
- 'py': 'python',
71
- 'rb': 'ruby',
72
- 'go': 'go',
73
- 'rs': 'rust',
74
- 'java': 'java',
75
- 'c': 'c',
76
- 'cpp': 'cpp',
77
- 'cc': 'cpp',
78
- 'cxx': 'cpp',
79
- 'h': 'c',
80
- 'hpp': 'cpp',
81
- 'sh': 'shell',
82
- 'bash': 'shell',
83
- 'zsh': 'shell',
84
- 'fish': 'shell',
85
- 'xml': 'xml',
86
- 'yaml': 'yaml',
87
- 'yml': 'yaml',
88
- 'toml': 'toml',
89
- 'sql': 'sql',
90
- 'graphql': 'graphql',
91
- 'vue': 'vue',
92
- 'svelte': 'svelte',
93
- 'php': 'php',
94
- 'r': 'r',
95
- 'swift': 'swift',
96
- 'kt': 'kotlin',
97
- 'dart': 'dart',
98
- 'lua': 'lua',
99
- 'dockerfile': 'dockerfile',
100
- };
101
- return languageMap[ext] || 'plaintext';
102
- }
103
- /**
104
- * Normalize path separators to forward slashes
105
- * @param inputPath - Input path
106
- * @returns Path with forward slashes
107
- */
108
- export function normalizePathSeparators(inputPath) {
109
- return inputPath.replace(/\\/g, '/');
110
- }
111
- /**
112
- * Check if a path is a hidden file or directory (starts with .)
113
- * @param name - File or directory name
114
- * @returns True if hidden
115
- */
116
- export function isHidden(name) {
117
- return name.startsWith('.');
118
- }
119
- /**
120
- * Get error message from unknown error type
121
- * @param error - Error object
122
- * @returns Error message string
123
- */
124
- export function getErrorMessage(error) {
125
- if (error instanceof Error) {
126
- return error.message;
127
- }
128
- return String(error);
129
- }
130
- /**
131
- * Create an HTTP error with status code
132
- * @param message - Error message
133
- * @param status - HTTP status code
134
- * @returns Error object with status property
135
- */
136
- export function createHttpError(message, status) {
137
- const error = new Error(message);
138
- error.status = status;
139
- return error;
140
- }
141
- /**
142
- * Truncate string to max length with ellipsis
143
- * @param str - Input string
144
- * @param maxLength - Maximum length
145
- * @returns Truncated string
146
- */
147
- export function truncate(str, maxLength) {
148
- if (str.length <= maxLength)
149
- return str;
150
- return str.slice(0, maxLength - 3) + '...';
151
- }
152
- /**
153
- * Generate a short ID from a UUID (first 8 characters)
154
- * @param uuid - Full UUID
155
- * @returns Short ID
156
- */
157
- export function shortId(uuid) {
158
- return uuid.slice(0, 8);
159
- }
160
- /**
161
- * Format file size in human-readable format
162
- * @param bytes - File size in bytes
163
- * @returns Formatted file size string
164
- */
165
- export function formatFileSize(bytes) {
166
- if (bytes === 0)
167
- return '0 B';
168
- const k = 1024;
169
- const sizes = ['B', 'KB', 'MB', 'GB', 'TB'];
170
- const i = Math.floor(Math.log(bytes) / Math.log(k));
171
- return `${parseFloat((bytes / Math.pow(k, i)).toFixed(2))} ${sizes[i]}`;
172
- }
173
- /**
174
- * Sort file system entries (directories first, then alphabetically)
175
- * @param entries - Array of file system entries
176
- * @returns Sorted array
177
- */
178
- export function sortFileEntries(entries) {
179
- return entries.sort((a, b) => {
180
- if (a.type !== b.type) {
181
- return a.type === 'dir' ? -1 : 1;
182
- }
183
- return a.name.localeCompare(b.name);
184
- });
185
- }
186
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"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"}
@@ -1,16 +0,0 @@
1
- {
2
- "name": "@deck-ide/shared",
3
- "version": "1.0.0",
4
- "type": "module",
5
- "exports": {
6
- "./types": "./dist/types.js",
7
- "./utils": "./dist/utils.js",
8
- "./utils-node": "./dist/utils-node.js"
9
- },
10
- "scripts": {
11
- "build": "tsc"
12
- },
13
- "devDependencies": {
14
- "typescript": "^5.7.2"
15
- }
16
- }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes