@kubb/core 2.0.0-canary.20231030T124958 → 2.0.1
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/README.md +1 -1
- package/dist/chunk-4A7WG6IA.js +128 -0
- package/dist/chunk-4A7WG6IA.js.map +1 -0
- package/dist/chunk-54P4AWHI.js +71 -0
- package/dist/chunk-54P4AWHI.js.map +1 -0
- package/dist/chunk-5TK7TMV6.cjs +131 -0
- package/dist/chunk-5TK7TMV6.cjs.map +1 -0
- package/dist/chunk-7S67BJXQ.js +85 -0
- package/dist/chunk-7S67BJXQ.js.map +1 -0
- package/dist/chunk-E3ANGQ5N.cjs +2290 -0
- package/dist/chunk-E3ANGQ5N.cjs.map +1 -0
- package/dist/chunk-H47IKRXJ.cjs +129 -0
- package/dist/chunk-H47IKRXJ.cjs.map +1 -0
- package/dist/chunk-HIE46T3F.js +129 -0
- package/dist/chunk-HIE46T3F.js.map +1 -0
- package/dist/chunk-K2H7BYQB.js +155 -0
- package/dist/chunk-K2H7BYQB.js.map +1 -0
- package/dist/chunk-NAWI7UXW.js +67 -0
- package/dist/chunk-NAWI7UXW.js.map +1 -0
- package/dist/chunk-PLVKILIY.cjs +162 -0
- package/dist/chunk-PLVKILIY.cjs.map +1 -0
- package/dist/chunk-W2FP7ZWW.cjs +71 -0
- package/dist/chunk-W2FP7ZWW.cjs.map +1 -0
- package/dist/chunk-WZQO3EPM.cjs +91 -0
- package/dist/chunk-WZQO3EPM.cjs.map +1 -0
- package/dist/chunk-XDHI63G7.cjs +104 -0
- package/dist/chunk-XDHI63G7.cjs.map +1 -0
- package/dist/chunk-XPOF4D5N.js +18 -0
- package/dist/chunk-XPOF4D5N.js.map +1 -0
- package/dist/fs.cjs +31 -0
- package/dist/fs.cjs.map +1 -0
- package/dist/fs.d.cts +5 -0
- package/dist/fs.d.ts +5 -0
- package/dist/fs.js +11 -0
- package/dist/fs.js.map +1 -0
- package/dist/index.cjs +1866 -977
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +302 -319
- package/dist/index.d.ts +302 -319
- package/dist/index.js +1071 -846
- package/dist/index.js.map +1 -1
- package/dist/logger.cjs +26 -0
- package/dist/logger.cjs.map +1 -0
- package/dist/logger.d.cts +32 -0
- package/dist/logger.d.ts +32 -0
- package/dist/logger.js +8 -0
- package/dist/logger.js.map +1 -0
- package/dist/transformers.cjs +124 -0
- package/dist/transformers.cjs.map +1 -0
- package/dist/transformers.d.cts +55 -0
- package/dist/transformers.d.ts +55 -0
- package/dist/transformers.js +95 -0
- package/dist/transformers.js.map +1 -0
- package/dist/utils.cjs +23 -1163
- package/dist/utils.cjs.map +1 -1
- package/dist/utils.d.cts +2 -143
- package/dist/utils.d.ts +2 -143
- package/dist/utils.js +15 -1118
- package/dist/utils.js.map +1 -1
- package/dist/write-A6VgHkYA.d.cts +10 -0
- package/dist/write-A6VgHkYA.d.ts +10 -0
- package/package.json +40 -23
- package/src/BarrelManager.ts +113 -0
- package/src/FileManager.ts +581 -0
- package/src/Generator.ts +34 -0
- package/src/PackageManager.ts +178 -0
- package/src/PluginManager.ts +645 -0
- package/src/PromiseManager.ts +51 -0
- package/src/build.ts +221 -0
- package/src/config.ts +22 -0
- package/src/errors.ts +12 -0
- package/src/fs/clean.ts +5 -0
- package/src/fs/index.ts +3 -0
- package/src/fs/read.ts +68 -0
- package/src/fs/write.ts +79 -0
- package/src/index.ts +27 -0
- package/src/logger.ts +121 -0
- package/src/plugin.ts +80 -0
- package/src/transformers/casing.ts +9 -0
- package/src/transformers/combineCodes.ts +3 -0
- package/src/transformers/createJSDocBlockText.ts +9 -0
- package/src/transformers/escape.ts +31 -0
- package/src/transformers/indent.ts +3 -0
- package/src/transformers/index.ts +36 -0
- package/src/transformers/nameSorter.ts +9 -0
- package/src/transformers/searchAndReplace.ts +25 -0
- package/src/transformers/transformReservedWord.ts +97 -0
- package/src/transformers/trim.ts +7 -0
- package/src/types.ts +334 -0
- package/src/utils/EventEmitter.ts +24 -0
- package/src/utils/FunctionParams.ts +86 -0
- package/src/utils/TreeNode.ts +125 -0
- package/src/utils/URLPath.ts +133 -0
- package/src/utils/cache.ts +35 -0
- package/src/utils/executeStrategies.ts +83 -0
- package/src/utils/index.ts +8 -0
- package/src/utils/promise.ts +13 -0
- package/src/utils/renderTemplate.ts +31 -0
- package/src/utils/timeout.ts +7 -0
- package/src/utils/uniqueName.ts +20 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import mod from 'node:module'
|
|
2
|
+
import os from 'node:os'
|
|
3
|
+
import { pathToFileURL } from 'node:url'
|
|
4
|
+
|
|
5
|
+
import { findUp, findUpSync } from 'find-up'
|
|
6
|
+
import { coerce, satisfies } from 'semver'
|
|
7
|
+
|
|
8
|
+
type PackageJSON = {
|
|
9
|
+
dependencies?: Record<string, string>
|
|
10
|
+
devDependencies?: Record<string, string>
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type DependencyName = string
|
|
14
|
+
|
|
15
|
+
type DependencyVersion = string
|
|
16
|
+
|
|
17
|
+
export class PackageManager {
|
|
18
|
+
static #cache: Record<DependencyName, DependencyVersion> = {}
|
|
19
|
+
|
|
20
|
+
#cwd?: string
|
|
21
|
+
#SLASHES = new Set(['/', '\\'])
|
|
22
|
+
constructor(workspace?: string) {
|
|
23
|
+
if (workspace) {
|
|
24
|
+
this.#cwd = workspace
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
return this
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
set workspace(workspace: string) {
|
|
31
|
+
this.#cwd = workspace
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
get workspace(): string | undefined {
|
|
35
|
+
return this.#cwd
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
normalizeDirectory(directory: string): string {
|
|
39
|
+
if (!this.#SLASHES.has(directory[directory.length - 1]!)) {
|
|
40
|
+
return `${directory}/`
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
return directory
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
getLocation(path: string): string {
|
|
47
|
+
let location = path
|
|
48
|
+
|
|
49
|
+
if (this.#cwd) {
|
|
50
|
+
const require = mod.createRequire(this.normalizeDirectory(this.#cwd))
|
|
51
|
+
location = require.resolve(path)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
return location
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
async import(path: string): Promise<any | undefined> {
|
|
58
|
+
try {
|
|
59
|
+
let location = this.getLocation(path)
|
|
60
|
+
|
|
61
|
+
if (os.platform() == 'win32') {
|
|
62
|
+
location = pathToFileURL(location).href
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
|
|
66
|
+
const module = await import(location)
|
|
67
|
+
|
|
68
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return
|
|
69
|
+
return module?.default ?? module
|
|
70
|
+
} catch (e) {
|
|
71
|
+
console.log(e)
|
|
72
|
+
return undefined
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
async getPackageJSON(): Promise<PackageJSON | undefined> {
|
|
77
|
+
const pkgPath = await findUp(['package.json'], {
|
|
78
|
+
cwd: this.#cwd,
|
|
79
|
+
})
|
|
80
|
+
if (!pkgPath) {
|
|
81
|
+
return undefined
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
return require(pkgPath) as PackageJSON
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
getPackageJSONSync(): PackageJSON | undefined {
|
|
88
|
+
const pkgPath = findUpSync(['package.json'], {
|
|
89
|
+
cwd: this.#cwd,
|
|
90
|
+
})
|
|
91
|
+
if (!pkgPath) {
|
|
92
|
+
return undefined
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return require(pkgPath) as PackageJSON
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
static setVersion(dependency: DependencyName, version: DependencyVersion): void {
|
|
99
|
+
PackageManager.#cache[dependency] = version
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
#match(packageJSON: PackageJSON, dependency: DependencyName | RegExp): string | undefined {
|
|
103
|
+
const dependencies = {
|
|
104
|
+
...packageJSON['dependencies'] || {},
|
|
105
|
+
...packageJSON['devDependencies'] || {},
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (typeof dependency === 'string' && dependencies[dependency]) {
|
|
109
|
+
return dependencies[dependency]
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
const matchedDependency = Object.keys(dependencies).find(dep => dep.match(dependency))
|
|
113
|
+
|
|
114
|
+
return matchedDependency ? dependencies[matchedDependency] : undefined
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
async getVersion(dependency: DependencyName | RegExp): Promise<DependencyVersion | undefined> {
|
|
118
|
+
if (typeof dependency === 'string' && PackageManager.#cache[dependency]) {
|
|
119
|
+
return PackageManager.#cache[dependency]
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
const packageJSON = await this.getPackageJSON()
|
|
123
|
+
|
|
124
|
+
if (!packageJSON) {
|
|
125
|
+
return undefined
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
return this.#match(packageJSON, dependency)
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
getVersionSync(dependency: DependencyName | RegExp): DependencyVersion | undefined {
|
|
132
|
+
if (typeof dependency === 'string' && PackageManager.#cache[dependency]) {
|
|
133
|
+
return PackageManager.#cache[dependency]
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const packageJSON = this.getPackageJSONSync()
|
|
137
|
+
|
|
138
|
+
if (!packageJSON) {
|
|
139
|
+
return undefined
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
return this.#match(packageJSON, dependency)
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
async isValid(dependency: DependencyName | RegExp, version: DependencyVersion): Promise<boolean> {
|
|
146
|
+
const packageVersion = await this.getVersion(dependency)
|
|
147
|
+
|
|
148
|
+
if (!packageVersion) {
|
|
149
|
+
return false
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
if (packageVersion === version) {
|
|
153
|
+
return true
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
const semVer = coerce(packageVersion)
|
|
157
|
+
|
|
158
|
+
if (!semVer) {
|
|
159
|
+
throw new Error(`${packageVersion} is not valid`)
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
return satisfies(semVer, version)
|
|
163
|
+
}
|
|
164
|
+
isValidSync(dependency: DependencyName | RegExp, version: DependencyVersion): boolean {
|
|
165
|
+
const packageVersion = this.getVersionSync(dependency)
|
|
166
|
+
|
|
167
|
+
if (!packageVersion) {
|
|
168
|
+
return false
|
|
169
|
+
}
|
|
170
|
+
const semVer = coerce(packageVersion)
|
|
171
|
+
|
|
172
|
+
if (!semVer) {
|
|
173
|
+
throw new Error(`${packageVersion} is not valid`)
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
return satisfies(semVer, version)
|
|
177
|
+
}
|
|
178
|
+
}
|