@splendidlabz/third-party 1.3.11 → 1.3.13

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/CHANGELOG.md CHANGED
@@ -1,5 +1,34 @@
1
1
  # @splendidlabz/third-party
2
2
 
3
+ ## 1.3.13
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+ - @splendidlabz/utils@1.11.1
9
+
10
+ ## 1.3.12
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies
15
+ - @splendidlabz/utils@1.11.0
16
+
17
+ ## 1.3.11
18
+
19
+ ### Patch Changes
20
+
21
+ - Updated dependencies
22
+ - @splendidlabz/utils@1.10.7
23
+
24
+ ## 1.3.10
25
+
26
+ ### Patch Changes
27
+
28
+ - Prettify logger code
29
+ - Updated dependencies
30
+ - @splendidlabz/utils@1.10.6
31
+
3
32
  ## 1.3.11
4
33
 
5
34
  ### Patch Changes
package/lib/logger.js CHANGED
@@ -1,25 +1,48 @@
1
+ import { omitEmpty } from '@splendidlabz/utils'
1
2
  import pino from 'pino'
2
3
 
3
- // Potentially can put into logtail for production
4
- // Potentially can use pino-http for logging requests
5
-
6
4
  const isDev =
7
5
  process.env.NODE_ENV === 'development' ||
8
6
  import.meta.env?.DEV === true ||
9
7
  import.meta.env?.MODE === 'development'
10
8
 
9
+ /**
10
+ * Create a pino logger instance with custom configuration
11
+ * @param {Object} options - Logger options
12
+ * @param {boolean} [options.verbose=false] - If true, swaps first two arguments in log calls (message, data) -> (data, message)
13
+ * @param {string} [options.level='info'] - Log level (trace, debug, info, warn, error, fatal, silent)
14
+ * @return {import('pino').Logger} Configured pino logger instance
15
+ */
11
16
  export function createLogger({ verbose = false, level = 'info' } = {}) {
12
- return pino({
13
- level,
14
- transport: isDev
15
- ? {
16
- target: 'pino-pretty', // Nice formatting for dev
17
- options: { colorize: true },
18
- }
19
- : undefined, // Raw JSON for production
17
+ return pino(
18
+ omitEmpty({
19
+ level,
20
+ transport: isDev && prettify(), // Raw JSON for production
21
+ hooks: {
22
+ logMethod(inputArgs, method, level) {
23
+ if (!verbose) return method.apply(this, inputArgs)
24
+ if (inputArgs.length >= 2) {
25
+ const arg1 = inputArgs.shift()
26
+ const arg2 = inputArgs.shift()
27
+ return method.apply(this, [arg2, arg1, ...inputArgs])
28
+ }
29
+ return method.apply(this, inputArgs)
30
+ },
31
+ },
32
+ }),
33
+ )
34
+ }
35
+
36
+ /**
37
+ * Default logger instance with verbose mode enabled
38
+ * Swaps first two arguments in log calls: logger.info(message, data) becomes logger.info(data, message)
39
+ * @type {import('pino').Logger}
40
+ */
41
+ export const logger = pino(
42
+ omitEmpty({
43
+ transport: isDev && prettify(), // Raw JSON for production
20
44
  hooks: {
21
45
  logMethod(inputArgs, method, level) {
22
- if (!verbose) return method.apply(this, inputArgs)
23
46
  if (inputArgs.length >= 2) {
24
47
  const arg1 = inputArgs.shift()
25
48
  const arg2 = inputArgs.shift()
@@ -28,25 +51,19 @@ export function createLogger({ verbose = false, level = 'info' } = {}) {
28
51
  return method.apply(this, inputArgs)
29
52
  },
30
53
  },
31
- })
32
- }
54
+ }),
55
+ )
33
56
 
34
- // For fast usage, but will be verbose by default
35
- export const logger = pino({
36
- transport: isDev
37
- ? {
38
- target: 'pino-pretty', // Nice formatting for dev
39
- options: { colorize: true },
40
- }
41
- : undefined, // Raw JSON for production
42
- hooks: {
43
- logMethod(inputArgs, method, level) {
44
- if (inputArgs.length >= 2) {
45
- const arg1 = inputArgs.shift()
46
- const arg2 = inputArgs.shift()
47
- return method.apply(this, [arg2, arg1, ...inputArgs])
48
- }
49
- return method.apply(this, inputArgs)
50
- },
51
- },
52
- })
57
+ /**
58
+ * Returns pino-pretty transport config for development formatting
59
+ * @return {Object} Transport configuration
60
+ * @return {string} return.target - Transport target ('pino-pretty')
61
+ * @return {Object} return.options - Transport options
62
+ * @return {boolean} return.options.colorize - Enable colorized output
63
+ */
64
+ function prettify() {
65
+ return {
66
+ target: 'pino-pretty', // Nice formatting for dev
67
+ options: { colorize: true },
68
+ }
69
+ }
@@ -105,3 +105,11 @@ const results = await postToPlatforms(
105
105
  - Rate limits apply - the system includes delays for threads
106
106
 
107
107
 
108
+
109
+
110
+
111
+
112
+
113
+
114
+
115
+
@@ -47,3 +47,11 @@ console.log('Preview results:', results)
47
47
  // const realResults = await postToPlatforms(content, { twitter, instagram })
48
48
 
49
49
 
50
+
51
+
52
+
53
+
54
+
55
+
56
+
57
+
@@ -103,3 +103,11 @@ export function createInstagram({ accessToken, instagramAccountId }) {
103
103
  }
104
104
 
105
105
 
106
+
107
+
108
+
109
+
110
+
111
+
112
+
113
+
@@ -108,3 +108,11 @@ export function createThreads({ accessToken, threadsUserId }) {
108
108
  }
109
109
 
110
110
 
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
package/package.json CHANGED
@@ -1,14 +1,13 @@
1
1
  {
2
2
  "name": "@splendidlabz/third-party",
3
3
  "prettier": "@splendidlabz/prettier-config",
4
- "version": "1.3.11",
4
+ "version": "1.3.13",
5
5
  "description": "",
6
6
  "type": "module",
7
7
  "main": "index.js",
8
8
  "sideEffects": false,
9
9
  "exports": {
10
- "./*": "./lib/*.js",
11
- "./social": "./lib/social/index.js"
10
+ "./*": "./lib/*.js"
12
11
  },
13
12
  "scripts": {
14
13
  "lint": "eslint . --fix",
@@ -17,7 +16,7 @@
17
16
  },
18
17
  "author": "Zell Liew <zellwk@gmail.com>",
19
18
  "dependencies": {
20
- "@splendidlabz/utils": "1.10.5",
19
+ "@splendidlabz/utils": "1.11.1",
21
20
  "googleapis": "^148.0.0",
22
21
  "http-errors": "^2.0.0",
23
22
  "pino": "^9.7.0",