@kubb/core 2.18.2 → 2.18.4

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 (45) hide show
  1. package/dist/{chunk-J7SXH3YG.js → chunk-6NMPKKGV.js} +2 -2
  2. package/dist/{chunk-J7SXH3YG.js.map → chunk-6NMPKKGV.js.map} +1 -1
  3. package/dist/{chunk-KSXPJNIA.cjs → chunk-7PBKI3OR.cjs} +293 -293
  4. package/dist/chunk-7PBKI3OR.cjs.map +1 -0
  5. package/dist/{chunk-U2XQEWRF.cjs → chunk-AQJCCWPW.cjs} +7 -7
  6. package/dist/{chunk-CURDPCUG.cjs → chunk-GG3XRJX3.cjs} +23 -16
  7. package/dist/chunk-GG3XRJX3.cjs.map +1 -0
  8. package/dist/{chunk-WNT5FJKX.cjs → chunk-GRBLCGB5.cjs} +5 -5
  9. package/dist/{chunk-I6K57NKM.cjs → chunk-NP7GXHZS.cjs} +18 -18
  10. package/dist/{chunk-JLT7YQF5.js → chunk-TIYJPVUG.js} +9 -2
  11. package/dist/chunk-TIYJPVUG.js.map +1 -0
  12. package/dist/{chunk-RPDYCQHF.cjs → chunk-X5IJHUXJ.cjs} +90 -90
  13. package/dist/{chunk-SJLROYQM.cjs → chunk-XUCU53HT.cjs} +3 -3
  14. package/dist/{chunk-SJLROYQM.cjs.map → chunk-XUCU53HT.cjs.map} +1 -1
  15. package/dist/{chunk-LSRMKE3Q.cjs → chunk-YTLMG2AN.cjs} +29 -29
  16. package/dist/fs.cjs +5 -5
  17. package/dist/index.cjs +9 -9
  18. package/dist/index.d.cts +31 -30
  19. package/dist/index.d.ts +31 -30
  20. package/dist/index.js +2 -2
  21. package/dist/{logger-Cskfrvra.d.cts → logger-DChjnJMn.d.cts} +10 -2
  22. package/dist/{logger-Cskfrvra.d.ts → logger-DChjnJMn.d.ts} +10 -2
  23. package/dist/logger.cjs +6 -4
  24. package/dist/logger.d.cts +2 -1
  25. package/dist/logger.d.ts +2 -1
  26. package/dist/logger.js +3 -1
  27. package/dist/mocks.cjs +12 -12
  28. package/dist/mocks.d.cts +2 -1
  29. package/dist/mocks.d.ts +2 -1
  30. package/dist/mocks.js +2 -2
  31. package/dist/transformers.cjs +4 -4
  32. package/dist/utils.cjs +4 -4
  33. package/globals.d.ts +2 -1
  34. package/package.json +8 -7
  35. package/src/config.ts +29 -2
  36. package/src/logger.ts +11 -2
  37. package/src/types.ts +3 -30
  38. package/dist/chunk-CURDPCUG.cjs.map +0 -1
  39. package/dist/chunk-JLT7YQF5.js.map +0 -1
  40. package/dist/chunk-KSXPJNIA.cjs.map +0 -1
  41. /package/dist/{chunk-U2XQEWRF.cjs.map → chunk-AQJCCWPW.cjs.map} +0 -0
  42. /package/dist/{chunk-WNT5FJKX.cjs.map → chunk-GRBLCGB5.cjs.map} +0 -0
  43. /package/dist/{chunk-I6K57NKM.cjs.map → chunk-NP7GXHZS.cjs.map} +0 -0
  44. /package/dist/{chunk-RPDYCQHF.cjs.map → chunk-X5IJHUXJ.cjs.map} +0 -0
  45. /package/dist/{chunk-LSRMKE3Q.cjs.map → chunk-YTLMG2AN.cjs.map} +0 -0
package/dist/mocks.d.ts CHANGED
@@ -3,7 +3,8 @@ import 'p-queue';
3
3
  import './write-CN8f7bYv.js';
4
4
  import '@kubb/types';
5
5
  import 'directory-tree';
6
- import './logger-Cskfrvra.js';
6
+ import './logger-DChjnJMn.js';
7
+ import 'consola';
7
8
  import 'ora';
8
9
 
9
10
  declare const mockedPluginManager: PluginManager;
package/dist/mocks.js CHANGED
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  FileManager
3
- } from "./chunk-J7SXH3YG.js";
3
+ } from "./chunk-6NMPKKGV.js";
4
4
  import "./chunk-UCKFXEKM.js";
5
5
  import "./chunk-FRT5NM5I.js";
6
6
  import {
7
7
  pascalCase
8
8
  } from "./chunk-4X5FFJPJ.js";
9
- import "./chunk-JLT7YQF5.js";
9
+ import "./chunk-TIYJPVUG.js";
10
10
  import {
11
11
  readSync
12
12
  } from "./chunk-MDO6MCFJ.js";
@@ -16,14 +16,14 @@
16
16
 
17
17
 
18
18
 
19
- var _chunkI6K57NKMcjs = require('./chunk-I6K57NKM.cjs');
19
+ var _chunkNP7GXHZScjs = require('./chunk-NP7GXHZS.cjs');
20
20
 
21
21
 
22
22
 
23
23
 
24
24
 
25
- var _chunkWNT5FJKXcjs = require('./chunk-WNT5FJKX.cjs');
26
- require('./chunk-SJLROYQM.cjs');
25
+ var _chunkGRBLCGB5cjs = require('./chunk-GRBLCGB5.cjs');
26
+ require('./chunk-XUCU53HT.cjs');
27
27
 
28
28
 
29
29
 
@@ -46,5 +46,5 @@ require('./chunk-SJLROYQM.cjs');
46
46
 
47
47
 
48
48
 
49
- exports.camelCase = _chunkWNT5FJKXcjs.camelCase; exports.combineCodes = _chunkI6K57NKMcjs.combineCodes; exports.createIndent = _chunkI6K57NKMcjs.createIndent; exports.createJSDocBlockText = _chunkI6K57NKMcjs.createJSDocBlockText; exports.default = _chunkI6K57NKMcjs.transformers_default; exports.escape = _chunkI6K57NKMcjs.escape; exports.jsStringEscape = _chunkI6K57NKMcjs.jsStringEscape; exports.merge = _chunkI6K57NKMcjs.merge; exports.nameSorter = _chunkI6K57NKMcjs.nameSorter; exports.orderBy = _chunkWNT5FJKXcjs.orderBy; exports.pascalCase = _chunkWNT5FJKXcjs.pascalCase; exports.pathCase = _chunkWNT5FJKXcjs.pathCase; exports.searchAndReplace = _chunkI6K57NKMcjs.searchAndReplace; exports.stringify = _chunkI6K57NKMcjs.stringify; exports.stringifyObject = _chunkI6K57NKMcjs.stringifyObject; exports.toRegExp = _chunkI6K57NKMcjs.toRegExp; exports.toRegExpString = _chunkI6K57NKMcjs.toRegExpString; exports.transformReservedWord = _chunkI6K57NKMcjs.transformReservedWord; exports.trim = _chunkI6K57NKMcjs.trim; exports.trimExtName = _chunkI6K57NKMcjs.trimExtName; exports.trimQuotes = _chunkI6K57NKMcjs.trimQuotes;
49
+ exports.camelCase = _chunkGRBLCGB5cjs.camelCase; exports.combineCodes = _chunkNP7GXHZScjs.combineCodes; exports.createIndent = _chunkNP7GXHZScjs.createIndent; exports.createJSDocBlockText = _chunkNP7GXHZScjs.createJSDocBlockText; exports.default = _chunkNP7GXHZScjs.transformers_default; exports.escape = _chunkNP7GXHZScjs.escape; exports.jsStringEscape = _chunkNP7GXHZScjs.jsStringEscape; exports.merge = _chunkNP7GXHZScjs.merge; exports.nameSorter = _chunkNP7GXHZScjs.nameSorter; exports.orderBy = _chunkGRBLCGB5cjs.orderBy; exports.pascalCase = _chunkGRBLCGB5cjs.pascalCase; exports.pathCase = _chunkGRBLCGB5cjs.pathCase; exports.searchAndReplace = _chunkNP7GXHZScjs.searchAndReplace; exports.stringify = _chunkNP7GXHZScjs.stringify; exports.stringifyObject = _chunkNP7GXHZScjs.stringifyObject; exports.toRegExp = _chunkNP7GXHZScjs.toRegExp; exports.toRegExpString = _chunkNP7GXHZScjs.toRegExpString; exports.transformReservedWord = _chunkNP7GXHZScjs.transformReservedWord; exports.trim = _chunkNP7GXHZScjs.trim; exports.trimExtName = _chunkNP7GXHZScjs.trimExtName; exports.trimQuotes = _chunkNP7GXHZScjs.trimQuotes;
50
50
  //# sourceMappingURL=transformers.cjs.map
package/dist/utils.cjs CHANGED
@@ -9,9 +9,9 @@
9
9
 
10
10
 
11
11
 
12
- var _chunkLSRMKE3Qcjs = require('./chunk-LSRMKE3Q.cjs');
13
- require('./chunk-WNT5FJKX.cjs');
14
- require('./chunk-SJLROYQM.cjs');
12
+ var _chunkYTLMG2ANcjs = require('./chunk-YTLMG2AN.cjs');
13
+ require('./chunk-GRBLCGB5.cjs');
14
+ require('./chunk-XUCU53HT.cjs');
15
15
 
16
16
 
17
17
 
@@ -23,5 +23,5 @@ require('./chunk-SJLROYQM.cjs');
23
23
 
24
24
 
25
25
 
26
- exports.FunctionParams = _chunkLSRMKE3Qcjs.FunctionParams; exports.URLPath = _chunkLSRMKE3Qcjs.URLPath; exports.getParser = _chunkLSRMKE3Qcjs.getParser; exports.getUniqueName = _chunkLSRMKE3Qcjs.getUniqueName; exports.isPromise = _chunkLSRMKE3Qcjs.isPromise; exports.isPromiseFulfilledResult = _chunkLSRMKE3Qcjs.isPromiseFulfilledResult; exports.isPromiseRejectedResult = _chunkLSRMKE3Qcjs.isPromiseRejectedResult; exports.renderTemplate = _chunkLSRMKE3Qcjs.renderTemplate; exports.setUniqueName = _chunkLSRMKE3Qcjs.setUniqueName; exports.timeout = _chunkLSRMKE3Qcjs.timeout;
26
+ exports.FunctionParams = _chunkYTLMG2ANcjs.FunctionParams; exports.URLPath = _chunkYTLMG2ANcjs.URLPath; exports.getParser = _chunkYTLMG2ANcjs.getParser; exports.getUniqueName = _chunkYTLMG2ANcjs.getUniqueName; exports.isPromise = _chunkYTLMG2ANcjs.isPromise; exports.isPromiseFulfilledResult = _chunkYTLMG2ANcjs.isPromiseFulfilledResult; exports.isPromiseRejectedResult = _chunkYTLMG2ANcjs.isPromiseRejectedResult; exports.renderTemplate = _chunkYTLMG2ANcjs.renderTemplate; exports.setUniqueName = _chunkYTLMG2ANcjs.setUniqueName; exports.timeout = _chunkYTLMG2ANcjs.timeout;
27
27
  //# sourceMappingURL=utils.cjs.map
package/globals.d.ts CHANGED
@@ -28,7 +28,8 @@ declare namespace Kubb {
28
28
  type TupleToUnion<T> = T extends Array<infer ITEMS> ? ITEMS : never
29
29
  }
30
30
  type Plugins = {
31
- ['@kubb/swagger']: import('@kubb/swagger').PluginSwagger
31
+ ['@kubb/plugin-oas']: import('@kubb/plugin-Oas').PluginOas
32
+ ['@kubb/plugin-redoc']: import('@kubb/plugin-redoc').PluginRedoc
32
33
  ['@kubb/swagger-client']: import('@kubb/swagger-client').PluginClient
33
34
  ['@kubb/swagger-faker']: import('@kubb/swagger-faker').PluginFaker
34
35
  ['@kubb/swagger-swr']: import('@kubb/swagger-swr').PluginSwr
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubb/core",
3
- "version": "2.18.2",
3
+ "version": "2.18.4",
4
4
  "description": "Generator core",
5
5
  "keywords": [
6
6
  "typescript",
@@ -95,24 +95,25 @@
95
95
  "p-queue": "^8.0.1",
96
96
  "remeda": "^1.61.0",
97
97
  "seedrandom": "^3.0.5",
98
- "semver": "^7.6.1",
98
+ "semver": "^7.6.2",
99
99
  "unraw": "^3.0.0",
100
- "@kubb/parser-ts": "2.18.2",
101
- "@kubb/types": "2.18.2"
100
+ "@kubb/parser-ts": "2.18.4",
101
+ "@kubb/types": "2.18.4"
102
102
  },
103
103
  "devDependencies": {
104
104
  "@types/fs-extra": "^11.0.4",
105
105
  "@types/react": "^18.3.1",
106
106
  "@types/seedrandom": "^3.0.8",
107
107
  "@types/semver": "^7.5.8",
108
+ "consola": "^3.2.3",
108
109
  "ora": "^8.0.1",
109
110
  "prettier": "^3.2.5",
110
111
  "tinyrainbow": "^1.1.1",
111
112
  "tsup": "^8.0.2",
112
113
  "typescript": "^5.4.5",
113
- "@kubb/config-biome": "2.18.2",
114
- "@kubb/config-ts": "2.18.2",
115
- "@kubb/config-tsup": "2.18.2"
114
+ "@kubb/config-biome": "2.18.4",
115
+ "@kubb/config-ts": "2.18.4",
116
+ "@kubb/config-tsup": "2.18.4"
116
117
  },
117
118
  "engines": {
118
119
  "node": ">=18",
package/src/config.ts CHANGED
@@ -1,5 +1,32 @@
1
1
  import type { PossiblePromise } from '@kubb/types'
2
- import type { CLIOptions, Config, InputPath, UserConfig } from './types.ts'
2
+ import type { Config, InputPath, UserConfig } from './types.ts'
3
+
4
+ type Args = {
5
+ /**
6
+ * Path to `kubb.config.js`
7
+ */
8
+ config?: string
9
+ /**
10
+ * Watch changes on input
11
+ */
12
+ watch?: boolean
13
+
14
+ /**
15
+ * Log level to report when using the CLI
16
+ *
17
+ * `silent` will hide all information that is not relevant
18
+ *
19
+ * `info` will show all information possible(not related to the PluginManager)
20
+ *
21
+ * `debug` will show all information possible(related to the PluginManager), handy for seeing logs
22
+ * @default `silent`
23
+ */
24
+ logLevel?: string
25
+ /**
26
+ * Run Kubb with Bun
27
+ */
28
+ bun?: boolean
29
+ }
3
30
 
4
31
  /**
5
32
  * Type helper to make it easier to use kubb.config.js
@@ -11,7 +38,7 @@ export function defineConfig(
11
38
  | PossiblePromise<UserConfig | Array<UserConfig>>
12
39
  | ((
13
40
  /** The options derived from the CLI flags */
14
- cliOptions: CLIOptions,
41
+ args: Args,
15
42
  ) => PossiblePromise<UserConfig | Array<UserConfig>>),
16
43
  ): typeof options {
17
44
  return options
package/src/logger.ts CHANGED
@@ -4,6 +4,7 @@ import c, { createColors } from 'tinyrainbow'
4
4
  import { writeLog } from './fs/write.ts'
5
5
  import { EventEmitter } from './utils/EventEmitter.ts'
6
6
 
7
+ import type { ConsolaInstance } from 'consola'
7
8
  import type { Ora } from 'ora'
8
9
  import type { Formatter } from 'tinyrainbow'
9
10
 
@@ -14,6 +15,12 @@ export const LogLevel = {
14
15
  debug: 'debug',
15
16
  } as const
16
17
 
18
+ export const LogMapper = {
19
+ silent: Number.NEGATIVE_INFINITY,
20
+ info: 3,
21
+ debug: 4,
22
+ } as const
23
+
17
24
  export type LogLevel = keyof typeof LogLevel
18
25
 
19
26
  type Events = {
@@ -29,8 +36,8 @@ export type Logger = {
29
36
  */
30
37
  name?: string
31
38
  logLevel: LogLevel
32
-
33
39
  spinner?: Ora
40
+ consola?: ConsolaInstance
34
41
  on: EventEmitter<Events>['on']
35
42
  emit: EventEmitter<Events>['emit']
36
43
  }
@@ -39,9 +46,10 @@ type Props = {
39
46
  name?: string
40
47
  logLevel: LogLevel
41
48
  spinner?: Ora
49
+ consola?: ConsolaInstance
42
50
  }
43
51
 
44
- export function createLogger({ logLevel, name, spinner }: Props): Logger {
52
+ export function createLogger({ logLevel, name, spinner, consola }: Props): Logger {
45
53
  const events = new EventEmitter<Events>()
46
54
 
47
55
  events.on('start', (message) => {
@@ -80,6 +88,7 @@ export function createLogger({ logLevel, name, spinner }: Props): Logger {
80
88
  name,
81
89
  logLevel,
82
90
  spinner,
91
+ consola,
83
92
  on: (...args) => {
84
93
  return events.on(...args)
85
94
  },
package/src/types.ts CHANGED
@@ -2,7 +2,7 @@ import type { PossiblePromise } from '@kubb/types'
2
2
  import type { FileManager, KubbFile } from './FileManager.ts'
3
3
  import type { PluginManager } from './PluginManager.ts'
4
4
  import type { OptionsPlugins, PluginUnion } from './kubb.ts'
5
- import type { LogLevel, Logger } from './logger.ts'
5
+ import type { Logger } from './logger.ts'
6
6
  import type { Cache } from './utils/cache.ts'
7
7
 
8
8
  // config
@@ -24,8 +24,8 @@ export type UserConfig = Omit<Config, 'root' | 'plugins'> & {
24
24
  root?: string
25
25
  /**
26
26
  * Plugin type can be KubbJSONPlugin or Plugin
27
- * Example: ['@kubb/swagger', { output: false }]
28
- * Or: pluginSwagger({ output: false })
27
+ * Example: ['@kubb/plugin-oas', { output: false }]
28
+ * Or: pluginOas({ output: false })
29
29
  */
30
30
  plugins?: Array<Omit<UnknownUserPlugin, 'api'> | UnionPlugins | [name: string, options: object]>
31
31
  }
@@ -96,33 +96,6 @@ export type Config<TInput = Input> = {
96
96
  }
97
97
  }
98
98
 
99
- export type CLIOptions = {
100
- /**
101
- * Path to `kubb.config.js`
102
- */
103
- config?: string
104
- /**
105
- * Watch changes on input
106
- */
107
- watch?: string
108
-
109
- /**
110
- * Log level to report when using the CLI
111
- *
112
- * `silent` will hide all information that is not relevant
113
- *
114
- * `info` will show all information possible(not related to the PluginManager)
115
- *
116
- * `debug` will show all information possible(related to the PluginManager), handy for seeing logs
117
- * @default `silent`
118
- */
119
- logLevel?: LogLevel
120
- /**
121
- * Run Kubb with Bun
122
- */
123
- bun?: boolean
124
- }
125
-
126
99
  // plugin
127
100
 
128
101
  export type UnionPlugins = PluginUnion
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/logger.ts","../../../node_modules/.pnpm/tinyrainbow@1.1.1/node_modules/tinyrainbow/dist/node.js","../../../node_modules/.pnpm/tinyrainbow@1.1.1/node_modules/tinyrainbow/dist/chunk-5WCZOS7T.js","../src/utils/EventEmitter.ts"],"names":["r","p"],"mappings":"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","sourcesContent":["import seedrandom from 'seedrandom'\nimport c, { createColors } from 'tinyrainbow'\n\nimport { writeLog } from './fs/write.ts'\nimport { EventEmitter } from './utils/EventEmitter.ts'\n\nimport type { Ora } from 'ora'\nimport type { Formatter } from 'tinyrainbow'\n\n//TODO replace with verbose flag and debug flag\nexport const LogLevel = {\n silent: 'silent',\n info: 'info',\n debug: 'debug',\n} as const\n\nexport type LogLevel = keyof typeof LogLevel\n\ntype Events = {\n start: [message: string]\n end: [message: string]\n error: [message: string, cause: Error]\n warning: [message: string]\n debug: [logs: string[]]\n}\nexport type Logger = {\n /**\n * Optional config name to show in CLI output\n */\n name?: string\n logLevel: LogLevel\n\n spinner?: Ora\n on: EventEmitter<Events>['on']\n emit: EventEmitter<Events>['emit']\n}\n\ntype Props = {\n name?: string\n logLevel: LogLevel\n spinner?: Ora\n}\n\nexport function createLogger({ logLevel, name, spinner }: Props): Logger {\n const events = new EventEmitter<Events>()\n\n events.on('start', (message) => {\n if (spinner) {\n spinner.start(message)\n }\n })\n\n events.on('end', (message) => {\n if (spinner) {\n spinner.suffixText = ''\n spinner.succeed(message)\n }\n })\n\n events.on('warning', (message) => {\n if (spinner) {\n spinner.warn(c.yellow(message))\n }\n })\n\n events.on('error', (message, cause) => {\n const error = new Error(message || 'Something went wrong')\n error.cause = cause\n\n throw error\n })\n\n events.on('debug', async (messages) => {\n if (logLevel === LogLevel.debug) {\n await writeLog(messages.join('\\n'))\n }\n })\n\n const logger: Logger = {\n name,\n logLevel,\n spinner,\n on: (...args) => {\n return events.on(...args)\n },\n emit: (...args) => {\n return events.emit(...args)\n },\n }\n\n return logger\n}\n\nconst defaultColours = ['black', 'blue', 'darkBlue', 'cyan', 'gray', 'green', 'darkGreen', 'magenta', 'red', 'darkRed', 'yellow', 'darkYellow'] as const\n\nexport function randomColour(text?: string, colours = defaultColours): string {\n if (!text) {\n return 'white'\n }\n\n const random = seedrandom(text)\n const colour = colours.at(Math.floor(random() * colours.length)) || 'white'\n\n return colour\n}\n\nexport function randomCliColour(text?: string, colors = defaultColours): string {\n const colours = createColors(true)\n\n if (!text) {\n return colours.white(text)\n }\n\n const colour = randomColour(text, colors)\n const isDark = colour.includes('dark')\n const key = colour.replace('dark', '').toLowerCase() as keyof typeof colours\n const formatter: Formatter = colours[key] as Formatter\n\n if (isDark) {\n return c.bold(formatter(text))\n }\n\n if (typeof formatter !== 'function') {\n throw new Error('Formatter for picoColor is not of type function/Formatter')\n }\n return formatter(text)\n}\n","import {\n a as t,\n b as e,\n c as o\n} from \"./chunk-5WCZOS7T.js\";\n\n// src/node.ts\nimport { isatty as r } from \"tty\";\nvar p = o(r(1));\nexport {\n o as createColors,\n p as default,\n t as getDefaultColors,\n e as isSupported\n};\n","// src/index.ts\nvar b = {\n reset: [0, 0],\n bold: [1, 22, \"\\x1B[22m\\x1B[1m\"],\n dim: [2, 22, \"\\x1B[22m\\x1B[2m\"],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49]\n}, C = Object.entries(b);\nfunction d(r) {\n return String(r);\n}\nd.open = \"\";\nd.close = \"\";\nvar m = /* @__PURE__ */ C.reduce(\n (r, [n]) => (r[n] = d, r),\n { isColorSupported: !1 }\n);\nfunction x() {\n return { ...m };\n}\nfunction p(r = !1) {\n let n = typeof process != \"undefined\" ? process : void 0, t = (n == null ? void 0 : n.env) || {}, a = (n == null ? void 0 : n.argv) || [];\n return !(\"NO_COLOR\" in t || a.includes(\"--no-color\")) && !(\"GITHUB_ACTIONS\" in t) && (\"FORCE_COLOR\" in t || a.includes(\"--color\") || (n == null ? void 0 : n.platform) === \"win32\" || r && t.TERM !== \"dumb\" || \"CI\" in t) || typeof window != \"undefined\" && !!window.chrome;\n}\nfunction w(r = !1) {\n let n = p(r), t = (e, o, c, i) => {\n let u = e.substring(0, i) + c, s = e.substring(i + o.length), l = s.indexOf(o);\n return ~l ? u + t(s, o, c, l) : u + s;\n }, a = (e, o, c = e) => {\n let i = (u) => {\n let s = String(u), l = s.indexOf(o, e.length);\n return ~l ? e + t(s, o, c, l) + o : e + s + o;\n };\n return i.open = e, i.close = o, i;\n }, g = {\n isColorSupported: n\n }, f = (e) => `\\x1B[${e}m`;\n for (let [e, o] of C)\n g[e] = n ? a(\n f(o[0]),\n f(o[1]),\n o[2]\n ) : d;\n return g;\n}\n\nexport {\n x as a,\n p as b,\n w as c\n};\n","import { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class EventEmitter<TEvents extends Record<string, any>> {\n constructor() {\n this.#emitter.setMaxListeners(100)\n }\n #emitter = new NodeEventEmitter()\n\n emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArg: TEvents[TEventName]): void {\n this.#emitter.emit(eventName, ...(eventArg as []))\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\n}\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/logger.ts","../../../node_modules/.pnpm/tinyrainbow@1.1.1/node_modules/tinyrainbow/dist/chunk-5WCZOS7T.js","../../../node_modules/.pnpm/tinyrainbow@1.1.1/node_modules/tinyrainbow/dist/node.js","../src/utils/EventEmitter.ts"],"sourcesContent":["import seedrandom from 'seedrandom'\nimport c, { createColors } from 'tinyrainbow'\n\nimport { writeLog } from './fs/write.ts'\nimport { EventEmitter } from './utils/EventEmitter.ts'\n\nimport type { Ora } from 'ora'\nimport type { Formatter } from 'tinyrainbow'\n\n//TODO replace with verbose flag and debug flag\nexport const LogLevel = {\n silent: 'silent',\n info: 'info',\n debug: 'debug',\n} as const\n\nexport type LogLevel = keyof typeof LogLevel\n\ntype Events = {\n start: [message: string]\n end: [message: string]\n error: [message: string, cause: Error]\n warning: [message: string]\n debug: [logs: string[]]\n}\nexport type Logger = {\n /**\n * Optional config name to show in CLI output\n */\n name?: string\n logLevel: LogLevel\n\n spinner?: Ora\n on: EventEmitter<Events>['on']\n emit: EventEmitter<Events>['emit']\n}\n\ntype Props = {\n name?: string\n logLevel: LogLevel\n spinner?: Ora\n}\n\nexport function createLogger({ logLevel, name, spinner }: Props): Logger {\n const events = new EventEmitter<Events>()\n\n events.on('start', (message) => {\n if (spinner) {\n spinner.start(message)\n }\n })\n\n events.on('end', (message) => {\n if (spinner) {\n spinner.suffixText = ''\n spinner.succeed(message)\n }\n })\n\n events.on('warning', (message) => {\n if (spinner) {\n spinner.warn(c.yellow(message))\n }\n })\n\n events.on('error', (message, cause) => {\n const error = new Error(message || 'Something went wrong')\n error.cause = cause\n\n throw error\n })\n\n events.on('debug', async (messages) => {\n if (logLevel === LogLevel.debug) {\n await writeLog(messages.join('\\n'))\n }\n })\n\n const logger: Logger = {\n name,\n logLevel,\n spinner,\n on: (...args) => {\n return events.on(...args)\n },\n emit: (...args) => {\n return events.emit(...args)\n },\n }\n\n return logger\n}\n\nconst defaultColours = ['black', 'blue', 'darkBlue', 'cyan', 'gray', 'green', 'darkGreen', 'magenta', 'red', 'darkRed', 'yellow', 'darkYellow'] as const\n\nexport function randomColour(text?: string, colours = defaultColours): string {\n if (!text) {\n return 'white'\n }\n\n const random = seedrandom(text)\n const colour = colours.at(Math.floor(random() * colours.length)) || 'white'\n\n return colour\n}\n\nexport function randomCliColour(text?: string, colors = defaultColours): string {\n const colours = createColors(true)\n\n if (!text) {\n return colours.white(text)\n }\n\n const colour = randomColour(text, colors)\n const isDark = colour.includes('dark')\n const key = colour.replace('dark', '').toLowerCase() as keyof typeof colours\n const formatter: Formatter = colours[key] as Formatter\n\n if (isDark) {\n return c.bold(formatter(text))\n }\n\n if (typeof formatter !== 'function') {\n throw new Error('Formatter for picoColor is not of type function/Formatter')\n }\n return formatter(text)\n}\n","// src/index.ts\nvar b = {\n reset: [0, 0],\n bold: [1, 22, \"\\x1B[22m\\x1B[1m\"],\n dim: [2, 22, \"\\x1B[22m\\x1B[2m\"],\n italic: [3, 23],\n underline: [4, 24],\n inverse: [7, 27],\n hidden: [8, 28],\n strikethrough: [9, 29],\n black: [30, 39],\n red: [31, 39],\n green: [32, 39],\n yellow: [33, 39],\n blue: [34, 39],\n magenta: [35, 39],\n cyan: [36, 39],\n white: [37, 39],\n gray: [90, 39],\n bgBlack: [40, 49],\n bgRed: [41, 49],\n bgGreen: [42, 49],\n bgYellow: [43, 49],\n bgBlue: [44, 49],\n bgMagenta: [45, 49],\n bgCyan: [46, 49],\n bgWhite: [47, 49]\n}, C = Object.entries(b);\nfunction d(r) {\n return String(r);\n}\nd.open = \"\";\nd.close = \"\";\nvar m = /* @__PURE__ */ C.reduce(\n (r, [n]) => (r[n] = d, r),\n { isColorSupported: !1 }\n);\nfunction x() {\n return { ...m };\n}\nfunction p(r = !1) {\n let n = typeof process != \"undefined\" ? process : void 0, t = (n == null ? void 0 : n.env) || {}, a = (n == null ? void 0 : n.argv) || [];\n return !(\"NO_COLOR\" in t || a.includes(\"--no-color\")) && !(\"GITHUB_ACTIONS\" in t) && (\"FORCE_COLOR\" in t || a.includes(\"--color\") || (n == null ? void 0 : n.platform) === \"win32\" || r && t.TERM !== \"dumb\" || \"CI\" in t) || typeof window != \"undefined\" && !!window.chrome;\n}\nfunction w(r = !1) {\n let n = p(r), t = (e, o, c, i) => {\n let u = e.substring(0, i) + c, s = e.substring(i + o.length), l = s.indexOf(o);\n return ~l ? u + t(s, o, c, l) : u + s;\n }, a = (e, o, c = e) => {\n let i = (u) => {\n let s = String(u), l = s.indexOf(o, e.length);\n return ~l ? e + t(s, o, c, l) + o : e + s + o;\n };\n return i.open = e, i.close = o, i;\n }, g = {\n isColorSupported: n\n }, f = (e) => `\\x1B[${e}m`;\n for (let [e, o] of C)\n g[e] = n ? a(\n f(o[0]),\n f(o[1]),\n o[2]\n ) : d;\n return g;\n}\n\nexport {\n x as a,\n p as b,\n w as c\n};\n","import {\n a as t,\n b as e,\n c as o\n} from \"./chunk-5WCZOS7T.js\";\n\n// src/node.ts\nimport { isatty as r } from \"tty\";\nvar p = o(r(1));\nexport {\n o as createColors,\n p as default,\n t as getDefaultColors,\n e as isSupported\n};\n","import { EventEmitter as NodeEventEmitter } from 'node:events'\n\nexport class EventEmitter<TEvents extends Record<string, any>> {\n constructor() {\n this.#emitter.setMaxListeners(100)\n }\n #emitter = new NodeEventEmitter()\n\n emit<TEventName extends keyof TEvents & string>(eventName: TEventName, ...eventArg: TEvents[TEventName]): void {\n this.#emitter.emit(eventName, ...(eventArg as []))\n }\n\n on<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.on(eventName, handler as any)\n }\n\n off<TEventName extends keyof TEvents & string>(eventName: TEventName, handler: (...eventArg: TEvents[TEventName]) => void): void {\n this.#emitter.off(eventName, handler as any)\n }\n removeAll(): void {\n this.#emitter.removeAllListeners()\n }\n}\n"],"mappings":"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","names":["r","r","p","p"]}