@budibase/backend-core 2.8.10 → 2.8.12-alpha.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.
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@budibase/backend-core",
3
- "version": "2.8.10",
3
+ "version": "2.8.12-alpha.0",
4
4
  "description": "Budibase backend core libraries used in server and worker",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -22,7 +22,7 @@
22
22
  "dependencies": {
23
23
  "@budibase/nano": "10.1.2",
24
24
  "@budibase/pouchdb-replication-stream": "1.2.10",
25
- "@budibase/types": "2.8.10",
25
+ "@budibase/types": "2.8.12-alpha.0",
26
26
  "@shopify/jest-koa-mocks": "5.0.1",
27
27
  "@techpass/passport-openidconnect": "0.3.2",
28
28
  "aws-cloudfront-sign": "2.2.0",
@@ -51,6 +51,7 @@
51
51
  "pouchdb": "7.3.0",
52
52
  "pouchdb-find": "7.2.2",
53
53
  "redlock": "4.2.0",
54
+ "rotating-file-stream": "3.1.0",
54
55
  "sanitize-s3-objectkey": "0.0.1",
55
56
  "semver": "7.3.7",
56
57
  "tar-fs": "2.1.1",
@@ -101,5 +102,5 @@
101
102
  }
102
103
  }
103
104
  },
104
- "gitHead": "19a6e6c10038ab6267c9c918b68d5c1891a38970"
105
+ "gitHead": "2aeebd290d78e13ab253daa2a28a5101e443fbc8"
105
106
  }
@@ -2,6 +2,11 @@ declare function isTest(): boolean;
2
2
  declare function isJest(): boolean;
3
3
  declare function isDev(): boolean;
4
4
  declare const environment: {
5
+ DISABLE_PINO_LOGGER: string | undefined;
6
+ _set(key: any, value: any): void;
7
+ ROLLING_LOG_MAX_SIZE: string;
8
+ VERSION: string;
9
+ SERVICE_NAME: string;
5
10
  isTest: typeof isTest;
6
11
  isJest: typeof isJest;
7
12
  isDev: typeof isDev;
@@ -68,8 +73,5 @@ declare const environment: {
68
73
  * However, this should be turned OFF by default for security purposes.
69
74
  */
70
75
  ENABLE_SSO_MAINTENANCE_MODE: string | boolean | undefined;
71
- VERSION: any;
72
- DISABLE_PINO_LOGGER: string | undefined;
73
- _set(key: any, value: any): void;
74
76
  };
75
77
  export default environment;
@@ -38,7 +38,7 @@ function httpLogging() {
38
38
  }
39
39
  return process.env.HTTP_LOGGING;
40
40
  }
41
- function findVersion() {
41
+ function getPackageJsonFields() {
42
42
  function findFileInAncestors(fileName, currentDir) {
43
43
  const filePath = `${currentDir}/${fileName}`;
44
44
  if ((0, fs_1.existsSync)(filePath)) {
@@ -54,77 +54,24 @@ function findVersion() {
54
54
  try {
55
55
  const packageJsonFile = findFileInAncestors("package.json", process.cwd());
56
56
  const content = (0, fs_1.readFileSync)(packageJsonFile, "utf-8");
57
- return JSON.parse(content).version;
57
+ const parsedContent = JSON.parse(content);
58
+ return {
59
+ VERSION: parsedContent.version,
60
+ SERVICE_NAME: parsedContent.name,
61
+ };
58
62
  }
59
63
  catch (_a) {
60
64
  // throwing an error here is confusing/causes backend-core to be hard to import
61
- return undefined;
65
+ return { VERSION: "", SERVICE_NAME: "" };
62
66
  }
63
67
  }
64
- const environment = {
65
- isTest,
68
+ const environment = Object.assign(Object.assign({ isTest,
66
69
  isJest,
67
- isDev,
68
- isProd: () => {
70
+ isDev, isProd: () => {
69
71
  return !isDev();
70
- },
71
- JS_BCRYPT: process.env.JS_BCRYPT,
72
- JWT_SECRET: process.env.JWT_SECRET,
73
- JWT_SECRET_FALLBACK: process.env.JWT_SECRET_FALLBACK,
74
- ENCRYPTION_KEY: process.env.ENCRYPTION_KEY,
75
- API_ENCRYPTION_KEY: getAPIEncryptionKey(),
76
- COUCH_DB_URL: process.env.COUCH_DB_URL || "http://localhost:4005",
77
- COUCH_DB_USERNAME: process.env.COUCH_DB_USER,
78
- COUCH_DB_PASSWORD: process.env.COUCH_DB_PASSWORD,
79
- GOOGLE_CLIENT_ID: process.env.GOOGLE_CLIENT_ID,
80
- GOOGLE_CLIENT_SECRET: process.env.GOOGLE_CLIENT_SECRET,
81
- SALT_ROUNDS: process.env.SALT_ROUNDS,
82
- REDIS_URL: process.env.REDIS_URL || "localhost:6379",
83
- REDIS_PASSWORD: process.env.REDIS_PASSWORD,
84
- REDIS_CLUSTERED: process.env.REDIS_CLUSTERED,
85
- MINIO_ACCESS_KEY: process.env.MINIO_ACCESS_KEY,
86
- MINIO_SECRET_KEY: process.env.MINIO_SECRET_KEY,
87
- AWS_REGION: process.env.AWS_REGION,
88
- MINIO_URL: process.env.MINIO_URL,
89
- MINIO_ENABLED: process.env.MINIO_ENABLED || 1,
90
- INTERNAL_API_KEY: process.env.INTERNAL_API_KEY,
91
- INTERNAL_API_KEY_FALLBACK: process.env.INTERNAL_API_KEY_FALLBACK,
92
- MULTI_TENANCY: process.env.MULTI_TENANCY,
93
- ACCOUNT_PORTAL_URL: process.env.ACCOUNT_PORTAL_URL || "https://account.budibase.app",
94
- ACCOUNT_PORTAL_API_KEY: process.env.ACCOUNT_PORTAL_API_KEY || "",
95
- DISABLE_ACCOUNT_PORTAL: process.env.DISABLE_ACCOUNT_PORTAL,
96
- SELF_HOSTED: selfHosted,
97
- COOKIE_DOMAIN: process.env.COOKIE_DOMAIN,
98
- PLATFORM_URL: process.env.PLATFORM_URL || "",
99
- POSTHOG_TOKEN: process.env.POSTHOG_TOKEN,
100
- ENABLE_ANALYTICS: process.env.ENABLE_ANALYTICS,
101
- TENANT_FEATURE_FLAGS: process.env.TENANT_FEATURE_FLAGS,
102
- CLOUDFRONT_CDN: process.env.CLOUDFRONT_CDN,
103
- CLOUDFRONT_PRIVATE_KEY_64: process.env.CLOUDFRONT_PRIVATE_KEY_64,
104
- CLOUDFRONT_PUBLIC_KEY_ID: process.env.CLOUDFRONT_PUBLIC_KEY_ID,
105
- BACKUPS_BUCKET_NAME: process.env.BACKUPS_BUCKET_NAME || DefaultBucketName.BACKUPS,
106
- APPS_BUCKET_NAME: process.env.APPS_BUCKET_NAME || DefaultBucketName.APPS,
107
- TEMPLATES_BUCKET_NAME: process.env.TEMPLATES_BUCKET_NAME || DefaultBucketName.TEMPLATES,
108
- GLOBAL_BUCKET_NAME: process.env.GLOBAL_BUCKET_NAME || DefaultBucketName.GLOBAL,
109
- PLUGIN_BUCKET_NAME: process.env.PLUGIN_BUCKET_NAME || DefaultBucketName.PLUGINS,
110
- USE_COUCH: process.env.USE_COUCH || true,
111
- MOCK_REDIS: process.env.MOCK_REDIS,
112
- DEFAULT_LICENSE: process.env.DEFAULT_LICENSE,
113
- SERVICE: process.env.SERVICE || "budibase",
114
- LOG_LEVEL: process.env.LOG_LEVEL || "info",
115
- SESSION_UPDATE_PERIOD: process.env.SESSION_UPDATE_PERIOD,
116
- DEPLOYMENT_ENVIRONMENT: process.env.DEPLOYMENT_ENVIRONMENT || "docker-compose",
117
- HTTP_LOGGING: httpLogging(),
118
- ENABLE_AUDIT_LOG_IP_ADDR: process.env.ENABLE_AUDIT_LOG_IP_ADDR,
72
+ }, JS_BCRYPT: process.env.JS_BCRYPT, JWT_SECRET: process.env.JWT_SECRET, JWT_SECRET_FALLBACK: process.env.JWT_SECRET_FALLBACK, ENCRYPTION_KEY: process.env.ENCRYPTION_KEY, API_ENCRYPTION_KEY: getAPIEncryptionKey(), COUCH_DB_URL: process.env.COUCH_DB_URL || "http://localhost:4005", COUCH_DB_USERNAME: process.env.COUCH_DB_USER, COUCH_DB_PASSWORD: process.env.COUCH_DB_PASSWORD, GOOGLE_CLIENT_ID: process.env.GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET: process.env.GOOGLE_CLIENT_SECRET, SALT_ROUNDS: process.env.SALT_ROUNDS, REDIS_URL: process.env.REDIS_URL || "localhost:6379", REDIS_PASSWORD: process.env.REDIS_PASSWORD, REDIS_CLUSTERED: process.env.REDIS_CLUSTERED, MINIO_ACCESS_KEY: process.env.MINIO_ACCESS_KEY, MINIO_SECRET_KEY: process.env.MINIO_SECRET_KEY, AWS_REGION: process.env.AWS_REGION, MINIO_URL: process.env.MINIO_URL, MINIO_ENABLED: process.env.MINIO_ENABLED || 1, INTERNAL_API_KEY: process.env.INTERNAL_API_KEY, INTERNAL_API_KEY_FALLBACK: process.env.INTERNAL_API_KEY_FALLBACK, MULTI_TENANCY: process.env.MULTI_TENANCY, ACCOUNT_PORTAL_URL: process.env.ACCOUNT_PORTAL_URL || "https://account.budibase.app", ACCOUNT_PORTAL_API_KEY: process.env.ACCOUNT_PORTAL_API_KEY || "", DISABLE_ACCOUNT_PORTAL: process.env.DISABLE_ACCOUNT_PORTAL, SELF_HOSTED: selfHosted, COOKIE_DOMAIN: process.env.COOKIE_DOMAIN, PLATFORM_URL: process.env.PLATFORM_URL || "", POSTHOG_TOKEN: process.env.POSTHOG_TOKEN, ENABLE_ANALYTICS: process.env.ENABLE_ANALYTICS, TENANT_FEATURE_FLAGS: process.env.TENANT_FEATURE_FLAGS, CLOUDFRONT_CDN: process.env.CLOUDFRONT_CDN, CLOUDFRONT_PRIVATE_KEY_64: process.env.CLOUDFRONT_PRIVATE_KEY_64, CLOUDFRONT_PUBLIC_KEY_ID: process.env.CLOUDFRONT_PUBLIC_KEY_ID, BACKUPS_BUCKET_NAME: process.env.BACKUPS_BUCKET_NAME || DefaultBucketName.BACKUPS, APPS_BUCKET_NAME: process.env.APPS_BUCKET_NAME || DefaultBucketName.APPS, TEMPLATES_BUCKET_NAME: process.env.TEMPLATES_BUCKET_NAME || DefaultBucketName.TEMPLATES, GLOBAL_BUCKET_NAME: process.env.GLOBAL_BUCKET_NAME || DefaultBucketName.GLOBAL, PLUGIN_BUCKET_NAME: process.env.PLUGIN_BUCKET_NAME || DefaultBucketName.PLUGINS, USE_COUCH: process.env.USE_COUCH || true, MOCK_REDIS: process.env.MOCK_REDIS, DEFAULT_LICENSE: process.env.DEFAULT_LICENSE, SERVICE: process.env.SERVICE || "budibase", LOG_LEVEL: process.env.LOG_LEVEL || "info", SESSION_UPDATE_PERIOD: process.env.SESSION_UPDATE_PERIOD, DEPLOYMENT_ENVIRONMENT: process.env.DEPLOYMENT_ENVIRONMENT || "docker-compose", HTTP_LOGGING: httpLogging(), ENABLE_AUDIT_LOG_IP_ADDR: process.env.ENABLE_AUDIT_LOG_IP_ADDR,
119
73
  // smtp
120
- SMTP_FALLBACK_ENABLED: process.env.SMTP_FALLBACK_ENABLED,
121
- SMTP_USER: process.env.SMTP_USER,
122
- SMTP_PASSWORD: process.env.SMTP_PASSWORD,
123
- SMTP_HOST: process.env.SMTP_HOST,
124
- SMTP_PORT: parseInt(process.env.SMTP_PORT || ""),
125
- SMTP_FROM_ADDRESS: process.env.SMTP_FROM_ADDRESS,
126
- DISABLE_JWT_WARNING: process.env.DISABLE_JWT_WARNING,
127
- BLACKLIST_IPS: process.env.BLACKLIST_IPS,
74
+ SMTP_FALLBACK_ENABLED: process.env.SMTP_FALLBACK_ENABLED, SMTP_USER: process.env.SMTP_USER, SMTP_PASSWORD: process.env.SMTP_PASSWORD, SMTP_HOST: process.env.SMTP_HOST, SMTP_PORT: parseInt(process.env.SMTP_PORT || ""), SMTP_FROM_ADDRESS: process.env.SMTP_FROM_ADDRESS, DISABLE_JWT_WARNING: process.env.DISABLE_JWT_WARNING, BLACKLIST_IPS: process.env.BLACKLIST_IPS,
128
75
  /**
129
76
  * Enable to allow an admin user to login using a password.
130
77
  * This can be useful to prevent lockout when configuring SSO.
@@ -132,15 +79,11 @@ const environment = {
132
79
  */
133
80
  ENABLE_SSO_MAINTENANCE_MODE: selfHosted
134
81
  ? process.env.ENABLE_SSO_MAINTENANCE_MODE
135
- : false,
136
- VERSION: findVersion(),
137
- DISABLE_PINO_LOGGER: process.env.DISABLE_PINO_LOGGER,
138
- _set(key, value) {
82
+ : false }, getPackageJsonFields()), { DISABLE_PINO_LOGGER: process.env.DISABLE_PINO_LOGGER, _set(key, value) {
139
83
  process.env[key] = value;
140
84
  // @ts-ignore
141
85
  environment[key] = value;
142
- },
143
- };
86
+ }, ROLLING_LOG_MAX_SIZE: process.env.ROLLING_LOG_MAX_SIZE || "10M" });
144
87
  // clean up any environment variable edge cases
145
88
  for (let [key, value] of Object.entries(environment)) {
146
89
  // handle the edge case of "0" to disable an environment variable
@@ -1 +1 @@
1
- {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/environment.ts"],"names":[],"mappings":";;AAAA,2BAA6C;AAE7C,SAAS,MAAM;IACb,OAAO,SAAS,EAAE,IAAI,MAAM,EAAE,CAAA;AAChC,CAAC;AAED,SAAS,MAAM;IACb,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;AAC1E,CAAC;AAED,SAAS,SAAS;IAChB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAA;AAC3C,CAAC;AAED,SAAS,KAAK;IACZ,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAA;AAC9C,CAAC;AAED,IAAI,MAAM,GAAG,KAAK,CAAA;AAClB,IAAI,CAAC,MAAM,IAAI,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAA;IAC1B,MAAM,GAAG,IAAI,CAAA;CACd;AAED,MAAM,iBAAiB,GAAG;IACxB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,sBAAsB;IAC5B,SAAS,EAAE,WAAW;IACtB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACnB,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;AAE5D,SAAS,mBAAmB;IAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,kBAAkB;QACnC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB;QAChC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAA,CAAC,+CAA+C;AAC5E,CAAC;AAED,SAAS,WAAW;IAClB,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,SAAS,EAAE;QAC1C,2CAA2C;QAC3C,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,OAAO,CAAC,GAAG,CAAC,YAAY,CAAA;AACjC,CAAC;AAED,SAAS,WAAW;IAClB,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,UAAkB;QAElB,MAAM,QAAQ,GAAG,GAAG,UAAU,IAAI,QAAQ,EAAE,CAAA;QAC5C,IAAI,IAAA,eAAU,EAAC,QAAQ,CAAC,EAAE;YACxB,OAAO,QAAQ,CAAA;SAChB;QAED,MAAM,SAAS,GAAG,GAAG,UAAU,KAAK,CAAA;QACpC,IAAI,SAAS,KAAK,UAAU,EAAE;YAC5B,yBAAyB;YACzB,OAAO,IAAI,CAAA;SACZ;QAED,OAAO,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;IACjD,CAAC;IAED,IAAI;QACF,MAAM,eAAe,GAAG,mBAAmB,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAA;QAC1E,MAAM,OAAO,GAAG,IAAA,iBAAY,EAAC,eAAgB,EAAE,OAAO,CAAC,CAAA;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAA;KACnC;IAAC,WAAM;QACN,+EAA+E;QAC/E,OAAO,SAAS,CAAA;KACjB;AACH,CAAC;AAED,MAAM,WAAW,GAAG;IAClB,MAAM;IACN,MAAM;IACN,KAAK;IACL,MAAM,EAAE,GAAG,EAAE;QACX,OAAO,CAAC,KAAK,EAAE,CAAA;IACjB,CAAC;IACD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;IAChC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;IAClC,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IACpD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IAC1C,kBAAkB,EAAE,mBAAmB,EAAE;IACzC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,uBAAuB;IACjE,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IAC5C,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IAChD,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;IAC9C,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;IACtD,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,WAAW;IACpC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,gBAAgB;IACpD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IAC1C,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;IAC5C,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;IAC9C,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;IAC9C,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;IAClC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;IAChC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,CAAC;IAC7C,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;IAC9C,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;IAChE,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IACxC,kBAAkB,EAChB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,8BAA8B;IAClE,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE;IAChE,sBAAsB,EAAE,OAAO,CAAC,GAAG,CAAC,sBAAsB;IAC1D,WAAW,EAAE,UAAU;IACvB,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IACxC,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE;IAC5C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IACxC,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB;IAC9C,oBAAoB,EAAE,OAAO,CAAC,GAAG,CAAC,oBAAoB;IACtD,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc;IAC1C,yBAAyB,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB;IAChE,wBAAwB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;IAC9D,mBAAmB,EACjB,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,iBAAiB,CAAC,OAAO;IAC9D,gBAAgB,EAAE,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,iBAAiB,CAAC,IAAI;IACxE,qBAAqB,EACnB,OAAO,CAAC,GAAG,CAAC,qBAAqB,IAAI,iBAAiB,CAAC,SAAS;IAClE,kBAAkB,EAChB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,MAAM;IAC5D,kBAAkB,EAChB,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,iBAAiB,CAAC,OAAO;IAC7D,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI;IACxC,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,UAAU;IAClC,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe;IAC5C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,UAAU;IAC1C,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,MAAM;IAC1C,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;IACxD,sBAAsB,EACpB,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,gBAAgB;IACxD,YAAY,EAAE,WAAW,EAAE;IAC3B,wBAAwB,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB;IAC9D,OAAO;IACP,qBAAqB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB;IACxD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;IAChC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IACxC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;IAChC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;IAChD,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;IAChD,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IACpD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;IACxC;;;;OAIG;IACH,2BAA2B,EAAE,UAAU;QACrC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,2BAA2B;QACzC,CAAC,CAAC,KAAK;IACT,OAAO,EAAE,WAAW,EAAE;IACtB,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;IACpD,IAAI,CAAC,GAAQ,EAAE,KAAU;QACvB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;QACxB,aAAa;QACb,WAAW,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IAC1B,CAAC;CACF,CAAA;AAED,+CAA+C;AAC/C,KAAK,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;IACpD,iEAAiE;IACjE,IAAI,KAAK,KAAK,GAAG,EAAE;QACjB,aAAa;QACb,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KACrB;IACD,qEAAqE;IACrE,IAAI,KAAK,KAAK,OAAO,EAAE;QACrB,aAAa;QACb,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;KACrB;CACF;AAED,kBAAe,WAAW,CAAA"}
1
+ {"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/environment.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * as correlation from "./correlation/correlation";
2
2
  export { logger } from "./pino/logger";
3
3
  export * from "./alerts";
4
+ export * as system from "./system";
4
5
  export declare let LOG_CONTEXT: boolean;
@@ -26,11 +26,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
26
26
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.LOG_CONTEXT = exports.logger = exports.correlation = void 0;
29
+ exports.LOG_CONTEXT = exports.system = exports.logger = exports.correlation = void 0;
30
30
  exports.correlation = __importStar(require("./correlation/correlation"));
31
31
  var logger_1 = require("./pino/logger");
32
32
  Object.defineProperty(exports, "logger", { enumerable: true, get: function () { return logger_1.logger; } });
33
33
  __exportStar(require("./alerts"), exports);
34
+ exports.system = __importStar(require("./system"));
34
35
  // turn off or on context logging i.e. tenantId, appId etc
35
36
  exports.LOG_CONTEXT = true;
36
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logging/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAwD;AACxD,wCAAsC;AAA7B,gGAAA,MAAM,OAAA;AACf,2CAAwB;AAExB,0DAA0D;AAC/C,QAAA,WAAW,GAAG,IAAI,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/logging/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yEAAwD;AACxD,wCAAsC;AAA7B,gGAAA,MAAM,OAAA;AACf,2CAAwB;AACxB,mDAAkC;AAElC,0DAA0D;AAC/C,QAAA,WAAW,GAAG,IAAI,CAAA"}
@@ -27,11 +27,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.logger = void 0;
30
- const environment_1 = __importDefault(require("../../environment"));
31
30
  const pino_1 = __importDefault(require("pino"));
31
+ const pino_pretty_1 = __importDefault(require("pino-pretty"));
32
+ const environment_1 = __importDefault(require("../../environment"));
32
33
  const context = __importStar(require("../../context"));
33
34
  const correlation = __importStar(require("../correlation"));
34
35
  const index_1 = require("../index");
36
+ const system_1 = require("../system");
35
37
  // LOGGER
36
38
  let pinoInstance;
37
39
  if (!environment_1.default.DISABLE_PINO_LOGGER) {
@@ -42,20 +44,23 @@ if (!environment_1.default.DISABLE_PINO_LOGGER) {
42
44
  return { level: label.toUpperCase() };
43
45
  },
44
46
  bindings: () => {
45
- return {};
47
+ return {
48
+ service: environment_1.default.SERVICE_NAME,
49
+ };
46
50
  },
47
51
  },
48
52
  timestamp: () => `,"timestamp":"${new Date(Date.now()).toISOString()}"`,
49
53
  };
54
+ const destinations = [];
50
55
  if (environment_1.default.isDev()) {
51
- pinoOptions.transport = {
52
- target: "pino-pretty",
53
- options: {
54
- singleLine: true,
55
- },
56
- };
56
+ destinations.push((0, pino_pretty_1.default)({ singleLine: true }));
57
+ }
58
+ if (environment_1.default.SELF_HOSTED) {
59
+ destinations.push((0, system_1.localFileDestination)());
57
60
  }
58
- pinoInstance = (0, pino_1.default)(pinoOptions);
61
+ pinoInstance = destinations.length
62
+ ? (0, pino_1.default)(pinoOptions, pino_1.default.multistream(destinations))
63
+ : (0, pino_1.default)(pinoOptions);
59
64
  function isPlainObject(obj) {
60
65
  return typeof obj === "object" && obj !== null && !(obj instanceof Error);
61
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/logging/pino/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../../src/logging/pino/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="pouchdb-core" />
3
+ import * as rfs from "rotating-file-stream";
4
+ export declare function getSingleFileMaxSizeInfo(totalMaxSize: string): {
5
+ size: string;
6
+ totalHistoryFiles: number;
7
+ } | undefined;
8
+ export declare function localFileDestination(): rfs.RotatingFileStream;
9
+ export declare function getLogReadStream(): Buffer;
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.getLogReadStream = exports.localFileDestination = exports.getSingleFileMaxSizeInfo = void 0;
30
+ const fs_1 = __importDefault(require("fs"));
31
+ const path_1 = __importDefault(require("path"));
32
+ const rfs = __importStar(require("rotating-file-stream"));
33
+ const environment_1 = __importDefault(require("../environment"));
34
+ const objectStore_1 = require("../objectStore");
35
+ const logsFileName = `budibase.log`;
36
+ const budibaseLogsHistoryFileName = "budibase-logs-history.txt";
37
+ const logsPath = path_1.default.join((0, objectStore_1.budibaseTempDir)(), "systemlogs");
38
+ function getFullPath(fileName) {
39
+ return path_1.default.join(logsPath, fileName);
40
+ }
41
+ function getSingleFileMaxSizeInfo(totalMaxSize) {
42
+ const regex = /(\d+)([A-Za-z])/;
43
+ const match = totalMaxSize === null || totalMaxSize === void 0 ? void 0 : totalMaxSize.match(regex);
44
+ if (!match) {
45
+ console.warn(`totalMaxSize does not have a valid value`, {
46
+ totalMaxSize,
47
+ });
48
+ return undefined;
49
+ }
50
+ const size = +match[1];
51
+ const unit = match[2];
52
+ if (size === 1) {
53
+ switch (unit) {
54
+ case "B":
55
+ return { size: `${size}B`, totalHistoryFiles: 1 };
56
+ case "K":
57
+ return { size: `${(size * 1000) / 2}B`, totalHistoryFiles: 1 };
58
+ case "M":
59
+ return { size: `${(size * 1000) / 2}K`, totalHistoryFiles: 1 };
60
+ case "G":
61
+ return { size: `${(size * 1000) / 2}M`, totalHistoryFiles: 1 };
62
+ default:
63
+ return undefined;
64
+ }
65
+ }
66
+ if (size % 2 === 0) {
67
+ return { size: `${size / 2}${unit}`, totalHistoryFiles: 1 };
68
+ }
69
+ return { size: `1${unit}`, totalHistoryFiles: size - 1 };
70
+ }
71
+ exports.getSingleFileMaxSizeInfo = getSingleFileMaxSizeInfo;
72
+ function localFileDestination() {
73
+ const fileInfo = getSingleFileMaxSizeInfo(environment_1.default.ROLLING_LOG_MAX_SIZE);
74
+ const outFile = rfs.createStream(logsFileName, {
75
+ // As we have a rolling size, we want to half the max size
76
+ size: fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.size,
77
+ path: logsPath,
78
+ maxFiles: (fileInfo === null || fileInfo === void 0 ? void 0 : fileInfo.totalHistoryFiles) || 1,
79
+ immutable: true,
80
+ history: budibaseLogsHistoryFileName,
81
+ initialRotation: false,
82
+ });
83
+ return outFile;
84
+ }
85
+ exports.localFileDestination = localFileDestination;
86
+ function getLogReadStream() {
87
+ const streams = [];
88
+ const historyFile = getFullPath(budibaseLogsHistoryFileName);
89
+ if (fs_1.default.existsSync(historyFile)) {
90
+ const fileContent = fs_1.default.readFileSync(historyFile, "utf-8");
91
+ const historyFiles = fileContent.split("\n");
92
+ for (const historyFile of historyFiles.filter(x => x)) {
93
+ streams.push(fs_1.default.readFileSync(historyFile));
94
+ }
95
+ }
96
+ streams.push(fs_1.default.readFileSync(getFullPath(logsFileName)));
97
+ const combinedContent = Buffer.concat(streams);
98
+ return combinedContent;
99
+ }
100
+ exports.getLogReadStream = getLogReadStream;
101
+ //# sourceMappingURL=system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"system.js","sourceRoot":"","sources":["../../../src/logging/system.ts"],"names":[],"mappings":"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"}