surrge 0.4.8 → 0.4.10

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.js CHANGED
@@ -3598,7 +3598,7 @@ var require_promise_limit = __commonJS((exports, module) => {
3598
3598
  // package.json
3599
3599
  var package_default = {
3600
3600
  name: "surrge",
3601
- version: "0.4.8",
3601
+ version: "0.4.10",
3602
3602
  description: "One-line observability + analytics for Node.js/Bun",
3603
3603
  type: "module",
3604
3604
  exports: {
@@ -3700,22 +3700,28 @@ __export(exports_collector, {
3700
3700
  // src/storage/db.ts
3701
3701
  var exports_db = {};
3702
3702
  __export(exports_db, {
3703
+ warnIfEphemeral: () => warnIfEphemeral,
3703
3704
  reset: () => reset,
3704
3705
  recentRequests: () => recentRequests,
3705
3706
  recentPageViews: () => recentPageViews,
3706
3707
  recentMetrics: () => recentMetrics,
3707
3708
  recentLogs: () => recentLogs,
3708
3709
  recentErrors: () => recentErrors,
3710
+ parseVolume: () => parseVolume,
3711
+ isWritable: () => isWritable,
3709
3712
  insertRequest: () => insertRequest,
3710
3713
  insertPageView: () => insertPageView,
3711
3714
  insertMetric: () => insertMetric,
3712
3715
  insertLog: () => insertLog,
3713
3716
  insertError: () => insertError,
3714
3717
  init: () => init,
3718
+ inDocker: () => inDocker,
3719
+ findVolume: () => findVolume,
3715
3720
  db: () => db,
3716
3721
  cleanup: () => cleanup,
3717
3722
  analytics: () => analytics
3718
3723
  });
3724
+ import { accessSync, constants, existsSync, readFileSync, statSync } from "node:fs";
3719
3725
 
3720
3726
  // node_modules/@libsql/core/lib-esm/api.js
3721
3727
  class LibsqlError extends Error {
@@ -8494,8 +8500,68 @@ CREATE INDEX IF NOT EXISTS idx_server_metrics_timestamp ON server_metrics(timest
8494
8500
  var RETENTION_DAYS = 7;
8495
8501
 
8496
8502
  // src/storage/db.ts
8503
+ var SYSTEM_PATHS = ["/proc", "/sys", "/dev", "/run", "/tmp", "/etc", "/bin", "/lib", "/usr", "/sbin", "/boot"];
8504
+ var inDocker = () => {
8505
+ return existsSync("/.dockerenv");
8506
+ };
8507
+ var isWritable = (path) => {
8508
+ try {
8509
+ accessSync(path, constants.W_OK);
8510
+ return true;
8511
+ } catch {
8512
+ return false;
8513
+ }
8514
+ };
8515
+ var parseVolume = (mountsContent, rootDev) => {
8516
+ for (const line of mountsContent.split(`
8517
+ `)) {
8518
+ const parts = line.split(" ");
8519
+ if (parts.length < 2)
8520
+ continue;
8521
+ const mountPoint = parts[1];
8522
+ if (mountPoint === "/")
8523
+ continue;
8524
+ if (SYSTEM_PATHS.some((sys) => mountPoint === sys || mountPoint.startsWith(`${sys}/`)))
8525
+ continue;
8526
+ if (!existsSync(mountPoint))
8527
+ continue;
8528
+ try {
8529
+ const mountDev = statSync(mountPoint).dev;
8530
+ if (mountDev !== rootDev && isWritable(mountPoint)) {
8531
+ return mountPoint;
8532
+ }
8533
+ } catch {
8534
+ continue;
8535
+ }
8536
+ }
8537
+ return null;
8538
+ };
8539
+ var findVolume = () => {
8540
+ if (!existsSync("/proc/mounts"))
8541
+ return null;
8542
+ try {
8543
+ const rootDev = statSync("/").dev;
8544
+ const mounts = readFileSync("/proc/mounts", "utf-8");
8545
+ return parseVolume(mounts, rootDev);
8546
+ } catch {
8547
+ return null;
8548
+ }
8549
+ };
8550
+ var resolvePath = () => {
8551
+ if (process.env.SURRGE_DB_PATH)
8552
+ return process.env.SURRGE_DB_PATH;
8553
+ const volume = findVolume();
8554
+ if (volume)
8555
+ return `${volume}/surrge.db`;
8556
+ return "surrge.db";
8557
+ };
8558
+ var warnIfEphemeral = () => {
8559
+ if (inDocker() && !findVolume() && !process.env.SURRGE_DB_PATH) {
8560
+ console.warn("[surrge] Running in Docker without persistent storage. Mount a volume at /data to persist data.");
8561
+ }
8562
+ };
8497
8563
  var client = null;
8498
- var init = (path = "surrge.db") => {
8564
+ var init = (path = resolvePath()) => {
8499
8565
  if (client)
8500
8566
  return client;
8501
8567
  const url = path === ":memory:" ? ":memory:" : `file:${path}`;
@@ -10866,6 +10932,7 @@ var handleDashboard = async (req, res) => {
10866
10932
 
10867
10933
  // src/register.ts
10868
10934
  init();
10935
+ warnIfEphemeral();
10869
10936
  start();
10870
10937
  start2();
10871
10938
  start3();
package/dist/loader.js CHANGED
@@ -3598,7 +3598,7 @@ var require_promise_limit = __commonJS((exports, module) => {
3598
3598
  // package.json
3599
3599
  var package_default = {
3600
3600
  name: "surrge",
3601
- version: "0.4.8",
3601
+ version: "0.4.10",
3602
3602
  description: "One-line observability + analytics for Node.js/Bun",
3603
3603
  type: "module",
3604
3604
  exports: {
@@ -3700,22 +3700,28 @@ __export(exports_collector, {
3700
3700
  // src/storage/db.ts
3701
3701
  var exports_db = {};
3702
3702
  __export(exports_db, {
3703
+ warnIfEphemeral: () => warnIfEphemeral,
3703
3704
  reset: () => reset,
3704
3705
  recentRequests: () => recentRequests,
3705
3706
  recentPageViews: () => recentPageViews,
3706
3707
  recentMetrics: () => recentMetrics,
3707
3708
  recentLogs: () => recentLogs,
3708
3709
  recentErrors: () => recentErrors,
3710
+ parseVolume: () => parseVolume,
3711
+ isWritable: () => isWritable,
3709
3712
  insertRequest: () => insertRequest,
3710
3713
  insertPageView: () => insertPageView,
3711
3714
  insertMetric: () => insertMetric,
3712
3715
  insertLog: () => insertLog,
3713
3716
  insertError: () => insertError,
3714
3717
  init: () => init,
3718
+ inDocker: () => inDocker,
3719
+ findVolume: () => findVolume,
3715
3720
  db: () => db,
3716
3721
  cleanup: () => cleanup,
3717
3722
  analytics: () => analytics
3718
3723
  });
3724
+ import { accessSync, constants, existsSync, readFileSync, statSync } from "node:fs";
3719
3725
 
3720
3726
  // node_modules/@libsql/core/lib-esm/api.js
3721
3727
  class LibsqlError extends Error {
@@ -8494,8 +8500,68 @@ CREATE INDEX IF NOT EXISTS idx_server_metrics_timestamp ON server_metrics(timest
8494
8500
  var RETENTION_DAYS = 7;
8495
8501
 
8496
8502
  // src/storage/db.ts
8503
+ var SYSTEM_PATHS = ["/proc", "/sys", "/dev", "/run", "/tmp", "/etc", "/bin", "/lib", "/usr", "/sbin", "/boot"];
8504
+ var inDocker = () => {
8505
+ return existsSync("/.dockerenv");
8506
+ };
8507
+ var isWritable = (path) => {
8508
+ try {
8509
+ accessSync(path, constants.W_OK);
8510
+ return true;
8511
+ } catch {
8512
+ return false;
8513
+ }
8514
+ };
8515
+ var parseVolume = (mountsContent, rootDev) => {
8516
+ for (const line of mountsContent.split(`
8517
+ `)) {
8518
+ const parts = line.split(" ");
8519
+ if (parts.length < 2)
8520
+ continue;
8521
+ const mountPoint = parts[1];
8522
+ if (mountPoint === "/")
8523
+ continue;
8524
+ if (SYSTEM_PATHS.some((sys) => mountPoint === sys || mountPoint.startsWith(`${sys}/`)))
8525
+ continue;
8526
+ if (!existsSync(mountPoint))
8527
+ continue;
8528
+ try {
8529
+ const mountDev = statSync(mountPoint).dev;
8530
+ if (mountDev !== rootDev && isWritable(mountPoint)) {
8531
+ return mountPoint;
8532
+ }
8533
+ } catch {
8534
+ continue;
8535
+ }
8536
+ }
8537
+ return null;
8538
+ };
8539
+ var findVolume = () => {
8540
+ if (!existsSync("/proc/mounts"))
8541
+ return null;
8542
+ try {
8543
+ const rootDev = statSync("/").dev;
8544
+ const mounts = readFileSync("/proc/mounts", "utf-8");
8545
+ return parseVolume(mounts, rootDev);
8546
+ } catch {
8547
+ return null;
8548
+ }
8549
+ };
8550
+ var resolvePath = () => {
8551
+ if (process.env.SURRGE_DB_PATH)
8552
+ return process.env.SURRGE_DB_PATH;
8553
+ const volume = findVolume();
8554
+ if (volume)
8555
+ return `${volume}/surrge.db`;
8556
+ return "surrge.db";
8557
+ };
8558
+ var warnIfEphemeral = () => {
8559
+ if (inDocker() && !findVolume() && !process.env.SURRGE_DB_PATH) {
8560
+ console.warn("[surrge] Running in Docker without persistent storage. Mount a volume at /data to persist data.");
8561
+ }
8562
+ };
8497
8563
  var client = null;
8498
- var init = (path = "surrge.db") => {
8564
+ var init = (path = resolvePath()) => {
8499
8565
  if (client)
8500
8566
  return client;
8501
8567
  const url = path === ":memory:" ? ":memory:" : `file:${path}`;
@@ -10866,6 +10932,7 @@ var handleDashboard = async (req, res) => {
10866
10932
 
10867
10933
  // src/register.ts
10868
10934
  init();
10935
+ warnIfEphemeral();
10869
10936
  start();
10870
10937
  start2();
10871
10938
  start3();
package/dist/register.js CHANGED
@@ -3598,7 +3598,7 @@ var require_promise_limit = __commonJS((exports, module) => {
3598
3598
  // package.json
3599
3599
  var package_default = {
3600
3600
  name: "surrge",
3601
- version: "0.4.8",
3601
+ version: "0.4.10",
3602
3602
  description: "One-line observability + analytics for Node.js/Bun",
3603
3603
  type: "module",
3604
3604
  exports: {
@@ -3700,22 +3700,28 @@ __export(exports_collector, {
3700
3700
  // src/storage/db.ts
3701
3701
  var exports_db = {};
3702
3702
  __export(exports_db, {
3703
+ warnIfEphemeral: () => warnIfEphemeral,
3703
3704
  reset: () => reset,
3704
3705
  recentRequests: () => recentRequests,
3705
3706
  recentPageViews: () => recentPageViews,
3706
3707
  recentMetrics: () => recentMetrics,
3707
3708
  recentLogs: () => recentLogs,
3708
3709
  recentErrors: () => recentErrors,
3710
+ parseVolume: () => parseVolume,
3711
+ isWritable: () => isWritable,
3709
3712
  insertRequest: () => insertRequest,
3710
3713
  insertPageView: () => insertPageView,
3711
3714
  insertMetric: () => insertMetric,
3712
3715
  insertLog: () => insertLog,
3713
3716
  insertError: () => insertError,
3714
3717
  init: () => init,
3718
+ inDocker: () => inDocker,
3719
+ findVolume: () => findVolume,
3715
3720
  db: () => db,
3716
3721
  cleanup: () => cleanup,
3717
3722
  analytics: () => analytics
3718
3723
  });
3724
+ import { accessSync, constants, existsSync, readFileSync, statSync } from "node:fs";
3719
3725
 
3720
3726
  // node_modules/@libsql/core/lib-esm/api.js
3721
3727
  class LibsqlError extends Error {
@@ -8494,8 +8500,68 @@ CREATE INDEX IF NOT EXISTS idx_server_metrics_timestamp ON server_metrics(timest
8494
8500
  var RETENTION_DAYS = 7;
8495
8501
 
8496
8502
  // src/storage/db.ts
8503
+ var SYSTEM_PATHS = ["/proc", "/sys", "/dev", "/run", "/tmp", "/etc", "/bin", "/lib", "/usr", "/sbin", "/boot"];
8504
+ var inDocker = () => {
8505
+ return existsSync("/.dockerenv");
8506
+ };
8507
+ var isWritable = (path) => {
8508
+ try {
8509
+ accessSync(path, constants.W_OK);
8510
+ return true;
8511
+ } catch {
8512
+ return false;
8513
+ }
8514
+ };
8515
+ var parseVolume = (mountsContent, rootDev) => {
8516
+ for (const line of mountsContent.split(`
8517
+ `)) {
8518
+ const parts = line.split(" ");
8519
+ if (parts.length < 2)
8520
+ continue;
8521
+ const mountPoint = parts[1];
8522
+ if (mountPoint === "/")
8523
+ continue;
8524
+ if (SYSTEM_PATHS.some((sys) => mountPoint === sys || mountPoint.startsWith(`${sys}/`)))
8525
+ continue;
8526
+ if (!existsSync(mountPoint))
8527
+ continue;
8528
+ try {
8529
+ const mountDev = statSync(mountPoint).dev;
8530
+ if (mountDev !== rootDev && isWritable(mountPoint)) {
8531
+ return mountPoint;
8532
+ }
8533
+ } catch {
8534
+ continue;
8535
+ }
8536
+ }
8537
+ return null;
8538
+ };
8539
+ var findVolume = () => {
8540
+ if (!existsSync("/proc/mounts"))
8541
+ return null;
8542
+ try {
8543
+ const rootDev = statSync("/").dev;
8544
+ const mounts = readFileSync("/proc/mounts", "utf-8");
8545
+ return parseVolume(mounts, rootDev);
8546
+ } catch {
8547
+ return null;
8548
+ }
8549
+ };
8550
+ var resolvePath = () => {
8551
+ if (process.env.SURRGE_DB_PATH)
8552
+ return process.env.SURRGE_DB_PATH;
8553
+ const volume = findVolume();
8554
+ if (volume)
8555
+ return `${volume}/surrge.db`;
8556
+ return "surrge.db";
8557
+ };
8558
+ var warnIfEphemeral = () => {
8559
+ if (inDocker() && !findVolume() && !process.env.SURRGE_DB_PATH) {
8560
+ console.warn("[surrge] Running in Docker without persistent storage. Mount a volume at /data to persist data.");
8561
+ }
8562
+ };
8497
8563
  var client = null;
8498
- var init = (path = "surrge.db") => {
8564
+ var init = (path = resolvePath()) => {
8499
8565
  if (client)
8500
8566
  return client;
8501
8567
  const url = path === ":memory:" ? ":memory:" : `file:${path}`;
@@ -10866,6 +10932,7 @@ var handleDashboard = async (req, res) => {
10866
10932
 
10867
10933
  // src/register.ts
10868
10934
  init();
10935
+ warnIfEphemeral();
10869
10936
  start();
10870
10937
  start2();
10871
10938
  start3();
@@ -1,4 +1,9 @@
1
1
  import { type Client } from "@libsql/client";
2
+ export declare const inDocker: () => boolean;
3
+ export declare const isWritable: (path: string) => boolean;
4
+ export declare const parseVolume: (mountsContent: string, rootDev: number) => string | null;
5
+ export declare const findVolume: () => string | null;
6
+ export declare const warnIfEphemeral: () => void;
2
7
  export type Log = {
3
8
  id: number;
4
9
  timestamp: number;
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../src/storage/db.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "surrge",
3
- "version": "0.4.8",
3
+ "version": "0.4.10",
4
4
  "description": "One-line observability + analytics for Node.js/Bun",
5
5
  "type": "module",
6
6
  "exports": {