@kubb/core 5.0.0-beta.6 → 5.0.0-beta.60
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/LICENSE +17 -10
- package/README.md +25 -158
- package/dist/diagnostics-B-UZnFqP.d.ts +2906 -0
- package/dist/index.cjs +2497 -1071
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +80 -273
- package/dist/index.js +2487 -1067
- package/dist/index.js.map +1 -1
- package/dist/memoryStorage-CUj1hrxa.cjs +823 -0
- package/dist/memoryStorage-CUj1hrxa.cjs.map +1 -0
- package/dist/memoryStorage-CWFzAz4o.js +714 -0
- package/dist/memoryStorage-CWFzAz4o.js.map +1 -0
- package/dist/mocks.cjs +79 -19
- package/dist/mocks.cjs.map +1 -1
- package/dist/mocks.d.ts +35 -9
- package/dist/mocks.js +80 -22
- package/dist/mocks.js.map +1 -1
- package/package.json +8 -28
- package/src/FileManager.ts +86 -64
- package/src/FileProcessor.ts +170 -44
- package/src/KubbDriver.ts +908 -0
- package/src/Transform.ts +75 -0
- package/src/constants.ts +111 -20
- package/src/createAdapter.ts +112 -17
- package/src/createKubb.ts +140 -517
- package/src/createRenderer.ts +43 -28
- package/src/createReporter.ts +134 -0
- package/src/createStorage.ts +36 -23
- package/src/defineGenerator.ts +147 -17
- package/src/defineParser.ts +30 -12
- package/src/definePlugin.ts +370 -21
- package/src/defineResolver.ts +402 -212
- package/src/diagnostics.ts +662 -0
- package/src/index.ts +8 -8
- package/src/mocks.ts +91 -20
- package/src/reporters/cliReporter.ts +89 -0
- package/src/reporters/fileReporter.ts +103 -0
- package/src/reporters/jsonReporter.ts +20 -0
- package/src/reporters/report.ts +85 -0
- package/src/storages/fsStorage.ts +23 -55
- package/src/types.ts +411 -887
- package/dist/PluginDriver-BkTRD2H2.js +0 -946
- package/dist/PluginDriver-BkTRD2H2.js.map +0 -1
- package/dist/PluginDriver-Cadu4ORh.cjs +0 -1037
- package/dist/PluginDriver-Cadu4ORh.cjs.map +0 -1
- package/dist/types-DVPKmzw_.d.ts +0 -2159
- package/src/Kubb.ts +0 -300
- package/src/PluginDriver.ts +0 -426
- package/src/defineLogger.ts +0 -19
- package/src/defineMiddleware.ts +0 -62
- package/src/devtools.ts +0 -59
- package/src/renderNode.ts +0 -35
- package/src/utils/diagnostics.ts +0 -18
- package/src/utils/isInputPath.ts +0 -10
- package/src/utils/packageJSON.ts +0 -99
- /package/dist/{chunk--u3MIqq1.js → chunk-C0LytTxp.js} +0 -0
package/src/utils/packageJSON.ts
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { findPackageJSON, readSync } from '@internals/utils'
|
|
2
|
-
|
|
3
|
-
type PackageJSON = {
|
|
4
|
-
dependencies?: Record<string, string>
|
|
5
|
-
devDependencies?: Record<string, string>
|
|
6
|
-
}
|
|
7
|
-
|
|
8
|
-
type DependencyName = string
|
|
9
|
-
type DependencyVersion = string
|
|
10
|
-
|
|
11
|
-
function getPackageJSONSync(cwd?: string): PackageJSON | null {
|
|
12
|
-
const pkgPath = findPackageJSON(cwd)
|
|
13
|
-
if (!pkgPath) {
|
|
14
|
-
return null
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
return JSON.parse(readSync(pkgPath)) as PackageJSON
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
function match(packageJSON: PackageJSON, dependency: DependencyName | RegExp): string | null {
|
|
21
|
-
const dependencies = {
|
|
22
|
-
...(packageJSON.dependencies || {}),
|
|
23
|
-
...(packageJSON.devDependencies || {}),
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
if (typeof dependency === 'string' && dependencies[dependency]) {
|
|
27
|
-
return dependencies[dependency]
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
const matched = Object.keys(dependencies).find((dep) => dep.match(dependency))
|
|
31
|
-
|
|
32
|
-
return matched ? (dependencies[matched] ?? null) : null
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
function getVersionSync(dependency: DependencyName | RegExp, cwd?: string): DependencyVersion | null {
|
|
36
|
-
const packageJSON = getPackageJSONSync(cwd)
|
|
37
|
-
|
|
38
|
-
return packageJSON ? match(packageJSON, dependency) : null
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Returns `true` when the nearest `package.json` declares a dependency that
|
|
43
|
-
* satisfies the given semver range.
|
|
44
|
-
*
|
|
45
|
-
* - Searches both `dependencies` and `devDependencies`.
|
|
46
|
-
* - Accepts a string package name or a `RegExp` to match scoped/pattern packages.
|
|
47
|
-
* - Uses `semver.satisfies` for range comparison; returns `false` when the
|
|
48
|
-
* version string cannot be coerced into a valid semver.
|
|
49
|
-
*
|
|
50
|
-
* @example
|
|
51
|
-
* ```ts
|
|
52
|
-
* satisfiesDependency('react', '>=18') // true when react@18.x is installed
|
|
53
|
-
* satisfiesDependency(/^@tanstack\//, '>=5') // true when any @tanstack/* >=5 is found
|
|
54
|
-
* ```
|
|
55
|
-
*/
|
|
56
|
-
function coerceSemver(version: string): [number, number, number] | null {
|
|
57
|
-
const m = version.match(/(\d+)(?:\.(\d+))?(?:\.(\d+))?/)
|
|
58
|
-
return m ? [Number(m[1]), Number(m[2] ?? 0), Number(m[3] ?? 0)] : null
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
function satisfiesSemver(v: [number, number, number], range: string): boolean {
|
|
62
|
-
return range
|
|
63
|
-
.trim()
|
|
64
|
-
.split(/\s+/)
|
|
65
|
-
.every((cond) => {
|
|
66
|
-
const m = cond.match(/^(>=|<=|>|<|=|\^|~)?(\d+)(?:\.(\d+))?(?:\.(\d+))?$/)
|
|
67
|
-
if (!m) return false
|
|
68
|
-
const op = m[1] ?? '='
|
|
69
|
-
const r: [number, number, number] = [Number(m[2]), Number(m[3] ?? 0), Number(m[4] ?? 0)]
|
|
70
|
-
const cmp = v[0] !== r[0] ? v[0] - r[0] : v[1] !== r[1] ? v[1] - r[1] : v[2] - r[2]
|
|
71
|
-
if (op === '>=') return cmp >= 0
|
|
72
|
-
if (op === '<=') return cmp <= 0
|
|
73
|
-
if (op === '>') return cmp > 0
|
|
74
|
-
if (op === '<') return cmp < 0
|
|
75
|
-
if (op === '^') return v[0] === r[0] && cmp >= 0
|
|
76
|
-
if (op === '~') return v[0] === r[0] && v[1] === r[1] && cmp >= 0
|
|
77
|
-
return cmp === 0
|
|
78
|
-
})
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
export function satisfiesDependency(dependency: DependencyName | RegExp, version: DependencyVersion, cwd?: string): boolean {
|
|
82
|
-
const packageVersion = getVersionSync(dependency, cwd)
|
|
83
|
-
|
|
84
|
-
if (!packageVersion) {
|
|
85
|
-
return false
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
if (packageVersion === version) {
|
|
89
|
-
return true
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
const semVer = coerceSemver(packageVersion)
|
|
93
|
-
|
|
94
|
-
if (!semVer) {
|
|
95
|
-
return false
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
return satisfiesSemver(semVer, version)
|
|
99
|
-
}
|
|
File without changes
|