@ecmaos/types 0.6.1 → 0.7.1

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,5 +1,5 @@
1
1
 
2
2
 
3
- > @ecmaos/types@0.6.1 build /home/archmag0s/code/ecmaos/core/types
3
+ > @ecmaos/types@0.7.1 build /home/archmag0s/code/ecmaos/core/types
4
4
  > tsc
5
5
 
package/CHANGELOG.md CHANGED
@@ -1,5 +1,48 @@
1
1
  # @ecmaos/types
2
2
 
3
+ ## 0.7.1
4
+
5
+ ### Patch Changes
6
+
7
+ - f332a2f: Upgrade xterm and support progress escape sequences controlling topbar
8
+
9
+ ## 0.7.0
10
+
11
+ ### Minor Changes
12
+
13
+ - c6d3ea8: Filesystem & Mount System
14
+
15
+ - Added fstab file processing and parsing utilities
16
+ - Implemented mount and umount commands with full filesystem support
17
+ - Changed environment variable prefix handling
18
+ - Enhanced filesystem configuration and mount management
19
+
20
+ Environment Management
21
+
22
+ - Added support for global /etc/env file
23
+ - Fixed env command argument handling
24
+ - New env command implementation in core/utils
25
+
26
+ Documentation & SEO
27
+
28
+ - Enhanced HTML metadata and SEO improvements
29
+ - Added AI and passkey tutorials
30
+ - Updated README with expanded documentation
31
+ - Added lighthouse performance report
32
+ - Updated project description
33
+
34
+ Bug Fixes & Enhancements
35
+
36
+ - Enhanced cron command with improved parsing and functionality
37
+ - Fixed readline bug in terminal
38
+ - Fixed less command first-line offset display issue
39
+
40
+ Miscellaneous
41
+
42
+ - Removed offers metadata from HTML
43
+ - Sorted package.json scripts
44
+ - Synced documentation across codebase
45
+
3
46
  ## 0.6.1
4
47
 
5
48
  ### Patch Changes
package/dist/dom.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import type { TopbarConfigOptions } from 'topbar';
1
2
  /**
2
3
  * DOM types and interfaces
3
4
  */
@@ -21,5 +22,15 @@ export interface Dom {
21
22
  * @param show - Optional boolean to set visibility state
22
23
  */
23
24
  topbar(show?: boolean): Promise<void>;
25
+ /**
26
+ * Configure the topbar
27
+ * @param options - Options to configure the topbar (@see https://buunguyen.github.io/topbar)
28
+ */
29
+ topbarConfig(options: TopbarConfigOptions): Promise<void>;
30
+ /**
31
+ * Set the topbar progress
32
+ * @param value - Progress value (0-100)
33
+ */
34
+ topbarProgress(value: number): Promise<void>;
24
35
  }
25
36
  //# sourceMappingURL=dom.d.ts.map
package/dist/dom.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../dom.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CACtC"}
1
+ {"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../dom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAA;AAEjD;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,iCAAiC;IACjC,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,GAAG;IAClB,gCAAgC;IAChC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IAEvB;;;OAGG;IACH,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAErC;;;OAGG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEzD;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7C"}
package/dist/dom.js CHANGED
@@ -1,5 +1,2 @@
1
- /**
2
- * DOM types and interfaces
3
- */
4
1
  export {};
5
2
  //# sourceMappingURL=dom.js.map
package/dist/dom.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"dom.js","sourceRoot":"","sources":["../dom.ts"],"names":[],"mappings":"AAAA;;GAEG"}
1
+ {"version":3,"file":"dom.js","sourceRoot":"","sources":["../dom.ts"],"names":[],"mappings":""}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Filesystem types and interfaces
3
3
  */
4
- import type { Configuration, ConfigMounts, fs } from '@zenfs/core';
4
+ import type { Configuration, ConfigMounts, fs, mounts } from '@zenfs/core';
5
5
  import type { TFunction } from 'i18next';
6
6
  /**
7
7
  * Type alias for filesystem mount configurations
@@ -35,6 +35,33 @@ export interface FilesystemDescriptions {
35
35
  */
36
36
  descriptions: (t?: TFunction | ((key: string) => string)) => Map<string, string>;
37
37
  }
38
+ /**
39
+ * Represents an entry in the fstab (filesystem table).
40
+ * Analogous to /etc/fstab in Linux, but simplified for our use.
41
+ */
42
+ export interface FstabEntry {
43
+ /**
44
+ * The source of the mount, e.g., device, URL, database name, etc.
45
+ * For memory/webstorage/dropbox/googledrive, this may be empty/ignored.
46
+ */
47
+ source: string;
48
+ /**
49
+ * The target mount point (absolute path in the virtual FS)
50
+ */
51
+ target: string;
52
+ /**
53
+ * Filesystem type (e.g., 'memory', 'fetch', 'indexeddb', 'webstorage', 'zip', 'iso', 'dropbox', 'googledrive', etc.)
54
+ */
55
+ type: string;
56
+ /**
57
+ * Optional comma-separated mount options (e.g., "size=1048576,storage=localStorage")
58
+ */
59
+ options?: string;
60
+ }
61
+ /**
62
+ * fstab table: a list of fstab entries.
63
+ */
64
+ export type Fstab = FstabEntry[];
38
65
  /**
39
66
  * Interface for filesystem functionality
40
67
  */
@@ -50,6 +77,7 @@ export interface Filesystem {
50
77
  /** Get the synchronous filesystem instance */
51
78
  readonly fsSync: typeof fs;
52
79
  /** Get mounted filesystems */
80
+ readonly mounts: typeof mounts;
53
81
  /**
54
82
  * Configure the filesystem
55
83
  * @param options - Configuration options
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../filesystem.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,aAAa,CAAA;AAClE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAA;AAEjD;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,sBAAsB,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;AAElF;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AAEzB;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjF;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAChD,+BAA+B;IAC/B,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAA;IACvB,iCAAiC;IAEjC,gCAAgC;IAEhC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAA;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAA;IAC1B,8BAA8B;IAG9B;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3E;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEtC;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEvE;;;OAGG;IACH,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7E"}
1
+ {"version":3,"file":"filesystem.d.ts","sourceRoot":"","sources":["../filesystem.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAC1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAExC;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,YAAY,CAAA;AAEjD;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,sBAAsB,IAAI,aAAa,CAAC,CAAC,CAAC,CAAA;AAElF;;GAEG;AACH,MAAM,MAAM,IAAI,GAAG,MAAM,CAAA;AAEzB;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAA;IACZ,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;OAEG;IACH,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACjF;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG,UAAU,EAAE,CAAA;AAGhC;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uCAAuC;IACvC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC,YAAY,CAAC,CAAA;IAChD,+BAA+B;IAC/B,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAA;IACvB,iCAAiC;IAEjC,gCAAgC;IAEhC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE,CAAC,QAAQ,CAAA;IAC/B,8CAA8C;IAC9C,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAA;IAC1B,8BAA8B;IAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,MAAM,CAAA;IAE9B;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE3E;;;OAGG;IACH,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAEtC;;;;OAIG;IACH,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAEvE;;;OAGG;IACH,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC7E"}
package/dom.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import type { TopbarConfigOptions } from 'topbar'
2
+
1
3
  /**
2
4
  * DOM types and interfaces
3
5
  */
@@ -24,4 +26,16 @@ export interface Dom {
24
26
  * @param show - Optional boolean to set visibility state
25
27
  */
26
28
  topbar(show?: boolean): Promise<void>
29
+
30
+ /**
31
+ * Configure the topbar
32
+ * @param options - Options to configure the topbar (@see https://buunguyen.github.io/topbar)
33
+ */
34
+ topbarConfig(options: TopbarConfigOptions): Promise<void>
35
+
36
+ /**
37
+ * Set the topbar progress
38
+ * @param value - Progress value (0-100)
39
+ */
40
+ topbarProgress(value: number): Promise<void>
27
41
  }
package/filesystem.ts CHANGED
@@ -2,7 +2,7 @@
2
2
  * Filesystem types and interfaces
3
3
  */
4
4
 
5
- import type { Configuration, ConfigMounts, fs } from '@zenfs/core'
5
+ import type { Configuration, ConfigMounts, fs, mounts } from '@zenfs/core'
6
6
  import type { TFunction } from 'i18next'
7
7
 
8
8
  /**
@@ -42,6 +42,36 @@ export interface FilesystemDescriptions {
42
42
  descriptions: (t?: TFunction | ((key: string) => string)) => Map<string, string>
43
43
  }
44
44
 
45
+ /**
46
+ * Represents an entry in the fstab (filesystem table).
47
+ * Analogous to /etc/fstab in Linux, but simplified for our use.
48
+ */
49
+ export interface FstabEntry {
50
+ /**
51
+ * The source of the mount, e.g., device, URL, database name, etc.
52
+ * For memory/webstorage/dropbox/googledrive, this may be empty/ignored.
53
+ */
54
+ source: string
55
+ /**
56
+ * The target mount point (absolute path in the virtual FS)
57
+ */
58
+ target: string
59
+ /**
60
+ * Filesystem type (e.g., 'memory', 'fetch', 'indexeddb', 'webstorage', 'zip', 'iso', 'dropbox', 'googledrive', etc.)
61
+ */
62
+ type: string
63
+ /**
64
+ * Optional comma-separated mount options (e.g., "size=1048576,storage=localStorage")
65
+ */
66
+ options?: string
67
+ }
68
+
69
+ /**
70
+ * fstab table: a list of fstab entries.
71
+ */
72
+ export type Fstab = FstabEntry[]
73
+
74
+
45
75
  /**
46
76
  * Interface for filesystem functionality
47
77
  */
@@ -59,7 +89,7 @@ export interface Filesystem {
59
89
  /** Get the synchronous filesystem instance */
60
90
  readonly fsSync: typeof fs
61
91
  /** Get mounted filesystems */
62
- // readonly mounts: Map<string, any>
92
+ readonly mounts: typeof mounts
63
93
 
64
94
  /**
65
95
  * Configure the filesystem
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ecmaos/types",
3
- "version": "0.6.1",
3
+ "version": "0.7.1",
4
4
  "description": "Type definitions for ecmaOS",
5
5
  "author": "Jay Mathis",
6
6
  "license": "MIT+Apache-2.0",
@@ -17,6 +17,7 @@
17
17
  "chalk": "^5.3.0",
18
18
  "i18next": "^23.16.6",
19
19
  "notyf": "^3.10.0",
20
+ "topbar": "^3.0.0",
20
21
  "@ecmaos/bios": "^0.2.0"
21
22
  },
22
23
  "devDependencies": {