deckide 3.0.3 → 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 (39) 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/{packages/shared/dist → dist/shared}/types.js +0 -1
  5. package/{packages/shared/dist → dist/shared}/utils-node.js +0 -1
  6. package/{packages/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 -42
  10. package/apps/server/package.json +0 -26
  11. package/packages/shared/dist/types.d.ts +0 -124
  12. package/packages/shared/dist/types.d.ts.map +0 -1
  13. package/packages/shared/dist/types.js.map +0 -1
  14. package/packages/shared/dist/utils-node.d.ts +0 -22
  15. package/packages/shared/dist/utils-node.d.ts.map +0 -1
  16. package/packages/shared/dist/utils-node.js.map +0 -1
  17. package/packages/shared/dist/utils.d.ts +0 -90
  18. package/packages/shared/dist/utils.d.ts.map +0 -1
  19. package/packages/shared/dist/utils.js.map +0 -1
  20. package/packages/shared/package.json +0 -16
  21. /package/{apps/server/dist → dist}/index.js +0 -0
  22. /package/{apps/server/dist → dist}/middleware/auth.js +0 -0
  23. /package/{apps/server/dist → dist}/middleware/cors.js +0 -0
  24. /package/{apps/server/dist → dist}/middleware/security.js +0 -0
  25. /package/{apps/server/dist → dist}/pty-client.js +0 -0
  26. /package/{apps/server/dist → dist}/pty-daemon.js +0 -0
  27. /package/{apps/server/dist → dist}/routes/decks.js +0 -0
  28. /package/{apps/server/dist → dist}/routes/git.js +0 -0
  29. /package/{apps/server/dist → dist}/routes/settings.js +0 -0
  30. /package/{apps/server/dist → dist}/routes/terminals.js +0 -0
  31. /package/{apps/server/dist → dist}/routes/workspaces.js +0 -0
  32. /package/{apps/server/dist → dist}/server.js +0 -0
  33. /package/{apps/server/dist → dist}/types.js +0 -0
  34. /package/{apps/server/dist → dist}/utils/database.js +0 -0
  35. /package/{apps/server/dist → dist}/utils/shell.js +0 -0
  36. /package/{apps/server/dist → dist}/websocket.js +0 -0
  37. /package/{apps/web → web}/dist/assets/index-C-usl0y0.css +0 -0
  38. /package/{apps/web → web}/dist/assets/index-CibzlLP5.js +0 -0
  39. /package/{apps/web → web}/dist/index.html +0 -0
package/bin/deckide.js CHANGED
@@ -54,8 +54,7 @@ process.env.PORT = String(options.port);
54
54
  process.env.HOST = options.host;
55
55
 
56
56
  // Import and start the server
57
- const serverPath = path.join(__dirname, '..', 'apps', 'server', 'dist', 'index.js');
58
- const { createServer } = await import(path.join(__dirname, '..', 'apps', 'server', 'dist', 'server.js'));
57
+ const { createServer } = await import(path.join(__dirname, '..', 'dist', 'server.js'));
59
58
 
60
59
  const server = await createServer();
61
60
 
@@ -5,9 +5,10 @@ import { fileURLToPath } from 'node:url';
5
5
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
6
6
  // When running as a global CLI (`deckide`), DECKIDE_DATA_DIR is set to ~/.deckide/
7
7
  const globalDataDir = process.env.DECKIDE_DATA_DIR;
8
+ // New flat structure: dist/ is at root, settings.json is at root
8
9
  export const SETTINGS_FILE = globalDataDir
9
10
  ? path.join(globalDataDir, 'settings.json')
10
- : path.join(__dirname, '..', '..', 'settings.json');
11
+ : path.join(__dirname, '..', 'settings.json');
11
12
  let fileSettings = {};
12
13
  try {
13
14
  const settingsData = fsSync.readFileSync(SETTINGS_FILE, 'utf-8');
@@ -34,17 +35,11 @@ export const MAX_FILE_SIZE = parseIntEnv(process.env.MAX_FILE_SIZE, 10 * 1024 *
34
35
  export const TERMINAL_BUFFER_LIMIT = parseIntEnv(process.env.TERMINAL_BUFFER_LIMIT, 500_000);
35
36
  export const MAX_REQUEST_BODY_SIZE = parseIntEnv(process.env.MAX_REQUEST_BODY_SIZE, 1024 * 1024); // 1MB default
36
37
  export const TRUST_PROXY = process.env.TRUST_PROXY === 'true'; // Only trust proxy headers if explicitly enabled
37
- // In packaged app: server is at app.asar.unpacked/server/, web is at app.asar.unpacked/web/dist/
38
- // In development: server is at apps/server/dist/, web is at apps/web/dist/
39
- const packagedDistDir = path.resolve(__dirname, '..', 'web', 'dist');
40
- const devDistDir = path.resolve(__dirname, '..', '..', 'web', 'dist');
41
- export const distDir = fsSync.existsSync(packagedDistDir) ? packagedDistDir : devDistDir;
38
+ // Flat structure: dist/ and web/dist/ are siblings at project root
39
+ export const distDir = path.resolve(__dirname, '..', 'web', 'dist');
42
40
  export const hasStatic = fsSync.existsSync(distDir);
43
- const packagedDataDir = path.resolve(__dirname, '..', 'data');
44
- const devDataDir = path.resolve(__dirname, '..', '..', 'data');
45
- export const dataDir = globalDataDir
46
- ? globalDataDir
47
- : fsSync.existsSync(path.dirname(packagedDataDir)) && !fsSync.existsSync(devDataDir) ? packagedDataDir : devDataDir;
41
+ const localDataDir = path.resolve(__dirname, '..', 'data');
42
+ export const dataDir = globalDataDir || localDataDir;
48
43
  export const dbPath = process.env.DB_PATH || path.join(dataDir, 'deck-ide.db');
49
44
  // Validate critical configuration
50
45
  if (NODE_ENV === 'production') {
@@ -5,7 +5,7 @@ import { MAX_FILE_SIZE, DEFAULT_ROOT } from '../config.js';
5
5
  import { createHttpError, handleError, readJson } from '../utils/error.js';
6
6
  import { resolveSafePath, normalizeWorkspacePath } from '../utils/path.js';
7
7
  import { requireWorkspace } from './workspaces.js';
8
- import { sortFileEntries } from '@deck-ide/shared/utils-node';
8
+ import { sortFileEntries } from '../shared/utils-node.js';
9
9
  function mapFileEntry(entry, normalizedBase) {
10
10
  const entryPath = normalizedBase ? `${normalizedBase}/${entry.name}` : entry.name;
11
11
  return {
@@ -1,3 +1,2 @@
1
1
  // Core domain types shared across the entire application
2
2
  export {};
3
- //# sourceMappingURL=types.js.map
@@ -32,4 +32,3 @@ export function getWorkspaceName(workspacePath, fallbackIndex) {
32
32
  }
33
33
  // Re-export browser-compatible utilities
34
34
  export { getFileExtension, getLanguageFromPath, normalizePathSeparators, isHidden, getErrorMessage, createHttpError, truncate, shortId, formatFileSize, sortFileEntries } from './utils.js';
35
- //# sourceMappingURL=utils-node.js.map
@@ -183,4 +183,3 @@ export function sortFileEntries(entries) {
183
183
  return a.name.localeCompare(b.name);
184
184
  });
185
185
  }
186
- //# sourceMappingURL=utils.js.map
@@ -1,5 +1,5 @@
1
1
  import { NODE_ENV } from '../config.js';
2
- import { createHttpError as sharedCreateHttpError, getErrorMessage as sharedGetErrorMessage } from '@deck-ide/shared/utils-node';
2
+ import { createHttpError as sharedCreateHttpError, getErrorMessage as sharedGetErrorMessage } from '../shared/utils-node.js';
3
3
  export function createHttpError(message, status) {
4
4
  return sharedCreateHttpError(message, status);
5
5
  }
@@ -2,7 +2,7 @@ import fs from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import { DEFAULT_ROOT } from '../config.js';
4
4
  import { createHttpError } from './error.js';
5
- import { normalizeWorkspacePath as sharedNormalizeWorkspacePath, getWorkspaceKey as sharedGetWorkspaceKey, getWorkspaceName as sharedGetWorkspaceName } from '@deck-ide/shared/utils-node';
5
+ import { normalizeWorkspacePath as sharedNormalizeWorkspacePath, getWorkspaceKey as sharedGetWorkspaceKey, getWorkspaceName as sharedGetWorkspaceName } from '../shared/utils-node.js';
6
6
  export function normalizeWorkspacePath(inputPath = '') {
7
7
  return sharedNormalizeWorkspacePath(inputPath || '', DEFAULT_ROOT);
8
8
  }
package/package.json CHANGED
@@ -1,42 +1,67 @@
1
- {
2
- "name": "deckide",
3
- "version": "3.0.3",
4
- "description": "Deck IDE - Browser-based IDE with terminal, file explorer, and git integration",
5
- "type": "module",
6
- "bin": {
7
- "deckide": "bin/deckide.js"
8
- },
9
- "files": [
10
- "bin/",
11
- "apps/server/dist/",
12
- "apps/server/package.json",
13
- "apps/web/dist/",
14
- "packages/shared/dist/",
15
- "packages/shared/package.json",
16
- "node_modules/@deck-ide/"
17
- ],
18
- "dependencies": {
19
- "@hono/node-server": "^1.12.2",
20
- "hono": "^4.5.10",
21
- "node-pty": "^1.0.0",
22
- "simple-git": "^3.27.0",
23
- "ws": "^8.17.0",
24
- "zod": "^4.0.0"
25
- },
26
- "engines": {
27
- "node": ">=20"
28
- },
29
- "repository": {
30
- "type": "git",
31
- "url": "https://github.com/tako0614/ide.git"
32
- },
33
- "keywords": [
34
- "ide",
35
- "editor",
36
- "terminal",
37
- "web-ide",
38
- "developer-tools"
39
- ],
40
- "author": "tako0614",
41
- "license": "MIT"
42
- }
1
+ {
2
+ "name": "deckide",
3
+ "version": "3.1.0",
4
+ "description": "Deck IDE - Browser-based IDE with terminal, file explorer, and git integration",
5
+ "type": "module",
6
+ "bin": {
7
+ "deckide": "bin/deckide.js"
8
+ },
9
+ "files": [
10
+ "bin/",
11
+ "dist/",
12
+ "web/dist/"
13
+ ],
14
+ "scripts": {
15
+ "dev:web": "cd web && npx vite",
16
+ "dev:server": "npx tsx src/index.ts",
17
+ "build:web": "cd web && npx vite build",
18
+ "build:server": "tsc",
19
+ "build": "npm run build:web && npm run build:server",
20
+ "serve": "node dist/index.js",
21
+ "prepublishOnly": "npm run build"
22
+ },
23
+ "dependencies": {
24
+ "@hono/node-server": "^1.12.2",
25
+ "hono": "^4.5.10",
26
+ "node-pty": "^1.0.0",
27
+ "simple-git": "^3.27.0",
28
+ "ws": "^8.17.0",
29
+ "zod": "^4.0.0"
30
+ },
31
+ "devDependencies": {
32
+ "@monaco-editor/react": "^4.6.0",
33
+ "@tailwindcss/vite": "^4.2.1",
34
+ "@types/node": "^24.10.9",
35
+ "@types/react": "^18.3.12",
36
+ "@types/react-dom": "^18.3.1",
37
+ "@vitejs/plugin-react": "^4.2.1",
38
+ "clsx": "^2.1.1",
39
+ "react": "^18.3.1",
40
+ "react-dom": "^18.3.1",
41
+ "tailwindcss": "^4.2.1",
42
+ "tsx": "^4.19.2",
43
+ "typescript": "^5.6.3",
44
+ "vite": "^5.2.0",
45
+ "xterm": "^5.3.0",
46
+ "xterm-addon-fit": "^0.8.0",
47
+ "xterm-addon-unicode11": "^0.6.0",
48
+ "xterm-addon-web-links": "^0.9.0",
49
+ "xterm-addon-webgl": "^0.16.0"
50
+ },
51
+ "engines": {
52
+ "node": ">=22.5.0"
53
+ },
54
+ "repository": {
55
+ "type": "git",
56
+ "url": "https://github.com/tako0614/ide.git"
57
+ },
58
+ "keywords": [
59
+ "ide",
60
+ "editor",
61
+ "terminal",
62
+ "web-ide",
63
+ "developer-tools"
64
+ ],
65
+ "author": "tako0614",
66
+ "license": "MIT"
67
+ }
@@ -1,26 +0,0 @@
1
- {
2
- "name": "deck-ide-server",
3
- "private": true,
4
- "version": "0.1.0",
5
- "type": "module",
6
- "scripts": {
7
- "dev": "tsx src/index.ts",
8
- "build": "tsc",
9
- "serve": "node dist/index.js",
10
- "start": "node dist/index.js"
11
- },
12
- "dependencies": {
13
- "@deck-ide/shared": "file:../../packages/shared",
14
- "@hono/node-server": "^1.12.2",
15
- "hono": "^4.5.10",
16
- "node-pty": "^1.0.0",
17
- "simple-git": "^3.27.0",
18
- "ws": "^8.17.0",
19
- "zod": "^4.0.0"
20
- },
21
- "devDependencies": {
22
- "@types/node": "^24.10.9",
23
- "tsx": "^4.19.2",
24
- "typescript": "^5.6.3"
25
- }
26
- }
@@ -1,124 +0,0 @@
1
- export type FileEntryType = 'file' | 'dir';
2
- export interface Workspace {
3
- id: string;
4
- name: string;
5
- path: string;
6
- createdAt: string;
7
- }
8
- export interface Deck {
9
- id: string;
10
- name: string;
11
- root: string;
12
- workspaceId: string;
13
- createdAt: string;
14
- }
15
- export interface FileSystemEntry {
16
- name: string;
17
- path: string;
18
- type: FileEntryType;
19
- }
20
- export interface FileTreeNode extends FileSystemEntry {
21
- expanded: boolean;
22
- loading: boolean;
23
- children?: FileTreeNode[];
24
- }
25
- export interface EditorFile {
26
- id: string;
27
- name: string;
28
- path: string;
29
- language: string;
30
- contents: string;
31
- dirty: boolean;
32
- }
33
- export interface TerminalSession {
34
- id: string;
35
- title: string;
36
- createdAt?: string;
37
- }
38
- export interface WorkspaceState {
39
- files: EditorFile[];
40
- activeFileId: string | null;
41
- tree: FileTreeNode[];
42
- treeLoading: boolean;
43
- treeError: string | null;
44
- }
45
- export interface DeckState {
46
- terminals: TerminalSession[];
47
- }
48
- export interface ApiError {
49
- error: string;
50
- }
51
- export interface ApiConfig {
52
- defaultRoot: string;
53
- }
54
- export interface ApiFileResponse {
55
- path: string;
56
- contents: string;
57
- }
58
- export interface ApiFileSaveResponse {
59
- path: string;
60
- saved: boolean;
61
- }
62
- export interface ApiTerminalCreateResponse {
63
- id: string;
64
- title: string;
65
- }
66
- export interface CreateWorkspaceRequest {
67
- path: string;
68
- name?: string;
69
- }
70
- export interface CreateDeckRequest {
71
- name?: string;
72
- workspaceId: string;
73
- }
74
- export interface CreateTerminalRequest {
75
- deckId: string;
76
- title?: string;
77
- }
78
- export interface SaveFileRequest {
79
- workspaceId: string;
80
- path: string;
81
- contents: string;
82
- }
83
- export interface GetFileRequest {
84
- workspaceId: string;
85
- path: string;
86
- }
87
- export interface GetFilesRequest {
88
- workspaceId: string;
89
- path?: string;
90
- }
91
- export interface GetPreviewRequest {
92
- path: string;
93
- subpath?: string;
94
- }
95
- export type GitFileStatusCode = 'modified' | 'staged' | 'untracked' | 'deleted' | 'renamed' | 'conflicted';
96
- export interface GitFileStatus {
97
- path: string;
98
- status: GitFileStatusCode;
99
- staged: boolean;
100
- }
101
- export interface GitStatus {
102
- isGitRepo: boolean;
103
- branch: string;
104
- files: GitFileStatus[];
105
- }
106
- export interface GitDiff {
107
- original: string;
108
- modified: string;
109
- path: string;
110
- }
111
- export interface GitRepoInfo {
112
- path: string;
113
- name: string;
114
- branch: string;
115
- fileCount: number;
116
- }
117
- export interface GitFileStatusWithRepo extends GitFileStatus {
118
- repoPath: string;
119
- }
120
- export interface MultiRepoGitStatus {
121
- repos: GitRepoInfo[];
122
- files: GitFileStatusWithRepo[];
123
- }
124
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../types.ts"],"names":[],"mappings":"AAAA,yDAAyD"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Normalize a workspace path to an absolute path (Node.js version)
3
- * @param inputPath - Input path (can be relative or absolute)
4
- * @param defaultPath - Default path to use if inputPath is empty
5
- * @returns Normalized absolute path
6
- */
7
- export declare function normalizeWorkspacePath(inputPath: string, defaultPath: string): string;
8
- /**
9
- * Get a workspace key for indexing (handles case-insensitivity on Windows)
10
- * @param workspacePath - Workspace path
11
- * @returns Normalized key for indexing
12
- */
13
- export declare function getWorkspaceKey(workspacePath: string): string;
14
- /**
15
- * Extract a workspace name from its path
16
- * @param workspacePath - Workspace path
17
- * @param fallbackIndex - Index to use for fallback name
18
- * @returns Workspace name
19
- */
20
- export declare function getWorkspaceName(workspacePath: string, fallbackIndex: number): string;
21
- export { getFileExtension, getLanguageFromPath, normalizePathSeparators, isHidden, getErrorMessage, createHttpError, truncate, shortId, formatFileSize, sortFileEntries } from './utils.js';
22
- //# sourceMappingURL=utils-node.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-node.d.ts","sourceRoot":"","sources":["../utils-node.ts"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAErF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAIrF;AAGD,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,QAAQ,EACR,eAAe,EACf,eAAe,EACf,QAAQ,EACR,OAAO,EACP,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-node.js","sourceRoot":"","sources":["../utils-node.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,qEAAqE;AAErE,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,WAAmB;IAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,WAAW,CAAC,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,aAAqB;IACnD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACxD,OAAO,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AAC9E,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAqB,EAAE,aAAqB;IAC3E,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,IAAI,IAAI,WAAW,aAAa,EAAE,CAAC;AAC5C,CAAC;AAED,yCAAyC;AACzC,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,uBAAuB,EACvB,QAAQ,EACR,eAAe,EACf,eAAe,EACf,QAAQ,EACR,OAAO,EACP,cAAc,EACd,eAAe,EAChB,MAAM,YAAY,CAAC"}
@@ -1,90 +0,0 @@
1
- /**
2
- * Get a workspace key for indexing (handles case-insensitivity on Windows)
3
- * @param workspacePath - Workspace path
4
- * @returns Normalized key for indexing
5
- */
6
- export declare function getWorkspaceKey(workspacePath: string): string;
7
- /**
8
- * Extract a workspace name from its path
9
- * @param workspacePath - Workspace path
10
- * @param fallbackIndex - Index to use for fallback name
11
- * @returns Workspace name
12
- */
13
- export declare function getWorkspaceName(workspacePath: string, fallbackIndex: number): string;
14
- /**
15
- * Normalize a workspace path to an absolute path
16
- * Note: This function requires Node.js path module
17
- * For browser usage, import from utils-node.ts instead
18
- * @param inputPath - Input path (can be relative or absolute)
19
- * @param defaultPath - Default path to use if inputPath is empty
20
- * @returns Normalized absolute path
21
- */
22
- export declare function normalizeWorkspacePath(inputPath: string, defaultPath: string): string;
23
- /**
24
- * Get file extension from a path
25
- * @param filePath - File path
26
- * @returns File extension (without dot) or empty string
27
- */
28
- export declare function getFileExtension(filePath: string): string;
29
- /**
30
- * Map file extension to Monaco editor language
31
- * @param filePath - File path
32
- * @returns Monaco language identifier
33
- */
34
- export declare function getLanguageFromPath(filePath: string): string;
35
- /**
36
- * Normalize path separators to forward slashes
37
- * @param inputPath - Input path
38
- * @returns Path with forward slashes
39
- */
40
- export declare function normalizePathSeparators(inputPath: string): string;
41
- /**
42
- * Check if a path is a hidden file or directory (starts with .)
43
- * @param name - File or directory name
44
- * @returns True if hidden
45
- */
46
- export declare function isHidden(name: string): boolean;
47
- /**
48
- * Get error message from unknown error type
49
- * @param error - Error object
50
- * @returns Error message string
51
- */
52
- export declare function getErrorMessage(error: unknown): string;
53
- /**
54
- * Create an HTTP error with status code
55
- * @param message - Error message
56
- * @param status - HTTP status code
57
- * @returns Error object with status property
58
- */
59
- export declare function createHttpError(message: string, status: number): Error & {
60
- status: number;
61
- };
62
- /**
63
- * Truncate string to max length with ellipsis
64
- * @param str - Input string
65
- * @param maxLength - Maximum length
66
- * @returns Truncated string
67
- */
68
- export declare function truncate(str: string, maxLength: number): string;
69
- /**
70
- * Generate a short ID from a UUID (first 8 characters)
71
- * @param uuid - Full UUID
72
- * @returns Short ID
73
- */
74
- export declare function shortId(uuid: string): string;
75
- /**
76
- * Format file size in human-readable format
77
- * @param bytes - File size in bytes
78
- * @returns Formatted file size string
79
- */
80
- export declare function formatFileSize(bytes: number): string;
81
- /**
82
- * Sort file system entries (directories first, then alphabetically)
83
- * @param entries - Array of file system entries
84
- * @returns Sorted array
85
- */
86
- export declare function sortFileEntries<T extends {
87
- name: string;
88
- type: 'file' | 'dir';
89
- }>(entries: T[]): T[];
90
- //# sourceMappingURL=utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM,CAMrF;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAIrF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CA+C5D;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKtD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAI3F;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMpD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAOnG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../utils.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAEhD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,aAAqB;IACnD,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACxD,qEAAqE;IACrE,MAAM,QAAQ,GAAG,OAAO,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,OAAO,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC;AACtE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,aAAqB,EAAE,aAAqB;IAC3E,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IACrD,8BAA8B;IAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3C,OAAO,IAAI,IAAI,WAAW,aAAa,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,WAAmB;IAC3E,4CAA4C;IAC5C,gEAAgE;IAChE,OAAO,SAAS,IAAI,WAAW,CAAC;AAClC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC1C,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,OAAO,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC/C,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IACxC,OAAO,GAAG,CAAC,WAAW,EAAE,CAAC;AAC3B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,MAAM,GAAG,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,WAAW,GAA2B;QAC1C,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,YAAY;QACnB,IAAI,EAAE,YAAY;QAClB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,MAAM;QACZ,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,KAAK;QACX,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,KAAK;QACZ,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,OAAO;QACd,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,KAAK;QACZ,SAAS,EAAE,SAAS;QACpB,KAAK,EAAE,KAAK;QACZ,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,KAAK;QACZ,GAAG,EAAE,GAAG;QACR,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,KAAK;QACZ,YAAY,EAAE,YAAY;KAC3B,CAAC;IAEF,OAAO,WAAW,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC;AACzC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACvD,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY;IACnC,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC9B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACvB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,MAAc;IAC7D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAA+B,CAAC;IAC/D,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAW,EAAE,SAAiB;IACrD,IAAI,GAAG,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC;IACxC,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,KAAK,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC9B,MAAM,CAAC,GAAG,IAAI,CAAC;IACf,MAAM,KAAK,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,OAAO,GAAG,UAAU,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAmD,OAAY;IAC5F,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAC3B,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YACtB,OAAO,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,CAAC;QACD,OAAO,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -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