@knockdata/objectexplorer 0.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 (46) hide show
  1. package/app/assets/AudioConverterWorker.js +1 -0
  2. package/app/assets/WorkerParser.js +872 -0
  3. package/app/assets/esm-worker.js +1 -0
  4. package/app/assets/esm.js +1 -0
  5. package/app/assets/ffmpeg-core.js +16 -0
  6. package/app/assets/ffmpeg-core.wasm +0 -0
  7. package/app/assets/index.css +1 -0
  8. package/app/assets/index.js +1903 -0
  9. package/app/assets/search-worker.js +3 -0
  10. package/app/assets/wasm-worker.js +7800 -0
  11. package/app/audio/twinkle-twinkle-little-star.mid +0 -0
  12. package/app/codicon.ttf +0 -0
  13. package/app/img/128.png +0 -0
  14. package/app/img/16.png +0 -0
  15. package/app/img/192.png +0 -0
  16. package/app/img/256.png +0 -0
  17. package/app/img/32.png +0 -0
  18. package/app/img/512.png +0 -0
  19. package/app/img/64.png +0 -0
  20. package/app/img/hero.jpg +0 -0
  21. package/app/img/img.png +0 -0
  22. package/app/img/screenshot.png +0 -0
  23. package/app/index.html +50 -0
  24. package/app/seti.woff +0 -0
  25. package/app/seti.woff2 +0 -0
  26. package/app/sounds2/ac4.mp3 +0 -0
  27. package/app/sounds2/acrash.mp3 +0 -0
  28. package/app/sounds2/ahihat-foot.mp3 +0 -0
  29. package/app/sounds2/ahihat.mp3 +0 -0
  30. package/app/sounds2/akick.mp3 +0 -0
  31. package/app/sounds2/aopenhat.mp3 +0 -0
  32. package/app/sounds2/aride.mp3 +0 -0
  33. package/app/sounds2/asnare-stick.mp3 +0 -0
  34. package/app/sounds2/asnare.mp3 +0 -0
  35. package/app/sounds2/atom1.mp3 +0 -0
  36. package/app/sounds2/atom2.mp3 +0 -0
  37. package/app/sounds2/atom3.mp3 +0 -0
  38. package/cli.js +76 -0
  39. package/demo/.meta.bin +0 -0
  40. package/demo/README.md +5 -0
  41. package/demo/employee-data.sav +0 -0
  42. package/demo/nl_train_stations.parquet +0 -0
  43. package/demo/synthetic-survival.xpt +0 -0
  44. package/package.json +28 -0
  45. package/server/WebServer.mjs +8732 -0
  46. package/server/sqlite.wasm +0 -0
Binary file
Binary file
package/app/img/16.png ADDED
Binary file
Binary file
Binary file
package/app/img/32.png ADDED
Binary file
Binary file
package/app/img/64.png ADDED
Binary file
Binary file
Binary file
Binary file
package/app/index.html ADDED
@@ -0,0 +1,50 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+
4
+ <head>
5
+ <meta charset="UTF-8" />
6
+ <link href="/img/64.png" rel="icon" type="image/png" />
7
+ <meta content="width=device-width, initial-scale=1.0" name="viewport" />
8
+ <meta name="color-scheme" content="light dark" />
9
+ <title>ObjectExplorer — The VS Code for Cloud Storage</title>
10
+ <style>
11
+ /* paint the window background before any stylesheet loads, following the system setting,
12
+ so startup does not flash white before switching to the app theme */
13
+ :root {
14
+ color-scheme: light dark;
15
+ background: #1f1f1f;
16
+ }
17
+
18
+ @media (prefers-color-scheme: light) {
19
+ :root {
20
+ background: #ffffff;
21
+ }
22
+ }
23
+
24
+ @font-face {
25
+ font-family: 'codicon';
26
+ src: url('/codicon.ttf') format('truetype');
27
+ font-weight: normal;
28
+ font-style: normal;
29
+ }
30
+
31
+ @font-face {
32
+ font-family: 'seti';
33
+ src: url('/seti.woff') format('woff');
34
+ font-weight: normal;
35
+ font-style: normal;
36
+ }
37
+ </style>
38
+ <script type="module" crossorigin src="/assets/index.js"></script>
39
+ <link rel="stylesheet" crossorigin href="/assets/index.css">
40
+ </head>
41
+
42
+ <body style="width: 100vw; height: 100vh; margin: 0; padding: 0; overflow: hidden;" data-theme='dark'
43
+ class="theme-dark">
44
+ <!-- <svg id="offscreen" style="position: absolute; left: -100%; top: 100%;"></svg> -->
45
+ <div id="app" style="flex-grow: 0"></div>
46
+ <svg id="offscreen" style="position: fixed; left: -100%; top: 100%;"></svg>
47
+ <div id="fixed" style="position: fixed;"></div>
48
+ </body>
49
+
50
+ </html>
package/app/seti.woff ADDED
Binary file
package/app/seti.woff2 ADDED
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/cli.js ADDED
@@ -0,0 +1,76 @@
1
+ #!/usr/bin/env node
2
+ // npx objectexplorer [folder] [port=NNNN]
3
+ // Serves the Explorer app locally from the self-contained bundle, then opens the
4
+ // browser. Full local access: the local filesystem folder provider and cloud
5
+ // connectors are enabled (publicServer is left off, matching the desktop app).
6
+ import path, { resolve } from "node:path"
7
+ import os from "node:os"
8
+ import fs from "node:fs"
9
+ import { fileURLToPath } from "node:url"
10
+ import { spawn } from "node:child_process"
11
+
12
+
13
+ const positional = []
14
+ const args = {}
15
+ for (const arg of process.argv.slice(2)) {
16
+ if (arg.includes("=")) {
17
+ const [key, value] = arg.split("=")
18
+ args[key] = value
19
+ }
20
+ else {
21
+ positional.push(arg)
22
+ }
23
+ }
24
+
25
+ const port = args.port ? +args.port : 9421
26
+ const mode = args.mode ?? 'prod'
27
+
28
+ const here = path.dirname(fileURLToPath(import.meta.url))
29
+ const bundleDir = path.join(here, "server")
30
+ const appDir = path.join(here, "app")
31
+
32
+ // the demo dataset is its own package (objectexplorer-demo) and is not installed here by
33
+ // default; without it the backend proxies demo requests to objectexplorer.com
34
+ const demoDir = path.join(here, "demo")
35
+ let demoPath = null
36
+ if (fs.existsSync(demoDir)) {
37
+ demoPath = demoDir
38
+ }
39
+
40
+ const startFolder = positional[0] ? path.resolve(positional[0]) : process.cwd()
41
+ const userData = path.join(os.homedir(), ".objectexplorer")
42
+ fs.mkdirSync(userData, { recursive: true })
43
+
44
+ // clicking "add folder" in the UI has no native dialog here, so return the folder
45
+ // given on the command line (or the current directory) to make it browsable.
46
+ const openFolder = async () => startFolder
47
+
48
+ const serverPath = mode === "dev" ? "../server/WebServer.js" : path.join(bundleDir, "WebServer.mjs")
49
+
50
+ const { WebServer } = await import(serverPath)
51
+ const server = await WebServer({
52
+ mode,
53
+ appDir,
54
+ publicDir: appDir,
55
+ demoPath,
56
+ userData,
57
+ openFolder,
58
+ port,
59
+ portRetry: true,
60
+ })
61
+ const listenPort = await server.start()
62
+ const url = `http://localhost:${listenPort}`
63
+ console.log(`ObjectExplorer running at ${url}`)
64
+ openBrowser(url)
65
+
66
+ function openBrowser(target) {
67
+ if (process.platform === "darwin") {
68
+ spawn("open", [target], { stdio: "ignore", detached: true }).unref()
69
+ }
70
+ else if (process.platform === "win32") {
71
+ spawn("cmd", ["/c", "start", "", target], { stdio: "ignore", detached: true }).unref()
72
+ }
73
+ else {
74
+ spawn("xdg-open", [target], { stdio: "ignore", detached: true }).unref()
75
+ }
76
+ }
package/demo/.meta.bin ADDED
Binary file
package/demo/README.md ADDED
@@ -0,0 +1,5 @@
1
+ # A demo package for holding example file for [ObjectExplorer](ObjectExplorer.com)
2
+
3
+ - nl_train_stations.parquet, railway traffic in the netherlands in parquet format, created from this [blog](https://duckdb.org/2024/05/31/analyzing-railway-traffic-in-the-netherlands)
4
+ - synthetic-survival.xpt
5
+ - employee-data.sav
Binary file
Binary file
Binary file
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@knockdata/objectexplorer",
3
+ "version": "0.1.0",
4
+ "description": "The VSCode for Cloud Storage — Explore, Analyze, Search your cloud storage locally with single click",
5
+ "type": "module",
6
+ "license": "ISC",
7
+ "bin": {
8
+ "objectexplorer": "./cli.js"
9
+ },
10
+ "main": "./server/WebServer.mjs",
11
+ "exports": {
12
+ ".": "./server/WebServer.mjs",
13
+ "./cli": "./cli.js",
14
+ "./package.json": "./package.json"
15
+ },
16
+ "files": [
17
+ "cli.js",
18
+ "app/**",
19
+ "server/**",
20
+ "demo/**",
21
+ "!**/.*",
22
+ "!**/*.js.map",
23
+ "demo/.meta.bin"
24
+ ],
25
+ "engines": {
26
+ "node": ">=20"
27
+ }
28
+ }